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 ad7887659 feat(trait): prepare to remove runtime dependencies
ad7887659 is described below

commit ad788765921225aef028d71d73765156fceb4713
Author: Pasquale Congiusti <pasquale.congiu...@gmail.com>
AuthorDate: Thu Aug 10 11:59:18 2023 +0200

    feat(trait): prepare to remove runtime dependencies
    
    Ref #4166
---
 addons/vault/aws/aws_secrets_manager.go   |  2 +-
 addons/vault/azure/azure_key_vault.go     |  2 +-
 addons/vault/gcp/gcp_secret_manager.go    |  2 +-
 addons/vault/hashicorp/hashicorp_vault.go |  2 +-
 pkg/apis/camel/v1/common_types.go         | 47 ++++++++++++++++++-------------
 pkg/resources/resources.go                | 17 +++++++++++
 pkg/trait/jolokia.go                      |  6 ++--
 pkg/trait/knative.go                      |  4 +++
 pkg/trait/prometheus.go                   |  3 +-
 9 files changed, 57 insertions(+), 28 deletions(-)

diff --git a/addons/vault/aws/aws_secrets_manager.go 
b/addons/vault/aws/aws_secrets_manager.go
index e2bad5965..8cbb68efe 100644
--- a/addons/vault/aws/aws_secrets_manager.go
+++ b/addons/vault/aws/aws_secrets_manager.go
@@ -100,7 +100,7 @@ func (t *awsSecretsManagerTrait) Configure(environment 
*trait.Environment) (bool
 func (t *awsSecretsManagerTrait) Apply(environment *trait.Environment) error {
        if environment.IntegrationInPhase(v1.IntegrationPhaseInitialization) {
                
util.StringSliceUniqueAdd(&environment.Integration.Status.Capabilities, 
v1.CapabilityAwsSecretsManager)
-               // Add the Camel Quarkus AWS Secrets Manager
+               // TODO remove dependencies after runtime > 2.16.0
                
util.StringSliceUniqueAdd(&environment.Integration.Status.Dependencies, 
"mvn:org.apache.camel.quarkus:camel-quarkus-aws-secrets-manager")
        }
 
diff --git a/addons/vault/azure/azure_key_vault.go 
b/addons/vault/azure/azure_key_vault.go
index 24db92014..2deca3359 100644
--- a/addons/vault/azure/azure_key_vault.go
+++ b/addons/vault/azure/azure_key_vault.go
@@ -106,7 +106,7 @@ func (t *azureKeyVaultTrait) Configure(environment 
*trait.Environment) (bool, er
 func (t *azureKeyVaultTrait) Apply(environment *trait.Environment) error {
        if environment.IntegrationInPhase(v1.IntegrationPhaseInitialization) {
                
util.StringSliceUniqueAdd(&environment.Integration.Status.Capabilities, 
v1.CapabilityAzureKeyVault)
-               // Add the Camel Quarkus Azure Key Vault dependency
+               // TODO remove dependencies after runtime > 2.16.0
                
util.StringSliceUniqueAdd(&environment.Integration.Status.Dependencies, 
"mvn:org.apache.camel.quarkus:camel-quarkus-azure-key-vault")
        }
 
diff --git a/addons/vault/gcp/gcp_secret_manager.go 
b/addons/vault/gcp/gcp_secret_manager.go
index 6de0dd9fb..a2c118812 100644
--- a/addons/vault/gcp/gcp_secret_manager.go
+++ b/addons/vault/gcp/gcp_secret_manager.go
@@ -102,7 +102,7 @@ func (t *gcpSecretManagerTrait) Configure(environment 
*trait.Environment) (bool,
 func (t *gcpSecretManagerTrait) Apply(environment *trait.Environment) error {
        if environment.IntegrationInPhase(v1.IntegrationPhaseInitialization) {
                
util.StringSliceUniqueAdd(&environment.Integration.Status.Capabilities, 
v1.CapabilityGcpSecretManager)
-               // Add the Camel Quarkus Google Secrets Manager dependency
+               // TODO remove dependencies after runtime > 2.16.0
                
util.StringSliceUniqueAdd(&environment.Integration.Status.Dependencies, 
"mvn:org.apache.camel.quarkus:camel-quarkus-google-secret-manager")
        }
 
diff --git a/addons/vault/hashicorp/hashicorp_vault.go 
b/addons/vault/hashicorp/hashicorp_vault.go
index 43e678082..1b5bd58fd 100644
--- a/addons/vault/hashicorp/hashicorp_vault.go
+++ b/addons/vault/hashicorp/hashicorp_vault.go
@@ -78,7 +78,7 @@ func (t *hashicorpVaultTrait) Configure(environment 
*trait.Environment) (bool, e
 func (t *hashicorpVaultTrait) Apply(environment *trait.Environment) error {
        if environment.IntegrationInPhase(v1.IntegrationPhaseInitialization) {
                
util.StringSliceUniqueAdd(&environment.Integration.Status.Capabilities, 
v1.CapabilityHashicorpVault)
-               // Add the Camel Quarkus AWS Secrets Manager
+               // TODO remove dependencies after runtime > 2.16.0
                
util.StringSliceUniqueAdd(&environment.Integration.Status.Dependencies, 
"mvn:org.apache.camel.quarkus:camel-quarkus-hashicorp-vault")
        }
 
diff --git a/pkg/apis/camel/v1/common_types.go 
b/pkg/apis/camel/v1/common_types.go
index e535e45bb..0f3e2c8a3 100644
--- a/pkg/apis/camel/v1/common_types.go
+++ b/pkg/apis/camel/v1/common_types.go
@@ -319,6 +319,7 @@ type RuntimeSpec struct {
 }
 
 // Capability is a particular feature which requires a well known set of 
dependencies
+// which are specified in the runtime catalog
 type Capability struct {
        Dependencies []MavenArtifact `json:"dependencies" yaml:"dependencies"`
 }
@@ -327,32 +328,38 @@ const (
        // ServiceTypeUser service user type label marker
        ServiceTypeUser = "user"
 
-       // CapabilityRest defines the REST API service exposure capability
-       CapabilityRest = "rest"
-       // CapabilityHealth defines the health monitoring capability
-       CapabilityHealth = "health"
-       // CapabilityCron defines the cron execution capability
-       CapabilityCron = "cron"
-       // CapabilityPlatformHTTP defines the http service exposure capability
-       CapabilityPlatformHTTP = "platform-http"
-       // CapabilityCircuitBreaker defines the circuit breaker capability
-       CapabilityCircuitBreaker = "circuit-breaker"
-       // CapabilityTracing defines the tracing (opentracing) capability
-       CapabilityTracing = "tracing"
-       // CapabilityTelemetry defines the telemetry (opentelemetry) capability
-       CapabilityTelemetry = "telemetry"
-       // CapabilityMaster defines the master capability
-       CapabilityMaster = "master"
-       // CapabilityResumeKafka defines the resume capability
-       CapabilityResumeKafka = "resume-kafka"
+       // CapabilityAzureKeyVault defines the azure key vault capability
+       CapabilityAzureKeyVault = "azure-key-vault"
        // CapabilityAwsSecretsManager defines the aws secrets manager 
capability
        CapabilityAwsSecretsManager = "aws-secrets-manager"
+       // CapabilityCircuitBreaker defines the circuit breaker capability
+       CapabilityCircuitBreaker = "circuit-breaker"
+       // CapabilityCron defines the cron execution capability
+       CapabilityCron = "cron"
        // CapabilityGcpSecretManager defines the gcp secret manager capability
        CapabilityGcpSecretManager = "gcp-secret-manager"
-       // CapabilityAzureKeyVault defines the azure key vault capability
-       CapabilityAzureKeyVault = "azure-key-vault"
        // CapabilityHashicorpVault defines the Hashicorp Vault capability
        CapabilityHashicorpVault = "hashicorp-vault"
+       // CapabilityHealth defines the health monitoring capability
+       CapabilityHealth = "health"
+       // CapabilityJolokia --
+       CapabilityJolokia = "jolokia"
+       // CapabilityKnative --
+       CapabilityKnative = "knative"
+       // CapabilityMaster defines the master capability
+       CapabilityMaster = "master"
+       // CapabilityPrometheus --
+       CapabilityPrometheus = "prometheus"
+       // CapabilityRest defines the REST API service exposure capability
+       CapabilityRest = "rest"
+       // CapabilityResumeKafka defines the resume capability
+       CapabilityResumeKafka = "resume-kafka"
+       // CapabilityPlatformHTTP defines the http service exposure capability
+       CapabilityPlatformHTTP = "platform-http"
+       // CapabilityTelemetry defines the telemetry (opentelemetry) capability
+       CapabilityTelemetry = "telemetry"
+       // CapabilityTracing defines the tracing (opentracing) capability
+       CapabilityTracing = "tracing"
 )
 
 // +kubebuilder:object:generate=false
diff --git a/pkg/resources/resources.go b/pkg/resources/resources.go
index c7f15c1cb..f450c2c29 100644
--- a/pkg/resources/resources.go
+++ b/pkg/resources/resources.go
@@ -174,6 +174,18 @@ var assets = func() http.FileSystem {
                        name:    "manager",
                        modTime: time.Time{},
                },
+               "/manager/bundle": &vfsgen۰DirInfo{
+                       name:    "bundle",
+                       modTime: time.Time{},
+               },
+               "/manager/bundle/manifests": &vfsgen۰DirInfo{
+                       name:    "manifests",
+                       modTime: time.Time{},
+               },
+               "/manager/bundle/metadata": &vfsgen۰DirInfo{
+                       name:    "metadata",
+                       modTime: time.Time{},
+               },
                "/manager/operator-deployment.yaml": &vfsgen۰CompressedFileInfo{
                        name:             "operator-deployment.yaml",
                        modTime:          time.Time{},
@@ -672,6 +684,7 @@ var assets = func() http.FileSystem {
                fs["/crd/bases/camel.apache.org_pipes.yaml"].(os.FileInfo),
        }
        fs["/manager"].(*vfsgen۰DirInfo).entries = []os.FileInfo{
+               fs["/manager/bundle"].(os.FileInfo),
                fs["/manager/operator-deployment.yaml"].(os.FileInfo),
                fs["/manager/operator-service-account.yaml"].(os.FileInfo),
                
fs["/manager/patch-image-pull-policy-always.yaml"].(os.FileInfo),
@@ -683,6 +696,10 @@ var assets = func() http.FileSystem {
                fs["/manager/patch-toleration.yaml"].(os.FileInfo),
                fs["/manager/patch-watch-namespace-global.yaml"].(os.FileInfo),
        }
+       fs["/manager/bundle"].(*vfsgen۰DirInfo).entries = []os.FileInfo{
+               fs["/manager/bundle/manifests"].(os.FileInfo),
+               fs["/manager/bundle/metadata"].(os.FileInfo),
+       }
        fs["/prometheus"].(*vfsgen۰DirInfo).entries = []os.FileInfo{
                fs["/prometheus/operator-pod-monitor.yaml"].(os.FileInfo),
                fs["/prometheus/operator-prometheus-rule.yaml"].(os.FileInfo),
diff --git a/pkg/trait/jolokia.go b/pkg/trait/jolokia.go
index 22f5187eb..9e37c0f68 100644
--- a/pkg/trait/jolokia.go
+++ b/pkg/trait/jolokia.go
@@ -54,15 +54,15 @@ func (t *jolokiaTrait) Configure(e *Environment) (bool, 
error) {
 
 func (t *jolokiaTrait) Apply(e *Environment) error {
        if e.IntegrationInPhase(v1.IntegrationPhaseInitialization) {
-               // Add the Camel management and Jolokia agent dependencies
-               // Also add the Camel JAXB dependency, that's required by Hawtio
+               util.StringSliceUniqueAdd(&e.Integration.Status.Capabilities, 
v1.CapabilityJolokia)
 
+               // TODO remove dependencies after runtime > 2.16.0
                if e.CamelCatalog.Runtime.Provider == v1.RuntimeProviderQuarkus 
{
                        
util.StringSliceUniqueAdd(&e.Integration.Status.Dependencies, 
"camel-quarkus:management")
                        
util.StringSliceUniqueAdd(&e.Integration.Status.Dependencies, "camel:jaxb")
                }
-
                util.StringSliceUniqueAdd(&e.Integration.Status.Dependencies, 
"mvn:org.jolokia:jolokia-jvm")
+               //
 
                return nil
        }
diff --git a/pkg/trait/knative.go b/pkg/trait/knative.go
index 4a06f4430..ba8d44aef 100644
--- a/pkg/trait/knative.go
+++ b/pkg/trait/knative.go
@@ -180,6 +180,10 @@ func (t *knativeTrait) Configure(e *Environment) (bool, 
error) {
 }
 
 func (t *knativeTrait) Apply(e *Environment) error {
+       if e.IntegrationInPhase(v1.IntegrationPhaseInitialization) {
+               util.StringSliceUniqueAdd(&e.Integration.Status.Capabilities, 
v1.CapabilityKnative)
+       }
+       // TODO remove dependencies after runtime > 2.16.0
        if pointer.BoolDeref(t.SinkBinding, false) {
                util.StringSliceUniqueAdd(&e.Integration.Status.Dependencies, 
"camel:knative")
                util.StringSliceUniqueAdd(&e.Integration.Status.Dependencies, 
"mvn:org.apache.camel.k:camel-k-knative-impl")
diff --git a/pkg/trait/prometheus.go b/pkg/trait/prometheus.go
index 70a0dba44..8446b670e 100644
--- a/pkg/trait/prometheus.go
+++ b/pkg/trait/prometheus.go
@@ -55,7 +55,8 @@ func (t *prometheusTrait) Configure(e *Environment) (bool, 
error) {
 
 func (t *prometheusTrait) Apply(e *Environment) error {
        if e.IntegrationInPhase(v1.IntegrationPhaseInitialization) {
-               // Add the Camel Quarkus Micrometer extension and micrometer 
registry for prometheus
+               util.StringSliceUniqueAdd(&e.Integration.Status.Capabilities, 
v1.CapabilityPrometheus)
+               // TODO remove dependencies after runtime > 2.16.0
                util.StringSliceUniqueAdd(&e.Integration.Status.Dependencies, 
"mvn:org.apache.camel.quarkus:camel-quarkus-micrometer")
                util.StringSliceUniqueAdd(&e.Integration.Status.Dependencies, 
"mvn:io.micrometer:micrometer-registry-prometheus")
                return nil

Reply via email to