This is an automated email from the ASF dual-hosted git repository.

wmedvedeo pushed a commit to branch main
in repository 
https://gitbox.apache.org/repos/asf/incubator-kie-kogito-serverless-operator.git


The following commit(s) were added to refs/heads/main by this push:
     new e631455a Set selector and label specific to platform service (#341)
e631455a is described below

commit e631455a8793b18e0ae764b005377dd36858f898
Author: Moti Asayag <[email protected]>
AuthorDate: Thu Jan 11 17:01:50 2024 +0200

    Set selector and label specific to platform service (#341)
    
    Signed-off-by: Moti Asayag <[email protected]>
---
 controllers/platform/k8s.go | 28 +++++++++++++++++-----------
 workflowproj/operator.go    |  2 ++
 2 files changed, 19 insertions(+), 11 deletions(-)

diff --git a/controllers/platform/k8s.go b/controllers/platform/k8s.go
index c21b200f..d66155bf 100644
--- a/controllers/platform/k8s.go
+++ b/controllers/platform/k8s.go
@@ -135,12 +135,10 @@ func createDeployment(ctx context.Context, client 
client.Client, platform *opera
        dataDeployContainer.Name = ps.GetContainerName()
 
        replicas := ps.GetReplicaCount()
-       lbl := map[string]string{
-               workflowproj.LabelApp: platform.Name,
-       }
+       lbl, selectorLbl := getLabels(platform, ps)
        dataDeploySpec := appsv1.DeploymentSpec{
                Selector: &metav1.LabelSelector{
-                       MatchLabels: lbl,
+                       MatchLabels: selectorLbl,
                },
                Replicas: &replicas,
                Template: corev1.PodTemplateSpec{
@@ -195,9 +193,7 @@ func createDeployment(ctx context.Context, client 
client.Client, platform *opera
 }
 
 func createService(ctx context.Context, client client.Client, platform 
*operatorapi.SonataFlowPlatform, ps services.Platform) error {
-       lbl := map[string]string{
-               workflowproj.LabelApp: platform.Name,
-       }
+       lbl, selectorLbl := getLabels(platform, ps)
        dataSvcSpec := corev1.ServiceSpec{
                Ports: []corev1.ServicePort{
                        {
@@ -207,7 +203,7 @@ func createService(ctx context.Context, client 
client.Client, platform *operator
                                TargetPort: 
common.DefaultHTTPWorkflowPortIntStr,
                        },
                },
-               Selector: lbl,
+               Selector: selectorLbl,
        }
        dataSvc := &corev1.Service{
                ObjectMeta: metav1.ObjectMeta{
@@ -233,18 +229,28 @@ func createService(ctx context.Context, client 
client.Client, platform *operator
        return nil
 }
 
+func getLabels(platform *operatorapi.SonataFlowPlatform, ps services.Platform) 
(map[string]string, map[string]string) {
+       lbl := map[string]string{
+               workflowproj.LabelApp:     platform.Name,
+               workflowproj.LabelService: ps.GetServiceName(),
+       }
+       selectorLbl := map[string]string{
+               workflowproj.LabelService: ps.GetServiceName(),
+       }
+       return lbl, selectorLbl
+}
+
 func createConfigMap(ctx context.Context, client client.Client, platform 
*operatorapi.SonataFlowPlatform, ps services.Platform) error {
        handler, err := services.NewServiceAppPropertyHandler(ps)
        if err != nil {
                return err
        }
+       lbl, _ := getLabels(platform, ps)
        configMap := &corev1.ConfigMap{
                ObjectMeta: metav1.ObjectMeta{
                        Name:      ps.GetServiceCmName(),
                        Namespace: platform.Namespace,
-                       Labels: map[string]string{
-                               workflowproj.LabelApp: platform.Name,
-                       },
+                       Labels:    lbl,
                },
                Data: map[string]string{
                        workflowproj.ApplicationPropertiesFileName: 
handler.Build(),
diff --git a/workflowproj/operator.go b/workflowproj/operator.go
index 3509d7c3..46ff7ba3 100644
--- a/workflowproj/operator.go
+++ b/workflowproj/operator.go
@@ -34,6 +34,8 @@ const (
        ApplicationPropertiesFileName = "application.properties"
        // LabelApp key to use among object selectors, "app" is used among k8s 
applications to group objects in some UI consoles
        LabelApp = "app"
+       // LabelService key to use among object selectors
+       LabelService = "sonataflow.org/service"
        // LabelWorkflow specialized label managed by the controller
        LabelWorkflow = metadata.Domain + "/workflow-app"
 )


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to