diff --git a/api/v1alpha08/zz_generated.deepcopy.go b/api/v1alpha08/zz_generated.deepcopy.go index b11518893..00302cfce 100644 --- a/api/v1alpha08/zz_generated.deepcopy.go +++ b/api/v1alpha08/zz_generated.deepcopy.go @@ -22,7 +22,7 @@ package v1alpha08 import ( "github.com/serverlessworkflow/sdk-go/v2/model" - v1 "k8s.io/api/core/v1" + "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "knative.dev/pkg/apis" diff --git a/api/zz_generated.deepcopy.go b/api/zz_generated.deepcopy.go index 4fd61d6d9..b68499c7b 100644 --- a/api/zz_generated.deepcopy.go +++ b/api/zz_generated.deepcopy.go @@ -20,6 +20,8 @@ package api +import () + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *Condition) DeepCopyInto(out *Condition) { *out = *in diff --git a/container-builder/api/zz_generated.deepcopy.go b/container-builder/api/zz_generated.deepcopy.go index e19547bf4..46f2ddaea 100644 --- a/container-builder/api/zz_generated.deepcopy.go +++ b/container-builder/api/zz_generated.deepcopy.go @@ -21,7 +21,7 @@ package api import ( - v1 "k8s.io/api/core/v1" + "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) diff --git a/controllers/platform/k8s.go b/controllers/platform/k8s.go index 62d8b3699..e358796c5 100644 --- a/controllers/platform/k8s.go +++ b/controllers/platform/k8s.go @@ -233,8 +233,12 @@ func createOrUpdateService(ctx context.Context, client client.Client, platform * func getLabels(platform *operatorapi.SonataFlowPlatform, psh services.PlatformServiceHandler) (map[string]string, map[string]string) { lbl := map[string]string{ - workflowproj.LabelApp: platform.Name, - workflowproj.LabelService: psh.GetServiceName(), + workflowproj.LabelApp: platform.Name, + workflowproj.LabelService: psh.GetServiceName(), + workflowproj.LabelK8SName: psh.GetContainerName(), + workflowproj.LabelK8SComponent: psh.GetServiceName(), + workflowproj.LabelK8SPartOF: platform.Name, + workflowproj.LabelK8SManagedBy: "sonataflow-operator", } selectorLbl := map[string]string{ workflowproj.LabelService: psh.GetServiceName(), diff --git a/controllers/profiles/common/object_creators_test.go b/controllers/profiles/common/object_creators_test.go index 5057b2180..a9b8e5549 100644 --- a/controllers/profiles/common/object_creators_test.go +++ b/controllers/profiles/common/object_creators_test.go @@ -39,6 +39,8 @@ import ( "github.com/apache/incubator-kie-kogito-serverless-operator/workflowproj" ) +const platformName = "test-platform" + func Test_ensureWorkflowPropertiesConfigMapMutator(t *testing.T) { workflow := test.GetBaseSonataFlowWithDevProfile(t.Name()) platform := test.GetBasePlatform() diff --git a/workflowproj/operator.go b/workflowproj/operator.go index 2383f34fa..2ee28f70f 100644 --- a/workflowproj/operator.go +++ b/workflowproj/operator.go @@ -40,7 +40,11 @@ const ( // LabelService key to use among object selectors LabelService = metadata.Domain + "/service" // LabelWorkflow specialized label managed by the controller - LabelWorkflow = metadata.Domain + "/workflow-app" + LabelWorkflow = metadata.Domain + "/workflow-app" + LabelK8SName = "app.kubernetes.io/name" + LabelK8SComponent = "app.kubernetes.io/component" + LabelK8SPartOF = "app.kubernetes.io/part-of" + LabelK8SManagedBy = "app.kubernetes.io/managed-by" ) // SetTypeToObject sets the Kind and ApiVersion to a given object since the default constructor won't do it. @@ -84,10 +88,18 @@ func GetManagedPropertiesFileName(workflow *operatorapi.SonataFlow) string { // GetDefaultLabels gets the default labels based on the given workflow. func GetDefaultLabels(workflow *operatorapi.SonataFlow) map[string]string { - return map[string]string{ - LabelApp: workflow.Name, - LabelWorkflow: workflow.Name, + labels := map[string]string{ + LabelApp: workflow.Name, + LabelWorkflow: workflow.Name, + LabelK8SName: workflow.Name, + LabelK8SComponent: "serverless-workflow", + LabelK8SManagedBy: "sonataflow-operator", } + if workflow.Status.Platform != nil { + labels[LabelK8SPartOF] = workflow.Status.Platform.Name + } + return labels + } // SetMergedLabels adds the merged labels to the given object.