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


The following commit(s) were added to refs/heads/main by this push:
     new 462016faf feat(dependencies): golang version 1.25
462016faf is described below

commit 462016faf8ee428accaef560df5255f166ef19c3
Author: Pasquale Congiusti <[email protected]>
AuthorDate: Sat Sep 20 09:53:33 2025 +0200

    feat(dependencies): golang version 1.25
    
    Also refactoring lint to version 2 formatting
---
 .golangci.yml                                      | 133 ++++++++++-----------
 addons/keda/duck/v1alpha1/duck_types.go            |   6 +-
 addons/keda/keda.go                                |   5 +-
 cmd/util/doc-gen/generators/traitdocgen.go         |   1 +
 cmd/util/doc-gen/generators/traitmetadatagen.go    |   1 +
 go.mod                                             |   2 +-
 pkg/apis/camel/v1/build_types.go                   |   9 +-
 pkg/apis/camel/v1/camelcatalog_types.go            |   6 +-
 pkg/apis/camel/v1/common_types.go                  |   1 +
 pkg/apis/camel/v1/error_handler_types_support.go   |   2 +
 pkg/apis/camel/v1/integration_types.go             |   3 +-
 pkg/apis/camel/v1/integrationkit_types.go          |   3 +-
 pkg/apis/camel/v1/integrationplatform_types.go     |   4 +-
 pkg/apis/camel/v1/integrationprofile_types.go      |   4 +-
 pkg/apis/camel/v1/pipe_types.go                    |   3 +-
 pkg/apis/camel/v1/trait/affinity.go                |   1 +
 pkg/apis/camel/v1/trait/builder.go                 |   1 +
 pkg/apis/camel/v1/trait/camel.go                   |   1 +
 pkg/apis/camel/v1/trait/container.go               |   1 +
 pkg/apis/camel/v1/trait/cron.go                    |   1 +
 pkg/apis/camel/v1/trait/deployer.go                |   1 +
 pkg/apis/camel/v1/trait/deployment.go              |   1 +
 pkg/apis/camel/v1/trait/environment.go             |   1 +
 pkg/apis/camel/v1/trait/error_handler.go           |   1 +
 pkg/apis/camel/v1/trait/gc.go                      |   1 +
 pkg/apis/camel/v1/trait/ingress.go                 |   1 +
 pkg/apis/camel/v1/trait/init_containers.go         |   1 +
 pkg/apis/camel/v1/trait/istio.go                   |   1 +
 pkg/apis/camel/v1/trait/jolokia.go                 |   1 +
 pkg/apis/camel/v1/trait/jvm.go                     |   1 +
 pkg/apis/camel/v1/trait/kamelets.go                |   1 +
 pkg/apis/camel/v1/trait/knative.go                 |   1 +
 pkg/apis/camel/v1/trait/knative_service.go         |   1 +
 pkg/apis/camel/v1/trait/logging.go                 |   1 +
 pkg/apis/camel/v1/trait/master.go                  |   1 +
 pkg/apis/camel/v1/trait/mount.go                   |   1 +
 pkg/apis/camel/v1/trait/openapi.go                 |   1 +
 pkg/apis/camel/v1/trait/owner.go                   |   1 +
 pkg/apis/camel/v1/trait/pdb.go                     |   1 +
 pkg/apis/camel/v1/trait/platform.go                |   1 +
 pkg/apis/camel/v1/trait/prometheus.go              |   1 +
 pkg/apis/camel/v1/trait/pull_secret.go             |   1 +
 pkg/apis/camel/v1/trait/quarkus.go                 |   1 +
 pkg/apis/camel/v1/trait/route.go                   |   1 +
 pkg/apis/camel/v1/trait/security_context.go        |   1 +
 pkg/apis/camel/v1/trait/service.go                 |   1 +
 pkg/apis/camel/v1/trait/service_binding.go         |   1 +
 pkg/apis/camel/v1/trait/telemetry.go               |   1 +
 pkg/apis/camel/v1/trait/toleration.go              |   1 +
 pkg/apis/duck/strimzi/v1beta2/duck_types.go        |   9 +-
 pkg/builder/image.go                               |   2 +-
 pkg/builder/quarkus.go                             |   2 +-
 pkg/builder/types.go                               |   1 +
 pkg/client/client.go                               |   1 +
 pkg/cmd/bind.go                                    |   4 +-
 pkg/cmd/builder.go                                 |   1 +
 pkg/cmd/debug.go                                   |   7 +-
 pkg/cmd/delete.go                                  |   1 +
 pkg/cmd/dump.go                                    |   1 +
 pkg/cmd/kit_delete.go                              |   1 +
 pkg/cmd/kit_get.go                                 |   1 +
 pkg/cmd/log.go                                     |   1 +
 pkg/cmd/promote.go                                 |   1 +
 pkg/cmd/rebuild.go                                 |   1 +
 pkg/cmd/reset.go                                   |   1 +
 pkg/cmd/run.go                                     |   6 +-
 pkg/cmd/version.go                                 |   9 +-
 pkg/controller/build/initialize_pod.go             |   1 +
 pkg/controller/build/monitor_pod.go                |   1 +
 pkg/controller/build/monitor_routine.go            |   5 +-
 pkg/controller/build/recovery.go                   |   1 +
 pkg/controller/build/schedule.go                   |   1 +
 pkg/controller/integration/build.go                |   5 +-
 .../integration/integration_controller.go          |   2 +-
 pkg/controller/integrationkit/build.go             |   6 +-
 pkg/controller/integrationplatform/kamelets.go     |   2 +-
 pkg/install/openshift.go                           |   2 +
 pkg/internal/client.go                             |   3 +
 pkg/metadata/metadata_dependencies_test.go         |   4 +-
 pkg/platform/defaults.go                           |   7 +-
 pkg/trait/camel.go                                 |   1 +
 pkg/trait/container.go                             |   5 +-
 pkg/trait/health.go                                |   6 +-
 pkg/trait/init_containers.go                       |   2 +-
 pkg/trait/kamelets.go                              |   2 +-
 pkg/trait/knative.go                               |   5 +-
 pkg/trait/knative_service.go                       |   2 +-
 pkg/trait/master.go                                |   3 +-
 pkg/trait/mount.go                                 |  10 +-
 pkg/trait/owner.go                                 |   2 +-
 pkg/trait/platform.go                              |   1 +
 pkg/trait/route.go                                 |   3 +-
 pkg/trait/service.go                               |   3 +-
 pkg/trait/telemetry.go                             |   6 +-
 pkg/trait/trait_types.go                           |   6 +-
 pkg/trait/util.go                                  |   8 +-
 pkg/util/bindings/service_ref.go                   |   2 +-
 pkg/util/digest/digest.go                          |   6 +-
 pkg/util/knative/apis.go                           |   1 +
 pkg/util/kubernetes/collection.go                  |  10 +-
 pkg/util/kubernetes/replace.go                     |   4 +-
 pkg/util/maven/maven_command.go                    |   8 +-
 pkg/util/openshift/openshift.go                    |   6 +-
 pkg/util/s2i/build.go                              |   7 +-
 pkg/util/source/inspector.go                       |   7 +-
 pkg/util/source/inspector_xml.go                   |   3 +-
 pkg/util/source/inspector_yaml.go                  |   4 +-
 pkg/util/watch/watch.go                            |   2 +-
 script/Makefile                                    |   8 +-
 109 files changed, 262 insertions(+), 178 deletions(-)

diff --git a/.golangci.yml b/.golangci.yml
index d09cd478f..88e36de6d 100644
--- a/.golangci.yml
+++ b/.golangci.yml
@@ -15,100 +15,89 @@
 # limitations under the License.
 # ---------------------------------------------------------------------------
 
-linters-settings:
-  lll:
-    line-length: 170
-  mnd:
-    checks:
-      - argument
-      - case
-      - operation
-      - return
-      - assign
-    ignored-functions:
-      - '^len\.'
-      - '^strings\.SplitN$'
-      - '^matchOrEmpty$'
-      - '^make$'
-    ignored-files:
-      # ignore install files that are part of features being deprecated
-      # such ass install anc the kamel cli
-      #
-      # files are individually listed as if any new file is added or those not 
listed here are amended
-      # then best practices must be followed
-      - 'pkg/install/cluster.go'
-      - 'pkg/cmd/install.go'
-      - 'pkg/cmd/debug.go'
-      - 'pkg/cmd/describe.go'
-      - 'pkg/cmd/describe_integration.go'
-      - 'pkg/cmd/describe_kamelet.go'
-      - 'pkg/cmd/dump.go'
-      - 'pkg/cmd/get.go'
-      - 'pkg/cmd/install.go'
-      - 'pkg/cmd/log.go'
-      - 'pkg/cmd/kamelet_get.go'
-      - 'pkg/cmd/kit_get.go'
-      - 'pkg/cmd/uninstall.go'
-      - 'pkg/cmd/run_support.go'
-      # seems to be used only by the "kamel cli" command
-      - 'pkg/util/kubernetes/log/pod_scraper.go'
-      - 'pkg/util/indentedwriter/writer.go'
+version: "2"
 run:
   tests: false
-issues:
-  exclude-files:
-    - test_support.go
-  exclude-rules:
-    # Exclude some linters from running on deprecated code.
-    - path: pkg/cmd
-      linters:
-        - nestif
-    - path: pkg/install
-      linters:
-        - nestif
-    - path: pkg/util/olm
-      linters:
-        - nestif
 linters:
-  enable-all: true
+  default: all
   disable:
-    # this linter checks for unnecessary newlines at the start and end of 
functions, etc.,
-    # however sometimes spaces helps readability
-    - whitespace
-    # this linter checks the struct tags but does not handle struct embedding 
which causes
-    # a large number of false finding
-    - tagliatelle
-    # this linter reports long lines but since there is no standard way to 
split then,
-    # then we will disable it for now
-    - lll
-    # this linter enforces a stricter format than gofmt but since it is a 
non-standard tool,
-    # then we will disable it as it would require yet another tool to install 
and configure
-    - gofumpt
-    # https://github.com/apache/camel-k/issues/5486
     - cyclop
     - depguard
+    - err113
     - exhaustive
     - exhaustruct
     - forbidigo
+    - funcorder
     - funlen
-    - gci
     - gochecknoglobals
     - gochecknoinits
     - gocognit
     - gocyclo
     - godox
-    - err113
     - ireturn
+    - lll
     - nilnil
     - nlreturn
+    - noinlineerr
     - paralleltest
+    - perfsprint
     - revive
     - tagalign
+    - tagliatelle
     - testpackage
     - varnamelen
+    - whitespace
     - wrapcheck
     - wsl
