# ---------------------------------------------------------------------------
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ---------------------------------------------------------------------------

apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.4.1
  creationTimestamp: null
  labels:
    app: camel-k
  name: integrationplatforms.camel.apache.org
spec:
  group: camel.apache.org
  names:
    categories:
    - kamel
    - camel
    kind: IntegrationPlatform
    listKind: IntegrationPlatformList
    plural: integrationplatforms
    shortNames:
    - 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:
                      caSecret:
                        description: The Secret name and key, containing the CA certificate(s)
                          used to connect to remote Maven repositories. It can contain
                          X.509 certificates, and PKCS#7 formatted certificate chains.
                          A JKS formatted keystore is automatically created to store
                          the CA certificate(s), and configured to be used as a trusted
                          certificate(s) by the Maven commands. Note that the root
                          CA certificates are also imported into the created keystore.
                        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
                      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
              kamelet:
                description: IntegrationPlatformKameletSpec --
                properties:
                  repositories:
                    items:
                      description: IntegrationPlatformKameletRepositorySpec --
                      properties:
                        uri:
                          type: string
                      type: object
                    type: array
                type: object
              profile:
                description: TraitProfile represents lists of traits that are enabled
                  for the specific installation/integration
                type: string
              resources:
                description: IntegrationPlatformResourcesSpec contains platform related
                  resources
                type: object
              traits:
                additionalProperties:
                  description: A TraitSpec contains the configuration of a trait
                  properties:
                    configuration:
                      description: TraitConfiguration --
                      type: object
                      x-kubernetes-preserve-unknown-fields: true
                  required:
                  - configuration
                  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:
                      caSecret:
                        description: The Secret name and key, containing the CA certificate(s)
                          used to connect to remote Maven repositories. It can contain
                          X.509 certificates, and PKCS#7 formatted certificate chains.
                          A JKS formatted keystore is automatically created to store
                          the CA certificate(s), and configured to be used as a trusted
                          certificate(s) by the Maven commands. Note that the root
                          CA certificates are also imported into the created keystore.
                        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
                      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
              kamelet:
                description: IntegrationPlatformKameletSpec --
                properties:
                  repositories:
                    items:
                      description: IntegrationPlatformKameletRepositorySpec --
                      properties:
                        uri:
                          type: string
                      type: object
                    type: array
                type: object
              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
                type: object
              traits:
                additionalProperties:
                  description: A TraitSpec contains the configuration of a trait
                  properties:
                    configuration:
                      description: TraitConfiguration --
                      type: object
                      x-kubernetes-preserve-unknown-fields: true
                  required:
                  - configuration
                  type: object
                type: object
              version:
                type: string
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
