This is an automated email from the ASF dual-hosted git repository.

astefanutti pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-k.git

commit 36a59ffab0cc7dc7ca31c5b177875a12f2cd0e36
Author: Antonin Stefanutti <[email protected]>
AuthorDate: Wed Jun 10 12:49:47 2020 +0200

    chore(api): Upgrade IntegrationPlatform CRD to apiextensions.k8s.io/v1
---
 deploy/crd-integration-platform.yaml           | 370 +++++++++++++++++++++++--
 deploy/resources.go                            |   4 +-
 pkg/apis/camel/v1/integrationplatform_types.go |   7 +-
 3 files changed, 358 insertions(+), 23 deletions(-)

diff --git a/deploy/crd-integration-platform.yaml 
b/deploy/crd-integration-platform.yaml
index c693199..c434185 100644
--- a/deploy/crd-integration-platform.yaml
+++ b/deploy/crd-integration-platform.yaml
@@ -15,7 +15,7 @@
 # limitations under the License.
 # ---------------------------------------------------------------------------
 
-apiVersion: apiextensions.k8s.io/v1beta1
+apiVersion: apiextensions.k8s.io/v1
 kind: CustomResourceDefinition
 metadata:
   name: integrationplatforms.camel.apache.org
@@ -23,26 +23,358 @@ metadata:
     app: "camel-k"
 spec:
   group: camel.apache.org
-  scope: Namespaced
-  version: v1
-  versions:
-  - name: v1
-    served: true
-    storage: true
-  - name: v1alpha1
-    served: true
-    storage: false
-  subresources:
-    status: {}
   names:
     kind: IntegrationPlatform
     listKind: IntegrationPlatformList
     plural: integrationplatforms
-    singular: integrationplatform
     shortNames:
