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 <pasquale.congiu...@gmail.com>
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.

Reply via email to