You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by pc...@apache.org on 2023/08/11 06:23:50 UTC
[camel-k] branch main updated: feat(trait): prepare to remove runtime dependencies
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 <pa...@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