install/base/config/crd/bases/camel.apache.org_integrationkits.yaml (572 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.17.2 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 - description: The integration kit root image jsonPath: .status.rootImage name: Root 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: capabilities: description: features offered by the IntegrationKit items: type: string type: array 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 dependencies 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 from-kamelet: description: True if the spec is generated from a Kamelet type: boolean interceptors: description: |- Interceptors are optional identifiers the org.apache.camel.k.RoutesLoader uses to pre/post process sources Deprecated: no longer in use. 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: annotations: additionalProperties: type: string description: When using `pod` strategy, annotation to use for the builder pod. type: object baseImage: description: |- Specify a base image. In order to have the application working properly it must be a container image which has a Java JDK installed and ready to use on path (ie `/usr/bin/java`). type: string configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true enabled: description: 'Deprecated: no longer in use.' type: boolean incrementalImageBuild: description: Use the incremental image build option, to reuse existing containers (default `true`) type: boolean limitCPU: description: |- When using `pod` strategy, the maximum amount of CPU required by the pod builder. Deprecated: use TasksRequestCPU instead with task name `builder`. type: string limitMemory: description: |- When using `pod` strategy, the maximum amount of memory required by the pod builder. Deprecated: use TasksRequestCPU instead with task name `builder`. type: string mavenProfiles: description: |- A list of references pointing to configmaps/secrets that contains a maven profile. This configmap/secret is a resource of the IntegrationKit created, therefore it needs to be present in the namespace where the operator is going to create the IntegrationKit. 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). items: type: string type: array nodeSelector: additionalProperties: type: string description: Defines a set of nodes the builder pod is eligible to be scheduled on, based on labels on the node. type: object orderStrategy: description: The build order strategy to use, either `dependencies`, `fifo` or `sequential` (default is the platform default) enum: - dependencies - fifo - sequential type: string platforms: description: The list of manifest platforms to use to build a container image (default `linux/amd64`). items: type: string type: array 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. Deprecated: use TasksRequestCPU instead with task name `builder`. type: string requestMemory: description: |- When using `pod` strategy, the minimum amount of memory required by the pod builder. Deprecated: use TasksRequestCPU instead with task name `builder`. type: string strategy: description: The strategy to use, either `pod` or `routine` (default `routine`) enum: - pod - 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 tasksFilter: description: |- A list of tasks sorted by the order of execution in a csv format, ie, `<taskName1>,<taskName2>,...`. Mind that you must include also the operator tasks (`builder`, `quarkus-native`, `package`, `jib`, `s2i`) if you need to execute them. Useful only with `pod` strategy. type: string tasksLimitCPU: description: A list of limit cpu configuration for the specific task with format `<task-name>:<limit-cpu-conf>`. items: type: string type: array tasksLimitMemory: description: A list of limit memory configuration for the specific task with format `<task-name>:<limit-memory-conf>`. items: type: string type: array tasksRequestCPU: description: A list of request cpu configuration for the specific task with format `<task-name>:<request-cpu-conf>`. items: type: string type: array tasksRequestMemory: description: A list of request memory configuration for the specific task with format `<task-name>:<request-memory-conf>`. items: type: string type: array verbose: description: |- Enable verbose logging on build components that support it (e.g. Kaniko build pod). Deprecated no longer in use 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: 'Deprecated: no longer in use.' type: boolean properties: description: A list of properties to be provided to the Integration runtime items: type: string type: array runtimeProvider: description: The runtime provider to use for the integration. (Default, Camel K Runtime). enum: - quarkus - plain-quarkus type: string runtimeVersion: description: |- The runtime version to use for the integration. It overrides the default version set in the Integration Platform. You can use a fixed version (for example "3.2.3") or a semantic version (for example "3.x") which will try to resolve to the best matching Catalog existing on the cluster (Default, the one provided by the operator version). type: string type: object quarkus: description: |- The Quarkus trait configures the Quarkus runtime. It's enabled by default. NOTE: Compiling to a native executable, requires at least 4GiB of memory, so the Pod running the native build must have enough memory available. properties: buildMode: description: |- The Quarkus mode to run: either `jvm` or `native` (default `jvm`). In case both `jvm` and `native` are specified, two `IntegrationKit` resources are created, with the `native` kit having precedence over the `jvm` one once ready. items: description: QuarkusMode is the type of Quarkus build packaging. enum: - jvm - native type: string type: array configuration: description: |- Legacy trait configuration parameters. Deprecated: for backward compatibility. type: object x-kubernetes-preserve-unknown-fields: true enabled: description: 'Deprecated: no longer in use.' type: boolean nativeBaseImage: description: The base image to use when running a native build (default `quay.io/quarkus/quarkus-micro-image:2.0`) type: string nativeBuilderImage: description: The image containing the tooling required for a native build (by default it will use the one provided in the runtime catalog) type: string packageTypes: description: |- The Quarkus package types, `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. Deprecated: use `build-mode` instead. items: description: |- QuarkusPackageType is the type of Quarkus build packaging. Deprecated: use `QuarkusMode` instead. 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 (support removed since version 2.5.0). Deprecated: use jvm trait or read documentation. 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 (could be another IntegrationKit) type: string catalog: description: the catalog used to build/operate the IntegrationKit. properties: provider: description: RuntimeProvider is the provider chosen for the runtime. type: string version: type: string type: object 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 rootImage: description: root image used by the kit (the first image from which the incremental image has started, typically a JDK/JRE base image) 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: {}