You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by as...@apache.org on 2020/07/01 07:08:14 UTC
[camel-k] 07/24: chore(api): Upgrade IntegrationPlatform CRD to
apiextensions.k8s.io/v1
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 <an...@stefanutti.fr>
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"`