-    # TODO: too much work at this stage as many files are impacted by the lint 
suggestions, however the reported
-    #       lint violation make a lot of sense so we should re-enable the 
lints below and work to fix the findings
-    - perfsprint
-    - tenv  # the functionality provided by 'usetesting'
+    - wsl_v5
+  settings:
+    lll:
+      line-length: 170
+    mnd:
+      checks:
+        - argument
+        - case
+        - operation
+        - return
+        - assign
+      ignored-files:
+        - pkg/cmd/debug.go
+        - pkg/cmd/dump.go
+        - pkg/cmd/get.go
+        - pkg/cmd/log.go
+        - pkg/cmd/kit_get.go
+        - pkg/cmd/run_support.go
+        - pkg/util/kubernetes/log/pod_scraper.go
+        - pkg/util/indentedwriter/writer.go
+      ignored-functions:
+        - ^len\.
+        - ^strings\.SplitN$
+        - ^matchOrEmpty$
+        - ^make$
+  exclusions:
+    generated: lax
+    presets:
+      - comments
+      - common-false-positives
+      - legacy
+      - std-error-handling
+    rules:
+      - linters:
+          - nestif
+        path: pkg/cmd
+    paths:
+      - test_support.go
+      - third_party$
+      - builtin$
+      - examples$
+formatters:
+  enable:
+    - gofmt
+    - goimports
+  exclusions:
+    generated: lax
+    paths:
+      - test_support.go
+      - third_party$
+      - builtin$
+      - examples$
diff --git a/addons/keda/duck/v1alpha1/duck_types.go 
b/addons/keda/duck/v1alpha1/duck_types.go
index a278ead47..112e700df 100644
--- a/addons/keda/duck/v1alpha1/duck_types.go
+++ b/addons/keda/duck/v1alpha1/duck_types.go
@@ -79,7 +79,8 @@ type ScaledObjectAuthRef struct {
 type ScaledObjectList struct {
        metav1.TypeMeta `json:",inline"`
        metav1.ListMeta `json:"metadata,omitempty"`
-       Items           []ScaledObject `json:"items"`
+
+       Items []ScaledObject `json:"items"`
 }
 
 // +genclient
@@ -114,5 +115,6 @@ type AuthSecretTargetRef struct {
 type TriggerAuthenticationList struct {
        metav1.TypeMeta `json:",inline"`
        metav1.ListMeta `json:"metadata"`
-       Items           []TriggerAuthentication `json:"items"`
+
+       Items []TriggerAuthentication `json:"items"`
 }
diff --git a/addons/keda/keda.go b/addons/keda/keda.go
index b15027be7..0ee7e1705 100644
--- a/addons/keda/keda.go
+++ b/addons/keda/keda.go
@@ -78,6 +78,7 @@ const (
 // +camel-k:deprecated=2.5.0.
 type Trait struct {
        traitv1.Trait `property:",squash" json:",inline"`
+
        // Enables automatic configuration of the trait. Allows the trait to 
infer KEDA triggers from the Kamelets.
        Auto *bool `property:"auto" json:"auto,omitempty"`
        // Set the spec->replicas field on the top level controller to an 
explicit value if missing, to allow KEDA to recognize it as a scalable resource.
@@ -281,13 +282,13 @@ func (t *kedaTrait) hackControllerReplicas(e 
*trait.Environment) error {
                return err
        }
        if ctrlRef.Kind == camelv1.PipeKind {
-               scale.ObjectMeta.Name = ctrlRef.Name
+               scale.Name = ctrlRef.Name
                _, err = 
scalesClient.Scales(e.Integration.Namespace).Update(e.Ctx, 
camelv1.SchemeGroupVersion.WithResource("pipes").GroupResource(), &scale, 
metav1.UpdateOptions{})
                if err != nil {
                        return err
                }
        } else if e.Integration.Spec.Replicas == nil {
-               scale.ObjectMeta.Name = e.Integration.Name
+               scale.Name = e.Integration.Name
                _, err = 
scalesClient.Scales(e.Integration.Namespace).Update(e.Ctx, 
camelv1.SchemeGroupVersion.WithResource("integrations").GroupResource(), 
&scale, metav1.UpdateOptions{})
                if err != nil {
                        return err
diff --git a/cmd/util/doc-gen/generators/traitdocgen.go 
b/cmd/util/doc-gen/generators/traitdocgen.go
index 45c4bc4a6..b7448eccd 100644
--- a/cmd/util/doc-gen/generators/traitdocgen.go
+++ b/cmd/util/doc-gen/generators/traitdocgen.go
@@ -67,6 +67,7 @@ var tagDeprecatedRegex = 
regexp.MustCompile(fmt.Sprintf("%s=(0|[1-9]\\d*)\\.(0|[
 // traitDocGen produces documentation about traits.
 type traitDocGen struct {
        generator.DefaultGen
+
        arguments           *args.GeneratorArgs
        generatedTraitFiles []string
 }
diff --git a/cmd/util/doc-gen/generators/traitmetadatagen.go 
b/cmd/util/doc-gen/generators/traitmetadatagen.go
index 07180636f..2e02fcb76 100644
--- a/cmd/util/doc-gen/generators/traitmetadatagen.go
+++ b/cmd/util/doc-gen/generators/traitmetadatagen.go
@@ -31,6 +31,7 @@ import (
 // traitMetaDataGen produces YAML documentation about trait descriptions.
 type traitMetaDataGen struct {
        generator.DefaultGen
+
        arguments *args.GeneratorArgs
        Root      *traitMetaDataRoot
 }
diff --git a/go.mod b/go.mod
index fb89ec75b..7dedbbb7d 100644
--- a/go.mod
+++ b/go.mod
@@ -1,6 +1,6 @@
 module github.com/apache/camel-k/v2
 
-go 1.24.6
+go 1.25.1
 
 require (
        dario.cat/mergo v1.0.2
diff --git a/pkg/apis/camel/v1/build_types.go b/pkg/apis/camel/v1/build_types.go
index 05d1cb806..89ab7d01d 100644
--- a/pkg/apis/camel/v1/build_types.go
+++ b/pkg/apis/camel/v1/build_types.go
@@ -93,6 +93,7 @@ type BaseTask struct {
 // BuilderTask is the generic task in charge of building the application image.
 type BuilderTask struct {
        BaseTask `json:",inline"`
+
        // the base image layer
        BaseImage string `json:"baseImage,omitempty"`
        // the configuration required for the runtime application
@@ -129,6 +130,7 @@ type GitConfigSpec struct {
 type MavenBuildSpec struct {
        // base Maven specification
        MavenSpec `json:",inline"`
+
        // additional repositories
        Repositories []Repository `json:"repositories,omitempty"`
        // Servers (auth)
@@ -152,6 +154,7 @@ type PublishTask struct {
 type BuildahTask struct {
        BaseTask    `json:",inline"`
        PublishTask `json:",inline"`
+
        // The platform of build image
        Platform string `json:"platform,omitempty"`
        // log more information
@@ -165,6 +168,7 @@ type BuildahTask struct {
 type KanikoTask struct {
        BaseTask    `json:",inline"`
        PublishTask `json:",inline"`
+
        // log more information
        Verbose *bool `json:"verbose,omitempty"`
        // use a cache
@@ -199,6 +203,7 @@ type SpectrumTask struct {
 type S2iTask struct {
        BaseTask    `json:",inline"`
        PublishTask `json:",inline"`
+
        // used by the ImageStream
        Tag string `json:"tag,omitempty"`
 }
@@ -206,6 +211,7 @@ type S2iTask struct {
 // UserTask is used to execute any generic custom operation.
 type UserTask struct {
        BaseTask `json:",inline"`
+
        // the container image to use
        ContainerImage string `json:"image,omitempty"`
        // the user id used to run the container
@@ -314,7 +320,8 @@ type Build struct {
 type BuildList struct {
        metav1.TypeMeta `json:",inline"`
        metav1.ListMeta `json:"metadata,omitempty"`
-       Items           []Build `json:"items"`
+
+       Items []Build `json:"items"`
 }
 
 // BuildCondition describes the state of a resource at a certain point.
diff --git a/pkg/apis/camel/v1/camelcatalog_types.go 
b/pkg/apis/camel/v1/camelcatalog_types.go
index 5b83f378c..2195f5943 100644
--- a/pkg/apis/camel/v1/camelcatalog_types.go
+++ b/pkg/apis/camel/v1/camelcatalog_types.go
@@ -54,7 +54,8 @@ type CamelCatalog struct {
 type CamelCatalogList struct {
        metav1.TypeMeta `json:",inline"`
        metav1.ListMeta `json:"metadata,omitempty"`
-       Items           []CamelCatalog `json:"items"`
+
+       Items []CamelCatalog `json:"items"`
 }
 
 // CamelCatalogSpec specify what features a Camel runtime provides.
@@ -147,6 +148,7 @@ type CamelArtifactExclusion struct {
 type CamelArtifactDependency struct {
        // the maven dependency
        MavenArtifact `json:",inline" yaml:",inline"`
+
        // provide a list of artifacts to exclude for this dependency
        Exclusions []CamelArtifactExclusion `json:"exclusions,omitempty" 
yaml:"exclusions,omitempty"`
 }
@@ -155,6 +157,7 @@ type CamelArtifactDependency struct {
 type CamelArtifact struct {
        // Base Camel Artifact dependency
        CamelArtifactDependency `json:",inline" yaml:",inline"`
+
        // accepted URI schemes
        Schemes []CamelScheme `json:"schemes,omitempty" 
yaml:"schemes,omitempty"`
        // accepted languages
@@ -171,6 +174,7 @@ type CamelArtifact struct {
 type CamelLoader struct {
        // the base Maven artifact required
        MavenArtifact `json:",inline" yaml:",inline"`
+
        // a list of DSLs supported
        Languages []string `json:"languages,omitempty" 
yaml:"languages,omitempty"`
        // a list of additional dependencies required beside the base one
diff --git a/pkg/apis/camel/v1/common_types.go 
b/pkg/apis/camel/v1/common_types.go
index e81d3f9c0..9486fa12d 100644
--- a/pkg/apis/camel/v1/common_types.go
+++ b/pkg/apis/camel/v1/common_types.go
@@ -450,6 +450,7 @@ func (rt RuntimeProvider) IsQuarkusBased() bool {
 type SourceSpec struct {
        // contains configuration related to the source code
        DataSpec `json:",inline"`
+
        // specify which is the language (Camel DSL) used to interpret this 
source code
        Language Language `json:"language,omitempty"`
        // Loader is an optional id of the org.apache.camel.k.RoutesLoader that 
will
diff --git a/pkg/apis/camel/v1/error_handler_types_support.go 
b/pkg/apis/camel/v1/error_handler_types_support.go
index d17496254..1c6b3a14c 100644
--- a/pkg/apis/camel/v1/error_handler_types_support.go
+++ b/pkg/apis/camel/v1/error_handler_types_support.go
@@ -74,6 +74,7 @@ func (e *ErrorHandlerNone) Configuration() 
(map[string]interface{}, error) {
 // ErrorHandlerLog represent a default (log) error handler type.
 type ErrorHandlerLog struct {
        ErrorHandlerNone
+
        Parameters *ErrorHandlerParameters `json:"parameters,omitempty"`
 }
 
@@ -102,6 +103,7 @@ func (e *ErrorHandlerLog) Configuration() 
(map[string]interface{}, error) {
 // ErrorHandlerSink represents a sink error handler type which behave like a 
dead letter channel.
 type ErrorHandlerSink struct {
        ErrorHandlerLog
+
        DLCEndpoint *Endpoint `json:"endpoint,omitempty"`
 }
 
diff --git a/pkg/apis/camel/v1/integration_types.go 
b/pkg/apis/camel/v1/integration_types.go
index 40b6b2069..e02f38e79 100644
--- a/pkg/apis/camel/v1/integration_types.go
+++ b/pkg/apis/camel/v1/integration_types.go
@@ -140,7 +140,8 @@ type IntegrationStatus struct {
 type IntegrationList struct {
        metav1.TypeMeta `json:",inline"`
        metav1.ListMeta `json:"metadata,omitempty"`
-       Items           []Integration `json:"items"`
+
+       Items []Integration `json:"items"`
 }
 
 // IntegrationPhase --.
diff --git a/pkg/apis/camel/v1/integrationkit_types.go 
b/pkg/apis/camel/v1/integrationkit_types.go
index 564948fa1..7c66e91a1 100644
--- a/pkg/apis/camel/v1/integrationkit_types.go
+++ b/pkg/apis/camel/v1/integrationkit_types.go
@@ -133,7 +133,8 @@ type IntegrationKitStatus struct {
 type IntegrationKitList struct {
        metav1.TypeMeta `json:",inline"`
        metav1.ListMeta `json:"metadata,omitempty"`
-       Items           []IntegrationKit `json:"items"`
+
+       Items []IntegrationKit `json:"items"`
 }
 
 // IntegrationKitPhase --.
diff --git a/pkg/apis/camel/v1/integrationplatform_types.go 
b/pkg/apis/camel/v1/integrationplatform_types.go
index 0abef994f..6e5c1ca55 100644
--- a/pkg/apis/camel/v1/integrationplatform_types.go
+++ b/pkg/apis/camel/v1/integrationplatform_types.go
@@ -50,6 +50,7 @@ type IntegrationPlatformSpec struct {
 // IntegrationPlatformStatus defines the observed state of IntegrationPlatform.
 type IntegrationPlatformStatus struct {
        IntegrationPlatformSpec `json:",inline"`
+
        // ObservedGeneration is the most recent generation observed for this 
IntegrationPlatform.
        ObservedGeneration int64 `json:"observedGeneration,omitempty"`
        // defines in what phase the IntegrationPlatform is found
@@ -92,7 +93,8 @@ type IntegrationPlatform struct {
 type IntegrationPlatformList struct {
        metav1.TypeMeta `json:",inline"`
        metav1.ListMeta `json:"metadata,omitempty"`
-       Items           []IntegrationPlatform `json:"items"`
+
+       Items []IntegrationPlatform `json:"items"`
 }
 
 // IntegrationPlatformCluster is the kind of orchestration cluster the 
platform is installed into.
diff --git a/pkg/apis/camel/v1/integrationprofile_types.go 
b/pkg/apis/camel/v1/integrationprofile_types.go
index 70c5bc14b..9f6ff3905 100644
--- a/pkg/apis/camel/v1/integrationprofile_types.go
+++ b/pkg/apis/camel/v1/integrationprofile_types.go
@@ -38,6 +38,7 @@ type IntegrationProfileSpec struct {
 // IntegrationProfileStatus defines the observed state of IntegrationProfile.
 type IntegrationProfileStatus struct {
        IntegrationProfileSpec `json:",inline"`
+
        // ObservedGeneration is the most recent generation observed for this 
IntegrationProfile.
        ObservedGeneration int64 `json:"observedGeneration,omitempty"`
        // defines in what phase the IntegrationProfile is found
@@ -71,7 +72,8 @@ type IntegrationProfile struct {
 type IntegrationProfileList struct {
        metav1.TypeMeta `json:",inline"`
        metav1.ListMeta `json:"metadata,omitempty"`
-       Items           []IntegrationProfile `json:"items"`
+
+       Items []IntegrationProfile `json:"items"`
 }
 
 // IntegrationProfileBuildSpec contains profile related build information.
diff --git a/pkg/apis/camel/v1/pipe_types.go b/pkg/apis/camel/v1/pipe_types.go
index 7786e94ec..c50531d47 100644
--- a/pkg/apis/camel/v1/pipe_types.go
+++ b/pkg/apis/camel/v1/pipe_types.go
@@ -164,5 +164,6 @@ const (
 type PipeList struct {
        metav1.TypeMeta `json:",inline"`
        metav1.ListMeta `json:"metadata,omitempty"`
-       Items           []Pipe `json:"items"`
+
+       Items []Pipe `json:"items"`
 }
diff --git a/pkg/apis/camel/v1/trait/affinity.go 
b/pkg/apis/camel/v1/trait/affinity.go
index f2a7c45ae..5c5b2b5ab 100644
--- a/pkg/apis/camel/v1/trait/affinity.go
+++ b/pkg/apis/camel/v1/trait/affinity.go
@@ -25,6 +25,7 @@ package trait
 // +camel-k:trait=affinity.
 type AffinityTrait struct {
        Trait `property:",squash" json:",inline"`
+
        // Always co-locates multiple replicas of the integration in the same 
node (default `false`).
        PodAffinity *bool `property:"pod-affinity" json:"podAffinity,omitempty"`
        // Never co-locates multiple replicas of the integration in the same 
node (default `false`).
diff --git a/pkg/apis/camel/v1/trait/builder.go 
b/pkg/apis/camel/v1/trait/builder.go
index 62b04d4fa..2585c0831 100644
--- a/pkg/apis/camel/v1/trait/builder.go
+++ b/pkg/apis/camel/v1/trait/builder.go
@@ -23,6 +23,7 @@ package trait
 // +camel-k:trait=builder.
 type BuilderTrait struct {
        PlatformBaseTrait `property:",squash" json:",inline"`
+
        // Enable verbose logging on build components that support it (e.g. 
Kaniko build pod).
        // Deprecated no longer in use
        Verbose *bool `property:"verbose" json:"verbose,omitempty"`
diff --git a/pkg/apis/camel/v1/trait/camel.go b/pkg/apis/camel/v1/trait/camel.go
index a08e1943f..06bd43fc4 100644
--- a/pkg/apis/camel/v1/trait/camel.go
+++ b/pkg/apis/camel/v1/trait/camel.go
@@ -22,6 +22,7 @@ package trait
 // +camel-k:trait=camel.
 type CamelTrait struct {
        PlatformBaseTrait `property:",squash" json:",inline"`
+
        // The runtime provider to use for the integration. (Default, Camel K 
Runtime).
        // +kubebuilder:validation:Enum=quarkus;plain-quarkus
        RuntimeProvider string `property:"runtime-provider" 
json:"runtimeProvider,omitempty"`
diff --git a/pkg/apis/camel/v1/trait/container.go 
b/pkg/apis/camel/v1/trait/container.go
index abdafac4e..1c38a882e 100644
--- a/pkg/apis/camel/v1/trait/container.go
+++ b/pkg/apis/camel/v1/trait/container.go
@@ -26,6 +26,7 @@ import corev1 "k8s.io/api/core/v1"
 // +camel-k:trait=container.
 type ContainerTrait struct {
        PlatformBaseTrait `property:",squash" json:",inline"`
+
        // To automatically enable the trait
        Auto *bool `property:"auto" json:"auto,omitempty"`
        // The minimum amount of CPU required (default 125 millicores).
diff --git a/pkg/apis/camel/v1/trait/cron.go b/pkg/apis/camel/v1/trait/cron.go
index 412caf2c1..c627ce306 100644
--- a/pkg/apis/camel/v1/trait/cron.go
+++ b/pkg/apis/camel/v1/trait/cron.go
@@ -39,6 +39,7 @@ package trait
 // +camel-k:trait=cron.
 type CronTrait struct {
        Trait `property:",squash" json:",inline"`
+
        // The CronJob schedule for the whole integration. If multiple routes 
are declared, they must have the same schedule for this
        // mechanism to work correctly.
        Schedule string `property:"schedule" json:"schedule,omitempty"`
diff --git a/pkg/apis/camel/v1/trait/deployer.go 
b/pkg/apis/camel/v1/trait/deployer.go
index c76dc927a..e192bfa94 100644
--- a/pkg/apis/camel/v1/trait/deployer.go
+++ b/pkg/apis/camel/v1/trait/deployer.go
@@ -23,6 +23,7 @@ package trait
 // +camel-k:trait=deployer.
 type DeployerTrait struct {
        PlatformBaseTrait `property:",squash" json:",inline"`
+
        // Allows to explicitly select the desired deployment kind between 
`deployment`, `cron-job` or `knative-service` when creating the resources for 
running the integration.
        // +kubebuilder:validation:Enum=deployment;cron-job;knative-service
        Kind string `property:"kind" json:"kind,omitempty"`
diff --git a/pkg/apis/camel/v1/trait/deployment.go 
b/pkg/apis/camel/v1/trait/deployment.go
index 2be4cab70..624304244 100644
--- a/pkg/apis/camel/v1/trait/deployment.go
+++ b/pkg/apis/camel/v1/trait/deployment.go
@@ -28,6 +28,7 @@ import (
 // +camel-k:trait=deployment.
 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`.
        ProgressDeadlineSeconds *int32 `property:"progress-deadline-seconds" 
json:"progressDeadlineSeconds,omitempty"`
diff --git a/pkg/apis/camel/v1/trait/environment.go 
b/pkg/apis/camel/v1/trait/environment.go
index 70f3e8a43..b0dab6101 100644
--- a/pkg/apis/camel/v1/trait/environment.go
+++ b/pkg/apis/camel/v1/trait/environment.go
@@ -23,6 +23,7 @@ package trait
 // +camel-k:trait=environment.
 type EnvironmentTrait struct {
        PlatformBaseTrait `property:",squash" json:",inline"`
+
        // Enables injection of `NAMESPACE` and `POD_NAME` environment 
variables (default `true`)
        ContainerMeta *bool `property:"container-meta" 
json:"containerMeta,omitempty"`
        // Propagates the `HTTP_PROXY`, `HTTPS_PROXY` and `NO_PROXY` 
environment variables (default `true`)
diff --git a/pkg/apis/camel/v1/trait/error_handler.go 
b/pkg/apis/camel/v1/trait/error_handler.go
index d52a27ca7..c032eaf24 100644
--- a/pkg/apis/camel/v1/trait/error_handler.go
+++ b/pkg/apis/camel/v1/trait/error_handler.go
@@ -25,6 +25,7 @@ package trait
 // +camel-k:internal.
 type ErrorHandlerTrait struct {
        PlatformBaseTrait `property:",squash" json:",inline"`
+
        // The error handler ref name provided or found in application 
properties
        ErrorHandlerRef string `property:"ref" json:"ref,omitempty"`
 }
diff --git a/pkg/apis/camel/v1/trait/gc.go b/pkg/apis/camel/v1/trait/gc.go
index c2e46aca0..37bb46801 100644
--- a/pkg/apis/camel/v1/trait/gc.go
+++ b/pkg/apis/camel/v1/trait/gc.go
@@ -23,6 +23,7 @@ package trait
 // +camel-k:internal.
 type GCTrait struct {
        Trait `property:",squash" json:",inline"`
+
        // Discovery client cache to be used, either `disabled`, `disk` or 
`memory` (default `memory`).
        // Deprecated: no longer in use.
        DiscoveryCache *DiscoveryCacheType `property:"discovery-cache" 
json:"discoveryCache,omitempty"`
diff --git a/pkg/apis/camel/v1/trait/ingress.go 
b/pkg/apis/camel/v1/trait/ingress.go
index 00bffc845..6c416fd4c 100644
--- a/pkg/apis/camel/v1/trait/ingress.go
+++ b/pkg/apis/camel/v1/trait/ingress.go
@@ -27,6 +27,7 @@ import networkingv1 "k8s.io/api/networking/v1"
 // +camel-k:trait=ingress.
 type IngressTrait struct {
        Trait `property:",squash" json:",inline"`
+
        // The Ingress class name as defined by the Ingress spec
        // See https://kubernetes.io/docs/concepts/services-networking/ingress/
        IngressClassName string `property:"ingress-class-name" 
json:"ingressClassName,omitempty"`
diff --git a/pkg/apis/camel/v1/trait/init_containers.go 
b/pkg/apis/camel/v1/trait/init_containers.go
index 786845780..7f25c0d2c 100644
--- a/pkg/apis/camel/v1/trait/init_containers.go
+++ b/pkg/apis/camel/v1/trait/init_containers.go
@@ -22,6 +22,7 @@ package trait
 // +camel-k:trait=init-containers.
 type InitContainersTrait struct {
        Trait `property:",squash" json:",inline"`
+
        // A list of init tasks to be executed with format 
`<name>;<container-image>;<container-command>`.
        InitTasks []string `property:"init-tasks" json:"initTasks,omitempty"`
        // A list of sidecar tasks to be executed with format 
`<name>;<container-image>;<container-command>`.
diff --git a/pkg/apis/camel/v1/trait/istio.go b/pkg/apis/camel/v1/trait/istio.go
index b7dbba574..7e7b5d7b0 100644
--- a/pkg/apis/camel/v1/trait/istio.go
+++ b/pkg/apis/camel/v1/trait/istio.go
@@ -23,6 +23,7 @@ package trait
 // +camel-k:trait=istio.
 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).
        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.
diff --git a/pkg/apis/camel/v1/trait/jolokia.go 
b/pkg/apis/camel/v1/trait/jolokia.go
index 03725c5e7..beed6c964 100644
--- a/pkg/apis/camel/v1/trait/jolokia.go
+++ b/pkg/apis/camel/v1/trait/jolokia.go
@@ -30,6 +30,7 @@ package trait
 // +camel-k:deprecated=2.8.0.
 type JolokiaTrait struct {
        Trait `property:",squash" json:",inline"`
+
        // The PEM encoded CA certification file path, used to verify client 
certificates,
        // applicable when `protocol` is `https` and 
`use-ssl-client-authentication` is `true`
        // (default 
`/var/run/secrets/kubernetes.io/serviceaccount/service-ca.crt` for OpenShift).
diff --git a/pkg/apis/camel/v1/trait/jvm.go b/pkg/apis/camel/v1/trait/jvm.go
index 4751ca2ab..76482fbf3 100644
--- a/pkg/apis/camel/v1/trait/jvm.go
+++ b/pkg/apis/camel/v1/trait/jvm.go
@@ -24,6 +24,7 @@ package trait
 // +camel-k:trait=jvm.
 type JVMTrait struct {
        Trait `property:",squash" json:",inline"`
+
        // Activates remote debugging, so that a debugger can be attached to 
the JVM, e.g., using port-forwarding
        Debug *bool `property:"debug" json:"debug,omitempty"`
        // Suspends the target JVM immediately before the main class is loaded
diff --git a/pkg/apis/camel/v1/trait/kamelets.go 
b/pkg/apis/camel/v1/trait/kamelets.go
index 8b9cfd6b0..79865da14 100644
--- a/pkg/apis/camel/v1/trait/kamelets.go
+++ b/pkg/apis/camel/v1/trait/kamelets.go
@@ -22,6 +22,7 @@ package trait
 // +camel-k:trait=kamelets.
 type KameletsTrait struct {
        Trait `property:",squash" json:",inline"`
+
        // Automatically inject all referenced Kamelets and their default 
configuration (enabled by default)
        Auto *bool `property:"auto" json:"auto,omitempty"`
        // Comma separated list of Kamelet names to load into the current 
integration
diff --git a/pkg/apis/camel/v1/trait/knative.go 
b/pkg/apis/camel/v1/trait/knative.go
index 2681ac982..3f401d61f 100644
--- a/pkg/apis/camel/v1/trait/knative.go
+++ b/pkg/apis/camel/v1/trait/knative.go
@@ -27,6 +27,7 @@ package trait
 // +camel-k:trait=knative.
 type KnativeTrait struct {
        Trait `property:",squash" json:",inline"`
+
        // Can be used to inject a Knative complete configuration in JSON 
format.
        Configuration string `property:"configuration" json:"config,omitempty"`
        // List of channels used as source of integration routes.
diff --git a/pkg/apis/camel/v1/trait/knative_service.go 
b/pkg/apis/camel/v1/trait/knative_service.go
index a43706daa..f2ef9fb93 100644
--- a/pkg/apis/camel/v1/trait/knative_service.go
+++ b/pkg/apis/camel/v1/trait/knative_service.go
@@ -26,6 +26,7 @@ package trait
 // +camel-k:trait=knative-service.
 type KnativeServiceTrait struct {
        Trait `property:",squash" json:",inline"`
+
        // The annotations added to route.
        // This can be used to set knative service specific annotations
        // CLI usage example: -t 
"knative-service.annotations.'haproxy.router.openshift.io/balance'=true"
diff --git a/pkg/apis/camel/v1/trait/logging.go 
b/pkg/apis/camel/v1/trait/logging.go
index 11c083ad3..272d70513 100644
--- a/pkg/apis/camel/v1/trait/logging.go
+++ b/pkg/apis/camel/v1/trait/logging.go
@@ -23,6 +23,7 @@ package trait
 // +camel-k:trait=logging.
 type LoggingTrait struct {
        Trait `property:",squash" json:",inline"`
+
        // Colorize the log output
        Color *bool `property:"color" json:"color,omitempty"`
        // Logs message format
diff --git a/pkg/apis/camel/v1/trait/master.go 
b/pkg/apis/camel/v1/trait/master.go
index a396a084f..83ca09d74 100644
--- a/pkg/apis/camel/v1/trait/master.go
+++ b/pkg/apis/camel/v1/trait/master.go
@@ -28,6 +28,7 @@ package trait
 // +camel-k:trait=master.
 type MasterTrait struct {
        Trait `property:",squash" json:",inline"`
+
        // Enables automatic configuration of the trait.
        Auto *bool `property:"auto" json:"auto,omitempty"`
        // When this flag is active, the operator analyzes the source code to 
add dependencies required by delegate endpoints.
diff --git a/pkg/apis/camel/v1/trait/mount.go b/pkg/apis/camel/v1/trait/mount.go
index 9521a05b9..9c3930ff3 100644
--- a/pkg/apis/camel/v1/trait/mount.go
+++ b/pkg/apis/camel/v1/trait/mount.go
@@ -22,6 +22,7 @@ package trait
 // +camel-k:trait=mount.
 type MountTrait struct {
        PlatformBaseTrait `property:",squash" json:",inline"`
+
        // A list of configuration pointing to configmap/secret.
        // The configuration are expected to be UTF-8 resources as they are 
processed by runtime Camel Context and tried to be parsed as property files.
        // They are also made available on the classpath in order to ease their 
usage directly from the Route.
diff --git a/pkg/apis/camel/v1/trait/openapi.go 
b/pkg/apis/camel/v1/trait/openapi.go
index c2acd8c36..2ebb95a2c 100644
--- a/pkg/apis/camel/v1/trait/openapi.go
+++ b/pkg/apis/camel/v1/trait/openapi.go
@@ -28,6 +28,7 @@ package trait
 // +camel-k:internal.
 type OpenAPITrait struct {
        PlatformBaseTrait `property:",squash" json:",inline"`
+
        // The configmaps holding the spec of the OpenAPI (compatible with > 
3.0 spec only).
        Configmaps []string `property:"configmaps" json:"configmaps,omitempty"`
 }
diff --git a/pkg/apis/camel/v1/trait/owner.go b/pkg/apis/camel/v1/trait/owner.go
index 9d863fcbe..e22d8c515 100644
--- a/pkg/apis/camel/v1/trait/owner.go
+++ b/pkg/apis/camel/v1/trait/owner.go
@@ -23,6 +23,7 @@ package trait
 // +camel-k:trait=owner.
 type OwnerTrait struct {
        Trait `property:",squash" json:",inline"`
+
        // The set of annotations to be transferred
        TargetAnnotations []string `property:"target-annotations" 
json:"targetAnnotations,omitempty"`
        // The set of labels to be transferred
diff --git a/pkg/apis/camel/v1/trait/pdb.go b/pkg/apis/camel/v1/trait/pdb.go
index 4c230683a..269fd2fbb 100644
--- a/pkg/apis/camel/v1/trait/pdb.go
+++ b/pkg/apis/camel/v1/trait/pdb.go
@@ -22,6 +22,7 @@ package trait
 // +camel-k:trait=pdb.
 type PDBTrait struct {
        Trait `property:",squash" json:",inline"`
+
        // The number of pods for the Integration that must still be available 
after an eviction.
        // It can be either an absolute number or a percentage.
        // Only one of `min-available` and `max-unavailable` can be specified.
diff --git a/pkg/apis/camel/v1/trait/platform.go 
b/pkg/apis/camel/v1/trait/platform.go
index 3d31ab1d0..e4220b273 100644
--- a/pkg/apis/camel/v1/trait/platform.go
+++ b/pkg/apis/camel/v1/trait/platform.go
@@ -26,6 +26,7 @@ package trait
 // +camel-k:trait=platform.
 type PlatformTrait struct {
        PlatformBaseTrait `property:",squash" json:",inline"`
+
        // To create a default (empty) platform when the platform is missing.
        // Deprecated: Platform is auto generated by the operator install 
procedure - maintained for backward compatibility
        CreateDefault *bool `property:"create-default" 
json:"createDefault,omitempty"`
diff --git a/pkg/apis/camel/v1/trait/prometheus.go 
b/pkg/apis/camel/v1/trait/prometheus.go
index 552375c4a..c31d110ce 100644
--- a/pkg/apis/camel/v1/trait/prometheus.go
+++ b/pkg/apis/camel/v1/trait/prometheus.go
@@ -33,6 +33,7 @@ package trait
 // +camel-k:trait=prometheus.
 type PrometheusTrait struct {
        Trait `property:",squash" json:",inline"`
+
        // Whether a `PodMonitor` resource is created (default `true`).
        PodMonitor *bool `property:"pod-monitor" json:"podMonitor,omitempty"`
        // The `PodMonitor` resource labels, applicable when `pod-monitor` is 
`true`.
diff --git a/pkg/apis/camel/v1/trait/pull_secret.go 
b/pkg/apis/camel/v1/trait/pull_secret.go
index ba7844441..d70077e76 100644
--- a/pkg/apis/camel/v1/trait/pull_secret.go
+++ b/pkg/apis/camel/v1/trait/pull_secret.go
@@ -31,6 +31,7 @@ package trait
 // +camel-k:trait=pull-secret.
 type PullSecretTrait struct {
        Trait `property:",squash" json:",inline"`
+
        // The pull secret name to set on the Pod. If left empty this is 
automatically taken from the `IntegrationPlatform` registry configuration.
        SecretName string `property:"secret-name" json:"secretName,omitempty"`
        // When using a global operator with a shared platform, this enables 
delegation of the `system:image-puller` cluster role on the operator namespace 
to the integration service account.
diff --git a/pkg/apis/camel/v1/trait/quarkus.go 
b/pkg/apis/camel/v1/trait/quarkus.go
index 21752dc29..9fe76b3bf 100644
--- a/pkg/apis/camel/v1/trait/quarkus.go
+++ b/pkg/apis/camel/v1/trait/quarkus.go
@@ -28,6 +28,7 @@ package trait
 // +camel-k:trait=quarkus.
 type QuarkusTrait struct {
        PlatformBaseTrait `property:",squash" json:",inline"`
+
        // The Quarkus package types, `fast-jar` or `native` (default 
`fast-jar`).
        // In case both `fast-jar` and `native` are specified, two 
`IntegrationKit` resources are created,
        // with the native kit having precedence over the `fast-jar` one once 
ready.
diff --git a/pkg/apis/camel/v1/trait/route.go b/pkg/apis/camel/v1/trait/route.go
index b2f27bec4..b1287bf97 100644
--- a/pkg/apis/camel/v1/trait/route.go
+++ b/pkg/apis/camel/v1/trait/route.go
@@ -33,6 +33,7 @@ package trait
 // +camel-k:deprecated=2.6.0.
 type RouteTrait struct {
        Trait `property:",squash" json:",inline"`
+
        // The annotations added to route.
        // This can be used to set route specific annotations
        // For annotations options see 
https://docs.openshift.com/container-platform/3.11/architecture/networking/routes.html#route-specific-annotations
diff --git a/pkg/apis/camel/v1/trait/security_context.go 
b/pkg/apis/camel/v1/trait/security_context.go
index 5cc0612f7..2c098997f 100644
--- a/pkg/apis/camel/v1/trait/security_context.go
+++ b/pkg/apis/camel/v1/trait/security_context.go
@@ -24,6 +24,7 @@ import corev1 "k8s.io/api/core/v1"
 // +camel-k:trait=security-context.
 type SecurityContextTrait struct {
        PlatformBaseTrait `property:",squash" json:",inline"`
+
        // Security Context RunAsUser configuration (default none): this value 
is automatically retrieved in Openshift clusters when not explicitly set.
        RunAsUser *int64 `property:"run-as-user" json:"runAsUser,omitempty"`
        // Security Context RunAsNonRoot configuration (default false).
diff --git a/pkg/apis/camel/v1/trait/service.go 
b/pkg/apis/camel/v1/trait/service.go
index b57cb23d2..2c0a2a425 100644
--- a/pkg/apis/camel/v1/trait/service.go
+++ b/pkg/apis/camel/v1/trait/service.go
@@ -27,6 +27,7 @@ package trait
 // +camel-k:trait=service.
 type ServiceTrait struct {
        Trait `property:",squash" json:",inline"`
+
        // To automatically detect from the code if a Service needs to be 
created.
        Auto *bool `property:"auto" json:"auto,omitempty"`
        // Enable Service to be exposed as NodePort (default `false`).
diff --git a/pkg/apis/camel/v1/trait/service_binding.go 
b/pkg/apis/camel/v1/trait/service_binding.go
index e7fea36ef..3ddc9d713 100644
--- a/pkg/apis/camel/v1/trait/service_binding.go
+++ b/pkg/apis/camel/v1/trait/service_binding.go
@@ -28,6 +28,7 @@ package trait
 // +camel-k:internal.
 type ServiceBindingTrait struct {
        Trait `property:",squash" json:",inline"`
+
        // List of Services in the form 
[[apigroup/]version:]kind:[namespace/]name
        Services []string `property:"services" json:"services,omitempty"`
 }
diff --git a/pkg/apis/camel/v1/trait/telemetry.go 
b/pkg/apis/camel/v1/trait/telemetry.go
index a9b6139ee..40e29e527 100644
--- a/pkg/apis/camel/v1/trait/telemetry.go
+++ b/pkg/apis/camel/v1/trait/telemetry.go
@@ -28,6 +28,7 @@ package trait
 // +camel-k:trait=telemetry.
 type TelemetryTrait struct {
        Trait `property:",squash" json:",inline"`
+
        // Enables automatic configuration of the trait, including automatic 
discovery of the telemetry endpoint.
        Auto *bool `property:"auto" json:"auto,omitempty"`
        // The name of the service that publishes telemetry data (defaults to 
the integration name)
diff --git a/pkg/apis/camel/v1/trait/toleration.go 
b/pkg/apis/camel/v1/trait/toleration.go
index bbc1d2e54..fa0163c32 100644
--- a/pkg/apis/camel/v1/trait/toleration.go
+++ b/pkg/apis/camel/v1/trait/toleration.go
@@ -33,6 +33,7 @@ package trait
 // +camel-k:trait=toleration.
 type TolerationTrait struct {
        Trait `property:",squash" json:",inline"`
+
        // The list of taints to tolerate, in the form 
`Key[=Value]:Effect[:Seconds]`
        Taints []string `property:"taints" json:"taints,omitempty"`
 }
diff --git a/pkg/apis/duck/strimzi/v1beta2/duck_types.go 
b/pkg/apis/duck/strimzi/v1beta2/duck_types.go
index 620affa00..5a187e58f 100644
--- a/pkg/apis/duck/strimzi/v1beta2/duck_types.go
+++ b/pkg/apis/duck/strimzi/v1beta2/duck_types.go
@@ -40,7 +40,8 @@ const (
 type KafkaTopic struct {
        metav1.TypeMeta   `json:",inline"`
        metav1.ObjectMeta `json:"metadata,omitempty"`
-       Status            KafkaTopicStatus `json:"status,omitempty"`
+
+       Status KafkaTopicStatus `json:"status,omitempty"`
 }
 
 // KafkaTopicStatus is the duck of a KafkaTopic status.
@@ -54,7 +55,8 @@ type KafkaTopicStatus struct {
 type KafkaTopicList struct {
        metav1.TypeMeta `json:",inline"`
        metav1.ListMeta `json:"metadata,omitempty"`
-       Items           []KafkaTopic `json:"items"`
+
+       Items []KafkaTopic `json:"items"`
 }
 
 // +genclient
@@ -87,5 +89,6 @@ type KafkaStatusListener struct {
 type KafkaList struct {
        metav1.TypeMeta `json:",inline"`
        metav1.ListMeta `json:"metadata,omitempty"`
-       Items           []Kafka `json:"items"`
+
+       Items []Kafka `json:"items"`
 }
diff --git a/pkg/builder/image.go b/pkg/builder/image.go
index addc859fd..2273520a3 100644
--- a/pkg/builder/image.go
+++ b/pkg/builder/image.go
@@ -204,7 +204,7 @@ func listPublishedImages(context *builderContext) 
([]v1.IntegrationKitStatus, er
        }
 
        list := v1.NewIntegrationKitList()
-       err = context.Client.List(context.C, &list, options...)
+       err = context.List(context.C, &list, options...)
        if err != nil {
                return nil, err
        }
diff --git a/pkg/builder/quarkus.go b/pkg/builder/quarkus.go
index 9553192ba..71712541a 100644
--- a/pkg/builder/quarkus.go
+++ b/pkg/builder/quarkus.go
@@ -275,7 +275,7 @@ func computeApplicationProperties(appPropertiesPath string, 
applicationPropertie
        }
        // Fill with properties coming from user configuration
        for k, v := range applicationProperties {
-               if _, err := f.WriteString(fmt.Sprintf("%s=%s\n", k, v)); err 
!= nil {
+               if _, err := fmt.Fprintf(f, "%s=%s\n", k, v); err != nil {
                        return err
                }
        }
diff --git a/pkg/builder/types.go b/pkg/builder/types.go
index 855a5930e..74a354c4d 100644
--- a/pkg/builder/types.go
+++ b/pkg/builder/types.go
@@ -75,6 +75,7 @@ type resource struct {
 //nolint:containedctx
 type builderContext struct {
        client.Client
+
        C                 context.Context
        Catalog           *camel.RuntimeCatalog
        Build             v1.BuilderTask
diff --git a/pkg/client/client.go b/pkg/client/client.go
index 41534109e..e92f4e6fb 100644
--- a/pkg/client/client.go
+++ b/pkg/client/client.go
@@ -81,6 +81,7 @@ type Provider struct {
 type defaultClient struct {
        ctrl.Client
        kubernetes.Interface
+
        camel  camel.Interface
        scheme *runtime.Scheme
        config *rest.Config
diff --git a/pkg/cmd/bind.go b/pkg/cmd/bind.go
index 9f9c8c12e..9f9883526 100644
--- a/pkg/cmd/bind.go
+++ b/pkg/cmd/bind.go
@@ -15,7 +15,6 @@ See the License for the specific language governing 
permissions and
 limitations under the License.
 */
 
-//nolint:goconst
 package cmd
 
 import (
@@ -79,6 +78,7 @@ const (
 
 type bindCmdOptions struct {
        *RootCmdOptions
+
        ErrorHandler   string   `mapstructure:"error-handler" yaml:",omitempty"`
        Name           string   `mapstructure:"name" yaml:",omitempty"`
        OutputFormat   string   `mapstructure:"output" yaml:",omitempty"`
@@ -98,7 +98,7 @@ func (o *bindCmdOptions) preRunE(cmd *cobra.Command, args 
[]string) error {
                // let the command work in offline mode
                cmd.Annotations[offlineCommandLabel] = "true"
        }
-       return o.RootCmdOptions.preRun(cmd, args)
+       return o.preRun(cmd, args)
 }
 
 func (o *bindCmdOptions) runE(cmd *cobra.Command, args []string) error {
diff --git a/pkg/cmd/builder.go b/pkg/cmd/builder.go
index 7609e3f18..80ef8fd2d 100644
--- a/pkg/cmd/builder.go
+++ b/pkg/cmd/builder.go
@@ -45,6 +45,7 @@ func newCmdBuilder(rootCmdOptions *RootCmdOptions) 
(*cobra.Command, *builderCmdO
 
 type builderCmdOptions struct {
        *RootCmdOptions
+
        BuildName string `mapstructure:"build-name"`
        TaskName  string `mapstructure:"task-name"`
 }
diff --git a/pkg/cmd/debug.go b/pkg/cmd/debug.go
index bdbe94616..babeda9a0 100644
--- a/pkg/cmd/debug.go
+++ b/pkg/cmd/debug.go
@@ -62,9 +62,10 @@ func newCmdDebug(rootCmdOptions *RootCmdOptions) 
(*cobra.Command, *debugCmdOptio
 
 type debugCmdOptions struct {
        *RootCmdOptions `json:"-"`
-       Suspend         bool `mapstructure:"suspend" yaml:",omitempty"`
-       Port            uint `mapstructure:"port" yaml:",omitempty"`
-       RemotePort      uint `mapstructure:"remote-port" yaml:",omitempty"`
+
+       Suspend    bool `mapstructure:"suspend" yaml:",omitempty"`
+       Port       uint `mapstructure:"port" yaml:",omitempty"`
+       RemotePort uint `mapstructure:"remote-port" yaml:",omitempty"`
 }
 
 func (o *debugCmdOptions) validateArgs(_ *cobra.Command, args []string) error {
diff --git a/pkg/cmd/delete.go b/pkg/cmd/delete.go
index d782b990c..5209320cb 100644
--- a/pkg/cmd/delete.go
+++ b/pkg/cmd/delete.go
@@ -57,6 +57,7 @@ func newCmdDelete(rootCmdOptions *RootCmdOptions) 
(*cobra.Command, *deleteCmdOpt
 
 type deleteCmdOptions struct {
        *RootCmdOptions
+
        DeleteAll bool `mapstructure:"all"`
 }
 
diff --git a/pkg/cmd/dump.go b/pkg/cmd/dump.go
index 9e0a2e654..c74d6257f 100644
--- a/pkg/cmd/dump.go
+++ b/pkg/cmd/dump.go
@@ -59,6 +59,7 @@ func newCmdDump(rootCmdOptions *RootCmdOptions) 
(*cobra.Command, *dumpCmdOptions
 
 type dumpCmdOptions struct {
        *RootCmdOptions
+
        LogLines   int  `mapstructure:"logLines"`
        Compressed bool `mapstructure:"compressed" yaml:",omitempty"`
 }
diff --git a/pkg/cmd/kit_delete.go b/pkg/cmd/kit_delete.go
index df9aea834..008ef9215 100644
--- a/pkg/cmd/kit_delete.go
+++ b/pkg/cmd/kit_delete.go
@@ -54,6 +54,7 @@ func newKitDeleteCmd(rootCmdOptions *RootCmdOptions) 
(*cobra.Command, *kitDelete
 
 type kitDeleteCommandOptions struct {
        *RootCmdOptions
+
        All bool `mapstructure:"all"`
 }
 
diff --git a/pkg/cmd/kit_get.go b/pkg/cmd/kit_get.go
index 20b5e5c0d..7cdc50cd8 100644
--- a/pkg/cmd/kit_get.go
+++ b/pkg/cmd/kit_get.go
@@ -56,6 +56,7 @@ func newKitGetCmd(rootCmdOptions *RootCmdOptions) 
(*cobra.Command, *kitGetComman
 
 type kitGetCommandOptions struct {
        *RootCmdOptions
+
        User     bool `mapstructure:"user"`
        External bool `mapstructure:"external"`
        Platform bool `mapstructure:"platform"`
diff --git a/pkg/cmd/log.go b/pkg/cmd/log.go
index 1a478b85a..260dc89c6 100644
--- a/pkg/cmd/log.go
+++ b/pkg/cmd/log.go
@@ -56,6 +56,7 @@ func newCmdLog(rootCmdOptions *RootCmdOptions) 
(*cobra.Command, *logCmdOptions)
 
 type logCmdOptions struct {
        *RootCmdOptions
+
        Tail int64 `mapstructure:"tail"`
 }
 
diff --git a/pkg/cmd/promote.go b/pkg/cmd/promote.go
index 3888025b1..8c68eda35 100644
--- a/pkg/cmd/promote.go
+++ b/pkg/cmd/promote.go
@@ -61,6 +61,7 @@ func newCmdPromote(rootCmdOptions *RootCmdOptions) 
(*cobra.Command, *promoteCmdO
 
 type promoteCmdOptions struct {
        *RootCmdOptions
+
        To           string `mapstructure:"to" yaml:",omitempty"`
        ToOperator   string `mapstructure:"to-operator" yaml:",omitempty"`
        OutputFormat string `mapstructure:"output" yaml:",omitempty"`
diff --git a/pkg/cmd/rebuild.go b/pkg/cmd/rebuild.go
index 147ee98c8..9c4a7a089 100644
--- a/pkg/cmd/rebuild.go
+++ b/pkg/cmd/rebuild.go
@@ -53,6 +53,7 @@ func newCmdRebuild(rootCmdOptions *RootCmdOptions) 
(*cobra.Command, *rebuildCmdO
 
 type rebuildCmdOptions struct {
        *RootCmdOptions
+
        RebuildAll bool `mapstructure:"all"`
 }
 
diff --git a/pkg/cmd/reset.go b/pkg/cmd/reset.go
index 6950cd972..251e711eb 100644
--- a/pkg/cmd/reset.go
+++ b/pkg/cmd/reset.go
@@ -49,6 +49,7 @@ func newCmdReset(rootCmdOptions *RootCmdOptions) 
(*cobra.Command, *resetCmdOptio
 
 type resetCmdOptions struct {
        *RootCmdOptions
+
        SkipKits         bool `mapstructure:"skip-kits"`
        SkipIntegrations bool `mapstructure:"skip-integrations"`
        SkipBindings     bool `mapstructure:"skip-bindings"`
diff --git a/pkg/cmd/run.go b/pkg/cmd/run.go
index 0b9f3d1cf..26275eefa 100644
--- a/pkg/cmd/run.go
+++ b/pkg/cmd/run.go
@@ -129,7 +129,8 @@ func newCmdRun(rootCmdOptions *RootCmdOptions) 
(*cobra.Command, *runCmdOptions)
 }
 
 type runCmdOptions struct {
-       *RootCmdOptions    `json:"-"`
+       *RootCmdOptions `json:"-"`
+
        Compression        bool     `mapstructure:"compression" 
yaml:",omitempty"`
        Wait               bool     `mapstructure:"wait" yaml:",omitempty"`
        Logs               bool     `mapstructure:"logs" yaml:",omitempty"`
@@ -193,6 +194,7 @@ func (o *runCmdOptions) decode(cmd *cobra.Command, args 
[]string) error {
                return err
        }
 
+       //nolint:goconst
        if o.OutputFormat != "" {
                // let the command work in offline mode
                cmd.Annotations[offlineCommandLabel] = "true"
@@ -405,7 +407,7 @@ func (o *runCmdOptions) run(cmd *cobra.Command, args 
[]string) error {
                                return err
                        }
 
-                       integration.ObjectMeta.ResourceVersion = 
existing.ObjectMeta.ResourceVersion
+                       integration.ResourceVersion = existing.ResourceVersion
                }
        }
        if o.Logs || o.Dev {
diff --git a/pkg/cmd/version.go b/pkg/cmd/version.go
index e9bc20b90..ce959bfe8 100644
--- a/pkg/cmd/version.go
+++ b/pkg/cmd/version.go
@@ -65,6 +65,7 @@ func newCmdVersion(rootCmdOptions *RootCmdOptions) 
(*cobra.Command, *versionCmdO
 
 type versionCmdOptions struct {
        *RootCmdOptions
+
        Operator bool `mapstructure:"operator"`
        Verbose  bool `mapstructure:"verbose"`
        All      bool `mapstructure:"all"`
@@ -75,7 +76,7 @@ func (o *versionCmdOptions) preRunE(cmd *cobra.Command, args 
[]string) error {
                // let the command to work in offline mode
                cmd.Annotations[offlineCommandLabel] = "true"
        }
-       return o.RootCmdOptions.preRun(cmd, args)
+       return o.preRun(cmd, args)
 }
 
 func (o *versionCmdOptions) run(cmd *cobra.Command, _ []string) error {
@@ -153,9 +154,9 @@ func operatorInfo(ctx context.Context, c client.Client, 
namespace string) (map[s
                return nil, err
        }
        if catalog != nil {
-               infos["Camel Quarkus version"] = 
catalog.CamelCatalogSpec.GetCamelQuarkusVersion()
-               infos["Camel version"] = 
catalog.CamelCatalogSpec.GetCamelVersion()
-               infos["Quarkus version"] = 
catalog.CamelCatalogSpec.GetQuarkusVersion()
+               infos["Camel Quarkus version"] = 
catalog.GetCamelQuarkusVersion()
+               infos["Camel version"] = catalog.GetCamelVersion()
+               infos["Quarkus version"] = catalog.GetQuarkusVersion()
        }
 
        return infos, nil
diff --git a/pkg/controller/build/initialize_pod.go 
b/pkg/controller/build/initialize_pod.go
index 6ccc52d77..1b7b2a3a0 100644
--- a/pkg/controller/build/initialize_pod.go
+++ b/pkg/controller/build/initialize_pod.go
@@ -34,6 +34,7 @@ func newInitializePodAction(reader ctrl.Reader) Action {
 
 type initializePodAction struct {
        baseAction
+
        reader ctrl.Reader
 }
 
diff --git a/pkg/controller/build/monitor_pod.go 
b/pkg/controller/build/monitor_pod.go
index 3a9c97c07..8dc8cdc4f 100644
--- a/pkg/controller/build/monitor_pod.go
+++ b/pkg/controller/build/monitor_pod.go
@@ -48,6 +48,7 @@ func newMonitorPodAction(reader ctrl.Reader) Action {
 
 type monitorPodAction struct {
        baseAction
+
        reader ctrl.Reader
 }
 
diff --git a/pkg/controller/build/monitor_routine.go 
b/pkg/controller/build/monitor_routine.go
index ff7550e7a..285c6e197 100644
--- a/pkg/controller/build/monitor_routine.go
+++ b/pkg/controller/build/monitor_routine.go
@@ -207,9 +207,10 @@ func (action *monitorRoutineAction) updateBuildStatus(ctx 
context.Context, build
                event.NotifyBuildError(ctx, action.client, action.recorder, 
build, target, err)
                return err
        }
-       if target.Status.Phase == v1.BuildPhaseFailed {
+       switch target.Status.Phase {
+       case v1.BuildPhaseFailed:
                action.L.Errorf(nil, "Build %s failed: %s", build.Name, 
target.Status.Error)
-       } else if target.Status.Phase == v1.BuildPhaseError {
+       case v1.BuildPhaseError:
                action.L.Errorf(nil, "Build %s errored: %s", build.Name, 
target.Status.Error)
        }
 
diff --git a/pkg/controller/build/recovery.go b/pkg/controller/build/recovery.go
index 8fac2f177..47e6bb0ce 100644
--- a/pkg/controller/build/recovery.go
+++ b/pkg/controller/build/recovery.go
@@ -49,6 +49,7 @@ func newErrorRecoveryAction() Action {
 
 type errorRecoveryAction struct {
        baseAction
+
        backOff backoff.Backoff
 }
 
diff --git a/pkg/controller/build/schedule.go b/pkg/controller/build/schedule.go
index a0188ddd1..addd298e6 100644
--- a/pkg/controller/build/schedule.go
+++ b/pkg/controller/build/schedule.go
@@ -38,6 +38,7 @@ func newScheduleAction(reader ctrl.Reader, buildMonitor 
Monitor) Action {
 
 type scheduleAction struct {
        baseAction
+
        lock         sync.Mutex
        reader       ctrl.Reader
        buildMonitor Monitor
diff --git a/pkg/controller/integration/build.go 
b/pkg/controller/integration/build.go
index a2417a009..b34b5741a 100644
--- a/pkg/controller/integration/build.go
+++ b/pkg/controller/integration/build.go
@@ -55,9 +55,10 @@ func (action *buildAction) CanHandle(kit *v1.Integration) 
bool {
 }
 
 func (action *buildAction) Handle(ctx context.Context, it *v1.Integration) 
(*v1.Integration, error) {
-       if it.Status.Phase == v1.IntegrationPhaseBuildSubmitted {
+       switch it.Status.Phase {
+       case v1.IntegrationPhaseBuildSubmitted:
                return action.handleBuildSubmitted(ctx, it)
-       } else if it.Status.Phase == v1.IntegrationPhaseBuildRunning {
+       case v1.IntegrationPhaseBuildRunning:
                return action.handleBuildRunning(ctx, it)
        }
 
diff --git a/pkg/controller/integration/integration_controller.go 
b/pkg/controller/integration/integration_controller.go
index adbcb1140..4d6e1548c 100644
--- a/pkg/controller/integration/integration_controller.go
+++ b/pkg/controller/integration/integration_controller.go
@@ -92,7 +92,7 @@ func integrationUpdateFunc(c client.Client, old 
*v1.Integration, it *v1.Integrat
        previous := old.Status.GetCondition(v1.IntegrationConditionReady)
        next := it.Status.GetCondition(v1.IntegrationConditionReady)
        if isIntegrationUpdated(it, previous, next) {
-               duration := 
next.FirstTruthyTime.Time.Sub(it.Status.InitializationTimestamp.Time)
+               duration := 
next.FirstTruthyTime.Sub(it.Status.InitializationTimestamp.Time)
                Log.WithValues("request-namespace", it.Namespace, 
"request-name", it.Name, "ready-after", duration.Seconds()).
                        ForIntegration(it).Infof("First readiness after %s", 
duration)
                timeToFirstReadiness.Observe(duration.Seconds())
diff --git a/pkg/controller/integrationkit/build.go 
b/pkg/controller/integrationkit/build.go
index f03c85986..e49fb5c8e 100644
--- a/pkg/controller/integrationkit/build.go
+++ b/pkg/controller/integrationkit/build.go
@@ -62,10 +62,10 @@ func (action *buildAction) CanHandle(kit 
*v1.IntegrationKit) bool {
 }
 
 func (action *buildAction) Handle(ctx context.Context, kit *v1.IntegrationKit) 
(*v1.IntegrationKit, error) {
-       if kit.Status.Phase == v1.IntegrationKitPhaseBuildSubmitted ||
-               kit.Status.Phase == v1.IntegrationKitPhaseWaitingForCatalog {
+       switch kit.Status.Phase {
+       case v1.IntegrationKitPhaseBuildSubmitted, 
v1.IntegrationKitPhaseWaitingForCatalog:
                return action.handleBuildSubmitted(ctx, kit)
-       } else if kit.Status.Phase == v1.IntegrationKitPhaseBuildRunning {
+       case v1.IntegrationKitPhaseBuildRunning:
                return action.handleBuildRunning(ctx, kit)
        }
 
diff --git a/pkg/controller/integrationplatform/kamelets.go 
b/pkg/controller/integrationplatform/kamelets.go
index f7b8ce5d6..0bc2e7973 100644
--- a/pkg/controller/integrationplatform/kamelets.go
+++ b/pkg/controller/integrationplatform/kamelets.go
@@ -186,7 +186,7 @@ func applyKamelets(ctx context.Context, c client.Client, 
platform *v1.Integratio
                if err != nil {
                        return err
                }
-               if !(strings.HasSuffix(f.Name(), ".yaml") || 
strings.HasSuffix(f.Name(), ".yml")) {
+               if !strings.HasSuffix(f.Name(), ".yaml") && 
!strings.HasSuffix(f.Name(), ".yml") {
                        return nil
                }
                kamelet, err := loadKamelet(filepath.Join(dir, f.Name()), 
platform)
diff --git a/pkg/install/openshift.go b/pkg/install/openshift.go
index a3f2ef18d..0d72152b7 100644
--- a/pkg/install/openshift.go
+++ b/pkg/install/openshift.go
@@ -56,6 +56,8 @@ var (
 )
 
 // OpenShiftConsoleDownloadLink installs the download link for the OpenShift 
console.
+//
+//nolint:nestif
 func OpenShiftConsoleDownloadLink(ctx context.Context, c client.Client) error {
        // Check the ConsoleCLIDownload CRD is present, which should be 
starting OpenShift version 4.2.
        // That check is also enough to exclude Kubernetes clusters.
diff --git a/pkg/internal/client.go b/pkg/internal/client.go
index 4efd62b37..984f420f2 100644
--- a/pkg/internal/client.go
+++ b/pkg/internal/client.go
@@ -145,6 +145,7 @@ func filterObjects(scheme *runtime.Scheme, input 
[]runtime.Object, filter func(g
 type FakeClient struct {
        controller.Client
        kubernetes.Interface
+
        camel                  *fakecamelclientset.Clientset
        scales                 *fakescale.FakeScaleClient
        disabledGroups         []string
@@ -235,6 +236,7 @@ func (c *FakeClient) ScalesClient() (scale.ScalesGetter, 
error) {
 
 type FakeAuthorization struct {
        authorizationv1.AuthorizationV1Interface
+
        disabledGroups   []string
        enabledOpenshift bool
 }
@@ -245,6 +247,7 @@ func (f *FakeAuthorization) SelfSubjectRulesReviews() 
authorizationv1.SelfSubjec
 
 type FakeDiscovery struct {
        discovery.DiscoveryInterface
+
        disabledGroups         []string
        enabledOpenshift       bool
        enabledKnativeServing  bool
diff --git a/pkg/metadata/metadata_dependencies_test.go 
b/pkg/metadata/metadata_dependencies_test.go
index 18532aab6..c9c453802 100644
--- a/pkg/metadata/metadata_dependencies_test.go
+++ b/pkg/metadata/metadata_dependencies_test.go
@@ -474,7 +474,7 @@ func TestXMLRestDependency(t *testing.T) {
                },
                meta.Dependencies.List())
 
-       assert.True(t, meta.RequiredCapabilities.Has("rest"))
+       assert.True(t, meta.RequiredCapabilities.Has(v1.CapabilityRest))
 }
 
 func TestXMLLanguageDependencies(t *testing.T) {
@@ -604,7 +604,7 @@ func TestYAMLRestDependency(t *testing.T) {
                },
                meta.Dependencies.List())
 
-       assert.True(t, meta.RequiredCapabilities.Has("rest"))
+       assert.True(t, meta.RequiredCapabilities.Has(v1.CapabilityRest))
 }
 
 func TestYAMLCircuitBreakerDependency(t *testing.T) {
diff --git a/pkg/platform/defaults.go b/pkg/platform/defaults.go
index f8444f4e9..8c3dcaaa0 100644
--- a/pkg/platform/defaults.go
+++ b/pkg/platform/defaults.go
@@ -305,7 +305,7 @@ func setPlatformDefaults(p *v1.IntegrationPlatform, verbose 
bool) error {
                        Duration: defaultBuildTimeout,
                }
        } else {
-               d := p.Status.Build.GetTimeout().Duration.Truncate(time.Second)
+               d := p.Status.Build.GetTimeout().Truncate(time.Second)
 
                if verbose && p.Status.Build.GetTimeout().Duration != d {
                        log.Log.Infof("Build timeout minimum unit is sec 
(configured: %s, truncated: %s)", p.Status.Build.GetTimeout().Duration, d)
@@ -319,9 +319,10 @@ func setPlatformDefaults(p *v1.IntegrationPlatform, 
verbose bool) error {
 
        if p.Status.Build.MaxRunningBuilds <= 0 {
                log.Debugf("Integration Platform %s [%s]: setting max running 
builds", p.Name, p.Namespace)
-               if p.Status.Build.BuildConfiguration.Strategy == 
v1.BuildStrategyRoutine {
+               switch p.Status.Build.BuildConfiguration.Strategy {
+               case v1.BuildStrategyRoutine:
                        p.Status.Build.MaxRunningBuilds = 3
-               } else if p.Status.Build.BuildConfiguration.Strategy == 
v1.BuildStrategyPod {
+               case v1.BuildStrategyPod:
                        p.Status.Build.MaxRunningBuilds = 10
                }
        }
diff --git a/pkg/trait/camel.go b/pkg/trait/camel.go
index 323c6b84c..59b802151 100644
--- a/pkg/trait/camel.go
+++ b/pkg/trait/camel.go
@@ -43,6 +43,7 @@ const (
 type camelTrait struct {
        BasePlatformTrait
        traitv1.CamelTrait `property:",squash"`
+
        // private configuration used only internally
        runtimeVersion  string
        runtimeProvider string
diff --git a/pkg/trait/container.go b/pkg/trait/container.go
index e4363af56..4e64d2088 100644
--- a/pkg/trait/container.go
+++ b/pkg/trait/container.go
@@ -63,7 +63,8 @@ const (
 type containerTrait struct {
        BasePlatformTrait
        traitv1.ContainerTrait `property:",squash"`
-       containerPorts         []containerPort
+
+       containerPorts []containerPort
 }
 
 // containerPort is supporting port parsing.
@@ -185,7 +186,7 @@ func (t *containerTrait) configureContainer(e *Environment) 
error {
                                envvar.SetVar(&container.Env, env)
                        }
                }
-               containers = 
&service.Spec.ConfigurationSpec.Template.Spec.Containers
+               containers = &service.Spec.Template.Spec.Containers
                visited = true
                knative = true
                return nil
diff --git a/pkg/trait/health.go b/pkg/trait/health.go
index fe4e4bc0d..69ff88d90 100644
--- a/pkg/trait/health.go
+++ b/pkg/trait/health.go
@@ -191,7 +191,7 @@ func (t *healthTrait) newLivenessProbe(port 
*intstr.IntOrString, path string) *c
        }
 
        if port != nil {
-               p.ProbeHandler.HTTPGet.Port = *port
+               p.HTTPGet.Port = *port
        }
 
        return &p
@@ -213,7 +213,7 @@ func (t *healthTrait) newReadinessProbe(port 
*intstr.IntOrString, path string) *
        }
 
        if port != nil {
-               p.ProbeHandler.HTTPGet.Port = *port
+               p.HTTPGet.Port = *port
        }
 
        return &p
@@ -235,7 +235,7 @@ func (t *healthTrait) newStartupProbe(port 
*intstr.IntOrString, path string) *co
        }
 
        if port != nil {
-               p.ProbeHandler.HTTPGet.Port = *port
+               p.HTTPGet.Port = *port
        }
 
        return &p
diff --git a/pkg/trait/init_containers.go b/pkg/trait/init_containers.go
index 4502c0243..2e483df44 100644
--- a/pkg/trait/init_containers.go
+++ b/pkg/trait/init_containers.go
@@ -106,7 +106,7 @@ func (t *initContainersTrait) Apply(e *Environment) error {
                return err
        } else if err := e.Resources.VisitKnativeServiceE(func(service 
*serving.Service) error {
                // Knative Service
-               initContainers = 
&service.Spec.ConfigurationSpec.Template.Spec.InitContainers
+               initContainers = &service.Spec.Template.Spec.InitContainers
                return nil
        }); err != nil {
                return err
diff --git a/pkg/trait/kamelets.go b/pkg/trait/kamelets.go
index bf52ac619..0cb2f3a15 100644
--- a/pkg/trait/kamelets.go
+++ b/pkg/trait/kamelets.go
@@ -333,7 +333,7 @@ func integrationSourceFromKameletSource(e *Environment, 
kamelet *v1.Kamelet, sou
 
        source.FromKamelet = true
 
-       if source.DataSpec.ContentRef != "" {
+       if source.ContentRef != "" {
                return source, nil
        }
 
diff --git a/pkg/trait/knative.go b/pkg/trait/knative.go
index b3ba08a1b..66a9a0ec9 100644
--- a/pkg/trait/knative.go
+++ b/pkg/trait/knative.go
@@ -141,9 +141,10 @@ func (t *knativeTrait) Configure(e *Environment) (bool, 
*TraitCondition, error)
 func filterMetaItems(meta metadata.IntegrationMetadata, cst 
knativeapi.CamelServiceType, uriType string) []string {
        items := make([]string, 0)
        var uris []string
-       if uriType == "from" {
+       switch uriType {
+       case "from":
                uris = meta.FromURIs
-       } else if uriType == "to" {
+       case "to":
                uris = meta.ToURIs
        }
        items = append(items, knativeutil.FilterURIs(uris, cst)...)
diff --git a/pkg/trait/knative_service.go b/pkg/trait/knative_service.go
index f82f44896..3df4d1cbf 100644
--- a/pkg/trait/knative_service.go
+++ b/pkg/trait/knative_service.go
@@ -255,7 +255,7 @@ func (t *knativeServiceTrait) getServiceFor(e *Environment) 
(*serving.Service, e
        }
 
        if t.TimeoutSeconds != nil {
-               svc.Spec.ConfigurationSpec.Template.Spec.TimeoutSeconds = 
t.TimeoutSeconds
+               svc.Spec.Template.Spec.TimeoutSeconds = t.TimeoutSeconds
        }
        replicas := e.Integration.Spec.Replicas
 
diff --git a/pkg/trait/master.go b/pkg/trait/master.go
index f19cdfb02..85b50d9cd 100644
--- a/pkg/trait/master.go
+++ b/pkg/trait/master.go
@@ -36,7 +36,8 @@ import (
 
 type masterTrait struct {
        BaseTrait
-       traitv1.MasterTrait  `property:",squash"`
+       traitv1.MasterTrait `property:",squash"`
+
        delegateDependencies []string
 }
 
diff --git a/pkg/trait/mount.go b/pkg/trait/mount.go
index d70c0b399..581a7058e 100644
--- a/pkg/trait/mount.go
+++ b/pkg/trait/mount.go
@@ -101,8 +101,8 @@ func (t *mountTrait) Apply(e *Environment) error {
 
        // Knative Service
        if err := e.Resources.VisitKnativeServiceE(func(service 
*serving.Service) error {
-               volumes = &service.Spec.ConfigurationSpec.Template.Spec.Volumes
-               initContainers = 
&service.Spec.ConfigurationSpec.Template.Spec.InitContainers
+               volumes = &service.Spec.Template.Spec.Volumes
+               initContainers = &service.Spec.Template.Spec.InitContainers
                visited = true
                return nil
        }); err != nil {
@@ -296,10 +296,8 @@ func (t *mountTrait) mountResource(vols *[]corev1.Volume, 
mnts *[]corev1.VolumeM
        }
        vol := getVolume(refName, string(conf.StorageType()), conf.Name(), 
conf.Key(), dstFile)
        mntPath := getMountPoint(conf.Name(), dstDir, 
string(conf.StorageType()), string(conf.ContentType()))
-       readOnly := true
-       if conf.StorageType() == utilResource.StorageTypePVC {
-               readOnly = false
-       }
+       readOnly := (conf.StorageType() != utilResource.StorageTypePVC)
+
        mnt := getMount(refName, mntPath, dstFile, readOnly)
 
        *vols = append(*vols, *vol)
diff --git a/pkg/trait/owner.go b/pkg/trait/owner.go
index ee945de0a..121a0e2e8 100644
--- a/pkg/trait/owner.go
+++ b/pkg/trait/owner.go
@@ -104,7 +104,7 @@ func (t *ownerTrait) Apply(e *Environment) error {
        })
 
        e.Resources.VisitKnativeService(func(service *serving.Service) {
-               
t.propagateLabelAndAnnotations(&service.Spec.ConfigurationSpec.Template, 
targetLabels, targetAnnotations)
+               t.propagateLabelAndAnnotations(&service.Spec.Template, 
targetLabels, targetAnnotations)
        })
 
        return nil
diff --git a/pkg/trait/platform.go b/pkg/trait/platform.go
index 15cb0d361..e8a5697db 100644
--- a/pkg/trait/platform.go
+++ b/pkg/trait/platform.go
@@ -38,6 +38,7 @@ const (
 type platformTrait struct {
        BasePlatformTrait
        traitv1.PlatformTrait `property:",squash"`
+
        // Parameters to be used internally
        createDefault *bool
        global        *bool
diff --git a/pkg/trait/route.go b/pkg/trait/route.go
index 42a6023d4..195dbc4e3 100644
--- a/pkg/trait/route.go
+++ b/pkg/trait/route.go
@@ -42,7 +42,8 @@ const (
 type routeTrait struct {
        BaseTrait
        traitv1.RouteTrait `property:",squash"`
-       service            *corev1.Service
+
+       service *corev1.Service
 }
 
 func newRouteTrait() Trait {
diff --git a/pkg/trait/service.go b/pkg/trait/service.go
index 4e8ddc9ff..d83dda84c 100644
--- a/pkg/trait/service.go
+++ b/pkg/trait/service.go
@@ -40,7 +40,8 @@ const (
 type serviceTrait struct {
        BaseTrait
        traitv1.ServiceTrait `property:",squash"`
-       servicePorts         []servicePort
+
+       servicePorts []servicePort
 }
 
 // servicePort is supporting port parsing.
diff --git a/pkg/trait/telemetry.go b/pkg/trait/telemetry.go
index 54c0f7cf4..63a5957af 100644
--- a/pkg/trait/telemetry.go
+++ b/pkg/trait/telemetry.go
@@ -131,13 +131,13 @@ func (t *telemetryTrait) Configure(e *Environment) (bool, 
*TraitCondition, error
 func (t *telemetryTrait) Apply(e *Environment) error {
        util.StringSliceUniqueAdd(&e.Integration.Status.Capabilities, 
v1.CapabilityTelemetry)
 
-       if e.CamelCatalog.CamelCatalogSpec.Runtime.Provider.IsQuarkusBased() {
+       if e.CamelCatalog.Runtime.Provider.IsQuarkusBased() {
                // Hack for camel-k-runtime >= 3.15.0
                ck315, err := semver.NewVersion("3.15.0")
                if err != nil {
                        return err
                }
-               qv, err := 
semver.NewVersion(e.CamelCatalog.CamelCatalogSpec.Runtime.Version)
+               qv, err := semver.NewVersion(e.CamelCatalog.Runtime.Version)
                if err != nil {
                        return err
                }
@@ -187,7 +187,7 @@ func (t *telemetryTrait) setCatalogConfiguration(e 
*Environment) {
 
 // Deprecated: to be removed in future release in favor of func 
setCatalogConfiguration().
 func (t *telemetryTrait) setRuntimeProviderProperties(e *Environment) {
-       provider := e.CamelCatalog.CamelCatalogSpec.Runtime.Provider
+       provider := e.CamelCatalog.Runtime.Provider
        properties := telemetryProperties[provider]
        if appPropEnabled := properties[propEnabled]; appPropEnabled != "" {
                e.ApplicationProperties[appPropEnabled] = boolean.TrueString
diff --git a/pkg/trait/trait_types.go b/pkg/trait/trait_types.go
index 9fbedfe72..f512ccd5e 100644
--- a/pkg/trait/trait_types.go
+++ b/pkg/trait/trait_types.go
@@ -424,19 +424,19 @@ func getVolume(volName, storageType, storageName, 
filterKey, filterValue string)
        }
        switch storageType {
        case configmapStorageType:
-               volume.VolumeSource.ConfigMap = &corev1.ConfigMapVolumeSource{
+               volume.ConfigMap = &corev1.ConfigMapVolumeSource{
                        LocalObjectReference: corev1.LocalObjectReference{
                                Name: storageName,
                        },
                        Items: items,
                }
        case secretStorageType:
-               volume.VolumeSource.Secret = &corev1.SecretVolumeSource{
+               volume.Secret = &corev1.SecretVolumeSource{
                        SecretName: storageName,
                        Items:      items,
                }
        case pvcStorageType:
-               volume.VolumeSource.PersistentVolumeClaim = 
&corev1.PersistentVolumeClaimVolumeSource{
+               volume.PersistentVolumeClaim = 
&corev1.PersistentVolumeClaimVolumeSource{
                        ClaimName: storageName,
                }
        }
diff --git a/pkg/trait/util.go b/pkg/trait/util.go
index 3bc6c4c80..896501ca3 100644
--- a/pkg/trait/util.go
+++ b/pkg/trait/util.go
@@ -409,7 +409,7 @@ func NewSpecTraitsOptionsForIntegrationAndPlatform(
        // IMPORTANT: when we remove this we'll need to remove the 
client.Client from the func,
        // which will bring to more cascade removal. It had to be introduced to 
support the deprecated feature
        // in a properly manner (ie, comparing the spec.traits with annotations 
in a proper way).
-       return newTraitsOptions(c, options, i.ObjectMeta.Annotations)
+       return newTraitsOptions(c, options, i.Annotations)
 }
 
 func NewSpecTraitsOptionsForIntegration(c client.Client, i *v1.Integration) 
(Options, error) {
@@ -422,7 +422,7 @@ func NewSpecTraitsOptionsForIntegration(c client.Client, i 
*v1.Integration) (Opt
        // IMPORTANT: when we remove this we'll need to remove the 
client.Client from the func,
        // which will bring to more cascade removal. It had to be introduced to 
support the deprecated feature
        // in a properly manner (ie, comparing the spec.traits with annotations 
in a proper way).
-       return newTraitsOptions(c, m1, i.ObjectMeta.Annotations)
+       return newTraitsOptions(c, m1, i.Annotations)
 }
 
 func newTraitsOptionsForIntegrationKit(c client.Client, i *v1.IntegrationKit, 
traits v1.IntegrationKitTraits) (Options, error) {
@@ -435,7 +435,7 @@ func newTraitsOptionsForIntegrationKit(c client.Client, i 
*v1.IntegrationKit, tr
        // IMPORTANT: when we remove this we'll need to remove the 
client.Client from the func,
        // which will bring to more cascade removal. It had to be introduced to 
support the deprecated feature
        // in a properly manner (ie, comparing the spec.traits with annotations 
in a proper way).
-       return newTraitsOptions(c, m1, i.ObjectMeta.Annotations)
+       return newTraitsOptions(c, m1, i.Annotations)
 }
 
 func NewSpecTraitsOptionsForIntegrationKit(c client.Client, i 
*v1.IntegrationKit) (Options, error) {
@@ -445,7 +445,7 @@ func NewSpecTraitsOptionsForIntegrationKit(c client.Client, 
i *v1.IntegrationKit
 func NewTraitsOptionsForPipe(c client.Client, pipe *v1.Pipe) (Options, error) {
        options := Options{}
 
-       return newTraitsOptions(c, options, pipe.ObjectMeta.Annotations)
+       return newTraitsOptions(c, options, pipe.Annotations)
 }
 
 // HasMatchingTraits verifies if two traits options match.
diff --git a/pkg/util/bindings/service_ref.go b/pkg/util/bindings/service_ref.go
index 3f5a7d0c6..3cec66e3f 100644
--- a/pkg/util/bindings/service_ref.go
+++ b/pkg/util/bindings/service_ref.go
@@ -36,7 +36,7 @@ func (k ServiceRefBindingProvider) ID() string {
 
 // Translate will check the endpoint reference being either a Service or an 
Integration and Pipe which have a Service associated.
 func (k ServiceRefBindingProvider) Translate(ctx BindingContext, endpointCtx 
EndpointContext, e v1.Endpoint) (*Binding, error) {
-       if e.Ref == nil || !(isService(e.Ref) || isIntegration(e.Ref) || 
isPipe(e.Ref)) {
+       if e.Ref == nil || (!isService(e.Ref) && !isIntegration(e.Ref) && 
!isPipe(e.Ref)) {
                // works only on Service refs
                return nil, nil
        }
diff --git a/pkg/util/digest/digest.go b/pkg/util/digest/digest.go
index c2319e766..c5a67f88f 100644
--- a/pkg/util/digest/digest.go
+++ b/pkg/util/digest/digest.go
@@ -67,7 +67,7 @@ func ComputeForIntegration(integration *v1.Integration, 
configmapVersions []stri
 
        // Integration Kit is relevant
        if integration.Spec.IntegrationKit != nil {
-               if _, err := hash.Write([]byte(fmt.Sprintf("%s/%s", 
integration.Spec.IntegrationKit.Namespace, 
integration.Spec.IntegrationKit.Name))); err != nil {
+               if _, err := fmt.Fprintf(hash, "%s/%s", 
integration.Spec.IntegrationKit.Namespace, 
integration.Spec.IntegrationKit.Name); err != nil {
                        return "", err
                }
        }
@@ -137,7 +137,7 @@ func ComputeForIntegration(integration *v1.Integration, 
configmapVersions []stri
        // Integration traits as annotations
        for _, k := range sortedTraitAnnotationsKeys(integration) {
                v := integration.Annotations[k]
-               if _, err := hash.Write([]byte(fmt.Sprintf("%s=%v,", k, v))); 
err != nil {
+               if _, err := fmt.Fprintf(hash, "%s=%v,", k, v); err != nil {
                        return "", err
                }
        }
@@ -217,7 +217,7 @@ func computeForTrait(hash hash.Hash, name string, trait 
map[string]interface{})
 func computeForTraitProps(hash hash.Hash, props map[string]interface{}) error {
        for _, prop := range util.SortedMapKeys(props) {
                val := props[prop]
-               if _, err := hash.Write([]byte(fmt.Sprintf("%s=%v,", prop, 
val))); err != nil {
+               if _, err := fmt.Fprintf(hash, "%s=%v,", prop, val); err != nil 
{
                        return err
                }
        }
diff --git a/pkg/util/knative/apis.go b/pkg/util/knative/apis.go
index 6739be347..caefa50aa 100644
--- a/pkg/util/knative/apis.go
+++ b/pkg/util/knative/apis.go
@@ -137,6 +137,7 @@ var (
 // GroupVersionKindResource --.
 type GroupVersionKindResource struct {
        schema.GroupVersionKind
+
        Resource string
 }
 
diff --git a/pkg/util/kubernetes/collection.go 
b/pkg/util/kubernetes/collection.go
index 190d884d2..3ac710902 100644
--- a/pkg/util/kubernetes/collection.go
+++ b/pkg/util/kubernetes/collection.go
@@ -138,7 +138,7 @@ func (c *Collection) 
GetDeploymentForIntegration(integration *v1.Integration) *a
        }
 
        return c.GetDeployment(func(d *appsv1.Deployment) bool {
-               return d.ObjectMeta.Labels[v1.IntegrationLabel] == 
integration.Name
+               return d.Labels[v1.IntegrationLabel] == integration.Name
        })
 }
 
@@ -251,9 +251,9 @@ func (c *Collection) 
GetUserServiceForIntegration(integration *v1.Integration) *
                return nil
        }
        return c.GetService(func(s *corev1.Service) bool {
-               return s.ObjectMeta.Labels != nil &&
-                       s.ObjectMeta.Labels[v1.IntegrationLabel] == 
integration.Name &&
-                       s.ObjectMeta.Labels["camel.apache.org/service.type"] == 
v1.ServiceTypeUser
+               return s.Labels != nil &&
+                       s.Labels[v1.IntegrationLabel] == integration.Name &&
+                       s.Labels["camel.apache.org/service.type"] == 
v1.ServiceTypeUser
        })
 }
 
@@ -263,7 +263,7 @@ func (c *Collection) GetServiceForIntegration(integration 
*v1.Integration) *core
                return nil
        }
        return c.GetService(func(s *corev1.Service) bool {
-               return s.ObjectMeta.Labels != nil && 
s.ObjectMeta.Labels[v1.IntegrationLabel] == integration.Name
+               return s.Labels != nil && s.Labels[v1.IntegrationLabel] == 
integration.Name
        })
 }
 
diff --git a/pkg/util/kubernetes/replace.go b/pkg/util/kubernetes/replace.go
index 19b9883d9..37e67ff82 100644
--- a/pkg/util/kubernetes/replace.go
+++ b/pkg/util/kubernetes/replace.go
@@ -92,10 +92,10 @@ func mapRequiredKnativeServiceV1Data(from runtime.Object, 
to runtime.Object) {
                return
        }
 
-       if v, present := 
fromC.ObjectMeta.Annotations["serving.knative.dev/creator"]; present {
+       if v, present := fromC.Annotations["serving.knative.dev/creator"]; 
present {
                v1.SetAnnotation(&toC.ObjectMeta, 
"serving.knative.dev/creator", v)
        }
-       if v, present := 
fromC.ObjectMeta.Annotations["serving.knative.dev/lastModifier"]; present {
+       if v, present := fromC.Annotations["serving.knative.dev/lastModifier"]; 
present {
                v1.SetAnnotation(&toC.ObjectMeta, 
"serving.knative.dev/lastModifier", v)
        }
 }
diff --git a/pkg/util/maven/maven_command.go b/pkg/util/maven/maven_command.go
index d82c4512b..e73b4ef3c 100644
--- a/pkg/util/maven/maven_command.go
+++ b/pkg/util/maven/maven_command.go
@@ -295,8 +295,8 @@ func ParseGAV(gav string) (Dependency, error) {
        }
        dep.GroupID = res[0]
        dep.ArtifactID = res[1]
-       switch {
-       case count == 3:
+       switch count {
+       case 3:
                // gav is: org:artifact:<type:version>
                numeric := regexp.MustCompile(`\d`)
                if numeric.MatchString(res[2]) {
@@ -304,11 +304,11 @@ func ParseGAV(gav string) (Dependency, error) {
                } else {
                        dep.Type = res[2]
                }
-       case count == 4:
+       case 4:
                // gav is: org:artifact:type:version
                dep.Type = res[2]
                dep.Version = res[3]
-       case count == 5:
+       case 5:
                // gav is: org:artifact:<type>:<version>:classifier
                dep.Type = res[2]
                dep.Version = res[3]
diff --git a/pkg/util/openshift/openshift.go b/pkg/util/openshift/openshift.go
index d2e280bd9..9456e6e68 100644
--- a/pkg/util/openshift/openshift.go
+++ b/pkg/util/openshift/openshift.go
@@ -51,12 +51,12 @@ func GetOpenshiftPodSecurityContextRestricted(ctx 
context.Context, client kubern
                return nil, fmt.Errorf("failed to get namespace %q: %w", 
namespace, err)
        }
 
-       uidRange, ok := 
ns.ObjectMeta.Annotations["openshift.io/sa.scc.uid-range"]
+       uidRange, ok := ns.Annotations["openshift.io/sa.scc.uid-range"]
        if !ok {
                return nil, errors.New("annotation 
'openshift.io/sa.scc.uid-range' not found")
        }
 
-       supplementalGroups, ok := 
ns.ObjectMeta.Annotations["openshift.io/sa.scc.supplemental-groups"]
+       supplementalGroups, ok := 
ns.Annotations["openshift.io/sa.scc.supplemental-groups"]
        if !ok {
                supplementalGroups = uidRange
        }
@@ -106,7 +106,7 @@ func GetOpenshiftUser(ctx context.Context, client 
kubernetes.Interface, namespac
        if err != nil {
                return nil, fmt.Errorf("failed to get namespace %q: %w", 
namespace, err)
        }
-       uidRange, ok := 
ns.ObjectMeta.Annotations["openshift.io/sa.scc.uid-range"]
+       uidRange, ok := ns.Annotations["openshift.io/sa.scc.uid-range"]
        if !ok {
                return nil, errors.New("annotation 
'openshift.io/sa.scc.uid-range' not found")
        }
diff --git a/pkg/util/s2i/build.go b/pkg/util/s2i/build.go
index a2a393493..be16f659b 100644
--- a/pkg/util/s2i/build.go
+++ b/pkg/util/s2i/build.go
@@ -64,11 +64,10 @@ func WaitForS2iBuildCompletion(ctx context.Context, c 
client.Client, build *buil
                                return err
                        }
 
-                       if build.Status.Phase == buildv1.BuildPhaseComplete {
+                       switch build.Status.Phase {
+                       case buildv1.BuildPhaseComplete:
                                return nil
-                       } else if build.Status.Phase == 
buildv1.BuildPhaseCancelled ||
-                               build.Status.Phase == buildv1.BuildPhaseFailed 
||
-                               build.Status.Phase == buildv1.BuildPhaseError {
+                       case buildv1.BuildPhaseCancelled, 
buildv1.BuildPhaseFailed, buildv1.BuildPhaseError:
                                return errors.New("build failed")
                        }
                }
diff --git a/pkg/util/source/inspector.go b/pkg/util/source/inspector.go
index 0d1cbe979..3b5491ff3 100644
--- a/pkg/util/source/inspector.go
+++ b/pkg/util/source/inspector.go
@@ -32,6 +32,7 @@ type catalog2deps func(*camel.RuntimeCatalog) []string
 const (
        defaultJSONDataFormat = "jackson"
        kamelet               = "kamelet"
+       rest                  = "rest"
 )
 
 var (
@@ -89,7 +90,7 @@ var (
                },
                restConfigurationRegexp: func(catalog *camel.RuntimeCatalog) 
[]string {
                        deps := make([]string, 0)
-                       if c, ok := 
catalog.CamelCatalogSpec.Runtime.Capabilities[v1.CapabilityRest]; ok {
+                       if c, ok := 
catalog.Runtime.Capabilities[v1.CapabilityRest]; ok {
                                for _, d := range c.Dependencies {
                                        deps = append(deps, d.GetDependencyID())
                                }
@@ -98,7 +99,7 @@ var (
                },
                restRegexp: func(catalog *camel.RuntimeCatalog) []string {
                        deps := make([]string, 0)
-                       if c, ok := 
catalog.CamelCatalogSpec.Runtime.Capabilities[v1.CapabilityRest]; ok {
+                       if c, ok := 
catalog.Runtime.Capabilities[v1.CapabilityRest]; ok {
                                for _, d := range c.Dependencies {
                                        deps = append(deps, d.GetDependencyID())
                                }
@@ -107,7 +108,7 @@ var (
                },
                restClosureRegexp: func(catalog *camel.RuntimeCatalog) []string 
{
                        deps := make([]string, 0)
-                       if c, ok := 
catalog.CamelCatalogSpec.Runtime.Capabilities[v1.CapabilityRest]; ok {
+                       if c, ok := 
catalog.Runtime.Capabilities[v1.CapabilityRest]; ok {
                                for _, d := range c.Dependencies {
                                        deps = append(deps, d.GetDependencyID())
                                }
diff --git a/pkg/util/source/inspector_xml.go b/pkg/util/source/inspector_xml.go
index 91ebf98f3..ecbd38a2e 100644
--- a/pkg/util/source/inspector_xml.go
+++ b/pkg/util/source/inspector_xml.go
@@ -49,8 +49,7 @@ func (i XMLInspector) Extract(source v1.SourceSpec, meta 
*Metadata) error {
 
                if se, ok := t.(xml.StartElement); ok {
                        switch se.Name.Local {
-                       //nolint: goconst
-                       case "rest", "restConfiguration":
+                       case rest, "restConfiguration":
                                meta.ExposesHTTPServices = true
                                meta.RequiredCapabilities.Add(v1.CapabilityRest)
                        case "openApi":
diff --git a/pkg/util/source/inspector_yaml.go 
b/pkg/util/source/inspector_yaml.go
index 9d83879b4..ce44dd039 100644
--- a/pkg/util/source/inspector_yaml.go
+++ b/pkg/util/source/inspector_yaml.go
@@ -68,7 +68,7 @@ func (i YAMLInspector) Extract(source v1.SourceSpec, meta 
*Metadata) error {
 //nolint:nestif
 func (i YAMLInspector) parseDefinition(def map[string]interface{}, meta 
*Metadata) error {
        for k, v := range def {
-               if k == "rest" {
+               if k == rest {
                        meta.ExposesHTTPServices = true
                        meta.RequiredCapabilities.Add(v1.CapabilityRest)
                        // support contract first openapi
@@ -92,7 +92,7 @@ func (i YAMLInspector) parseStep(key string, content 
interface{}, meta *Metadata
                if bean := i.catalog.GetArtifactByScheme("bean"); bean != nil {
                        meta.AddDependency(bean.GetDependencyID())
                }
-       case "rest":
+       case rest:
                meta.ExposesHTTPServices = true
                meta.RequiredCapabilities.Add(v1.CapabilityRest)
        case "circuitBreaker":
diff --git a/pkg/util/watch/watch.go b/pkg/util/watch/watch.go
index fa6b7cfa2..b4745b907 100644
--- a/pkg/util/watch/watch.go
+++ b/pkg/util/watch/watch.go
@@ -34,7 +34,7 @@ func HandleIntegrationStateChanges(ctx context.Context, c 
client.Client, integra
        handler func(integration *v1.Integration) bool) (*v1.IntegrationPhase, 
error) {
        watcher, err := 
c.CamelV1().Integrations(integration.Namespace).Watch(ctx, metav1.ListOptions{
                FieldSelector:   "metadata.name=" + integration.Name,
-               ResourceVersion: integration.ObjectMeta.ResourceVersion,
+               ResourceVersion: integration.ResourceVersion,
        })
        if err != nil {
                return nil, err
diff --git a/script/Makefile b/script/Makefile
index 0bf6de448..327709b24 100644
--- a/script/Makefile
+++ b/script/Makefile
@@ -40,7 +40,7 @@ LINTER ?= $(LOCALBIN)/golangci-lint
 DEADCODE ?= $(LOCALBIN)/deadcode
 GOVULNCHECK ?= $(LOCALBIN)/govulncheck
 GOIMPORT ?= $(LOCALBIN)/goimports
-LINTER_VERSION ?= v1.64.5
+LINTER_VERSION ?= v2.4.0
 GOVULNCHECK_VERSION ?= latest
 LINT_GOGC ?= 20
 LINT_DEADLINE ?= 10m
@@ -403,11 +403,11 @@ check: lint vuln
 
 .PHONY: lint
 lint: golangci-lint
-       GOGC=$(LINT_GOGC) $(LINTER) run --config .golangci.yml --out-format 
colored-tab --timeout $(LINT_DEADLINE) --verbose
+       GOGC=$(LINT_GOGC) $(LINTER) run --config .golangci.yml --timeout 
$(LINT_DEADLINE) --verbose
 
 .PHONY: lint-fix
 lint-fix: golangci-lint
-       GOGC=$(LINT_GOGC) $(LINTER) run --config .golangci.yml --out-format 
colored-tab --timeout $(LINT_DEADLINE) --fix
+       GOGC=$(LINT_GOGC) $(LINTER) run --config .golangci.yml --timeout 
$(LINT_DEADLINE) --fix
 
 .PHONY: vuln
 vuln: govulncheck
@@ -737,7 +737,7 @@ $(LOCALBIN):
 
 .PHONY: golangci-lint
 golangci-lint:
-       GOBIN=$(LOCALBIN) go install 
github.com/golangci/golangci-lint/cmd/golangci-lint@$(LINTER_VERSION)
+       GOBIN=$(LOCALBIN) go install 
github.com/golangci/golangci-lint/v2/cmd/golangci-lint@$(LINTER_VERSION)
 
 .PHONY: govulncheck
 govulncheck:

Reply via email to