You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by nf...@apache.org on 2019/12/11 18:37:57 UTC

[camel-k] 07/08: Fix #1120: move full platform config to status root level

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

nferraro pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-k.git

commit 25b0e012df8aeaff5c7e6e258592d6d4c2f23924
Author: Nicola Ferraro <ni...@gmail.com>
AuthorDate: Tue Dec 10 11:23:31 2019 +0100

    Fix #1120: move full platform config to status root level
---
 .../camel/v1alpha1/integrationplatform_types.go    |   3 +-
 .../v1alpha1/integrationplatform_types_support.go  |   8 +-
 pkg/cmd/describe_platform.go                       |   2 +-
 pkg/controller/integrationkit/build.go             |   2 +-
 pkg/controller/integrationplatform/create.go       |   4 +-
 pkg/controller/integrationplatform/initialize.go   |   6 +-
 .../integrationplatform/initialize_test.go         |  22 ++---
 pkg/controller/integrationplatform/kaniko_cache.go |   4 +-
 pkg/platform/defaults.go                           | 108 ++++++++++-----------
 pkg/platform/platform.go                           |  14 +--
 pkg/trait/builder_test.go                          |   4 +-
 pkg/trait/camel.go                                 |   6 +-
 pkg/trait/pull_secret.go                           |   2 +-
 pkg/trait/quarkus.go                               |  14 +--
 pkg/trait/rest-dsl.go                              |   6 +-
 pkg/trait/trait_catalog.go                         |   4 +-
 16 files changed, 105 insertions(+), 104 deletions(-)

