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 71ceccf17 feat(cli): provide useful info in kubectl CLI
71ceccf17 is described below
commit 71ceccf1792a2d439237cf2989b0fab6d370e3dc
Author: Pasquale Congiusti <[email protected]>
AuthorDate: Thu May 4 16:02:40 2023 +0200
feat(cli): provide useful info in kubectl CLI
Closes #4205
Closes #4172
---
.../duck/client/internalclientset/fake/register.go | 14 +++++++-------
.../duck/client/internalclientset/scheme/register.go | 14 +++++++-------
config/crd/bases/camel.apache.org_camelcatalogs.yaml | 12 ++++++++----
config/crd/bases/camel.apache.org_integrationkits.yaml | 8 ++++++++
.../crd/bases/camel.apache.org_integrationplatforms.yaml | 16 ++++++++++++++++
config/crd/bases/camel.apache.org_integrations.yaml | 8 ++++++++
helm/camel-k/crds/crd-camel-catalog.yaml | 12 ++++++++----
helm/camel-k/crds/crd-integration-kit.yaml | 8 ++++++++
helm/camel-k/crds/crd-integration-platform.yaml | 16 ++++++++++++++++
helm/camel-k/crds/crd-integration.yaml | 8 ++++++++
pkg/apis/camel/v1/camelcatalog_types.go | 5 +++--
pkg/apis/camel/v1/integration_types.go | 2 ++
pkg/apis/camel/v1/integrationkit_types.go | 2 ++
pkg/apis/camel/v1/integrationplatform_types.go | 4 ++++
pkg/client/camel/clientset/versioned/fake/register.go | 14 +++++++-------
pkg/client/camel/clientset/versioned/scheme/register.go | 14 +++++++-------
16 files changed, 119 insertions(+), 38 deletions(-)
diff --git a/addons/strimzi/duck/client/internalclientset/fake/register.go
b/addons/strimzi/duck/client/internalclientset/fake/register.go
index 53a4309e7..e6ac15499 100644
--- a/addons/strimzi/duck/client/internalclientset/fake/register.go
+++ b/addons/strimzi/duck/client/internalclientset/fake/register.go
@@ -38,14 +38,14 @@ var localSchemeBuilder = runtime.SchemeBuilder{
// AddToScheme adds all types of this clientset into the given scheme. This
allows composition
// of clientsets, like in:
//
-// import (
-// "k8s.io/client-go/kubernetes"
-// clientsetscheme "k8s.io/client-go/kubernetes/scheme"
-// aggregatorclientsetscheme
"k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme"
-// )
+// import (
+// "k8s.io/client-go/kubernetes"
+// clientsetscheme "k8s.io/client-go/kubernetes/scheme"
+// aggregatorclientsetscheme
"k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme"
+// )
//
-// kclientset, _ := kubernetes.NewForConfig(c)
-// _ = aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme)
+// kclientset, _ := kubernetes.NewForConfig(c)
+// _ = aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme)
//
// After this, RawExtensions in Kubernetes types will serialize
kube-aggregator types
// correctly.
diff --git a/addons/strimzi/duck/client/internalclientset/scheme/register.go
b/addons/strimzi/duck/client/internalclientset/scheme/register.go
index 11f233b92..6abeca247 100644
--- a/addons/strimzi/duck/client/internalclientset/scheme/register.go
+++ b/addons/strimzi/duck/client/internalclientset/scheme/register.go
@@ -38,14 +38,14 @@ var localSchemeBuilder = runtime.SchemeBuilder{
// AddToScheme adds all types of this clientset into the given scheme. This
allows composition
// of clientsets, like in:
//
-// import (
-// "k8s.io/client-go/kubernetes"
-// clientsetscheme "k8s.io/client-go/kubernetes/scheme"
-// aggregatorclientsetscheme
"k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme"
-// )
+// import (
+// "k8s.io/client-go/kubernetes"
+// clientsetscheme "k8s.io/client-go/kubernetes/scheme"
+// aggregatorclientsetscheme
"k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme"
+// )
//
-// kclientset, _ := kubernetes.NewForConfig(c)
-// _ = aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme)
+// kclientset, _ := kubernetes.NewForConfig(c)
+// _ = aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme)
//
// After this, RawExtensions in Kubernetes types will serialize
kube-aggregator types
// correctly.
diff --git a/config/crd/bases/camel.apache.org_camelcatalogs.yaml
b/config/crd/bases/camel.apache.org_camelcatalogs.yaml
index 94fca4e8e..d389d9a23 100644
--- a/config/crd/bases/camel.apache.org_camelcatalogs.yaml
+++ b/config/crd/bases/camel.apache.org_camelcatalogs.yaml
@@ -39,13 +39,17 @@ spec:
scope: Namespaced
versions:
- additionalPrinterColumns:
- - description: The Camel K Runtime version
+ - description: The Runtime provider
+ jsonPath: .spec.runtime.provider
+ name: Runtime Provider
+ type: string
+ - description: The Runtime version
jsonPath: .spec.runtime.version
name: Runtime Version
type: string
- - description: The Camel K Runtime provider
- jsonPath: .spec.runtime.provider
- name: Runtime Provider
+ - description: The Camel version
+ jsonPath: .spec.runtime.metadata.camel\.version
+ name: Runtime Camel Version
type: string
- description: The catalog phase
jsonPath: .status.phase
diff --git a/config/crd/bases/camel.apache.org_integrationkits.yaml
b/config/crd/bases/camel.apache.org_integrationkits.yaml
index f1d385a9f..eec22bb01 100644
--- a/config/crd/bases/camel.apache.org_integrationkits.yaml
+++ b/config/crd/bases/camel.apache.org_integrationkits.yaml
@@ -39,6 +39,10 @@ spec:
scope: Namespaced
versions:
- additionalPrinterColumns:
+ - description: The integration kit alias
+ jsonPath: .metadata.labels.camel\.apache\.org\/kit\.alias
+ name: Alias
+ type: string
- description: The integration kit phase
jsonPath: .status.phase
name: Phase
@@ -47,6 +51,10 @@ spec:
jsonPath: .metadata.labels.camel\.apache\.org\/kit\.type
name: Type
type: string
+ - description: The integration kit layout
+ jsonPath: .metadata.labels.camel\.apache\.org\/kit\.layout
+ name: Layout
+ type: string
- description: The integration kit image
jsonPath: .status.image
name: Image
diff --git a/config/crd/bases/camel.apache.org_integrationplatforms.yaml
b/config/crd/bases/camel.apache.org_integrationplatforms.yaml
index c076777c8..d9bb04dc9 100644
--- a/config/crd/bases/camel.apache.org_integrationplatforms.yaml
+++ b/config/crd/bases/camel.apache.org_integrationplatforms.yaml
@@ -43,6 +43,22 @@ spec:
jsonPath: .status.phase
name: Phase
type: string
+ - description: The default build strategy
+ jsonPath: .status.build.buildStrategy
+ name: Build strategy
+ type: string
+ - description: The default publish strategy
+ jsonPath: .status.build.publishStrategy
+ name: Publish strategy
+ type: string
+ - description: The container registry address
+ jsonPath: .status.build.registry.address
+ name: Registry address
+ type: string
+ - description: The default runtime version
+ jsonPath: .status.build.runtimeVersion
+ name: Default runtime
+ type: string
name: v1
schema:
openAPIV3Schema:
diff --git a/config/crd/bases/camel.apache.org_integrations.yaml
b/config/crd/bases/camel.apache.org_integrations.yaml
index 56b14277f..693220cb5 100644
--- a/config/crd/bases/camel.apache.org_integrations.yaml
+++ b/config/crd/bases/camel.apache.org_integrations.yaml
@@ -43,6 +43,14 @@ spec:
jsonPath: .status.phase
name: Phase
type: string
+ - description: The runtime version
+ jsonPath: .status.runtimeProvider
+ name: Runtime Provider
+ type: string
+ - description: The runtime provider
+ jsonPath: .status.runtimeVersion
+ name: Runtime Version
+ type: string
- description: The integration kit
jsonPath: .status.integrationKit.name
name: Kit
diff --git a/helm/camel-k/crds/crd-camel-catalog.yaml
b/helm/camel-k/crds/crd-camel-catalog.yaml
index 94fca4e8e..d389d9a23 100644
--- a/helm/camel-k/crds/crd-camel-catalog.yaml
+++ b/helm/camel-k/crds/crd-camel-catalog.yaml
@@ -39,13 +39,17 @@ spec:
scope: Namespaced
versions:
- additionalPrinterColumns:
- - description: The Camel K Runtime version
+ - description: The Runtime provider
+ jsonPath: .spec.runtime.provider
+ name: Runtime Provider
+ type: string
+ - description: The Runtime version
jsonPath: .spec.runtime.version
name: Runtime Version
type: string
- - description: The Camel K Runtime provider
- jsonPath: .spec.runtime.provider
- name: Runtime Provider
+ - description: The Camel version
+ jsonPath: .spec.runtime.metadata.camel\.version
+ name: Runtime Camel Version
type: string
- description: The catalog phase
jsonPath: .status.phase
diff --git a/helm/camel-k/crds/crd-integration-kit.yaml
b/helm/camel-k/crds/crd-integration-kit.yaml
index f1d385a9f..eec22bb01 100644
--- a/helm/camel-k/crds/crd-integration-kit.yaml
+++ b/helm/camel-k/crds/crd-integration-kit.yaml
@@ -39,6 +39,10 @@ spec:
scope: Namespaced
versions:
- additionalPrinterColumns:
+ - description: The integration kit alias
+ jsonPath: .metadata.labels.camel\.apache\.org\/kit\.alias
+ name: Alias
+ type: string
- description: The integration kit phase
jsonPath: .status.phase
name: Phase
@@ -47,6 +51,10 @@ spec:
jsonPath: .metadata.labels.camel\.apache\.org\/kit\.type
name: Type
type: string
+ - description: The integration kit layout
+ jsonPath: .metadata.labels.camel\.apache\.org\/kit\.layout
+ name: Layout
+ type: string
- description: The integration kit image
jsonPath: .status.image
name: Image
diff --git a/helm/camel-k/crds/crd-integration-platform.yaml
b/helm/camel-k/crds/crd-integration-platform.yaml
index c076777c8..d9bb04dc9 100644
--- a/helm/camel-k/crds/crd-integration-platform.yaml
+++ b/helm/camel-k/crds/crd-integration-platform.yaml
@@ -43,6 +43,22 @@ spec:
jsonPath: .status.phase
name: Phase
type: string
+ - description: The default build strategy
+ jsonPath: .status.build.buildStrategy
+ name: Build strategy
+ type: string
+ - description: The default publish strategy
+ jsonPath: .status.build.publishStrategy
+ name: Publish strategy
+ type: string
+ - description: The container registry address
+ jsonPath: .status.build.registry.address
+ name: Registry address
+ type: string
+ - description: The default runtime version
+ jsonPath: .status.build.runtimeVersion
+ name: Default runtime
+ type: string
name: v1
schema:
openAPIV3Schema:
diff --git a/helm/camel-k/crds/crd-integration.yaml
b/helm/camel-k/crds/crd-integration.yaml
index 56b14277f..693220cb5 100644
--- a/helm/camel-k/crds/crd-integration.yaml
+++ b/helm/camel-k/crds/crd-integration.yaml
@@ -43,6 +43,14 @@ spec:
jsonPath: .status.phase
name: Phase
type: string
+ - description: The runtime version
+ jsonPath: .status.runtimeProvider
+ name: Runtime Provider
+ type: string
+ - description: The runtime provider
+ jsonPath: .status.runtimeVersion
+ name: Runtime Version
+ type: string
- description: The integration kit
jsonPath: .status.integrationKit.name
name: Kit
diff --git a/pkg/apis/camel/v1/camelcatalog_types.go
b/pkg/apis/camel/v1/camelcatalog_types.go
index 112cb621d..cf23a23df 100644
--- a/pkg/apis/camel/v1/camelcatalog_types.go
+++ b/pkg/apis/camel/v1/camelcatalog_types.go
@@ -32,8 +32,9 @@ const (
//
+kubebuilder:resource:path=camelcatalogs,scope=Namespaced,shortName=cc,categories=kamel;camel
// +kubebuilder:subresource:status
// +kubebuilder:storageversion
-// +kubebuilder:printcolumn:name="Runtime
Version",type=string,JSONPath=`.spec.runtime.version`,description="The Camel K
Runtime version"
-// +kubebuilder:printcolumn:name="Runtime
Provider",type=string,JSONPath=`.spec.runtime.provider`,description="The Camel
K Runtime provider"
+// +kubebuilder:printcolumn:name="Runtime
Provider",type=string,JSONPath=`.spec.runtime.provider`,description="The
Runtime provider"
+// +kubebuilder:printcolumn:name="Runtime
Version",type=string,JSONPath=`.spec.runtime.version`,description="The Runtime
version"
+// +kubebuilder:printcolumn:name="Runtime Camel
Version",type=string,JSONPath=`.spec.runtime.metadata.camel\.version`,description="The
Camel version"
//
+kubebuilder:printcolumn:name="Phase",type=string,JSONPath=`.status.phase`,description="The
catalog phase"
// CamelCatalog represents the languages, components, data formats and
capabilities enabled on a given runtime provider. The catalog may be statically
generated.
diff --git a/pkg/apis/camel/v1/integration_types.go
b/pkg/apis/camel/v1/integration_types.go
index be9def47c..1aa7be885 100644
--- a/pkg/apis/camel/v1/integration_types.go
+++ b/pkg/apis/camel/v1/integration_types.go
@@ -34,6 +34,8 @@ import (
// +kubebuilder:storageversion
//
+kubebuilder:subresource:scale:specpath=.spec.replicas,statuspath=.status.replicas,selectorpath=.status.selector
//
+kubebuilder:printcolumn:name="Phase",type=string,JSONPath=`.status.phase`,description="The
integration phase"
+// +kubebuilder:printcolumn:name="Runtime
Provider",type=string,JSONPath=`.status.runtimeProvider`,description="The
runtime version"
+// +kubebuilder:printcolumn:name="Runtime
Version",type=string,JSONPath=`.status.runtimeVersion`,description="The runtime
provider"
//
+kubebuilder:printcolumn:name="Kit",type=string,JSONPath=`.status.integrationKit.name`,description="The
integration kit"
//
+kubebuilder:printcolumn:name="Replicas",type=integer,JSONPath=`.status.replicas`,description="The
number of pods"
diff --git a/pkg/apis/camel/v1/integrationkit_types.go
b/pkg/apis/camel/v1/integrationkit_types.go
index 4fa1d570d..abe34684f 100644
--- a/pkg/apis/camel/v1/integrationkit_types.go
+++ b/pkg/apis/camel/v1/integrationkit_types.go
@@ -32,8 +32,10 @@ import (
//
+kubebuilder:resource:path=integrationkits,scope=Namespaced,shortName=ik,categories=kamel;camel
// +kubebuilder:subresource:status
// +kubebuilder:storageversion
+//
+kubebuilder:printcolumn:name="Alias",type=string,JSONPath=`.metadata.labels.camel\.apache\.org\/kit\.alias`,description="The
integration kit alias"
//
+kubebuilder:printcolumn:name="Phase",type=string,JSONPath=`.status.phase`,description="The
integration kit phase"
//
+kubebuilder:printcolumn:name="Type",type=string,JSONPath=`.metadata.labels.camel\.apache\.org\/kit\.type`,description="The
integration kit type"
+//
+kubebuilder:printcolumn:name="Layout",type=string,JSONPath=`.metadata.labels.camel\.apache\.org\/kit\.layout`,description="The
integration kit layout"
//
+kubebuilder:printcolumn:name="Image",type=string,JSONPath=`.status.image`,description="The
integration kit image"
// IntegrationKit defines a container image and additional configuration
needed to run an `Integration`.
diff --git a/pkg/apis/camel/v1/integrationplatform_types.go
b/pkg/apis/camel/v1/integrationplatform_types.go
index 2219f8c63..e2c0b2331 100644
--- a/pkg/apis/camel/v1/integrationplatform_types.go
+++ b/pkg/apis/camel/v1/integrationplatform_types.go
@@ -68,6 +68,10 @@ type IntegrationPlatformStatus struct {
// +kubebuilder:subresource:status
// +kubebuilder:storageversion
//
+kubebuilder:printcolumn:name="Phase",type=string,JSONPath=`.status.phase`,description="The
integration platform phase"
+// +kubebuilder:printcolumn:name="Build
strategy",type=string,JSONPath=`.status.build.buildStrategy`,description="The
default build strategy"
+// +kubebuilder:printcolumn:name="Publish
strategy",type=string,JSONPath=`.status.build.publishStrategy`,description="The
default publish strategy"
+// +kubebuilder:printcolumn:name="Registry
address",type=string,JSONPath=`.status.build.registry.address`,description="The
container registry address"
+// +kubebuilder:printcolumn:name="Default
runtime",type=string,JSONPath=`.status.build.runtimeVersion`,description="The
default runtime version"
// IntegrationPlatform is the resource used to drive the Camel K operator
behavior.
// It defines the behavior of all Custom Resources (`IntegrationKit`,
`Integration`, `Kamelet`) in the given namespace.
diff --git a/pkg/client/camel/clientset/versioned/fake/register.go
b/pkg/client/camel/clientset/versioned/fake/register.go
index 249a2b9e3..d55e6d595 100644
--- a/pkg/client/camel/clientset/versioned/fake/register.go
+++ b/pkg/client/camel/clientset/versioned/fake/register.go
@@ -40,14 +40,14 @@ var localSchemeBuilder = runtime.SchemeBuilder{
// AddToScheme adds all types of this clientset into the given scheme. This
allows composition
// of clientsets, like in:
//
-// import (
-// "k8s.io/client-go/kubernetes"
-// clientsetscheme "k8s.io/client-go/kubernetes/scheme"
-// aggregatorclientsetscheme
"k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme"
-// )
+// import (
+// "k8s.io/client-go/kubernetes"
+// clientsetscheme "k8s.io/client-go/kubernetes/scheme"
+// aggregatorclientsetscheme
"k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme"
+// )
//
-// kclientset, _ := kubernetes.NewForConfig(c)
-// _ = aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme)
+// kclientset, _ := kubernetes.NewForConfig(c)
+// _ = aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme)
//
// After this, RawExtensions in Kubernetes types will serialize
kube-aggregator types
// correctly.
diff --git a/pkg/client/camel/clientset/versioned/scheme/register.go
b/pkg/client/camel/clientset/versioned/scheme/register.go
index 9366fb20c..493d56e4c 100644
--- a/pkg/client/camel/clientset/versioned/scheme/register.go
+++ b/pkg/client/camel/clientset/versioned/scheme/register.go
@@ -40,14 +40,14 @@ var localSchemeBuilder = runtime.SchemeBuilder{
// AddToScheme adds all types of this clientset into the given scheme. This
allows composition
// of clientsets, like in:
//
-// import (
-// "k8s.io/client-go/kubernetes"
-// clientsetscheme "k8s.io/client-go/kubernetes/scheme"
-// aggregatorclientsetscheme
"k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme"
-// )
+// import (
+// "k8s.io/client-go/kubernetes"
+// clientsetscheme "k8s.io/client-go/kubernetes/scheme"
+// aggregatorclientsetscheme
"k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme"
+// )
//
-// kclientset, _ := kubernetes.NewForConfig(c)
-// _ = aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme)
+// kclientset, _ := kubernetes.NewForConfig(c)
+// _ = aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme)
//
// After this, RawExtensions in Kubernetes types will serialize
kube-aggregator types
// correctly.