# ---------------------------------------------------------------------------
# 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/v1beta1
kind: CustomResourceDefinition
metadata:
  labels:
    app: "camel-k"
  annotations:
    controller-gen.kubebuilder.io/version: v0.0.0-20200528125929-5c0c6ae3b64b
  creationTimestamp: null
  name: integrationplatforms.camel.apache.org
spec:
  additionalPrinterColumns:
  - JSONPath: .status.phase
    description: The integration platform phase
    name: Phase
    type: string
  group: camel.apache.org
  names:
    categories:
    - kamel
    - camel
    kind: IntegrationPlatform
    listKind: IntegrationPlatformList
    plural: integrationplatforms
    shortNames:
    - ip
    singular: integrationplatform
  scope: Namespaced
  subresources:
    status: {}
  validation:
    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
              type: object
            traits:
              additionalProperties:
                description: A TraitSpec contains the configuration of a trait
                properties:
                  configuration:
                    type: object
                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:
                    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
              type: object
            traits:
              additionalProperties:
                description: A TraitSpec contains the configuration of a trait
                properties:
                  configuration:
                    type: object
                required:
                - configuration
                type: object
              type: object
            version:
              type: string
          type: object
      type: object
  version: v1
  versions:
  - name: v1
    served: true
    storage: true
