install/config/crd/bases/camel.apache.org_integrationkits.yaml (367 lines of code) (raw):

# --------------------------------------------------------------------------- # 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.6.1 creationTimestamp: null labels: app: camel-k name: integrationkits.camel.apache.org spec: group: camel.apache.org names: categories: - kamel - camel kind: IntegrationKit listKind: IntegrationKitList plural: integrationkits shortNames: - ik singular: integrationkit 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 type: string - description: The integration kit type 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 type: string name: v1 schema: openAPIV3Schema: description: IntegrationKit defines a container image and additional configuration needed to run an `Integration`. An `IntegrationKit` is a generic image generally built from the requirements of an `Integration`, but agnostic to it, in order to be reused by any other `Integration` which has the same required set of capabilities. An `IntegrationKit` may be used for other kits as a base container layer, when the `incremental` build option is enabled. 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: the desired configuration properties: configuration: description: 'Deprecated: Use camel trait (camel.properties) to manage properties Use mount trait (mount.configs) to manage configs Use mount trait (mount.resources) to manage resources Use mount trait (mount.volumes) to manage volumes configuration used by the kit' items: description: ConfigurationSpec represents a generic configuration specification properties: type: description: 'represents the type of configuration, ie: property, configmap, secret, ...' type: string value: description: the value to assign to the configuration (syntax may vary depending on the `Type`) type: string required: - type - value type: object type: array dependencies: description: a list of Camel dependecies used by this kit items: type: string type: array image: description: the container image as identified in the container registry type: string profile: description: the profile which is expected by this kit type: string repositories: description: Maven repositories that can be used by the kit items: type: string type: array sources: description: the sources to add at build time items: description: SourceSpec defines the configuration for one or more routes to be executed in a certain Camel DSL language properties: compression: description: if the content is compressed (base64 encrypted) type: boolean content: description: the source code (plain text) type: string contentKey: description: the confimap key holding the source content type: string contentRef: description: the confimap reference holding the source content type: string contentType: description: the content type (tipically text or binary) type: string interceptors: description: Interceptors are optional identifiers the org.apache.camel.k.RoutesLoader uses to pre/post process sources items: type: string type: array language: description: specify which is the language (Camel DSL) used to interpret this source code type: string loader: description: Loader is an optional id of the org.apache.camel.k.RoutesLoader that will interpret this source at runtime type: string name: description: the name of the specification type: string path: description: the path where the file is stored type: string property-names: description: List of property names defined in the source (e.g. if type is "template") items: type: string type: array rawContent: description: the source code (binary) format: byte type: string type: description: Type defines the kind of source described by this object type: string type: object type: array traits: description: traits that the kit will execute properties: addons: additionalProperties: description: AddonTrait represents the configuration of an addon trait type: object x-kubernetes-preserve-unknown-fields: true description: The collection of addon trait configurations type: object builder: description: The builder trait is internally used to determine the best strategy to build and configure IntegrationKits. properties: configuration: description: 'Legacy trait configuration parameters. Deprecated: for backward compatibility.' type: object x-kubernetes-preserve-unknown-fields: true enabled: description: Can be used to enable or disable a trait. All traits share this common property. type: boolean limitCPU: description: When using `pod` strategy, the maximum amount of CPU required by the pod builder. type: string limitMemory: description: When using `pod` strategy, the maximum amount of memory required by the pod builder. type: string mavenProfile: description: 'A reference pointing to a configmap/secret that contains a maven profile. The content of the maven profile is expected to be a text containing a valid maven profile starting with `<profile>` and ending with `</profile>` that will be integrated as an inline profile in the POM. Syntax: [configmap|secret]:name[/key], where name represents the resource name, key optionally represents the resource key to be filtered (default key value = profile.xml).' type: string orderStrategy: description: The build order strategy to use, either `dependencies`, `fifo` or `sequential` (default sequential) type: string properties: description: A list of properties to be provided to the build task items: type: string type: array requestCPU: description: When using `pod` strategy, the minimum amount of CPU required by the pod builder. type: string requestMemory: description: When using `pod` strategy, the minimum amount of memory required by the pod builder. type: string strategy: description: The strategy to use, either `pod` or `routine` (default routine) type: string tasks: description: A list of tasks to be executed (available only when using `pod` strategy) with format <name>;<container-image>;<container-command> items: type: string type: array verbose: description: Enable verbose logging on build components that support it (e.g. Kaniko build pod). type: boolean type: object camel: description: The Camel trait sets up Camel configuration. properties: configuration: description: 'Legacy trait configuration parameters. Deprecated: for backward compatibility.' type: object x-kubernetes-preserve-unknown-fields: true enabled: description: Can be used to enable or disable a trait. All traits share this common property. type: boolean properties: description: A list of properties to be provided to the Integration runtime items: type: string type: array runtimeVersion: description: The camel-k-runtime version to use for the integration. It overrides the default version set in the Integration Platform. type: string type: object quarkus: description: 'The Quarkus trait configures the Quarkus runtime. It''s enabled by default. NOTE: Compiling to a native executable, i.e. when using `package-type=native`, is only supported for kamelets, as well as YAML and XML integrations. It also requires at least 4GiB of memory, so the Pod running the native build, that is either the operator Pod, or the build Pod (depending on the build strategy configured for the platform), must have enough memory available.' properties: configuration: description: 'Legacy trait configuration parameters. Deprecated: for backward compatibility.' type: object x-kubernetes-preserve-unknown-fields: true enabled: description: Can be used to enable or disable a trait. All traits share this common property. type: boolean packageTypes: description: The Quarkus package types, either `fast-jar` or `native` (default `fast-jar`). In case both `fast-jar` and `native` are specified, two `IntegrationKit` resources are created, with the `native` kit having precedence over the `fast-jar` one once ready. The order influences the resolution of the current kit for the integration. The kit corresponding to the first package type will be assigned to the integration in case no existing kit that matches the integration exists. items: description: Quarkus package type. enum: - fast-jar - native type: string type: array type: object registry: description: The Registry trait sets up Maven to use the Image registry as a Maven repository. properties: configuration: description: 'Legacy trait configuration parameters. Deprecated: for backward compatibility.' type: object x-kubernetes-preserve-unknown-fields: true enabled: description: Can be used to enable or disable a trait. All traits share this common property. type: boolean type: object type: object type: object status: description: the actual status properties: artifacts: description: list of artifacts used by the kit items: description: Artifact represents a materialized artifact (a jar dependency or in general a file used by the build) properties: checksum: description: a checksum (SHA1) of the content type: string id: description: the identification (GAV for maven dependencies or file name for other file types) type: string location: description: where it is located in the builder `Pod` type: string target: description: the expected location in the runtime type: string required: - id type: object type: array baseImage: description: base image used by the kit type: string conditions: description: a list of conditions which happened for the events related the kit items: description: IntegrationKitCondition 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 digest: description: actual image digest of the kit type: string failure: description: failure reason (if any) properties: reason: description: a short text specifying the reason type: string recovery: description: the recovery attempted for this failure properties: attempt: description: attempt number type: integer attemptMax: description: maximum number of attempts type: integer attemptTime: description: time of the attempt execution format: date-time type: string required: - attempt - attemptMax type: object time: description: the time when the failure has happened format: date-time type: string required: - reason - recovery - time type: object image: description: actual image name of the kit type: string observedGeneration: description: ObservedGeneration is the most recent generation observed for this IntegrationKit. format: int64 type: integer phase: description: phase of the kit type: string platform: description: the platform for which this kit was configured type: string runtimeProvider: description: the runtime provider for which this kit was configured type: string runtimeVersion: description: the runtime version for which this kit was configured type: string version: description: the Camel K operator version for which this kit was configured type: string type: object type: object served: true storage: true subresources: status: {}