diff --git a/pkg/cmd/operator/operator.go b/pkg/cmd/operator/operator.go index 69e167bafd..995d916be4 100644 --- a/pkg/cmd/operator/operator.go +++ b/pkg/cmd/operator/operator.go @@ -30,6 +30,7 @@ import ( "time" "github.com/pkg/errors" + "k8s.io/klog/v2" "go.uber.org/automaxprocs/maxprocs" "go.uber.org/zap" @@ -46,8 +47,6 @@ import ( "k8s.io/apimachinery/pkg/selection" "k8s.io/client-go/tools/leaderelection/resourcelock" "k8s.io/client-go/tools/record" - "k8s.io/klog/v2" - "sigs.k8s.io/controller-runtime/pkg/cache" ctrl "sigs.k8s.io/controller-runtime/pkg/client" "sigs.k8s.io/controller-runtime/pkg/client/config" @@ -243,20 +242,26 @@ func Run(healthPort, monitoringPort int32, leaderElection bool, leaderElectionID // findOrCreateIntegrationPlatform create default integration platform in operator namespace if not already exists. func findOrCreateIntegrationPlatform(ctx context.Context, c client.Client, operatorNamespace string) error { + operatorID := defaults.OperatorID() var platformName string - if defaults.OperatorID() != "" { - platformName = defaults.OperatorID() + if operatorID != "" { + platformName = operatorID } else { platformName = platform.DefaultPlatformName } if pl, err := kubernetes.GetIntegrationPlatform(ctx, c, platformName, operatorNamespace); pl == nil || k8serrors.IsNotFound(err) { defaultPlatform := v1.NewIntegrationPlatform(operatorNamespace, platformName) + if defaultPlatform.Labels == nil { defaultPlatform.Labels = make(map[string]string) } defaultPlatform.Labels["camel.apache.org/platform.generated"] = "true" + if operatorID != "" { + defaultPlatform.SetOperatorID(operatorID) + } + if _, err := c.CamelV1().IntegrationPlatforms(operatorNamespace).Create(ctx, &defaultPlatform, metav1.CreateOptions{}); err != nil { return err }