You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by pc...@apache.org on 2024/01/17 13:57:49 UTC

(camel-k) branch main updated (08c15bd71 -> 385e83957)

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

pcongiusti pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/camel-k.git


    from 08c15bd71 chore: nightly automatic updates
     new fc2f6d4dc fix(crd): Revert default values in CRD definition
     new 385e83957 test(trait): Non regression test on CRD default values for Integrations

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 addons/master/master.go                            |  3 -
 addons/telemetry/telemetry.go                      |  3 -
 addons/threescale/3scale.go                        |  4 -
 addons/tracing/tracing.go                          |  3 -
 .../bases/camel.apache.org_integrationkits.yaml    |  6 --
 .../camel.apache.org_integrationplatforms.yaml     | 86 ----------------------
 .../crd/bases/camel.apache.org_integrations.yaml   | 43 -----------
 .../bases/camel.apache.org_kameletbindings.yaml    | 43 -----------
 config/crd/bases/camel.apache.org_pipes.yaml       | 43 -----------
 e2e/common/config/config_test.go                   | 10 +++
 e2e/common/misc/kamelet_test.go                    |  9 +++
 e2e/common/traits/affinity_test.go                 | 21 ++++--
 e2e/common/traits/builder_test.go                  | 11 ++-
 e2e/common/traits/container_test.go                |  9 +++
 e2e/common/traits/deployment_test.go               | 19 ++++-
 e2e/common/traits/health_test.go                   |  9 +++
 e2e/common/traits/istio_test.go                    |  9 +++
 e2e/common/traits/jolokia_test.go                  | 22 +++++-
 e2e/common/traits/jvm_test.go                      | 10 +++
 e2e/common/traits/master_test.go                   | 26 +++++--
 e2e/common/traits/pdb_test.go                      | 10 +++
 e2e/common/traits/prometheus_test.go               |  9 +++
 e2e/common/traits/pull_secret_test.go              |  9 +++
 e2e/common/traits/route_test.go                    | 10 +++
 e2e/common/traits/service_test.go                  | 10 +++
 e2e/commonwithcustominstall/environment_test.go    |  9 +++
 e2e/native/native_test.go                          | 11 ++-
 e2e/support/test_support.go                        | 23 ++++++
 e2e/support/test_util.go                           |  2 -
 e2e/telemetry/telemetry_test.go                    | 10 +++
 helm/camel-k/crds/crd-integration-kit.yaml         |  6 --
 helm/camel-k/crds/crd-integration-platform.yaml    | 86 ----------------------
 helm/camel-k/crds/crd-integration.yaml             | 43 -----------
 helm/camel-k/crds/crd-kamelet-binding.yaml         | 43 -----------
 helm/camel-k/crds/crd-pipe.yaml                    | 43 -----------
 pkg/apis/camel/v1/trait/affinity.go                |  2 -
 pkg/apis/camel/v1/trait/builder.go                 |  3 -
 pkg/apis/camel/v1/trait/container.go               |  4 -
 pkg/apis/camel/v1/trait/cron.go                    |  2 -
 pkg/apis/camel/v1/trait/deployer.go                |  1 -
 pkg/apis/camel/v1/trait/deployment.go              |  3 -
 pkg/apis/camel/v1/trait/environment.go             |  2 -
 pkg/apis/camel/v1/trait/gc.go                      |  1 -
 pkg/apis/camel/v1/trait/health.go                  |  6 --
 pkg/apis/camel/v1/trait/ingress.go                 |  2 -
 pkg/apis/camel/v1/trait/istio.go                   |  1 -
 pkg/apis/camel/v1/trait/jolokia.go                 |  3 -
 pkg/apis/camel/v1/trait/jvm.go                     |  2 -
 pkg/apis/camel/v1/trait/kamelets.go                |  2 -
 pkg/apis/camel/v1/trait/knative.go                 |  1 -
 pkg/apis/camel/v1/trait/logging.go                 |  1 -
 pkg/apis/camel/v1/trait/mount.go                   |  1 -
 pkg/apis/camel/v1/trait/platform.go                |  1 -
 pkg/apis/camel/v1/trait/prometheus.go              |  1 -
 pkg/apis/camel/v1/trait/quarkus.go                 |  2 -
 pkg/apis/camel/v1/trait/service.go                 |  1 -
 56 files changed, 234 insertions(+), 521 deletions(-)


(camel-k) 02/02: test(trait): Non regression test on CRD default values for Integrations

Posted by pc...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 385e83957164239ee82e860f0de6c1bd352c79c0
Author: Gaelle Fournier <ga...@gmail.com>
AuthorDate: Tue Jan 16 10:07:05 2024 +0100

    test(trait): Non regression test on CRD default values for Integrations
---
 e2e/common/config/config_test.go                | 10 ++++++++++
 e2e/common/misc/kamelet_test.go                 |  9 +++++++++
 e2e/common/traits/affinity_test.go              | 21 +++++++++++++++-----
 e2e/common/traits/builder_test.go               | 11 ++++++++++-
 e2e/common/traits/container_test.go             |  9 +++++++++
 e2e/common/traits/deployment_test.go            | 19 ++++++++++++++----
 e2e/common/traits/health_test.go                |  9 +++++++++
 e2e/common/traits/istio_test.go                 |  9 +++++++++
 e2e/common/traits/jolokia_test.go               | 22 +++++++++++++++++----
 e2e/common/traits/jvm_test.go                   | 10 ++++++++++
 e2e/common/traits/master_test.go                | 26 ++++++++++++++++++-------
 e2e/common/traits/pdb_test.go                   | 10 ++++++++++
 e2e/common/traits/prometheus_test.go            |  9 +++++++++
 e2e/common/traits/pull_secret_test.go           |  9 +++++++++
 e2e/common/traits/route_test.go                 | 10 ++++++++++
 e2e/common/traits/service_test.go               | 10 ++++++++++
 e2e/commonwithcustominstall/environment_test.go |  9 +++++++++
 e2e/native/native_test.go                       | 11 ++++++++++-
 e2e/support/test_support.go                     | 23 ++++++++++++++++++++++
 e2e/support/test_util.go                        |  2 --
 e2e/telemetry/telemetry_test.go                 | 10 ++++++++++
 21 files changed, 234 insertions(+), 24 deletions(-)

diff --git a/e2e/common/config/config_test.go b/e2e/common/config/config_test.go
index 3ea3ba8f0..ab7094b13 100644
--- a/e2e/common/config/config_test.go
+++ b/e2e/common/config/config_test.go
@@ -28,6 +28,7 @@ import (
 	. "github.com/onsi/gomega"
 
 	corev1 "k8s.io/api/core/v1"
+	"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
 
 	. "github.com/apache/camel-k/v2/e2e/support"
 	v1 "github.com/apache/camel-k/v2/pkg/apis/camel/v1"
@@ -120,6 +121,15 @@ func TestRunConfigExamples(t *testing.T) {
 		Eventually(IntegrationPodPhase(ns, "property-secret-route"), TestTimeoutLong).Should(Equal(corev1.PodRunning))
 		Eventually(IntegrationConditionStatus(ns, "property-secret-route", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue))
 		Eventually(IntegrationLogs(ns, "property-secret-route"), TestTimeoutShort).Should(ContainSubstring("my-secret-external-value"))
+
+		// check integration schema does not contains unwanted default trait value.
+		Eventually(UnstructuredIntegration(ns, "property-secret-route")).ShouldNot(BeNil())
+		unstructuredIntegration := UnstructuredIntegration(ns, "property-secret-route")()
+		mountTrait, _, _ := unstructured.NestedMap(unstructuredIntegration.Object, "spec", "traits", "mount")
+		Expect(mountTrait).ToNot(BeNil())
+		Expect(len(mountTrait)).To(Equal(1))
+		Expect(mountTrait["configs"]).ToNot(BeNil())
+
 		Expect(Kamel("delete", "property-secret-route", "-n", ns).Execute()).To(Succeed())
 
 	})
diff --git a/e2e/common/misc/kamelet_test.go b/e2e/common/misc/kamelet_test.go
index 6de1b1999..66c8c3839 100644
--- a/e2e/common/misc/kamelet_test.go
+++ b/e2e/common/misc/kamelet_test.go
@@ -27,6 +27,7 @@ import (
 
 	. "github.com/onsi/gomega"
 	corev1 "k8s.io/api/core/v1"
+	"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
 
 	. "github.com/apache/camel-k/v2/e2e/support"
 )
@@ -119,6 +120,14 @@ spec:
 			"-d", "camel:timer").Execute()).To(Succeed())
 		Eventually(IntegrationPodPhase(ns, "timer-kamelet-integration"), TestTimeoutLong).Should(Equal(corev1.PodRunning))
 		Eventually(IntegrationLogs(ns, "timer-kamelet-integration")).Should(ContainSubstring("important message"))
+
+		// check integration schema does not contains unwanted default trait value.
+		Eventually(UnstructuredIntegration(ns, "timer-kamelet-integration")).ShouldNot(BeNil())
+		unstructuredIntegration := UnstructuredIntegration(ns, "timer-kamelet-integration")()
+		kameletsTrait, _, _ := unstructured.NestedMap(unstructuredIntegration.Object, "spec", "traits", "kamelets")
+		Expect(kameletsTrait).ToNot(BeNil())
+		Expect(len(kameletsTrait)).To(Equal(1))
+		Expect(kameletsTrait["enabled"]).To(Equal(false))
 	})
 
 	Expect(Kamel("delete", "--all", "-n", ns).Execute()).To(Succeed())
diff --git a/e2e/common/traits/affinity_test.go b/e2e/common/traits/affinity_test.go
index 19fa2ccc2..7ce8a20eb 100644
--- a/e2e/common/traits/affinity_test.go
+++ b/e2e/common/traits/affinity_test.go
@@ -30,6 +30,7 @@ import (
 
 	corev1 "k8s.io/api/core/v1"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+	"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
 
 	. "github.com/apache/camel-k/v2/e2e/support"
 	v1 "github.com/apache/camel-k/v2/pkg/apis/camel/v1"
@@ -48,21 +49,31 @@ func TestAffinityTrait(t *testing.T) {
 
 	if hostname != "" {
 		t.Run("Run Java with node affinity", func(t *testing.T) {
+			name1 := RandomizedSuffixName("java1")
 			Expect(KamelRunWithID(operatorID, ns, "files/Java.java",
-				"--name", "java1",
+				"--name", name1,
 				"-t", "affinity.enabled=true",
 				"-t", fmt.Sprintf("affinity.node-affinity-labels=kubernetes.io/hostname in(%s)", hostname)).Execute()).To(Succeed())
-			Eventually(IntegrationPodPhase(ns, "java1"), TestTimeoutLong).Should(Equal(corev1.PodRunning))
-			Eventually(IntegrationConditionStatus(ns, "java1", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue))
-			Eventually(IntegrationLogs(ns, "java1"), TestTimeoutShort).Should(ContainSubstring("Magicstring!"))
+			Eventually(IntegrationPodPhase(ns, name1), TestTimeoutLong).Should(Equal(corev1.PodRunning))
+			Eventually(IntegrationConditionStatus(ns, name1, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue))
+			Eventually(IntegrationLogs(ns, name1), TestTimeoutShort).Should(ContainSubstring("Magicstring!"))
 
-			pod := IntegrationPod(ns, "java1")()
+			pod := IntegrationPod(ns, name1)()
 			Expect(pod.Spec.Affinity).NotTo(BeNil())
 			Expect(pod.Spec.Affinity.NodeAffinity).To(Equal(&corev1.NodeAffinity{
 				RequiredDuringSchedulingIgnoredDuringExecution: nodeSelector("kubernetes.io/hostname", corev1.NodeSelectorOpIn, hostname),
 			}))
 			Expect(pod.Spec.NodeName).To(Equal(hostname))
 
+			// check integration schema does not contains unwanted default trait value.
+			Eventually(UnstructuredIntegration(ns, name1)).ShouldNot(BeNil())
+			unstructuredIntegration := UnstructuredIntegration(ns, name1)()
+			affinityTrait, _, _ := unstructured.NestedMap(unstructuredIntegration.Object, "spec", "traits", "affinity")
+			Expect(affinityTrait).NotTo(BeNil())
+			Expect(len(affinityTrait)).To(Equal(2))
+			Expect(affinityTrait["enabled"]).To(Equal(true))
+			Expect(affinityTrait["nodeAffinityLabels"]).NotTo(BeNil())
+
 			Expect(Kamel("delete", "--all", "-n", ns).Execute()).To(Succeed())
 		})
 	}
diff --git a/e2e/common/traits/builder_test.go b/e2e/common/traits/builder_test.go
index a994c4ccd..5a1df5d30 100644
--- a/e2e/common/traits/builder_test.go
+++ b/e2e/common/traits/builder_test.go
@@ -30,6 +30,7 @@ import (
 
 	corev1 "k8s.io/api/core/v1"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+	"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
 
 	. "github.com/apache/camel-k/v2/e2e/support"
 	v1 "github.com/apache/camel-k/v2/pkg/apis/camel/v1"
@@ -66,7 +67,7 @@ func TestBuilderTrait(t *testing.T) {
 	})
 
 	t.Run("Run build order strategy dependencies", func(t *testing.T) {
-		name := RandomizedSuffixName("java-fifo-strategy")
+		name := RandomizedSuffixName("java-dependencies-strategy")
 		Expect(KamelRunWithID(operatorID, ns, "files/Java.java",
 			"--name", name,
 			"-t", "builder.order-strategy=dependencies").Execute()).To(Succeed())
@@ -88,6 +89,14 @@ func TestBuilderTrait(t *testing.T) {
 
 		Eventually(BuilderPod(integrationKitNamespace, builderKitName), TestTimeoutShort).Should(BeNil())
 
+		// check integration schema does not contains unwanted default trait value.
+		Eventually(UnstructuredIntegration(ns, name)).ShouldNot(BeNil())
+		unstructuredIntegration := UnstructuredIntegration(ns, name)()
+		builderTrait, _, _ := unstructured.NestedMap(unstructuredIntegration.Object, "spec", "traits", "builder")
+		Expect(builderTrait).NotTo(BeNil())
+		Expect(len(builderTrait)).To(Equal(1))
+		Expect(builderTrait["orderStrategy"]).To(Equal("dependencies"))
+
 		// We need to remove the kit as well
 		Expect(Kamel("reset", "-n", ns).Execute()).To(Succeed())
 	})
diff --git a/e2e/common/traits/container_test.go b/e2e/common/traits/container_test.go
index b379b7913..6bd6ba4ec 100644
--- a/e2e/common/traits/container_test.go
+++ b/e2e/common/traits/container_test.go
@@ -28,6 +28,7 @@ import (
 	. "github.com/onsi/gomega"
 
 	corev1 "k8s.io/api/core/v1"
+	"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
 
 	. "github.com/apache/camel-k/v2/e2e/support"
 	v1 "github.com/apache/camel-k/v2/pkg/apis/camel/v1"
@@ -93,6 +94,14 @@ func TestContainerTrait(t *testing.T) {
 			return podContainerName == containerName
 		}), TestTimeoutShort).Should(BeTrue())
 
+		// check integration schema does not contains unwanted default trait value.
+		Eventually(UnstructuredIntegration(ns, name)).ShouldNot(BeNil())
+		unstructuredIntegration := UnstructuredIntegration(ns, name)()
+		containerTrait, _, _ := unstructured.NestedMap(unstructuredIntegration.Object, "spec", "traits", "container")
+		Expect(containerTrait).ToNot(BeNil())
+		Expect(len(containerTrait)).To(Equal(1))
+		Expect(containerTrait["name"]).To(Equal(containerName))
+
 	})
 
 	// Clean-up
