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/04/26 08:51:24 UTC
[camel-k] 08/18: feat(api): promote kamelet to v1
This is an automated email from the ASF dual-hosted git repository.
pcongiusti pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-k.git
commit 6aa610979429cde12d949eb674842aba00f92092
Author: Pasquale Congiusti <pa...@gmail.com>
AuthorDate: Thu Mar 30 16:38:40 2023 +0200
feat(api): promote kamelet to v1
---
config/crd/bases/camel.apache.org_bindings.yaml | 15 ------
.../crd/bases/camel.apache.org_integrations.yaml | 1 -
.../bases/camel.apache.org_kameletbindings.yaml | 4 +-
config/crd/bases/camel.apache.org_kamelets.yaml | 14 +----
config/crd/kustomization.yaml | 3 +-
.../bases/camel-k.clusterserviceversion.yaml | 2 +-
helm/camel-k/crds/crd-binding.yaml | 15 ------
helm/camel-k/crds/crd-integration.yaml | 1 -
helm/camel-k/crds/crd-kamelet-binding.yaml | 4 +-
helm/camel-k/crds/crd-kamelet.yaml | 14 +----
pkg/apis/camel/v1/binding_types.go | 2 +-
pkg/apis/camel/v1/common_types.go | 2 +-
pkg/apis/camel/v1alpha1/kamelet_binding_types.go | 2 +-
pkg/apis/camel/v1alpha1/kamelet_types.go | 2 +-
pkg/install/cluster.go | 62 ++++++++++++++--------
pkg/resources/resources.go | 16 +++---
pkg/resources/resources_test.go | 3 +-
script/prepare-operators.sh | 6 ++-
18 files changed, 67 insertions(+), 101 deletions(-)
diff --git a/config/crd/bases/camel.apache.org_bindings.yaml b/config/crd/bases/camel.apache.org_bindings.yaml
index eecb595e9..d2a6833c1 100644
--- a/config/crd/bases/camel.apache.org_bindings.yaml
+++ b/config/crd/bases/camel.apache.org_bindings.yaml
@@ -33,8 +33,6 @@ spec:
kind: Binding
listKind: BindingList
plural: bindings
- shortNames:
- - klb
singular: binding
scope: Namespaced
versions:
@@ -7777,7 +7775,6 @@ spec:
description: 'JSON represents any valid JSON value.
These types are supported: bool, int64, float64, string,
[]interface{}, map[string]interface{} and nil.'
- type: object
x-kubernetes-preserve-unknown-fields: true
externalDocs:
description: ExternalDocumentation allows referencing
@@ -7796,7 +7793,6 @@ spec:
default:
description: default is a default value for undefined
object fields.
- type: object
x-kubernetes-preserve-unknown-fields: true
deprecated:
type: boolean
@@ -7808,7 +7804,6 @@ spec:
value. These types are supported: bool, int64,
float64, string, []interface{}, map[string]interface{}
and nil.'
- type: object
x-kubernetes-preserve-unknown-fields: true
type: array
example:
@@ -7816,7 +7811,6 @@ spec:
These types are supported: bool, int64, float64,
string, []interface{}, map[string]interface{}
and nil.'
- type: object
x-kubernetes-preserve-unknown-fields: true
exclusiveMaximum:
type: boolean
@@ -8016,7 +8010,6 @@ spec:
description: 'JSON represents any valid JSON value.
These types are supported: bool, int64, float64, string,
[]interface{}, map[string]interface{} and nil.'
- type: object
x-kubernetes-preserve-unknown-fields: true
externalDocs:
description: ExternalDocumentation allows referencing
@@ -8035,7 +8028,6 @@ spec:
default:
description: default is a default value for undefined
object fields.
- type: object
x-kubernetes-preserve-unknown-fields: true
deprecated:
type: boolean
@@ -8047,7 +8039,6 @@ spec:
value. These types are supported: bool, int64,
float64, string, []interface{}, map[string]interface{}
and nil.'
- type: object
x-kubernetes-preserve-unknown-fields: true
type: array
example:
@@ -8055,7 +8046,6 @@ spec:
These types are supported: bool, int64, float64,
string, []interface{}, map[string]interface{}
and nil.'
- type: object
x-kubernetes-preserve-unknown-fields: true
exclusiveMaximum:
type: boolean
@@ -8260,7 +8250,6 @@ spec:
These types are supported: bool, int64, float64,
string, []interface{}, map[string]interface{} and
nil.'
- type: object
x-kubernetes-preserve-unknown-fields: true
externalDocs:
description: ExternalDocumentation allows referencing
@@ -8279,7 +8268,6 @@ spec:
default:
description: default is a default value for
undefined object fields.
- type: object
x-kubernetes-preserve-unknown-fields: true
deprecated:
type: boolean
@@ -8291,7 +8279,6 @@ spec:
value. These types are supported: bool,
int64, float64, string, []interface{}, map[string]interface{}
and nil.'
- type: object
x-kubernetes-preserve-unknown-fields: true
type: array
example:
@@ -8299,7 +8286,6 @@ spec:
value. These types are supported: bool, int64,
float64, string, []interface{}, map[string]interface{}
and nil.'
- type: object
x-kubernetes-preserve-unknown-fields: true
exclusiveMaximum:
type: boolean
@@ -8489,7 +8475,6 @@ spec:
It implements Marshaler and Unmarshaler and can
be used to delay JSON decoding or precompute a
JSON encoding.
- type: object
x-kubernetes-preserve-unknown-fields: true
name:
type: string
diff --git a/config/crd/bases/camel.apache.org_integrations.yaml b/config/crd/bases/camel.apache.org_integrations.yaml
index 1c4bf2eba..a9d9b4624 100644
--- a/config/crd/bases/camel.apache.org_integrations.yaml
+++ b/config/crd/bases/camel.apache.org_integrations.yaml
@@ -7465,7 +7465,6 @@ spec:
It implements Marshaler and Unmarshaler and can
be used to delay JSON decoding or precompute a
JSON encoding.
- type: object
x-kubernetes-preserve-unknown-fields: true
name:
type: string
diff --git a/config/crd/bases/camel.apache.org_kameletbindings.yaml b/config/crd/bases/camel.apache.org_kameletbindings.yaml
index ede33f2ba..dce3df057 100644
--- a/config/crd/bases/camel.apache.org_kameletbindings.yaml
+++ b/config/crd/bases/camel.apache.org_kameletbindings.yaml
@@ -48,7 +48,8 @@ spec:
name: Replicas
type: integer
deprecated: true
- deprecationWarning: v1apha1 is deprecated, please, use v1 instead
+ deprecationWarning: v1apha1.KameletBinding is deprecated, please, use v1.Binding
+ instead
name: v1alpha1
schema:
openAPIV3Schema:
@@ -8479,7 +8480,6 @@ spec:
It implements Marshaler and Unmarshaler and can
be used to delay JSON decoding or precompute a
JSON encoding.
- type: object
x-kubernetes-preserve-unknown-fields: true
name:
type: string
diff --git a/config/crd/bases/camel.apache.org_kamelets.yaml b/config/crd/bases/camel.apache.org_kamelets.yaml
index 223b9b01d..3e2facd12 100644
--- a/config/crd/bases/camel.apache.org_kamelets.yaml
+++ b/config/crd/bases/camel.apache.org_kamelets.yaml
@@ -141,7 +141,6 @@ spec:
These types are supported: bool, int64, float64,
string, []interface{}, map[string]interface{} and
nil.'
- type: object
x-kubernetes-preserve-unknown-fields: true
externalDocs:
description: ExternalDocumentation allows referencing
@@ -160,7 +159,6 @@ spec:
default:
description: default is a default value for
undefined object fields.
- type: object
x-kubernetes-preserve-unknown-fields: true
deprecated:
type: boolean
@@ -172,7 +170,6 @@ spec:
value. These types are supported: bool,
int64, float64, string, []interface{}, map[string]interface{}
and nil.'
- type: object
x-kubernetes-preserve-unknown-fields: true
type: array
example:
@@ -180,7 +177,6 @@ spec:
value. These types are supported: bool, int64,
float64, string, []interface{}, map[string]interface{}
and nil.'
- type: object
x-kubernetes-preserve-unknown-fields: true
exclusiveMaximum:
type: boolean
@@ -312,7 +308,6 @@ spec:
description: 'JSON represents any valid JSON value. These types
are supported: bool, int64, float64, string, []interface{},
map[string]interface{} and nil.'
- type: object
x-kubernetes-preserve-unknown-fields: true
externalDocs:
description: ExternalDocumentation allows referencing an external
@@ -331,7 +326,6 @@ spec:
default:
description: default is a default value for undefined object
fields.
- type: object
x-kubernetes-preserve-unknown-fields: true
deprecated:
type: boolean
@@ -342,14 +336,12 @@ spec:
description: 'JSON represents any valid JSON value. These
types are supported: bool, int64, float64, string, []interface{},
map[string]interface{} and nil.'
- type: object
x-kubernetes-preserve-unknown-fields: true
type: array
example:
description: 'JSON represents any valid JSON value. These
types are supported: bool, int64, float64, string, []interface{},
map[string]interface{} and nil.'
- type: object
x-kubernetes-preserve-unknown-fields: true
exclusiveMaximum:
type: boolean
@@ -535,7 +527,6 @@ spec:
description: 'JSON represents any valid JSON value. These
types are supported: bool, int64, float64, string, []interface{},
map[string]interface{} and nil.'
- type: object
x-kubernetes-preserve-unknown-fields: true
externalDocs:
description: ExternalDocumentation allows referencing an
@@ -554,7 +545,6 @@ spec:
default:
description: default is a default value for undefined
object fields.
- type: object
x-kubernetes-preserve-unknown-fields: true
deprecated:
type: boolean
@@ -566,7 +556,6 @@ spec:
These types are supported: bool, int64, float64,
string, []interface{}, map[string]interface{}
and nil.'
- type: object
x-kubernetes-preserve-unknown-fields: true
type: array
example:
@@ -574,7 +563,6 @@ spec:
These types are supported: bool, int64, float64,
string, []interface{}, map[string]interface{} and
nil.'
- type: object
x-kubernetes-preserve-unknown-fields: true
exclusiveMaximum:
type: boolean
@@ -751,7 +739,7 @@ spec:
name: Phase
type: string
deprecated: true
- deprecationWarning: v1apha1 is deprecated, please, use v1 instead
+ deprecationWarning: v1apha1.Kamelet is deprecated, please, use v1.Kamelet instead
name: v1alpha1
schema:
openAPIV3Schema:
diff --git a/config/crd/kustomization.yaml b/config/crd/kustomization.yaml
index be191a381..0b0099bb8 100644
--- a/config/crd/kustomization.yaml
+++ b/config/crd/kustomization.yaml
@@ -23,5 +23,6 @@ resources:
- bases/camel.apache.org_integrationkits.yaml
- bases/camel.apache.org_integrationplatforms.yaml
- bases/camel.apache.org_integrations.yaml
-- bases/camel.apache.org_bindings.yaml
- bases/camel.apache.org_kamelets.yaml
+- bases/camel.apache.org_kameletbindings.yaml
+- bases/camel.apache.org_bindings.yaml
diff --git a/config/manifests/bases/camel-k.clusterserviceversion.yaml b/config/manifests/bases/camel-k.clusterserviceversion.yaml
index 560bb6bfc..236050ca2 100644
--- a/config/manifests/bases/camel-k.clusterserviceversion.yaml
+++ b/config/manifests/bases/camel-k.clusterserviceversion.yaml
@@ -23,7 +23,7 @@ metadata:
categories: Integration & Delivery
certified: "false"
containerImage: docker.io/apache/camel-k:2.0.0-SNAPSHOT
- createdAt: 2023-03-24T15:48:09Z
+ createdAt: 2023-03-30T11:22:34Z
description: Apache Camel K is a lightweight integration platform, born on Kubernetes,
with serverless superpowers.
operators.operatorframework.io/builder: operator-sdk-v1.16.0
diff --git a/helm/camel-k/crds/crd-binding.yaml b/helm/camel-k/crds/crd-binding.yaml
index eecb595e9..d2a6833c1 100644
--- a/helm/camel-k/crds/crd-binding.yaml
+++ b/helm/camel-k/crds/crd-binding.yaml
@@ -33,8 +33,6 @@ spec:
kind: Binding
listKind: BindingList
plural: bindings
- shortNames:
- - klb
singular: binding
scope: Namespaced
versions:
@@ -7777,7 +7775,6 @@ spec:
description: 'JSON represents any valid JSON value.
These types are supported: bool, int64, float64, string,
[]interface{}, map[string]interface{} and nil.'
- type: object
x-kubernetes-preserve-unknown-fields: true
externalDocs:
description: ExternalDocumentation allows referencing
@@ -7796,7 +7793,6 @@ spec:
default:
description: default is a default value for undefined
object fields.
- type: object
x-kubernetes-preserve-unknown-fields: true
deprecated:
type: boolean
@@ -7808,7 +7804,6 @@ spec:
value. These types are supported: bool, int64,
float64, string, []interface{}, map[string]interface{}
and nil.'
- type: object
x-kubernetes-preserve-unknown-fields: true
type: array
example:
@@ -7816,7 +7811,6 @@ spec:
These types are supported: bool, int64, float64,
string, []interface{}, map[string]interface{}
and nil.'
- type: object
x-kubernetes-preserve-unknown-fields: true
exclusiveMaximum:
type: boolean
@@ -8016,7 +8010,6 @@ spec:
description: 'JSON represents any valid JSON value.
These types are supported: bool, int64, float64, string,
[]interface{}, map[string]interface{} and nil.'
- type: object
x-kubernetes-preserve-unknown-fields: true
externalDocs:
description: ExternalDocumentation allows referencing
@@ -8035,7 +8028,6 @@ spec:
default:
description: default is a default value for undefined
object fields.
- type: object
x-kubernetes-preserve-unknown-fields: true
deprecated:
type: boolean
@@ -8047,7 +8039,6 @@ spec:
value. These types are supported: bool, int64,
float64, string, []interface{}, map[string]interface{}
and nil.'
- type: object
x-kubernetes-preserve-unknown-fields: true
type: array
example:
@@ -8055,7 +8046,6 @@ spec:
These types are supported: bool, int64, float64,
string, []interface{}, map[string]interface{}
and nil.'
- type: object
x-kubernetes-preserve-unknown-fields: true
exclusiveMaximum:
type: boolean
@@ -8260,7 +8250,6 @@ spec:
These types are supported: bool, int64, float64,
string, []interface{}, map[string]interface{} and
nil.'
- type: object
x-kubernetes-preserve-unknown-fields: true
externalDocs:
description: ExternalDocumentation allows referencing
@@ -8279,7 +8268,6 @@ spec:
default:
description: default is a default value for
undefined object fields.
- type: object
x-kubernetes-preserve-unknown-fields: true
deprecated:
type: boolean
@@ -8291,7 +8279,6 @@ spec:
value. These types are supported: bool,
int64, float64, string, []interface{}, map[string]interface{}
and nil.'
- type: object
x-kubernetes-preserve-unknown-fields: true
type: array
example:
@@ -8299,7 +8286,6 @@ spec:
value. These types are supported: bool, int64,
float64, string, []interface{}, map[string]interface{}
and nil.'
- type: object
x-kubernetes-preserve-unknown-fields: true
exclusiveMaximum:
type: boolean
@@ -8489,7 +8475,6 @@ spec:
It implements Marshaler and Unmarshaler and can
be used to delay JSON decoding or precompute a
JSON encoding.
- type: object
x-kubernetes-preserve-unknown-fields: true
name:
type: string
diff --git a/helm/camel-k/crds/crd-integration.yaml b/helm/camel-k/crds/crd-integration.yaml
index 1c4bf2eba..a9d9b4624 100644
--- a/helm/camel-k/crds/crd-integration.yaml
+++ b/helm/camel-k/crds/crd-integration.yaml
@@ -7465,7 +7465,6 @@ spec:
It implements Marshaler and Unmarshaler and can
be used to delay JSON decoding or precompute a
JSON encoding.
- type: object
x-kubernetes-preserve-unknown-fields: true
name:
type: string
diff --git a/helm/camel-k/crds/crd-kamelet-binding.yaml b/helm/camel-k/crds/crd-kamelet-binding.yaml
index ede33f2ba..dce3df057 100644
--- a/helm/camel-k/crds/crd-kamelet-binding.yaml
+++ b/helm/camel-k/crds/crd-kamelet-binding.yaml
@@ -48,7 +48,8 @@ spec:
name: Replicas
type: integer
deprecated: true
- deprecationWarning: v1apha1 is deprecated, please, use v1 instead
+ deprecationWarning: v1apha1.KameletBinding is deprecated, please, use v1.Binding
+ instead
name: v1alpha1
schema:
openAPIV3Schema:
@@ -8479,7 +8480,6 @@ spec:
It implements Marshaler and Unmarshaler and can
be used to delay JSON decoding or precompute a
JSON encoding.
- type: object
x-kubernetes-preserve-unknown-fields: true
name:
type: string
diff --git a/helm/camel-k/crds/crd-kamelet.yaml b/helm/camel-k/crds/crd-kamelet.yaml
index 223b9b01d..3e2facd12 100644
--- a/helm/camel-k/crds/crd-kamelet.yaml
+++ b/helm/camel-k/crds/crd-kamelet.yaml
@@ -141,7 +141,6 @@ spec:
These types are supported: bool, int64, float64,
string, []interface{}, map[string]interface{} and
nil.'
- type: object
x-kubernetes-preserve-unknown-fields: true
externalDocs:
description: ExternalDocumentation allows referencing
@@ -160,7 +159,6 @@ spec:
default:
description: default is a default value for
undefined object fields.
- type: object
x-kubernetes-preserve-unknown-fields: true
deprecated:
type: boolean
@@ -172,7 +170,6 @@ spec:
value. These types are supported: bool,
int64, float64, string, []interface{}, map[string]interface{}
and nil.'
- type: object
x-kubernetes-preserve-unknown-fields: true
type: array
example:
@@ -180,7 +177,6 @@ spec:
value. These types are supported: bool, int64,
float64, string, []interface{}, map[string]interface{}
and nil.'
- type: object
x-kubernetes-preserve-unknown-fields: true
exclusiveMaximum:
type: boolean
@@ -312,7 +308,6 @@ spec:
description: 'JSON represents any valid JSON value. These types
are supported: bool, int64, float64, string, []interface{},
map[string]interface{} and nil.'
- type: object
x-kubernetes-preserve-unknown-fields: true
externalDocs:
description: ExternalDocumentation allows referencing an external
@@ -331,7 +326,6 @@ spec:
default:
description: default is a default value for undefined object
fields.
- type: object
x-kubernetes-preserve-unknown-fields: true
deprecated:
type: boolean
@@ -342,14 +336,12 @@ spec:
description: 'JSON represents any valid JSON value. These
types are supported: bool, int64, float64, string, []interface{},
map[string]interface{} and nil.'
- type: object
x-kubernetes-preserve-unknown-fields: true
type: array
example:
description: 'JSON represents any valid JSON value. These
types are supported: bool, int64, float64, string, []interface{},
map[string]interface{} and nil.'
- type: object
x-kubernetes-preserve-unknown-fields: true
exclusiveMaximum:
type: boolean
@@ -535,7 +527,6 @@ spec:
description: 'JSON represents any valid JSON value. These
types are supported: bool, int64, float64, string, []interface{},
map[string]interface{} and nil.'
- type: object
x-kubernetes-preserve-unknown-fields: true
externalDocs:
description: ExternalDocumentation allows referencing an
@@ -554,7 +545,6 @@ spec:
default:
description: default is a default value for undefined
object fields.
- type: object
x-kubernetes-preserve-unknown-fields: true
deprecated:
type: boolean
@@ -566,7 +556,6 @@ spec:
These types are supported: bool, int64, float64,
string, []interface{}, map[string]interface{}
and nil.'
- type: object
x-kubernetes-preserve-unknown-fields: true
type: array
example:
@@ -574,7 +563,6 @@ spec:
These types are supported: bool, int64, float64,
string, []interface{}, map[string]interface{} and
nil.'
- type: object
x-kubernetes-preserve-unknown-fields: true
exclusiveMaximum:
type: boolean
@@ -751,7 +739,7 @@ spec:
name: Phase
type: string
deprecated: true
- deprecationWarning: v1apha1 is deprecated, please, use v1 instead
+ deprecationWarning: v1apha1.Kamelet is deprecated, please, use v1.Kamelet instead
name: v1alpha1
schema:
openAPIV3Schema:
diff --git a/pkg/apis/camel/v1/binding_types.go b/pkg/apis/camel/v1/binding_types.go
index a72b62160..550141542 100644
--- a/pkg/apis/camel/v1/binding_types.go
+++ b/pkg/apis/camel/v1/binding_types.go
@@ -24,7 +24,7 @@ import (
// +genclient
// +kubebuilder:object:root=true
-// +kubebuilder:resource:path=bindings,scope=Namespaced,shortName=klb,categories=kamel;camel
+// +kubebuilder:resource:path=bindings,scope=Namespaced,categories=kamel;camel
// +kubebuilder:subresource:status
// +genclient:method=GetScale,verb=get,subresource=scale,result=k8s.io/api/autoscaling/v1.Scale
// +genclient:method=UpdateScale,verb=update,subresource=scale,input=k8s.io/api/autoscaling/v1.Scale,result=k8s.io/api/autoscaling/v1.Scale
diff --git a/pkg/apis/camel/v1/common_types.go b/pkg/apis/camel/v1/common_types.go
index b8001c120..52978eb47 100644
--- a/pkg/apis/camel/v1/common_types.go
+++ b/pkg/apis/camel/v1/common_types.go
@@ -223,7 +223,7 @@ type TraitConfiguration struct {
// RawMessage is a raw encoded JSON value.
// It implements Marshaler and Unmarshaler and can
// be used to delay JSON decoding or precompute a JSON encoding.
-// +kubebuilder:validation:Type=object
+// +kubebuilder:validation:Type=""
// +kubebuilder:validation:Format=""
// +kubebuilder:pruning:PreserveUnknownFields
type RawMessage []byte
diff --git a/pkg/apis/camel/v1alpha1/kamelet_binding_types.go b/pkg/apis/camel/v1alpha1/kamelet_binding_types.go
index c529abf06..5dd12743a 100644
--- a/pkg/apis/camel/v1alpha1/kamelet_binding_types.go
+++ b/pkg/apis/camel/v1alpha1/kamelet_binding_types.go
@@ -27,7 +27,7 @@ import (
)
// +genclient
-// +kubebuilder:deprecatedversion:warning="v1apha1 is deprecated, please, use v1 instead"
+// +kubebuilder:deprecatedversion:warning="v1apha1.KameletBinding is deprecated, please, use v1.Binding instead"
// +kubebuilder:object:root=true
// +kubebuilder:resource:path=kameletbindings,scope=Namespaced,shortName=klb,categories=kamel;camel
// +kubebuilder:subresource:status
diff --git a/pkg/apis/camel/v1alpha1/kamelet_types.go b/pkg/apis/camel/v1alpha1/kamelet_types.go
index ec4c0a6b7..c8b8ff673 100644
--- a/pkg/apis/camel/v1alpha1/kamelet_types.go
+++ b/pkg/apis/camel/v1alpha1/kamelet_types.go
@@ -54,7 +54,7 @@ var (
)
// +genclient
-// +kubebuilder:deprecatedversion:warning="v1apha1 is deprecated, please, use v1 instead"
+// +kubebuilder:deprecatedversion:warning="v1apha1.Kamelet is deprecated, please, use v1.Kamelet instead"
// +kubebuilder:object:root=true
// +kubebuilder:resource:path=kamelets,scope=Namespaced,shortName=kl,categories=kamel;camel
// +kubebuilder:subresource:status
diff --git a/pkg/install/cluster.go b/pkg/install/cluster.go
index 169fcf994..da4d44b57 100644
--- a/pkg/install/cluster.go
+++ b/pkg/install/cluster.go
@@ -31,12 +31,12 @@ import (
k8serrors "k8s.io/apimachinery/pkg/api/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- ctrl "sigs.k8s.io/controller-runtime/pkg/client"
-
"github.com/apache/camel-k/v2/pkg/client"
"github.com/apache/camel-k/v2/pkg/resources"
"github.com/apache/camel-k/v2/pkg/util/knative"
"github.com/apache/camel-k/v2/pkg/util/kubernetes"
+ pkgerr "github.com/pkg/errors"
+ ctrl "sigs.k8s.io/controller-runtime/pkg/client"
)
func SetupClusterWideResourcesOrCollect(
@@ -200,8 +200,14 @@ func installCRDs(ctx context.Context, c client.Client, collection *kubernetes.Co
return err
}
+ // Install CRD for KameletBinding (if needed)
+ if err := installCRD(ctx, c, "KameletBinding", "v1alpha1", "camel.apache.org_kameletbindings.yaml",
+ v1beta1Customizer, collection, force); err != nil {
+ return err
+ }
+
// Install CRD for Binding (if needed)
- if err := installCRD(ctx, c, "Binding", "v1alpha1", "camel.apache.org_bindings.yaml",
+ if err := installCRD(ctx, c, "Binding", "v1", "camel.apache.org_bindings.yaml",
v1beta1Customizer, collection, force); err != nil {
return err
}
@@ -265,54 +271,66 @@ func WaitForAllCrdInstallation(ctx context.Context, clientProvider client.Provid
if c, err = clientProvider.Get(); err != nil {
return err
}
- var inst bool
- if inst, err = areAllCrdInstalled(c); err != nil {
+ var errno int
+ if errno, err = areAllCrdInstalled(c); err != nil {
return err
- } else if inst {
+ }
+ if errno == 0 {
return nil
}
// Check after 2 seconds if not expired
if time.Now().After(deadline) {
return fmt.Errorf(
- "cannot check CRD installation after %s seconds",
- strconv.FormatInt(timeout.Nanoseconds()/1000000000, 10))
+ "cannot check CRD installation after %s seconds (errno %d)",
+ strconv.FormatInt(timeout.Nanoseconds()/1000000000, 10),
+ errno)
}
time.Sleep(2 * time.Second)
}
}
-func areAllCrdInstalled(c client.Client) (bool, error) {
+func areAllCrdInstalled(c client.Client) (int, error) {
if ok, err := isCrdInstalled(c, "IntegrationPlatform", "v1"); err != nil {
- return ok, err
+ return 1, pkgerr.Wrap(err, "Error installing IntegrationPlatform CRDs")
} else if !ok {
- return false, nil
+ return 1, nil
}
if ok, err := isCrdInstalled(c, "IntegrationKit", "v1"); err != nil {
- return ok, err
+ return 2, pkgerr.Wrap(err, "Error installing IntegrationKit CRDs")
} else if !ok {
- return false, nil
+ return 2, nil
}
if ok, err := isCrdInstalled(c, "Integration", "v1"); err != nil {
- return ok, err
+ return 3, pkgerr.Wrap(err, "Error installing Integration CRDs")
} else if !ok {
- return false, nil
+ return 3, nil
}
if ok, err := isCrdInstalled(c, "CamelCatalog", "v1"); err != nil {
- return ok, err
+ return 4, pkgerr.Wrap(err, "Error installing CamelCatalog CRDs")
} else if !ok {
- return false, nil
+ return 4, nil
}
if ok, err := isCrdInstalled(c, "Build", "v1"); err != nil {
- return ok, err
+ return 5, pkgerr.Wrap(err, "Error installing Build CRDs")
} else if !ok {
- return false, nil
+ return 5, nil
}
if ok, err := isCrdInstalled(c, "Kamelet", "v1"); err != nil {
- return ok, err
+ return 6, pkgerr.Wrap(err, "Error installing Kamelet CRDs")
} else if !ok {
- return false, nil
+ return 6, nil
+ }
+ if ok, err := isCrdInstalled(c, "KameletBinding", "v1alpha1"); err != nil {
+ return 7, pkgerr.Wrap(err, "Error installing KameletBindings CRDs")
+ } else if !ok {
+ return 7, nil
+ }
+ if ok, err := isCrdInstalled(c, "Binding", "v1"); err != nil {
+ return 8, pkgerr.Wrap(err, "Error installing Binding CRDs")
+ } else if !ok {
+ return 8, nil
}
- return isCrdInstalled(c, "Binding", "v1")
+ return 0, nil
}
func isCrdInstalled(c client.Client, kind string, version string) (bool, error) {
diff --git a/pkg/resources/resources.go b/pkg/resources/resources.go
index 701371ab0..ce7e3ddd5 100644
--- a/pkg/resources/resources.go
+++ b/pkg/resources/resources.go
@@ -117,9 +117,9 @@ var assets = func() http.FileSystem {
"/crd/bases/camel.apache.org_bindings.yaml": &vfsgen۰CompressedFileInfo{
name: "camel.apache.org_bindings.yaml",
modTime: time.Time{},
- uncompressedSize: 573023,
+ uncompressedSize: 572366,
- compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xfd\x79\x73\x1b\x37\xd6\x28\x8c\xff\xef\x4f\x81\x92\x53\x57\xd2\x13\x91\xb2\x33\x4b\xcd\xf8\x37\x75\x53\x1a\x59\x76\xf4\x8b\x2d\xb3\x2c\x25\xb9\x29\x27\x4f\x02\x76\x83\x24\xae\xba\x81\x7e\x00\x34\x25\xe6\xf5\xfb\xdd\xdf\xc2\x01\xd0\x0b\x37\xe1\x34\x25\x8d\x3c\xd3\x98\xaa\x8c\x49\xb1\x4f\x63\x3b\xfb\xf6\x9c\x0c\xee\x6f\x3c\x7b\x4e\xde\xf1\x84\x09\xcd\x52\x62\x24\x31\x33\x46\x4e\x0a\x9a\xcc\x18\xb9\x94\x13\x73\x43\x [...]
+ compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xfd\x79\x73\x1b\x37\xd6\x28\x8c\xff\xef\x4f\x81\x92\x53\x57\xd2\x13\x91\xb2\x33\x4b\xcd\xf8\x37\x75\x53\x1a\x59\x76\xf4\x8b\x2d\xb3\x2c\x25\xb9\x29\x27\x4f\x02\x76\x83\x24\xae\xba\x81\x7e\x00\x34\x25\xe6\xf5\xfb\xdd\xdf\xc2\x01\xd0\x0b\x37\xe1\x34\x25\x8d\x3c\xd3\x98\xaa\x8c\x49\xb1\x4f\x63\x3b\xfb\xf6\x9c\x0c\xee\x6f\x3c\x7b\x4e\xde\xf1\x84\x09\xcd\x52\x62\x24\x31\x33\x46\x4e\x0a\x9a\xcc\x18\xb9\x94\x13\x73\x43\x [...]
},
"/crd/bases/camel.apache.org_builds.yaml": &vfsgen۰CompressedFileInfo{
name: "camel.apache.org_builds.yaml",
@@ -152,23 +152,23 @@ var assets = func() http.FileSystem {
"/crd/bases/camel.apache.org_integrations.yaml": &vfsgen۰CompressedFileInfo{
name: "camel.apache.org_integrations.yaml",
modTime: time.Time{},
- uncompressedSize: 492832,
+ uncompressedSize: 492785,
- compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xfd\x7b\x73\x1b\x37\x96\x30\x8c\xff\x9f\x4f\x81\x72\x52\x8f\xa4\x8d\x48\xd9\x99\xd9\xa9\x19\xff\xa6\x9e\x94\x56\x96\x13\xfd\x62\xcb\x2a\x4b\x49\x9e\x94\x93\x4d\xc0\x6e\x90\xc4\xa3\x6e\xa0\x17\x40\x53\xe2\xbc\x79\xbf\xfb\x5b\x38\x00\xfa\xc2\x5b\x1f\xb4\x48\xc7\xd9\x6d\x4c\x55\xc6\x14\xd9\xa7\x71\x39\x38\xf7\xcb\xe7\x64\xb4\xbf\xf1\xd9\xe7\xe4\x0d\x4f\x98\xd0\x2c\x25\x46\x12\x33\x67\xe4\xbc\xa0\xc9\x9c\x91\x5b\x39\x [...]
+ compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xfd\x7b\x73\x1b\x37\x96\x30\x8c\xff\x9f\x4f\x81\x72\x52\x8f\xa4\x8d\x48\xd9\x99\xd9\xa9\x19\xff\xa6\x9e\x94\x56\x96\x13\xfd\x62\xcb\x2a\x4b\x49\x9e\x94\x93\x4d\xc0\x6e\x90\xc4\xa3\x6e\xa0\x17\x40\x53\xe2\xbc\x79\xbf\xfb\x5b\x38\x00\xfa\xc2\x5b\x1f\xb4\x48\xc7\xd9\x6d\x4c\x55\xc6\x14\xd9\xa7\x71\x39\x38\xf7\xcb\xe7\x64\xb4\xbf\xf1\xd9\xe7\xe4\x0d\x4f\x98\xd0\x2c\x25\x46\x12\x33\x67\xe4\xbc\xa0\xc9\x9c\x91\x5b\x39\x [...]
},
"/crd/bases/camel.apache.org_kameletbindings.yaml": &vfsgen۰CompressedFileInfo{
name: "camel.apache.org_kameletbindings.yaml",
modTime: time.Time{},
- uncompressedSize: 572531,
+ uncompressedSize: 572604,
- compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xfd\x79\x73\x1b\x37\xd6\x28\x8c\xff\xef\x4f\x81\x92\x53\x57\xd2\x13\x91\xb2\x33\x4b\xcd\xf8\x37\x75\x53\x1a\x59\x76\xf4\x8b\x2d\xb3\x2c\x25\xb9\x29\x27\x4f\x02\x76\x83\x24\xae\xba\x81\x7e\x00\x34\x25\xe6\xf5\xfb\xdd\xdf\xc2\x01\xd0\x0b\x37\xe1\x34\x25\x8d\x3c\xd3\x98\xaa\x8c\x49\xb1\x4f\x63\x3b\xfb\xf6\x9c\x0c\xee\x6f\x3c\x7b\x4e\xde\xf1\x84\x09\xcd\x52\x62\x24\x31\x33\x46\x4e\x0a\x9a\xcc\x18\xb9\x94\x13\x73\x43\x [...]
+ compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xfd\x6b\x73\x1b\x37\xb6\x30\x0a\x7f\xf7\xaf\x40\xc9\xa9\x47\xd2\x8e\x48\xd9\x99\x99\xd4\x8c\xdf\xa9\x9d\xd2\xc8\x72\xa2\x37\xb6\xcc\xb2\x94\xe4\x49\x39\xd9\x09\xd8\x0d\x92\xd8\xea\x06\x7a\x00\x34\x25\xe6\xf8\xfc\xf7\x53\x58\x00\xfa\xc2\x9b\xb0\x9a\x92\x46\x9e\x69\x4c\x55\xc6\xa4\xd8\xab\x71\x5b\xf7\xdb\x73\x32\xb8\xbf\xf1\xec\x39\x79\xcb\x13\x26\x34\x4b\x89\x91\xc4\xcc\x18\x39\x29\x68\x32\x63\xe4\x52\x4e\xcc\x0d\x [...]
},
"/crd/bases/camel.apache.org_kamelets.yaml": &vfsgen۰CompressedFileInfo{
name: "camel.apache.org_kamelets.yaml",
modTime: time.Time{},
- uncompressedSize: 78374,
+ uncompressedSize: 77953,
- compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x7d\x7d\x6f\xdb\x3a\xb2\xf7\xff\xf9\x14\x83\xf4\x02\x4d\x81\xd8\x49\x9a\xb6\x7b\x36\xcf\x1f\x45\x36\x6d\x77\xf3\x9c\xbe\x04\x49\xba\xf7\xd9\xa7\x3d\x17\xa0\x25\xda\xe6\x46\xa6\x74\x49\x2a\x2f\x77\xdb\xef\x7e\x41\x52\x92\x25\x5b\x2f\x33\x8e\x94\xe4\x2c\x0e\x81\xa2\xb1\x2d\x0d\x87\xe4\x90\x1c\x92\xbf\xf9\xf1\x19\x8c\xfa\x4b\x5b\xcf\xe0\xa3\x08\xb8\xd4\x3c\x04\x13\x83\x99\x73\x38\x4e\x58\x30\xe7\x70\x11\x4f\xcd\x0d\x [...]
+ compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x7d\x6b\x6f\x1b\x39\xd2\xee\x77\xff\x8a\x82\xfd\x02\x71\x00\x4b\xb6\xe3\x24\x3b\xe3\xf3\x21\xf0\x3a\xc9\x8c\xcf\x38\x89\x61\x3b\xb3\x67\x4e\x32\x0b\x50\xdd\x94\xc4\x75\x8b\xdd\x4b\xb2\x7d\xd9\x4d\xfe\xfb\x0b\x92\xcd\xbe\x48\x7d\x29\xca\xdd\xb6\x67\x30\x04\x82\x58\x52\x77\xb1\x78\xad\x22\xf9\xd4\xc3\x2d\x18\xf5\x97\x36\xb6\xe0\x94\x05\x94\x4b\x1a\x82\x8a\x41\xcd\x29\x1c\x25\x24\x98\x53\xb8\x88\xa7\xea\x86\x08\x0a\x [...]
},
"/manager": &vfsgen۰DirInfo{
name: "manager",
diff --git a/pkg/resources/resources_test.go b/pkg/resources/resources_test.go
index 6dae89525..9b4921895 100644
--- a/pkg/resources/resources_test.go
+++ b/pkg/resources/resources_test.go
@@ -169,6 +169,7 @@ func TestCRDResources(t *testing.T) {
NoErrorAndNotEmptyBytes(t, "/crd/bases/camel.apache.org_integrationkits.yaml", Resource)
NoErrorAndNotEmptyBytes(t, "/crd/bases/camel.apache.org_integrationplatforms.yaml", Resource)
NoErrorAndNotEmptyBytes(t, "/crd/bases/camel.apache.org_integrations.yaml", Resource)
- NoErrorAndNotEmptyBytes(t, "/crd/bases/camel.apache.org_bindings.yaml", Resource)
NoErrorAndNotEmptyBytes(t, "/crd/bases/camel.apache.org_kamelets.yaml", Resource)
+ NoErrorAndNotEmptyBytes(t, "/crd/bases/camel.apache.org_kameletbindings.yaml", Resource)
+ NoErrorAndNotEmptyBytes(t, "/crd/bases/camel.apache.org_bindings.yaml", Resource)
}
diff --git a/script/prepare-operators.sh b/script/prepare-operators.sh
index a8a27357a..57ad22950 100755
--- a/script/prepare-operators.sh
+++ b/script/prepare-operators.sh
@@ -39,8 +39,9 @@ cp ./manifests/camel.apache.org_camelcatalogs.yaml k8s-operatorhub/$1/manifests/
cp ./manifests/camel.apache.org_integrationkits.yaml k8s-operatorhub/$1/manifests/integrationkits.camel.apache.org.crd.yaml
cp ./manifests/camel.apache.org_integrationplatforms.yaml k8s-operatorhub/$1/manifests/integrationplatforms.camel.apache.org.crd.yaml
cp ./manifests/camel.apache.org_integrations.yaml k8s-operatorhub/$1/manifests/integrations.camel.apache.org.crd.yaml
-cp ./manifests/camel.apache.org_bindings.yaml k8s-operatorhub/$1/manifests/bindings.camel.apache.org.crd.yaml
cp ./manifests/camel.apache.org_kamelets.yaml k8s-operatorhub/$1/manifests/kamelets.camel.apache.org.crd.yaml
+cp ./manifests/camel.apache.org_kameletbindings.yaml k8s-operatorhub/$1/manifests/kameletbindings.camel.apache.org.crd.yaml
+cp ./manifests/camel.apache.org_bindings.yaml k8s-operatorhub/$1/manifests/bindings.camel.apache.org.crd.yaml
cp ./manifests/camel-k.clusterserviceversion.yaml k8s-operatorhub/$1/manifests/camel-k.v$1.clusterserviceversion.yaml
cp ./metadata/annotations.yaml k8s-operatorhub/$1/metadata/annotations.yaml
cp ./tests/scorecard/config.yaml k8s-operatorhub/$1/tests/scorecard/config.yaml
@@ -50,8 +51,9 @@ cp ./manifests/camel.apache.org_camelcatalogs.yaml openshift-ecosystem/$1/manife
cp ./manifests/camel.apache.org_integrationkits.yaml openshift-ecosystem/$1/manifests/integrationkits.camel.apache.org.crd.yaml
cp ./manifests/camel.apache.org_integrationplatforms.yaml openshift-ecosystem/$1/manifests/integrationplatforms.camel.apache.org.crd.yaml
cp ./manifests/camel.apache.org_integrations.yaml openshift-ecosystem/$1/manifests/integrations.camel.apache.org.crd.yaml
-cp ./manifests/camel.apache.org_bindings.yaml openshift-ecosystem/$1/manifests/bindings.camel.apache.org.crd.yaml
cp ./manifests/camel.apache.org_kamelets.yaml openshift-ecosystem/$1/manifests/kamelets.camel.apache.org.crd.yaml
+cp ./manifests/camel.apache.org_kameletbindings.yaml openshift-ecosystem/$1/manifests/kameletbindings.camel.apache.org.crd.yaml
+cp ./manifests/camel.apache.org_bindings.yaml openshift-ecosystem/$1/manifests/bindings.camel.apache.org.crd.yaml
cp ./manifests/camel-k.clusterserviceversion.yaml openshift-ecosystem/$1/manifests/camel-k.v$1.clusterserviceversion.yaml
cp ./metadata/annotations.yaml openshift-ecosystem/$1/metadata/annotations.yaml
cp ./tests/scorecard/config.yaml openshift-ecosystem/$1/tests/scorecard/config.yaml