diff --git a/pkg/apis/camel/v1alpha1/integrationplatform_types.go b/pkg/apis/camel/v1alpha1/integrationplatform_types.go
index 770db0b..67ebe24 100644
--- a/pkg/apis/camel/v1alpha1/integrationplatform_types.go
+++ b/pkg/apis/camel/v1alpha1/integrationplatform_types.go
@@ -41,7 +41,8 @@ type IntegrationPlatformResourcesSpec struct {
 
 // IntegrationPlatformStatus defines the observed state of IntegrationPlatform
 type IntegrationPlatformStatus struct {
-	FullConfig IntegrationPlatformSpec        `json:"fullConfig,omitempty"`
+	IntegrationPlatformSpec `json:",inline"`
+
 	Phase      IntegrationPlatformPhase       `json:"phase,omitempty"`
 	Conditions []IntegrationPlatformCondition `json:"conditions,omitempty"`
 	Version    string                         `json:"version,omitempty"`
diff --git a/pkg/apis/camel/v1alpha1/integrationplatform_types_support.go b/pkg/apis/camel/v1alpha1/integrationplatform_types_support.go
index 82a3fef..d85cc34 100644
--- a/pkg/apis/camel/v1alpha1/integrationplatform_types_support.go
+++ b/pkg/apis/camel/v1alpha1/integrationplatform_types_support.go
@@ -73,8 +73,8 @@ func (in *IntegrationPlatform) Configurations() []ConfigurationSpec {
 		return []ConfigurationSpec{}
 	}
 
-	if len(in.Status.FullConfig.Configuration) > 0 {
-		return in.Status.FullConfig.Configuration
+	if len(in.Status.Configuration) > 0 {
+		return in.Status.Configuration
 	}
 
 	return in.Spec.Configuration
@@ -90,7 +90,7 @@ func (in *IntegrationPlatform) AddConfiguration(confType string, confValue strin
 
 // GetActualValue can be used to extract information the platform spec or its derived config in the status
 func (in *IntegrationPlatform) GetActualValue(extractor func(spec IntegrationPlatformSpec) string) string {
-	res := extractor(in.Status.FullConfig)
+	res := extractor(in.Status.IntegrationPlatformSpec)
 	if res == "" {
 		res = extractor(in.Spec)
 	}
@@ -100,7 +100,7 @@ func (in *IntegrationPlatform) GetActualValue(extractor func(spec IntegrationPla
 // ResyncStatusFullConfig copies the spec configuration into the status-fullConfig field.
 func (in *IntegrationPlatform) ResyncStatusFullConfig() {
 	cl := in.Spec.DeepCopy()
-	in.Status.FullConfig = *cl
+	in.Status.IntegrationPlatformSpec = *cl
 }
 
 // GetCondition returns the condition with the provided type.
diff --git a/pkg/cmd/describe_platform.go b/pkg/cmd/describe_platform.go
index 012638d..162a7a0 100644
--- a/pkg/cmd/describe_platform.go
+++ b/pkg/cmd/describe_platform.go
@@ -95,7 +95,7 @@ func (command *describePlatformCommand) describeIntegrationPlatform(platform v1a
 		w.Write(0, "Local Repository:\t%s\n", platform.GetActualValue(getPlatformMavenLocalRepository))
 		w.Write(0, "Publish Strategy:\t%s\n", platform.GetActualValue(getPlatformPublishStrategy))
 
-		kits := platform.Status.FullConfig.Resources.Kits
+		kits := platform.Status.Resources.Kits
 		if len(kits) == 0 {
 			kits = platform.Spec.Resources.Kits
 		}
diff --git a/pkg/controller/integrationkit/build.go b/pkg/controller/integrationkit/build.go
index 3a785f0..ce43068 100644
--- a/pkg/controller/integrationkit/build.go
+++ b/pkg/controller/integrationkit/build.go
@@ -96,7 +96,7 @@ func (action *buildAction) handleBuildSubmitted(ctx context.Context, kit *v1alph
 				CamelVersion:    env.CamelCatalog.Version,
 				RuntimeVersion:  env.CamelCatalog.RuntimeVersion,
 				RuntimeProvider: env.CamelCatalog.RuntimeProvider,
-				Platform:        env.Platform.Status.FullConfig,
+				Platform:        env.Platform.Status.IntegrationPlatformSpec,
 				Dependencies:    kit.Spec.Dependencies,
 				// TODO: sort for easy read
 				Steps:    builder.StepIDsFor(env.Steps...),
diff --git a/pkg/controller/integrationplatform/create.go b/pkg/controller/integrationplatform/create.go
index ee9a3fc..6bbe14f 100644
--- a/pkg/controller/integrationplatform/create.go
+++ b/pkg/controller/integrationplatform/create.go
@@ -56,10 +56,10 @@ func (action *createAction) Handle(ctx context.Context, platform *v1alpha1.Integ
 		}
 	}
 
-	if l := len(platform.Status.FullConfig.Resources.Kits); l > 0 {
+	if l := len(platform.Status.Resources.Kits); l > 0 {
 		res := make([]string, 0, l)
 
-		for _, c := range platform.Status.FullConfig.Resources.Kits {
+		for _, c := range platform.Status.Resources.Kits {
 			//
 			// Assuming that if the resource ends with a yaml extension, the full
 			// resource name is provided
diff --git a/pkg/controller/integrationplatform/initialize.go b/pkg/controller/integrationplatform/initialize.go
index 234d95a..ce90c2e 100644
--- a/pkg/controller/integrationplatform/initialize.go
+++ b/pkg/controller/integrationplatform/initialize.go
@@ -69,7 +69,7 @@ func (action *initializeAction) Handle(ctx context.Context, platform *v1alpha1.I
 		return nil, err
 	}
 
-	if platform.Status.FullConfig.Build.PublishStrategy == v1alpha1.IntegrationPlatformBuildPublishStrategyKaniko {
+	if platform.Status.Build.PublishStrategy == v1alpha1.IntegrationPlatformBuildPublishStrategyKaniko {
 		// Create the persistent volume claim used to coordinate build pod output
 		// with Kaniko cache and build input
 		action.L.Info("Create persistent volume claim")
@@ -78,7 +78,7 @@ func (action *initializeAction) Handle(ctx context.Context, platform *v1alpha1.I
 			return nil, err
 		}
 
-		if platform.Status.FullConfig.Build.IsKanikoCacheEnabled() {
+		if platform.Status.Build.IsKanikoCacheEnabled() {
 			// Create the Kaniko warmer pod that caches the base image into the Camel K builder volume
 			action.L.Info("Create Kaniko cache warmer pod")
 			err = createKanikoCacheWarmerPod(ctx, action.client, platform)
@@ -126,7 +126,7 @@ func createPersistentVolumeClaim(ctx context.Context, client client.Client, plat
 		},
 		ObjectMeta: metav1.ObjectMeta{
 			Namespace: platform.Namespace,
-			Name:      platform.Status.FullConfig.Build.PersistentVolumeClaim,
+			Name:      platform.Status.Build.PersistentVolumeClaim,
 			Labels: map[string]string{
 				"app": "camel-k",
 			},
diff --git a/pkg/controller/integrationplatform/initialize_test.go b/pkg/controller/integrationplatform/initialize_test.go
index 112bc87..53681e2 100644
--- a/pkg/controller/integrationplatform/initialize_test.go
+++ b/pkg/controller/integrationplatform/initialize_test.go
@@ -53,11 +53,11 @@ func TestTimeouts_Default(t *testing.T) {
 	assert.Nil(t, err)
 	assert.NotNil(t, answer)
 
-	n := answer.Status.FullConfig.Build.GetTimeout().Duration.Seconds() * 0.75
+	n := answer.Status.Build.GetTimeout().Duration.Seconds() * 0.75
 	d := (time.Duration(n) * time.Second).Truncate(time.Second)
 
-	assert.Equal(t, d, answer.Status.FullConfig.Build.Maven.GetTimeout().Duration)
-	assert.Equal(t, 5*time.Minute, answer.Status.FullConfig.Build.GetTimeout().Duration)
+	assert.Equal(t, d, answer.Status.Build.Maven.GetTimeout().Duration)
+	assert.Equal(t, 5*time.Minute, answer.Status.Build.GetTimeout().Duration)
 }
 
 func TestTimeouts_MavenComputedFromBuild(t *testing.T) {
@@ -86,11 +86,11 @@ func TestTimeouts_MavenComputedFromBuild(t *testing.T) {
 	assert.Nil(t, err)
 	assert.NotNil(t, answer)
 
-	n := answer.Status.FullConfig.Build.GetTimeout().Duration.Seconds() * 0.75
+	n := answer.Status.Build.GetTimeout().Duration.Seconds() * 0.75
 	d := (time.Duration(n) * time.Second).Truncate(time.Second)
 
-	assert.Equal(t, d, answer.Status.FullConfig.Build.Maven.GetTimeout().Duration)
-	assert.Equal(t, 1*time.Minute, answer.Status.FullConfig.Build.GetTimeout().Duration)
+	assert.Equal(t, d, answer.Status.Build.Maven.GetTimeout().Duration)
+	assert.Equal(t, 1*time.Minute, answer.Status.Build.GetTimeout().Duration)
 }
 
 func TestTimeouts_Truncated(t *testing.T) {
@@ -126,8 +126,8 @@ func TestTimeouts_Truncated(t *testing.T) {
 	assert.Nil(t, err)
 	assert.NotNil(t, answer)
 
-	assert.Equal(t, 2*time.Minute, answer.Status.FullConfig.Build.Maven.GetTimeout().Duration)
-	assert.Equal(t, 5*time.Minute, answer.Status.FullConfig.Build.GetTimeout().Duration)
+	assert.Equal(t, 2*time.Minute, answer.Status.Build.Maven.GetTimeout().Duration)
+	assert.Equal(t, 5*time.Minute, answer.Status.Build.GetTimeout().Duration)
 }
 
 func TestDefaultMavenSettingsApplied(t *testing.T) {
@@ -149,8 +149,8 @@ func TestDefaultMavenSettingsApplied(t *testing.T) {
 	assert.Nil(t, err)
 	assert.NotNil(t, answer)
 
-	assert.NotNil(t, answer.Status.FullConfig.Build.Maven.Settings.ConfigMapKeyRef)
+	assert.NotNil(t, answer.Status.Build.Maven.Settings.ConfigMapKeyRef)
 	assert.Nil(t, answer.Spec.Build.Maven.Settings.ConfigMapKeyRef)
-	assert.Equal(t, "test-platform-maven-settings", answer.Status.FullConfig.Build.Maven.Settings.ConfigMapKeyRef.Name)
-	assert.Equal(t, "settings.xml", answer.Status.FullConfig.Build.Maven.Settings.ConfigMapKeyRef.Key)
+	assert.Equal(t, "test-platform-maven-settings", answer.Status.Build.Maven.Settings.ConfigMapKeyRef.Name)
+	assert.Equal(t, "settings.xml", answer.Status.Build.Maven.Settings.ConfigMapKeyRef.Key)
 }
diff --git a/pkg/controller/integrationplatform/kaniko_cache.go b/pkg/controller/integrationplatform/kaniko_cache.go
index 2e09d50..7ff25f6 100644
--- a/pkg/controller/integrationplatform/kaniko_cache.go
+++ b/pkg/controller/integrationplatform/kaniko_cache.go
@@ -59,7 +59,7 @@ func createKanikoCacheWarmerPod(ctx context.Context, client client.Client, platf
 					Image: fmt.Sprintf("gcr.io/kaniko-project/warmer:v%s", defaults.KanikoVersion),
 					Args: []string{
 						"--cache-dir=/workspace/cache",
-						"--image=" + platform.Status.FullConfig.Build.BaseImage,
+						"--image=" + platform.Status.Build.BaseImage,
 					},
 					VolumeMounts: []corev1.VolumeMount{
 						{
@@ -91,7 +91,7 @@ func createKanikoCacheWarmerPod(ctx context.Context, client client.Client, platf
 					Name: "camel-k-builder",
 					VolumeSource: corev1.VolumeSource{
 						PersistentVolumeClaim: &corev1.PersistentVolumeClaimVolumeSource{
-							ClaimName: platform.Status.FullConfig.Build.PersistentVolumeClaim,
+							ClaimName: platform.Status.Build.PersistentVolumeClaim,
 						},
 					},
 				},
diff --git a/pkg/platform/defaults.go b/pkg/platform/defaults.go
index 3433eb0..640e385 100644
--- a/pkg/platform/defaults.go
+++ b/pkg/platform/defaults.go
@@ -40,38 +40,38 @@ func ConfigureDefaults(ctx context.Context, c client.Client, p *v1alpha1.Integra
 	p.ResyncStatusFullConfig()
 
 	// update missing fields in the resource
-	if p.Status.FullConfig.Cluster == "" {
+	if p.Status.Cluster == "" {
 		// determine the kind of cluster the platform is installed into
 		isOpenShift, err := openshift.IsOpenShift(c)
 		switch {
 		case err != nil:
 			return err
 		case isOpenShift:
-			p.Status.FullConfig.Cluster = v1alpha1.IntegrationPlatformClusterOpenShift
+			p.Status.Cluster = v1alpha1.IntegrationPlatformClusterOpenShift
 		default:
-			p.Status.FullConfig.Cluster = v1alpha1.IntegrationPlatformClusterKubernetes
+			p.Status.Cluster = v1alpha1.IntegrationPlatformClusterKubernetes
 		}
 	}
 
-	if p.Status.FullConfig.Build.PublishStrategy == "" {
-		if p.Status.FullConfig.Cluster == v1alpha1.IntegrationPlatformClusterOpenShift {
-			p.Status.FullConfig.Build.PublishStrategy = v1alpha1.IntegrationPlatformBuildPublishStrategyS2I
+	if p.Status.Build.PublishStrategy == "" {
+		if p.Status.Cluster == v1alpha1.IntegrationPlatformClusterOpenShift {
+			p.Status.Build.PublishStrategy = v1alpha1.IntegrationPlatformBuildPublishStrategyS2I
 		} else {
-			p.Status.FullConfig.Build.PublishStrategy = v1alpha1.IntegrationPlatformBuildPublishStrategyKaniko
+			p.Status.Build.PublishStrategy = v1alpha1.IntegrationPlatformBuildPublishStrategyKaniko
 		}
 	}
 
-	if p.Status.FullConfig.Build.BuildStrategy == "" {
+	if p.Status.Build.BuildStrategy == "" {
 		// If the operator is global, a global build strategy should be used
 		if IsCurrentOperatorGlobal() {
 			// The only global strategy we have for now
-			p.Status.FullConfig.Build.BuildStrategy = v1alpha1.IntegrationPlatformBuildStrategyPod
+			p.Status.Build.BuildStrategy = v1alpha1.IntegrationPlatformBuildStrategyPod
 		} else {
-			if p.Status.FullConfig.Build.PublishStrategy == v1alpha1.IntegrationPlatformBuildPublishStrategyKaniko {
+			if p.Status.Build.PublishStrategy == v1alpha1.IntegrationPlatformBuildPublishStrategyKaniko {
 				// The build output has to be shared with Kaniko via a persistent volume
-				p.Status.FullConfig.Build.BuildStrategy = v1alpha1.IntegrationPlatformBuildStrategyPod
+				p.Status.Build.BuildStrategy = v1alpha1.IntegrationPlatformBuildStrategyPod
 			} else {
-				p.Status.FullConfig.Build.BuildStrategy = v1alpha1.IntegrationPlatformBuildStrategyRoutine
+				p.Status.Build.BuildStrategy = v1alpha1.IntegrationPlatformBuildStrategyRoutine
 			}
 		}
 	}
@@ -81,75 +81,75 @@ func ConfigureDefaults(ctx context.Context, c client.Client, p *v1alpha1.Integra
 		return err
 	}
 
-	if verbose && p.Status.FullConfig.Build.PublishStrategy == v1alpha1.IntegrationPlatformBuildPublishStrategyKaniko && p.Status.FullConfig.Build.Registry.Address == "" {
+	if verbose && p.Status.Build.PublishStrategy == v1alpha1.IntegrationPlatformBuildPublishStrategyKaniko && p.Status.Build.Registry.Address == "" {
 		log.Log.Info("No registry specified for publishing images")
 	}
 
-	if verbose && p.Status.FullConfig.Build.Maven.GetTimeout().Duration != 0 {
-		log.Log.Infof("Maven Timeout set to %s", p.Status.FullConfig.Build.Maven.GetTimeout().Duration)
+	if verbose && p.Status.Build.Maven.GetTimeout().Duration != 0 {
+		log.Log.Infof("Maven Timeout set to %s", p.Status.Build.Maven.GetTimeout().Duration)
 	}
 
 	return nil
 }
 
 func setPlatformDefaults(ctx context.Context, c client.Client, p *v1alpha1.IntegrationPlatform, verbose bool) error {
-	if p.Status.FullConfig.Profile == "" {
-		p.Status.FullConfig.Profile = DetermineBestProfile(ctx, c, p)
+	if p.Status.Profile == "" {
+		p.Status.Profile = DetermineBestProfile(ctx, c, p)
 	}
-	if p.Status.FullConfig.Build.CamelVersion == "" {
-		p.Status.FullConfig.Build.CamelVersion = defaults.CamelVersionConstraint
+	if p.Status.Build.CamelVersion == "" {
+		p.Status.Build.CamelVersion = defaults.CamelVersionConstraint
 	}
-	if p.Status.FullConfig.Build.RuntimeVersion == "" {
-		p.Status.FullConfig.Build.RuntimeVersion = defaults.RuntimeVersionConstraint
+	if p.Status.Build.RuntimeVersion == "" {
+		p.Status.Build.RuntimeVersion = defaults.RuntimeVersionConstraint
 	}
-	if p.Status.FullConfig.Build.BaseImage == "" {
-		p.Status.FullConfig.Build.BaseImage = defaults.BaseImage
+	if p.Status.Build.BaseImage == "" {
+		p.Status.Build.BaseImage = defaults.BaseImage
 	}
-	if p.Status.FullConfig.Build.Maven.LocalRepository == "" {
-		p.Status.FullConfig.Build.Maven.LocalRepository = defaults.LocalRepository
+	if p.Status.Build.Maven.LocalRepository == "" {
+		p.Status.Build.Maven.LocalRepository = defaults.LocalRepository
 	}
-	if p.Status.FullConfig.Build.PersistentVolumeClaim == "" {
-		p.Status.FullConfig.Build.PersistentVolumeClaim = p.Name
+	if p.Status.Build.PersistentVolumeClaim == "" {
+		p.Status.Build.PersistentVolumeClaim = p.Name
 	}
 
-	if p.Status.FullConfig.Build.GetTimeout().Duration != 0 {
-		d := p.Status.FullConfig.Build.GetTimeout().Duration.Truncate(time.Second)
+	if p.Status.Build.GetTimeout().Duration != 0 {
+		d := p.Status.Build.GetTimeout().Duration.Truncate(time.Second)
 
-		if verbose && p.Status.FullConfig.Build.GetTimeout().Duration != d {
-			log.Log.Infof("Build timeout minimum unit is sec (configured: %s, truncated: %s)", p.Status.FullConfig.Build.GetTimeout().Duration, d)
+		if verbose && p.Status.Build.GetTimeout().Duration != d {
+			log.Log.Infof("Build timeout minimum unit is sec (configured: %s, truncated: %s)", p.Status.Build.GetTimeout().Duration, d)
 		}
 
-		p.Status.FullConfig.Build.Timeout = &v1.Duration{
+		p.Status.Build.Timeout = &v1.Duration{
 			Duration: d,
 		}
 	}
-	if p.Status.FullConfig.Build.GetTimeout().Duration == 0 {
-		p.Status.FullConfig.Build.Timeout = &v1.Duration{
+	if p.Status.Build.GetTimeout().Duration == 0 {
+		p.Status.Build.Timeout = &v1.Duration{
 			Duration: 5 * time.Minute,
 		}
 	}
 
-	if p.Status.FullConfig.Build.Maven.GetTimeout().Duration != 0 {
-		d := p.Status.FullConfig.Build.Maven.GetTimeout().Duration.Truncate(time.Second)
+	if p.Status.Build.Maven.GetTimeout().Duration != 0 {
+		d := p.Status.Build.Maven.GetTimeout().Duration.Truncate(time.Second)
 
-		if verbose && p.Status.FullConfig.Build.Maven.GetTimeout().Duration != d {
-			log.Log.Infof("Maven timeout minimum unit is sec (configured: %s, truncated: %s)", p.Status.FullConfig.Build.Maven.GetTimeout().Duration, d)
+		if verbose && p.Status.Build.Maven.GetTimeout().Duration != d {
+			log.Log.Infof("Maven timeout minimum unit is sec (configured: %s, truncated: %s)", p.Status.Build.Maven.GetTimeout().Duration, d)
 		}
 
-		p.Status.FullConfig.Build.Maven.Timeout = &v1.Duration{
+		p.Status.Build.Maven.Timeout = &v1.Duration{
 			Duration: d,
 		}
 	}
-	if p.Status.FullConfig.Build.Maven.GetTimeout().Duration == 0 {
-		n := p.Status.FullConfig.Build.GetTimeout().Duration.Seconds() * 0.75
-		p.Status.FullConfig.Build.Maven.Timeout = &v1.Duration{
+	if p.Status.Build.Maven.GetTimeout().Duration == 0 {
+		n := p.Status.Build.GetTimeout().Duration.Seconds() * 0.75
+		p.Status.Build.Maven.Timeout = &v1.Duration{
 			Duration: (time.Duration(n) * time.Second).Truncate(time.Second),
 		}
 	}
 
-	if p.Status.FullConfig.Build.Maven.Settings.ConfigMapKeyRef == nil && p.Status.FullConfig.Build.Maven.Settings.SecretKeyRef == nil {
+	if p.Status.Build.Maven.Settings.ConfigMapKeyRef == nil && p.Status.Build.Maven.Settings.SecretKeyRef == nil {
 		var repositories []maven.Repository
-		for i, c := range p.Status.FullConfig.Configuration {
+		for i, c := range p.Status.Configuration {
 			if c.Type == "repository" {
 				repository := maven.NewRepository(c.Value)
 				if repository.ID == "" {
@@ -166,7 +166,7 @@ func setPlatformDefaults(ctx context.Context, c client.Client, p *v1alpha1.Integ
 			return err
 		}
 
-		p.Status.FullConfig.Build.Maven.Settings.ConfigMapKeyRef = &corev1.ConfigMapKeySelector{
+		p.Status.Build.Maven.Settings.ConfigMapKeyRef = &corev1.ConfigMapKeySelector{
 			LocalObjectReference: corev1.LocalObjectReference{
 				Name: p.Name + "-maven-settings",
 			},
@@ -174,22 +174,22 @@ func setPlatformDefaults(ctx context.Context, c client.Client, p *v1alpha1.Integ
 		}
 	}
 
-	if p.Status.FullConfig.Build.PublishStrategy == v1alpha1.IntegrationPlatformBuildPublishStrategyKaniko && p.Status.FullConfig.Build.KanikoBuildCache == nil {
+	if p.Status.Build.PublishStrategy == v1alpha1.IntegrationPlatformBuildPublishStrategyKaniko && p.Status.Build.KanikoBuildCache == nil {
 		// Default to using Kaniko cache warmer
 		defaultKanikoBuildCache := true
-		p.Status.FullConfig.Build.KanikoBuildCache = &defaultKanikoBuildCache
+		p.Status.Build.KanikoBuildCache = &defaultKanikoBuildCache
 		if verbose {
-			log.Log.Infof("Kaniko cache set to %t", *p.Status.FullConfig.Build.KanikoBuildCache)
+			log.Log.Infof("Kaniko cache set to %t", *p.Status.Build.KanikoBuildCache)
 		}
 	}
 
 	if verbose {
-		log.Log.Infof("CamelVersion set to %s", p.Status.FullConfig.Build.CamelVersion)
-		log.Log.Infof("RuntimeVersion set to %s", p.Status.FullConfig.Build.RuntimeVersion)
-		log.Log.Infof("BaseImage set to %s", p.Status.FullConfig.Build.BaseImage)
-		log.Log.Infof("LocalRepository set to %s", p.Status.FullConfig.Build.Maven.LocalRepository)
-		log.Log.Infof("Timeout set to %s", p.Status.FullConfig.Build.GetTimeout())
-		log.Log.Infof("Maven Timeout set to %s", p.Status.FullConfig.Build.Maven.GetTimeout().Duration)
+		log.Log.Infof("CamelVersion set to %s", p.Status.Build.CamelVersion)
+		log.Log.Infof("RuntimeVersion set to %s", p.Status.Build.RuntimeVersion)
+		log.Log.Infof("BaseImage set to %s", p.Status.Build.BaseImage)
+		log.Log.Infof("LocalRepository set to %s", p.Status.Build.Maven.LocalRepository)
+		log.Log.Infof("Timeout set to %s", p.Status.Build.GetTimeout())
+		log.Log.Infof("Maven Timeout set to %s", p.Status.Build.Maven.GetTimeout().Duration)
 	}
 
 	return nil
diff --git a/pkg/platform/platform.go b/pkg/platform/platform.go
index 7fb539a..bcd92c7 100644
--- a/pkg/platform/platform.go
+++ b/pkg/platform/platform.go
@@ -99,8 +99,8 @@ func IsActive(p *v1alpha1.IntegrationPlatform) bool {
 
 // DetermineBestProfile tries to detect the best trait profile for the platform
 func DetermineBestProfile(ctx context.Context, c k8sclient.Reader, p *v1alpha1.IntegrationPlatform) v1alpha1.TraitProfile {
-	if p.Status.FullConfig.Profile != "" {
-		return p.Status.FullConfig.Profile
+	if p.Status.Profile != "" {
+		return p.Status.Profile
 	}
 	if knative.IsEnabledInNamespace(ctx, c, p.Namespace) {
 		return v1alpha1.TraitProfileKnative
@@ -110,11 +110,11 @@ func DetermineBestProfile(ctx context.Context, c k8sclient.Reader, p *v1alpha1.I
 
 // GetProfile returns the current profile of the platform (if present) or returns the default one for the cluster
 func GetProfile(p *v1alpha1.IntegrationPlatform) v1alpha1.TraitProfile {
-	if p.Status.FullConfig.Profile != "" {
-		return p.Status.FullConfig.Profile
+	if p.Status.Profile != "" {
+		return p.Status.Profile
 	}
 
-	switch p.Status.FullConfig.Cluster {
+	switch p.Status.Cluster {
 	case v1alpha1.IntegrationPlatformClusterKubernetes:
 		return v1alpha1.TraitProfileKubernetes
 	case v1alpha1.IntegrationPlatformClusterOpenShift:
@@ -125,10 +125,10 @@ func GetProfile(p *v1alpha1.IntegrationPlatform) v1alpha1.TraitProfile {
 
 // SupportsS2iPublishStrategy --
 func SupportsS2iPublishStrategy(p *v1alpha1.IntegrationPlatform) bool {
-	return p.Status.FullConfig.Build.PublishStrategy == v1alpha1.IntegrationPlatformBuildPublishStrategyS2I
+	return p.Status.Build.PublishStrategy == v1alpha1.IntegrationPlatformBuildPublishStrategyS2I
 }
 
 // SupportsKanikoPublishStrategy --
 func SupportsKanikoPublishStrategy(p *v1alpha1.IntegrationPlatform) bool {
-	return p.Status.FullConfig.Build.PublishStrategy == v1alpha1.IntegrationPlatformBuildPublishStrategyKaniko && p.Status.FullConfig.Build.Registry.Address != ""
+	return p.Status.Build.PublishStrategy == v1alpha1.IntegrationPlatformBuildPublishStrategyKaniko && p.Status.Build.Registry.Address != ""
 }
diff --git a/pkg/trait/builder_test.go b/pkg/trait/builder_test.go
index 87dea37..a9f2c00 100644
--- a/pkg/trait/builder_test.go
+++ b/pkg/trait/builder_test.go
@@ -46,7 +46,7 @@ func TestBuilderTraitNotAppliedBecauseOfNilKit(t *testing.T) {
 		e := e // pin
 		e.IntegrationKit = nil
 
-		t.Run(string(e.Platform.Status.FullConfig.Cluster), func(t *testing.T) {
+		t.Run(string(e.Platform.Status.Cluster), func(t *testing.T) {
 			err := NewBuilderTestCatalog().apply(e)
 
 			assert.Nil(t, err)
@@ -67,7 +67,7 @@ func TestBuilderTraitNotAppliedBecauseOfNilPhase(t *testing.T) {
 		e := e // pin
 		e.IntegrationKit.Status.Phase = v1alpha1.IntegrationKitPhaseInitialization
 
-		t.Run(string(e.Platform.Status.FullConfig.Cluster), func(t *testing.T) {
+		t.Run(string(e.Platform.Status.Cluster), func(t *testing.T) {
 			err := NewBuilderTestCatalog().apply(e)
 
 			assert.Nil(t, err)
diff --git a/pkg/trait/camel.go b/pkg/trait/camel.go
index 95e9669..9b5f2ee 100644
--- a/pkg/trait/camel.go
+++ b/pkg/trait/camel.go
@@ -105,7 +105,7 @@ func (t *camelTrait) loadOrCreateCatalog(e *Environment, camelVersion string, ru
 		// the required versions (camel and runtime) are not expressed as
 		// semver constraints
 		if exactVersionRegexp.MatchString(camelVersion) && exactVersionRegexp.MatchString(runtimeVersion) {
-			catalog, err = camel.GenerateCatalog(e.C, e.Client, ns, e.Platform.Status.FullConfig.Build.Maven, camelVersion, runtimeVersion)
+			catalog, err = camel.GenerateCatalog(e.C, e.Client, ns, e.Platform.Status.Build.Maven, camelVersion, runtimeVersion)
 			if err != nil {
 				return err
 			}
@@ -148,7 +148,7 @@ func (t *camelTrait) determineCamelVersion(e *Environment) string {
 	if e.IntegrationKit != nil && e.IntegrationKit.Status.CamelVersion != "" {
 		return e.IntegrationKit.Status.CamelVersion
 	}
-	return e.Platform.Status.FullConfig.Build.CamelVersion
+	return e.Platform.Status.Build.CamelVersion
 }
 
 func (t *camelTrait) determineRuntimeVersion(e *Environment) string {
@@ -161,7 +161,7 @@ func (t *camelTrait) determineRuntimeVersion(e *Environment) string {
 	if e.IntegrationKit != nil && e.IntegrationKit.Status.RuntimeVersion != "" {
 		return e.IntegrationKit.Status.RuntimeVersion
 	}
-	return e.Platform.Status.FullConfig.Build.RuntimeVersion
+	return e.Platform.Status.Build.RuntimeVersion
 }
 
 // IsPlatformTrait overrides base class method
diff --git a/pkg/trait/pull_secret.go b/pkg/trait/pull_secret.go
index 56394cc..86ecbc5 100644
--- a/pkg/trait/pull_secret.go
+++ b/pkg/trait/pull_secret.go
@@ -60,7 +60,7 @@ func (t *pullSecretTrait) Configure(e *Environment) (bool, error) {
 
 	if t.Auto == nil || *t.Auto {
 		if t.SecretName == "" {
-			secret := e.Platform.Status.FullConfig.Build.Registry.Secret
+			secret := e.Platform.Status.Build.Registry.Secret
 			if secret != "" {
 				key := client.ObjectKey{Namespace: e.Platform.Namespace, Name: secret}
 				obj := v1.Secret{}
diff --git a/pkg/trait/quarkus.go b/pkg/trait/quarkus.go
index 3696aa8..72a5be7 100644
--- a/pkg/trait/quarkus.go
+++ b/pkg/trait/quarkus.go
@@ -94,7 +94,7 @@ func (t *quarkusTrait) loadOrCreateCatalog(e *Environment, camelVersion string,
 		// semver constraints
 		if exactVersionRegexp.MatchString(camelVersion) && exactVersionRegexp.MatchString(runtimeVersion) &&
 			exactVersionRegexp.MatchString(camelQuarkusVersion) && exactVersionRegexp.MatchString(quarkusVersion) {
-			catalog, err = camel.GenerateCatalogWithProvider(e.C, e.Client, ns, e.Platform.Status.FullConfig.Build.Maven, camelVersion, runtimeVersion,
+			catalog, err = camel.GenerateCatalogWithProvider(e.C, e.Client, ns, e.Platform.Status.Build.Maven, camelVersion, runtimeVersion,
 				"quarkus",
 				[]maven.Dependency{
 					{
@@ -201,9 +201,9 @@ func (t *quarkusTrait) determineQuarkusVersion(e *Environment) string {
 		e.IntegrationKit.Status.RuntimeProvider.Quarkus.QuarkusVersion != "" {
 		return e.IntegrationKit.Status.RuntimeProvider.Quarkus.QuarkusVersion
 	}
-	if e.Platform.Status.FullConfig.Build.RuntimeProvider != nil && e.Platform.Status.FullConfig.Build.RuntimeProvider.Quarkus != nil &&
-		e.Platform.Status.FullConfig.Build.RuntimeProvider.Quarkus.QuarkusVersion != "" {
-		return e.Platform.Status.FullConfig.Build.RuntimeProvider.Quarkus.QuarkusVersion
+	if e.Platform.Status.Build.RuntimeProvider != nil && e.Platform.Status.Build.RuntimeProvider.Quarkus != nil &&
+		e.Platform.Status.Build.RuntimeProvider.Quarkus.QuarkusVersion != "" {
+		return e.Platform.Status.Build.RuntimeProvider.Quarkus.QuarkusVersion
 	}
 	return defaults.QuarkusVersionConstraint
 }
@@ -220,9 +220,9 @@ func (t *quarkusTrait) determineCamelQuarkusVersion(e *Environment) string {
 		e.IntegrationKit.Status.RuntimeProvider.Quarkus.CamelQuarkusVersion != "" {
 		return e.IntegrationKit.Status.RuntimeProvider.Quarkus.CamelQuarkusVersion
 	}
-	if e.Platform.Status.FullConfig.Build.RuntimeProvider != nil && e.Platform.Status.FullConfig.Build.RuntimeProvider.Quarkus != nil &&
-		e.Platform.Status.FullConfig.Build.RuntimeProvider.Quarkus.CamelQuarkusVersion != "" {
-		return e.Platform.Status.FullConfig.Build.RuntimeProvider.Quarkus.CamelQuarkusVersion
+	if e.Platform.Status.Build.RuntimeProvider != nil && e.Platform.Status.Build.RuntimeProvider.Quarkus != nil &&
+		e.Platform.Status.Build.RuntimeProvider.Quarkus.CamelQuarkusVersion != "" {
+		return e.Platform.Status.Build.RuntimeProvider.Quarkus.CamelQuarkusVersion
 	}
 	return defaults.CamelQuarkusVersionConstraint
 }
diff --git a/pkg/trait/rest-dsl.go b/pkg/trait/rest-dsl.go
index d621f8e..5fbb82d 100644
--- a/pkg/trait/rest-dsl.go
+++ b/pkg/trait/rest-dsl.go
@@ -114,12 +114,12 @@ func (t *restDslTrait) Apply(e *Environment) error {
 		}
 
 		mc := maven.NewContext(tmpDir, project)
-		mc.LocalRepository = e.Platform.Status.FullConfig.Build.Maven.LocalRepository
-		mc.Timeout = e.Platform.Status.FullConfig.Build.Maven.GetTimeout().Duration
+		mc.LocalRepository = e.Platform.Status.Build.Maven.LocalRepository
+		mc.Timeout = e.Platform.Status.Build.Maven.GetTimeout().Duration
 		mc.AddArgument("-Dopenapi.spec=" + in)
 		mc.AddArgument("-Ddsl.out=" + out)
 
-		settings, err := kubernetes.ResolveValueSource(e.C, e.Client, e.Integration.Namespace, &e.Platform.Status.FullConfig.Build.Maven.Settings)
+		settings, err := kubernetes.ResolveValueSource(e.C, e.Client, e.Integration.Namespace, &e.Platform.Status.Build.Maven.Settings)
 		if err != nil {
 			return err
 		}
diff --git a/pkg/trait/trait_catalog.go b/pkg/trait/trait_catalog.go
index 8df6c30..b095c6e 100644
--- a/pkg/trait/trait_catalog.go
+++ b/pkg/trait/trait_catalog.go
@@ -279,8 +279,8 @@ func (c *Catalog) GetTrait(id string) Trait {
 }
 
 func (c *Catalog) configure(env *Environment) error {
-	if env.Platform != nil && env.Platform.Status.FullConfig.Traits != nil {
-		if err := c.configureTraits(env.Platform.Status.FullConfig.Traits); err != nil {
+	if env.Platform != nil && env.Platform.Status.Traits != nil {
+		if err := c.configureTraits(env.Platform.Status.Traits); err != nil {
 			return err
 		}
 	}