diff --git a/e2e/common/traits/deployment_test.go b/e2e/common/traits/deployment_test.go
index 7b9f2e5b4..08a589e5e 100644
--- a/e2e/common/traits/deployment_test.go
+++ b/e2e/common/traits/deployment_test.go
@@ -26,6 +26,7 @@ import (
 	"testing"
 
 	appsv1 "k8s.io/api/apps/v1"
+	"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
 
 	. "github.com/onsi/gomega"
 	. "github.com/onsi/gomega/gstruct"
@@ -40,15 +41,17 @@ func TestRecreateDeploymentStrategyTrait(t *testing.T) {
 	RegisterTestingT(t)
 
 	t.Run("Run with Recreate Deployment Strategy", func(t *testing.T) {
+		name := RandomizedSuffixName("java")
 		Expect(KamelRunWithID(operatorID, ns, "files/Java.java",
+			"--name", name,
 			"-t", "deployment.strategy="+string(appsv1.RecreateDeploymentStrategyType)).
 			Execute()).To(Succeed())
 
-		Eventually(IntegrationPodPhase(ns, "java"), TestTimeoutLong).Should(Equal(corev1.PodRunning))
-		Eventually(IntegrationConditionStatus(ns, "java", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue))
-		Eventually(IntegrationLogs(ns, "java"), TestTimeoutShort).Should(ContainSubstring("Magicstring!"))
+		Eventually(IntegrationPodPhase(ns, name), TestTimeoutLong).Should(Equal(corev1.PodRunning))
+		Eventually(IntegrationConditionStatus(ns, name, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue))
+		Eventually(IntegrationLogs(ns, name), TestTimeoutShort).Should(ContainSubstring("Magicstring!"))
 
-		Eventually(Deployment(ns, "java"), TestTimeoutMedium).Should(PointTo(MatchFields(IgnoreExtras,
+		Eventually(Deployment(ns, name), TestTimeoutMedium).Should(PointTo(MatchFields(IgnoreExtras,
 			Fields{
 				"Spec": MatchFields(IgnoreExtras,
 					Fields{
@@ -60,6 +63,14 @@ func TestRecreateDeploymentStrategyTrait(t *testing.T) {
 			}),
 		))
 
+		// check integration schema does not contains unwanted default trait value.
+		Eventually(UnstructuredIntegration(ns, name)).ShouldNot(BeNil())
+		unstructuredIntegration := UnstructuredIntegration(ns, name)()
+		deploymentTrait, _, _ := unstructured.NestedMap(unstructuredIntegration.Object, "spec", "traits", "deployment")
+		Expect(deploymentTrait).ToNot(BeNil())
+		Expect(len(deploymentTrait)).To(Equal(1))
+		Expect(deploymentTrait["strategy"]).To(Equal(string(appsv1.RecreateDeploymentStrategyType)))
+
 	})
 
 	Expect(Kamel("delete", "--all", "-n", ns).Execute()).To(Succeed())
diff --git a/e2e/common/traits/health_test.go b/e2e/common/traits/health_test.go
index 0d4656b4d..6cbdefb36 100644
--- a/e2e/common/traits/health_test.go
+++ b/e2e/common/traits/health_test.go
@@ -36,6 +36,7 @@ import (
 	. "github.com/onsi/gomega"
 
 	corev1 "k8s.io/api/core/v1"
+	"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
 
 	. "github.com/apache/camel-k/v2/e2e/support"
 	v1 "github.com/apache/camel-k/v2/pkg/apis/camel/v1"
@@ -72,6 +73,14 @@ func TestHealthTrait(t *testing.T) {
 		// Finally check the readiness condition becomes truthy back
 		Eventually(IntegrationConditionStatus(ns, name, v1.IntegrationConditionReady), TestTimeoutMedium).Should(Equal(corev1.ConditionTrue))
 
+		// check integration schema does not contains unwanted default trait value.
+		Eventually(UnstructuredIntegration(ns, name)).ShouldNot(BeNil())
+		unstructuredIntegration := UnstructuredIntegration(ns, name)()
+		healthTrait, _, _ := unstructured.NestedMap(unstructuredIntegration.Object, "spec", "traits", "health")
+		Expect(healthTrait).ToNot(BeNil())
+		Expect(len(healthTrait)).To(Equal(1))
+		Expect(healthTrait["enabled"]).To(Equal(true))
+
 		pods := IntegrationPods(ns, name)()
 
 		for i, pod := range pods {
diff --git a/e2e/common/traits/istio_test.go b/e2e/common/traits/istio_test.go
index c2fcc07b3..5d507c823 100644
--- a/e2e/common/traits/istio_test.go
+++ b/e2e/common/traits/istio_test.go
@@ -28,6 +28,7 @@ import (
 	. "github.com/onsi/gomega"
 
 	corev1 "k8s.io/api/core/v1"
+	"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
 
 	. "github.com/apache/camel-k/v2/e2e/support"
 	v1 "github.com/apache/camel-k/v2/pkg/apis/camel/v1"
@@ -51,6 +52,14 @@ func TestIstioTrait(t *testing.T) {
 		Expect(annotations["sidecar.istio.io/inject"]).To(Equal("true"))
 		Expect(annotations["traffic.sidecar.istio.io/includeOutboundIPRanges"]).To(Equal("10.0.0.0/8,172.16.0.0/12,192.168.0.0/16"))
 
+		// check integration schema does not contains unwanted default trait value.
+		Eventually(UnstructuredIntegration(ns, name)).ShouldNot(BeNil())
+		unstructuredIntegration := UnstructuredIntegration(ns, name)()
+		istioTrait, _, _ := unstructured.NestedMap(unstructuredIntegration.Object, "spec", "traits", "istio")
+		Expect(istioTrait).ToNot(BeNil())
+		Expect(len(istioTrait)).To(Equal(1))
+		Expect(istioTrait["enabled"]).To(Equal(true))
+
 	})
 
 	Expect(Kamel("delete", "--all", "-n", ns).Execute()).To(Succeed())
diff --git a/e2e/common/traits/jolokia_test.go b/e2e/common/traits/jolokia_test.go
index 6145ffc3f..c06e8d53a 100644
--- a/e2e/common/traits/jolokia_test.go
+++ b/e2e/common/traits/jolokia_test.go
@@ -29,6 +29,7 @@ import (
 	. "github.com/onsi/gomega"
 
 	corev1 "k8s.io/api/core/v1"
+	"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
 
 	. "github.com/apache/camel-k/v2/e2e/support"
 	v1 "github.com/apache/camel-k/v2/pkg/apis/camel/v1"
@@ -38,21 +39,34 @@ func TestJolokiaTrait(t *testing.T) {
 	RegisterTestingT(t)
 
 	t.Run("Run Java with Jolokia", func(t *testing.T) {
+		name := RandomizedSuffixName("java")
 		Expect(KamelRunWithID(operatorID, ns, "files/Java.java",
+			"--name", name,
 			"-t", "jolokia.enabled=true",
 			"-t", "jolokia.use-ssl-client-authentication=false",
 			"-t", "jolokia.protocol=http",
 			"-t", "jolokia.extended-client-check=false").Execute()).To(Succeed())
-		Eventually(IntegrationPodPhase(ns, "java"), TestTimeoutLong).Should(Equal(corev1.PodRunning))
-		Eventually(IntegrationConditionStatus(ns, "java", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue))
-		Eventually(IntegrationLogs(ns, "java"), TestTimeoutShort).Should(ContainSubstring("Magicstring!"))
+		Eventually(IntegrationPodPhase(ns, name), TestTimeoutLong).Should(Equal(corev1.PodRunning))
+		Eventually(IntegrationConditionStatus(ns, name, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue))
+		Eventually(IntegrationLogs(ns, name), TestTimeoutShort).Should(ContainSubstring("Magicstring!"))
 
-		pod := IntegrationPod(ns, "java")
+		pod := IntegrationPod(ns, name)
 		response, err := TestClient().CoreV1().RESTClient().Get().
 			AbsPath(fmt.Sprintf("/api/v1/namespaces/%s/pods/%s/proxy/jolokia/", ns, pod().Name)).DoRaw(TestContext)
 		Expect(err).To(BeNil())
 		Expect(response).To(ContainSubstring(`"status":200`))
 
+		// check integration schema does not contains unwanted default trait value.
+		Eventually(UnstructuredIntegration(ns, name)).ShouldNot(BeNil())
+		unstructuredIntegration := UnstructuredIntegration(ns, name)()
+		jolokiaTrait, _, _ := unstructured.NestedMap(unstructuredIntegration.Object, "spec", "traits", "jolokia")
+		Expect(jolokiaTrait).ToNot(BeNil())
+		Expect(len(jolokiaTrait)).To(Equal(4))
+		Expect(jolokiaTrait["enabled"]).To(Equal(true))
+		Expect(jolokiaTrait["useSSLClientAuthentication"]).To(Equal(false))
+		Expect(jolokiaTrait["protocol"]).To(Equal("http"))
+		Expect(jolokiaTrait["extendedClientCheck"]).To(Equal(false))
+
 	})
 
 	Expect(Kamel("delete", "--all", "-n", ns).Execute()).To(Succeed())
diff --git a/e2e/common/traits/jvm_test.go b/e2e/common/traits/jvm_test.go
index 3d8bde71c..395a51705 100644
--- a/e2e/common/traits/jvm_test.go
+++ b/e2e/common/traits/jvm_test.go
@@ -30,6 +30,7 @@ import (
 	"github.com/stretchr/testify/assert"
 
 	corev1 "k8s.io/api/core/v1"
+	"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
 
 	. "github.com/apache/camel-k/v2/e2e/support"
 	v1 "github.com/apache/camel-k/v2/pkg/apis/camel/v1"
@@ -55,6 +56,15 @@ func TestJVMTrait(t *testing.T) {
 		Eventually(IntegrationPodPhase(ns, "classpath"), TestTimeoutLong).Should(Equal(corev1.PodRunning))
 		Eventually(IntegrationConditionStatus(ns, "classpath", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue))
 		Eventually(IntegrationLogs(ns, "classpath"), TestTimeoutShort).Should(ContainSubstring("Hello World!"))
+
+		// check integration schema does not contains unwanted default trait value.
+		Eventually(UnstructuredIntegration(ns, "classpath")).ShouldNot(BeNil())
+		unstructuredIntegration := UnstructuredIntegration(ns, "classpath")()
+		jvmTrait, _, _ := unstructured.NestedMap(unstructuredIntegration.Object, "spec", "traits", "jvm")
+		Expect(jvmTrait).ToNot(BeNil())
+		Expect(len(jvmTrait)).To(Equal(1))
+		Expect(jvmTrait["classpath"]).To(Equal("/etc/camel/resources/my-deps/sample-1.0.jar"))
+
 		Expect(Kamel("delete", "--all", "-n", ns).Execute()).To(Succeed())
 	})
 }
diff --git a/e2e/common/traits/master_test.go b/e2e/common/traits/master_test.go
index fd53aa014..111760b02 100644
--- a/e2e/common/traits/master_test.go
+++ b/e2e/common/traits/master_test.go
@@ -29,6 +29,7 @@ import (
 	. "github.com/onsi/gomega"
 
 	corev1 "k8s.io/api/core/v1"
+	"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
 
 	. "github.com/apache/camel-k/v2/e2e/support"
 )
@@ -44,25 +45,36 @@ func TestMasterTrait(t *testing.T) {
 	})
 
 	t.Run("only one integration with master runs", func(t *testing.T) {
+		nameFirst := RandomizedSuffixName("first")
 		Expect(KamelRunWithID(operatorID, ns, "files/Master.java",
-			"--name", "first",
+			"--name", nameFirst,
 			"--label", "leader-group=same",
 			"-t", "master.label-key=leader-group",
 			"-t", "master.label-value=same",
 			"-t", "owner.target-labels=leader-group").Execute()).To(Succeed())
-		Eventually(IntegrationPodPhase(ns, "first"), TestTimeoutLong).Should(Equal(corev1.PodRunning))
-		Eventually(IntegrationLogs(ns, "first"), TestTimeoutShort).Should(ContainSubstring("Magicstring!"))
+		Eventually(IntegrationPodPhase(ns, nameFirst), TestTimeoutLong).Should(Equal(corev1.PodRunning))
+		Eventually(IntegrationLogs(ns, nameFirst), TestTimeoutShort).Should(ContainSubstring("Magicstring!"))
 		// Start a second integration with the same lock (it should not start the route)
+		nameSecond := RandomizedSuffixName("second")
 		Expect(KamelRunWithID(operatorID, ns, "files/Master.java",
-			"--name", "second",
+			"--name", nameSecond,
 			"--label", "leader-group=same",
 			"-t", "master.label-key=leader-group",
 			"-t", "master.label-value=same",
 			"-t", "master.resource-name=first-lock",
 			"-t", "owner.target-labels=leader-group").Execute()).To(Succeed())
-		Eventually(IntegrationPodPhase(ns, "second"), TestTimeoutLong).Should(Equal(corev1.PodRunning))
-		Eventually(IntegrationLogs(ns, "second"), TestTimeoutShort).Should(ContainSubstring("started in"))
-		Eventually(IntegrationLogs(ns, "second"), 30*time.Second).ShouldNot(ContainSubstring("Magicstring!"))
+		Eventually(IntegrationPodPhase(ns, nameSecond), TestTimeoutLong).Should(Equal(corev1.PodRunning))
+		Eventually(IntegrationLogs(ns, nameSecond), TestTimeoutShort).Should(ContainSubstring("started in"))
+		Eventually(IntegrationLogs(ns, nameSecond), 30*time.Second).ShouldNot(ContainSubstring("Magicstring!"))
+
+		// check integration schema does not contains unwanted default trait value.
+		Eventually(UnstructuredIntegration(ns, nameFirst)).ShouldNot(BeNil())
+		unstructuredIntegration := UnstructuredIntegration(ns, nameFirst)()
+		builderTrait, _, _ := unstructured.NestedMap(unstructuredIntegration.Object, "spec", "traits", "addons", "master")
+		Expect(builderTrait).ToNot(BeNil())
+		Expect(len(builderTrait)).To(Equal(2))
+		Expect(builderTrait["labelKey"]).To(Equal("leader-group"))
+		Expect(builderTrait["labelValue"]).To(Equal("same"))
 	})
 
 	Expect(Kamel("delete", "--all", "-n", ns).Execute()).To(Succeed())
diff --git a/e2e/common/traits/pdb_test.go b/e2e/common/traits/pdb_test.go
index cc3b038c8..7c43e1ff7 100644
--- a/e2e/common/traits/pdb_test.go
+++ b/e2e/common/traits/pdb_test.go
@@ -33,6 +33,7 @@ import (
 	policyv1 "k8s.io/api/policy/v1"
 	k8serrors "k8s.io/apimachinery/pkg/api/errors"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+	"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
 	"k8s.io/apimachinery/pkg/util/intstr"
 
 	ctrl "sigs.k8s.io/controller-runtime/pkg/client"
@@ -55,6 +56,15 @@ func TestPodDisruptionBudgetTrait(t *testing.T) {
 	Eventually(IntegrationConditionStatus(ns, name, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue))
 	Eventually(IntegrationLogs(ns, name), TestTimeoutShort).Should(ContainSubstring("Magicstring!"))
 
+	// check integration schema does not contains unwanted default trait value.
+	Eventually(UnstructuredIntegration(ns, name)).ShouldNot(BeNil())
+	unstructuredIntegration := UnstructuredIntegration(ns, name)()
+	pdbTrait, _, _ := unstructured.NestedMap(unstructuredIntegration.Object, "spec", "traits", "pdb")
+	Expect(pdbTrait).ToNot(BeNil())
+	Expect(len(pdbTrait)).To(Equal(2))
+	Expect(pdbTrait["enabled"]).To(Equal(true))
+	Expect(pdbTrait["minAvailable"]).To(Equal("2"))
+
 	// Check PodDisruptionBudget
 	Eventually(podDisruptionBudget(ns, name), TestTimeoutShort).ShouldNot(BeNil())
 	pdb := podDisruptionBudget(ns, name)()
diff --git a/e2e/common/traits/prometheus_test.go b/e2e/common/traits/prometheus_test.go
index 7a63772c7..1a40ddab7 100644
--- a/e2e/common/traits/prometheus_test.go
+++ b/e2e/common/traits/prometheus_test.go
@@ -31,6 +31,7 @@ import (
 
 	corev1 "k8s.io/api/core/v1"
 	k8serrors "k8s.io/apimachinery/pkg/api/errors"
+	"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
 
 	ctrl "sigs.k8s.io/controller-runtime/pkg/client"
 
@@ -55,6 +56,14 @@ func TestPrometheusTrait(t *testing.T) {
 	Eventually(IntegrationConditionStatus(ns, "java", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue))
 	Eventually(IntegrationLogs(ns, "java"), TestTimeoutShort).Should(ContainSubstring("Magicstring!"))
 
+	// check integration schema does not contains unwanted default trait value.
+	Eventually(UnstructuredIntegration(ns, "java")).ShouldNot(BeNil())
+	unstructuredIntegration := UnstructuredIntegration(ns, "java")()
+	prometheusTrait, _, _ := unstructured.NestedMap(unstructuredIntegration.Object, "spec", "traits", "prometheus")
+	Expect(prometheusTrait).ToNot(BeNil())
+	Expect(len(prometheusTrait)).To(Equal(2))
+	Expect(prometheusTrait["enabled"]).To(Equal(true))
+	Expect(prometheusTrait["podMonitor"]).ToNot(BeNil())
 	t.Run("Metrics endpoint works", func(t *testing.T) {
 		pod := IntegrationPod(ns, "java")
 		response, err := TestClient().CoreV1().RESTClient().Get().
diff --git a/e2e/common/traits/pull_secret_test.go b/e2e/common/traits/pull_secret_test.go
index eab6d7c83..ade72f144 100644
--- a/e2e/common/traits/pull_secret_test.go
+++ b/e2e/common/traits/pull_secret_test.go
@@ -28,6 +28,7 @@ import (
 	. "github.com/onsi/gomega"
 
 	corev1 "k8s.io/api/core/v1"
+	"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
 
 	. "github.com/apache/camel-k/v2/e2e/support"
 	v1 "github.com/apache/camel-k/v2/pkg/apis/camel/v1"
@@ -61,6 +62,14 @@ func TestPullSecretTrait(t *testing.T) {
 		Eventually(IntegrationConditionStatus(ns, name, v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue))
 		Eventually(IntegrationLogs(ns, name), TestTimeoutShort).Should(ContainSubstring("Magicstring!"))
 
+		// check integration schema does not contains unwanted default trait value.
+		Eventually(UnstructuredIntegration(ns, name)).ShouldNot(BeNil())
+		unstructuredIntegration := UnstructuredIntegration(ns, name)()
+		pullSecretTrait, _, _ := unstructured.NestedMap(unstructuredIntegration.Object, "spec", "traits", "pull-secret")
+		Expect(pullSecretTrait).ToNot(BeNil())
+		Expect(len(pullSecretTrait)).To(Equal(1))
+		Expect(pullSecretTrait["enabled"]).To(Equal(false))
+
 		pod := IntegrationPod(ns, name)()
 		if ocp {
 			// OpenShift `default` service account has imagePullSecrets so it's always set
diff --git a/e2e/common/traits/route_test.go b/e2e/common/traits/route_test.go
index ee90e16ac..a06b03bbb 100644
--- a/e2e/common/traits/route_test.go
+++ b/e2e/common/traits/route_test.go
@@ -41,6 +41,7 @@ import (
 
 	corev1 "k8s.io/api/core/v1"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+	"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
 
 	. "github.com/apache/camel-k/v2/e2e/support"
 	"github.com/apache/camel-k/v2/pkg/util"
@@ -211,6 +212,15 @@ func TestRunRoutes(t *testing.T) {
 		time.Sleep(waitBeforeHttpRequest)
 		var annotations = route.ObjectMeta.Annotations
 		Expect(annotations["haproxy.router.openshift.io/balance"]).To(Equal("roundrobin"))
+
+		// check integration schema does not contains unwanted default trait value.
+		Eventually(UnstructuredIntegration(ns, integrationName)).ShouldNot(BeNil())
+		unstructuredIntegration := UnstructuredIntegration(ns, integrationName)()
+		routeTrait, _, _ := unstructured.NestedMap(unstructuredIntegration.Object, "spec", "traits", "route")
+		Expect(routeTrait).ToNot(BeNil())
+		Expect(len(routeTrait)).To(Equal(1))
+		Expect(routeTrait["enabled"]).To(Equal(true))
+
 		Expect(Kamel("delete", "--all", "-n", ns).Execute()).Should(BeNil())
 	})
 	Expect(TestClient().Delete(TestContext, &secret)).To(Succeed())
diff --git a/e2e/common/traits/service_test.go b/e2e/common/traits/service_test.go
index 401eeb842..8b5e5f168 100644
--- a/e2e/common/traits/service_test.go
+++ b/e2e/common/traits/service_test.go
@@ -28,6 +28,7 @@ import (
 	. "github.com/onsi/gomega"
 
 	corev1 "k8s.io/api/core/v1"
+	"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
 
 	. "github.com/apache/camel-k/v2/e2e/support"
 )
@@ -91,6 +92,15 @@ func TestServiceTrait(t *testing.T) {
 		//
 		Eventually(ServicesByType(ns, corev1.ServiceTypeClusterIP), TestTimeoutLong).ShouldNot(BeEmpty())
 
+		// check integration schema does not contains unwanted default trait value.
+		Eventually(UnstructuredIntegration(ns, "platform-http-server")).ShouldNot(BeNil())
+		unstructuredIntegration := UnstructuredIntegration(ns, "platform-http-server")()
+		serviceTrait, _, _ := unstructured.NestedMap(unstructuredIntegration.Object, "spec", "traits", "service")
+		Expect(serviceTrait).ToNot(BeNil())
+		Expect(len(serviceTrait)).To(Equal(2))
+		Expect(serviceTrait["enabled"]).To(Equal(true))
+		Expect(serviceTrait["type"]).To(Equal("ClusterIP"))
+
 		Expect(Kamel("delete", "--all", "-n", ns).Execute()).To(Succeed())
 	})
 
diff --git a/e2e/commonwithcustominstall/environment_test.go b/e2e/commonwithcustominstall/environment_test.go
index 469ecbc36..3b8f13c5d 100644
--- a/e2e/commonwithcustominstall/environment_test.go
+++ b/e2e/commonwithcustominstall/environment_test.go
@@ -31,6 +31,7 @@ import (
 	. "github.com/onsi/gomega"
 
 	corev1 "k8s.io/api/core/v1"
+	"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
 
 	. "github.com/apache/camel-k/v2/e2e/support"
 	v1 "github.com/apache/camel-k/v2/pkg/apis/camel/v1"
@@ -151,6 +152,14 @@ func TestEnvironmentTrait(t *testing.T) {
 				Not(ContainElement(corev1.EnvVar{Name: "HTTP_PROXY", Value: httpProxy})),
 				Not(ContainElement(corev1.EnvVar{Name: "NO_PROXY", Value: strings.Join(noProxy, ",")})),
 			)))
+
+			// check integration schema does not contains unwanted default trait value.
+			Eventually(UnstructuredIntegration(ns, name)).ShouldNot(BeNil())
+			unstructuredIntegration := UnstructuredIntegration(ns, name)()
+			envTrait, _, _ := unstructured.NestedMap(unstructuredIntegration.Object, "spec", "traits", "environment")
+			Expect(envTrait).ToNot(BeNil())
+			Expect(len(envTrait)).To(Equal(1))
+			Expect(envTrait["httpProxy"]).To(Equal(false))
 		})
 
 		Expect(Kamel("delete", "--all", "-n", ns).Execute()).To(Succeed())
diff --git a/e2e/native/native_test.go b/e2e/native/native_test.go
index 88b5916df..b4d0cc8b6 100644
--- a/e2e/native/native_test.go
+++ b/e2e/native/native_test.go
@@ -28,6 +28,7 @@ import (
 	. "github.com/onsi/gomega"
 
 	corev1 "k8s.io/api/core/v1"
+	"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
 
 	. "github.com/apache/camel-k/v2/e2e/support"
 	v1 "github.com/apache/camel-k/v2/pkg/apis/camel/v1"
@@ -53,7 +54,15 @@ func TestNativeIntegrations(t *testing.T) {
 			Eventually(IntegrationConditionStatus(ns, name, v1.IntegrationConditionKitAvailable)).
 				Should(Equal(corev1.ConditionFalse))
 
-				// Clean up
+			// check integration schema does not contains unwanted default trait value.
+			Eventually(UnstructuredIntegration(ns, name)).ShouldNot(BeNil())
+			unstructuredIntegration := UnstructuredIntegration(ns, name)()
+			quarkusTrait, _, _ := unstructured.NestedMap(unstructuredIntegration.Object, "spec", "traits", "quarkus")
+			Expect(quarkusTrait).ToNot(BeNil())
+			Expect(len(quarkusTrait)).To(Equal(1))
+			Expect(quarkusTrait["buildMode"]).ToNot(BeNil())
+
+			// Clean up
 			Expect(Kamel("delete", name, "-n", ns).Execute()).To(Succeed())
 		})
 
diff --git a/e2e/support/test_support.go b/e2e/support/test_support.go
index 2743b050c..3e2faf2c7 100644
--- a/e2e/support/test_support.go
+++ b/e2e/support/test_support.go
@@ -54,6 +54,7 @@ import (
 	rbacv1 "k8s.io/api/rbac/v1"
 	k8serrors "k8s.io/apimachinery/pkg/api/errors"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+	"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
 	"k8s.io/apimachinery/pkg/labels"
 	"k8s.io/apimachinery/pkg/runtime/schema"
 	"k8s.io/apimachinery/pkg/runtime/serializer"
@@ -1020,6 +1021,28 @@ func Integration(ns string, name string) func() *v1.Integration {
 	}
 }
 
+func UnstructuredIntegration(ns string, name string) func() *unstructured.Unstructured {
+	return func() *unstructured.Unstructured {
+		gvk := schema.GroupVersionKind{Group: v1.SchemeGroupVersion.Group, Version: v1.SchemeGroupVersion.Version, Kind: v1.IntegrationKind}
+		return UnstructuredObject(ns, name, gvk)()
+	}
+}
+
+func UnstructuredObject(ns string, name string, gvk schema.GroupVersionKind) func() *unstructured.Unstructured {
+	return func() *unstructured.Unstructured {
+		object := &unstructured.Unstructured{}
+		object.SetNamespace(ns)
+		object.SetName(name)
+		object.SetGroupVersionKind(gvk)
+		if err := TestClient().Get(TestContext, ctrl.ObjectKeyFromObject(object), object); err != nil && !k8serrors.IsNotFound(err) {
+			failTest(err)
+		} else if err != nil && k8serrors.IsNotFound(err) {
+			return nil
+		}
+		return object
+	}
+}
+
 func IntegrationVersion(ns string, name string) func() string {
 	return func() string {
 		it := Integration(ns, name)()
diff --git a/e2e/support/test_util.go b/e2e/support/test_util.go
index 88842a85d..61fbc3f2f 100644
--- a/e2e/support/test_util.go
+++ b/e2e/support/test_util.go
@@ -76,9 +76,7 @@ func ExpectExecSucceed(t *testing.T, command *exec.Cmd) {
 	assert.NotContains(t, strings.ToUpper(cmdErr.String()), "ERROR")
 }
 
-//
 // Expect a command error with an exit code of 1
-//
 func ExpectExecError(t *testing.T, command *exec.Cmd) {
 	t.Helper()
 
diff --git a/e2e/telemetry/telemetry_test.go b/e2e/telemetry/telemetry_test.go
index 0d772e7bc..b32730092 100644
--- a/e2e/telemetry/telemetry_test.go
+++ b/e2e/telemetry/telemetry_test.go
@@ -29,6 +29,7 @@ import (
 	. "github.com/onsi/gomega"
 
 	corev1 "k8s.io/api/core/v1"
+	"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
 
 	. "github.com/apache/camel-k/v2/e2e/support"
 )
@@ -67,6 +68,15 @@ func TestTelemetryTrait(t *testing.T) {
 		Eventually(TailedLogs(pod.Namespace, pod.Name, 100), TestTimeoutLong).Should(ContainSubstring(fmt.Sprintf("http.target: Str(/customers/%s)", name)))
 		Eventually(TailedLogs(pod.Namespace, pod.Name, 100), TestTimeoutLong).Should(ContainSubstring(fmt.Sprintf("http.url: Str(http://rest-consumer/customers/%s)", name)))
 
+		// check integration schema does not contains unwanted default trait value.
+		Eventually(UnstructuredIntegration(ns, "rest-consumer")).ShouldNot(BeNil())
+		unstructuredIntegration := UnstructuredIntegration(ns, "rest-consumer")()
+		builderTrait, _, _ := unstructured.NestedMap(unstructuredIntegration.Object, "spec", "traits", "addons", "telemetry")
+		Expect(builderTrait).NotTo(BeNil())
+		Expect(len(builderTrait)).To(Equal(2))
+		Expect(builderTrait["enabled"]).To(Equal(true))
+		Expect(builderTrait["endpoint"]).To(Equal("http://opentelemetrycollector.otlp.svc.cluster.local:4317"))
+
 		// Clean up
 		Expect(Kamel("delete", "--all", "-n", ns).Execute()).To(Succeed())
 	})


(camel-k) 01/02: fix(crd): Revert default values in CRD definition

Posted by pc...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit fc2f6d4dc38afaa2c26e4e709bb9b41ba8f3aa19
Author: Gaelle Fournier <ga...@gmail.com>
AuthorDate: Mon Jan 15 14:33:49 2024 +0100

    fix(crd): Revert default values in CRD definition
    
    Partial revert 8c12c2c2cc3c038c091e381f1ca61fc6c3521b8c : remove `+kubebuilder:default` flags
---
 addons/master/master.go                            |  3 -
 addons/telemetry/telemetry.go                      |  3 -
 addons/threescale/3scale.go                        |  4 -
 addons/tracing/tracing.go                          |  3 -
 .../bases/camel.apache.org_integrationkits.yaml    |  6 --
 .../camel.apache.org_integrationplatforms.yaml     | 86 ----------------------
 .../crd/bases/camel.apache.org_integrations.yaml   | 43 -----------
 .../bases/camel.apache.org_kameletbindings.yaml    | 43 -----------
 config/crd/bases/camel.apache.org_pipes.yaml       | 43 -----------
 helm/camel-k/crds/crd-integration-kit.yaml         |  6 --
 helm/camel-k/crds/crd-integration-platform.yaml    | 86 ----------------------
 helm/camel-k/crds/crd-integration.yaml             | 43 -----------
 helm/camel-k/crds/crd-kamelet-binding.yaml         | 43 -----------
 helm/camel-k/crds/crd-pipe.yaml                    | 43 -----------
 pkg/apis/camel/v1/trait/affinity.go                |  2 -
 pkg/apis/camel/v1/trait/builder.go                 |  3 -
 pkg/apis/camel/v1/trait/container.go               |  4 -
 pkg/apis/camel/v1/trait/cron.go                    |  2 -
 pkg/apis/camel/v1/trait/deployer.go                |  1 -
 pkg/apis/camel/v1/trait/deployment.go              |  3 -
 pkg/apis/camel/v1/trait/environment.go             |  2 -
 pkg/apis/camel/v1/trait/gc.go                      |  1 -
 pkg/apis/camel/v1/trait/health.go                  |  6 --
 pkg/apis/camel/v1/trait/ingress.go                 |  2 -
 pkg/apis/camel/v1/trait/istio.go                   |  1 -
 pkg/apis/camel/v1/trait/jolokia.go                 |  3 -
 pkg/apis/camel/v1/trait/jvm.go                     |  2 -
 pkg/apis/camel/v1/trait/kamelets.go                |  2 -
 pkg/apis/camel/v1/trait/knative.go                 |  1 -
 pkg/apis/camel/v1/trait/logging.go                 |  1 -
 pkg/apis/camel/v1/trait/mount.go                   |  1 -
 pkg/apis/camel/v1/trait/platform.go                |  1 -
 pkg/apis/camel/v1/trait/prometheus.go              |  1 -
 pkg/apis/camel/v1/trait/quarkus.go                 |  2 -
 pkg/apis/camel/v1/trait/service.go                 |  1 -
 35 files changed, 497 deletions(-)

diff --git a/addons/master/master.go b/addons/master/master.go
index 2f2c83758..e2002e806 100644
--- a/addons/master/master.go
+++ b/addons/master/master.go
@@ -50,16 +50,13 @@ type Trait struct {
 	// When this flag is active, the operator analyzes the source code to add dependencies required by delegate endpoints.
 	// E.g. when using `master:lockname:timer`, then `camel:timer` is automatically added to the set of dependencies.
 	// It's enabled by default.
-	// +kubebuilder:default=true
 	IncludeDelegateDependencies *bool `property:"include-delegate-dependencies" json:"includeDelegateDependencies,omitempty"`
 	// Name of the configmap that will be used to store the lock. Defaults to "<integration-name>-lock".
 	// Name of the configmap/lease resource that will be used to store the lock. Defaults to "<integration-name>-lock".
 	ResourceName *string `property:"resource-name" json:"resourceName,omitempty"`
 	// Type of Kubernetes resource to use for locking ("ConfigMap" or "Lease"). Defaults to "Lease".
-	// +kubebuilder:default="Lease"
 	ResourceType *string `property:"resource-type" json:"resourceType,omitempty"`
 	// Label that will be used to identify all pods contending the lock. Defaults to "camel.apache.org/integration".
-	// +kubebuilder:default="camel.apache.org/integration"
 	LabelKey *string `property:"label-key" json:"labelKey,omitempty"`
 	// Label value that will be used to identify all pods contending the lock. Defaults to the integration name.
 	LabelValue *string `property:"label-value" json:"labelValue,omitempty"`
diff --git a/addons/telemetry/telemetry.go b/addons/telemetry/telemetry.go
index c5c08eacf..a3975bd04 100644
--- a/addons/telemetry/telemetry.go
+++ b/addons/telemetry/telemetry.go
@@ -41,19 +41,16 @@ import (
 type Trait struct {
 	traitv1.Trait `property:",squash" json:",inline"`
 	// Enables automatic configuration of the trait, including automatic discovery of the telemetry endpoint.
-	// +kubebuilder:default=true
 	Auto *bool `property:"auto" json:"auto,omitempty"`
 	// The name of the service that publishes telemetry data (defaults to the integration name)
 	ServiceName string `property:"service-name" json:"serviceName,omitempty"`
 	// The target endpoint of the Telemetry service (automatically discovered by default)
 	Endpoint string `property:"endpoint" json:"endpoint,omitempty"`
 	// The sampler of the telemetry used for tracing (default "on")
-	// +kubebuilder:default="on"
 	Sampler string `property:"sampler" json:"sampler,omitempty"`
 	// The sampler ratio of the telemetry used for tracing
 	SamplerRatio string `property:"sampler-ratio" json:"sampler-ratio,omitempty"`
 	// The sampler of the telemetry used for tracing is parent based (default "true")
-	// +kubebuilder:default=true
 	SamplerParentBased *bool `property:"sampler-parent-based" json:"sampler-parent-based,omitempty"`
 }
 
diff --git a/addons/threescale/3scale.go b/addons/threescale/3scale.go
index 677645f8e..2bab8ea21 100644
--- a/addons/threescale/3scale.go
+++ b/addons/threescale/3scale.go
@@ -39,16 +39,12 @@ type Trait struct {
 	// Enables automatic configuration of the trait.
 	Auto *bool `property:"auto" json:"auto,omitempty"`
 	// The scheme to use to contact the service (default `http`)
-	// +kubebuilder:default="http"
 	Scheme string `property:"scheme" json:"scheme,omitempty"`
 	// The path where the API is published (default `/`)
-	// +kubebuilder:default="/"
 	Path string `property:"path" json:"path,omitempty"`
 	// The port where the service is exposed (default `80`)
-	// +kubebuilder:default=80
 	Port int `property:"port" json:"port,omitempty"`
 	// The path where the Open-API specification is published (default `/openapi.json`)
-	// +kubebuilder:default="/openapi.json"
 	DescriptionPath *string `property:"description-path" json:"descriptionPath,omitempty"`
 }
 
diff --git a/addons/tracing/tracing.go b/addons/tracing/tracing.go
index d28ac0489..0cf3852e0 100644
--- a/addons/tracing/tracing.go
+++ b/addons/tracing/tracing.go
@@ -41,17 +41,14 @@ import (
 type Trait struct {
 	traitv1.Trait `property:",squash" json:",inline"`
 	// Enables automatic configuration of the trait, including automatic discovery of the tracing endpoint.
-	// +kubebuilder:default=true
 	Auto *bool `property:"auto" json:"auto,omitempty"`
 	// The name of the service that publishes tracing data (defaults to the integration name)
 	ServiceName string `property:"service-name" json:"serviceName,omitempty"`
 	// The target endpoint of the OpenTracing service (automatically discovered by default)
 	Endpoint string `property:"endpoint" json:"endpoint,omitempty"`
 	// The sampler type (default "const")
-	// +kubebuilder:default="const"
 	SamplerType *string `property:"sampler-type" json:"samplerType,omitempty"`
 	// The sampler specific param (default "1")
-	// +kubebuilder:default="1"
 	SamplerParam *string `property:"sampler-param" json:"samplerParam,omitempty"`
 }
 
diff --git a/config/crd/bases/camel.apache.org_integrationkits.yaml b/config/crd/bases/camel.apache.org_integrationkits.yaml
index da6585701..13a8e5802 100644
--- a/config/crd/bases/camel.apache.org_integrationkits.yaml
+++ b/config/crd/bases/camel.apache.org_integrationkits.yaml
@@ -213,7 +213,6 @@ spec:
                         description: 'Deprecated: no longer in use.'
                         type: boolean
                       incrementalImageBuild:
-                        default: true
                         description: Use the incremental image build option, to reuse
                           existing containers (default `true`)
                         type: boolean
@@ -246,7 +245,6 @@ spec:
                           to be scheduled on, based on labels on the node.
                         type: object
                       orderStrategy:
-                        default: sequential
                         description: The build order strategy to use, either `dependencies`,
                           `fifo` or `sequential` (default `sequential`)
                         enum:
@@ -271,7 +269,6 @@ spec:
                           instead with task name `builder`.'
                         type: string
                       strategy:
-                        default: routine
                         description: The strategy to use, either `pod` or `routine`
                           (default `routine`)
                         enum:
@@ -351,8 +348,6 @@ spec:
                       build must have enough memory available.'
                     properties:
                       buildMode:
-                        default:
-                        - jvm
                         description: 'The Quarkus mode to run: either `jvm` or `native`
                           (default `jvm`). In case both `jvm` and `native` are specified,
                           two `IntegrationKit` resources are created, with the `native`
@@ -373,7 +368,6 @@ spec:
                         description: 'Deprecated: no longer in use.'
                         type: boolean
                       nativeBaseImage:
-                        default: quay.io/quarkus/quarkus-micro-image:2.0
                         description: The base image to use when running a native build
                           (default `quay.io/quarkus/quarkus-micro-image:2.0`)
                         type: string
diff --git a/config/crd/bases/camel.apache.org_integrationplatforms.yaml b/config/crd/bases/camel.apache.org_integrationplatforms.yaml
index 55e738b24..3afa3fd0f 100644
--- a/config/crd/bases/camel.apache.org_integrationplatforms.yaml
+++ b/config/crd/bases/camel.apache.org_integrationplatforms.yaml
@@ -479,7 +479,6 @@ spec:
                           type: string
                         type: array
                       podAffinity:
-                        default: false
                         description: Always co-locates multiple replicas of the integration
                           in the same node (default `false`).
                         type: boolean
@@ -491,7 +490,6 @@ spec:
                           type: string
                         type: array
                       podAntiAffinity:
-                        default: false
                         description: Never co-locates multiple replicas of the integration
                           in the same node (default `false`).
                         type: boolean
@@ -518,7 +516,6 @@ spec:
                         description: 'Deprecated: no longer in use.'
                         type: boolean
                       incrementalImageBuild:
-                        default: true
                         description: Use the incremental image build option, to reuse
                           existing containers (default `true`)
                         type: boolean
@@ -551,7 +548,6 @@ spec:
                           to be scheduled on, based on labels on the node.
                         type: object
                       orderStrategy:
-                        default: sequential
                         description: The build order strategy to use, either `dependencies`,
                           `fifo` or `sequential` (default `sequential`)
                         enum:
@@ -576,7 +572,6 @@ spec:
                           instead with task name `builder`.'
                         type: string
                       strategy:
-                        default: routine
                         description: The strategy to use, either `pod` or `routine`
                           (default `routine`)
                         enum:
@@ -684,12 +679,10 @@ spec:
                         description: The maximum amount of memory required.
                         type: string
                       name:
-                        default: integration
                         description: The main container name. It's named `integration`
                           by default.
                         type: string
                       port:
-                        default: 8080
                         description: To configure a different port exposed by the
                           container (default `8080`).
                         type: integer
@@ -705,12 +698,10 @@ spec:
                         description: The minimum amount of memory required.
                         type: string
                       servicePort:
-                        default: 80
                         description: To configure under which service port the container
                           port is to be exposed (default `80`).
                         type: integer
                       servicePortName:
-                        default: http
                         description: To configure under which service port name the
                           container port is to be exposed (default `http`).
                         type: string
@@ -719,7 +710,6 @@ spec:
                     description: The configuration of Cron trait
                     properties:
                       activeDeadlineSeconds:
-                        default: 60
                         description: Specifies the duration in seconds, relative to
                           the start time, that the job may be continuously active
                           before it is considered to be failed. It defaults to 60s.
@@ -735,7 +725,6 @@ spec:
                           be expressed as `0/1 * * * *`, while `35m` or `50s` cannot)."
                         type: boolean
                       backoffLimit:
-                        default: 2
                         description: Specifies the number of retries before marking
                           the job failed. It defaults to 2.
                         format: int32
@@ -821,7 +810,6 @@ spec:
                         - knative-service
                         type: string
                       useSSA:
-                        default: true
                         description: Use server-side apply to update the owned resources
                           (default `true`). Note that it automatically falls back
                           to client-side patching, if SSA is not available, e.g.,
@@ -840,14 +828,12 @@ spec:
                         description: 'Deprecated: no longer in use.'
                         type: boolean
                       progressDeadlineSeconds:
-                        default: 60
                         description: The maximum time in seconds for the deployment
                           to make progress before it is considered to be failed. It
                           defaults to `60s`.
                         format: int32
                         type: integer
                       rollingUpdateMaxSurge:
-                        default: 25
                         description: 'The maximum number of pods that can be scheduled
                           above the desired number of pods. Value can be an absolute
                           number (ex: 5) or a percentage of desired pods (ex: 10%).
@@ -856,7 +842,6 @@ spec:
                           `25%`.'
                         type: integer
                       rollingUpdateMaxUnavailable:
-                        default: 25
                         description: 'The maximum number of pods that can be unavailable
                           during the update. Value can be an absolute number (ex:
                           5) or a percentage of desired pods (ex: 10%). Absolute number
@@ -880,7 +865,6 @@ spec:
                         type: object
                         x-kubernetes-preserve-unknown-fields: true
                       containerMeta:
-                        default: true
                         description: Enables injection of `NAMESPACE` and `POD_NAME`
                           environment variables (default `true`)
                         type: boolean
@@ -888,7 +872,6 @@ spec:
                         description: 'Deprecated: no longer in use.'
                         type: boolean
                       httpProxy:
-                        default: true
                         description: Propagates the `HTTP_PROXY`, `HTTPS_PROXY` and
                           `NO_PROXY` environment variables (default `true`)
                         type: boolean
@@ -926,7 +909,6 @@ spec:
                         type: object
                         x-kubernetes-preserve-unknown-fields: true
                       discoveryCache:
-                        default: memory
                         description: 'Discovery client cache to be used, either `disabled`,
                           `disk` or `memory` (default `memory`). Deprecated: to be
                           removed from trait configuration.'
@@ -967,12 +949,10 @@ spec:
                         format: int32
                         type: integer
                       livenessProbeEnabled:
-                        default: false
                         description: Configures the liveness probe for the integration
                           container (default `false`).
                         type: boolean
                       livenessScheme:
-                        default: HTTP
                         description: Scheme to use when connecting to the liveness
                           probe (default `HTTP`).
                         type: string
@@ -1001,12 +981,10 @@ spec:
                         format: int32
                         type: integer
                       readinessProbeEnabled:
-                        default: true
                         description: Configures the readiness probe for the integration
                           container (default `true`).
                         type: boolean
                       readinessScheme:
-                        default: HTTP
                         description: Scheme to use when connecting to the readiness
                           probe (default `HTTP`).
                         type: string
@@ -1035,12 +1013,10 @@ spec:
                         format: int32
                         type: integer
                       startupProbeEnabled:
-                        default: false
                         description: Configures the startup probe for the integration
                           container (default `false`).
                         type: boolean
                       startupScheme:
-                        default: HTTP
                         description: Scheme to use when connecting to the startup
                           probe (default `HTTP`).
                         type: string
@@ -1082,12 +1058,10 @@ spec:
                         description: To configure the host exposed by the ingress.
                         type: string
                       path:
-                        default: /
                         description: To configure the path exposed by the ingress
                           (default `/`).
                         type: string
                       pathType:
-                        default: Prefix
                         description: To configure the path type exposed by the ingress.
                           One of `Exact`, `Prefix`, `ImplementationSpecific` (default
                           to `Prefix`).
@@ -1101,7 +1075,6 @@ spec:
                     description: The configuration of Istio trait
                     properties:
                       allow:
-                        default: 10.0.0.0/8,172.16.0.0/12,192.168.0.0/16
                         description: Configures a (comma-separated) list of CIDR subnets
                           that should not be intercepted by the Istio proxy (`10.0.0.0/8,172.16.0.0/12,192.168.0.0/16`
                           by default).
@@ -1147,7 +1120,6 @@ spec:
                         type: object
                         x-kubernetes-preserve-unknown-fields: true
                       discoveryEnabled:
-                        default: false
                         description: Listen for multicast requests (default `false`)
                         type: boolean
                       enabled:
@@ -1161,7 +1133,6 @@ spec:
                           is `true` (default `true` for OpenShift).
                         type: boolean
                       host:
-                        default: '*'
                         description: The Host address to which the Jolokia agent should
                           bind to. If `"\*"` or `"0.0.0.0"` is given, the servers
                           binds to every network interface (default `"*"`).
@@ -1178,7 +1149,6 @@ spec:
                           when the `user` option is set.
                         type: string
                       port:
-                        default: 8778
                         description: The Jolokia endpoint port (default `8778`).
                         type: integer
                       protocol:
@@ -1210,7 +1180,6 @@ spec:
                           can be attached to the JVM, e.g., using port-forwarding
                         type: boolean
                       debugAddress:
-                        default: '*:5005'
                         description: Transport address at which to listen for the
                           newly launched JVM (default `*:5005`)
                         type: string
@@ -1228,7 +1197,6 @@ spec:
                           type: string
                         type: array
                       printCommand:
-                        default: true
                         description: Prints the command used the start the JVM in
                           the container logs (default `true`)
                         type: boolean
@@ -1237,7 +1205,6 @@ spec:
                     description: The configuration of Kamelets trait
                     properties:
                       auto:
-                        default: true
                         description: Automatically inject all referenced Kamelets
                           and their default configuration (enabled by default)
                         type: boolean
@@ -1255,7 +1222,6 @@ spec:
                           into the current integration
                         type: string
                       mountPoint:
-                        default: /etc/camel/kamelets
                         description: The directory where the application mounts and
                           reads Kamelet spec (default `/etc/camel/kamelets`)
                         type: string
@@ -1334,7 +1300,6 @@ spec:
                           in newer versions of Knative, filtering is disabled by default.
                         type: boolean
                       namespaceLabel:
-                        default: true
                         description: 'Enables the camel-k-operator to set the "bindings.knative.dev/include=true"
                           label to the namespace As Knative requires this label to
                           perform injection of K_SINK URL into the service. If this
@@ -1447,7 +1412,6 @@ spec:
                         description: Enable "pretty printing" of the JSON logs
                         type: boolean
                       level:
-                        default: INFO
                         description: Adjust the logging level (defaults to `INFO`)
                         enum:
                         - FATAL
@@ -1491,7 +1455,6 @@ spec:
                         description: 'Deprecated: no longer in use.'
                         type: boolean
                       hotReload:
-                        default: false
                         description: Enable "hot reload" when a secret/configmap mounted
                           is edited (default `false`)
                         type: boolean
@@ -1601,7 +1564,6 @@ spec:
                         description: 'Deprecated: no longer in use.'
                         type: boolean
                       global:
-                        default: true
                         description: Indicates if the platform should be created globally
                           in the case of global operator (default true).
                         type: boolean
@@ -1632,7 +1594,6 @@ spec:
                           traits share this common property.
                         type: boolean
                       podMonitor:
-                        default: true
                         description: Whether a `PodMonitor` resource is created (default
                           `true`).
                         type: boolean
@@ -1675,8 +1636,6 @@ spec:
                     description: The configuration of Quarkus trait
                     properties:
                       buildMode:
-                        default:
-                        - jvm
                         description: 'The Quarkus mode to run: either `jvm` or `native`
                           (default `jvm`). In case both `jvm` and `native` are specified,
                           two `IntegrationKit` resources are created, with the `native`
@@ -1697,7 +1656,6 @@ spec:
                         description: 'Deprecated: no longer in use.'
                         type: boolean
                       nativeBaseImage:
-                        default: quay.io/quarkus/quarkus-micro-image:2.0
                         description: The base image to use when running a native build
                           (default `quay.io/quarkus/quarkus-micro-image:2.0`)
                         type: string
@@ -1853,7 +1811,6 @@ spec:
                           traits share this common property.
                         type: boolean
                       nodePort:
-                        default: false
                         description: 'Enable Service to be exposed as NodePort (default
                           `false`). Deprecated: Use service type instead.'
                         type: boolean
@@ -2370,7 +2327,6 @@ spec:
                           type: string
                         type: array
                       podAffinity:
-                        default: false
                         description: Always co-locates multiple replicas of the integration
                           in the same node (default `false`).
                         type: boolean
@@ -2382,7 +2338,6 @@ spec:
                           type: string
                         type: array
                       podAntiAffinity:
-                        default: false
                         description: Never co-locates multiple replicas of the integration
                           in the same node (default `false`).
                         type: boolean
@@ -2409,7 +2364,6 @@ spec:
                         description: 'Deprecated: no longer in use.'
                         type: boolean
                       incrementalImageBuild:
-                        default: true
                         description: Use the incremental image build option, to reuse
                           existing containers (default `true`)
                         type: boolean
@@ -2442,7 +2396,6 @@ spec:
                           to be scheduled on, based on labels on the node.
                         type: object
                       orderStrategy:
-                        default: sequential
                         description: The build order strategy to use, either `dependencies`,
                           `fifo` or `sequential` (default `sequential`)
                         enum:
@@ -2467,7 +2420,6 @@ spec:
                           instead with task name `builder`.'
                         type: string
                       strategy:
-                        default: routine
                         description: The strategy to use, either `pod` or `routine`
                           (default `routine`)
                         enum:
@@ -2575,12 +2527,10 @@ spec:
                         description: The maximum amount of memory required.
                         type: string
                       name:
-                        default: integration
                         description: The main container name. It's named `integration`
                           by default.
                         type: string
                       port:
-                        default: 8080
                         description: To configure a different port exposed by the
                           container (default `8080`).
                         type: integer
@@ -2596,12 +2546,10 @@ spec:
                         description: The minimum amount of memory required.
                         type: string
                       servicePort:
-                        default: 80
                         description: To configure under which service port the container
                           port is to be exposed (default `80`).
                         type: integer
                       servicePortName:
-                        default: http
                         description: To configure under which service port name the
                           container port is to be exposed (default `http`).
                         type: string
@@ -2610,7 +2558,6 @@ spec:
                     description: The configuration of Cron trait
                     properties:
                       activeDeadlineSeconds:
-                        default: 60
                         description: Specifies the duration in seconds, relative to
                           the start time, that the job may be continuously active
                           before it is considered to be failed. It defaults to 60s.
@@ -2626,7 +2573,6 @@ spec:
                           be expressed as `0/1 * * * *`, while `35m` or `50s` cannot)."
                         type: boolean
                       backoffLimit:
-                        default: 2
                         description: Specifies the number of retries before marking
                           the job failed. It defaults to 2.
                         format: int32
@@ -2712,7 +2658,6 @@ spec:
                         - knative-service
                         type: string
                       useSSA:
-                        default: true
                         description: Use server-side apply to update the owned resources
                           (default `true`). Note that it automatically falls back
                           to client-side patching, if SSA is not available, e.g.,
@@ -2731,14 +2676,12 @@ spec:
                         description: 'Deprecated: no longer in use.'
                         type: boolean
                       progressDeadlineSeconds:
-                        default: 60
                         description: The maximum time in seconds for the deployment
                           to make progress before it is considered to be failed. It
                           defaults to `60s`.
                         format: int32
                         type: integer
                       rollingUpdateMaxSurge:
-                        default: 25
                         description: 'The maximum number of pods that can be scheduled
                           above the desired number of pods. Value can be an absolute
                           number (ex: 5) or a percentage of desired pods (ex: 10%).
@@ -2747,7 +2690,6 @@ spec:
                           `25%`.'
                         type: integer
                       rollingUpdateMaxUnavailable:
-                        default: 25
                         description: 'The maximum number of pods that can be unavailable
                           during the update. Value can be an absolute number (ex:
                           5) or a percentage of desired pods (ex: 10%). Absolute number
@@ -2771,7 +2713,6 @@ spec:
                         type: object
                         x-kubernetes-preserve-unknown-fields: true
                       containerMeta:
-                        default: true
                         description: Enables injection of `NAMESPACE` and `POD_NAME`
                           environment variables (default `true`)
                         type: boolean
@@ -2779,7 +2720,6 @@ spec:
                         description: 'Deprecated: no longer in use.'
                         type: boolean
                       httpProxy:
-                        default: true
                         description: Propagates the `HTTP_PROXY`, `HTTPS_PROXY` and
                           `NO_PROXY` environment variables (default `true`)
                         type: boolean
@@ -2817,7 +2757,6 @@ spec:
                         type: object
                         x-kubernetes-preserve-unknown-fields: true
                       discoveryCache:
-                        default: memory
                         description: 'Discovery client cache to be used, either `disabled`,
                           `disk` or `memory` (default `memory`). Deprecated: to be
                           removed from trait configuration.'
@@ -2858,12 +2797,10 @@ spec:
                         format: int32
                         type: integer
                       livenessProbeEnabled:
-                        default: false
                         description: Configures the liveness probe for the integration
                           container (default `false`).
                         type: boolean
                       livenessScheme:
-                        default: HTTP
                         description: Scheme to use when connecting to the liveness
                           probe (default `HTTP`).
                         type: string
@@ -2892,12 +2829,10 @@ spec:
                         format: int32
                         type: integer
                       readinessProbeEnabled:
-                        default: true
                         description: Configures the readiness probe for the integration
                           container (default `true`).
                         type: boolean
                       readinessScheme:
-                        default: HTTP
                         description: Scheme to use when connecting to the readiness
                           probe (default `HTTP`).
                         type: string
@@ -2926,12 +2861,10 @@ spec:
                         format: int32
                         type: integer
                       startupProbeEnabled:
-                        default: false
                         description: Configures the startup probe for the integration
                           container (default `false`).
                         type: boolean
                       startupScheme:
-                        default: HTTP
                         description: Scheme to use when connecting to the startup
                           probe (default `HTTP`).
                         type: string
@@ -2973,12 +2906,10 @@ spec:
                         description: To configure the host exposed by the ingress.
                         type: string
                       path:
-                        default: /
                         description: To configure the path exposed by the ingress
                           (default `/`).
                         type: string
                       pathType:
-                        default: Prefix
                         description: To configure the path type exposed by the ingress.
                           One of `Exact`, `Prefix`, `ImplementationSpecific` (default
                           to `Prefix`).
@@ -2992,7 +2923,6 @@ spec:
                     description: The configuration of Istio trait
                     properties:
                       allow:
-                        default: 10.0.0.0/8,172.16.0.0/12,192.168.0.0/16
                         description: Configures a (comma-separated) list of CIDR subnets
                           that should not be intercepted by the Istio proxy (`10.0.0.0/8,172.16.0.0/12,192.168.0.0/16`
                           by default).
@@ -3038,7 +2968,6 @@ spec:
                         type: object
                         x-kubernetes-preserve-unknown-fields: true
                       discoveryEnabled:
-                        default: false
                         description: Listen for multicast requests (default `false`)
                         type: boolean
                       enabled:
@@ -3052,7 +2981,6 @@ spec:
                           is `true` (default `true` for OpenShift).
                         type: boolean
                       host:
-                        default: '*'
                         description: The Host address to which the Jolokia agent should
                           bind to. If `"\*"` or `"0.0.0.0"` is given, the servers
                           binds to every network interface (default `"*"`).
@@ -3069,7 +2997,6 @@ spec:
                           when the `user` option is set.
                         type: string
                       port:
-                        default: 8778
                         description: The Jolokia endpoint port (default `8778`).
                         type: integer
                       protocol:
@@ -3101,7 +3028,6 @@ spec:
                           can be attached to the JVM, e.g., using port-forwarding
                         type: boolean
                       debugAddress:
-                        default: '*:5005'
                         description: Transport address at which to listen for the
                           newly launched JVM (default `*:5005`)
                         type: string
@@ -3119,7 +3045,6 @@ spec:
                           type: string
                         type: array
                       printCommand:
-                        default: true
                         description: Prints the command used the start the JVM in
                           the container logs (default `true`)
                         type: boolean
@@ -3128,7 +3053,6 @@ spec:
                     description: The configuration of Kamelets trait
                     properties:
                       auto:
-                        default: true
                         description: Automatically inject all referenced Kamelets
                           and their default configuration (enabled by default)
                         type: boolean
@@ -3146,7 +3070,6 @@ spec:
                           into the current integration
                         type: string
                       mountPoint:
-                        default: /etc/camel/kamelets
                         description: The directory where the application mounts and
                           reads Kamelet spec (default `/etc/camel/kamelets`)
                         type: string
@@ -3225,7 +3148,6 @@ spec:
                           in newer versions of Knative, filtering is disabled by default.
                         type: boolean
                       namespaceLabel:
-                        default: true
                         description: 'Enables the camel-k-operator to set the "bindings.knative.dev/include=true"
                           label to the namespace As Knative requires this label to
                           perform injection of K_SINK URL into the service. If this
@@ -3338,7 +3260,6 @@ spec:
                         description: Enable "pretty printing" of the JSON logs
                         type: boolean
                       level:
-                        default: INFO
                         description: Adjust the logging level (defaults to `INFO`)
                         enum:
                         - FATAL
@@ -3382,7 +3303,6 @@ spec:
                         description: 'Deprecated: no longer in use.'
                         type: boolean
                       hotReload:
-                        default: false
                         description: Enable "hot reload" when a secret/configmap mounted
                           is edited (default `false`)
                         type: boolean
@@ -3492,7 +3412,6 @@ spec:
                         description: 'Deprecated: no longer in use.'
                         type: boolean
                       global:
-                        default: true
                         description: Indicates if the platform should be created globally
                           in the case of global operator (default true).
                         type: boolean
@@ -3523,7 +3442,6 @@ spec:
                           traits share this common property.
                         type: boolean
                       podMonitor:
-                        default: true
                         description: Whether a `PodMonitor` resource is created (default
                           `true`).
                         type: boolean
@@ -3566,8 +3484,6 @@ spec:
                     description: The configuration of Quarkus trait
                     properties:
                       buildMode:
-                        default:
-                        - jvm
                         description: 'The Quarkus mode to run: either `jvm` or `native`
                           (default `jvm`). In case both `jvm` and `native` are specified,
                           two `IntegrationKit` resources are created, with the `native`
@@ -3588,7 +3504,6 @@ spec:
                         description: 'Deprecated: no longer in use.'
                         type: boolean
                       nativeBaseImage:
-                        default: quay.io/quarkus/quarkus-micro-image:2.0
                         description: The base image to use when running a native build
                           (default `quay.io/quarkus/quarkus-micro-image:2.0`)
                         type: string
@@ -3744,7 +3659,6 @@ spec:
                           traits share this common property.
                         type: boolean
                       nodePort:
-                        default: false
                         description: 'Enable Service to be exposed as NodePort (default
                           `false`). Deprecated: Use service type instead.'
                         type: boolean
diff --git a/config/crd/bases/camel.apache.org_integrations.yaml b/config/crd/bases/camel.apache.org_integrations.yaml
index c22c6db6b..f7f71765e 100644
--- a/config/crd/bases/camel.apache.org_integrations.yaml
+++ b/config/crd/bases/camel.apache.org_integrations.yaml
@@ -6392,7 +6392,6 @@ spec:
                           type: string
                         type: array
                       podAffinity:
-                        default: false
                         description: Always co-locates multiple replicas of the integration
                           in the same node (default `false`).
                         type: boolean
@@ -6404,7 +6403,6 @@ spec:
                           type: string
                         type: array
                       podAntiAffinity:
-                        default: false
                         description: Never co-locates multiple replicas of the integration
                           in the same node (default `false`).
                         type: boolean
@@ -6431,7 +6429,6 @@ spec:
                         description: 'Deprecated: no longer in use.'
                         type: boolean
                       incrementalImageBuild:
-                        default: true
                         description: Use the incremental image build option, to reuse
                           existing containers (default `true`)
                         type: boolean
@@ -6464,7 +6461,6 @@ spec:
                           to be scheduled on, based on labels on the node.
                         type: object
                       orderStrategy:
-                        default: sequential
                         description: The build order strategy to use, either `dependencies`,
                           `fifo` or `sequential` (default `sequential`)
                         enum:
@@ -6489,7 +6485,6 @@ spec:
                           instead with task name `builder`.'
                         type: string
                       strategy:
-                        default: routine
                         description: The strategy to use, either `pod` or `routine`
                           (default `routine`)
                         enum:
@@ -6597,12 +6592,10 @@ spec:
                         description: The maximum amount of memory required.
                         type: string
                       name:
-                        default: integration
                         description: The main container name. It's named `integration`
                           by default.
                         type: string
                       port:
-                        default: 8080
                         description: To configure a different port exposed by the
                           container (default `8080`).
                         type: integer
@@ -6618,12 +6611,10 @@ spec:
                         description: The minimum amount of memory required.
                         type: string
                       servicePort:
-                        default: 80
                         description: To configure under which service port the container
                           port is to be exposed (default `80`).
                         type: integer
                       servicePortName:
-                        default: http
                         description: To configure under which service port name the
                           container port is to be exposed (default `http`).
                         type: string
@@ -6632,7 +6623,6 @@ spec:
                     description: The configuration of Cron trait
                     properties:
                       activeDeadlineSeconds:
-                        default: 60
                         description: Specifies the duration in seconds, relative to
                           the start time, that the job may be continuously active
                           before it is considered to be failed. It defaults to 60s.
@@ -6648,7 +6638,6 @@ spec:
                           be expressed as `0/1 * * * *`, while `35m` or `50s` cannot)."
                         type: boolean
                       backoffLimit:
-                        default: 2
                         description: Specifies the number of retries before marking
                           the job failed. It defaults to 2.
                         format: int32
@@ -6734,7 +6723,6 @@ spec:
                         - knative-service
                         type: string
                       useSSA:
-                        default: true
                         description: Use server-side apply to update the owned resources
                           (default `true`). Note that it automatically falls back
                           to client-side patching, if SSA is not available, e.g.,
@@ -6753,14 +6741,12 @@ spec:
                         description: 'Deprecated: no longer in use.'
                         type: boolean
                       progressDeadlineSeconds:
-                        default: 60
                         description: The maximum time in seconds for the deployment
                           to make progress before it is considered to be failed. It
                           defaults to `60s`.
                         format: int32
                         type: integer
                       rollingUpdateMaxSurge:
-                        default: 25
                         description: 'The maximum number of pods that can be scheduled
                           above the desired number of pods. Value can be an absolute
                           number (ex: 5) or a percentage of desired pods (ex: 10%).
@@ -6769,7 +6755,6 @@ spec:
                           `25%`.'
                         type: integer
                       rollingUpdateMaxUnavailable:
-                        default: 25
                         description: 'The maximum number of pods that can be unavailable
                           during the update. Value can be an absolute number (ex:
                           5) or a percentage of desired pods (ex: 10%). Absolute number
@@ -6793,7 +6778,6 @@ spec:
                         type: object
                         x-kubernetes-preserve-unknown-fields: true
                       containerMeta:
-                        default: true
                         description: Enables injection of `NAMESPACE` and `POD_NAME`
                           environment variables (default `true`)
                         type: boolean
@@ -6801,7 +6785,6 @@ spec:
                         description: 'Deprecated: no longer in use.'
                         type: boolean
                       httpProxy:
-                        default: true
                         description: Propagates the `HTTP_PROXY`, `HTTPS_PROXY` and
                           `NO_PROXY` environment variables (default `true`)
                         type: boolean
@@ -6839,7 +6822,6 @@ spec:
                         type: object
                         x-kubernetes-preserve-unknown-fields: true
                       discoveryCache:
-                        default: memory
                         description: 'Discovery client cache to be used, either `disabled`,
                           `disk` or `memory` (default `memory`). Deprecated: to be
                           removed from trait configuration.'
@@ -6880,12 +6862,10 @@ spec:
                         format: int32
                         type: integer
                       livenessProbeEnabled:
-                        default: false
                         description: Configures the liveness probe for the integration
                           container (default `false`).
                         type: boolean
                       livenessScheme:
-                        default: HTTP
                         description: Scheme to use when connecting to the liveness
                           probe (default `HTTP`).
                         type: string
@@ -6914,12 +6894,10 @@ spec:
                         format: int32
                         type: integer
                       readinessProbeEnabled:
-                        default: true
                         description: Configures the readiness probe for the integration
                           container (default `true`).
                         type: boolean
                       readinessScheme:
-                        default: HTTP
                         description: Scheme to use when connecting to the readiness
                           probe (default `HTTP`).
                         type: string
@@ -6948,12 +6926,10 @@ spec:
                         format: int32
                         type: integer
                       startupProbeEnabled:
-                        default: false
                         description: Configures the startup probe for the integration
                           container (default `false`).
                         type: boolean
                       startupScheme:
-                        default: HTTP
                         description: Scheme to use when connecting to the startup
                           probe (default `HTTP`).
                         type: string
@@ -6995,12 +6971,10 @@ spec:
                         description: To configure the host exposed by the ingress.
                         type: string
                       path:
-                        default: /
                         description: To configure the path exposed by the ingress
                           (default `/`).
                         type: string
                       pathType:
-                        default: Prefix
                         description: To configure the path type exposed by the ingress.
                           One of `Exact`, `Prefix`, `ImplementationSpecific` (default
                           to `Prefix`).
@@ -7014,7 +6988,6 @@ spec:
                     description: The configuration of Istio trait
                     properties:
                       allow:
-                        default: 10.0.0.0/8,172.16.0.0/12,192.168.0.0/16
                         description: Configures a (comma-separated) list of CIDR subnets
                           that should not be intercepted by the Istio proxy (`10.0.0.0/8,172.16.0.0/12,192.168.0.0/16`
                           by default).
@@ -7060,7 +7033,6 @@ spec:
                         type: object
                         x-kubernetes-preserve-unknown-fields: true
                       discoveryEnabled:
-                        default: false
                         description: Listen for multicast requests (default `false`)
                         type: boolean
                       enabled:
@@ -7074,7 +7046,6 @@ spec:
                           is `true` (default `true` for OpenShift).
                         type: boolean
                       host:
-                        default: '*'
                         description: The Host address to which the Jolokia agent should
                           bind to. If `"\*"` or `"0.0.0.0"` is given, the servers
                           binds to every network interface (default `"*"`).
@@ -7091,7 +7062,6 @@ spec:
                           when the `user` option is set.
                         type: string
                       port:
-                        default: 8778
                         description: The Jolokia endpoint port (default `8778`).
                         type: integer
                       protocol:
@@ -7123,7 +7093,6 @@ spec:
                           can be attached to the JVM, e.g., using port-forwarding
                         type: boolean
                       debugAddress:
-                        default: '*:5005'
                         description: Transport address at which to listen for the
                           newly launched JVM (default `*:5005`)
                         type: string
@@ -7141,7 +7110,6 @@ spec:
                           type: string
                         type: array
                       printCommand:
-                        default: true
                         description: Prints the command used the start the JVM in
                           the container logs (default `true`)
                         type: boolean
@@ -7150,7 +7118,6 @@ spec:
                     description: The configuration of Kamelets trait
                     properties:
                       auto:
-                        default: true
                         description: Automatically inject all referenced Kamelets
                           and their default configuration (enabled by default)
                         type: boolean
@@ -7168,7 +7135,6 @@ spec:
                           into the current integration
                         type: string
                       mountPoint:
-                        default: /etc/camel/kamelets
                         description: The directory where the application mounts and
                           reads Kamelet spec (default `/etc/camel/kamelets`)
                         type: string
@@ -7247,7 +7213,6 @@ spec:
                           in newer versions of Knative, filtering is disabled by default.
                         type: boolean
                       namespaceLabel:
-                        default: true
                         description: 'Enables the camel-k-operator to set the "bindings.knative.dev/include=true"
                           label to the namespace As Knative requires this label to
                           perform injection of K_SINK URL into the service. If this
@@ -7360,7 +7325,6 @@ spec:
                         description: Enable "pretty printing" of the JSON logs
                         type: boolean
                       level:
-                        default: INFO
                         description: Adjust the logging level (defaults to `INFO`)
                         enum:
                         - FATAL
@@ -7404,7 +7368,6 @@ spec:
                         description: 'Deprecated: no longer in use.'
                         type: boolean
                       hotReload:
-                        default: false
                         description: Enable "hot reload" when a secret/configmap mounted
                           is edited (default `false`)
                         type: boolean
@@ -7514,7 +7477,6 @@ spec:
                         description: 'Deprecated: no longer in use.'
                         type: boolean
                       global:
-                        default: true
                         description: Indicates if the platform should be created globally
                           in the case of global operator (default true).
                         type: boolean
@@ -7545,7 +7507,6 @@ spec:
                           traits share this common property.
                         type: boolean
                       podMonitor:
-                        default: true
                         description: Whether a `PodMonitor` resource is created (default
                           `true`).
                         type: boolean
@@ -7588,8 +7549,6 @@ spec:
                     description: The configuration of Quarkus trait
                     properties:
                       buildMode:
-                        default:
-                        - jvm
                         description: 'The Quarkus mode to run: either `jvm` or `native`
                           (default `jvm`). In case both `jvm` and `native` are specified,
                           two `IntegrationKit` resources are created, with the `native`
@@ -7610,7 +7569,6 @@ spec:
                         description: 'Deprecated: no longer in use.'
                         type: boolean
                       nativeBaseImage:
-                        default: quay.io/quarkus/quarkus-micro-image:2.0
                         description: The base image to use when running a native build
                           (default `quay.io/quarkus/quarkus-micro-image:2.0`)
                         type: string
@@ -7766,7 +7724,6 @@ spec:
                           traits share this common property.
                         type: boolean
                       nodePort:
-                        default: false
                         description: 'Enable Service to be exposed as NodePort (default
                           `false`). Deprecated: Use service type instead.'
                         type: boolean
diff --git a/config/crd/bases/camel.apache.org_kameletbindings.yaml b/config/crd/bases/camel.apache.org_kameletbindings.yaml
index dd9edf480..208613e03 100644
--- a/config/crd/bases/camel.apache.org_kameletbindings.yaml
+++ b/config/crd/bases/camel.apache.org_kameletbindings.yaml
@@ -6673,7 +6673,6 @@ spec:
                               type: string
                             type: array
                           podAffinity:
-                            default: false
                             description: Always co-locates multiple replicas of the
                               integration in the same node (default `false`).
                             type: boolean
@@ -6685,7 +6684,6 @@ spec:
                               type: string
                             type: array
                           podAntiAffinity:
-                            default: false
                             description: Never co-locates multiple replicas of the
                               integration in the same node (default `false`).
                             type: boolean
@@ -6713,7 +6711,6 @@ spec:
                             description: 'Deprecated: no longer in use.'
                             type: boolean
                           incrementalImageBuild:
-                            default: true
                             description: Use the incremental image build option, to
                               reuse existing containers (default `true`)
                             type: boolean
@@ -6748,7 +6745,6 @@ spec:
                               node.
                             type: object
                           orderStrategy:
-                            default: sequential
                             description: The build order strategy to use, either `dependencies`,
                               `fifo` or `sequential` (default `sequential`)
                             enum:
@@ -6773,7 +6769,6 @@ spec:
                               TasksRequestCPU instead with task name `builder`.'
                             type: string
                           strategy:
-                            default: routine
                             description: The strategy to use, either `pod` or `routine`
                               (default `routine`)
                             enum:
@@ -6882,12 +6877,10 @@ spec:
                             description: The maximum amount of memory required.
                             type: string
                           name:
-                            default: integration
                             description: The main container name. It's named `integration`
                               by default.
                             type: string
                           port:
-                            default: 8080
                             description: To configure a different port exposed by
                               the container (default `8080`).
                             type: integer
@@ -6903,12 +6896,10 @@ spec:
                             description: The minimum amount of memory required.
                             type: string
                           servicePort:
-                            default: 80
                             description: To configure under which service port the
                               container port is to be exposed (default `80`).
                             type: integer
                           servicePortName:
-                            default: http
                             description: To configure under which service port name
                               the container port is to be exposed (default `http`).
                             type: string
@@ -6917,7 +6908,6 @@ spec:
                         description: The configuration of Cron trait
                         properties:
                           activeDeadlineSeconds:
-                            default: 60
                             description: Specifies the duration in seconds, relative
                               to the start time, that the job may be continuously
                               active before it is considered to be failed. It defaults
@@ -6935,7 +6925,6 @@ spec:
                               `35m` or `50s` cannot)."
                             type: boolean
                           backoffLimit:
-                            default: 2
                             description: Specifies the number of retries before marking
                               the job failed. It defaults to 2.
                             format: int32
@@ -7021,7 +7010,6 @@ spec:
                             - knative-service
                             type: string
                           useSSA:
-                            default: true
                             description: Use server-side apply to update the owned
                               resources (default `true`). Note that it automatically
                               falls back to client-side patching, if SSA is not available,
@@ -7040,14 +7028,12 @@ spec:
                             description: 'Deprecated: no longer in use.'
                             type: boolean
                           progressDeadlineSeconds:
-                            default: 60
                             description: The maximum time in seconds for the deployment
                               to make progress before it is considered to be failed.
                               It defaults to `60s`.
                             format: int32
                             type: integer
                           rollingUpdateMaxSurge:
-                            default: 25
                             description: 'The maximum number of pods that can be scheduled
                               above the desired number of pods. Value can be an absolute
                               number (ex: 5) or a percentage of desired pods (ex:
@@ -7056,7 +7042,6 @@ spec:
                               Defaults to `25%`.'
                             type: integer
                           rollingUpdateMaxUnavailable:
-                            default: 25
                             description: 'The maximum number of pods that can be unavailable
                               during the update. Value can be an absolute number (ex:
                               5) or a percentage of desired pods (ex: 10%). Absolute
@@ -7080,7 +7065,6 @@ spec:
                             type: object
                             x-kubernetes-preserve-unknown-fields: true
                           containerMeta:
-                            default: true
                             description: Enables injection of `NAMESPACE` and `POD_NAME`
                               environment variables (default `true`)
                             type: boolean
@@ -7088,7 +7072,6 @@ spec:
                             description: 'Deprecated: no longer in use.'
                             type: boolean
                           httpProxy:
-                            default: true
                             description: Propagates the `HTTP_PROXY`, `HTTPS_PROXY`
                               and `NO_PROXY` environment variables (default `true`)
                             type: boolean
@@ -7126,7 +7109,6 @@ spec:
                             type: object
                             x-kubernetes-preserve-unknown-fields: true
                           discoveryCache:
-                            default: memory
                             description: 'Discovery client cache to be used, either
                               `disabled`, `disk` or `memory` (default `memory`). Deprecated:
                               to be removed from trait configuration.'
@@ -7167,12 +7149,10 @@ spec:
                             format: int32
                             type: integer
                           livenessProbeEnabled:
-                            default: false
                             description: Configures the liveness probe for the integration
                               container (default `false`).
                             type: boolean
                           livenessScheme:
-                            default: HTTP
                             description: Scheme to use when connecting to the liveness
                               probe (default `HTTP`).
                             type: string
@@ -7201,12 +7181,10 @@ spec:
                             format: int32
                             type: integer
                           readinessProbeEnabled:
-                            default: true
                             description: Configures the readiness probe for the integration
                               container (default `true`).
                             type: boolean
                           readinessScheme:
-                            default: HTTP
                             description: Scheme to use when connecting to the readiness
                               probe (default `HTTP`).
                             type: string
@@ -7235,12 +7213,10 @@ spec:
                             format: int32
                             type: integer
                           startupProbeEnabled:
-                            default: false
                             description: Configures the startup probe for the integration
                               container (default `false`).
                             type: boolean
                           startupScheme:
-                            default: HTTP
                             description: Scheme to use when connecting to the startup
                               probe (default `HTTP`).
                             type: string
@@ -7282,12 +7258,10 @@ spec:
                             description: To configure the host exposed by the ingress.
                             type: string
                           path:
-                            default: /
                             description: To configure the path exposed by the ingress
                               (default `/`).
                             type: string
                           pathType:
-                            default: Prefix
                             description: To configure the path type exposed by the
                               ingress. One of `Exact`, `Prefix`, `ImplementationSpecific`
                               (default to `Prefix`).
@@ -7301,7 +7275,6 @@ spec:
                         description: The configuration of Istio trait
                         properties:
                           allow:
-                            default: 10.0.0.0/8,172.16.0.0/12,192.168.0.0/16
                             description: Configures a (comma-separated) list of CIDR
                               subnets that should not be intercepted by the Istio
                               proxy (`10.0.0.0/8,172.16.0.0/12,192.168.0.0/16` by
@@ -7348,7 +7321,6 @@ spec:
                             type: object
                             x-kubernetes-preserve-unknown-fields: true
                           discoveryEnabled:
-                            default: false
                             description: Listen for multicast requests (default `false`)
                             type: boolean
                           enabled:
@@ -7362,7 +7334,6 @@ spec:
                               is `true` (default `true` for OpenShift).
                             type: boolean
                           host:
-                            default: '*'
                             description: The Host address to which the Jolokia agent
                               should bind to. If `"\*"` or `"0.0.0.0"` is given, the
                               servers binds to every network interface (default `"*"`).
@@ -7379,7 +7350,6 @@ spec:
                               when the `user` option is set.
                             type: string
                           port:
-                            default: 8778
                             description: The Jolokia endpoint port (default `8778`).
                             type: integer
                           protocol:
@@ -7411,7 +7381,6 @@ spec:
                               can be attached to the JVM, e.g., using port-forwarding
                             type: boolean
                           debugAddress:
-                            default: '*:5005'
                             description: Transport address at which to listen for
                               the newly launched JVM (default `*:5005`)
                             type: string
@@ -7429,7 +7398,6 @@ spec:
                               type: string
                             type: array
                           printCommand:
-                            default: true
                             description: Prints the command used the start the JVM
                               in the container logs (default `true`)
                             type: boolean
@@ -7438,7 +7406,6 @@ spec:
                         description: The configuration of Kamelets trait
                         properties:
                           auto:
-                            default: true
                             description: Automatically inject all referenced Kamelets
                               and their default configuration (enabled by default)
                             type: boolean
@@ -7456,7 +7423,6 @@ spec:
                               load into the current integration
                             type: string
                           mountPoint:
-                            default: /etc/camel/kamelets
                             description: The directory where the application mounts
                               and reads Kamelet spec (default `/etc/camel/kamelets`)
                             type: string
@@ -7539,7 +7505,6 @@ spec:
                               by default.
                             type: boolean
                           namespaceLabel:
-                            default: true
                             description: 'Enables the camel-k-operator to set the
                               "bindings.knative.dev/include=true" label to the namespace
                               As Knative requires this label to perform injection
@@ -7657,7 +7622,6 @@ spec:
                             description: Enable "pretty printing" of the JSON logs
                             type: boolean
                           level:
-                            default: INFO
                             description: Adjust the logging level (defaults to `INFO`)
                             enum:
                             - FATAL
@@ -7701,7 +7665,6 @@ spec:
                             description: 'Deprecated: no longer in use.'
                             type: boolean
                           hotReload:
-                            default: false
                             description: Enable "hot reload" when a secret/configmap
                               mounted is edited (default `false`)
                             type: boolean
@@ -7811,7 +7774,6 @@ spec:
                             description: 'Deprecated: no longer in use.'
                             type: boolean
                           global:
-                            default: true
                             description: Indicates if the platform should be created
                               globally in the case of global operator (default true).
                             type: boolean
@@ -7842,7 +7804,6 @@ spec:
                               All traits share this common property.
                             type: boolean
                           podMonitor:
-                            default: true
                             description: Whether a `PodMonitor` resource is created
                               (default `true`).
                             type: boolean
@@ -7885,8 +7846,6 @@ spec:
                         description: The configuration of Quarkus trait
                         properties:
                           buildMode:
-                            default:
-                            - jvm
                             description: 'The Quarkus mode to run: either `jvm` or
                               `native` (default `jvm`). In case both `jvm` and `native`
                               are specified, two `IntegrationKit` resources are created,
@@ -7909,7 +7868,6 @@ spec:
                             description: 'Deprecated: no longer in use.'
                             type: boolean
                           nativeBaseImage:
-                            default: quay.io/quarkus/quarkus-micro-image:2.0
                             description: The base image to use when running a native
                               build (default `quay.io/quarkus/quarkus-micro-image:2.0`)
                             type: string
@@ -8074,7 +8032,6 @@ spec:
                               All traits share this common property.
                             type: boolean
                           nodePort:
-                            default: false
                             description: 'Enable Service to be exposed as NodePort
                               (default `false`). Deprecated: Use service type instead.'
                             type: boolean
diff --git a/config/crd/bases/camel.apache.org_pipes.yaml b/config/crd/bases/camel.apache.org_pipes.yaml
index eb1bfe2f6..2038cd3a5 100644
--- a/config/crd/bases/camel.apache.org_pipes.yaml
+++ b/config/crd/bases/camel.apache.org_pipes.yaml
@@ -6671,7 +6671,6 @@ spec:
                               type: string
                             type: array
                           podAffinity:
-                            default: false
                             description: Always co-locates multiple replicas of the
                               integration in the same node (default `false`).
                             type: boolean
@@ -6683,7 +6682,6 @@ spec:
                               type: string
                             type: array
                           podAntiAffinity:
-                            default: false
                             description: Never co-locates multiple replicas of the
                               integration in the same node (default `false`).
                             type: boolean
@@ -6711,7 +6709,6 @@ spec:
                             description: 'Deprecated: no longer in use.'
                             type: boolean
                           incrementalImageBuild:
-                            default: true
                             description: Use the incremental image build option, to
                               reuse existing containers (default `true`)
                             type: boolean
@@ -6746,7 +6743,6 @@ spec:
                               node.
                             type: object
                           orderStrategy:
-                            default: sequential
                             description: The build order strategy to use, either `dependencies`,
                               `fifo` or `sequential` (default `sequential`)
                             enum:
@@ -6771,7 +6767,6 @@ spec:
                               TasksRequestCPU instead with task name `builder`.'
                             type: string
                           strategy:
-                            default: routine
                             description: The strategy to use, either `pod` or `routine`
                               (default `routine`)
                             enum:
@@ -6880,12 +6875,10 @@ spec:
                             description: The maximum amount of memory required.
                             type: string
                           name:
-                            default: integration
                             description: The main container name. It's named `integration`
                               by default.
                             type: string
                           port:
-                            default: 8080
                             description: To configure a different port exposed by
                               the container (default `8080`).
                             type: integer
@@ -6901,12 +6894,10 @@ spec:
                             description: The minimum amount of memory required.
                             type: string
                           servicePort:
-                            default: 80
                             description: To configure under which service port the
                               container port is to be exposed (default `80`).
                             type: integer
                           servicePortName:
-                            default: http
                             description: To configure under which service port name
                               the container port is to be exposed (default `http`).
                             type: string
@@ -6915,7 +6906,6 @@ spec:
                         description: The configuration of Cron trait
                         properties:
                           activeDeadlineSeconds:
-                            default: 60
                             description: Specifies the duration in seconds, relative
                               to the start time, that the job may be continuously
                               active before it is considered to be failed. It defaults
@@ -6933,7 +6923,6 @@ spec:
                               `35m` or `50s` cannot)."
                             type: boolean
                           backoffLimit:
-                            default: 2
                             description: Specifies the number of retries before marking
                               the job failed. It defaults to 2.
                             format: int32
@@ -7019,7 +7008,6 @@ spec:
                             - knative-service
                             type: string
                           useSSA:
-                            default: true
                             description: Use server-side apply to update the owned
                               resources (default `true`). Note that it automatically
                               falls back to client-side patching, if SSA is not available,
@@ -7038,14 +7026,12 @@ spec:
                             description: 'Deprecated: no longer in use.'
                             type: boolean
                           progressDeadlineSeconds:
-                            default: 60
                             description: The maximum time in seconds for the deployment
                               to make progress before it is considered to be failed.
                               It defaults to `60s`.
                             format: int32
                             type: integer
                           rollingUpdateMaxSurge:
-                            default: 25
                             description: 'The maximum number of pods that can be scheduled
                               above the desired number of pods. Value can be an absolute
                               number (ex: 5) or a percentage of desired pods (ex:
@@ -7054,7 +7040,6 @@ spec:
                               Defaults to `25%`.'
                             type: integer
                           rollingUpdateMaxUnavailable:
-                            default: 25
                             description: 'The maximum number of pods that can be unavailable
                               during the update. Value can be an absolute number (ex:
                               5) or a percentage of desired pods (ex: 10%). Absolute
@@ -7078,7 +7063,6 @@ spec:
                             type: object
                             x-kubernetes-preserve-unknown-fields: true
                           containerMeta:
-                            default: true
                             description: Enables injection of `NAMESPACE` and `POD_NAME`
                               environment variables (default `true`)
                             type: boolean
@@ -7086,7 +7070,6 @@ spec:
                             description: 'Deprecated: no longer in use.'
                             type: boolean
                           httpProxy:
-                            default: true
                             description: Propagates the `HTTP_PROXY`, `HTTPS_PROXY`
                               and `NO_PROXY` environment variables (default `true`)
                             type: boolean
@@ -7124,7 +7107,6 @@ spec:
                             type: object
                             x-kubernetes-preserve-unknown-fields: true
                           discoveryCache:
-                            default: memory
                             description: 'Discovery client cache to be used, either
                               `disabled`, `disk` or `memory` (default `memory`). Deprecated:
                               to be removed from trait configuration.'
@@ -7165,12 +7147,10 @@ spec:
                             format: int32
                             type: integer
                           livenessProbeEnabled:
-                            default: false
                             description: Configures the liveness probe for the integration
                               container (default `false`).
                             type: boolean
                           livenessScheme:
-                            default: HTTP
                             description: Scheme to use when connecting to the liveness
                               probe (default `HTTP`).
                             type: string
@@ -7199,12 +7179,10 @@ spec:
                             format: int32
                             type: integer
                           readinessProbeEnabled:
-                            default: true
                             description: Configures the readiness probe for the integration
                               container (default `true`).
                             type: boolean
                           readinessScheme:
-                            default: HTTP
                             description: Scheme to use when connecting to the readiness
                               probe (default `HTTP`).
                             type: string
@@ -7233,12 +7211,10 @@ spec:
                             format: int32
                             type: integer
                           startupProbeEnabled:
-                            default: false
                             description: Configures the startup probe for the integration
                               container (default `false`).
                             type: boolean
                           startupScheme:
-                            default: HTTP
                             description: Scheme to use when connecting to the startup
                               probe (default `HTTP`).
                             type: string
@@ -7280,12 +7256,10 @@ spec:
                             description: To configure the host exposed by the ingress.
                             type: string
                           path:
-                            default: /
                             description: To configure the path exposed by the ingress
                               (default `/`).
                             type: string
                           pathType:
-                            default: Prefix
                             description: To configure the path type exposed by the
                               ingress. One of `Exact`, `Prefix`, `ImplementationSpecific`
                               (default to `Prefix`).
@@ -7299,7 +7273,6 @@ spec:
                         description: The configuration of Istio trait
                         properties:
                           allow:
-                            default: 10.0.0.0/8,172.16.0.0/12,192.168.0.0/16
                             description: Configures a (comma-separated) list of CIDR
                               subnets that should not be intercepted by the Istio
                               proxy (`10.0.0.0/8,172.16.0.0/12,192.168.0.0/16` by
@@ -7346,7 +7319,6 @@ spec:
                             type: object
                             x-kubernetes-preserve-unknown-fields: true
                           discoveryEnabled:
-                            default: false
                             description: Listen for multicast requests (default `false`)
                             type: boolean
                           enabled:
@@ -7360,7 +7332,6 @@ spec:
                               is `true` (default `true` for OpenShift).
                             type: boolean
                           host:
-                            default: '*'
                             description: The Host address to which the Jolokia agent
                               should bind to. If `"\*"` or `"0.0.0.0"` is given, the
                               servers binds to every network interface (default `"*"`).
@@ -7377,7 +7348,6 @@ spec:
                               when the `user` option is set.
                             type: string
                           port:
-                            default: 8778
                             description: The Jolokia endpoint port (default `8778`).
                             type: integer
                           protocol:
@@ -7409,7 +7379,6 @@ spec:
                               can be attached to the JVM, e.g., using port-forwarding
                             type: boolean
                           debugAddress:
-                            default: '*:5005'
                             description: Transport address at which to listen for
                               the newly launched JVM (default `*:5005`)
                             type: string
@@ -7427,7 +7396,6 @@ spec:
                               type: string
                             type: array
                           printCommand:
-                            default: true
                             description: Prints the command used the start the JVM
                               in the container logs (default `true`)
                             type: boolean
@@ -7436,7 +7404,6 @@ spec:
                         description: The configuration of Kamelets trait
                         properties:
                           auto:
-                            default: true
                             description: Automatically inject all referenced Kamelets
                               and their default configuration (enabled by default)
                             type: boolean
@@ -7454,7 +7421,6 @@ spec:
                               load into the current integration
                             type: string
                           mountPoint:
-                            default: /etc/camel/kamelets
                             description: The directory where the application mounts
                               and reads Kamelet spec (default `/etc/camel/kamelets`)
                             type: string
@@ -7537,7 +7503,6 @@ spec:
                               by default.
                             type: boolean
                           namespaceLabel:
-                            default: true
                             description: 'Enables the camel-k-operator to set the
                               "bindings.knative.dev/include=true" label to the namespace
                               As Knative requires this label to perform injection
@@ -7655,7 +7620,6 @@ spec:
                             description: Enable "pretty printing" of the JSON logs
                             type: boolean
                           level:
-                            default: INFO
                             description: Adjust the logging level (defaults to `INFO`)
                             enum:
                             - FATAL
@@ -7699,7 +7663,6 @@ spec:
                             description: 'Deprecated: no longer in use.'
                             type: boolean
                           hotReload:
-                            default: false
                             description: Enable "hot reload" when a secret/configmap
                               mounted is edited (default `false`)
                             type: boolean
@@ -7809,7 +7772,6 @@ spec:
                             description: 'Deprecated: no longer in use.'
                             type: boolean
                           global:
-                            default: true
                             description: Indicates if the platform should be created
                               globally in the case of global operator (default true).
                             type: boolean
@@ -7840,7 +7802,6 @@ spec:
                               All traits share this common property.
                             type: boolean
                           podMonitor:
-                            default: true
                             description: Whether a `PodMonitor` resource is created
                               (default `true`).
                             type: boolean
@@ -7883,8 +7844,6 @@ spec:
                         description: The configuration of Quarkus trait
                         properties:
                           buildMode:
-                            default:
-                            - jvm
                             description: 'The Quarkus mode to run: either `jvm` or
                               `native` (default `jvm`). In case both `jvm` and `native`
                               are specified, two `IntegrationKit` resources are created,
@@ -7907,7 +7866,6 @@ spec:
                             description: 'Deprecated: no longer in use.'
                             type: boolean
                           nativeBaseImage:
-                            default: quay.io/quarkus/quarkus-micro-image:2.0
                             description: The base image to use when running a native
                               build (default `quay.io/quarkus/quarkus-micro-image:2.0`)
                             type: string
@@ -8072,7 +8030,6 @@ spec:
                               All traits share this common property.
                             type: boolean
                           nodePort:
-                            default: false
                             description: 'Enable Service to be exposed as NodePort
                               (default `false`). Deprecated: Use service type instead.'
                             type: boolean
diff --git a/helm/camel-k/crds/crd-integration-kit.yaml b/helm/camel-k/crds/crd-integration-kit.yaml
index da6585701..13a8e5802 100644
--- a/helm/camel-k/crds/crd-integration-kit.yaml
+++ b/helm/camel-k/crds/crd-integration-kit.yaml
@@ -213,7 +213,6 @@ spec:
                         description: 'Deprecated: no longer in use.'
                         type: boolean
                       incrementalImageBuild:
-                        default: true
                         description: Use the incremental image build option, to reuse
                           existing containers (default `true`)
                         type: boolean
@@ -246,7 +245,6 @@ spec:
                           to be scheduled on, based on labels on the node.
                         type: object
                       orderStrategy:
-                        default: sequential
                         description: The build order strategy to use, either `dependencies`,
                           `fifo` or `sequential` (default `sequential`)
                         enum:
@@ -271,7 +269,6 @@ spec:
                           instead with task name `builder`.'
                         type: string
                       strategy:
-                        default: routine
                         description: The strategy to use, either `pod` or `routine`
                           (default `routine`)
                         enum:
@@ -351,8 +348,6 @@ spec:
                       build must have enough memory available.'
                     properties:
                       buildMode:
-                        default:
-                        - jvm
                         description: 'The Quarkus mode to run: either `jvm` or `native`
                           (default `jvm`). In case both `jvm` and `native` are specified,
                           two `IntegrationKit` resources are created, with the `native`
@@ -373,7 +368,6 @@ spec:
                         description: 'Deprecated: no longer in use.'
                         type: boolean
                       nativeBaseImage:
-                        default: quay.io/quarkus/quarkus-micro-image:2.0
                         description: The base image to use when running a native build
                           (default `quay.io/quarkus/quarkus-micro-image:2.0`)
                         type: string
diff --git a/helm/camel-k/crds/crd-integration-platform.yaml b/helm/camel-k/crds/crd-integration-platform.yaml
index 55e738b24..3afa3fd0f 100644
--- a/helm/camel-k/crds/crd-integration-platform.yaml
+++ b/helm/camel-k/crds/crd-integration-platform.yaml
@@ -479,7 +479,6 @@ spec:
                           type: string
                         type: array
                       podAffinity:
-                        default: false
                         description: Always co-locates multiple replicas of the integration
                           in the same node (default `false`).
                         type: boolean
@@ -491,7 +490,6 @@ spec:
                           type: string
                         type: array
                       podAntiAffinity:
-                        default: false
                         description: Never co-locates multiple replicas of the integration
                           in the same node (default `false`).
                         type: boolean
@@ -518,7 +516,6 @@ spec:
                         description: 'Deprecated: no longer in use.'
                         type: boolean
                       incrementalImageBuild:
-                        default: true
                         description: Use the incremental image build option, to reuse
                           existing containers (default `true`)
                         type: boolean
@@ -551,7 +548,6 @@ spec:
                           to be scheduled on, based on labels on the node.
                         type: object
                       orderStrategy:
-                        default: sequential
                         description: The build order strategy to use, either `dependencies`,
                           `fifo` or `sequential` (default `sequential`)
                         enum:
@@ -576,7 +572,6 @@ spec:
                           instead with task name `builder`.'
                         type: string
                       strategy:
-                        default: routine
                         description: The strategy to use, either `pod` or `routine`
                           (default `routine`)
                         enum:
@@ -684,12 +679,10 @@ spec:
                         description: The maximum amount of memory required.
                         type: string
                       name:
-                        default: integration
                         description: The main container name. It's named `integration`
                           by default.
                         type: string
                       port:
-                        default: 8080
                         description: To configure a different port exposed by the
                           container (default `8080`).
                         type: integer
@@ -705,12 +698,10 @@ spec:
                         description: The minimum amount of memory required.
                         type: string
                       servicePort:
-                        default: 80
                         description: To configure under which service port the container
                           port is to be exposed (default `80`).
                         type: integer
                       servicePortName:
-                        default: http
                         description: To configure under which service port name the
                           container port is to be exposed (default `http`).
                         type: string
@@ -719,7 +710,6 @@ spec:
                     description: The configuration of Cron trait
                     properties:
                       activeDeadlineSeconds:
-                        default: 60
                         description: Specifies the duration in seconds, relative to
                           the start time, that the job may be continuously active
                           before it is considered to be failed. It defaults to 60s.
@@ -735,7 +725,6 @@ spec:
                           be expressed as `0/1 * * * *`, while `35m` or `50s` cannot)."
                         type: boolean
                       backoffLimit:
-                        default: 2
                         description: Specifies the number of retries before marking
                           the job failed. It defaults to 2.
                         format: int32
@@ -821,7 +810,6 @@ spec:
                         - knative-service
                         type: string
                       useSSA:
-                        default: true
                         description: Use server-side apply to update the owned resources
                           (default `true`). Note that it automatically falls back
                           to client-side patching, if SSA is not available, e.g.,
@@ -840,14 +828,12 @@ spec:
                         description: 'Deprecated: no longer in use.'
                         type: boolean
                       progressDeadlineSeconds:
-                        default: 60
                         description: The maximum time in seconds for the deployment
                           to make progress before it is considered to be failed. It
                           defaults to `60s`.
                         format: int32
                         type: integer
                       rollingUpdateMaxSurge:
-                        default: 25
                         description: 'The maximum number of pods that can be scheduled
                           above the desired number of pods. Value can be an absolute
                           number (ex: 5) or a percentage of desired pods (ex: 10%).
@@ -856,7 +842,6 @@ spec:
                           `25%`.'
                         type: integer
                       rollingUpdateMaxUnavailable:
-                        default: 25
                         description: 'The maximum number of pods that can be unavailable
                           during the update. Value can be an absolute number (ex:
                           5) or a percentage of desired pods (ex: 10%). Absolute number
@@ -880,7 +865,6 @@ spec:
                         type: object
                         x-kubernetes-preserve-unknown-fields: true
                       containerMeta:
-                        default: true
                         description: Enables injection of `NAMESPACE` and `POD_NAME`
                           environment variables (default `true`)
                         type: boolean
@@ -888,7 +872,6 @@ spec:
                         description: 'Deprecated: no longer in use.'
                         type: boolean
                       httpProxy:
-                        default: true
                         description: Propagates the `HTTP_PROXY`, `HTTPS_PROXY` and
                           `NO_PROXY` environment variables (default `true`)
                         type: boolean
@@ -926,7 +909,6 @@ spec:
                         type: object
                         x-kubernetes-preserve-unknown-fields: true
                       discoveryCache:
-                        default: memory
                         description: 'Discovery client cache to be used, either `disabled`,
                           `disk` or `memory` (default `memory`). Deprecated: to be
                           removed from trait configuration.'
@@ -967,12 +949,10 @@ spec:
                         format: int32
                         type: integer
                       livenessProbeEnabled:
-                        default: false
                         description: Configures the liveness probe for the integration
                           container (default `false`).
                         type: boolean
                       livenessScheme:
-                        default: HTTP
                         description: Scheme to use when connecting to the liveness
                           probe (default `HTTP`).
                         type: string
@@ -1001,12 +981,10 @@ spec:
                         format: int32
                         type: integer
                       readinessProbeEnabled:
-                        default: true
                         description: Configures the readiness probe for the integration
                           container (default `true`).
                         type: boolean
                       readinessScheme:
-                        default: HTTP
                         description: Scheme to use when connecting to the readiness
                           probe (default `HTTP`).
                         type: string
@@ -1035,12 +1013,10 @@ spec:
                         format: int32
                         type: integer
                       startupProbeEnabled:
-                        default: false
                         description: Configures the startup probe for the integration
                           container (default `false`).
                         type: boolean
                       startupScheme:
-                        default: HTTP
                         description: Scheme to use when connecting to the startup
                           probe (default `HTTP`).
                         type: string
@@ -1082,12 +1058,10 @@ spec:
                         description: To configure the host exposed by the ingress.
                         type: string
                       path:
-                        default: /
                         description: To configure the path exposed by the ingress
                           (default `/`).
                         type: string
                       pathType:
-                        default: Prefix
                         description: To configure the path type exposed by the ingress.
                           One of `Exact`, `Prefix`, `ImplementationSpecific` (default
                           to `Prefix`).
@@ -1101,7 +1075,6 @@ spec:
                     description: The configuration of Istio trait
                     properties:
                       allow:
-                        default: 10.0.0.0/8,172.16.0.0/12,192.168.0.0/16
                         description: Configures a (comma-separated) list of CIDR subnets
                           that should not be intercepted by the Istio proxy (`10.0.0.0/8,172.16.0.0/12,192.168.0.0/16`
                           by default).
@@ -1147,7 +1120,6 @@ spec:
                         type: object
                         x-kubernetes-preserve-unknown-fields: true
                       discoveryEnabled:
-                        default: false
                         description: Listen for multicast requests (default `false`)
                         type: boolean
                       enabled:
@@ -1161,7 +1133,6 @@ spec:
                           is `true` (default `true` for OpenShift).
                         type: boolean
                       host:
-                        default: '*'
                         description: The Host address to which the Jolokia agent should
                           bind to. If `"\*"` or `"0.0.0.0"` is given, the servers
                           binds to every network interface (default `"*"`).
@@ -1178,7 +1149,6 @@ spec:
                           when the `user` option is set.
                         type: string
                       port:
-                        default: 8778
                         description: The Jolokia endpoint port (default `8778`).
                         type: integer
                       protocol:
@@ -1210,7 +1180,6 @@ spec:
                           can be attached to the JVM, e.g., using port-forwarding
                         type: boolean
                       debugAddress:
-                        default: '*:5005'
                         description: Transport address at which to listen for the
                           newly launched JVM (default `*:5005`)
                         type: string
@@ -1228,7 +1197,6 @@ spec:
                           type: string
                         type: array
                       printCommand:
-                        default: true
                         description: Prints the command used the start the JVM in
                           the container logs (default `true`)
                         type: boolean
@@ -1237,7 +1205,6 @@ spec:
                     description: The configuration of Kamelets trait
                     properties:
                       auto:
-                        default: true
                         description: Automatically inject all referenced Kamelets
                           and their default configuration (enabled by default)
                         type: boolean
@@ -1255,7 +1222,6 @@ spec:
                           into the current integration
                         type: string
                       mountPoint:
-                        default: /etc/camel/kamelets
                         description: The directory where the application mounts and
                           reads Kamelet spec (default `/etc/camel/kamelets`)
                         type: string
@@ -1334,7 +1300,6 @@ spec:
                           in newer versions of Knative, filtering is disabled by default.
                         type: boolean
                       namespaceLabel:
-                        default: true
                         description: 'Enables the camel-k-operator to set the "bindings.knative.dev/include=true"
                           label to the namespace As Knative requires this label to
                           perform injection of K_SINK URL into the service. If this
@@ -1447,7 +1412,6 @@ spec:
                         description: Enable "pretty printing" of the JSON logs
                         type: boolean
                       level:
-                        default: INFO
                         description: Adjust the logging level (defaults to `INFO`)
                         enum:
                         - FATAL
@@ -1491,7 +1455,6 @@ spec:
                         description: 'Deprecated: no longer in use.'
                         type: boolean
                       hotReload:
-                        default: false
                         description: Enable "hot reload" when a secret/configmap mounted
                           is edited (default `false`)
                         type: boolean
@@ -1601,7 +1564,6 @@ spec:
                         description: 'Deprecated: no longer in use.'
                         type: boolean
                       global:
-                        default: true
                         description: Indicates if the platform should be created globally
                           in the case of global operator (default true).
                         type: boolean
@@ -1632,7 +1594,6 @@ spec:
                           traits share this common property.
                         type: boolean
                       podMonitor:
-                        default: true
                         description: Whether a `PodMonitor` resource is created (default
                           `true`).
                         type: boolean
@@ -1675,8 +1636,6 @@ spec:
                     description: The configuration of Quarkus trait
                     properties:
                       buildMode:
-                        default:
-                        - jvm
                         description: 'The Quarkus mode to run: either `jvm` or `native`
                           (default `jvm`). In case both `jvm` and `native` are specified,
                           two `IntegrationKit` resources are created, with the `native`
@@ -1697,7 +1656,6 @@ spec:
                         description: 'Deprecated: no longer in use.'
                         type: boolean
                       nativeBaseImage:
-                        default: quay.io/quarkus/quarkus-micro-image:2.0
                         description: The base image to use when running a native build
                           (default `quay.io/quarkus/quarkus-micro-image:2.0`)
                         type: string
@@ -1853,7 +1811,6 @@ spec:
                           traits share this common property.
                         type: boolean
                       nodePort:
-                        default: false
                         description: 'Enable Service to be exposed as NodePort (default
                           `false`). Deprecated: Use service type instead.'
                         type: boolean
@@ -2370,7 +2327,6 @@ spec:
                           type: string
                         type: array
                       podAffinity:
-                        default: false
                         description: Always co-locates multiple replicas of the integration
                           in the same node (default `false`).
                         type: boolean
@@ -2382,7 +2338,6 @@ spec:
                           type: string
                         type: array
                       podAntiAffinity:
-                        default: false
                         description: Never co-locates multiple replicas of the integration
                           in the same node (default `false`).
                         type: boolean
@@ -2409,7 +2364,6 @@ spec:
                         description: 'Deprecated: no longer in use.'
                         type: boolean
                       incrementalImageBuild:
-                        default: true
                         description: Use the incremental image build option, to reuse
                           existing containers (default `true`)
                         type: boolean
@@ -2442,7 +2396,6 @@ spec:
                           to be scheduled on, based on labels on the node.
                         type: object
                       orderStrategy:
-                        default: sequential
                         description: The build order strategy to use, either `dependencies`,
                           `fifo` or `sequential` (default `sequential`)
                         enum:
@@ -2467,7 +2420,6 @@ spec:
                           instead with task name `builder`.'
                         type: string
                       strategy:
-                        default: routine
                         description: The strategy to use, either `pod` or `routine`
                           (default `routine`)
                         enum:
@@ -2575,12 +2527,10 @@ spec:
                         description: The maximum amount of memory required.
                         type: string
                       name:
-                        default: integration
                         description: The main container name. It's named `integration`
                           by default.
                         type: string
                       port:
-                        default: 8080
                         description: To configure a different port exposed by the
                           container (default `8080`).
                         type: integer
@@ -2596,12 +2546,10 @@ spec:
                         description: The minimum amount of memory required.
                         type: string
                       servicePort:
-                        default: 80
                         description: To configure under which service port the container
                           port is to be exposed (default `80`).
                         type: integer
                       servicePortName:
-                        default: http
                         description: To configure under which service port name the
                           container port is to be exposed (default `http`).
                         type: string
@@ -2610,7 +2558,6 @@ spec:
                     description: The configuration of Cron trait
                     properties:
                       activeDeadlineSeconds:
-                        default: 60
                         description: Specifies the duration in seconds, relative to
                           the start time, that the job may be continuously active
                           before it is considered to be failed. It defaults to 60s.
@@ -2626,7 +2573,6 @@ spec:
                           be expressed as `0/1 * * * *`, while `35m` or `50s` cannot)."
                         type: boolean
                       backoffLimit:
-                        default: 2
                         description: Specifies the number of retries before marking
                           the job failed. It defaults to 2.
                         format: int32
@@ -2712,7 +2658,6 @@ spec:
                         - knative-service
                         type: string
                       useSSA:
-                        default: true
                         description: Use server-side apply to update the owned resources
                           (default `true`). Note that it automatically falls back
                           to client-side patching, if SSA is not available, e.g.,
@@ -2731,14 +2676,12 @@ spec:
                         description: 'Deprecated: no longer in use.'
                         type: boolean
                       progressDeadlineSeconds:
-                        default: 60
                         description: The maximum time in seconds for the deployment
                           to make progress before it is considered to be failed. It
                           defaults to `60s`.
                         format: int32
                         type: integer
                       rollingUpdateMaxSurge:
-                        default: 25
                         description: 'The maximum number of pods that can be scheduled
                           above the desired number of pods. Value can be an absolute
                           number (ex: 5) or a percentage of desired pods (ex: 10%).
@@ -2747,7 +2690,6 @@ spec:
                           `25%`.'
                         type: integer
                       rollingUpdateMaxUnavailable:
-                        default: 25
                         description: 'The maximum number of pods that can be unavailable
                           during the update. Value can be an absolute number (ex:
                           5) or a percentage of desired pods (ex: 10%). Absolute number
@@ -2771,7 +2713,6 @@ spec:
                         type: object
                         x-kubernetes-preserve-unknown-fields: true
                       containerMeta:
-                        default: true
                         description: Enables injection of `NAMESPACE` and `POD_NAME`
                           environment variables (default `true`)
                         type: boolean
@@ -2779,7 +2720,6 @@ spec:
                         description: 'Deprecated: no longer in use.'
                         type: boolean
                       httpProxy:
-                        default: true
                         description: Propagates the `HTTP_PROXY`, `HTTPS_PROXY` and
                           `NO_PROXY` environment variables (default `true`)
                         type: boolean
@@ -2817,7 +2757,6 @@ spec:
                         type: object
                         x-kubernetes-preserve-unknown-fields: true
                       discoveryCache:
-                        default: memory
                         description: 'Discovery client cache to be used, either `disabled`,
                           `disk` or `memory` (default `memory`). Deprecated: to be
                           removed from trait configuration.'
@@ -2858,12 +2797,10 @@ spec:
                         format: int32
                         type: integer
                       livenessProbeEnabled:
-                        default: false
                         description: Configures the liveness probe for the integration
                           container (default `false`).
                         type: boolean
                       livenessScheme:
-                        default: HTTP
                         description: Scheme to use when connecting to the liveness
                           probe (default `HTTP`).
                         type: string
@@ -2892,12 +2829,10 @@ spec:
                         format: int32
                         type: integer
                       readinessProbeEnabled:
-                        default: true
                         description: Configures the readiness probe for the integration
                           container (default `true`).
                         type: boolean
                       readinessScheme:
-                        default: HTTP
                         description: Scheme to use when connecting to the readiness
                           probe (default `HTTP`).
                         type: string
@@ -2926,12 +2861,10 @@ spec:
                         format: int32
                         type: integer
                       startupProbeEnabled:
-                        default: false
                         description: Configures the startup probe for the integration
                           container (default `false`).
                         type: boolean
                       startupScheme:
-                        default: HTTP
                         description: Scheme to use when connecting to the startup
                           probe (default `HTTP`).
                         type: string
@@ -2973,12 +2906,10 @@ spec:
                         description: To configure the host exposed by the ingress.
                         type: string
                       path:
-                        default: /
                         description: To configure the path exposed by the ingress
                           (default `/`).
                         type: string
                       pathType:
-                        default: Prefix
                         description: To configure the path type exposed by the ingress.
                           One of `Exact`, `Prefix`, `ImplementationSpecific` (default
                           to `Prefix`).
@@ -2992,7 +2923,6 @@ spec:
                     description: The configuration of Istio trait
                     properties:
                       allow:
-                        default: 10.0.0.0/8,172.16.0.0/12,192.168.0.0/16
                         description: Configures a (comma-separated) list of CIDR subnets
                           that should not be intercepted by the Istio proxy (`10.0.0.0/8,172.16.0.0/12,192.168.0.0/16`
                           by default).
@@ -3038,7 +2968,6 @@ spec:
                         type: object
                         x-kubernetes-preserve-unknown-fields: true
                       discoveryEnabled:
-                        default: false
                         description: Listen for multicast requests (default `false`)
                         type: boolean
                       enabled:
@@ -3052,7 +2981,6 @@ spec:
                           is `true` (default `true` for OpenShift).
                         type: boolean
                       host:
-                        default: '*'
                         description: The Host address to which the Jolokia agent should
                           bind to. If `"\*"` or `"0.0.0.0"` is given, the servers
                           binds to every network interface (default `"*"`).
@@ -3069,7 +2997,6 @@ spec:
                           when the `user` option is set.
                         type: string
                       port:
-                        default: 8778
                         description: The Jolokia endpoint port (default `8778`).
                         type: integer
                       protocol:
@@ -3101,7 +3028,6 @@ spec:
                           can be attached to the JVM, e.g., using port-forwarding
                         type: boolean
                       debugAddress:
-                        default: '*:5005'
                         description: Transport address at which to listen for the
                           newly launched JVM (default `*:5005`)
                         type: string
@@ -3119,7 +3045,6 @@ spec:
                           type: string
                         type: array
                       printCommand:
-                        default: true
                         description: Prints the command used the start the JVM in
                           the container logs (default `true`)
                         type: boolean
@@ -3128,7 +3053,6 @@ spec:
                     description: The configuration of Kamelets trait
                     properties:
                       auto:
-                        default: true
                         description: Automatically inject all referenced Kamelets
                           and their default configuration (enabled by default)
                         type: boolean
@@ -3146,7 +3070,6 @@ spec:
                           into the current integration
                         type: string
                       mountPoint:
-                        default: /etc/camel/kamelets
                         description: The directory where the application mounts and
                           reads Kamelet spec (default `/etc/camel/kamelets`)
                         type: string
@@ -3225,7 +3148,6 @@ spec:
                           in newer versions of Knative, filtering is disabled by default.
                         type: boolean
                       namespaceLabel:
-                        default: true
                         description: 'Enables the camel-k-operator to set the "bindings.knative.dev/include=true"
                           label to the namespace As Knative requires this label to
                           perform injection of K_SINK URL into the service. If this
@@ -3338,7 +3260,6 @@ spec:
                         description: Enable "pretty printing" of the JSON logs
                         type: boolean
                       level:
-                        default: INFO
                         description: Adjust the logging level (defaults to `INFO`)
                         enum:
                         - FATAL
@@ -3382,7 +3303,6 @@ spec:
                         description: 'Deprecated: no longer in use.'
                         type: boolean
                       hotReload:
-                        default: false
                         description: Enable "hot reload" when a secret/configmap mounted
                           is edited (default `false`)
                         type: boolean
@@ -3492,7 +3412,6 @@ spec:
                         description: 'Deprecated: no longer in use.'
                         type: boolean
                       global:
-                        default: true
                         description: Indicates if the platform should be created globally
                           in the case of global operator (default true).
                         type: boolean
@@ -3523,7 +3442,6 @@ spec:
                           traits share this common property.
                         type: boolean
                       podMonitor:
-                        default: true
                         description: Whether a `PodMonitor` resource is created (default
                           `true`).
                         type: boolean
@@ -3566,8 +3484,6 @@ spec:
                     description: The configuration of Quarkus trait
                     properties:
                       buildMode:
-                        default:
-                        - jvm
                         description: 'The Quarkus mode to run: either `jvm` or `native`
                           (default `jvm`). In case both `jvm` and `native` are specified,
                           two `IntegrationKit` resources are created, with the `native`
@@ -3588,7 +3504,6 @@ spec:
                         description: 'Deprecated: no longer in use.'
                         type: boolean
                       nativeBaseImage:
-                        default: quay.io/quarkus/quarkus-micro-image:2.0
                         description: The base image to use when running a native build
                           (default `quay.io/quarkus/quarkus-micro-image:2.0`)
                         type: string
@@ -3744,7 +3659,6 @@ spec:
                           traits share this common property.
                         type: boolean
                       nodePort:
-                        default: false
                         description: 'Enable Service to be exposed as NodePort (default
                           `false`). Deprecated: Use service type instead.'
                         type: boolean
diff --git a/helm/camel-k/crds/crd-integration.yaml b/helm/camel-k/crds/crd-integration.yaml
index c22c6db6b..f7f71765e 100644
--- a/helm/camel-k/crds/crd-integration.yaml
+++ b/helm/camel-k/crds/crd-integration.yaml
@@ -6392,7 +6392,6 @@ spec:
                           type: string
                         type: array
                       podAffinity:
-                        default: false
                         description: Always co-locates multiple replicas of the integration
                           in the same node (default `false`).
                         type: boolean
@@ -6404,7 +6403,6 @@ spec:
                           type: string
                         type: array
                       podAntiAffinity:
-                        default: false
                         description: Never co-locates multiple replicas of the integration
                           in the same node (default `false`).
                         type: boolean
@@ -6431,7 +6429,6 @@ spec:
                         description: 'Deprecated: no longer in use.'
                         type: boolean
                       incrementalImageBuild:
-                        default: true
                         description: Use the incremental image build option, to reuse
                           existing containers (default `true`)
                         type: boolean
@@ -6464,7 +6461,6 @@ spec:
                           to be scheduled on, based on labels on the node.
                         type: object
                       orderStrategy:
-                        default: sequential
                         description: The build order strategy to use, either `dependencies`,
                           `fifo` or `sequential` (default `sequential`)
                         enum:
@@ -6489,7 +6485,6 @@ spec:
                           instead with task name `builder`.'
                         type: string
                       strategy:
-                        default: routine
                         description: The strategy to use, either `pod` or `routine`
                           (default `routine`)
                         enum:
@@ -6597,12 +6592,10 @@ spec:
                         description: The maximum amount of memory required.
                         type: string
                       name:
-                        default: integration
                         description: The main container name. It's named `integration`
                           by default.
                         type: string
                       port:
-                        default: 8080
                         description: To configure a different port exposed by the
                           container (default `8080`).
                         type: integer
@@ -6618,12 +6611,10 @@ spec:
                         description: The minimum amount of memory required.
                         type: string
                       servicePort:
-                        default: 80
                         description: To configure under which service port the container
                           port is to be exposed (default `80`).
                         type: integer
                       servicePortName:
-                        default: http
                         description: To configure under which service port name the
                           container port is to be exposed (default `http`).
                         type: string
@@ -6632,7 +6623,6 @@ spec:
                     description: The configuration of Cron trait
                     properties:
                       activeDeadlineSeconds:
-                        default: 60
                         description: Specifies the duration in seconds, relative to
                           the start time, that the job may be continuously active
                           before it is considered to be failed. It defaults to 60s.
@@ -6648,7 +6638,6 @@ spec:
                           be expressed as `0/1 * * * *`, while `35m` or `50s` cannot)."
                         type: boolean
                       backoffLimit:
-                        default: 2
                         description: Specifies the number of retries before marking
                           the job failed. It defaults to 2.
                         format: int32
@@ -6734,7 +6723,6 @@ spec:
                         - knative-service
                         type: string
                       useSSA:
-                        default: true
                         description: Use server-side apply to update the owned resources
                           (default `true`). Note that it automatically falls back
                           to client-side patching, if SSA is not available, e.g.,
@@ -6753,14 +6741,12 @@ spec:
                         description: 'Deprecated: no longer in use.'
                         type: boolean
                       progressDeadlineSeconds:
-                        default: 60
                         description: The maximum time in seconds for the deployment
                           to make progress before it is considered to be failed. It
                           defaults to `60s`.
                         format: int32
                         type: integer
                       rollingUpdateMaxSurge:
-                        default: 25
                         description: 'The maximum number of pods that can be scheduled
                           above the desired number of pods. Value can be an absolute
                           number (ex: 5) or a percentage of desired pods (ex: 10%).
@@ -6769,7 +6755,6 @@ spec:
                           `25%`.'
                         type: integer
                       rollingUpdateMaxUnavailable:
-                        default: 25
                         description: 'The maximum number of pods that can be unavailable
                           during the update. Value can be an absolute number (ex:
                           5) or a percentage of desired pods (ex: 10%). Absolute number
@@ -6793,7 +6778,6 @@ spec:
                         type: object
                         x-kubernetes-preserve-unknown-fields: true
                       containerMeta:
-                        default: true
                         description: Enables injection of `NAMESPACE` and `POD_NAME`
                           environment variables (default `true`)
                         type: boolean
@@ -6801,7 +6785,6 @@ spec:
                         description: 'Deprecated: no longer in use.'
                         type: boolean
                       httpProxy:
-                        default: true
                         description: Propagates the `HTTP_PROXY`, `HTTPS_PROXY` and
                           `NO_PROXY` environment variables (default `true`)
                         type: boolean
@@ -6839,7 +6822,6 @@ spec:
                         type: object
                         x-kubernetes-preserve-unknown-fields: true
                       discoveryCache:
-                        default: memory
                         description: 'Discovery client cache to be used, either `disabled`,
                           `disk` or `memory` (default `memory`). Deprecated: to be
                           removed from trait configuration.'
@@ -6880,12 +6862,10 @@ spec:
                         format: int32
                         type: integer
                       livenessProbeEnabled:
-                        default: false
                         description: Configures the liveness probe for the integration
                           container (default `false`).
                         type: boolean
                       livenessScheme:
-                        default: HTTP
                         description: Scheme to use when connecting to the liveness
                           probe (default `HTTP`).
                         type: string
@@ -6914,12 +6894,10 @@ spec:
                         format: int32
                         type: integer
                       readinessProbeEnabled:
-                        default: true
                         description: Configures the readiness probe for the integration
                           container (default `true`).
                         type: boolean
                       readinessScheme:
-                        default: HTTP
                         description: Scheme to use when connecting to the readiness
                           probe (default `HTTP`).
                         type: string
@@ -6948,12 +6926,10 @@ spec:
                         format: int32
                         type: integer
                       startupProbeEnabled:
-                        default: false
                         description: Configures the startup probe for the integration
                           container (default `false`).
                         type: boolean
                       startupScheme:
-                        default: HTTP
                         description: Scheme to use when connecting to the startup
                           probe (default `HTTP`).
                         type: string
@@ -6995,12 +6971,10 @@ spec:
                         description: To configure the host exposed by the ingress.
                         type: string
                       path:
-                        default: /
                         description: To configure the path exposed by the ingress
                           (default `/`).
                         type: string
                       pathType:
-                        default: Prefix
                         description: To configure the path type exposed by the ingress.
                           One of `Exact`, `Prefix`, `ImplementationSpecific` (default
                           to `Prefix`).
@@ -7014,7 +6988,6 @@ spec:
                     description: The configuration of Istio trait
                     properties:
                       allow:
-                        default: 10.0.0.0/8,172.16.0.0/12,192.168.0.0/16
                         description: Configures a (comma-separated) list of CIDR subnets
                           that should not be intercepted by the Istio proxy (`10.0.0.0/8,172.16.0.0/12,192.168.0.0/16`
                           by default).
@@ -7060,7 +7033,6 @@ spec:
                         type: object
                         x-kubernetes-preserve-unknown-fields: true
                       discoveryEnabled:
-                        default: false
                         description: Listen for multicast requests (default `false`)
                         type: boolean
                       enabled:
@@ -7074,7 +7046,6 @@ spec:
                           is `true` (default `true` for OpenShift).
                         type: boolean
                       host:
-                        default: '*'
                         description: The Host address to which the Jolokia agent should
                           bind to. If `"\*"` or `"0.0.0.0"` is given, the servers
                           binds to every network interface (default `"*"`).
@@ -7091,7 +7062,6 @@ spec:
                           when the `user` option is set.
                         type: string
                       port:
-                        default: 8778
                         description: The Jolokia endpoint port (default `8778`).
                         type: integer
                       protocol:
@@ -7123,7 +7093,6 @@ spec:
                           can be attached to the JVM, e.g., using port-forwarding
                         type: boolean
                       debugAddress:
-                        default: '*:5005'
                         description: Transport address at which to listen for the
                           newly launched JVM (default `*:5005`)
                         type: string
@@ -7141,7 +7110,6 @@ spec:
                           type: string
                         type: array
                       printCommand:
-                        default: true
                         description: Prints the command used the start the JVM in
                           the container logs (default `true`)
                         type: boolean
@@ -7150,7 +7118,6 @@ spec:
                     description: The configuration of Kamelets trait
                     properties:
                       auto:
-                        default: true
                         description: Automatically inject all referenced Kamelets
                           and their default configuration (enabled by default)
                         type: boolean
@@ -7168,7 +7135,6 @@ spec:
                           into the current integration
                         type: string
                       mountPoint:
-                        default: /etc/camel/kamelets
                         description: The directory where the application mounts and
                           reads Kamelet spec (default `/etc/camel/kamelets`)
                         type: string
@@ -7247,7 +7213,6 @@ spec:
                           in newer versions of Knative, filtering is disabled by default.
                         type: boolean
                       namespaceLabel:
-                        default: true
                         description: 'Enables the camel-k-operator to set the "bindings.knative.dev/include=true"
                           label to the namespace As Knative requires this label to
                           perform injection of K_SINK URL into the service. If this
@@ -7360,7 +7325,6 @@ spec:
                         description: Enable "pretty printing" of the JSON logs
                         type: boolean
                       level:
-                        default: INFO
                         description: Adjust the logging level (defaults to `INFO`)
                         enum:
                         - FATAL
@@ -7404,7 +7368,6 @@ spec:
                         description: 'Deprecated: no longer in use.'
                         type: boolean
                       hotReload:
-                        default: false
                         description: Enable "hot reload" when a secret/configmap mounted
                           is edited (default `false`)
                         type: boolean
@@ -7514,7 +7477,6 @@ spec:
                         description: 'Deprecated: no longer in use.'
                         type: boolean
                       global:
-                        default: true
                         description: Indicates if the platform should be created globally
                           in the case of global operator (default true).
                         type: boolean
@@ -7545,7 +7507,6 @@ spec:
                           traits share this common property.
                         type: boolean
                       podMonitor:
-                        default: true
                         description: Whether a `PodMonitor` resource is created (default
                           `true`).
                         type: boolean
@@ -7588,8 +7549,6 @@ spec:
                     description: The configuration of Quarkus trait
                     properties:
                       buildMode:
-                        default:
-                        - jvm
                         description: 'The Quarkus mode to run: either `jvm` or `native`
                           (default `jvm`). In case both `jvm` and `native` are specified,
                           two `IntegrationKit` resources are created, with the `native`
@@ -7610,7 +7569,6 @@ spec:
                         description: 'Deprecated: no longer in use.'
                         type: boolean
                       nativeBaseImage:
-                        default: quay.io/quarkus/quarkus-micro-image:2.0
                         description: The base image to use when running a native build
                           (default `quay.io/quarkus/quarkus-micro-image:2.0`)
                         type: string
@@ -7766,7 +7724,6 @@ spec:
                           traits share this common property.
                         type: boolean
                       nodePort:
-                        default: false
                         description: 'Enable Service to be exposed as NodePort (default
                           `false`). Deprecated: Use service type instead.'
                         type: boolean
diff --git a/helm/camel-k/crds/crd-kamelet-binding.yaml b/helm/camel-k/crds/crd-kamelet-binding.yaml
index dd9edf480..208613e03 100644
--- a/helm/camel-k/crds/crd-kamelet-binding.yaml
+++ b/helm/camel-k/crds/crd-kamelet-binding.yaml
@@ -6673,7 +6673,6 @@ spec:
                               type: string
                             type: array
                           podAffinity:
-                            default: false
                             description: Always co-locates multiple replicas of the
                               integration in the same node (default `false`).
                             type: boolean
@@ -6685,7 +6684,6 @@ spec:
                               type: string
                             type: array
                           podAntiAffinity:
-                            default: false
                             description: Never co-locates multiple replicas of the
                               integration in the same node (default `false`).
                             type: boolean
@@ -6713,7 +6711,6 @@ spec:
                             description: 'Deprecated: no longer in use.'
                             type: boolean
                           incrementalImageBuild:
-                            default: true
                             description: Use the incremental image build option, to
                               reuse existing containers (default `true`)
                             type: boolean
@@ -6748,7 +6745,6 @@ spec:
                               node.
                             type: object
                           orderStrategy:
-                            default: sequential
                             description: The build order strategy to use, either `dependencies`,
                               `fifo` or `sequential` (default `sequential`)
                             enum:
@@ -6773,7 +6769,6 @@ spec:
                               TasksRequestCPU instead with task name `builder`.'
                             type: string
                           strategy:
-                            default: routine
                             description: The strategy to use, either `pod` or `routine`
                               (default `routine`)
                             enum:
@@ -6882,12 +6877,10 @@ spec:
                             description: The maximum amount of memory required.
                             type: string
                           name:
-                            default: integration
                             description: The main container name. It's named `integration`
                               by default.
                             type: string
                           port:
-                            default: 8080
                             description: To configure a different port exposed by
                               the container (default `8080`).
                             type: integer
@@ -6903,12 +6896,10 @@ spec:
                             description: The minimum amount of memory required.
                             type: string
                           servicePort:
-                            default: 80
                             description: To configure under which service port the
                               container port is to be exposed (default `80`).
                             type: integer
                           servicePortName:
-                            default: http
                             description: To configure under which service port name
                               the container port is to be exposed (default `http`).
                             type: string
@@ -6917,7 +6908,6 @@ spec:
                         description: The configuration of Cron trait
                         properties:
                           activeDeadlineSeconds:
-                            default: 60
                             description: Specifies the duration in seconds, relative
                               to the start time, that the job may be continuously
                               active before it is considered to be failed. It defaults
@@ -6935,7 +6925,6 @@ spec:
                               `35m` or `50s` cannot)."
                             type: boolean
                           backoffLimit:
-                            default: 2
                             description: Specifies the number of retries before marking
                               the job failed. It defaults to 2.
                             format: int32
@@ -7021,7 +7010,6 @@ spec:
                             - knative-service
                             type: string
                           useSSA:
-                            default: true
                             description: Use server-side apply to update the owned
                               resources (default `true`). Note that it automatically
                               falls back to client-side patching, if SSA is not available,
@@ -7040,14 +7028,12 @@ spec:
                             description: 'Deprecated: no longer in use.'
                             type: boolean
                           progressDeadlineSeconds:
-                            default: 60
                             description: The maximum time in seconds for the deployment
                               to make progress before it is considered to be failed.
                               It defaults to `60s`.
                             format: int32
                             type: integer
                           rollingUpdateMaxSurge:
-                            default: 25
                             description: 'The maximum number of pods that can be scheduled
                               above the desired number of pods. Value can be an absolute
                               number (ex: 5) or a percentage of desired pods (ex:
@@ -7056,7 +7042,6 @@ spec:
                               Defaults to `25%`.'
                             type: integer
                           rollingUpdateMaxUnavailable:
-                            default: 25
                             description: 'The maximum number of pods that can be unavailable
                               during the update. Value can be an absolute number (ex:
                               5) or a percentage of desired pods (ex: 10%). Absolute
@@ -7080,7 +7065,6 @@ spec:
                             type: object
                             x-kubernetes-preserve-unknown-fields: true
                           containerMeta:
-                            default: true
                             description: Enables injection of `NAMESPACE` and `POD_NAME`
                               environment variables (default `true`)
                             type: boolean
@@ -7088,7 +7072,6 @@ spec:
                             description: 'Deprecated: no longer in use.'
                             type: boolean
                           httpProxy:
-                            default: true
                             description: Propagates the `HTTP_PROXY`, `HTTPS_PROXY`
                               and `NO_PROXY` environment variables (default `true`)
                             type: boolean
@@ -7126,7 +7109,6 @@ spec:
                             type: object
                             x-kubernetes-preserve-unknown-fields: true
                           discoveryCache:
-                            default: memory
                             description: 'Discovery client cache to be used, either
                               `disabled`, `disk` or `memory` (default `memory`). Deprecated:
                               to be removed from trait configuration.'
@@ -7167,12 +7149,10 @@ spec:
                             format: int32
                             type: integer
                           livenessProbeEnabled:
-                            default: false
                             description: Configures the liveness probe for the integration
                               container (default `false`).
                             type: boolean
                           livenessScheme:
-                            default: HTTP
                             description: Scheme to use when connecting to the liveness
                               probe (default `HTTP`).
                             type: string
@@ -7201,12 +7181,10 @@ spec:
                             format: int32
                             type: integer
                           readinessProbeEnabled:
-                            default: true
                             description: Configures the readiness probe for the integration
                               container (default `true`).
                             type: boolean
                           readinessScheme:
-                            default: HTTP
                             description: Scheme to use when connecting to the readiness
                               probe (default `HTTP`).
                             type: string
@@ -7235,12 +7213,10 @@ spec:
                             format: int32
                             type: integer
                           startupProbeEnabled:
-                            default: false
                             description: Configures the startup probe for the integration
                               container (default `false`).
                             type: boolean
                           startupScheme:
-                            default: HTTP
                             description: Scheme to use when connecting to the startup
                               probe (default `HTTP`).
                             type: string
@@ -7282,12 +7258,10 @@ spec:
                             description: To configure the host exposed by the ingress.
                             type: string
                           path:
-                            default: /
                             description: To configure the path exposed by the ingress
                               (default `/`).
                             type: string
                           pathType:
-                            default: Prefix
                             description: To configure the path type exposed by the
                               ingress. One of `Exact`, `Prefix`, `ImplementationSpecific`
                               (default to `Prefix`).
@@ -7301,7 +7275,6 @@ spec:
                         description: The configuration of Istio trait
                         properties:
                           allow:
-                            default: 10.0.0.0/8,172.16.0.0/12,192.168.0.0/16
                             description: Configures a (comma-separated) list of CIDR
                               subnets that should not be intercepted by the Istio
                               proxy (`10.0.0.0/8,172.16.0.0/12,192.168.0.0/16` by
@@ -7348,7 +7321,6 @@ spec:
                             type: object
                             x-kubernetes-preserve-unknown-fields: true
                           discoveryEnabled:
-                            default: false
                             description: Listen for multicast requests (default `false`)
                             type: boolean
                           enabled:
@@ -7362,7 +7334,6 @@ spec:
                               is `true` (default `true` for OpenShift).
                             type: boolean
                           host:
-                            default: '*'
                             description: The Host address to which the Jolokia agent
                               should bind to. If `"\*"` or `"0.0.0.0"` is given, the
                               servers binds to every network interface (default `"*"`).
@@ -7379,7 +7350,6 @@ spec:
                               when the `user` option is set.
                             type: string
                           port:
-                            default: 8778
                             description: The Jolokia endpoint port (default `8778`).
                             type: integer
                           protocol:
@@ -7411,7 +7381,6 @@ spec:
                               can be attached to the JVM, e.g., using port-forwarding
                             type: boolean
                           debugAddress:
-                            default: '*:5005'
                             description: Transport address at which to listen for
                               the newly launched JVM (default `*:5005`)
                             type: string
@@ -7429,7 +7398,6 @@ spec:
                               type: string
                             type: array
                           printCommand:
-                            default: true
                             description: Prints the command used the start the JVM
                               in the container logs (default `true`)
                             type: boolean
@@ -7438,7 +7406,6 @@ spec:
                         description: The configuration of Kamelets trait
                         properties:
                           auto:
-                            default: true
                             description: Automatically inject all referenced Kamelets
                               and their default configuration (enabled by default)
                             type: boolean
@@ -7456,7 +7423,6 @@ spec:
                               load into the current integration
                             type: string
                           mountPoint:
-                            default: /etc/camel/kamelets
                             description: The directory where the application mounts
                               and reads Kamelet spec (default `/etc/camel/kamelets`)
                             type: string
@@ -7539,7 +7505,6 @@ spec:
                               by default.
                             type: boolean
                           namespaceLabel:
-                            default: true
                             description: 'Enables the camel-k-operator to set the
                               "bindings.knative.dev/include=true" label to the namespace
                               As Knative requires this label to perform injection
@@ -7657,7 +7622,6 @@ spec:
                             description: Enable "pretty printing" of the JSON logs
                             type: boolean
                           level:
-                            default: INFO
                             description: Adjust the logging level (defaults to `INFO`)
                             enum:
                             - FATAL
@@ -7701,7 +7665,6 @@ spec:
                             description: 'Deprecated: no longer in use.'
                             type: boolean
                           hotReload:
-                            default: false
                             description: Enable "hot reload" when a secret/configmap
                               mounted is edited (default `false`)
                             type: boolean
@@ -7811,7 +7774,6 @@ spec:
                             description: 'Deprecated: no longer in use.'
                             type: boolean
                           global:
-                            default: true
                             description: Indicates if the platform should be created
                               globally in the case of global operator (default true).
                             type: boolean
@@ -7842,7 +7804,6 @@ spec:
                               All traits share this common property.
                             type: boolean
                           podMonitor:
-                            default: true
                             description: Whether a `PodMonitor` resource is created
                               (default `true`).
                             type: boolean
@@ -7885,8 +7846,6 @@ spec:
                         description: The configuration of Quarkus trait
                         properties:
                           buildMode:
-                            default:
-                            - jvm
                             description: 'The Quarkus mode to run: either `jvm` or
                               `native` (default `jvm`). In case both `jvm` and `native`
                               are specified, two `IntegrationKit` resources are created,
@@ -7909,7 +7868,6 @@ spec:
                             description: 'Deprecated: no longer in use.'
                             type: boolean
                           nativeBaseImage:
-                            default: quay.io/quarkus/quarkus-micro-image:2.0
                             description: The base image to use when running a native
                               build (default `quay.io/quarkus/quarkus-micro-image:2.0`)
                             type: string
@@ -8074,7 +8032,6 @@ spec:
                               All traits share this common property.
                             type: boolean
                           nodePort:
-                            default: false
                             description: 'Enable Service to be exposed as NodePort
                               (default `false`). Deprecated: Use service type instead.'
                             type: boolean
diff --git a/helm/camel-k/crds/crd-pipe.yaml b/helm/camel-k/crds/crd-pipe.yaml
index eb1bfe2f6..2038cd3a5 100644
--- a/helm/camel-k/crds/crd-pipe.yaml
+++ b/helm/camel-k/crds/crd-pipe.yaml
@@ -6671,7 +6671,6 @@ spec:
                               type: string
                             type: array
                           podAffinity:
-                            default: false
                             description: Always co-locates multiple replicas of the
                               integration in the same node (default `false`).
                             type: boolean
@@ -6683,7 +6682,6 @@ spec:
                               type: string
                             type: array
                           podAntiAffinity:
-                            default: false
                             description: Never co-locates multiple replicas of the
                               integration in the same node (default `false`).
                             type: boolean
@@ -6711,7 +6709,6 @@ spec:
                             description: 'Deprecated: no longer in use.'
                             type: boolean
                           incrementalImageBuild:
-                            default: true
                             description: Use the incremental image build option, to
                               reuse existing containers (default `true`)
                             type: boolean
@@ -6746,7 +6743,6 @@ spec:
                               node.
                             type: object
                           orderStrategy:
-                            default: sequential
                             description: The build order strategy to use, either `dependencies`,
                               `fifo` or `sequential` (default `sequential`)
                             enum:
@@ -6771,7 +6767,6 @@ spec:
                               TasksRequestCPU instead with task name `builder`.'
                             type: string
                           strategy:
-                            default: routine
                             description: The strategy to use, either `pod` or `routine`
                               (default `routine`)
                             enum:
@@ -6880,12 +6875,10 @@ spec:
                             description: The maximum amount of memory required.
                             type: string
                           name:
-                            default: integration
                             description: The main container name. It's named `integration`
                               by default.
                             type: string
                           port:
-                            default: 8080
                             description: To configure a different port exposed by
                               the container (default `8080`).
                             type: integer
@@ -6901,12 +6894,10 @@ spec:
                             description: The minimum amount of memory required.
                             type: string
                           servicePort:
-                            default: 80
                             description: To configure under which service port the
                               container port is to be exposed (default `80`).
                             type: integer
                           servicePortName:
-                            default: http
                             description: To configure under which service port name
                               the container port is to be exposed (default `http`).
                             type: string
@@ -6915,7 +6906,6 @@ spec:
                         description: The configuration of Cron trait
                         properties:
                           activeDeadlineSeconds:
-                            default: 60
                             description: Specifies the duration in seconds, relative
                               to the start time, that the job may be continuously
                               active before it is considered to be failed. It defaults
@@ -6933,7 +6923,6 @@ spec:
                               `35m` or `50s` cannot)."
                             type: boolean
                           backoffLimit:
-                            default: 2
                             description: Specifies the number of retries before marking
                               the job failed. It defaults to 2.
                             format: int32
@@ -7019,7 +7008,6 @@ spec:
                             - knative-service
                             type: string
                           useSSA:
-                            default: true
                             description: Use server-side apply to update the owned
                               resources (default `true`). Note that it automatically
                               falls back to client-side patching, if SSA is not available,
@@ -7038,14 +7026,12 @@ spec:
                             description: 'Deprecated: no longer in use.'
                             type: boolean
                           progressDeadlineSeconds:
-                            default: 60
                             description: The maximum time in seconds for the deployment
                               to make progress before it is considered to be failed.
                               It defaults to `60s`.
                             format: int32
                             type: integer
                           rollingUpdateMaxSurge:
-                            default: 25
                             description: 'The maximum number of pods that can be scheduled
                               above the desired number of pods. Value can be an absolute
                               number (ex: 5) or a percentage of desired pods (ex:
@@ -7054,7 +7040,6 @@ spec:
                               Defaults to `25%`.'
                             type: integer
                           rollingUpdateMaxUnavailable:
-                            default: 25
                             description: 'The maximum number of pods that can be unavailable
                               during the update. Value can be an absolute number (ex:
                               5) or a percentage of desired pods (ex: 10%). Absolute
@@ -7078,7 +7063,6 @@ spec:
                             type: object
                             x-kubernetes-preserve-unknown-fields: true
                           containerMeta:
-                            default: true
                             description: Enables injection of `NAMESPACE` and `POD_NAME`
                               environment variables (default `true`)
                             type: boolean
@@ -7086,7 +7070,6 @@ spec:
                             description: 'Deprecated: no longer in use.'
                             type: boolean
                           httpProxy:
-                            default: true
                             description: Propagates the `HTTP_PROXY`, `HTTPS_PROXY`
                               and `NO_PROXY` environment variables (default `true`)
                             type: boolean
@@ -7124,7 +7107,6 @@ spec:
                             type: object
                             x-kubernetes-preserve-unknown-fields: true
                           discoveryCache:
-                            default: memory
                             description: 'Discovery client cache to be used, either
                               `disabled`, `disk` or `memory` (default `memory`). Deprecated:
                               to be removed from trait configuration.'
@@ -7165,12 +7147,10 @@ spec:
                             format: int32
                             type: integer
                           livenessProbeEnabled:
-                            default: false
                             description: Configures the liveness probe for the integration
                               container (default `false`).
                             type: boolean
                           livenessScheme:
-                            default: HTTP
                             description: Scheme to use when connecting to the liveness
                               probe (default `HTTP`).
                             type: string
@@ -7199,12 +7179,10 @@ spec:
                             format: int32
                             type: integer
                           readinessProbeEnabled:
-                            default: true
                             description: Configures the readiness probe for the integration
                               container (default `true`).
                             type: boolean
                           readinessScheme:
-                            default: HTTP
                             description: Scheme to use when connecting to the readiness
                               probe (default `HTTP`).
                             type: string
@@ -7233,12 +7211,10 @@ spec:
                             format: int32
                             type: integer
                           startupProbeEnabled:
-                            default: false
                             description: Configures the startup probe for the integration
                               container (default `false`).
                             type: boolean
                           startupScheme:
-                            default: HTTP
                             description: Scheme to use when connecting to the startup
                               probe (default `HTTP`).
                             type: string
@@ -7280,12 +7256,10 @@ spec:
                             description: To configure the host exposed by the ingress.
                             type: string
                           path:
-                            default: /
                             description: To configure the path exposed by the ingress
                               (default `/`).
                             type: string
                           pathType:
-                            default: Prefix
                             description: To configure the path type exposed by the
                               ingress. One of `Exact`, `Prefix`, `ImplementationSpecific`
                               (default to `Prefix`).
@@ -7299,7 +7273,6 @@ spec:
                         description: The configuration of Istio trait
                         properties:
                           allow:
-                            default: 10.0.0.0/8,172.16.0.0/12,192.168.0.0/16
                             description: Configures a (comma-separated) list of CIDR
                               subnets that should not be intercepted by the Istio
                               proxy (`10.0.0.0/8,172.16.0.0/12,192.168.0.0/16` by
@@ -7346,7 +7319,6 @@ spec:
                             type: object
                             x-kubernetes-preserve-unknown-fields: true
                           discoveryEnabled:
-                            default: false
                             description: Listen for multicast requests (default `false`)
                             type: boolean
                           enabled:
@@ -7360,7 +7332,6 @@ spec:
                               is `true` (default `true` for OpenShift).
                             type: boolean
                           host:
-                            default: '*'
                             description: The Host address to which the Jolokia agent
                               should bind to. If `"\*"` or `"0.0.0.0"` is given, the
                               servers binds to every network interface (default `"*"`).
@@ -7377,7 +7348,6 @@ spec:
                               when the `user` option is set.
                             type: string
                           port:
-                            default: 8778
                             description: The Jolokia endpoint port (default `8778`).
                             type: integer
                           protocol:
@@ -7409,7 +7379,6 @@ spec:
                               can be attached to the JVM, e.g., using port-forwarding
                             type: boolean
                           debugAddress:
-                            default: '*:5005'
                             description: Transport address at which to listen for
                               the newly launched JVM (default `*:5005`)
                             type: string
@@ -7427,7 +7396,6 @@ spec:
                               type: string
                             type: array
                           printCommand:
-                            default: true
                             description: Prints the command used the start the JVM
                               in the container logs (default `true`)
                             type: boolean
@@ -7436,7 +7404,6 @@ spec:
                         description: The configuration of Kamelets trait
                         properties:
                           auto:
-                            default: true
                             description: Automatically inject all referenced Kamelets
                               and their default configuration (enabled by default)
                             type: boolean
@@ -7454,7 +7421,6 @@ spec:
                               load into the current integration
                             type: string
                           mountPoint:
-                            default: /etc/camel/kamelets
                             description: The directory where the application mounts
                               and reads Kamelet spec (default `/etc/camel/kamelets`)
                             type: string
@@ -7537,7 +7503,6 @@ spec:
                               by default.
                             type: boolean
                           namespaceLabel:
-                            default: true
                             description: 'Enables the camel-k-operator to set the
                               "bindings.knative.dev/include=true" label to the namespace
                               As Knative requires this label to perform injection
@@ -7655,7 +7620,6 @@ spec:
                             description: Enable "pretty printing" of the JSON logs
                             type: boolean
                           level:
-                            default: INFO
                             description: Adjust the logging level (defaults to `INFO`)
                             enum:
                             - FATAL
@@ -7699,7 +7663,6 @@ spec:
                             description: 'Deprecated: no longer in use.'
                             type: boolean
                           hotReload:
-                            default: false
                             description: Enable "hot reload" when a secret/configmap
                               mounted is edited (default `false`)
                             type: boolean
@@ -7809,7 +7772,6 @@ spec:
                             description: 'Deprecated: no longer in use.'
                             type: boolean
                           global:
-                            default: true
                             description: Indicates if the platform should be created
                               globally in the case of global operator (default true).
                             type: boolean
@@ -7840,7 +7802,6 @@ spec:
                               All traits share this common property.
                             type: boolean
                           podMonitor:
-                            default: true
                             description: Whether a `PodMonitor` resource is created
                               (default `true`).
                             type: boolean
@@ -7883,8 +7844,6 @@ spec:
                         description: The configuration of Quarkus trait
                         properties:
                           buildMode:
-                            default:
-                            - jvm
                             description: 'The Quarkus mode to run: either `jvm` or
                               `native` (default `jvm`). In case both `jvm` and `native`
                               are specified, two `IntegrationKit` resources are created,
@@ -7907,7 +7866,6 @@ spec:
                             description: 'Deprecated: no longer in use.'
                             type: boolean
                           nativeBaseImage:
-                            default: quay.io/quarkus/quarkus-micro-image:2.0
                             description: The base image to use when running a native
                               build (default `quay.io/quarkus/quarkus-micro-image:2.0`)
                             type: string
@@ -8072,7 +8030,6 @@ spec:
                               All traits share this common property.
                             type: boolean
                           nodePort:
-                            default: false
                             description: 'Enable Service to be exposed as NodePort
                               (default `false`). Deprecated: Use service type instead.'
                             type: boolean
diff --git a/pkg/apis/camel/v1/trait/affinity.go b/pkg/apis/camel/v1/trait/affinity.go
index ed19599f8..f2a7c45ae 100644
--- a/pkg/apis/camel/v1/trait/affinity.go
+++ b/pkg/apis/camel/v1/trait/affinity.go
@@ -25,10 +25,8 @@ package trait
 // +camel-k:trait=affinity.
 type AffinityTrait struct {
 	Trait `property:",squash" json:",inline"`
-	// +kubebuilder:default=false
 	// Always co-locates multiple replicas of the integration in the same node (default `false`).
 	PodAffinity *bool `property:"pod-affinity" json:"podAffinity,omitempty"`
-	// +kubebuilder:default=false
 	// Never co-locates multiple replicas of the integration in the same node (default `false`).
 	PodAntiAffinity *bool `property:"pod-anti-affinity" json:"podAntiAffinity,omitempty"`
 	// Defines a set of nodes the integration pod(s) are eligible to be scheduled on, based on labels on the node.
diff --git a/pkg/apis/camel/v1/trait/builder.go b/pkg/apis/camel/v1/trait/builder.go
index b628a190f..f8b495a5b 100644
--- a/pkg/apis/camel/v1/trait/builder.go
+++ b/pkg/apis/camel/v1/trait/builder.go
@@ -30,16 +30,13 @@ type BuilderTrait struct {
 	Properties []string `property:"properties" json:"properties,omitempty"`
 	// The strategy to use, either `pod` or `routine` (default `routine`)
 	// +kubebuilder:validation:Enum=pod;routine
-	// +kubebuilder:default="routine"
 	Strategy string `property:"strategy" json:"strategy,omitempty"`
 	// Specify a base image
 	BaseImage string `property:"base-image" json:"baseImage,omitempty"`
 	// Use the incremental image build option, to reuse existing containers (default `true`)
-	// +kubebuilder:default=true
 	IncrementalImageBuild *bool `property:"incremental-image-build" json:"incrementalImageBuild,omitempty"`
 	// The build order strategy to use, either `dependencies`, `fifo` or `sequential` (default `sequential`)
 	// +kubebuilder:validation:Enum=dependencies;fifo;sequential
-	// +kubebuilder:default="sequential"
 	OrderStrategy string `property:"order-strategy" json:"orderStrategy,omitempty"`
 	// When using `pod` strategy, the minimum amount of CPU required by the pod builder.
 	// Deprecated: use TasksRequestCPU instead with task name `builder`.
diff --git a/pkg/apis/camel/v1/trait/container.go b/pkg/apis/camel/v1/trait/container.go
index 4745c179c..d5791ec38 100644
--- a/pkg/apis/camel/v1/trait/container.go
+++ b/pkg/apis/camel/v1/trait/container.go
@@ -40,18 +40,14 @@ type ContainerTrait struct {
 	// Can be used to enable/disable exposure via kubernetes Service.
 	Expose *bool `property:"expose" json:"expose,omitempty"`
 	// To configure a different port exposed by the container (default `8080`).
-	// +kubebuilder:default=8080
 	Port int `property:"port" json:"port,omitempty"`
 	// To configure a different port name for the port exposed by the container. It defaults to `http` only when the `expose` parameter is true.
 	PortName string `property:"port-name" json:"portName,omitempty"`
 	// To configure under which service port the container port is to be exposed (default `80`).
-	// +kubebuilder:default=80
 	ServicePort int `property:"service-port" json:"servicePort,omitempty"`
 	// To configure under which service port name the container port is to be exposed (default `http`).
-	// +kubebuilder:default="http"
 	ServicePortName string `property:"service-port-name" json:"servicePortName,omitempty"`
 	// The main container name. It's named `integration` by default.
-	// +kubebuilder:default="integration"
 	Name string `property:"name" json:"name,omitempty"`
 	// The main container image
 	Image string `property:"image" json:"image,omitempty"`
diff --git a/pkg/apis/camel/v1/trait/cron.go b/pkg/apis/camel/v1/trait/cron.go
index d1ded9b6a..33f095a87 100644
--- a/pkg/apis/camel/v1/trait/cron.go
+++ b/pkg/apis/camel/v1/trait/cron.go
@@ -68,10 +68,8 @@ type CronTrait struct {
 	// Specifies the duration in seconds, relative to the start time, that the job
 	// may be continuously active before it is considered to be failed.
 	// It defaults to 60s.
-	// +kubebuilder:default=60
 	ActiveDeadlineSeconds *int64 `property:"active-deadline-seconds" json:"activeDeadlineSeconds,omitempty"`
 	// Specifies the number of retries before marking the job failed.
 	// It defaults to 2.
-	// +kubebuilder:default=2
 	BackoffLimit *int32 `property:"backoff-limit" json:"backoffLimit,omitempty"`
 }
diff --git a/pkg/apis/camel/v1/trait/deployer.go b/pkg/apis/camel/v1/trait/deployer.go
index 673fb91e3..70d140ec4 100644
--- a/pkg/apis/camel/v1/trait/deployer.go
+++ b/pkg/apis/camel/v1/trait/deployer.go
@@ -28,6 +28,5 @@ type DeployerTrait struct {
 	Kind string `property:"kind" json:"kind,omitempty"`
 	// Use server-side apply to update the owned resources (default `true`).
 	// Note that it automatically falls back to client-side patching, if SSA is not available, e.g., on old Kubernetes clusters.
-	// +kubebuilder:default=true
 	UseSSA *bool `property:"use-ssa" json:"useSSA,omitempty"`
 }
diff --git a/pkg/apis/camel/v1/trait/deployment.go b/pkg/apis/camel/v1/trait/deployment.go
index 86db8a1a7..3e8092df6 100644
--- a/pkg/apis/camel/v1/trait/deployment.go
+++ b/pkg/apis/camel/v1/trait/deployment.go
@@ -29,7 +29,6 @@ type DeploymentTrait struct {
 	PlatformBaseTrait `property:",squash" json:",inline"`
 	// The maximum time in seconds for the deployment to make progress before it
 	// is considered to be failed. It defaults to `60s`.
-	// +kubebuilder:default=60
 	ProgressDeadlineSeconds *int32 `property:"progress-deadline-seconds" json:"progressDeadlineSeconds,omitempty"`
 	// The deployment strategy to use to replace existing pods with new ones.
 	// +kubebuilder:validation:Enum=Recreate;RollingUpdate
@@ -39,7 +38,6 @@ type DeploymentTrait struct {
 	// Absolute number is calculated from percentage by rounding down.
 	// This can not be 0 if MaxSurge is 0.
 	// Defaults to `25%`.
-	// +kubebuilder:default=25
 	RollingUpdateMaxUnavailable *int `property:"rolling-update-max-unavailable" json:"rollingUpdateMaxUnavailable,omitempty"`
 	// The maximum number of pods that can be scheduled above the desired number of
 	// pods.
@@ -47,6 +45,5 @@ type DeploymentTrait struct {
 	// This can not be 0 if MaxUnavailable is 0.
 	// Absolute number is calculated from percentage by rounding up.
 	// Defaults to `25%`.
-	// +kubebuilder:default=25
 	RollingUpdateMaxSurge *int `property:"rolling-update-max-surge" json:"rollingUpdateMaxSurge,omitempty"`
 }
diff --git a/pkg/apis/camel/v1/trait/environment.go b/pkg/apis/camel/v1/trait/environment.go
index a96b03fb7..da3c423e5 100644
--- a/pkg/apis/camel/v1/trait/environment.go
+++ b/pkg/apis/camel/v1/trait/environment.go
@@ -24,10 +24,8 @@ package trait
 type EnvironmentTrait struct {
 	PlatformBaseTrait `property:",squash" json:",inline"`
 	// Enables injection of `NAMESPACE` and `POD_NAME` environment variables (default `true`)
-	// +kubebuilder:default=true
 	ContainerMeta *bool `property:"container-meta" json:"containerMeta,omitempty"`
 	// Propagates the `HTTP_PROXY`, `HTTPS_PROXY` and `NO_PROXY` environment variables (default `true`)
-	// +kubebuilder:default=true
 	HTTPProxy *bool `property:"http-proxy" json:"httpProxy,omitempty"`
 	// A list of environment variables to be added to the integration container.
 	// The syntax is KEY=VALUE, e.g., `MY_VAR="my value"`.
diff --git a/pkg/apis/camel/v1/trait/gc.go b/pkg/apis/camel/v1/trait/gc.go
index b9ce87946..e61b161f1 100644
--- a/pkg/apis/camel/v1/trait/gc.go
+++ b/pkg/apis/camel/v1/trait/gc.go
@@ -24,7 +24,6 @@ type GCTrait struct {
 	Trait `property:",squash" json:",inline"`
 	// Discovery client cache to be used, either `disabled`, `disk` or `memory` (default `memory`).
 	// Deprecated: to be removed from trait configuration.
-	// +kubebuilder:default="memory"
 	DiscoveryCache *DiscoveryCacheType `property:"discovery-cache" json:"discoveryCache,omitempty"`
 }
 
diff --git a/pkg/apis/camel/v1/trait/health.go b/pkg/apis/camel/v1/trait/health.go
index 1d09aff4b..587249afe 100644
--- a/pkg/apis/camel/v1/trait/health.go
+++ b/pkg/apis/camel/v1/trait/health.go
@@ -26,10 +26,8 @@ type HealthTrait struct {
 	Trait `property:",squash" json:",inline"`
 
 	// Configures the liveness probe for the integration container (default `false`).
-	// +kubebuilder:default=false
 	LivenessProbeEnabled *bool `property:"liveness-probe-enabled" json:"livenessProbeEnabled,omitempty"`
 	// Scheme to use when connecting to the liveness probe (default `HTTP`).
-	// +kubebuilder:default="HTTP"
 	LivenessScheme string `property:"liveness-scheme" json:"livenessScheme,omitempty"`
 	// Number of seconds after the container has started before the liveness probe is initiated.
 	LivenessInitialDelay int32 `property:"liveness-initial-delay" json:"livenessInitialDelay,omitempty"`
@@ -43,10 +41,8 @@ type HealthTrait struct {
 	LivenessFailureThreshold int32 `property:"liveness-failure-threshold" json:"livenessFailureThreshold,omitempty"`
 
 	// Configures the readiness probe for the integration container (default `true`).
-	// +kubebuilder:default=true
 	ReadinessProbeEnabled *bool `property:"readiness-probe-enabled" json:"readinessProbeEnabled,omitempty"`
 	// Scheme to use when connecting to the readiness probe (default `HTTP`).
-	// +kubebuilder:default="HTTP"
 	ReadinessScheme string `property:"readiness-scheme" json:"readinessScheme,omitempty"`
 	// Number of seconds after the container has started before the readiness probe is initiated.
 	ReadinessInitialDelay int32 `property:"readiness-initial-delay" json:"readinessInitialDelay,omitempty"`
@@ -60,10 +56,8 @@ type HealthTrait struct {
 	ReadinessFailureThreshold int32 `property:"readiness-failure-threshold" json:"readinessFailureThreshold,omitempty"`
 
 	// Configures the startup probe for the integration container (default `false`).
-	// +kubebuilder:default=false
 	StartupProbeEnabled *bool `property:"startup-probe-enabled" json:"startupProbeEnabled,omitempty"`
 	// Scheme to use when connecting to the startup probe (default `HTTP`).
-	// +kubebuilder:default="HTTP"
 	StartupScheme string `property:"startup-scheme" json:"startupScheme,omitempty"`
 	// Number of seconds after the container has started before the startup probe is initiated.
 	StartupInitialDelay int32 `property:"startup-initial-delay" json:"startupInitialDelay,omitempty"`
diff --git a/pkg/apis/camel/v1/trait/ingress.go b/pkg/apis/camel/v1/trait/ingress.go
index 71ce634eb..128b36f02 100644
--- a/pkg/apis/camel/v1/trait/ingress.go
+++ b/pkg/apis/camel/v1/trait/ingress.go
@@ -34,12 +34,10 @@ type IngressTrait struct {
 	// To configure the host exposed by the ingress.
 	Host string `property:"host" json:"host,omitempty"`
 	// To configure the path exposed by the ingress (default `/`).
-	// +kubebuilder:default="/"
 	Path string `property:"path" json:"path,omitempty"`
 	// To configure the path type exposed by the ingress.
 	// One of `Exact`, `Prefix`, `ImplementationSpecific` (default to `Prefix`).
 	// +kubebuilder:validation:Enum=Exact;Prefix;ImplementationSpecific
-	// +kubebuilder:default="Prefix"
 	PathType *networkingv1.PathType `property:"path-type" json:"pathType,omitempty"`
 	// To automatically add an ingress whenever the integration uses an HTTP endpoint consumer.
 	Auto *bool `property:"auto" json:"auto,omitempty"`
diff --git a/pkg/apis/camel/v1/trait/istio.go b/pkg/apis/camel/v1/trait/istio.go
index 63045b6ad..b7dbba574 100644
--- a/pkg/apis/camel/v1/trait/istio.go
+++ b/pkg/apis/camel/v1/trait/istio.go
@@ -24,7 +24,6 @@ package trait
 type IstioTrait struct {
 	Trait `property:",squash" json:",inline"`
 	// Configures a (comma-separated) list of CIDR subnets that should not be intercepted by the Istio proxy (`10.0.0.0/8,172.16.0.0/12,192.168.0.0/16` by default).
-	// +kubebuilder:default="10.0.0.0/8,172.16.0.0/12,192.168.0.0/16"
 	Allow string `property:"allow" json:"allow,omitempty"`
 	// Forces the value for labels `sidecar.istio.io/inject`. By default the label is set to `true` on deployment and not set on Knative Service.
 	Inject *bool `property:"inject" json:"inject,omitempty"`
diff --git a/pkg/apis/camel/v1/trait/jolokia.go b/pkg/apis/camel/v1/trait/jolokia.go
index fa76ec8a9..af8188825 100644
--- a/pkg/apis/camel/v1/trait/jolokia.go
+++ b/pkg/apis/camel/v1/trait/jolokia.go
@@ -34,7 +34,6 @@ type JolokiaTrait struct {
 	// (default `clientPrincipal=cn=system:master-proxy`, `cn=hawtio-online.hawtio.svc` and `cn=fuse-console.fuse.svc` for OpenShift).
 	ClientPrincipal []string `property:"client-principal" json:"clientPrincipal,omitempty"`
 	// Listen for multicast requests (default `false`)
-	// +kubebuilder:default=false
 	DiscoveryEnabled *bool `property:"discovery-enabled" json:"discoveryEnabled,omitempty"`
 	// Mandate the client certificate contains a client flag in the extended key usage section,
 	// applicable when `protocol` is `https` and `use-ssl-client-authentication` is `true`
@@ -42,12 +41,10 @@ type JolokiaTrait struct {
 	ExtendedClientCheck *bool `property:"extended-client-check" json:"extendedClientCheck,omitempty"`
 	// The Host address to which the Jolokia agent should bind to. If `"\*"` or `"0.0.0.0"` is given,
 	// the servers binds to every network interface (default `"*"`).
-	// +kubebuilder:default="*"
 	Host *string `property:"host" json:"host,omitempty"`
 	// The password used for authentication, applicable when the `user` option is set.
 	Password *string `property:"password" json:"password,omitempty"`
 	// The Jolokia endpoint port (default `8778`).
-	// +kubebuilder:default=8778
 	Port int `property:"port" json:"port,omitempty"`
 	// The protocol to use, either `http` or `https` (default `https` for OpenShift)
 	Protocol *string `property:"protocol" json:"protocol,omitempty"`
diff --git a/pkg/apis/camel/v1/trait/jvm.go b/pkg/apis/camel/v1/trait/jvm.go
index 3570e4440..2a08fcf0b 100644
--- a/pkg/apis/camel/v1/trait/jvm.go
+++ b/pkg/apis/camel/v1/trait/jvm.go
@@ -31,10 +31,8 @@ type JVMTrait struct {
 	// Suspends the target JVM immediately before the main class is loaded
 	DebugSuspend *bool `property:"debug-suspend" json:"debugSuspend,omitempty"`
 	// Prints the command used the start the JVM in the container logs (default `true`)
-	// +kubebuilder:default=true
 	PrintCommand *bool `property:"print-command" json:"printCommand,omitempty"`
 	// Transport address at which to listen for the newly launched JVM (default `*:5005`)
-	// +kubebuilder:default="*:5005"
 	DebugAddress string `property:"debug-address" json:"debugAddress,omitempty"`
 	// A list of JVM options
 	Options []string `property:"options" json:"options,omitempty"`
diff --git a/pkg/apis/camel/v1/trait/kamelets.go b/pkg/apis/camel/v1/trait/kamelets.go
index 1072ea2c7..8b9cfd6b0 100644
--- a/pkg/apis/camel/v1/trait/kamelets.go
+++ b/pkg/apis/camel/v1/trait/kamelets.go
@@ -23,11 +23,9 @@ package trait
 type KameletsTrait struct {
 	Trait `property:",squash" json:",inline"`
 	// Automatically inject all referenced Kamelets and their default configuration (enabled by default)
-	// +kubebuilder:default=true
 	Auto *bool `property:"auto" json:"auto,omitempty"`
 	// Comma separated list of Kamelet names to load into the current integration
 	List string `property:"list" json:"list,omitempty"`
 	// The directory where the application mounts and reads Kamelet spec (default `/etc/camel/kamelets`)
-	// +kubebuilder:default="/etc/camel/kamelets"
 	MountPoint string `property:"mount-point" json:"mountPoint,omitempty"`
 }
diff --git a/pkg/apis/camel/v1/trait/knative.go b/pkg/apis/camel/v1/trait/knative.go
index 160f106c2..4495c6a48 100644
--- a/pkg/apis/camel/v1/trait/knative.go
+++ b/pkg/apis/camel/v1/trait/knative.go
@@ -60,6 +60,5 @@ type KnativeTrait struct {
 	// Enables the camel-k-operator to set the "bindings.knative.dev/include=true" label to the namespace
 	// As Knative requires this label to perform injection of K_SINK URL into the service.
 	// If this is false, the integration pod may start and fail, read the SinkBinding Knative documentation. (default: true)
-	// +kubebuilder:default=true
 	NamespaceLabel *bool `property:"namespace-label" json:"namespaceLabel,omitempty"`
 }
diff --git a/pkg/apis/camel/v1/trait/logging.go b/pkg/apis/camel/v1/trait/logging.go
index 3da324651..11c083ad3 100644
--- a/pkg/apis/camel/v1/trait/logging.go
+++ b/pkg/apis/camel/v1/trait/logging.go
@@ -29,7 +29,6 @@ type LoggingTrait struct {
 	Format string `property:"format" json:"format,omitempty"`
 	// Adjust the logging level (defaults to `INFO`)
 	// +kubebuilder:validation:Enum=FATAL;WARN;INFO;DEBUG;TRACE
-	// +kubebuilder:default="INFO"
 	Level string `property:"level" json:"level,omitempty"`
 	// Output the logs in JSON
 	JSON *bool `property:"json" json:"json,omitempty"`
diff --git a/pkg/apis/camel/v1/trait/mount.go b/pkg/apis/camel/v1/trait/mount.go
index 3542d0145..48b44f20e 100644
--- a/pkg/apis/camel/v1/trait/mount.go
+++ b/pkg/apis/camel/v1/trait/mount.go
@@ -36,6 +36,5 @@ type MountTrait struct {
 	// A list of Persistent Volume Claims to be mounted. Syntax: [pvcname:/container/path]
 	Volumes []string `property:"volumes" json:"volumes,omitempty"`
 	// Enable "hot reload" when a secret/configmap mounted is edited (default `false`)
-	// +kubebuilder:default=false
 	HotReload *bool `property:"hot-reload" json:"hotReload,omitempty"`
 }
diff --git a/pkg/apis/camel/v1/trait/platform.go b/pkg/apis/camel/v1/trait/platform.go
index a7f4a78b9..116de6ad0 100644
--- a/pkg/apis/camel/v1/trait/platform.go
+++ b/pkg/apis/camel/v1/trait/platform.go
@@ -29,7 +29,6 @@ type PlatformTrait struct {
 	// To create a default (empty) platform when the platform is missing.
 	CreateDefault *bool `property:"create-default" json:"createDefault,omitempty"`
 	// Indicates if the platform should be created globally in the case of global operator (default true).
-	// +kubebuilder:default=true
 	Global *bool `property:"global" json:"global,omitempty"`
 	// To automatically detect from the environment if a default platform can be created (it will be created on OpenShift only).
 	Auto *bool `property:"auto" json:"auto,omitempty"`
diff --git a/pkg/apis/camel/v1/trait/prometheus.go b/pkg/apis/camel/v1/trait/prometheus.go
index 56c3a3bc8..552375c4a 100644
--- a/pkg/apis/camel/v1/trait/prometheus.go
+++ b/pkg/apis/camel/v1/trait/prometheus.go
@@ -34,7 +34,6 @@ package trait
 type PrometheusTrait struct {
 	Trait `property:",squash" json:",inline"`
 	// Whether a `PodMonitor` resource is created (default `true`).
-	// +kubebuilder:default=true
 	PodMonitor *bool `property:"pod-monitor" json:"podMonitor,omitempty"`
 	// The `PodMonitor` resource labels, applicable when `pod-monitor` is `true`.
 	PodMonitorLabels []string `property:"pod-monitor-labels" json:"podMonitorLabels,omitempty"`
diff --git a/pkg/apis/camel/v1/trait/quarkus.go b/pkg/apis/camel/v1/trait/quarkus.go
index fa8337524..21752dc29 100644
--- a/pkg/apis/camel/v1/trait/quarkus.go
+++ b/pkg/apis/camel/v1/trait/quarkus.go
@@ -39,10 +39,8 @@ type QuarkusTrait struct {
 	// The Quarkus mode to run: either `jvm` or `native` (default `jvm`).
 	// In case both `jvm` and `native` are specified, two `IntegrationKit` resources are created,
 	// with the `native` kit having precedence over the `jvm` one once ready.
-	// +kubebuilder:default={"jvm"}
 	Modes []QuarkusMode `property:"build-mode" json:"buildMode,omitempty"`
 	// The base image to use when running a native build (default `quay.io/quarkus/quarkus-micro-image:2.0`)
-	// +kubebuilder:default="quay.io/quarkus/quarkus-micro-image:2.0"
 	NativeBaseImage string `property:"native-base-image" json:"nativeBaseImage,omitempty"`
 	// The image containing the tooling required for a native build (by default it will use the one provided in the runtime catalog)
 	NativeBuilderImage string `property:"native-builder-image" json:"nativeBuilderImage,omitempty"`
diff --git a/pkg/apis/camel/v1/trait/service.go b/pkg/apis/camel/v1/trait/service.go
index dcb0853f2..d16baae42 100644
--- a/pkg/apis/camel/v1/trait/service.go
+++ b/pkg/apis/camel/v1/trait/service.go
@@ -29,7 +29,6 @@ type ServiceTrait struct {
 	Auto *bool `property:"auto" json:"auto,omitempty"`
 	// Enable Service to be exposed as NodePort (default `false`).
 	// Deprecated: Use service type instead.
-	// +kubebuilder:default=false
 	NodePort *bool `property:"node-port" json:"nodePort,omitempty"`
 	// The type of service to be used, either 'ClusterIP', 'NodePort' or 'LoadBalancer'.
 	// +kubebuilder:validation:Enum=ClusterIP;NodePort;LoadBalancer