-    - ip
-  additionalPrinterColumns:
-    - name: Phase
-      type: string
-      description: The IntegrationPlatform phase
-      JSONPath: .status.phase
+      - ip
+    singular: integrationplatform
+  scope: Namespaced
+  versions:
+    - additionalPrinterColumns:
+        - description: The integration platform phase
+          jsonPath: .status.phase
+          name: Phase
+          type: string
+      name: v1
+      schema:
+        openAPIV3Schema:
+          description: IntegrationPlatform is the Schema for the 
integrationplatforms
+            API
+          properties:
+            apiVersion:
+              description: 'APIVersion defines the versioned schema of this 
representation
+              of an object. Servers should convert recognized schemas to the 
latest
+              internal value, and may reject unrecognized values. More info: 
https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
+              type: string
+            kind:
+              description: 'Kind is a string value representing the REST 
resource this
+              object represents. Servers may infer this from the endpoint the 
client
+              submits requests to. Cannot be updated. In CamelCase. More info: 
https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
+              type: string
+            metadata:
+              type: object
+            spec:
+              description: IntegrationPlatformSpec defines the desired state 
of IntegrationPlatform
+              properties:
+                build:
+                  description: IntegrationPlatformBuildSpec contains platform 
related
+                    build information
+                  properties:
+                    baseImage:
+                      type: string
+                    buildStrategy:
+                      description: IntegrationPlatformBuildStrategy enumerates 
all implemented
+                        build strategies
+                      type: string
+                    httpProxySecret:
+                      type: string
+                    kanikoBuildCache:
+                      type: boolean
+                    maven:
+                      description: MavenSpec --
+                      properties:
+                        localRepository:
+                          type: string
+                        settings:
+                          description: ValueSource --
+                          properties:
+                            configMapKeyRef:
+                              description: Selects a key of a ConfigMap.
+                              properties:
+                                key:
+                                  description: The key to select.
+                                  type: string
+                                name:
+                                  description: 'Name of the referent. More 
info: 
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+                                  TODO: Add other useful fields. apiVersion, 
kind,
+                                  uid?'
+                                  type: string
+                                optional:
+                                  description: Specify whether the ConfigMap 
or its
+                                    key must be defined
+                                  type: boolean
+                              required:
+                                - key
+                              type: object
+                            secretKeyRef:
+                              description: Selects a key of a secret.
+                              properties:
+                                key:
+                                  description: The key of the secret to select 
from.  Must
+                                    be a valid secret key.
+                                  type: string
+                                name:
+                                  description: 'Name of the referent. More 
info: 
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+                                  TODO: Add other useful fields. apiVersion, 
kind,
+                                  uid?'
+                                  type: string
+                                optional:
+                                  description: Specify whether the Secret or 
its key
+                                    must be defined
+                                  type: boolean
+                              required:
+                                - key
+                              type: object
+                          type: object
+                        timeout:
+                          type: string
+                      type: object
+                    persistentVolumeClaim:
+                      type: string
+                    properties:
+                      additionalProperties:
+                        type: string
+                      type: object
+                    publishStrategy:
+                      description: IntegrationPlatformBuildPublishStrategy 
enumerates
+                        all implemented publish strategies
+                      type: string
+                    registry:
+                      description: IntegrationPlatformRegistrySpec --
+                      properties:
+                        address:
+                          type: string
+                        ca:
+                          type: string
+                        insecure:
+                          type: boolean
+                        organization:
+                          type: string
+                        secret:
+                          type: string
+                      type: object
+                    runtimeProvider:
+                      description: RuntimeProvider --
+                      type: string
+                    runtimeVersion:
+                      type: string
+                    timeout:
+                      type: string
+                  type: object
+                cluster:
+                  description: IntegrationPlatformCluster is the kind of 
orchestration
+                    cluster the platform is installed into
+                  type: string
+                configuration:
+                  items:
+                    description: ConfigurationSpec --
+                    properties:
+                      type:
+                        type: string
+                      value:
+                        type: string
+                    required:
+                      - type
+                      - value
+                    type: object
+                  type: array
+                profile:
+                  description: TraitProfile represents lists of traits that 
are enabled
+                    for the specific installation/integration
+                  type: string
+                resources:
+                  description: IntegrationPlatformResourcesSpec contains 
platform related
+                    resources
+                  properties:
+                    kits:
+                      items:
+                        type: string
+                      type: array
+                  type: object
+                traits:
+                  additionalProperties:
+                    description: A TraitSpec contains the configuration of a 
trait
+                    properties:
+                      configuration:
+                        additionalProperties:
+                          type: string
+                        type: object
+                    type: object
+                  type: object
+              type: object
+            status:
+              description: IntegrationPlatformStatus defines the observed 
state of IntegrationPlatform
+              properties:
+                build:
+                  description: IntegrationPlatformBuildSpec contains platform 
related
+                    build information
+                  properties:
+                    baseImage:
+                      type: string
+                    buildStrategy:
+                      description: IntegrationPlatformBuildStrategy enumerates 
all implemented
+                        build strategies
+                      type: string
+                    httpProxySecret:
+                      type: string
+                    kanikoBuildCache:
+                      type: boolean
+                    maven:
+                      description: MavenSpec --
+                      properties:
+                        localRepository:
+                          type: string
+                        settings:
+                          description: ValueSource --
+                          properties:
+                            configMapKeyRef:
+                              description: Selects a key of a ConfigMap.
+                              properties:
+                                key:
+                                  description: The key to select.
+                                  type: string
+                                name:
+                                  description: 'Name of the referent. More 
info: 
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+                                  TODO: Add other useful fields. apiVersion, 
kind,
+                                  uid?'
+                                  type: string
+                                optional:
+                                  description: Specify whether the ConfigMap 
or its
+                                    key must be defined
+                                  type: boolean
+                              required:
+                                - key
+                              type: object
+                            secretKeyRef:
+                              description: Selects a key of a secret.
+                              properties:
+                                key:
+                                  description: The key of the secret to select 
from.  Must
+                                    be a valid secret key.
+                                  type: string
+                                name:
+                                  description: 'Name of the referent. More 
info: 
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+                                  TODO: Add other useful fields. apiVersion, 
kind,
+                                  uid?'
+                                  type: string
+                                optional:
+                                  description: Specify whether the Secret or 
its key
+                                    must be defined
+                                  type: boolean
+                              required:
+                                - key
+                              type: object
+                          type: object
+                        timeout:
+                          type: string
+                      type: object
+                    persistentVolumeClaim:
+                      type: string
+                    properties:
+                      additionalProperties:
+                        type: string
+                      type: object
+                    publishStrategy:
+                      description: IntegrationPlatformBuildPublishStrategy 
enumerates
+                        all implemented publish strategies
+                      type: string
+                    registry:
+                      description: IntegrationPlatformRegistrySpec --
+                      properties:
+                        address:
+                          type: string
+                        ca:
+                          type: string
+                        insecure:
+                          type: boolean
+                        organization:
+                          type: string
+                        secret:
+                          type: string
+                      type: object
+                    runtimeProvider:
+                      description: RuntimeProvider --
+                      type: string
+                    runtimeVersion:
+                      type: string
+                    timeout:
+                      type: string
+                  type: object
+                cluster:
+                  description: IntegrationPlatformCluster is the kind of 
orchestration
+                    cluster the platform is installed into
+                  type: string
+                conditions:
+                  items:
+                    description: IntegrationPlatformCondition describes the 
state of
+                      a resource at a certain point.
+                    properties:
+                      lastTransitionTime:
+                        description: Last time the condition transitioned from 
one status
+                          to another.
+                        format: date-time
+                        type: string
+                      lastUpdateTime:
+                        description: The last time this condition was updated.
+                        format: date-time
+                        type: string
+                      message:
+                        description: A human readable message indicating 
details about
+                          the transition.
+                        type: string
+                      reason:
+                        description: The reason for the condition's last 
transition.
+                        type: string
+                      status:
+                        description: Status of the condition, one of True, 
False, Unknown.
+                        type: string
+                      type:
+                        description: Type of integration condition.
+                        type: string
+                    required:
+                      - status
+                      - type
+                    type: object
+                  type: array
+                configuration:
+                  items:
+                    description: ConfigurationSpec --
+                    properties:
+                      type:
+                        type: string
+                      value:
+                        type: string
+                    required:
+                      - type
+                      - value
+                    type: object
+                  type: array
+                phase:
+                  description: IntegrationPlatformPhase --
+                  type: string
+                profile:
+                  description: TraitProfile represents lists of traits that 
are enabled
+                    for the specific installation/integration
+                  type: string
+                resources:
+                  description: IntegrationPlatformResourcesSpec contains 
platform related
+                    resources
+                  properties:
+                    kits:
+                      items:
+                        type: string
+                      type: array
+                  type: object
+                traits:
+                  additionalProperties:
+                    description: A TraitSpec contains the configuration of a 
trait
+                    properties:
+                      configuration:
+                        additionalProperties:
+                          type: string
+                        type: object
+                    type: object
+                  type: object
+                version:
+                  type: string
+              type: object
+          type: object
+      served: true
+      storage: true
+      subresources:
+        status: {}
+    - name: v1alpha1
+        served: true
+        storage: false
diff --git a/deploy/resources.go b/deploy/resources.go
index 2293445..60325e1 100644
--- a/deploy/resources.go
+++ b/deploy/resources.go
@@ -133,9 +133,9 @@ var assets = func() http.FileSystem {
                "/crd-integration-platform.yaml": &vfsgen۰CompressedFileInfo{
                        name:             "crd-integration-platform.yaml",
                        modTime:          time.Time{},
-                       uncompressedSize: 1621,
+                       uncompressedSize: 16698,
 
-                       compressedContent: 
[]byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x54\xc1\x6e\xe3\x46\x0c\xbd\xeb\x2b\x1e\xac\xcb\x2e\x90\x28\x4d\x4f\x85\x7a\x72\x9d\x04\x55\x37\x90\x83\xc8\xdb\xc5\x1e\x69\x89\x96\x88\x8c\x66\xa6\x33\x23\x3b\x46\xd1\x7f\x2f\x46\x92\x63\x2f\x9a\x62\x2f\xab\x9b\xc8\x47\xf2\xbd\x47\x4a\x29\xae\x7f\xdc\x93\xa4\x78\x94\x9a\xb5\xe7\x06\xc1\x20\x74\x8c\xa5\xa5\xba\x63\x54\x66\x17\x0e\xe4\x18\x0f\x66\xd0\x0d\x05\x31\x1a\x1f\x96\xd5\xc3\x47\x0c\xba\x61\x07\xa3\x19\xc6\x
 [...]
+                       compressedContent: 
[]byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x1b\xcb\x8e\xe3\xb8\xf1\xee\xaf\x28\xb4\x0f\xb3\x0b\xb4\xed\x6c\x72\x09\x9c\x43\xd0\xeb\x99\x41\x8c\x9d\xe9\x6e\xb4\x3d\xb3\xd8\x63\x59\x2a\xcb\x5c\x53\xa4\x42\x52\xf6\x78\x83\xfc\x7b\x50\x94\x64\xcb\xb6\x5e\xfd\x48\xb0\x49\x54\x97\x99\xb6\xc8\x7a\xbf\xc8\x92\x86\x30\x7a\x3b\x18\x0c\xe1\x93\x08\x48\x59\x0a\xc1\x69\x70\x1b\x82\xbb\x04\x83\x0d\xc1\x42\xaf\xdd\x1e\x0d\xc1\x47\x9d\xaa\x10\x9d\xd0\x0a\xbe\xbb\x5b\x7c\x
 [...]
                },
                "/crd-integration.yaml": &vfsgen۰CompressedFileInfo{
                        name:             "crd-integration.yaml",
diff --git a/pkg/apis/camel/v1/integrationplatform_types.go 
b/pkg/apis/camel/v1/integrationplatform_types.go
index f112597..42eaad0 100644
--- a/pkg/apis/camel/v1/integrationplatform_types.go
+++ b/pkg/apis/camel/v1/integrationplatform_types.go
@@ -49,10 +49,13 @@ type IntegrationPlatformStatus struct {
 }
 
 // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
-
-// IntegrationPlatform is the Schema for the integrationplatforms API
 // +k8s:openapi-gen=true
 // +genclient
+// 
+kubebuilder:resource:path=integrationplatforms,scope=Namespaced,shortName=ip
+// +kubebuilder:subresource:status
+// 
+kubebuilder:printcolumn:name="Phase",type=string,JSONPath=`.status.phase`,description="The
 integration platform phase"
+
+// IntegrationPlatform is the Schema for the integrationplatforms API
 type IntegrationPlatform struct {
        metav1.TypeMeta   `json:",inline"`
        metav1.ObjectMeta `json:"metadata,omitempty"`

Reply via email to