| # --------------------------------------------------------------------------- |
| # 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.15.0 |
| labels: |
| app: camel-k |
| name: builds.camel.apache.org |
| spec: |
| group: camel.apache.org |
| names: |
| categories: |
| - kamel |
| - camel |
| kind: Build |
| listKind: BuildList |
| plural: builds |
| shortNames: |
| - ikb |
| singular: build |
| scope: Namespaced |
| versions: |
| - additionalPrinterColumns: |
| - description: The build phase |
| jsonPath: .status.phase |
| name: Phase |
| type: string |
| - description: The time at which the build was created |
| jsonPath: .metadata.creationTimestamp |
| name: Age |
| type: date |
| - description: The time at which the build was last (re-)started |
| jsonPath: .status.startedAt |
| name: Started |
| type: date |
| - description: The build last execution duration |
| jsonPath: .status.duration |
| name: Duration |
| type: string |
| - description: The number of execution attempts |
| jsonPath: .status.failure.recovery.attempt |
| name: Attempts |
| type: integer |
| name: v1 |
| schema: |
| openAPIV3Schema: |
| description: Build is the Schema for the builds 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: |- |
| BuildSpec defines the list of tasks to be execute for a Build. From Camel K version 2, it would be more appropriate |
| to think it as pipeline. |
| properties: |
| configuration: |
| description: |- |
| The configuration that should be used to perform the Build. |
| Deprecated: no longer in use in Camel K 2 - maintained for backward compatibility |
| properties: |
| annotations: |
| additionalProperties: |
| type: string |
| description: Annotation to use for the builder pod. Only used |
| for `pod` strategy |
| type: object |
| limitCPU: |
| description: The maximum amount of CPU required. Only used for |
| `pod` strategy |
| type: string |
| limitMemory: |
| description: The maximum amount of memory required. Only used |
| for `pod` strategy |
| type: string |
| nodeSelector: |
| additionalProperties: |
| type: string |
| description: The node selector for the builder pod. Only used |
| for `pod` strategy |
| type: object |
| operatorNamespace: |
| description: The namespace where to run the builder Pod (must |
| be the same of the operator in charge of this Build reconciliation). |
| type: string |
| orderStrategy: |
| description: the build order strategy to adopt |
| enum: |
| - dependencies |
| - fifo |
| - sequential |
| type: string |
| platforms: |
| description: The list of platforms used in order to build a container |
| image. |
| items: |
| type: string |
| type: array |
| requestCPU: |
| description: The minimum amount of CPU required. Only used for |
| `pod` strategy |
| type: string |
| requestMemory: |
| description: The minimum amount of memory required. Only used |
| for `pod` strategy |
| type: string |
| strategy: |
| description: the strategy to adopt |
| enum: |
| - routine |
| - pod |
| type: string |
| toolImage: |
| description: The container image to be used to run the build. |
| type: string |
| type: object |
| maxRunningBuilds: |
| description: |- |
| the maximum amount of parallel running builds started by this operator instance |
| Deprecated: no longer in use in Camel K 2 - maintained for backward compatibility |
| format: int32 |
| type: integer |
| operatorNamespace: |
| description: |- |
| The namespace where to run the builder Pod (must be the same of the operator in charge of this Build reconciliation). |
| Deprecated: no longer in use in Camel K 2 - maintained for backward compatibility |
| type: string |
| tasks: |
| description: The sequence of tasks (pipeline) to be performed. |
| items: |
| description: Task represents the abstract task. Only one of the |
| task should be configured to represent the specific task chosen. |
| properties: |
| buildah: |
| description: |- |
| a BuildahTask, for Buildah strategy |
| Deprecated: use jib or a custom publishing strategy instead |
| properties: |
| baseImage: |
| description: base image layer |
| type: string |
| configuration: |
| description: The configuration that should be used to perform |
| the Build. |
| properties: |
| annotations: |
| additionalProperties: |
| type: string |
| description: Annotation to use for the builder pod. |
| Only used for `pod` strategy |
| type: object |
| limitCPU: |
| description: The maximum amount of CPU required. Only |
| used for `pod` strategy |
| type: string |
| limitMemory: |
| description: The maximum amount of memory required. |
| Only used for `pod` strategy |
| type: string |
| nodeSelector: |
| additionalProperties: |
| type: string |
| description: The node selector for the builder pod. |
| Only used for `pod` strategy |
| type: object |
| operatorNamespace: |
| description: The namespace where to run the builder |
| Pod (must be the same of the operator in charge of |
| this Build reconciliation). |
| type: string |
| orderStrategy: |
| description: the build order strategy to adopt |
| enum: |
| - dependencies |
| - fifo |
| - sequential |
| type: string |
| platforms: |
| description: The list of platforms used in order to |
| build a container image. |
| items: |
| type: string |
| type: array |
| requestCPU: |
| description: The minimum amount of CPU required. Only |
| used for `pod` strategy |
| type: string |
| requestMemory: |
| description: The minimum amount of memory required. |
| Only used for `pod` strategy |
| type: string |
| strategy: |
| description: the strategy to adopt |
| enum: |
| - routine |
| - pod |
| type: string |
| toolImage: |
| description: The container image to be used to run the |
| build. |
| type: string |
| type: object |
| contextDir: |
| description: can be useful to share info with other tasks |
| type: string |
| executorImage: |
| description: docker image to use |
| type: string |
| image: |
| description: final image name |
| type: string |
| name: |
| description: name of the task |
| type: string |
| platform: |
| description: The platform of build image |
| type: string |
| registry: |
| description: where to publish the final image |
| properties: |
| address: |
| description: the URI to access |
| type: string |
| ca: |
| description: the configmap which stores the Certificate |
| Authority |
| type: string |
| insecure: |
| description: if the container registry is insecure (ie, |
| http only) |
| type: boolean |
| organization: |
| description: the registry organization |
| type: string |
| secret: |
| description: the secret where credentials are stored |
| type: string |
| type: object |
| verbose: |
| description: log more information |
| type: boolean |
| type: object |
| builder: |
| description: a BuilderTask, used to generate and build the project |
| properties: |
| baseImage: |
| description: the base image layer |
| type: string |
| buildDir: |
| description: workspace directory to use |
| type: string |
| configuration: |
| description: The configuration that should be used to perform |
| the Build. |
| properties: |
| annotations: |
| additionalProperties: |
| type: string |
| description: Annotation to use for the builder pod. |
| Only used for `pod` strategy |
| type: object |
| limitCPU: |
| description: The maximum amount of CPU required. Only |
| used for `pod` strategy |
| type: string |
| limitMemory: |
| description: The maximum amount of memory required. |
| Only used for `pod` strategy |
| type: string |
| nodeSelector: |
| additionalProperties: |
| type: string |
| description: The node selector for the builder pod. |
| Only used for `pod` strategy |
| type: object |
| operatorNamespace: |
| description: The namespace where to run the builder |
| Pod (must be the same of the operator in charge of |
| this Build reconciliation). |
| type: string |
| orderStrategy: |
| description: the build order strategy to adopt |
| enum: |
| - dependencies |
| - fifo |
| - sequential |
| type: string |
| platforms: |
| description: The list of platforms used in order to |
| build a container image. |
| items: |
| type: string |
| type: array |
| requestCPU: |
| description: The minimum amount of CPU required. Only |
| used for `pod` strategy |
| type: string |
| requestMemory: |
| description: The minimum amount of memory required. |
| Only used for `pod` strategy |
| type: string |
| strategy: |
| description: the strategy to adopt |
| enum: |
| - routine |
| - pod |
| type: string |
| toolImage: |
| description: The container image to be used to run the |
| build. |
| type: string |
| type: object |
| dependencies: |
| description: the list of dependencies to use for this build |
| items: |
| type: string |
| type: array |
| maven: |
| description: the configuration required by Maven for the |
| application build phase |
| properties: |
| caSecrets: |
| description: |- |
| The Secrets 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. |
| items: |
| description: SecretKeySelector 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: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the Secret or its |
| key must be defined |
| type: boolean |
| required: |
| - key |
| type: object |
| x-kubernetes-map-type: atomic |
| type: array |
| cliOptions: |
| description: |- |
| The CLI options that are appended to the list of arguments for Maven commands, |
| e.g., `-V,--no-transfer-progress,-Dstyle.color=never`. |
| See https://maven.apache.org/ref/3.8.4/maven-embedder/cli.html. |
| items: |
| type: string |
| type: array |
| extension: |
| description: |- |
| The Maven build extensions. |
| See https://maven.apache.org/guides/mini/guide-using-extensions.html. |
| items: |
| description: MavenArtifact defines a GAV (Group:Artifact:Type:Version:Classifier) |
| Maven artifact. |
| properties: |
| artifactId: |
| description: Maven Artifact |
| type: string |
| classifier: |
| description: Maven Classifier |
| type: string |
| groupId: |
| description: Maven Group |
| type: string |
| type: |
| description: Maven Type |
| type: string |
| version: |
| description: Maven Version |
| type: string |
| required: |
| - artifactId |
| - groupId |
| type: object |
| type: array |
| localRepository: |
| description: The path of the local Maven repository. |
| type: string |
| profiles: |
| description: |- |
| A reference to the ConfigMap or Secret key that contains |
| the Maven profile. |
| items: |
| description: ValueSource --. |
| properties: |
| configMapKeyRef: |
| description: Selects a key of a ConfigMap. |
| properties: |
| key: |
| description: The key to select. |
| type: string |
| name: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the ConfigMap |
| or its key must be defined |
| type: boolean |
| required: |
| - key |
| type: object |
| x-kubernetes-map-type: atomic |
| 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: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the Secret or |
| its key must be defined |
| type: boolean |
| required: |
| - key |
| type: object |
| x-kubernetes-map-type: atomic |
| type: object |
| type: array |
| properties: |
| additionalProperties: |
| type: string |
| description: The Maven properties. |
| type: object |
| repositories: |
| description: additional repositories |
| items: |
| description: Repository defines a Maven repository. |
| properties: |
| id: |
| description: identifies the repository |
| type: string |
| name: |
| description: name of the repository |
| type: string |
| releases: |
| description: can use stable releases |
| properties: |
| checksumPolicy: |
| description: |- |
| When Maven deploys files to the repository, it also deploys corresponding checksum files. |
| Your options are to `ignore`, `fail`, or `warn` on missing or incorrect checksums. |
| type: string |
| enabled: |
| description: is the policy activated or not |
| type: boolean |
| updatePolicy: |
| description: |- |
| This element specifies how often updates should attempt to occur. |
| Maven will compare the local POM's timestamp (stored in a repository's maven-metadata file) to the remote. |
| The choices are: `always`, `daily` (default), `interval:X` (where X is an integer in minutes) or `never` |
| type: string |
| required: |
| - enabled |
| type: object |
| snapshots: |
| description: can use snapshot |
| properties: |
| checksumPolicy: |
| description: |- |
| When Maven deploys files to the repository, it also deploys corresponding checksum files. |
| Your options are to `ignore`, `fail`, or `warn` on missing or incorrect checksums. |
| type: string |
| enabled: |
| description: is the policy activated or not |
| type: boolean |
| updatePolicy: |
| description: |- |
| This element specifies how often updates should attempt to occur. |
| Maven will compare the local POM's timestamp (stored in a repository's maven-metadata file) to the remote. |
| The choices are: `always`, `daily` (default), `interval:X` (where X is an integer in minutes) or `never` |
| type: string |
| required: |
| - enabled |
| type: object |
| url: |
| description: location of the repository |
| type: string |
| required: |
| - id |
| - url |
| type: object |
| type: array |
| servers: |
| description: Servers (auth) |
| items: |
| description: Server see link:https://maven.apache.org/settings.html[Maven |
| settings]. |
| properties: |
| configuration: |
| additionalProperties: |
| type: string |
| description: Properties -- . |
| type: object |
| id: |
| type: string |
| password: |
| type: string |
| username: |
| type: string |
| type: object |
| type: array |
| settings: |
| description: |- |
| A reference to the ConfigMap or Secret key that contains |
| the Maven settings. |
| properties: |
| configMapKeyRef: |
| description: Selects a key of a ConfigMap. |
| properties: |
| key: |
| description: The key to select. |
| type: string |
| name: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the ConfigMap or |
| its key must be defined |
| type: boolean |
| required: |
| - key |
| type: object |
| x-kubernetes-map-type: atomic |
| 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: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the Secret or its |
| key must be defined |
| type: boolean |
| required: |
| - key |
| type: object |
| x-kubernetes-map-type: atomic |
| type: object |
| settingsSecurity: |
| description: |- |
| A reference to the ConfigMap or Secret key that contains |
| the security of the Maven settings. |
| properties: |
| configMapKeyRef: |
| description: Selects a key of a ConfigMap. |
| properties: |
| key: |
| description: The key to select. |
| type: string |
| name: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the ConfigMap or |
| its key must be defined |
| type: boolean |
| required: |
| - key |
| type: object |
| x-kubernetes-map-type: atomic |
| 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: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the Secret or its |
| key must be defined |
| type: boolean |
| required: |
| - key |
| type: object |
| x-kubernetes-map-type: atomic |
| type: object |
| type: object |
| name: |
| description: name of the task |
| type: string |
| runtime: |
| description: the configuration required for the runtime |
| application |
| properties: |
| applicationClass: |
| description: application entry point (main) to be executed |
| type: string |
| capabilities: |
| additionalProperties: |
| description: |- |
| Capability is a particular feature which requires a well known set of dependencies and other properties |
| which are specified in the runtime catalog. |
| properties: |
| buildTimeProperties: |
| description: Set of required Camel build time |
| properties |
| items: |
| description: CamelProperty represents a Camel |
| property that may end up in an application.properties |
| file. |
| properties: |
| key: |
| type: string |
| value: |
| type: string |
| required: |
| - key |
| type: object |
| type: array |
| dependencies: |
| description: List of required Maven dependencies |
| items: |
| description: MavenArtifact defines a GAV (Group:Artifact:Type:Version:Classifier) |
| Maven artifact. |
| properties: |
| artifactId: |
| description: Maven Artifact |
| type: string |
| classifier: |
| description: Maven Classifier |
| type: string |
| groupId: |
| description: Maven Group |
| type: string |
| type: |
| description: Maven Type |
| type: string |
| version: |
| description: Maven Version |
| type: string |
| required: |
| - artifactId |
| - groupId |
| type: object |
| type: array |
| metadata: |
| additionalProperties: |
| type: string |
| description: Set of generic metadata |
| type: object |
| runtimeProperties: |
| description: Set of required Camel runtime properties |
| items: |
| description: CamelProperty represents a Camel |
| property that may end up in an application.properties |
| file. |
| properties: |
| key: |
| type: string |
| value: |
| type: string |
| required: |
| - key |
| type: object |
| type: array |
| type: object |
| description: features offered by this runtime |
| type: object |
| dependencies: |
| description: list of dependencies needed to run the |
| application |
| items: |
| description: MavenArtifact defines a GAV (Group:Artifact:Type:Version:Classifier) |
| Maven artifact. |
| properties: |
| artifactId: |
| description: Maven Artifact |
| type: string |
| classifier: |
| description: Maven Classifier |
| type: string |
| groupId: |
| description: Maven Group |
| type: string |
| type: |
| description: Maven Type |
| type: string |
| version: |
| description: Maven Version |
| type: string |
| required: |
| - artifactId |
| - groupId |
| type: object |
| type: array |
| metadata: |
| additionalProperties: |
| type: string |
| description: set of metadata |
| type: object |
| provider: |
| description: Camel main application provider, ie, Camel |
| Quarkus |
| type: string |
| version: |
| description: Camel K Runtime version |
| type: string |
| required: |
| - applicationClass |
| - dependencies |
| - provider |
| - version |
| type: object |
| 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 |
| steps: |
| description: the list of steps to execute (see pkg/builder/) |
| items: |
| type: string |
| type: array |
| type: object |
| custom: |
| description: User customizable task execution. These are executed |
| after the build and before the package task. |
| properties: |
| command: |
| description: |- |
| the command to execute |
| Deprecated: use ContainerCommands |
| type: string |
| commands: |
| description: the command to execute |
| items: |
| type: string |
| type: array |
| configuration: |
| description: The configuration that should be used to perform |
| the Build. |
| properties: |
| annotations: |
| additionalProperties: |
| type: string |
| description: Annotation to use for the builder pod. |
| Only used for `pod` strategy |
| type: object |
| limitCPU: |
| description: The maximum amount of CPU required. Only |
| used for `pod` strategy |
| type: string |
| limitMemory: |
| description: The maximum amount of memory required. |
| Only used for `pod` strategy |
| type: string |
| nodeSelector: |
| additionalProperties: |
| type: string |
| description: The node selector for the builder pod. |
| Only used for `pod` strategy |
| type: object |
| operatorNamespace: |
| description: The namespace where to run the builder |
| Pod (must be the same of the operator in charge of |
| this Build reconciliation). |
| type: string |
| orderStrategy: |
| description: the build order strategy to adopt |
| enum: |
| - dependencies |
| - fifo |
| - sequential |
| type: string |
| platforms: |
| description: The list of platforms used in order to |
| build a container image. |
| items: |
| type: string |
| type: array |
| requestCPU: |
| description: The minimum amount of CPU required. Only |
| used for `pod` strategy |
| type: string |
| requestMemory: |
| description: The minimum amount of memory required. |
| Only used for `pod` strategy |
| type: string |
| strategy: |
| description: the strategy to adopt |
| enum: |
| - routine |
| - pod |
| type: string |
| toolImage: |
| description: The container image to be used to run the |
| build. |
| type: string |
| type: object |
| image: |
| description: the container image to use |
| type: string |
| name: |
| description: name of the task |
| type: string |
| publishingImage: |
| description: the desired image build name |
| type: string |
| userId: |
| description: the user id used to run the container |
| format: int64 |
| type: integer |
| type: object |
| jib: |
| description: a JibTask, for Jib strategy |
| properties: |
| baseImage: |
| description: base image layer |
| type: string |
| configuration: |
| description: The configuration that should be used to perform |
| the Build. |
| properties: |
| annotations: |
| additionalProperties: |
| type: string |
| description: Annotation to use for the builder pod. |
| Only used for `pod` strategy |
| type: object |
| limitCPU: |
| description: The maximum amount of CPU required. Only |
| used for `pod` strategy |
| type: string |
| limitMemory: |
| description: The maximum amount of memory required. |
| Only used for `pod` strategy |
| type: string |
| nodeSelector: |
| additionalProperties: |
| type: string |
| description: The node selector for the builder pod. |
| Only used for `pod` strategy |
| type: object |
| operatorNamespace: |
| description: The namespace where to run the builder |
| Pod (must be the same of the operator in charge of |
| this Build reconciliation). |
| type: string |
| orderStrategy: |
| description: the build order strategy to adopt |
| enum: |
| - dependencies |
| - fifo |
| - sequential |
| type: string |
| platforms: |
| description: The list of platforms used in order to |
| build a container image. |
| items: |
| type: string |
| type: array |
| requestCPU: |
| description: The minimum amount of CPU required. Only |
| used for `pod` strategy |
| type: string |
| requestMemory: |
| description: The minimum amount of memory required. |
| Only used for `pod` strategy |
| type: string |
| strategy: |
| description: the strategy to adopt |
| enum: |
| - routine |
| - pod |
| type: string |
| toolImage: |
| description: The container image to be used to run the |
| build. |
| type: string |
| type: object |
| contextDir: |
| description: can be useful to share info with other tasks |
| type: string |
| image: |
| description: final image name |
| type: string |
| name: |
| description: name of the task |
| type: string |
| registry: |
| description: where to publish the final image |
| properties: |
| address: |
| description: the URI to access |
| type: string |
| ca: |
| description: the configmap which stores the Certificate |
| Authority |
| type: string |
| insecure: |
| description: if the container registry is insecure (ie, |
| http only) |
| type: boolean |
| organization: |
| description: the registry organization |
| type: string |
| secret: |
| description: the secret where credentials are stored |
| type: string |
| type: object |
| type: object |
| kaniko: |
| description: |- |
| a KanikoTask, for Kaniko strategy |
| Deprecated: use jib or a custom publishing strategy instead |
| properties: |
| baseImage: |
| description: base image layer |
| type: string |
| cache: |
| description: use a cache |
| properties: |
| enabled: |
| description: true if a cache is enabled |
| type: boolean |
| persistentVolumeClaim: |
| description: the PVC used to store the cache |
| type: string |
| type: object |
| configuration: |
| description: The configuration that should be used to perform |
| the Build. |
| properties: |
| annotations: |
| additionalProperties: |
| type: string |
| description: Annotation to use for the builder pod. |
| Only used for `pod` strategy |
| type: object |
| limitCPU: |
| description: The maximum amount of CPU required. Only |
| used for `pod` strategy |
| type: string |
| limitMemory: |
| description: The maximum amount of memory required. |
| Only used for `pod` strategy |
| type: string |
| nodeSelector: |
| additionalProperties: |
| type: string |
| description: The node selector for the builder pod. |
| Only used for `pod` strategy |
| type: object |
| operatorNamespace: |
| description: The namespace where to run the builder |
| Pod (must be the same of the operator in charge of |
| this Build reconciliation). |
| type: string |
| orderStrategy: |
| description: the build order strategy to adopt |
| enum: |
| - dependencies |
| - fifo |
| - sequential |
| type: string |
| platforms: |
| description: The list of platforms used in order to |
| build a container image. |
| items: |
| type: string |
| type: array |
| requestCPU: |
| description: The minimum amount of CPU required. Only |
| used for `pod` strategy |
| type: string |
| requestMemory: |
| description: The minimum amount of memory required. |
| Only used for `pod` strategy |
| type: string |
| strategy: |
| description: the strategy to adopt |
| enum: |
| - routine |
| - pod |
| type: string |
| toolImage: |
| description: The container image to be used to run the |
| build. |
| type: string |
| type: object |
| contextDir: |
| description: can be useful to share info with other tasks |
| type: string |
| executorImage: |
| description: docker image to use |
| type: string |
| image: |
| description: final image name |
| type: string |
| name: |
| description: name of the task |
| type: string |
| registry: |
| description: where to publish the final image |
| properties: |
| address: |
| description: the URI to access |
| type: string |
| ca: |
| description: the configmap which stores the Certificate |
| Authority |
| type: string |
| insecure: |
| description: if the container registry is insecure (ie, |
| http only) |
| type: boolean |
| organization: |
| description: the registry organization |
| type: string |
| secret: |
| description: the secret where credentials are stored |
| type: string |
| type: object |
| verbose: |
| description: log more information |
| type: boolean |
| type: object |
| package: |
| description: |- |
| Application pre publishing |
| a PackageTask, used to package the project |
| properties: |
| baseImage: |
| description: the base image layer |
| type: string |
| buildDir: |
| description: workspace directory to use |
| type: string |
| configuration: |
| description: The configuration that should be used to perform |
| the Build. |
| properties: |
| annotations: |
| additionalProperties: |
| type: string |
| description: Annotation to use for the builder pod. |
| Only used for `pod` strategy |
| type: object |
| limitCPU: |
| description: The maximum amount of CPU required. Only |
| used for `pod` strategy |
| type: string |
| limitMemory: |
| description: The maximum amount of memory required. |
| Only used for `pod` strategy |
| type: string |
| nodeSelector: |
| additionalProperties: |
| type: string |
| description: The node selector for the builder pod. |
| Only used for `pod` strategy |
| type: object |
| operatorNamespace: |
| description: The namespace where to run the builder |
| Pod (must be the same of the operator in charge of |
| this Build reconciliation). |
| type: string |
| orderStrategy: |
| description: the build order strategy to adopt |
| enum: |
| - dependencies |
| - fifo |
| - sequential |
| type: string |
| platforms: |
| description: The list of platforms used in order to |
| build a container image. |
| items: |
| type: string |
| type: array |
| requestCPU: |
| description: The minimum amount of CPU required. Only |
| used for `pod` strategy |
| type: string |
| requestMemory: |
| description: The minimum amount of memory required. |
| Only used for `pod` strategy |
| type: string |
| strategy: |
| description: the strategy to adopt |
| enum: |
| - routine |
| - pod |
| type: string |
| toolImage: |
| description: The container image to be used to run the |
| build. |
| type: string |
| type: object |
| dependencies: |
| description: the list of dependencies to use for this build |
| items: |
| type: string |
| type: array |
| maven: |
| description: the configuration required by Maven for the |
| application build phase |
| properties: |
| caSecrets: |
| description: |- |
| The Secrets 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. |
| items: |
| description: SecretKeySelector 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: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the Secret or its |
| key must be defined |
| type: boolean |
| required: |
| - key |
| type: object |
| x-kubernetes-map-type: atomic |
| type: array |
| cliOptions: |
| description: |- |
| The CLI options that are appended to the list of arguments for Maven commands, |
| e.g., `-V,--no-transfer-progress,-Dstyle.color=never`. |
| See https://maven.apache.org/ref/3.8.4/maven-embedder/cli.html. |
| items: |
| type: string |
| type: array |
| extension: |
| description: |- |
| The Maven build extensions. |
| See https://maven.apache.org/guides/mini/guide-using-extensions.html. |
| items: |
| description: MavenArtifact defines a GAV (Group:Artifact:Type:Version:Classifier) |
| Maven artifact. |
| properties: |
| artifactId: |
| description: Maven Artifact |
| type: string |
| classifier: |
| description: Maven Classifier |
| type: string |
| groupId: |
| description: Maven Group |
| type: string |
| type: |
| description: Maven Type |
| type: string |
| version: |
| description: Maven Version |
| type: string |
| required: |
| - artifactId |
| - groupId |
| type: object |
| type: array |
| localRepository: |
| description: The path of the local Maven repository. |
| type: string |
| profiles: |
| description: |- |
| A reference to the ConfigMap or Secret key that contains |
| the Maven profile. |
| items: |
| description: ValueSource --. |
| properties: |
| configMapKeyRef: |
| description: Selects a key of a ConfigMap. |
| properties: |
| key: |
| description: The key to select. |
| type: string |
| name: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the ConfigMap |
| or its key must be defined |
| type: boolean |
| required: |
| - key |
| type: object |
| x-kubernetes-map-type: atomic |
| 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: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the Secret or |
| its key must be defined |
| type: boolean |
| required: |
| - key |
| type: object |
| x-kubernetes-map-type: atomic |
| type: object |
| type: array |
| properties: |
| additionalProperties: |
| type: string |
| description: The Maven properties. |
| type: object |
| repositories: |
| description: additional repositories |
| items: |
| description: Repository defines a Maven repository. |
| properties: |
| id: |
| description: identifies the repository |
| type: string |
| name: |
| description: name of the repository |
| type: string |
| releases: |
| description: can use stable releases |
| properties: |
| checksumPolicy: |
| description: |- |
| When Maven deploys files to the repository, it also deploys corresponding checksum files. |
| Your options are to `ignore`, `fail`, or `warn` on missing or incorrect checksums. |
| type: string |
| enabled: |
| description: is the policy activated or not |
| type: boolean |
| updatePolicy: |
| description: |- |
| This element specifies how often updates should attempt to occur. |
| Maven will compare the local POM's timestamp (stored in a repository's maven-metadata file) to the remote. |
| The choices are: `always`, `daily` (default), `interval:X` (where X is an integer in minutes) or `never` |
| type: string |
| required: |
| - enabled |
| type: object |
| snapshots: |
| description: can use snapshot |
| properties: |
| checksumPolicy: |
| description: |- |
| When Maven deploys files to the repository, it also deploys corresponding checksum files. |
| Your options are to `ignore`, `fail`, or `warn` on missing or incorrect checksums. |
| type: string |
| enabled: |
| description: is the policy activated or not |
| type: boolean |
| updatePolicy: |
| description: |- |
| This element specifies how often updates should attempt to occur. |
| Maven will compare the local POM's timestamp (stored in a repository's maven-metadata file) to the remote. |
| The choices are: `always`, `daily` (default), `interval:X` (where X is an integer in minutes) or `never` |
| type: string |
| required: |
| - enabled |
| type: object |
| url: |
| description: location of the repository |
| type: string |
| required: |
| - id |
| - url |
| type: object |
| type: array |
| servers: |
| description: Servers (auth) |
| items: |
| description: Server see link:https://maven.apache.org/settings.html[Maven |
| settings]. |
| properties: |
| configuration: |
| additionalProperties: |
| type: string |
| description: Properties -- . |
| type: object |
| id: |
| type: string |
| password: |
| type: string |
| username: |
| type: string |
| type: object |
| type: array |
| settings: |
| description: |- |
| A reference to the ConfigMap or Secret key that contains |
| the Maven settings. |
| properties: |
| configMapKeyRef: |
| description: Selects a key of a ConfigMap. |
| properties: |
| key: |
| description: The key to select. |
| type: string |
| name: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the ConfigMap or |
| its key must be defined |
| type: boolean |
| required: |
| - key |
| type: object |
| x-kubernetes-map-type: atomic |
| 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: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the Secret or its |
| key must be defined |
| type: boolean |
| required: |
| - key |
| type: object |
| x-kubernetes-map-type: atomic |
| type: object |
| settingsSecurity: |
| description: |- |
| A reference to the ConfigMap or Secret key that contains |
| the security of the Maven settings. |
| properties: |
| configMapKeyRef: |
| description: Selects a key of a ConfigMap. |
| properties: |
| key: |
| description: The key to select. |
| type: string |
| name: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the ConfigMap or |
| its key must be defined |
| type: boolean |
| required: |
| - key |
| type: object |
| x-kubernetes-map-type: atomic |
| 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: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the Secret or its |
| key must be defined |
| type: boolean |
| required: |
| - key |
| type: object |
| x-kubernetes-map-type: atomic |
| type: object |
| type: object |
| name: |
| description: name of the task |
| type: string |
| runtime: |
| description: the configuration required for the runtime |
| application |
| properties: |
| applicationClass: |
| description: application entry point (main) to be executed |
| type: string |
| capabilities: |
| additionalProperties: |
| description: |- |
| Capability is a particular feature which requires a well known set of dependencies and other properties |
| which are specified in the runtime catalog. |
| properties: |
| buildTimeProperties: |
| description: Set of required Camel build time |
| properties |
| items: |
| description: CamelProperty represents a Camel |
| property that may end up in an application.properties |
| file. |
| properties: |
| key: |
| type: string |
| value: |
| type: string |
| required: |
| - key |
| type: object |
| type: array |
| dependencies: |
| description: List of required Maven dependencies |
| items: |
| description: MavenArtifact defines a GAV (Group:Artifact:Type:Version:Classifier) |
| Maven artifact. |
| properties: |
| artifactId: |
| description: Maven Artifact |
| type: string |
| classifier: |
| description: Maven Classifier |
| type: string |
| groupId: |
| description: Maven Group |
| type: string |
| type: |
| description: Maven Type |
| type: string |
| version: |
| description: Maven Version |
| type: string |
| required: |
| - artifactId |
| - groupId |
| type: object |
| type: array |
| metadata: |
| additionalProperties: |
| type: string |
| description: Set of generic metadata |
| type: object |
| runtimeProperties: |
| description: Set of required Camel runtime properties |
| items: |
| description: CamelProperty represents a Camel |
| property that may end up in an application.properties |
| file. |
| properties: |
| key: |
| type: string |
| value: |
| type: string |
| required: |
| - key |
| type: object |
| type: array |
| type: object |
| description: features offered by this runtime |
| type: object |
| dependencies: |
| description: list of dependencies needed to run the |
| application |
| items: |
| description: MavenArtifact defines a GAV (Group:Artifact:Type:Version:Classifier) |
| Maven artifact. |
| properties: |
| artifactId: |
| description: Maven Artifact |
| type: string |
| classifier: |
| description: Maven Classifier |
| type: string |
| groupId: |
| description: Maven Group |
| type: string |
| type: |
| description: Maven Type |
| type: string |
| version: |
| description: Maven Version |
| type: string |
| required: |
| - artifactId |
| - groupId |
| type: object |
| type: array |
| metadata: |
| additionalProperties: |
| type: string |
| description: set of metadata |
| type: object |
| provider: |
| description: Camel main application provider, ie, Camel |
| Quarkus |
| type: string |
| version: |
| description: Camel K Runtime version |
| type: string |
| required: |
| - applicationClass |
| - dependencies |
| - provider |
| - version |
| type: object |
| 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 |
| steps: |
| description: the list of steps to execute (see pkg/builder/) |
| items: |
| type: string |
| type: array |
| type: object |
| s2i: |
| description: |- |
| a S2iTask, for S2I strategy |
| Deprecated: use jib or a custom publishing strategy instead |
| properties: |
| baseImage: |
| description: base image layer |
| type: string |
| configuration: |
| description: The configuration that should be used to perform |
| the Build. |
| properties: |
| annotations: |
| additionalProperties: |
| type: string |
| description: Annotation to use for the builder pod. |
| Only used for `pod` strategy |
| type: object |
| limitCPU: |
| description: The maximum amount of CPU required. Only |
| used for `pod` strategy |
| type: string |
| limitMemory: |
| description: The maximum amount of memory required. |
| Only used for `pod` strategy |
| type: string |
| nodeSelector: |
| additionalProperties: |
| type: string |
| description: The node selector for the builder pod. |
| Only used for `pod` strategy |
| type: object |
| operatorNamespace: |
| description: The namespace where to run the builder |
| Pod (must be the same of the operator in charge of |
| this Build reconciliation). |
| type: string |
| orderStrategy: |
| description: the build order strategy to adopt |
| enum: |
| - dependencies |
| - fifo |
| - sequential |
| type: string |
| platforms: |
| description: The list of platforms used in order to |
| build a container image. |
| items: |
| type: string |
| type: array |
| requestCPU: |
| description: The minimum amount of CPU required. Only |
| used for `pod` strategy |
| type: string |
| requestMemory: |
| description: The minimum amount of memory required. |
| Only used for `pod` strategy |
| type: string |
| strategy: |
| description: the strategy to adopt |
| enum: |
| - routine |
| - pod |
| type: string |
| toolImage: |
| description: The container image to be used to run the |
| build. |
| type: string |
| type: object |
| contextDir: |
| description: can be useful to share info with other tasks |
| type: string |
| image: |
| description: final image name |
| type: string |
| name: |
| description: name of the task |
| type: string |
| registry: |
| description: where to publish the final image |
| properties: |
| address: |
| description: the URI to access |
| type: string |
| ca: |
| description: the configmap which stores the Certificate |
| Authority |
| type: string |
| insecure: |
| description: if the container registry is insecure (ie, |
| http only) |
| type: boolean |
| organization: |
| description: the registry organization |
| type: string |
| secret: |
| description: the secret where credentials are stored |
| type: string |
| type: object |
| tag: |
| description: used by the ImageStream |
| type: string |
| type: object |
| spectrum: |
| description: |- |
| a SpectrumTask, for Spectrum strategy |
| Deprecated: use jib or a custom publishing strategy instead |
| properties: |
| baseImage: |
| description: base image layer |
| type: string |
| configuration: |
| description: The configuration that should be used to perform |
| the Build. |
| properties: |
| annotations: |
| additionalProperties: |
| type: string |
| description: Annotation to use for the builder pod. |
| Only used for `pod` strategy |
| type: object |
| limitCPU: |
| description: The maximum amount of CPU required. Only |
| used for `pod` strategy |
| type: string |
| limitMemory: |
| description: The maximum amount of memory required. |
| Only used for `pod` strategy |
| type: string |
| nodeSelector: |
| additionalProperties: |
| type: string |
| description: The node selector for the builder pod. |
| Only used for `pod` strategy |
| type: object |
| operatorNamespace: |
| description: The namespace where to run the builder |
| Pod (must be the same of the operator in charge of |
| this Build reconciliation). |
| type: string |
| orderStrategy: |
| description: the build order strategy to adopt |
| enum: |
| - dependencies |
| - fifo |
| - sequential |
| type: string |
| platforms: |
| description: The list of platforms used in order to |
| build a container image. |
| items: |
| type: string |
| type: array |
| requestCPU: |
| description: The minimum amount of CPU required. Only |
| used for `pod` strategy |
| type: string |
| requestMemory: |
| description: The minimum amount of memory required. |
| Only used for `pod` strategy |
| type: string |
| strategy: |
| description: the strategy to adopt |
| enum: |
| - routine |
| - pod |
| type: string |
| toolImage: |
| description: The container image to be used to run the |
| build. |
| type: string |
| type: object |
| contextDir: |
| description: can be useful to share info with other tasks |
| type: string |
| image: |
| description: final image name |
| type: string |
| name: |
| description: name of the task |
| type: string |
| registry: |
| description: where to publish the final image |
| properties: |
| address: |
| description: the URI to access |
| type: string |
| ca: |
| description: the configmap which stores the Certificate |
| Authority |
| type: string |
| insecure: |
| description: if the container registry is insecure (ie, |
| http only) |
| type: boolean |
| organization: |
| description: the registry organization |
| type: string |
| secret: |
| description: the secret where credentials are stored |
| type: string |
| type: object |
| type: object |
| type: object |
| type: array |
| timeout: |
| description: |- |
| Timeout defines the Build maximum execution duration. |
| The Build deadline is set to the Build start time plus the Timeout duration. |
| If the Build deadline is exceeded, the Build context is canceled, |
| and its phase set to BuildPhaseFailed. |
| format: duration |
| type: string |
| toolImage: |
| description: |- |
| The container image to be used to run the build. |
| Deprecated: no longer in use in Camel K 2 - maintained for backward compatibility |
| type: string |
| type: object |
| status: |
| description: BuildStatus defines the observed state of Build. |
| properties: |
| artifacts: |
| description: a list of artifacts contained in the build |
| 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: the base image used for this build |
| type: string |
| conditions: |
| description: a list of conditions occurred during the build |
| items: |
| description: BuildCondition 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: the digest from image |
| type: string |
| duration: |
| description: |- |
| how long it took for the build |
| Change to Duration / ISO 8601 when CRD uses OpenAPI spec v3 |
| https://github.com/OAI/OpenAPI-Specification/issues/845 |
| type: string |
| error: |
| description: the error description (if any) |
| type: string |
| failure: |
| description: the reason of the failure (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: the image name built |
| type: string |
| observedGeneration: |
| description: ObservedGeneration is the most recent generation observed |
| for this Build. |
| format: int64 |
| type: integer |
| phase: |
| description: describes the phase |
| type: string |
| rootImage: |
| description: root image (the first image from which the incremental |
| image has started) |
| type: string |
| startedAt: |
| description: the time when it started |
| format: date-time |
| type: string |
| type: object |
| type: object |
| served: true |
| storage: true |
| subresources: |
| status: {} |
| --- |
| apiVersion: apiextensions.k8s.io/v1 |
| kind: CustomResourceDefinition |
| metadata: |
| annotations: |
| controller-gen.kubebuilder.io/version: v0.15.0 |
| labels: |
| app: camel-k |
| name: camelcatalogs.camel.apache.org |
| spec: |
| group: camel.apache.org |
| names: |
| categories: |
| - kamel |
| - camel |
| kind: CamelCatalog |
| listKind: CamelCatalogList |
| plural: camelcatalogs |
| shortNames: |
| - cc |
| singular: camelcatalog |
| scope: Namespaced |
| versions: |
| - additionalPrinterColumns: |
| - description: The Runtime provider |
| jsonPath: .spec.runtime.provider |
| name: Runtime Provider |
| type: string |
| - description: The Runtime version |
| jsonPath: .spec.runtime.version |
| name: Runtime Version |
| type: string |
| - description: The Camel version |
| jsonPath: .spec.runtime.metadata.camel\.version |
| name: Runtime Camel Version |
| type: string |
| - description: The catalog phase |
| jsonPath: .status.phase |
| name: Phase |
| type: string |
| name: v1 |
| schema: |
| openAPIV3Schema: |
| description: CamelCatalog represents the languages, components, data formats |
| and capabilities enabled on a given runtime provider. The catalog may be |
| statically generated. |
| 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 state of the catalog |
| properties: |
| artifacts: |
| additionalProperties: |
| description: CamelArtifact represent the configuration for a feature |
| offered by Camel. |
| properties: |
| artifactId: |
| description: Maven Artifact |
| type: string |
| classifier: |
| description: Maven Classifier |
| type: string |
| dataformats: |
| description: accepted data formats |
| items: |
| type: string |
| type: array |
| dependencies: |
| description: required dependencies |
| items: |
| description: CamelArtifactDependency represent a maven's dependency. |
| properties: |
| artifactId: |
| description: Maven Artifact |
| type: string |
| classifier: |
| description: Maven Classifier |
| type: string |
| exclusions: |
| description: provide a list of artifacts to exclude for |
| this dependency |
| items: |
| description: CamelArtifactExclusion represents an exclusion |
| clause. |
| properties: |
| artifactId: |
| description: Maven Artifact |
| type: string |
| groupId: |
| description: Maven Group |
| type: string |
| required: |
| - artifactId |
| - groupId |
| type: object |
| type: array |
| groupId: |
| description: Maven Group |
| type: string |
| type: |
| description: Maven Type |
| type: string |
| version: |
| description: Maven Version |
| type: string |
| required: |
| - artifactId |
| - groupId |
| type: object |
| type: array |
| exclusions: |
| description: provide a list of artifacts to exclude for this |
| dependency |
| items: |
| description: CamelArtifactExclusion represents an exclusion |
| clause. |
| properties: |
| artifactId: |
| description: Maven Artifact |
| type: string |
| groupId: |
| description: Maven Group |
| type: string |
| required: |
| - artifactId |
| - groupId |
| type: object |
| type: array |
| groupId: |
| description: Maven Group |
| type: string |
| javaTypes: |
| description: the Java types used by the artifact feature (ie, |
| component, data format, ...) |
| items: |
| type: string |
| type: array |
| languages: |
| description: accepted languages |
| items: |
| type: string |
| type: array |
| schemes: |
| description: accepted URI schemes |
| items: |
| description: CamelScheme represents the scheme used to identify |
| a component in a URI (ie, timer in a timer:xyz endpoint |
| URI). |
| properties: |
| consumer: |
| description: required scope for consumer |
| properties: |
| dependencies: |
| description: list of dependencies needed for this |
| scope |
| items: |
| description: CamelArtifactDependency represent a |
| maven's dependency. |
| properties: |
| artifactId: |
| description: Maven Artifact |
| type: string |
| classifier: |
| description: Maven Classifier |
| type: string |
| exclusions: |
| description: provide a list of artifacts to |
| exclude for this dependency |
| items: |
| description: CamelArtifactExclusion represents |
| an exclusion clause. |
| properties: |
| artifactId: |
| description: Maven Artifact |
| type: string |
| groupId: |
| description: Maven Group |
| type: string |
| required: |
| - artifactId |
| - groupId |
| type: object |
| type: array |
| groupId: |
| description: Maven Group |
| type: string |
| type: |
| description: Maven Type |
| type: string |
| version: |
| description: Maven Version |
| type: string |
| required: |
| - artifactId |
| - groupId |
| type: object |
| type: array |
| type: object |
| http: |
| description: is a HTTP based scheme |
| type: boolean |
| id: |
| description: the ID (ie, timer in a timer:xyz URI) |
| type: string |
| passive: |
| description: is a passive scheme |
| type: boolean |
| producer: |
| description: required scope for producers |
| properties: |
| dependencies: |
| description: list of dependencies needed for this |
| scope |
| items: |
| description: CamelArtifactDependency represent a |
| maven's dependency. |
| properties: |
| artifactId: |
| description: Maven Artifact |
| type: string |
| classifier: |
| description: Maven Classifier |
| type: string |
| exclusions: |
| description: provide a list of artifacts to |
| exclude for this dependency |
| items: |
| description: CamelArtifactExclusion represents |
| an exclusion clause. |
| properties: |
| artifactId: |
| description: Maven Artifact |
| type: string |
| groupId: |
| description: Maven Group |
| type: string |
| required: |
| - artifactId |
| - groupId |
| type: object |
| type: array |
| groupId: |
| description: Maven Group |
| type: string |
| type: |
| description: Maven Type |
| type: string |
| version: |
| description: Maven Version |
| type: string |
| required: |
| - artifactId |
| - groupId |
| type: object |
| type: array |
| type: object |
| required: |
| - http |
| - id |
| - passive |
| type: object |
| type: array |
| type: |
| description: Maven Type |
| type: string |
| version: |
| description: Maven Version |
| type: string |
| required: |
| - artifactId |
| - groupId |
| type: object |
| description: artifacts required by this catalog |
| type: object |
| loaders: |
| additionalProperties: |
| description: CamelLoader represents the configuration required to |
| load a DSL. |
| properties: |
| artifactId: |
| description: Maven Artifact |
| type: string |
| classifier: |
| description: Maven Classifier |
| type: string |
| dependencies: |
| description: a list of additional dependencies required beside |
| the base one |
| items: |
| description: MavenArtifact defines a GAV (Group:Artifact:Type:Version:Classifier) |
| Maven artifact. |
| properties: |
| artifactId: |
| description: Maven Artifact |
| type: string |
| classifier: |
| description: Maven Classifier |
| type: string |
| groupId: |
| description: Maven Group |
| type: string |
| type: |
| description: Maven Type |
| type: string |
| version: |
| description: Maven Version |
| type: string |
| required: |
| - artifactId |
| - groupId |
| type: object |
| type: array |
| groupId: |
| description: Maven Group |
| type: string |
| languages: |
| description: a list of DSLs supported |
| items: |
| type: string |
| type: array |
| metadata: |
| additionalProperties: |
| type: string |
| description: the metadata of the loader |
| type: object |
| type: |
| description: Maven Type |
| type: string |
| version: |
| description: Maven Version |
| type: string |
| required: |
| - artifactId |
| - groupId |
| type: object |
| description: loaders required by this catalog |
| type: object |
| runtime: |
| description: the runtime targeted for the catalog |
| properties: |
| applicationClass: |
| description: application entry point (main) to be executed |
| type: string |
| capabilities: |
| additionalProperties: |
| description: |- |
| Capability is a particular feature which requires a well known set of dependencies and other properties |
| which are specified in the runtime catalog. |
| properties: |
| buildTimeProperties: |
| description: Set of required Camel build time properties |
| items: |
| description: CamelProperty represents a Camel property |
| that may end up in an application.properties file. |
| properties: |
| key: |
| type: string |
| value: |
| type: string |
| required: |
| - key |
| type: object |
| type: array |
| dependencies: |
| description: List of required Maven dependencies |
| items: |
| description: MavenArtifact defines a GAV (Group:Artifact:Type:Version:Classifier) |
| Maven artifact. |
| properties: |
| artifactId: |
| description: Maven Artifact |
| type: string |
| classifier: |
| description: Maven Classifier |
| type: string |
| groupId: |
| description: Maven Group |
| type: string |
| type: |
| description: Maven Type |
| type: string |
| version: |
| description: Maven Version |
| type: string |
| required: |
| - artifactId |
| - groupId |
| type: object |
| type: array |
| metadata: |
| additionalProperties: |
| type: string |
| description: Set of generic metadata |
| type: object |
| runtimeProperties: |
| description: Set of required Camel runtime properties |
| items: |
| description: CamelProperty represents a Camel property |
| that may end up in an application.properties file. |
| properties: |
| key: |
| type: string |
| value: |
| type: string |
| required: |
| - key |
| type: object |
| type: array |
| type: object |
| description: features offered by this runtime |
| type: object |
| dependencies: |
| description: list of dependencies needed to run the application |
| items: |
| description: MavenArtifact defines a GAV (Group:Artifact:Type:Version:Classifier) |
| Maven artifact. |
| properties: |
| artifactId: |
| description: Maven Artifact |
| type: string |
| classifier: |
| description: Maven Classifier |
| type: string |
| groupId: |
| description: Maven Group |
| type: string |
| type: |
| description: Maven Type |
| type: string |
| version: |
| description: Maven Version |
| type: string |
| required: |
| - artifactId |
| - groupId |
| type: object |
| type: array |
| metadata: |
| additionalProperties: |
| type: string |
| description: set of metadata |
| type: object |
| provider: |
| description: Camel main application provider, ie, Camel Quarkus |
| type: string |
| version: |
| description: Camel K Runtime version |
| type: string |
| required: |
| - applicationClass |
| - dependencies |
| - provider |
| - version |
| type: object |
| required: |
| - artifacts |
| - loaders |
| - runtime |
| type: object |
| status: |
| description: the actual state of the catalog |
| properties: |
| conditions: |
| description: a list of events happened for the CamelCatalog |
| items: |
| description: CamelCatalogCondition 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 CamelCatalog condition. |
| type: string |
| required: |
| - status |
| - type |
| type: object |
| type: array |
| image: |
| description: the container image available for building an application |
| with this catalog |
| type: string |
| observedGeneration: |
| description: ObservedGeneration is the most recent generation observed |
| for this Catalog. |
| format: int64 |
| type: integer |
| phase: |
| description: the actual phase |
| type: string |
| type: object |
| type: object |
| served: true |
| storage: true |
| subresources: |
| status: {} |
| --- |
| apiVersion: apiextensions.k8s.io/v1 |
| kind: CustomResourceDefinition |
| metadata: |
| annotations: |
| controller-gen.kubebuilder.io/version: v0.15.0 |
| 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 |
| - 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 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 |
| 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 |
| runtimeVersion: |
| description: |- |
| The camel-k-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. |
| 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: {} |
| --- |
| apiVersion: apiextensions.k8s.io/v1 |
| kind: CustomResourceDefinition |
| metadata: |
| annotations: |
| controller-gen.kubebuilder.io/version: v0.15.0 |
| 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: |
| - itp |
| singular: integrationplatform |
| scope: Namespaced |
| versions: |
| - additionalPrinterColumns: |
| - description: The integration platform phase |
| jsonPath: .status.phase |
| name: Phase |
| type: string |
| - description: The default build strategy |
| jsonPath: .status.build.buildConfiguration.strategy |
| name: Build strategy |
| type: string |
| - description: The default publish strategy |
| jsonPath: .status.build.publishStrategy |
| name: Publish strategy |
| type: string |
| - description: The container registry address |
| jsonPath: .status.build.registry.address |
| name: Registry address |
| type: string |
| - description: The default runtime version |
| jsonPath: .status.build.runtimeVersion |
| name: Default runtime |
| type: string |
| - description: The default Camel core version |
| jsonPath: .status.build.runtimeCoreVersion |
| name: Camel version |
| type: string |
| name: v1 |
| schema: |
| openAPIV3Schema: |
| description: |- |
| IntegrationPlatform is the resource used to drive the Camel K operator behavior. |
| It defines the behavior of all Custom Resources (`IntegrationKit`, `Integration`, `Kamelet`) in the given namespace. |
| When the Camel K operator is installed in `global` mode, |
| you will need to specify an `IntegrationPlatform` in each namespace where you want the Camel K operator to be executed. |
| 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: specify how to build the Integration/IntegrationKits |
| properties: |
| PublishStrategyOptions: |
| additionalProperties: |
| type: string |
| description: 'Deprecated: no longer in use' |
| type: object |
| baseImage: |
| description: |- |
| a base image that can be used as base layer for all images. |
| It can be useful if you want to provide some custom base image with further utility software |
| type: string |
| buildCatalogToolTimeout: |
| description: |- |
| the timeout (in seconds) to use when creating the build tools container image |
| Deprecated: no longer in use |
| type: string |
| buildConfiguration: |
| description: the configuration required to build an Integration |
| container image |
| properties: |
| annotations: |
| additionalProperties: |
| type: string |
| description: Annotation to use for the builder pod. Only used |
| for `pod` strategy |
| type: object |
| limitCPU: |
| description: The maximum amount of CPU required. Only used |
| for `pod` strategy |
| type: string |
| limitMemory: |
| description: The maximum amount of memory required. Only used |
| for `pod` strategy |
| type: string |
| nodeSelector: |
| additionalProperties: |
| type: string |
| description: The node selector for the builder pod. Only used |
| for `pod` strategy |
| type: object |
| operatorNamespace: |
| description: The namespace where to run the builder Pod (must |
| be the same of the operator in charge of this Build reconciliation). |
| type: string |
| orderStrategy: |
| description: the build order strategy to adopt |
| enum: |
| - dependencies |
| - fifo |
| - sequential |
| type: string |
| platforms: |
| description: The list of platforms used in order to build |
| a container image. |
| items: |
| type: string |
| type: array |
| requestCPU: |
| description: The minimum amount of CPU required. Only used |
| for `pod` strategy |
| type: string |
| requestMemory: |
| description: The minimum amount of memory required. Only used |
| for `pod` strategy |
| type: string |
| strategy: |
| description: the strategy to adopt |
| enum: |
| - routine |
| - pod |
| type: string |
| toolImage: |
| description: The container image to be used to run the build. |
| type: string |
| type: object |
| maven: |
| description: Maven configuration used to build the Camel/Camel-Quarkus |
| applications |
| properties: |
| caSecrets: |
| description: |- |
| The Secrets 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. |
| items: |
| description: SecretKeySelector 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: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the Secret or its key must |
| be defined |
| type: boolean |
| required: |
| - key |
| type: object |
| x-kubernetes-map-type: atomic |
| type: array |
| cliOptions: |
| description: |- |
| The CLI options that are appended to the list of arguments for Maven commands, |
| e.g., `-V,--no-transfer-progress,-Dstyle.color=never`. |
| See https://maven.apache.org/ref/3.8.4/maven-embedder/cli.html. |
| items: |
| type: string |
| type: array |
| extension: |
| description: |- |
| The Maven build extensions. |
| See https://maven.apache.org/guides/mini/guide-using-extensions.html. |
| items: |
| description: MavenArtifact defines a GAV (Group:Artifact:Type:Version:Classifier) |
| Maven artifact. |
| properties: |
| artifactId: |
| description: Maven Artifact |
| type: string |
| classifier: |
| description: Maven Classifier |
| type: string |
| groupId: |
| description: Maven Group |
| type: string |
| type: |
| description: Maven Type |
| type: string |
| version: |
| description: Maven Version |
| type: string |
| required: |
| - artifactId |
| - groupId |
| type: object |
| type: array |
| localRepository: |
| description: The path of the local Maven repository. |
| type: string |
| profiles: |
| description: |- |
| A reference to the ConfigMap or Secret key that contains |
| the Maven profile. |
| items: |
| description: ValueSource --. |
| properties: |
| configMapKeyRef: |
| description: Selects a key of a ConfigMap. |
| properties: |
| key: |
| description: The key to select. |
| type: string |
| name: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the ConfigMap or its |
| key must be defined |
| type: boolean |
| required: |
| - key |
| type: object |
| x-kubernetes-map-type: atomic |
| 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: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the Secret or its key |
| must be defined |
| type: boolean |
| required: |
| - key |
| type: object |
| x-kubernetes-map-type: atomic |
| type: object |
| type: array |
| properties: |
| additionalProperties: |
| type: string |
| description: The Maven properties. |
| type: object |
| settings: |
| description: |- |
| A reference to the ConfigMap or Secret key that contains |
| the Maven settings. |
| properties: |
| configMapKeyRef: |
| description: Selects a key of a ConfigMap. |
| properties: |
| key: |
| description: The key to select. |
| type: string |
| name: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the ConfigMap or its |
| key must be defined |
| type: boolean |
| required: |
| - key |
| type: object |
| x-kubernetes-map-type: atomic |
| 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: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the Secret or its key |
| must be defined |
| type: boolean |
| required: |
| - key |
| type: object |
| x-kubernetes-map-type: atomic |
| type: object |
| settingsSecurity: |
| description: |- |
| A reference to the ConfigMap or Secret key that contains |
| the security of the Maven settings. |
| properties: |
| configMapKeyRef: |
| description: Selects a key of a ConfigMap. |
| properties: |
| key: |
| description: The key to select. |
| type: string |
| name: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the ConfigMap or its |
| key must be defined |
| type: boolean |
| required: |
| - key |
| type: object |
| x-kubernetes-map-type: atomic |
| 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: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the Secret or its key |
| must be defined |
| type: boolean |
| required: |
| - key |
| type: object |
| x-kubernetes-map-type: atomic |
| type: object |
| type: object |
| maxRunningBuilds: |
| description: the maximum amount of parallel running pipelines |
| started by this operator instance |
| format: int32 |
| type: integer |
| publishStrategy: |
| description: the strategy to adopt for publishing an Integration |
| container image |
| type: string |
| registry: |
| description: the image registry used to push/pull Integration |
| images |
| properties: |
| address: |
| description: the URI to access |
| type: string |
| ca: |
| description: the configmap which stores the Certificate Authority |
| type: string |
| insecure: |
| description: if the container registry is insecure (ie, http |
| only) |
| type: boolean |
| organization: |
| description: the registry organization |
| type: string |
| secret: |
| description: the secret where credentials are stored |
| type: string |
| type: object |
| runtimeCoreVersion: |
| description: the Camel core version used by this IntegrationPlatform |
| type: string |
| runtimeProvider: |
| description: the runtime used. Likely Camel Quarkus (we used to |
| have main runtime which has been discontinued since version |
| 1.5) |
| type: string |
| runtimeVersion: |
| description: the Camel K Runtime dependency version |
| type: string |
| timeout: |
| description: how much time to wait before time out the pipeline |
| process |
| type: string |
| type: object |
| cluster: |
| description: what kind of cluster you're running (ie, plain Kubernetes |
| or OpenShift) |
| type: string |
| 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 |
| list of configuration properties to be attached to all the Integration/IntegrationKits built from this IntegrationPlatform |
| 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 |
| kamelet: |
| description: configuration to be executed to all Kamelets controlled |
| by this IntegrationPlatform |
| properties: |
| repositories: |
| description: remote repository used to retrieve Kamelet catalog |
| items: |
| description: KameletRepositorySpec defines the location of the |
| Kamelet catalog to use. |
| properties: |
| uri: |
| description: the remote repository in the format github:ORG/REPO/PATH_TO_KAMELETS_FOLDER |
| type: string |
| type: object |
| type: array |
| type: object |
| profile: |
| description: |- |
| the profile you wish to use. It will apply certain traits which are required by the specific profile chosen. |
| It usually relates the Cluster with the optional definition of special profiles (ie, Knative) |
| type: string |
| traits: |
| description: list of traits to be executed for all the Integration/IntegrationKits |
| built from this IntegrationPlatform |
| properties: |
| 3scale: |
| description: 'Deprecated: for backward compatibility.' |
| properties: |
| configuration: |
| description: TraitConfiguration parameters configuration |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| required: |
| - configuration |
| type: object |
| addons: |
| additionalProperties: |
| description: AddonTrait represents the configuration of an addon |
| trait. |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| description: The extension point with addon traits |
| type: object |
| affinity: |
| description: The configuration of Affinity trait |
| 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 |
| nodeAffinityLabels: |
| description: Defines a set of nodes the integration pod(s) |
| are eligible to be scheduled on, based on labels on the |
| node. |
| items: |
| type: string |
| type: array |
| podAffinity: |
| description: Always co-locates multiple replicas of the integration |
| in the same node (default `false`). |
| type: boolean |
| podAffinityLabels: |
| description: |- |
| Defines a set of pods (namely those matching the label selector, relative to the given namespace) that the |
| integration pod(s) should be co-located with. |
| items: |
| type: string |
| type: array |
| podAntiAffinity: |
| description: Never co-locates multiple replicas of the integration |
| in the same node (default `false`). |
| type: boolean |
| podAntiAffinityLabels: |
| description: |- |
| Defines a set of pods (namely those matching the label selector, relative to the given namespace) that the |
| integration pod(s) should not be co-located with. |
| items: |
| type: string |
| type: array |
| type: object |
| builder: |
| description: The configuration of Builder trait |
| 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 configuration of Camel trait |
| 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 |
| runtimeVersion: |
| description: |- |
| The camel-k-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. |
| type: string |
| type: object |
| container: |
| description: The configuration of Container trait |
| properties: |
| allowPrivilegeEscalation: |
| description: Security Context AllowPrivilegeEscalation configuration |
| (default false). |
| type: boolean |
| auto: |
| description: To automatically enable the trait |
| type: boolean |
| capabilitiesAdd: |
| description: Security Context Capabilities Add configuration |
| (default none). |
| items: |
| description: Capability represent POSIX capabilities type |
| type: string |
| type: array |
| capabilitiesDrop: |
| description: Security Context Capabilities Drop configuration |
| (default ALL). |
| items: |
| description: Capability represent POSIX capabilities type |
| 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 |
| expose: |
| description: Can be used to enable/disable exposure via kubernetes |
| Service. |
| type: boolean |
| image: |
| description: |- |
| The main container image to use for the Integration. When using this parameter the operator will create a synthetic IntegrationKit which |
| won't be able to execute traits requiring CamelCatalog. If the container image you're using is coming from an IntegrationKit, use instead |
| Integration `.spec.integrationKit` parameter. If you're moving the Integration across environments, you will also need to create an "external" IntegrationKit. |
| type: string |
| imagePullPolicy: |
| description: 'The pull policy: Always|Never|IfNotPresent' |
| enum: |
| - Always |
| - Never |
| - IfNotPresent |
| type: string |
| limitCPU: |
| description: The maximum amount of CPU to be provided (default |
| 500 millicores). |
| type: string |
| limitMemory: |
| description: The maximum amount of memory to be provided (default |
| 512 Mi). |
| type: string |
| name: |
| description: The main container name. It's named `integration` |
| by default. |
| type: string |
| port: |
| description: To configure a different port exposed by the |
| container (default `8080`). |
| format: int32 |
| type: integer |
| portName: |
| description: To configure a different port name for the port |
| exposed by the container. It defaults to `http` only when |
| the `expose` parameter is true. |
| type: string |
| requestCPU: |
| description: The minimum amount of CPU required (default 125 |
| millicores). |
| type: string |
| requestMemory: |
| description: The minimum amount of memory required (default |
| 128 Mi). |
| type: string |
| runAsNonRoot: |
| description: Security Context RunAsNonRoot configuration (default |
| false). |
| type: boolean |
| runAsUser: |
| description: 'Security Context RunAsUser configuration (default |
| none): this value is automatically retrieved in Openshift |
| clusters when not explicitly set.' |
| format: int64 |
| type: integer |
| seccompProfileType: |
| description: Security Context SeccompProfileType configuration |
| (default RuntimeDefault). |
| enum: |
| - Unconfined |
| - RuntimeDefault |
| type: string |
| servicePort: |
| description: To configure under which service port the container |
| port is to be exposed (default `80`). |
| format: int32 |
| type: integer |
| servicePortName: |
| description: To configure under which service port name the |
| container port is to be exposed (default `http`). |
| type: string |
| type: object |
| cron: |
| description: The configuration of Cron trait |
| properties: |
| activeDeadlineSeconds: |
| description: |- |
| Specifies the duration in seconds, relative to the start time, that the job |
| may be continuously active before it is considered to be failed. |
| It defaults to 60s. |
| format: int64 |
| type: integer |
| auto: |
| description: |- |
| Automatically deploy the integration as CronJob when all routes are |
| either starting from a periodic consumer (only `cron`, `timer` and `quartz` are supported) or a passive consumer (e.g. `direct` is a passive consumer). |
| |
| |
| It's required that all periodic consumers have the same period, and it can be expressed as cron schedule (e.g. `1m` can be expressed as `0/1 * * * *`, |
| while `35m` or `50s` cannot). |
| type: boolean |
| backoffLimit: |
| description: |- |
| Specifies the number of retries before marking the job failed. |
| It defaults to 2. |
| format: int32 |
| type: integer |
| components: |
| description: |- |
| A comma separated list of the Camel components that need to be customized in order for them to work when the schedule is triggered externally by Kubernetes. |
| Supported components are currently: `cron`, `timer` and `quartz`. |
| type: string |
| concurrencyPolicy: |
| description: |- |
| Specifies how to treat concurrent executions of a Job. |
| Valid values are: |
| - "Allow": allows CronJobs to run concurrently; |
| - "Forbid" (default): forbids concurrent runs, skipping next run if previous run hasn't finished yet; |
| - "Replace": cancels currently running job and replaces it with a new one |
| enum: |
| - Allow |
| - Forbid |
| - Replace |
| type: string |
| 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 |
| fallback: |
| description: |- |
| Use the default Camel implementation of the `cron` endpoint (`quartz`) instead of trying to materialize the integration |
| as Kubernetes CronJob. |
| type: boolean |
| schedule: |
| description: |- |
| The CronJob schedule for the whole integration. If multiple routes are declared, they must have the same schedule for this |
| mechanism to work correctly. |
| type: string |
| startingDeadlineSeconds: |
| description: |- |
| Optional deadline in seconds for starting the job if it misses scheduled |
| time for any reason. Missed jobs executions will be counted as failed ones. |
| format: int64 |
| type: integer |
| timeZone: |
| description: The timezone that the CronJob will run on |
| type: string |
| type: object |
| dependencies: |
| description: The configuration of Dependencies trait |
| 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 |
| type: object |
| deployer: |
| description: The configuration of Deployer trait |
| 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 |
| kind: |
| description: Allows to explicitly select the desired deployment |
| kind between `deployment`, `cron-job` or `knative-service` |
| when creating the resources for running the integration. |
| enum: |
| - deployment |
| - cron-job |
| - knative-service |
| type: string |
| useSSA: |
| description: |- |
| Deprecated: won't be able to enforce client side update in the future. |
| Use server-side apply to update the owned resources (default `true`). |
| Note that it automatically falls back to client-side patching, if SSA is not available, e.g., on old Kubernetes clusters. |
| type: boolean |
| type: object |
| deployment: |
| description: The configuration of Deployment trait |
| 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 |
| progressDeadlineSeconds: |
| description: |- |
| The maximum time in seconds for the deployment to make progress before it |
| is considered to be failed. It defaults to `60s`. |
| format: int32 |
| type: integer |
| rollingUpdateMaxSurge: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| The maximum number of pods that can be scheduled above the desired number of |
| pods. |
| Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). |
| This can not be 0 if MaxUnavailable is 0. |
| Absolute number is calculated from percentage by rounding up. |
| Defaults to `25%`. |
| x-kubernetes-int-or-string: true |
| rollingUpdateMaxUnavailable: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| The maximum number of pods that can be unavailable during the update. |
| Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). |
| Absolute number is calculated from percentage by rounding down. |
| This can not be 0 if MaxSurge is 0. |
| Defaults to `25%`. |
| x-kubernetes-int-or-string: true |
| strategy: |
| description: The deployment strategy to use to replace existing |
| pods with new ones. |
| enum: |
| - Recreate |
| - RollingUpdate |
| type: string |
| type: object |
| environment: |
| description: The configuration of Environment trait |
| properties: |
| configuration: |
| description: |- |
| Legacy trait configuration parameters. |
| Deprecated: for backward compatibility. |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| containerMeta: |
| description: Enables injection of `NAMESPACE` and `POD_NAME` |
| environment variables (default `true`) |
| type: boolean |
| enabled: |
| description: 'Deprecated: no longer in use.' |
| type: boolean |
| httpProxy: |
| description: Propagates the `HTTP_PROXY`, `HTTPS_PROXY` and |
| `NO_PROXY` environment variables (default `true`) |
| type: boolean |
| vars: |
| description: |- |
| A list of environment variables to be added to the integration container. |
| The syntax is either VAR=VALUE or VAR=[configmap|secret]:name/key, where name represents the resource name, |
| and key represents the resource key to be mapped as and environment variable. |
| These take precedence over any previously defined environment variables. |
| items: |
| type: string |
| type: array |
| type: object |
| error-handler: |
| description: The configuration of Error Handler trait |
| 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 |
| ref: |
| description: The error handler ref name provided or found |
| in application properties |
| type: string |
| type: object |
| gc: |
| description: The configuration of GC trait |
| properties: |
| configuration: |
| description: |- |
| Legacy trait configuration parameters. |
| Deprecated: for backward compatibility. |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| discoveryCache: |
| description: |- |
| Discovery client cache to be used, either `disabled`, `disk` or `memory` (default `memory`). |
| Deprecated: no longer in use. |
| enum: |
| - disabled |
| - disk |
| - memory |
| type: string |
| enabled: |
| description: Can be used to enable or disable a trait. All |
| traits share this common property. |
| type: boolean |
| type: object |
| health: |
| description: The configuration of Health trait |
| 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 |
| livenessFailureThreshold: |
| description: Minimum consecutive failures for the liveness |
| probe to be considered failed after having succeeded. |
| format: int32 |
| type: integer |
| livenessInitialDelay: |
| description: Number of seconds after the container has started |
| before the liveness probe is initiated. |
| format: int32 |
| type: integer |
| livenessPeriod: |
| description: How often to perform the liveness probe. |
| format: int32 |
| type: integer |
| livenessProbe: |
| description: The liveness probe path to use (default provided |
| by the Catalog runtime used). |
| type: string |
| livenessProbeEnabled: |
| description: Configures the liveness probe for the integration |
| container (default `false`). |
| type: boolean |
| livenessScheme: |
| description: Scheme to use when connecting to the liveness |
| probe (default `HTTP`). |
| type: string |
| livenessSuccessThreshold: |
| description: Minimum consecutive successes for the liveness |
| probe to be considered successful after having failed. |
| format: int32 |
| type: integer |
| livenessTimeout: |
| description: Number of seconds after which the liveness probe |
| times out. |
| format: int32 |
| type: integer |
| readinessFailureThreshold: |
| description: Minimum consecutive failures for the readiness |
| probe to be considered failed after having succeeded. |
| format: int32 |
| type: integer |
| readinessInitialDelay: |
| description: Number of seconds after the container has started |
| before the readiness probe is initiated. |
| format: int32 |
| type: integer |
| readinessPeriod: |
| description: How often to perform the readiness probe. |
| format: int32 |
| type: integer |
| readinessProbe: |
| description: The readiness probe path to use (default provided |
| by the Catalog runtime used). |
| type: string |
| readinessProbeEnabled: |
| description: Configures the readiness probe for the integration |
| container (default `true`). |
| type: boolean |
| readinessScheme: |
| description: Scheme to use when connecting to the readiness |
| probe (default `HTTP`). |
| type: string |
| readinessSuccessThreshold: |
| description: Minimum consecutive successes for the readiness |
| probe to be considered successful after having failed. |
| format: int32 |
| type: integer |
| readinessTimeout: |
| description: Number of seconds after which the readiness probe |
| times out. |
| format: int32 |
| type: integer |
| startupFailureThreshold: |
| description: Minimum consecutive failures for the startup |
| probe to be considered failed after having succeeded. |
| format: int32 |
| type: integer |
| startupInitialDelay: |
| description: Number of seconds after the container has started |
| before the startup probe is initiated. |
| format: int32 |
| type: integer |
| startupPeriod: |
| description: How often to perform the startup probe. |
| format: int32 |
| type: integer |
| startupProbe: |
| description: The startup probe path to use (default provided |
| by the Catalog runtime used). |
| type: string |
| startupProbeEnabled: |
| description: Configures the startup probe for the integration |
| container (default `false`). |
| type: boolean |
| startupScheme: |
| description: Scheme to use when connecting to the startup |
| probe (default `HTTP`). |
| type: string |
| startupSuccessThreshold: |
| description: Minimum consecutive successes for the startup |
| probe to be considered successful after having failed. |
| format: int32 |
| type: integer |
| startupTimeout: |
| description: Number of seconds after which the startup probe |
| times out. |
| format: int32 |
| type: integer |
| type: object |
| ingress: |
| description: The configuration of Ingress trait |
| properties: |
| annotations: |
| additionalProperties: |
| type: string |
| description: |- |
| The annotations added to the ingress. |
| This can be used to set controller specific annotations, e.g., when using the NGINX Ingress controller: |
| See https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/nginx-configuration/annotations.md |
| type: object |
| auto: |
| description: To automatically add an ingress whenever the |
| integration uses an HTTP endpoint consumer. |
| type: boolean |
| 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 |
| host: |
| description: To configure the host exposed by the ingress. |
| type: string |
| ingressClassName: |
| description: |- |
| The Ingress class name as defined by the Ingress spec |
| See https://kubernetes.io/docs/concepts/services-networking/ingress/ |
| type: string |
| path: |
| description: To configure the path exposed by the ingress |
| (default `/`). |
| type: string |
| pathType: |
| description: |- |
| To configure the path type exposed by the ingress. |
| One of `Exact`, `Prefix`, `ImplementationSpecific` (default to `Prefix`). |
| enum: |
| - Exact |
| - Prefix |
| - ImplementationSpecific |
| type: string |
| tlsHosts: |
| description: To configure tls hosts |
| items: |
| type: string |
| type: array |
| tlsSecretName: |
| description: To configure tls secret name |
| type: string |
| type: object |
| istio: |
| description: The configuration of Istio trait |
| properties: |
| allow: |
| description: Configures a (comma-separated) list of CIDR subnets |
| that should not be intercepted by the Istio proxy (`10.0.0.0/8,172.16.0.0/12,192.168.0.0/16` |
| by default). |
| type: string |
| 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 |
| inject: |
| description: Forces the value for labels `sidecar.istio.io/inject`. |
| By default the label is set to `true` on deployment and |
| not set on Knative Service. |
| type: boolean |
| type: object |
| jolokia: |
| description: The configuration of Jolokia trait |
| properties: |
| CACert: |
| description: |- |
| The PEM encoded CA certification file path, used to verify client certificates, |
| applicable when `protocol` is `https` and `use-ssl-client-authentication` is `true` |
| (default `/var/run/secrets/kubernetes.io/serviceaccount/service-ca.crt` for OpenShift). |
| type: string |
| clientPrincipal: |
| description: |- |
| The principal(s) which must be given in a client certificate to allow access to the Jolokia endpoint, |
| applicable when `protocol` is `https` and `use-ssl-client-authentication` is `true` |
| (default `clientPrincipal=cn=system:master-proxy`, `cn=hawtio-online.hawtio.svc` and `cn=fuse-console.fuse.svc` for OpenShift). |
| items: |
| type: string |
| type: array |
| configuration: |
| description: |- |
| Legacy trait configuration parameters. |
| Deprecated: for backward compatibility. |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| discoveryEnabled: |
| description: Listen for multicast requests (default `false`) |
| type: boolean |
| enabled: |
| description: Can be used to enable or disable a trait. All |
| traits share this common property. |
| type: boolean |
| extendedClientCheck: |
| description: |- |
| Mandate the client certificate contains a client flag in the extended key usage section, |
| applicable when `protocol` is `https` and `use-ssl-client-authentication` is `true` |
| (default `true` for OpenShift). |
| type: boolean |
| host: |
| description: |- |
| The Host address to which the Jolokia agent should bind to. If `"\*"` or `"0.0.0.0"` is given, |
| the servers binds to every network interface (default `"*"`). |
| type: string |
| options: |
| description: |- |
| A list of additional Jolokia options as defined |
| in https://jolokia.org/reference/html/agents.html#agent-jvm-config[JVM agent configuration options] |
| items: |
| type: string |
| type: array |
| password: |
| description: The password used for authentication, applicable |
| when the `user` option is set. |
| type: string |
| port: |
| description: The Jolokia endpoint port (default `8778`). |
| format: int32 |
| type: integer |
| protocol: |
| description: The protocol to use, either `http` or `https` |
| (default `https` for OpenShift) |
| type: string |
| useSSLClientAuthentication: |
| description: Whether client certificates should be used for |
| authentication (default `true` for OpenShift). |
| type: boolean |
| user: |
| description: The user to be used for authentication |
| type: string |
| type: object |
| jvm: |
| description: The configuration of JVM trait |
| properties: |
| classpath: |
| description: Additional JVM classpath (use `Linux` classpath |
| separator) |
| type: string |
| configuration: |
| description: |- |
| Legacy trait configuration parameters. |
| Deprecated: for backward compatibility. |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| debug: |
| description: Activates remote debugging, so that a debugger |
| can be attached to the JVM, e.g., using port-forwarding |
| type: boolean |
| debugAddress: |
| description: Transport address at which to listen for the |
| newly launched JVM (default `*:5005`) |
| type: string |
| debugSuspend: |
| description: Suspends the target JVM immediately before the |
| main class is loaded |
| type: boolean |
| enabled: |
| description: Can be used to enable or disable a trait. All |
| traits share this common property. |
| type: boolean |
| jar: |
| description: The Jar dependency which will run the application. |
| Leave it empty for managed Integrations. |
| type: string |
| options: |
| description: A list of JVM options |
| items: |
| type: string |
| type: array |
| printCommand: |
| description: |- |
| Prints the command used the start the JVM in the container logs (default `true`) |
| Deprecated: no longer in use. |
| type: boolean |
| type: object |
| kamelets: |
| description: The configuration of Kamelets trait |
| properties: |
| auto: |
| description: Automatically inject all referenced Kamelets |
| and their default configuration (enabled by default) |
| type: boolean |
| 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 |
| list: |
| description: Comma separated list of Kamelet names to load |
| into the current integration |
| type: string |
| mountPoint: |
| description: The directory where the application mounts and |
| reads Kamelet spec (default `/etc/camel/kamelets`) |
| type: string |
| type: object |
| keda: |
| description: 'Deprecated: for backward compatibility.' |
| properties: |
| configuration: |
| description: TraitConfiguration parameters configuration |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| required: |
| - configuration |
| type: object |
| knative: |
| description: The configuration of Knative trait |
| properties: |
| auto: |
| description: Enable automatic discovery of all trait properties. |
| type: boolean |
| channelSinks: |
| description: |- |
| List of channels used as destination of integration routes. |
| Can contain simple channel names or full Camel URIs. |
| items: |
| type: string |
| type: array |
| channelSources: |
| description: |- |
| List of channels used as source of integration routes. |
| Can contain simple channel names or full Camel URIs. |
| items: |
| type: string |
| type: array |
| config: |
| description: Can be used to inject a Knative complete configuration |
| in JSON format. |
| type: string |
| 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 |
| endpointSinks: |
| description: |- |
| List of endpoints used as destination of integration routes. |
| Can contain simple endpoint names or full Camel URIs. |
| items: |
| type: string |
| type: array |
| endpointSources: |
| description: List of channels used as source of integration |
| routes. |
| items: |
| type: string |
| type: array |
| eventSinks: |
| description: |- |
| List of event types that the integration will produce. |
| Can contain simple event types or full Camel URIs (to use a specific broker). |
| items: |
| type: string |
| type: array |
| eventSources: |
| description: |- |
| List of event types that the integration will be subscribed to. |
| Can contain simple event types or full Camel URIs (to use a specific broker different from "default"). |
| items: |
| type: string |
| type: array |
| filterEventType: |
| description: |- |
| Enables the default filtering for the Knative trigger using the event type |
| If this is true, the created Knative trigger uses the event type as a filter on the event stream when no other filter criteria is given. (default: true) |
| type: boolean |
| filterSourceChannels: |
| description: |- |
| Enables filtering on events based on the header "ce-knativehistory". Since this header has been removed in newer versions of |
| Knative, filtering is disabled by default. |
| type: boolean |
| filters: |
| description: |- |
| Sets filter attributes on the event stream (such as event type, source, subject and so on). |
| A list of key-value pairs that represent filter attributes and its values. |
| The syntax is KEY=VALUE, e.g., `source="my.source"`. |
| Filter attributes get set on the Knative trigger that is being created as part of this integration. |
| items: |
| type: string |
| type: array |
| namespaceLabel: |
| description: |- |
| Enables the camel-k-operator to set the "bindings.knative.dev/include=true" label to the namespace |
| As Knative requires this label to perform injection of K_SINK URL into the service. |
| If this is false, the integration pod may start and fail, read the SinkBinding Knative documentation. (default: true) |
| type: boolean |
| sinkBinding: |
| description: |- |
| Allows binding the integration to a sink via a Knative SinkBinding resource. |
| This can be used when the integration targets a single sink. |
| It's enabled by default when the integration targets a single sink |
| (except when the integration is owned by a Knative source). |
| type: boolean |
| type: object |
| knative-service: |
| description: The configuration of Knative Service trait |
| properties: |
| annotations: |
| additionalProperties: |
| type: string |
| description: |- |
| The annotations added to route. |
| This can be used to set knative service specific annotations |
| CLI usage example: -t "knative-service.annotations.'haproxy.router.openshift.io/balance'=true" |
| type: object |
| auto: |
| description: |- |
| Automatically deploy the integration as Knative service when all conditions hold: |
| |
| |
| * Integration is using the Knative profile |
| * All routes are either starting from an HTTP based consumer or a passive consumer (e.g. `direct` is a passive consumer) |
| type: boolean |
| autoscalingMetric: |
| description: |- |
| Configures the Knative autoscaling metric property (e.g. to set `concurrency` based or `cpu` based autoscaling). |
| |
| |
| Refer to the Knative documentation for more information. |
| type: string |
| autoscalingTarget: |
| description: |- |
| Sets the allowed concurrency level or CPU percentage (depending on the autoscaling metric) for each Pod. |
| |
| |
| Refer to the Knative documentation for more information. |
| type: integer |
| class: |
| description: |- |
| Configures the Knative autoscaling class property (e.g. to set `hpa.autoscaling.knative.dev` or `kpa.autoscaling.knative.dev` autoscaling). |
| |
| |
| Refer to the Knative documentation for more information. |
| enum: |
| - kpa.autoscaling.knative.dev |
| - hpa.autoscaling.knative.dev |
| type: string |
| 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 |
| maxScale: |
| description: |- |
| An upper bound for the number of Pods that can be running in parallel for the integration. |
| Knative has its own cap value that depends on the installation. |
| |
| |
| Refer to the Knative documentation for more information. |
| type: integer |
| minScale: |
| description: |- |
| The minimum number of Pods that should be running at any time for the integration. It's **zero** by default, meaning that |
| the integration is scaled down to zero when not used for a configured amount of time. |
| |
| |
| Refer to the Knative documentation for more information. |
| type: integer |
| rolloutDuration: |
| description: |- |
| Enables to gradually shift traffic to the latest Revision and sets the rollout duration. |
| It's disabled by default and must be expressed as a Golang `time.Duration` string representation, |
| rounded to a second precision. |
| type: string |
| timeoutSeconds: |
| description: |- |
| The maximum duration in seconds that the request instance is allowed to respond to a request. |
| This field propagates to the integration pod's terminationGracePeriodSeconds |
| |
| |
| Refer to the Knative documentation for more information. |
| format: int64 |
| type: integer |
| visibility: |
| description: |- |
| Setting `cluster-local`, Knative service becomes a private service. |
| Specifically, this option applies the `networking.knative.dev/visibility` label to Knative service. |
| |
| |
| Refer to the Knative documentation for more information. |
| enum: |
| - cluster-local |
| type: string |
| type: object |
| logging: |
| description: The configuration of Logging trait |
| properties: |
| color: |
| description: Colorize the log output |
| type: boolean |
| 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 |
| format: |
| description: Logs message format |
| type: string |
| json: |
| description: Output the logs in JSON |
| type: boolean |
| jsonPrettyPrint: |
| description: Enable "pretty printing" of the JSON logs |
| type: boolean |
| level: |
| description: Adjust the logging level (defaults to `INFO`) |
| enum: |
| - FATAL |
| - WARN |
| - INFO |
| - DEBUG |
| - TRACE |
| type: string |
| type: object |
| master: |
| description: 'Deprecated: for backward compatibility.' |
| properties: |
| configuration: |
| description: TraitConfiguration parameters configuration |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| required: |
| - configuration |
| type: object |
| mount: |
| description: The configuration of Mount trait |
| properties: |
| configs: |
| description: |- |
| A list of configuration pointing to configmap/secret. |
| The configuration are expected to be UTF-8 resources as they are processed by runtime Camel Context and tried to be parsed as property files. |
| They are also made available on the classpath in order to ease their usage directly from the Route. |
| Syntax: [configmap|secret]:name[/key], where name represents the resource name and key optionally represents the resource key to be filtered |
| items: |
| type: string |
| type: array |
| configuration: |
| description: |- |
| Legacy trait configuration parameters. |
| Deprecated: for backward compatibility. |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| emptyDirs: |
| description: |- |
| A list of EmptyDir volumes to be mounted. An optional size limit may be configured (default 500Mi). |
| Syntax: name:/container/path[:sizeLimit] |
| items: |
| type: string |
| type: array |
| enabled: |
| description: 'Deprecated: no longer in use.' |
| type: boolean |
| hotReload: |
| description: |- |
| Enable "hot reload" when a secret/configmap mounted is edited (default `false`). The configmap/secret must be |
| marked with `camel.apache.org/integration` label to be taken in account. The resource will be watched for any kind change, also for |
| changes in metadata. |
| type: boolean |
| resources: |
| description: |- |
| A list of resources (text or binary content) pointing to configmap/secret. |
| The resources are expected to be any resource type (text or binary content). |
| The destination path can be either a default location or any path specified by the user. |
| Syntax: [configmap|secret]:name[/key][@path], where name represents the resource name, key optionally represents the resource key to be filtered and path represents the destination path |
| items: |
| type: string |
| type: array |
| scanKameletsImplicitLabelSecrets: |
| description: 'Deprecated: no longer available since version |
| 2.5.' |
| type: boolean |
| volumes: |
| description: |- |
| A list of Persistent Volume Claims to be mounted. Syntax: [pvcname:/container/path]. If the PVC is not found, the Integration fails. |
| You can use the syntax [pvcname:/container/path:size:accessMode<:storageClass>] to create a dynamic PVC based on the Storage Class provided |
| or the default cluster Storage Class. However, if the PVC exists, the operator would mount it. |
| items: |
| type: string |
| type: array |
| type: object |
| openapi: |
| description: The configuration of OpenAPI trait |
| properties: |
| configmaps: |
| description: The configmaps holding the spec of the OpenAPI |
| (compatible with > 3.0 spec only). |
| items: |
| 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 |
| type: object |
| owner: |
| description: The configuration of Owner trait |
| 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 |
| targetAnnotations: |
| description: The set of annotations to be transferred |
| items: |
| type: string |
| type: array |
| targetLabels: |
| description: The set of labels to be transferred |
| items: |
| type: string |
| type: array |
| type: object |
| pdb: |
| description: The configuration of PDB trait |
| 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 |
| maxUnavailable: |
| description: |- |
| The number of pods for the Integration that can be unavailable after an eviction. |
| It can be either an absolute number or a percentage (default `1` if `min-available` is also not set). |
| Only one of `max-unavailable` and `min-available` can be specified. |
| type: string |
| minAvailable: |
| description: |- |
| The number of pods for the Integration that must still be available after an eviction. |
| It can be either an absolute number or a percentage. |
| Only one of `min-available` and `max-unavailable` can be specified. |
| type: string |
| type: object |
| platform: |
| description: The configuration of Platform trait |
| properties: |
| auto: |
| description: |- |
| To automatically detect from the environment if a default platform can be created (it will be created on OpenShift or when a registry address is set). |
| Deprecated: Platform is auto generated by the operator install procedure - maintained for backward compatibility |
| type: boolean |
| configuration: |
| description: |- |
| Legacy trait configuration parameters. |
| Deprecated: for backward compatibility. |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| createDefault: |
| description: |- |
| To create a default (empty) platform when the platform is missing. |
| Deprecated: Platform is auto generated by the operator install procedure - maintained for backward compatibility |
| type: boolean |
| enabled: |
| description: 'Deprecated: no longer in use.' |
| type: boolean |
| global: |
| description: |- |
| Indicates if the platform should be created globally in the case of global operator (default true). |
| Deprecated: Platform is auto generated by the operator install procedure - maintained for backward compatibility |
| type: boolean |
| type: object |
| pod: |
| description: The configuration of Pod trait |
| 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 |
| prometheus: |
| description: The configuration of Prometheus trait |
| 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 |
| podMonitor: |
| description: Whether a `PodMonitor` resource is created (default |
| `true`). |
| type: boolean |
| podMonitorLabels: |
| description: The `PodMonitor` resource labels, applicable |
| when `pod-monitor` is `true`. |
| items: |
| type: string |
| type: array |
| type: object |
| pull-secret: |
| description: The configuration of Pull Secret trait |
| properties: |
| auto: |
| description: Automatically configures the platform registry |
| secret on the pod if it is of type `kubernetes.io/dockerconfigjson`. |
| type: boolean |
| 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 |
| imagePullerDelegation: |
| description: When using a global operator with a shared platform, |
| this enables delegation of the `system:image-puller` cluster |
| role on the operator namespace to the integration service |
| account. |
| type: boolean |
| secretName: |
| description: The pull secret name to set on the Pod. If left |
| empty this is automatically taken from the `IntegrationPlatform` |
| registry configuration. |
| type: string |
| type: object |
| quarkus: |
| description: The configuration of Quarkus trait |
| 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 configuration of Registry trait (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 |
| route: |
| description: The configuration of Route trait |
| properties: |
| annotations: |
| additionalProperties: |
| type: string |
| description: |- |
| The annotations added to route. |
| This can be used to set route specific annotations |
| For annotations options see https://docs.openshift.com/container-platform/3.11/architecture/networking/routes.html#route-specific-annotations |
| CLI usage example: -t "route.annotations.'haproxy.router.openshift.io/balance'=true" |
| type: object |
| 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 |
| host: |
| description: To configure the host exposed by the route. |
| type: string |
| tlsCACertificate: |
| description: |- |
| The TLS CA certificate contents. |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| type: string |
| tlsCACertificateSecret: |
| description: |- |
| The secret name and key reference to the TLS CA certificate. The format is "secret-name[/key-name]", the value represents the secret name, if there is only one key in the secret it will be read, otherwise you can set a key name separated with a "/". |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| type: string |
| tlsCertificate: |
| description: |- |
| The TLS certificate contents. |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| type: string |
| tlsCertificateSecret: |
| description: |- |
| The secret name and key reference to the TLS certificate. The format is "secret-name[/key-name]", the value represents the secret name, if there is only one key in the secret it will be read, otherwise you can set a key name separated with a "/". |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| type: string |
| tlsDestinationCACertificate: |
| description: |- |
| The destination CA certificate provides the contents of the ca certificate of the final destination. When using reencrypt |
| termination this file should be provided in order to have routers use it for health checks on the secure connection. |
| If this field is not specified, the router may provide its own destination CA and perform hostname validation using |
| the short service name (service.namespace.svc), which allows infrastructure generated certificates to automatically |
| verify. |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| type: string |
| tlsDestinationCACertificateSecret: |
| description: |- |
| The secret name and key reference to the destination CA certificate. The format is "secret-name[/key-name]", the value represents the secret name, if there is only one key in the secret it will be read, otherwise you can set a key name separated with a "/". |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| type: string |
| tlsInsecureEdgeTerminationPolicy: |
| description: |- |
| To configure how to deal with insecure traffic, e.g. `Allow`, `Disable` or `Redirect` traffic. |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| enum: |
| - None |
| - Allow |
| - Redirect |
| type: string |
| tlsKey: |
| description: |- |
| The TLS certificate key contents. |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| type: string |
| tlsKeySecret: |
| description: |- |
| The secret name and key reference to the TLS certificate key. The format is "secret-name[/key-name]", the value represents the secret name, if there is only one key in the secret it will be read, otherwise you can set a key name separated with a "/". |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| type: string |
| tlsTermination: |
| description: |- |
| The TLS termination type, like `edge`, `passthrough` or `reencrypt`. |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| enum: |
| - edge |
| - reencrypt |
| - passthrough |
| type: string |
| type: object |
| security-context: |
| description: The configuration of Security Context trait |
| 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 |
| runAsNonRoot: |
| description: Security Context RunAsNonRoot configuration (default |
| false). |
| type: boolean |
| runAsUser: |
| description: 'Security Context RunAsUser configuration (default |
| none): this value is automatically retrieved in Openshift |
| clusters when not explicitly set.' |
| format: int64 |
| type: integer |
| seccompProfileType: |
| description: Security Context SeccompProfileType configuration |
| (default RuntimeDefault). |
| enum: |
| - Unconfined |
| - RuntimeDefault |
| type: string |
| type: object |
| service: |
| description: The configuration of Service trait |
| properties: |
| annotations: |
| additionalProperties: |
| type: string |
| description: The annotations added to the Service object. |
| type: object |
| auto: |
| description: To automatically detect from the code if a Service |
| needs to be created. |
| type: boolean |
| 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 |
| labels: |
| additionalProperties: |
| type: string |
| description: The labels added to the Service object. |
| type: object |
| nodePort: |
| description: |- |
| Enable Service to be exposed as NodePort (default `false`). |
| Deprecated: Use service type instead. |
| type: boolean |
| type: |
| description: The type of service to be used, either 'ClusterIP', |
| 'NodePort' or 'LoadBalancer'. |
| enum: |
| - ClusterIP |
| - NodePort |
| - LoadBalancer |
| type: string |
| type: object |
| service-binding: |
| description: The configuration of Service Binding trait |
| 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 |
| services: |
| description: List of Services in the form [[apigroup/]version:]kind:[namespace/]name |
| items: |
| type: string |
| type: array |
| type: object |
| strimzi: |
| description: 'Deprecated: for backward compatibility.' |
| properties: |
| configuration: |
| description: TraitConfiguration parameters configuration |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| required: |
| - configuration |
| type: object |
| telemetry: |
| description: The configuration of Telemetry trait |
| properties: |
| auto: |
| description: Enables automatic configuration of the trait, |
| including automatic discovery of the telemetry endpoint. |
| type: boolean |
| 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 |
| endpoint: |
| description: The target endpoint of the Telemetry service |
| (automatically discovered by default) |
| type: string |
| sampler: |
| description: The sampler of the telemetry used for tracing |
| (default "on") |
| type: string |
| sampler-parent-based: |
| description: The sampler of the telemetry used for tracing |
| is parent based (default "true") |
| type: boolean |
| sampler-ratio: |
| description: The sampler ratio of the telemetry used for tracing |
| type: string |
| serviceName: |
| description: The name of the service that publishes telemetry |
| data (defaults to the integration name) |
| type: string |
| type: object |
| toleration: |
| description: The configuration of Toleration trait |
| 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 |
| taints: |
| description: The list of taints to tolerate, in the form `Key[=Value]:Effect[:Seconds]` |
| items: |
| type: string |
| type: array |
| type: object |
| tracing: |
| description: 'Deprecated: for backward compatibility.' |
| properties: |
| configuration: |
| description: TraitConfiguration parameters configuration |
| 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: specify how to build the Integration/IntegrationKits |
| properties: |
| PublishStrategyOptions: |
| additionalProperties: |
| type: string |
| description: 'Deprecated: no longer in use' |
| type: object |
| baseImage: |
| description: |- |
| a base image that can be used as base layer for all images. |
| It can be useful if you want to provide some custom base image with further utility software |
| type: string |
| buildCatalogToolTimeout: |
| description: |- |
| the timeout (in seconds) to use when creating the build tools container image |
| Deprecated: no longer in use |
| type: string |
| buildConfiguration: |
| description: the configuration required to build an Integration |
| container image |
| properties: |
| annotations: |
| additionalProperties: |
| type: string |
| description: Annotation to use for the builder pod. Only used |
| for `pod` strategy |
| type: object |
| limitCPU: |
| description: The maximum amount of CPU required. Only used |
| for `pod` strategy |
| type: string |
| limitMemory: |
| description: The maximum amount of memory required. Only used |
| for `pod` strategy |
| type: string |
| nodeSelector: |
| additionalProperties: |
| type: string |
| description: The node selector for the builder pod. Only used |
| for `pod` strategy |
| type: object |
| operatorNamespace: |
| description: The namespace where to run the builder Pod (must |
| be the same of the operator in charge of this Build reconciliation). |
| type: string |
| orderStrategy: |
| description: the build order strategy to adopt |
| enum: |
| - dependencies |
| - fifo |
| - sequential |
| type: string |
| platforms: |
| description: The list of platforms used in order to build |
| a container image. |
| items: |
| type: string |
| type: array |
| requestCPU: |
| description: The minimum amount of CPU required. Only used |
| for `pod` strategy |
| type: string |
| requestMemory: |
| description: The minimum amount of memory required. Only used |
| for `pod` strategy |
| type: string |
| strategy: |
| description: the strategy to adopt |
| enum: |
| - routine |
| - pod |
| type: string |
| toolImage: |
| description: The container image to be used to run the build. |
| type: string |
| type: object |
| maven: |
| description: Maven configuration used to build the Camel/Camel-Quarkus |
| applications |
| properties: |
| caSecrets: |
| description: |- |
| The Secrets 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. |
| items: |
| description: SecretKeySelector 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: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the Secret or its key must |
| be defined |
| type: boolean |
| required: |
| - key |
| type: object |
| x-kubernetes-map-type: atomic |
| type: array |
| cliOptions: |
| description: |- |
| The CLI options that are appended to the list of arguments for Maven commands, |
| e.g., `-V,--no-transfer-progress,-Dstyle.color=never`. |
| See https://maven.apache.org/ref/3.8.4/maven-embedder/cli.html. |
| items: |
| type: string |
| type: array |
| extension: |
| description: |- |
| The Maven build extensions. |
| See https://maven.apache.org/guides/mini/guide-using-extensions.html. |
| items: |
| description: MavenArtifact defines a GAV (Group:Artifact:Type:Version:Classifier) |
| Maven artifact. |
| properties: |
| artifactId: |
| description: Maven Artifact |
| type: string |
| classifier: |
| description: Maven Classifier |
| type: string |
| groupId: |
| description: Maven Group |
| type: string |
| type: |
| description: Maven Type |
| type: string |
| version: |
| description: Maven Version |
| type: string |
| required: |
| - artifactId |
| - groupId |
| type: object |
| type: array |
| localRepository: |
| description: The path of the local Maven repository. |
| type: string |
| profiles: |
| description: |- |
| A reference to the ConfigMap or Secret key that contains |
| the Maven profile. |
| items: |
| description: ValueSource --. |
| properties: |
| configMapKeyRef: |
| description: Selects a key of a ConfigMap. |
| properties: |
| key: |
| description: The key to select. |
| type: string |
| name: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the ConfigMap or its |
| key must be defined |
| type: boolean |
| required: |
| - key |
| type: object |
| x-kubernetes-map-type: atomic |
| 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: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the Secret or its key |
| must be defined |
| type: boolean |
| required: |
| - key |
| type: object |
| x-kubernetes-map-type: atomic |
| type: object |
| type: array |
| properties: |
| additionalProperties: |
| type: string |
| description: The Maven properties. |
| type: object |
| settings: |
| description: |- |
| A reference to the ConfigMap or Secret key that contains |
| the Maven settings. |
| properties: |
| configMapKeyRef: |
| description: Selects a key of a ConfigMap. |
| properties: |
| key: |
| description: The key to select. |
| type: string |
| name: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the ConfigMap or its |
| key must be defined |
| type: boolean |
| required: |
| - key |
| type: object |
| x-kubernetes-map-type: atomic |
| 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: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the Secret or its key |
| must be defined |
| type: boolean |
| required: |
| - key |
| type: object |
| x-kubernetes-map-type: atomic |
| type: object |
| settingsSecurity: |
| description: |- |
| A reference to the ConfigMap or Secret key that contains |
| the security of the Maven settings. |
| properties: |
| configMapKeyRef: |
| description: Selects a key of a ConfigMap. |
| properties: |
| key: |
| description: The key to select. |
| type: string |
| name: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the ConfigMap or its |
| key must be defined |
| type: boolean |
| required: |
| - key |
| type: object |
| x-kubernetes-map-type: atomic |
| 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: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the Secret or its key |
| must be defined |
| type: boolean |
| required: |
| - key |
| type: object |
| x-kubernetes-map-type: atomic |
| type: object |
| type: object |
| maxRunningBuilds: |
| description: the maximum amount of parallel running pipelines |
| started by this operator instance |
| format: int32 |
| type: integer |
| publishStrategy: |
| description: the strategy to adopt for publishing an Integration |
| container image |
| type: string |
| registry: |
| description: the image registry used to push/pull Integration |
| images |
| properties: |
| address: |
| description: the URI to access |
| type: string |
| ca: |
| description: the configmap which stores the Certificate Authority |
| type: string |
| insecure: |
| description: if the container registry is insecure (ie, http |
| only) |
| type: boolean |
| organization: |
| description: the registry organization |
| type: string |
| secret: |
| description: the secret where credentials are stored |
| type: string |
| type: object |
| runtimeCoreVersion: |
| description: the Camel core version used by this IntegrationPlatform |
| type: string |
| runtimeProvider: |
| description: the runtime used. Likely Camel Quarkus (we used to |
| have main runtime which has been discontinued since version |
| 1.5) |
| type: string |
| runtimeVersion: |
| description: the Camel K Runtime dependency version |
| type: string |
| timeout: |
| description: how much time to wait before time out the pipeline |
| process |
| type: string |
| type: object |
| cluster: |
| description: what kind of cluster you're running (ie, plain Kubernetes |
| or OpenShift) |
| type: string |
| conditions: |
| description: which are the conditions met (particularly useful when |
| in ERROR phase) |
| 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: |
| 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 |
| list of configuration properties to be attached to all the Integration/IntegrationKits built from this IntegrationPlatform |
| 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 |
| info: |
| additionalProperties: |
| type: string |
| description: generic information related to the build of Camel K operator |
| software |
| type: object |
| kamelet: |
| description: configuration to be executed to all Kamelets controlled |
| by this IntegrationPlatform |
| properties: |
| repositories: |
| description: remote repository used to retrieve Kamelet catalog |
| items: |
| description: KameletRepositorySpec defines the location of the |
| Kamelet catalog to use. |
| properties: |
| uri: |
| description: the remote repository in the format github:ORG/REPO/PATH_TO_KAMELETS_FOLDER |
| type: string |
| type: object |
| type: array |
| type: object |
| observedGeneration: |
| description: ObservedGeneration is the most recent generation observed |
| for this IntegrationPlatform. |
| format: int64 |
| type: integer |
| phase: |
| description: defines in what phase the IntegrationPlatform is found |
| type: string |
| profile: |
| description: |- |
| the profile you wish to use. It will apply certain traits which are required by the specific profile chosen. |
| It usually relates the Cluster with the optional definition of special profiles (ie, Knative) |
| type: string |
| traits: |
| description: list of traits to be executed for all the Integration/IntegrationKits |
| built from this IntegrationPlatform |
| properties: |
| 3scale: |
| description: 'Deprecated: for backward compatibility.' |
| properties: |
| configuration: |
| description: TraitConfiguration parameters configuration |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| required: |
| - configuration |
| type: object |
| addons: |
| additionalProperties: |
| description: AddonTrait represents the configuration of an addon |
| trait. |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| description: The extension point with addon traits |
| type: object |
| affinity: |
| description: The configuration of Affinity trait |
| 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 |
| nodeAffinityLabels: |
| description: Defines a set of nodes the integration pod(s) |
| are eligible to be scheduled on, based on labels on the |
| node. |
| items: |
| type: string |
| type: array |
| podAffinity: |
| description: Always co-locates multiple replicas of the integration |
| in the same node (default `false`). |
| type: boolean |
| podAffinityLabels: |
| description: |- |
| Defines a set of pods (namely those matching the label selector, relative to the given namespace) that the |
| integration pod(s) should be co-located with. |
| items: |
| type: string |
| type: array |
| podAntiAffinity: |
| description: Never co-locates multiple replicas of the integration |
| in the same node (default `false`). |
| type: boolean |
| podAntiAffinityLabels: |
| description: |- |
| Defines a set of pods (namely those matching the label selector, relative to the given namespace) that the |
| integration pod(s) should not be co-located with. |
| items: |
| type: string |
| type: array |
| type: object |
| builder: |
| description: The configuration of Builder trait |
| 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 configuration of Camel trait |
| 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 |
| runtimeVersion: |
| description: |- |
| The camel-k-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. |
| type: string |
| type: object |
| container: |
| description: The configuration of Container trait |
| properties: |
| allowPrivilegeEscalation: |
| description: Security Context AllowPrivilegeEscalation configuration |
| (default false). |
| type: boolean |
| auto: |
| description: To automatically enable the trait |
| type: boolean |
| capabilitiesAdd: |
| description: Security Context Capabilities Add configuration |
| (default none). |
| items: |
| description: Capability represent POSIX capabilities type |
| type: string |
| type: array |
| capabilitiesDrop: |
| description: Security Context Capabilities Drop configuration |
| (default ALL). |
| items: |
| description: Capability represent POSIX capabilities type |
| 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 |
| expose: |
| description: Can be used to enable/disable exposure via kubernetes |
| Service. |
| type: boolean |
| image: |
| description: |- |
| The main container image to use for the Integration. When using this parameter the operator will create a synthetic IntegrationKit which |
| won't be able to execute traits requiring CamelCatalog. If the container image you're using is coming from an IntegrationKit, use instead |
| Integration `.spec.integrationKit` parameter. If you're moving the Integration across environments, you will also need to create an "external" IntegrationKit. |
| type: string |
| imagePullPolicy: |
| description: 'The pull policy: Always|Never|IfNotPresent' |
| enum: |
| - Always |
| - Never |
| - IfNotPresent |
| type: string |
| limitCPU: |
| description: The maximum amount of CPU to be provided (default |
| 500 millicores). |
| type: string |
| limitMemory: |
| description: The maximum amount of memory to be provided (default |
| 512 Mi). |
| type: string |
| name: |
| description: The main container name. It's named `integration` |
| by default. |
| type: string |
| port: |
| description: To configure a different port exposed by the |
| container (default `8080`). |
| format: int32 |
| type: integer |
| portName: |
| description: To configure a different port name for the port |
| exposed by the container. It defaults to `http` only when |
| the `expose` parameter is true. |
| type: string |
| requestCPU: |
| description: The minimum amount of CPU required (default 125 |
| millicores). |
| type: string |
| requestMemory: |
| description: The minimum amount of memory required (default |
| 128 Mi). |
| type: string |
| runAsNonRoot: |
| description: Security Context RunAsNonRoot configuration (default |
| false). |
| type: boolean |
| runAsUser: |
| description: 'Security Context RunAsUser configuration (default |
| none): this value is automatically retrieved in Openshift |
| clusters when not explicitly set.' |
| format: int64 |
| type: integer |
| seccompProfileType: |
| description: Security Context SeccompProfileType configuration |
| (default RuntimeDefault). |
| enum: |
| - Unconfined |
| - RuntimeDefault |
| type: string |
| servicePort: |
| description: To configure under which service port the container |
| port is to be exposed (default `80`). |
| format: int32 |
| type: integer |
| servicePortName: |
| description: To configure under which service port name the |
| container port is to be exposed (default `http`). |
| type: string |
| type: object |
| cron: |
| description: The configuration of Cron trait |
| properties: |
| activeDeadlineSeconds: |
| description: |- |
| Specifies the duration in seconds, relative to the start time, that the job |
| may be continuously active before it is considered to be failed. |
| It defaults to 60s. |
| format: int64 |
| type: integer |
| auto: |
| description: |- |
| Automatically deploy the integration as CronJob when all routes are |
| either starting from a periodic consumer (only `cron`, `timer` and `quartz` are supported) or a passive consumer (e.g. `direct` is a passive consumer). |
| |
| |
| It's required that all periodic consumers have the same period, and it can be expressed as cron schedule (e.g. `1m` can be expressed as `0/1 * * * *`, |
| while `35m` or `50s` cannot). |
| type: boolean |
| backoffLimit: |
| description: |- |
| Specifies the number of retries before marking the job failed. |
| It defaults to 2. |
| format: int32 |
| type: integer |
| components: |
| description: |- |
| A comma separated list of the Camel components that need to be customized in order for them to work when the schedule is triggered externally by Kubernetes. |
| Supported components are currently: `cron`, `timer` and `quartz`. |
| type: string |
| concurrencyPolicy: |
| description: |- |
| Specifies how to treat concurrent executions of a Job. |
| Valid values are: |
| - "Allow": allows CronJobs to run concurrently; |
| - "Forbid" (default): forbids concurrent runs, skipping next run if previous run hasn't finished yet; |
| - "Replace": cancels currently running job and replaces it with a new one |
| enum: |
| - Allow |
| - Forbid |
| - Replace |
| type: string |
| 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 |
| fallback: |
| description: |- |
| Use the default Camel implementation of the `cron` endpoint (`quartz`) instead of trying to materialize the integration |
| as Kubernetes CronJob. |
| type: boolean |
| schedule: |
| description: |- |
| The CronJob schedule for the whole integration. If multiple routes are declared, they must have the same schedule for this |
| mechanism to work correctly. |
| type: string |
| startingDeadlineSeconds: |
| description: |- |
| Optional deadline in seconds for starting the job if it misses scheduled |
| time for any reason. Missed jobs executions will be counted as failed ones. |
| format: int64 |
| type: integer |
| timeZone: |
| description: The timezone that the CronJob will run on |
| type: string |
| type: object |
| dependencies: |
| description: The configuration of Dependencies trait |
| 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 |
| type: object |
| deployer: |
| description: The configuration of Deployer trait |
| 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 |
| kind: |
| description: Allows to explicitly select the desired deployment |
| kind between `deployment`, `cron-job` or `knative-service` |
| when creating the resources for running the integration. |
| enum: |
| - deployment |
| - cron-job |
| - knative-service |
| type: string |
| useSSA: |
| description: |- |
| Deprecated: won't be able to enforce client side update in the future. |
| Use server-side apply to update the owned resources (default `true`). |
| Note that it automatically falls back to client-side patching, if SSA is not available, e.g., on old Kubernetes clusters. |
| type: boolean |
| type: object |
| deployment: |
| description: The configuration of Deployment trait |
| 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 |
| progressDeadlineSeconds: |
| description: |- |
| The maximum time in seconds for the deployment to make progress before it |
| is considered to be failed. It defaults to `60s`. |
| format: int32 |
| type: integer |
| rollingUpdateMaxSurge: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| The maximum number of pods that can be scheduled above the desired number of |
| pods. |
| Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). |
| This can not be 0 if MaxUnavailable is 0. |
| Absolute number is calculated from percentage by rounding up. |
| Defaults to `25%`. |
| x-kubernetes-int-or-string: true |
| rollingUpdateMaxUnavailable: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| The maximum number of pods that can be unavailable during the update. |
| Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). |
| Absolute number is calculated from percentage by rounding down. |
| This can not be 0 if MaxSurge is 0. |
| Defaults to `25%`. |
| x-kubernetes-int-or-string: true |
| strategy: |
| description: The deployment strategy to use to replace existing |
| pods with new ones. |
| enum: |
| - Recreate |
| - RollingUpdate |
| type: string |
| type: object |
| environment: |
| description: The configuration of Environment trait |
| properties: |
| configuration: |
| description: |- |
| Legacy trait configuration parameters. |
| Deprecated: for backward compatibility. |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| containerMeta: |
| description: Enables injection of `NAMESPACE` and `POD_NAME` |
| environment variables (default `true`) |
| type: boolean |
| enabled: |
| description: 'Deprecated: no longer in use.' |
| type: boolean |
| httpProxy: |
| description: Propagates the `HTTP_PROXY`, `HTTPS_PROXY` and |
| `NO_PROXY` environment variables (default `true`) |
| type: boolean |
| vars: |
| description: |- |
| A list of environment variables to be added to the integration container. |
| The syntax is either VAR=VALUE or VAR=[configmap|secret]:name/key, where name represents the resource name, |
| and key represents the resource key to be mapped as and environment variable. |
| These take precedence over any previously defined environment variables. |
| items: |
| type: string |
| type: array |
| type: object |
| error-handler: |
| description: The configuration of Error Handler trait |
| 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 |
| ref: |
| description: The error handler ref name provided or found |
| in application properties |
| type: string |
| type: object |
| gc: |
| description: The configuration of GC trait |
| properties: |
| configuration: |
| description: |- |
| Legacy trait configuration parameters. |
| Deprecated: for backward compatibility. |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| discoveryCache: |
| description: |- |
| Discovery client cache to be used, either `disabled`, `disk` or `memory` (default `memory`). |
| Deprecated: no longer in use. |
| enum: |
| - disabled |
| - disk |
| - memory |
| type: string |
| enabled: |
| description: Can be used to enable or disable a trait. All |
| traits share this common property. |
| type: boolean |
| type: object |
| health: |
| description: The configuration of Health trait |
| 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 |
| livenessFailureThreshold: |
| description: Minimum consecutive failures for the liveness |
| probe to be considered failed after having succeeded. |
| format: int32 |
| type: integer |
| livenessInitialDelay: |
| description: Number of seconds after the container has started |
| before the liveness probe is initiated. |
| format: int32 |
| type: integer |
| livenessPeriod: |
| description: How often to perform the liveness probe. |
| format: int32 |
| type: integer |
| livenessProbe: |
| description: The liveness probe path to use (default provided |
| by the Catalog runtime used). |
| type: string |
| livenessProbeEnabled: |
| description: Configures the liveness probe for the integration |
| container (default `false`). |
| type: boolean |
| livenessScheme: |
| description: Scheme to use when connecting to the liveness |
| probe (default `HTTP`). |
| type: string |
| livenessSuccessThreshold: |
| description: Minimum consecutive successes for the liveness |
| probe to be considered successful after having failed. |
| format: int32 |
| type: integer |
| livenessTimeout: |
| description: Number of seconds after which the liveness probe |
| times out. |
| format: int32 |
| type: integer |
| readinessFailureThreshold: |
| description: Minimum consecutive failures for the readiness |
| probe to be considered failed after having succeeded. |
| format: int32 |
| type: integer |
| readinessInitialDelay: |
| description: Number of seconds after the container has started |
| before the readiness probe is initiated. |
| format: int32 |
| type: integer |
| readinessPeriod: |
| description: How often to perform the readiness probe. |
| format: int32 |
| type: integer |
| readinessProbe: |
| description: The readiness probe path to use (default provided |
| by the Catalog runtime used). |
| type: string |
| readinessProbeEnabled: |
| description: Configures the readiness probe for the integration |
| container (default `true`). |
| type: boolean |
| readinessScheme: |
| description: Scheme to use when connecting to the readiness |
| probe (default `HTTP`). |
| type: string |
| readinessSuccessThreshold: |
| description: Minimum consecutive successes for the readiness |
| probe to be considered successful after having failed. |
| format: int32 |
| type: integer |
| readinessTimeout: |
| description: Number of seconds after which the readiness probe |
| times out. |
| format: int32 |
| type: integer |
| startupFailureThreshold: |
| description: Minimum consecutive failures for the startup |
| probe to be considered failed after having succeeded. |
| format: int32 |
| type: integer |
| startupInitialDelay: |
| description: Number of seconds after the container has started |
| before the startup probe is initiated. |
| format: int32 |
| type: integer |
| startupPeriod: |
| description: How often to perform the startup probe. |
| format: int32 |
| type: integer |
| startupProbe: |
| description: The startup probe path to use (default provided |
| by the Catalog runtime used). |
| type: string |
| startupProbeEnabled: |
| description: Configures the startup probe for the integration |
| container (default `false`). |
| type: boolean |
| startupScheme: |
| description: Scheme to use when connecting to the startup |
| probe (default `HTTP`). |
| type: string |
| startupSuccessThreshold: |
| description: Minimum consecutive successes for the startup |
| probe to be considered successful after having failed. |
| format: int32 |
| type: integer |
| startupTimeout: |
| description: Number of seconds after which the startup probe |
| times out. |
| format: int32 |
| type: integer |
| type: object |
| ingress: |
| description: The configuration of Ingress trait |
| properties: |
| annotations: |
| additionalProperties: |
| type: string |
| description: |- |
| The annotations added to the ingress. |
| This can be used to set controller specific annotations, e.g., when using the NGINX Ingress controller: |
| See https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/nginx-configuration/annotations.md |
| type: object |
| auto: |
| description: To automatically add an ingress whenever the |
| integration uses an HTTP endpoint consumer. |
| type: boolean |
| 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 |
| host: |
| description: To configure the host exposed by the ingress. |
| type: string |
| ingressClassName: |
| description: |- |
| The Ingress class name as defined by the Ingress spec |
| See https://kubernetes.io/docs/concepts/services-networking/ingress/ |
| type: string |
| path: |
| description: To configure the path exposed by the ingress |
| (default `/`). |
| type: string |
| pathType: |
| description: |- |
| To configure the path type exposed by the ingress. |
| One of `Exact`, `Prefix`, `ImplementationSpecific` (default to `Prefix`). |
| enum: |
| - Exact |
| - Prefix |
| - ImplementationSpecific |
| type: string |
| tlsHosts: |
| description: To configure tls hosts |
| items: |
| type: string |
| type: array |
| tlsSecretName: |
| description: To configure tls secret name |
| type: string |
| type: object |
| istio: |
| description: The configuration of Istio trait |
| properties: |
| allow: |
| description: Configures a (comma-separated) list of CIDR subnets |
| that should not be intercepted by the Istio proxy (`10.0.0.0/8,172.16.0.0/12,192.168.0.0/16` |
| by default). |
| type: string |
| 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 |
| inject: |
| description: Forces the value for labels `sidecar.istio.io/inject`. |
| By default the label is set to `true` on deployment and |
| not set on Knative Service. |
| type: boolean |
| type: object |
| jolokia: |
| description: The configuration of Jolokia trait |
| properties: |
| CACert: |
| description: |- |
| The PEM encoded CA certification file path, used to verify client certificates, |
| applicable when `protocol` is `https` and `use-ssl-client-authentication` is `true` |
| (default `/var/run/secrets/kubernetes.io/serviceaccount/service-ca.crt` for OpenShift). |
| type: string |
| clientPrincipal: |
| description: |- |
| The principal(s) which must be given in a client certificate to allow access to the Jolokia endpoint, |
| applicable when `protocol` is `https` and `use-ssl-client-authentication` is `true` |
| (default `clientPrincipal=cn=system:master-proxy`, `cn=hawtio-online.hawtio.svc` and `cn=fuse-console.fuse.svc` for OpenShift). |
| items: |
| type: string |
| type: array |
| configuration: |
| description: |- |
| Legacy trait configuration parameters. |
| Deprecated: for backward compatibility. |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| discoveryEnabled: |
| description: Listen for multicast requests (default `false`) |
| type: boolean |
| enabled: |
| description: Can be used to enable or disable a trait. All |
| traits share this common property. |
| type: boolean |
| extendedClientCheck: |
| description: |- |
| Mandate the client certificate contains a client flag in the extended key usage section, |
| applicable when `protocol` is `https` and `use-ssl-client-authentication` is `true` |
| (default `true` for OpenShift). |
| type: boolean |
| host: |
| description: |- |
| The Host address to which the Jolokia agent should bind to. If `"\*"` or `"0.0.0.0"` is given, |
| the servers binds to every network interface (default `"*"`). |
| type: string |
| options: |
| description: |- |
| A list of additional Jolokia options as defined |
| in https://jolokia.org/reference/html/agents.html#agent-jvm-config[JVM agent configuration options] |
| items: |
| type: string |
| type: array |
| password: |
| description: The password used for authentication, applicable |
| when the `user` option is set. |
| type: string |
| port: |
| description: The Jolokia endpoint port (default `8778`). |
| format: int32 |
| type: integer |
| protocol: |
| description: The protocol to use, either `http` or `https` |
| (default `https` for OpenShift) |
| type: string |
| useSSLClientAuthentication: |
| description: Whether client certificates should be used for |
| authentication (default `true` for OpenShift). |
| type: boolean |
| user: |
| description: The user to be used for authentication |
| type: string |
| type: object |
| jvm: |
| description: The configuration of JVM trait |
| properties: |
| classpath: |
| description: Additional JVM classpath (use `Linux` classpath |
| separator) |
| type: string |
| configuration: |
| description: |- |
| Legacy trait configuration parameters. |
| Deprecated: for backward compatibility. |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| debug: |
| description: Activates remote debugging, so that a debugger |
| can be attached to the JVM, e.g., using port-forwarding |
| type: boolean |
| debugAddress: |
| description: Transport address at which to listen for the |
| newly launched JVM (default `*:5005`) |
| type: string |
| debugSuspend: |
| description: Suspends the target JVM immediately before the |
| main class is loaded |
| type: boolean |
| enabled: |
| description: Can be used to enable or disable a trait. All |
| traits share this common property. |
| type: boolean |
| jar: |
| description: The Jar dependency which will run the application. |
| Leave it empty for managed Integrations. |
| type: string |
| options: |
| description: A list of JVM options |
| items: |
| type: string |
| type: array |
| printCommand: |
| description: |- |
| Prints the command used the start the JVM in the container logs (default `true`) |
| Deprecated: no longer in use. |
| type: boolean |
| type: object |
| kamelets: |
| description: The configuration of Kamelets trait |
| properties: |
| auto: |
| description: Automatically inject all referenced Kamelets |
| and their default configuration (enabled by default) |
| type: boolean |
| 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 |
| list: |
| description: Comma separated list of Kamelet names to load |
| into the current integration |
| type: string |
| mountPoint: |
| description: The directory where the application mounts and |
| reads Kamelet spec (default `/etc/camel/kamelets`) |
| type: string |
| type: object |
| keda: |
| description: 'Deprecated: for backward compatibility.' |
| properties: |
| configuration: |
| description: TraitConfiguration parameters configuration |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| required: |
| - configuration |
| type: object |
| knative: |
| description: The configuration of Knative trait |
| properties: |
| auto: |
| description: Enable automatic discovery of all trait properties. |
| type: boolean |
| channelSinks: |
| description: |- |
| List of channels used as destination of integration routes. |
| Can contain simple channel names or full Camel URIs. |
| items: |
| type: string |
| type: array |
| channelSources: |
| description: |- |
| List of channels used as source of integration routes. |
| Can contain simple channel names or full Camel URIs. |
| items: |
| type: string |
| type: array |
| config: |
| description: Can be used to inject a Knative complete configuration |
| in JSON format. |
| type: string |
| 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 |
| endpointSinks: |
| description: |- |
| List of endpoints used as destination of integration routes. |
| Can contain simple endpoint names or full Camel URIs. |
| items: |
| type: string |
| type: array |
| endpointSources: |
| description: List of channels used as source of integration |
| routes. |
| items: |
| type: string |
| type: array |
| eventSinks: |
| description: |- |
| List of event types that the integration will produce. |
| Can contain simple event types or full Camel URIs (to use a specific broker). |
| items: |
| type: string |
| type: array |
| eventSources: |
| description: |- |
| List of event types that the integration will be subscribed to. |
| Can contain simple event types or full Camel URIs (to use a specific broker different from "default"). |
| items: |
| type: string |
| type: array |
| filterEventType: |
| description: |- |
| Enables the default filtering for the Knative trigger using the event type |
| If this is true, the created Knative trigger uses the event type as a filter on the event stream when no other filter criteria is given. (default: true) |
| type: boolean |
| filterSourceChannels: |
| description: |- |
| Enables filtering on events based on the header "ce-knativehistory". Since this header has been removed in newer versions of |
| Knative, filtering is disabled by default. |
| type: boolean |
| filters: |
| description: |- |
| Sets filter attributes on the event stream (such as event type, source, subject and so on). |
| A list of key-value pairs that represent filter attributes and its values. |
| The syntax is KEY=VALUE, e.g., `source="my.source"`. |
| Filter attributes get set on the Knative trigger that is being created as part of this integration. |
| items: |
| type: string |
| type: array |
| namespaceLabel: |
| description: |- |
| Enables the camel-k-operator to set the "bindings.knative.dev/include=true" label to the namespace |
| As Knative requires this label to perform injection of K_SINK URL into the service. |
| If this is false, the integration pod may start and fail, read the SinkBinding Knative documentation. (default: true) |
| type: boolean |
| sinkBinding: |
| description: |- |
| Allows binding the integration to a sink via a Knative SinkBinding resource. |
| This can be used when the integration targets a single sink. |
| It's enabled by default when the integration targets a single sink |
| (except when the integration is owned by a Knative source). |
| type: boolean |
| type: object |
| knative-service: |
| description: The configuration of Knative Service trait |
| properties: |
| annotations: |
| additionalProperties: |
| type: string |
| description: |- |
| The annotations added to route. |
| This can be used to set knative service specific annotations |
| CLI usage example: -t "knative-service.annotations.'haproxy.router.openshift.io/balance'=true" |
| type: object |
| auto: |
| description: |- |
| Automatically deploy the integration as Knative service when all conditions hold: |
| |
| |
| * Integration is using the Knative profile |
| * All routes are either starting from an HTTP based consumer or a passive consumer (e.g. `direct` is a passive consumer) |
| type: boolean |
| autoscalingMetric: |
| description: |- |
| Configures the Knative autoscaling metric property (e.g. to set `concurrency` based or `cpu` based autoscaling). |
| |
| |
| Refer to the Knative documentation for more information. |
| type: string |
| autoscalingTarget: |
| description: |- |
| Sets the allowed concurrency level or CPU percentage (depending on the autoscaling metric) for each Pod. |
| |
| |
| Refer to the Knative documentation for more information. |
| type: integer |
| class: |
| description: |- |
| Configures the Knative autoscaling class property (e.g. to set `hpa.autoscaling.knative.dev` or `kpa.autoscaling.knative.dev` autoscaling). |
| |
| |
| Refer to the Knative documentation for more information. |
| enum: |
| - kpa.autoscaling.knative.dev |
| - hpa.autoscaling.knative.dev |
| type: string |
| 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 |
| maxScale: |
| description: |- |
| An upper bound for the number of Pods that can be running in parallel for the integration. |
| Knative has its own cap value that depends on the installation. |
| |
| |
| Refer to the Knative documentation for more information. |
| type: integer |
| minScale: |
| description: |- |
| The minimum number of Pods that should be running at any time for the integration. It's **zero** by default, meaning that |
| the integration is scaled down to zero when not used for a configured amount of time. |
| |
| |
| Refer to the Knative documentation for more information. |
| type: integer |
| rolloutDuration: |
| description: |- |
| Enables to gradually shift traffic to the latest Revision and sets the rollout duration. |
| It's disabled by default and must be expressed as a Golang `time.Duration` string representation, |
| rounded to a second precision. |
| type: string |
| timeoutSeconds: |
| description: |- |
| The maximum duration in seconds that the request instance is allowed to respond to a request. |
| This field propagates to the integration pod's terminationGracePeriodSeconds |
| |
| |
| Refer to the Knative documentation for more information. |
| format: int64 |
| type: integer |
| visibility: |
| description: |- |
| Setting `cluster-local`, Knative service becomes a private service. |
| Specifically, this option applies the `networking.knative.dev/visibility` label to Knative service. |
| |
| |
| Refer to the Knative documentation for more information. |
| enum: |
| - cluster-local |
| type: string |
| type: object |
| logging: |
| description: The configuration of Logging trait |
| properties: |
| color: |
| description: Colorize the log output |
| type: boolean |
| 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 |
| format: |
| description: Logs message format |
| type: string |
| json: |
| description: Output the logs in JSON |
| type: boolean |
| jsonPrettyPrint: |
| description: Enable "pretty printing" of the JSON logs |
| type: boolean |
| level: |
| description: Adjust the logging level (defaults to `INFO`) |
| enum: |
| - FATAL |
| - WARN |
| - INFO |
| - DEBUG |
| - TRACE |
| type: string |
| type: object |
| master: |
| description: 'Deprecated: for backward compatibility.' |
| properties: |
| configuration: |
| description: TraitConfiguration parameters configuration |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| required: |
| - configuration |
| type: object |
| mount: |
| description: The configuration of Mount trait |
| properties: |
| configs: |
| description: |- |
| A list of configuration pointing to configmap/secret. |
| The configuration are expected to be UTF-8 resources as they are processed by runtime Camel Context and tried to be parsed as property files. |
| They are also made available on the classpath in order to ease their usage directly from the Route. |
| Syntax: [configmap|secret]:name[/key], where name represents the resource name and key optionally represents the resource key to be filtered |
| items: |
| type: string |
| type: array |
| configuration: |
| description: |- |
| Legacy trait configuration parameters. |
| Deprecated: for backward compatibility. |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| emptyDirs: |
| description: |- |
| A list of EmptyDir volumes to be mounted. An optional size limit may be configured (default 500Mi). |
| Syntax: name:/container/path[:sizeLimit] |
| items: |
| type: string |
| type: array |
| enabled: |
| description: 'Deprecated: no longer in use.' |
| type: boolean |
| hotReload: |
| description: |- |
| Enable "hot reload" when a secret/configmap mounted is edited (default `false`). The configmap/secret must be |
| marked with `camel.apache.org/integration` label to be taken in account. The resource will be watched for any kind change, also for |
| changes in metadata. |
| type: boolean |
| resources: |
| description: |- |
| A list of resources (text or binary content) pointing to configmap/secret. |
| The resources are expected to be any resource type (text or binary content). |
| The destination path can be either a default location or any path specified by the user. |
| Syntax: [configmap|secret]:name[/key][@path], where name represents the resource name, key optionally represents the resource key to be filtered and path represents the destination path |
| items: |
| type: string |
| type: array |
| scanKameletsImplicitLabelSecrets: |
| description: 'Deprecated: no longer available since version |
| 2.5.' |
| type: boolean |
| volumes: |
| description: |- |
| A list of Persistent Volume Claims to be mounted. Syntax: [pvcname:/container/path]. If the PVC is not found, the Integration fails. |
| You can use the syntax [pvcname:/container/path:size:accessMode<:storageClass>] to create a dynamic PVC based on the Storage Class provided |
| or the default cluster Storage Class. However, if the PVC exists, the operator would mount it. |
| items: |
| type: string |
| type: array |
| type: object |
| openapi: |
| description: The configuration of OpenAPI trait |
| properties: |
| configmaps: |
| description: The configmaps holding the spec of the OpenAPI |
| (compatible with > 3.0 spec only). |
| items: |
| 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 |
| type: object |
| owner: |
| description: The configuration of Owner trait |
| 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 |
| targetAnnotations: |
| description: The set of annotations to be transferred |
| items: |
| type: string |
| type: array |
| targetLabels: |
| description: The set of labels to be transferred |
| items: |
| type: string |
| type: array |
| type: object |
| pdb: |
| description: The configuration of PDB trait |
| 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 |
| maxUnavailable: |
| description: |- |
| The number of pods for the Integration that can be unavailable after an eviction. |
| It can be either an absolute number or a percentage (default `1` if `min-available` is also not set). |
| Only one of `max-unavailable` and `min-available` can be specified. |
| type: string |
| minAvailable: |
| description: |- |
| The number of pods for the Integration that must still be available after an eviction. |
| It can be either an absolute number or a percentage. |
| Only one of `min-available` and `max-unavailable` can be specified. |
| type: string |
| type: object |
| platform: |
| description: The configuration of Platform trait |
| properties: |
| auto: |
| description: |- |
| To automatically detect from the environment if a default platform can be created (it will be created on OpenShift or when a registry address is set). |
| Deprecated: Platform is auto generated by the operator install procedure - maintained for backward compatibility |
| type: boolean |
| configuration: |
| description: |- |
| Legacy trait configuration parameters. |
| Deprecated: for backward compatibility. |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| createDefault: |
| description: |- |
| To create a default (empty) platform when the platform is missing. |
| Deprecated: Platform is auto generated by the operator install procedure - maintained for backward compatibility |
| type: boolean |
| enabled: |
| description: 'Deprecated: no longer in use.' |
| type: boolean |
| global: |
| description: |- |
| Indicates if the platform should be created globally in the case of global operator (default true). |
| Deprecated: Platform is auto generated by the operator install procedure - maintained for backward compatibility |
| type: boolean |
| type: object |
| pod: |
| description: The configuration of Pod trait |
| 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 |
| prometheus: |
| description: The configuration of Prometheus trait |
| 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 |
| podMonitor: |
| description: Whether a `PodMonitor` resource is created (default |
| `true`). |
| type: boolean |
| podMonitorLabels: |
| description: The `PodMonitor` resource labels, applicable |
| when `pod-monitor` is `true`. |
| items: |
| type: string |
| type: array |
| type: object |
| pull-secret: |
| description: The configuration of Pull Secret trait |
| properties: |
| auto: |
| description: Automatically configures the platform registry |
| secret on the pod if it is of type `kubernetes.io/dockerconfigjson`. |
| type: boolean |
| 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 |
| imagePullerDelegation: |
| description: When using a global operator with a shared platform, |
| this enables delegation of the `system:image-puller` cluster |
| role on the operator namespace to the integration service |
| account. |
| type: boolean |
| secretName: |
| description: The pull secret name to set on the Pod. If left |
| empty this is automatically taken from the `IntegrationPlatform` |
| registry configuration. |
| type: string |
| type: object |
| quarkus: |
| description: The configuration of Quarkus trait |
| 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 configuration of Registry trait (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 |
| route: |
| description: The configuration of Route trait |
| properties: |
| annotations: |
| additionalProperties: |
| type: string |
| description: |- |
| The annotations added to route. |
| This can be used to set route specific annotations |
| For annotations options see https://docs.openshift.com/container-platform/3.11/architecture/networking/routes.html#route-specific-annotations |
| CLI usage example: -t "route.annotations.'haproxy.router.openshift.io/balance'=true" |
| type: object |
| 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 |
| host: |
| description: To configure the host exposed by the route. |
| type: string |
| tlsCACertificate: |
| description: |- |
| The TLS CA certificate contents. |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| type: string |
| tlsCACertificateSecret: |
| description: |- |
| The secret name and key reference to the TLS CA certificate. The format is "secret-name[/key-name]", the value represents the secret name, if there is only one key in the secret it will be read, otherwise you can set a key name separated with a "/". |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| type: string |
| tlsCertificate: |
| description: |- |
| The TLS certificate contents. |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| type: string |
| tlsCertificateSecret: |
| description: |- |
| The secret name and key reference to the TLS certificate. The format is "secret-name[/key-name]", the value represents the secret name, if there is only one key in the secret it will be read, otherwise you can set a key name separated with a "/". |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| type: string |
| tlsDestinationCACertificate: |
| description: |- |
| The destination CA certificate provides the contents of the ca certificate of the final destination. When using reencrypt |
| termination this file should be provided in order to have routers use it for health checks on the secure connection. |
| If this field is not specified, the router may provide its own destination CA and perform hostname validation using |
| the short service name (service.namespace.svc), which allows infrastructure generated certificates to automatically |
| verify. |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| type: string |
| tlsDestinationCACertificateSecret: |
| description: |- |
| The secret name and key reference to the destination CA certificate. The format is "secret-name[/key-name]", the value represents the secret name, if there is only one key in the secret it will be read, otherwise you can set a key name separated with a "/". |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| type: string |
| tlsInsecureEdgeTerminationPolicy: |
| description: |- |
| To configure how to deal with insecure traffic, e.g. `Allow`, `Disable` or `Redirect` traffic. |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| enum: |
| - None |
| - Allow |
| - Redirect |
| type: string |
| tlsKey: |
| description: |- |
| The TLS certificate key contents. |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| type: string |
| tlsKeySecret: |
| description: |- |
| The secret name and key reference to the TLS certificate key. The format is "secret-name[/key-name]", the value represents the secret name, if there is only one key in the secret it will be read, otherwise you can set a key name separated with a "/". |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| type: string |
| tlsTermination: |
| description: |- |
| The TLS termination type, like `edge`, `passthrough` or `reencrypt`. |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| enum: |
| - edge |
| - reencrypt |
| - passthrough |
| type: string |
| type: object |
| security-context: |
| description: The configuration of Security Context trait |
| 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 |
| runAsNonRoot: |
| description: Security Context RunAsNonRoot configuration (default |
| false). |
| type: boolean |
| runAsUser: |
| description: 'Security Context RunAsUser configuration (default |
| none): this value is automatically retrieved in Openshift |
| clusters when not explicitly set.' |
| format: int64 |
| type: integer |
| seccompProfileType: |
| description: Security Context SeccompProfileType configuration |
| (default RuntimeDefault). |
| enum: |
| - Unconfined |
| - RuntimeDefault |
| type: string |
| type: object |
| service: |
| description: The configuration of Service trait |
| properties: |
| annotations: |
| additionalProperties: |
| type: string |
| description: The annotations added to the Service object. |
| type: object |
| auto: |
| description: To automatically detect from the code if a Service |
| needs to be created. |
| type: boolean |
| 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 |
| labels: |
| additionalProperties: |
| type: string |
| description: The labels added to the Service object. |
| type: object |
| nodePort: |
| description: |- |
| Enable Service to be exposed as NodePort (default `false`). |
| Deprecated: Use service type instead. |
| type: boolean |
| type: |
| description: The type of service to be used, either 'ClusterIP', |
| 'NodePort' or 'LoadBalancer'. |
| enum: |
| - ClusterIP |
| - NodePort |
| - LoadBalancer |
| type: string |
| type: object |
| service-binding: |
| description: The configuration of Service Binding trait |
| 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 |
| services: |
| description: List of Services in the form [[apigroup/]version:]kind:[namespace/]name |
| items: |
| type: string |
| type: array |
| type: object |
| strimzi: |
| description: 'Deprecated: for backward compatibility.' |
| properties: |
| configuration: |
| description: TraitConfiguration parameters configuration |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| required: |
| - configuration |
| type: object |
| telemetry: |
| description: The configuration of Telemetry trait |
| properties: |
| auto: |
| description: Enables automatic configuration of the trait, |
| including automatic discovery of the telemetry endpoint. |
| type: boolean |
| 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 |
| endpoint: |
| description: The target endpoint of the Telemetry service |
| (automatically discovered by default) |
| type: string |
| sampler: |
| description: The sampler of the telemetry used for tracing |
| (default "on") |
| type: string |
| sampler-parent-based: |
| description: The sampler of the telemetry used for tracing |
| is parent based (default "true") |
| type: boolean |
| sampler-ratio: |
| description: The sampler ratio of the telemetry used for tracing |
| type: string |
| serviceName: |
| description: The name of the service that publishes telemetry |
| data (defaults to the integration name) |
| type: string |
| type: object |
| toleration: |
| description: The configuration of Toleration trait |
| 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 |
| taints: |
| description: The list of taints to tolerate, in the form `Key[=Value]:Effect[:Seconds]` |
| items: |
| type: string |
| type: array |
| type: object |
| tracing: |
| description: 'Deprecated: for backward compatibility.' |
| properties: |
| configuration: |
| description: TraitConfiguration parameters configuration |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| required: |
| - configuration |
| type: object |
| type: object |
| version: |
| description: the Camel K operator version controlling this IntegrationPlatform |
| type: string |
| type: object |
| type: object |
| served: true |
| storage: true |
| subresources: |
| status: {} |
| --- |
| apiVersion: apiextensions.k8s.io/v1 |
| kind: CustomResourceDefinition |
| metadata: |
| annotations: |
| controller-gen.kubebuilder.io/version: v0.15.0 |
| labels: |
| app: camel-k |
| name: integrationprofiles.camel.apache.org |
| spec: |
| group: camel.apache.org |
| names: |
| categories: |
| - kamel |
| - camel |
| kind: IntegrationProfile |
| listKind: IntegrationProfileList |
| plural: integrationprofiles |
| shortNames: |
| - ipr |
| singular: integrationprofile |
| scope: Namespaced |
| versions: |
| - additionalPrinterColumns: |
| - description: The integration profile phase |
| jsonPath: .status.phase |
| name: Phase |
| type: string |
| - description: The default runtime version |
| jsonPath: .status.build.runtimeVersion |
| name: Default runtime |
| type: string |
| name: v1 |
| schema: |
| openAPIV3Schema: |
| description: |- |
| IntegrationProfile is the resource used to apply user defined settings to the Camel K operator behavior. |
| It defines the behavior of all Custom Resources (`IntegrationKit`, `Integration`, `Kamelet`) in the given namespace. |
| Deprecated: may be removed in future releases. Make use of IntegrationPlatform instead. |
| 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: IntegrationProfileSpec applies user defined settings to the |
| IntegrationProfile. |
| properties: |
| build: |
| description: specify how to build the Integration/IntegrationKits |
| properties: |
| baseImage: |
| description: |- |
| a base image that can be used as base layer for all images. |
| It can be useful if you want to provide some custom base image with further utility software |
| type: string |
| maven: |
| description: Maven configuration used to build the Camel/Camel-Quarkus |
| applications |
| properties: |
| caSecrets: |
| description: |- |
| The Secrets 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. |
| items: |
| description: SecretKeySelector 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: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the Secret or its key must |
| be defined |
| type: boolean |
| required: |
| - key |
| type: object |
| x-kubernetes-map-type: atomic |
| type: array |
| cliOptions: |
| description: |- |
| The CLI options that are appended to the list of arguments for Maven commands, |
| e.g., `-V,--no-transfer-progress,-Dstyle.color=never`. |
| See https://maven.apache.org/ref/3.8.4/maven-embedder/cli.html. |
| items: |
| type: string |
| type: array |
| extension: |
| description: |- |
| The Maven build extensions. |
| See https://maven.apache.org/guides/mini/guide-using-extensions.html. |
| items: |
| description: MavenArtifact defines a GAV (Group:Artifact:Type:Version:Classifier) |
| Maven artifact. |
| properties: |
| artifactId: |
| description: Maven Artifact |
| type: string |
| classifier: |
| description: Maven Classifier |
| type: string |
| groupId: |
| description: Maven Group |
| type: string |
| type: |
| description: Maven Type |
| type: string |
| version: |
| description: Maven Version |
| type: string |
| required: |
| - artifactId |
| - groupId |
| type: object |
| type: array |
| localRepository: |
| description: The path of the local Maven repository. |
| type: string |
| profiles: |
| description: |- |
| A reference to the ConfigMap or Secret key that contains |
| the Maven profile. |
| items: |
| description: ValueSource --. |
| properties: |
| configMapKeyRef: |
| description: Selects a key of a ConfigMap. |
| properties: |
| key: |
| description: The key to select. |
| type: string |
| name: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the ConfigMap or its |
| key must be defined |
| type: boolean |
| required: |
| - key |
| type: object |
| x-kubernetes-map-type: atomic |
| 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: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the Secret or its key |
| must be defined |
| type: boolean |
| required: |
| - key |
| type: object |
| x-kubernetes-map-type: atomic |
| type: object |
| type: array |
| properties: |
| additionalProperties: |
| type: string |
| description: The Maven properties. |
| type: object |
| settings: |
| description: |- |
| A reference to the ConfigMap or Secret key that contains |
| the Maven settings. |
| properties: |
| configMapKeyRef: |
| description: Selects a key of a ConfigMap. |
| properties: |
| key: |
| description: The key to select. |
| type: string |
| name: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the ConfigMap or its |
| key must be defined |
| type: boolean |
| required: |
| - key |
| type: object |
| x-kubernetes-map-type: atomic |
| 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: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the Secret or its key |
| must be defined |
| type: boolean |
| required: |
| - key |
| type: object |
| x-kubernetes-map-type: atomic |
| type: object |
| settingsSecurity: |
| description: |- |
| A reference to the ConfigMap or Secret key that contains |
| the security of the Maven settings. |
| properties: |
| configMapKeyRef: |
| description: Selects a key of a ConfigMap. |
| properties: |
| key: |
| description: The key to select. |
| type: string |
| name: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the ConfigMap or its |
| key must be defined |
| type: boolean |
| required: |
| - key |
| type: object |
| x-kubernetes-map-type: atomic |
| 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: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the Secret or its key |
| must be defined |
| type: boolean |
| required: |
| - key |
| type: object |
| x-kubernetes-map-type: atomic |
| type: object |
| type: object |
| registry: |
| description: the image registry used to push/pull Integration |
| images |
| properties: |
| address: |
| description: the URI to access |
| type: string |
| ca: |
| description: the configmap which stores the Certificate Authority |
| type: string |
| insecure: |
| description: if the container registry is insecure (ie, http |
| only) |
| type: boolean |
| organization: |
| description: the registry organization |
| type: string |
| secret: |
| description: the secret where credentials are stored |
| type: string |
| type: object |
| runtimeProvider: |
| description: the runtime used. Likely Camel Quarkus (we used to |
| have main runtime which has been discontinued since version |
| 1.5) |
| type: string |
| runtimeVersion: |
| description: the Camel K Runtime dependency version |
| type: string |
| timeout: |
| description: how much time to wait before time out the pipeline |
| process |
| type: string |
| type: object |
| kamelet: |
| description: configuration to be executed to all Kamelets controlled |
| by this IntegrationProfile |
| properties: |
| repositories: |
| description: remote repository used to retrieve Kamelet catalog |
| items: |
| description: KameletRepositorySpec defines the location of the |
| Kamelet catalog to use. |
| properties: |
| uri: |
| description: the remote repository in the format github:ORG/REPO/PATH_TO_KAMELETS_FOLDER |
| type: string |
| type: object |
| type: array |
| type: object |
| traits: |
| description: list of traits to be executed for all the Integration/IntegrationKits |
| built from this IntegrationProfile |
| properties: |
| 3scale: |
| description: 'Deprecated: for backward compatibility.' |
| properties: |
| configuration: |
| description: TraitConfiguration parameters configuration |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| required: |
| - configuration |
| type: object |
| addons: |
| additionalProperties: |
| description: AddonTrait represents the configuration of an addon |
| trait. |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| description: The extension point with addon traits |
| type: object |
| affinity: |
| description: The configuration of Affinity trait |
| 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 |
| nodeAffinityLabels: |
| description: Defines a set of nodes the integration pod(s) |
| are eligible to be scheduled on, based on labels on the |
| node. |
| items: |
| type: string |
| type: array |
| podAffinity: |
| description: Always co-locates multiple replicas of the integration |
| in the same node (default `false`). |
| type: boolean |
| podAffinityLabels: |
| description: |- |
| Defines a set of pods (namely those matching the label selector, relative to the given namespace) that the |
| integration pod(s) should be co-located with. |
| items: |
| type: string |
| type: array |
| podAntiAffinity: |
| description: Never co-locates multiple replicas of the integration |
| in the same node (default `false`). |
| type: boolean |
| podAntiAffinityLabels: |
| description: |- |
| Defines a set of pods (namely those matching the label selector, relative to the given namespace) that the |
| integration pod(s) should not be co-located with. |
| items: |
| type: string |
| type: array |
| type: object |
| builder: |
| description: The configuration of Builder trait |
| 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 configuration of Camel trait |
| 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 |
| runtimeVersion: |
| description: |- |
| The camel-k-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. |
| type: string |
| type: object |
| container: |
| description: The configuration of Container trait |
| properties: |
| allowPrivilegeEscalation: |
| description: Security Context AllowPrivilegeEscalation configuration |
| (default false). |
| type: boolean |
| auto: |
| description: To automatically enable the trait |
| type: boolean |
| capabilitiesAdd: |
| description: Security Context Capabilities Add configuration |
| (default none). |
| items: |
| description: Capability represent POSIX capabilities type |
| type: string |
| type: array |
| capabilitiesDrop: |
| description: Security Context Capabilities Drop configuration |
| (default ALL). |
| items: |
| description: Capability represent POSIX capabilities type |
| 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 |
| expose: |
| description: Can be used to enable/disable exposure via kubernetes |
| Service. |
| type: boolean |
| image: |
| description: |- |
| The main container image to use for the Integration. When using this parameter the operator will create a synthetic IntegrationKit which |
| won't be able to execute traits requiring CamelCatalog. If the container image you're using is coming from an IntegrationKit, use instead |
| Integration `.spec.integrationKit` parameter. If you're moving the Integration across environments, you will also need to create an "external" IntegrationKit. |
| type: string |
| imagePullPolicy: |
| description: 'The pull policy: Always|Never|IfNotPresent' |
| enum: |
| - Always |
| - Never |
| - IfNotPresent |
| type: string |
| limitCPU: |
| description: The maximum amount of CPU to be provided (default |
| 500 millicores). |
| type: string |
| limitMemory: |
| description: The maximum amount of memory to be provided (default |
| 512 Mi). |
| type: string |
| name: |
| description: The main container name. It's named `integration` |
| by default. |
| type: string |
| port: |
| description: To configure a different port exposed by the |
| container (default `8080`). |
| format: int32 |
| type: integer |
| portName: |
| description: To configure a different port name for the port |
| exposed by the container. It defaults to `http` only when |
| the `expose` parameter is true. |
| type: string |
| requestCPU: |
| description: The minimum amount of CPU required (default 125 |
| millicores). |
| type: string |
| requestMemory: |
| description: The minimum amount of memory required (default |
| 128 Mi). |
| type: string |
| runAsNonRoot: |
| description: Security Context RunAsNonRoot configuration (default |
| false). |
| type: boolean |
| runAsUser: |
| description: 'Security Context RunAsUser configuration (default |
| none): this value is automatically retrieved in Openshift |
| clusters when not explicitly set.' |
| format: int64 |
| type: integer |
| seccompProfileType: |
| description: Security Context SeccompProfileType configuration |
| (default RuntimeDefault). |
| enum: |
| - Unconfined |
| - RuntimeDefault |
| type: string |
| servicePort: |
| description: To configure under which service port the container |
| port is to be exposed (default `80`). |
| format: int32 |
| type: integer |
| servicePortName: |
| description: To configure under which service port name the |
| container port is to be exposed (default `http`). |
| type: string |
| type: object |
| cron: |
| description: The configuration of Cron trait |
| properties: |
| activeDeadlineSeconds: |
| description: |- |
| Specifies the duration in seconds, relative to the start time, that the job |
| may be continuously active before it is considered to be failed. |
| It defaults to 60s. |
| format: int64 |
| type: integer |
| auto: |
| description: |- |
| Automatically deploy the integration as CronJob when all routes are |
| either starting from a periodic consumer (only `cron`, `timer` and `quartz` are supported) or a passive consumer (e.g. `direct` is a passive consumer). |
| |
| |
| It's required that all periodic consumers have the same period, and it can be expressed as cron schedule (e.g. `1m` can be expressed as `0/1 * * * *`, |
| while `35m` or `50s` cannot). |
| type: boolean |
| backoffLimit: |
| description: |- |
| Specifies the number of retries before marking the job failed. |
| It defaults to 2. |
| format: int32 |
| type: integer |
| components: |
| description: |- |
| A comma separated list of the Camel components that need to be customized in order for them to work when the schedule is triggered externally by Kubernetes. |
| Supported components are currently: `cron`, `timer` and `quartz`. |
| type: string |
| concurrencyPolicy: |
| description: |- |
| Specifies how to treat concurrent executions of a Job. |
| Valid values are: |
| - "Allow": allows CronJobs to run concurrently; |
| - "Forbid" (default): forbids concurrent runs, skipping next run if previous run hasn't finished yet; |
| - "Replace": cancels currently running job and replaces it with a new one |
| enum: |
| - Allow |
| - Forbid |
| - Replace |
| type: string |
| 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 |
| fallback: |
| description: |- |
| Use the default Camel implementation of the `cron` endpoint (`quartz`) instead of trying to materialize the integration |
| as Kubernetes CronJob. |
| type: boolean |
| schedule: |
| description: |- |
| The CronJob schedule for the whole integration. If multiple routes are declared, they must have the same schedule for this |
| mechanism to work correctly. |
| type: string |
| startingDeadlineSeconds: |
| description: |- |
| Optional deadline in seconds for starting the job if it misses scheduled |
| time for any reason. Missed jobs executions will be counted as failed ones. |
| format: int64 |
| type: integer |
| timeZone: |
| description: The timezone that the CronJob will run on |
| type: string |
| type: object |
| dependencies: |
| description: The configuration of Dependencies trait |
| 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 |
| type: object |
| deployer: |
| description: The configuration of Deployer trait |
| 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 |
| kind: |
| description: Allows to explicitly select the desired deployment |
| kind between `deployment`, `cron-job` or `knative-service` |
| when creating the resources for running the integration. |
| enum: |
| - deployment |
| - cron-job |
| - knative-service |
| type: string |
| useSSA: |
| description: |- |
| Deprecated: won't be able to enforce client side update in the future. |
| Use server-side apply to update the owned resources (default `true`). |
| Note that it automatically falls back to client-side patching, if SSA is not available, e.g., on old Kubernetes clusters. |
| type: boolean |
| type: object |
| deployment: |
| description: The configuration of Deployment trait |
| 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 |
| progressDeadlineSeconds: |
| description: |- |
| The maximum time in seconds for the deployment to make progress before it |
| is considered to be failed. It defaults to `60s`. |
| format: int32 |
| type: integer |
| rollingUpdateMaxSurge: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| The maximum number of pods that can be scheduled above the desired number of |
| pods. |
| Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). |
| This can not be 0 if MaxUnavailable is 0. |
| Absolute number is calculated from percentage by rounding up. |
| Defaults to `25%`. |
| x-kubernetes-int-or-string: true |
| rollingUpdateMaxUnavailable: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| The maximum number of pods that can be unavailable during the update. |
| Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). |
| Absolute number is calculated from percentage by rounding down. |
| This can not be 0 if MaxSurge is 0. |
| Defaults to `25%`. |
| x-kubernetes-int-or-string: true |
| strategy: |
| description: The deployment strategy to use to replace existing |
| pods with new ones. |
| enum: |
| - Recreate |
| - RollingUpdate |
| type: string |
| type: object |
| environment: |
| description: The configuration of Environment trait |
| properties: |
| configuration: |
| description: |- |
| Legacy trait configuration parameters. |
| Deprecated: for backward compatibility. |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| containerMeta: |
| description: Enables injection of `NAMESPACE` and `POD_NAME` |
| environment variables (default `true`) |
| type: boolean |
| enabled: |
| description: 'Deprecated: no longer in use.' |
| type: boolean |
| httpProxy: |
| description: Propagates the `HTTP_PROXY`, `HTTPS_PROXY` and |
| `NO_PROXY` environment variables (default `true`) |
| type: boolean |
| vars: |
| description: |- |
| A list of environment variables to be added to the integration container. |
| The syntax is either VAR=VALUE or VAR=[configmap|secret]:name/key, where name represents the resource name, |
| and key represents the resource key to be mapped as and environment variable. |
| These take precedence over any previously defined environment variables. |
| items: |
| type: string |
| type: array |
| type: object |
| error-handler: |
| description: The configuration of Error Handler trait |
| 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 |
| ref: |
| description: The error handler ref name provided or found |
| in application properties |
| type: string |
| type: object |
| gc: |
| description: The configuration of GC trait |
| properties: |
| configuration: |
| description: |- |
| Legacy trait configuration parameters. |
| Deprecated: for backward compatibility. |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| discoveryCache: |
| description: |- |
| Discovery client cache to be used, either `disabled`, `disk` or `memory` (default `memory`). |
| Deprecated: no longer in use. |
| enum: |
| - disabled |
| - disk |
| - memory |
| type: string |
| enabled: |
| description: Can be used to enable or disable a trait. All |
| traits share this common property. |
| type: boolean |
| type: object |
| health: |
| description: The configuration of Health trait |
| 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 |
| livenessFailureThreshold: |
| description: Minimum consecutive failures for the liveness |
| probe to be considered failed after having succeeded. |
| format: int32 |
| type: integer |
| livenessInitialDelay: |
| description: Number of seconds after the container has started |
| before the liveness probe is initiated. |
| format: int32 |
| type: integer |
| livenessPeriod: |
| description: How often to perform the liveness probe. |
| format: int32 |
| type: integer |
| livenessProbe: |
| description: The liveness probe path to use (default provided |
| by the Catalog runtime used). |
| type: string |
| livenessProbeEnabled: |
| description: Configures the liveness probe for the integration |
| container (default `false`). |
| type: boolean |
| livenessScheme: |
| description: Scheme to use when connecting to the liveness |
| probe (default `HTTP`). |
| type: string |
| livenessSuccessThreshold: |
| description: Minimum consecutive successes for the liveness |
| probe to be considered successful after having failed. |
| format: int32 |
| type: integer |
| livenessTimeout: |
| description: Number of seconds after which the liveness probe |
| times out. |
| format: int32 |
| type: integer |
| readinessFailureThreshold: |
| description: Minimum consecutive failures for the readiness |
| probe to be considered failed after having succeeded. |
| format: int32 |
| type: integer |
| readinessInitialDelay: |
| description: Number of seconds after the container has started |
| before the readiness probe is initiated. |
| format: int32 |
| type: integer |
| readinessPeriod: |
| description: How often to perform the readiness probe. |
| format: int32 |
| type: integer |
| readinessProbe: |
| description: The readiness probe path to use (default provided |
| by the Catalog runtime used). |
| type: string |
| readinessProbeEnabled: |
| description: Configures the readiness probe for the integration |
| container (default `true`). |
| type: boolean |
| readinessScheme: |
| description: Scheme to use when connecting to the readiness |
| probe (default `HTTP`). |
| type: string |
| readinessSuccessThreshold: |
| description: Minimum consecutive successes for the readiness |
| probe to be considered successful after having failed. |
| format: int32 |
| type: integer |
| readinessTimeout: |
| description: Number of seconds after which the readiness probe |
| times out. |
| format: int32 |
| type: integer |
| startupFailureThreshold: |
| description: Minimum consecutive failures for the startup |
| probe to be considered failed after having succeeded. |
| format: int32 |
| type: integer |
| startupInitialDelay: |
| description: Number of seconds after the container has started |
| before the startup probe is initiated. |
| format: int32 |
| type: integer |
| startupPeriod: |
| description: How often to perform the startup probe. |
| format: int32 |
| type: integer |
| startupProbe: |
| description: The startup probe path to use (default provided |
| by the Catalog runtime used). |
| type: string |
| startupProbeEnabled: |
| description: Configures the startup probe for the integration |
| container (default `false`). |
| type: boolean |
| startupScheme: |
| description: Scheme to use when connecting to the startup |
| probe (default `HTTP`). |
| type: string |
| startupSuccessThreshold: |
| description: Minimum consecutive successes for the startup |
| probe to be considered successful after having failed. |
| format: int32 |
| type: integer |
| startupTimeout: |
| description: Number of seconds after which the startup probe |
| times out. |
| format: int32 |
| type: integer |
| type: object |
| ingress: |
| description: The configuration of Ingress trait |
| properties: |
| annotations: |
| additionalProperties: |
| type: string |
| description: |- |
| The annotations added to the ingress. |
| This can be used to set controller specific annotations, e.g., when using the NGINX Ingress controller: |
| See https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/nginx-configuration/annotations.md |
| type: object |
| auto: |
| description: To automatically add an ingress whenever the |
| integration uses an HTTP endpoint consumer. |
| type: boolean |
| 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 |
| host: |
| description: To configure the host exposed by the ingress. |
| type: string |
| ingressClassName: |
| description: |- |
| The Ingress class name as defined by the Ingress spec |
| See https://kubernetes.io/docs/concepts/services-networking/ingress/ |
| type: string |
| path: |
| description: To configure the path exposed by the ingress |
| (default `/`). |
| type: string |
| pathType: |
| description: |- |
| To configure the path type exposed by the ingress. |
| One of `Exact`, `Prefix`, `ImplementationSpecific` (default to `Prefix`). |
| enum: |
| - Exact |
| - Prefix |
| - ImplementationSpecific |
| type: string |
| tlsHosts: |
| description: To configure tls hosts |
| items: |
| type: string |
| type: array |
| tlsSecretName: |
| description: To configure tls secret name |
| type: string |
| type: object |
| istio: |
| description: The configuration of Istio trait |
| properties: |
| allow: |
| description: Configures a (comma-separated) list of CIDR subnets |
| that should not be intercepted by the Istio proxy (`10.0.0.0/8,172.16.0.0/12,192.168.0.0/16` |
| by default). |
| type: string |
| 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 |
| inject: |
| description: Forces the value for labels `sidecar.istio.io/inject`. |
| By default the label is set to `true` on deployment and |
| not set on Knative Service. |
| type: boolean |
| type: object |
| jolokia: |
| description: The configuration of Jolokia trait |
| properties: |
| CACert: |
| description: |- |
| The PEM encoded CA certification file path, used to verify client certificates, |
| applicable when `protocol` is `https` and `use-ssl-client-authentication` is `true` |
| (default `/var/run/secrets/kubernetes.io/serviceaccount/service-ca.crt` for OpenShift). |
| type: string |
| clientPrincipal: |
| description: |- |
| The principal(s) which must be given in a client certificate to allow access to the Jolokia endpoint, |
| applicable when `protocol` is `https` and `use-ssl-client-authentication` is `true` |
| (default `clientPrincipal=cn=system:master-proxy`, `cn=hawtio-online.hawtio.svc` and `cn=fuse-console.fuse.svc` for OpenShift). |
| items: |
| type: string |
| type: array |
| configuration: |
| description: |- |
| Legacy trait configuration parameters. |
| Deprecated: for backward compatibility. |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| discoveryEnabled: |
| description: Listen for multicast requests (default `false`) |
| type: boolean |
| enabled: |
| description: Can be used to enable or disable a trait. All |
| traits share this common property. |
| type: boolean |
| extendedClientCheck: |
| description: |- |
| Mandate the client certificate contains a client flag in the extended key usage section, |
| applicable when `protocol` is `https` and `use-ssl-client-authentication` is `true` |
| (default `true` for OpenShift). |
| type: boolean |
| host: |
| description: |- |
| The Host address to which the Jolokia agent should bind to. If `"\*"` or `"0.0.0.0"` is given, |
| the servers binds to every network interface (default `"*"`). |
| type: string |
| options: |
| description: |- |
| A list of additional Jolokia options as defined |
| in https://jolokia.org/reference/html/agents.html#agent-jvm-config[JVM agent configuration options] |
| items: |
| type: string |
| type: array |
| password: |
| description: The password used for authentication, applicable |
| when the `user` option is set. |
| type: string |
| port: |
| description: The Jolokia endpoint port (default `8778`). |
| format: int32 |
| type: integer |
| protocol: |
| description: The protocol to use, either `http` or `https` |
| (default `https` for OpenShift) |
| type: string |
| useSSLClientAuthentication: |
| description: Whether client certificates should be used for |
| authentication (default `true` for OpenShift). |
| type: boolean |
| user: |
| description: The user to be used for authentication |
| type: string |
| type: object |
| jvm: |
| description: The configuration of JVM trait |
| properties: |
| classpath: |
| description: Additional JVM classpath (use `Linux` classpath |
| separator) |
| type: string |
| configuration: |
| description: |- |
| Legacy trait configuration parameters. |
| Deprecated: for backward compatibility. |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| debug: |
| description: Activates remote debugging, so that a debugger |
| can be attached to the JVM, e.g., using port-forwarding |
| type: boolean |
| debugAddress: |
| description: Transport address at which to listen for the |
| newly launched JVM (default `*:5005`) |
| type: string |
| debugSuspend: |
| description: Suspends the target JVM immediately before the |
| main class is loaded |
| type: boolean |
| enabled: |
| description: Can be used to enable or disable a trait. All |
| traits share this common property. |
| type: boolean |
| jar: |
| description: The Jar dependency which will run the application. |
| Leave it empty for managed Integrations. |
| type: string |
| options: |
| description: A list of JVM options |
| items: |
| type: string |
| type: array |
| printCommand: |
| description: |- |
| Prints the command used the start the JVM in the container logs (default `true`) |
| Deprecated: no longer in use. |
| type: boolean |
| type: object |
| kamelets: |
| description: The configuration of Kamelets trait |
| properties: |
| auto: |
| description: Automatically inject all referenced Kamelets |
| and their default configuration (enabled by default) |
| type: boolean |
| 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 |
| list: |
| description: Comma separated list of Kamelet names to load |
| into the current integration |
| type: string |
| mountPoint: |
| description: The directory where the application mounts and |
| reads Kamelet spec (default `/etc/camel/kamelets`) |
| type: string |
| type: object |
| keda: |
| description: 'Deprecated: for backward compatibility.' |
| properties: |
| configuration: |
| description: TraitConfiguration parameters configuration |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| required: |
| - configuration |
| type: object |
| knative: |
| description: The configuration of Knative trait |
| properties: |
| auto: |
| description: Enable automatic discovery of all trait properties. |
| type: boolean |
| channelSinks: |
| description: |- |
| List of channels used as destination of integration routes. |
| Can contain simple channel names or full Camel URIs. |
| items: |
| type: string |
| type: array |
| channelSources: |
| description: |- |
| List of channels used as source of integration routes. |
| Can contain simple channel names or full Camel URIs. |
| items: |
| type: string |
| type: array |
| config: |
| description: Can be used to inject a Knative complete configuration |
| in JSON format. |
| type: string |
| 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 |
| endpointSinks: |
| description: |- |
| List of endpoints used as destination of integration routes. |
| Can contain simple endpoint names or full Camel URIs. |
| items: |
| type: string |
| type: array |
| endpointSources: |
| description: List of channels used as source of integration |
| routes. |
| items: |
| type: string |
| type: array |
| eventSinks: |
| description: |- |
| List of event types that the integration will produce. |
| Can contain simple event types or full Camel URIs (to use a specific broker). |
| items: |
| type: string |
| type: array |
| eventSources: |
| description: |- |
| List of event types that the integration will be subscribed to. |
| Can contain simple event types or full Camel URIs (to use a specific broker different from "default"). |
| items: |
| type: string |
| type: array |
| filterEventType: |
| description: |- |
| Enables the default filtering for the Knative trigger using the event type |
| If this is true, the created Knative trigger uses the event type as a filter on the event stream when no other filter criteria is given. (default: true) |
| type: boolean |
| filterSourceChannels: |
| description: |- |
| Enables filtering on events based on the header "ce-knativehistory". Since this header has been removed in newer versions of |
| Knative, filtering is disabled by default. |
| type: boolean |
| filters: |
| description: |- |
| Sets filter attributes on the event stream (such as event type, source, subject and so on). |
| A list of key-value pairs that represent filter attributes and its values. |
| The syntax is KEY=VALUE, e.g., `source="my.source"`. |
| Filter attributes get set on the Knative trigger that is being created as part of this integration. |
| items: |
| type: string |
| type: array |
| namespaceLabel: |
| description: |- |
| Enables the camel-k-operator to set the "bindings.knative.dev/include=true" label to the namespace |
| As Knative requires this label to perform injection of K_SINK URL into the service. |
| If this is false, the integration pod may start and fail, read the SinkBinding Knative documentation. (default: true) |
| type: boolean |
| sinkBinding: |
| description: |- |
| Allows binding the integration to a sink via a Knative SinkBinding resource. |
| This can be used when the integration targets a single sink. |
| It's enabled by default when the integration targets a single sink |
| (except when the integration is owned by a Knative source). |
| type: boolean |
| type: object |
| knative-service: |
| description: The configuration of Knative Service trait |
| properties: |
| annotations: |
| additionalProperties: |
| type: string |
| description: |- |
| The annotations added to route. |
| This can be used to set knative service specific annotations |
| CLI usage example: -t "knative-service.annotations.'haproxy.router.openshift.io/balance'=true" |
| type: object |
| auto: |
| description: |- |
| Automatically deploy the integration as Knative service when all conditions hold: |
| |
| |
| * Integration is using the Knative profile |
| * All routes are either starting from an HTTP based consumer or a passive consumer (e.g. `direct` is a passive consumer) |
| type: boolean |
| autoscalingMetric: |
| description: |- |
| Configures the Knative autoscaling metric property (e.g. to set `concurrency` based or `cpu` based autoscaling). |
| |
| |
| Refer to the Knative documentation for more information. |
| type: string |
| autoscalingTarget: |
| description: |- |
| Sets the allowed concurrency level or CPU percentage (depending on the autoscaling metric) for each Pod. |
| |
| |
| Refer to the Knative documentation for more information. |
| type: integer |
| class: |
| description: |- |
| Configures the Knative autoscaling class property (e.g. to set `hpa.autoscaling.knative.dev` or `kpa.autoscaling.knative.dev` autoscaling). |
| |
| |
| Refer to the Knative documentation for more information. |
| enum: |
| - kpa.autoscaling.knative.dev |
| - hpa.autoscaling.knative.dev |
| type: string |
| 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 |
| maxScale: |
| description: |- |
| An upper bound for the number of Pods that can be running in parallel for the integration. |
| Knative has its own cap value that depends on the installation. |
| |
| |
| Refer to the Knative documentation for more information. |
| type: integer |
| minScale: |
| description: |- |
| The minimum number of Pods that should be running at any time for the integration. It's **zero** by default, meaning that |
| the integration is scaled down to zero when not used for a configured amount of time. |
| |
| |
| Refer to the Knative documentation for more information. |
| type: integer |
| rolloutDuration: |
| description: |- |
| Enables to gradually shift traffic to the latest Revision and sets the rollout duration. |
| It's disabled by default and must be expressed as a Golang `time.Duration` string representation, |
| rounded to a second precision. |
| type: string |
| timeoutSeconds: |
| description: |- |
| The maximum duration in seconds that the request instance is allowed to respond to a request. |
| This field propagates to the integration pod's terminationGracePeriodSeconds |
| |
| |
| Refer to the Knative documentation for more information. |
| format: int64 |
| type: integer |
| visibility: |
| description: |- |
| Setting `cluster-local`, Knative service becomes a private service. |
| Specifically, this option applies the `networking.knative.dev/visibility` label to Knative service. |
| |
| |
| Refer to the Knative documentation for more information. |
| enum: |
| - cluster-local |
| type: string |
| type: object |
| logging: |
| description: The configuration of Logging trait |
| properties: |
| color: |
| description: Colorize the log output |
| type: boolean |
| 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 |
| format: |
| description: Logs message format |
| type: string |
| json: |
| description: Output the logs in JSON |
| type: boolean |
| jsonPrettyPrint: |
| description: Enable "pretty printing" of the JSON logs |
| type: boolean |
| level: |
| description: Adjust the logging level (defaults to `INFO`) |
| enum: |
| - FATAL |
| - WARN |
| - INFO |
| - DEBUG |
| - TRACE |
| type: string |
| type: object |
| master: |
| description: 'Deprecated: for backward compatibility.' |
| properties: |
| configuration: |
| description: TraitConfiguration parameters configuration |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| required: |
| - configuration |
| type: object |
| mount: |
| description: The configuration of Mount trait |
| properties: |
| configs: |
| description: |- |
| A list of configuration pointing to configmap/secret. |
| The configuration are expected to be UTF-8 resources as they are processed by runtime Camel Context and tried to be parsed as property files. |
| They are also made available on the classpath in order to ease their usage directly from the Route. |
| Syntax: [configmap|secret]:name[/key], where name represents the resource name and key optionally represents the resource key to be filtered |
| items: |
| type: string |
| type: array |
| configuration: |
| description: |- |
| Legacy trait configuration parameters. |
| Deprecated: for backward compatibility. |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| emptyDirs: |
| description: |- |
| A list of EmptyDir volumes to be mounted. An optional size limit may be configured (default 500Mi). |
| Syntax: name:/container/path[:sizeLimit] |
| items: |
| type: string |
| type: array |
| enabled: |
| description: 'Deprecated: no longer in use.' |
| type: boolean |
| hotReload: |
| description: |- |
| Enable "hot reload" when a secret/configmap mounted is edited (default `false`). The configmap/secret must be |
| marked with `camel.apache.org/integration` label to be taken in account. The resource will be watched for any kind change, also for |
| changes in metadata. |
| type: boolean |
| resources: |
| description: |- |
| A list of resources (text or binary content) pointing to configmap/secret. |
| The resources are expected to be any resource type (text or binary content). |
| The destination path can be either a default location or any path specified by the user. |
| Syntax: [configmap|secret]:name[/key][@path], where name represents the resource name, key optionally represents the resource key to be filtered and path represents the destination path |
| items: |
| type: string |
| type: array |
| scanKameletsImplicitLabelSecrets: |
| description: 'Deprecated: no longer available since version |
| 2.5.' |
| type: boolean |
| volumes: |
| description: |- |
| A list of Persistent Volume Claims to be mounted. Syntax: [pvcname:/container/path]. If the PVC is not found, the Integration fails. |
| You can use the syntax [pvcname:/container/path:size:accessMode<:storageClass>] to create a dynamic PVC based on the Storage Class provided |
| or the default cluster Storage Class. However, if the PVC exists, the operator would mount it. |
| items: |
| type: string |
| type: array |
| type: object |
| openapi: |
| description: The configuration of OpenAPI trait |
| properties: |
| configmaps: |
| description: The configmaps holding the spec of the OpenAPI |
| (compatible with > 3.0 spec only). |
| items: |
| 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 |
| type: object |
| owner: |
| description: The configuration of Owner trait |
| 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 |
| targetAnnotations: |
| description: The set of annotations to be transferred |
| items: |
| type: string |
| type: array |
| targetLabels: |
| description: The set of labels to be transferred |
| items: |
| type: string |
| type: array |
| type: object |
| pdb: |
| description: The configuration of PDB trait |
| 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 |
| maxUnavailable: |
| description: |- |
| The number of pods for the Integration that can be unavailable after an eviction. |
| It can be either an absolute number or a percentage (default `1` if `min-available` is also not set). |
| Only one of `max-unavailable` and `min-available` can be specified. |
| type: string |
| minAvailable: |
| description: |- |
| The number of pods for the Integration that must still be available after an eviction. |
| It can be either an absolute number or a percentage. |
| Only one of `min-available` and `max-unavailable` can be specified. |
| type: string |
| type: object |
| platform: |
| description: The configuration of Platform trait |
| properties: |
| auto: |
| description: |- |
| To automatically detect from the environment if a default platform can be created (it will be created on OpenShift or when a registry address is set). |
| Deprecated: Platform is auto generated by the operator install procedure - maintained for backward compatibility |
| type: boolean |
| configuration: |
| description: |- |
| Legacy trait configuration parameters. |
| Deprecated: for backward compatibility. |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| createDefault: |
| description: |- |
| To create a default (empty) platform when the platform is missing. |
| Deprecated: Platform is auto generated by the operator install procedure - maintained for backward compatibility |
| type: boolean |
| enabled: |
| description: 'Deprecated: no longer in use.' |
| type: boolean |
| global: |
| description: |- |
| Indicates if the platform should be created globally in the case of global operator (default true). |
| Deprecated: Platform is auto generated by the operator install procedure - maintained for backward compatibility |
| type: boolean |
| type: object |
| pod: |
| description: The configuration of Pod trait |
| 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 |
| prometheus: |
| description: The configuration of Prometheus trait |
| 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 |
| podMonitor: |
| description: Whether a `PodMonitor` resource is created (default |
| `true`). |
| type: boolean |
| podMonitorLabels: |
| description: The `PodMonitor` resource labels, applicable |
| when `pod-monitor` is `true`. |
| items: |
| type: string |
| type: array |
| type: object |
| pull-secret: |
| description: The configuration of Pull Secret trait |
| properties: |
| auto: |
| description: Automatically configures the platform registry |
| secret on the pod if it is of type `kubernetes.io/dockerconfigjson`. |
| type: boolean |
| 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 |
| imagePullerDelegation: |
| description: When using a global operator with a shared platform, |
| this enables delegation of the `system:image-puller` cluster |
| role on the operator namespace to the integration service |
| account. |
| type: boolean |
| secretName: |
| description: The pull secret name to set on the Pod. If left |
| empty this is automatically taken from the `IntegrationPlatform` |
| registry configuration. |
| type: string |
| type: object |
| quarkus: |
| description: The configuration of Quarkus trait |
| 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 configuration of Registry trait (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 |
| route: |
| description: The configuration of Route trait |
| properties: |
| annotations: |
| additionalProperties: |
| type: string |
| description: |- |
| The annotations added to route. |
| This can be used to set route specific annotations |
| For annotations options see https://docs.openshift.com/container-platform/3.11/architecture/networking/routes.html#route-specific-annotations |
| CLI usage example: -t "route.annotations.'haproxy.router.openshift.io/balance'=true" |
| type: object |
| 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 |
| host: |
| description: To configure the host exposed by the route. |
| type: string |
| tlsCACertificate: |
| description: |- |
| The TLS CA certificate contents. |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| type: string |
| tlsCACertificateSecret: |
| description: |- |
| The secret name and key reference to the TLS CA certificate. The format is "secret-name[/key-name]", the value represents the secret name, if there is only one key in the secret it will be read, otherwise you can set a key name separated with a "/". |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| type: string |
| tlsCertificate: |
| description: |- |
| The TLS certificate contents. |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| type: string |
| tlsCertificateSecret: |
| description: |- |
| The secret name and key reference to the TLS certificate. The format is "secret-name[/key-name]", the value represents the secret name, if there is only one key in the secret it will be read, otherwise you can set a key name separated with a "/". |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| type: string |
| tlsDestinationCACertificate: |
| description: |- |
| The destination CA certificate provides the contents of the ca certificate of the final destination. When using reencrypt |
| termination this file should be provided in order to have routers use it for health checks on the secure connection. |
| If this field is not specified, the router may provide its own destination CA and perform hostname validation using |
| the short service name (service.namespace.svc), which allows infrastructure generated certificates to automatically |
| verify. |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| type: string |
| tlsDestinationCACertificateSecret: |
| description: |- |
| The secret name and key reference to the destination CA certificate. The format is "secret-name[/key-name]", the value represents the secret name, if there is only one key in the secret it will be read, otherwise you can set a key name separated with a "/". |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| type: string |
| tlsInsecureEdgeTerminationPolicy: |
| description: |- |
| To configure how to deal with insecure traffic, e.g. `Allow`, `Disable` or `Redirect` traffic. |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| enum: |
| - None |
| - Allow |
| - Redirect |
| type: string |
| tlsKey: |
| description: |- |
| The TLS certificate key contents. |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| type: string |
| tlsKeySecret: |
| description: |- |
| The secret name and key reference to the TLS certificate key. The format is "secret-name[/key-name]", the value represents the secret name, if there is only one key in the secret it will be read, otherwise you can set a key name separated with a "/". |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| type: string |
| tlsTermination: |
| description: |- |
| The TLS termination type, like `edge`, `passthrough` or `reencrypt`. |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| enum: |
| - edge |
| - reencrypt |
| - passthrough |
| type: string |
| type: object |
| security-context: |
| description: The configuration of Security Context trait |
| 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 |
| runAsNonRoot: |
| description: Security Context RunAsNonRoot configuration (default |
| false). |
| type: boolean |
| runAsUser: |
| description: 'Security Context RunAsUser configuration (default |
| none): this value is automatically retrieved in Openshift |
| clusters when not explicitly set.' |
| format: int64 |
| type: integer |
| seccompProfileType: |
| description: Security Context SeccompProfileType configuration |
| (default RuntimeDefault). |
| enum: |
| - Unconfined |
| - RuntimeDefault |
| type: string |
| type: object |
| service: |
| description: The configuration of Service trait |
| properties: |
| annotations: |
| additionalProperties: |
| type: string |
| description: The annotations added to the Service object. |
| type: object |
| auto: |
| description: To automatically detect from the code if a Service |
| needs to be created. |
| type: boolean |
| 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 |
| labels: |
| additionalProperties: |
| type: string |
| description: The labels added to the Service object. |
| type: object |
| nodePort: |
| description: |- |
| Enable Service to be exposed as NodePort (default `false`). |
| Deprecated: Use service type instead. |
| type: boolean |
| type: |
| description: The type of service to be used, either 'ClusterIP', |
| 'NodePort' or 'LoadBalancer'. |
| enum: |
| - ClusterIP |
| - NodePort |
| - LoadBalancer |
| type: string |
| type: object |
| service-binding: |
| description: The configuration of Service Binding trait |
| 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 |
| services: |
| description: List of Services in the form [[apigroup/]version:]kind:[namespace/]name |
| items: |
| type: string |
| type: array |
| type: object |
| strimzi: |
| description: 'Deprecated: for backward compatibility.' |
| properties: |
| configuration: |
| description: TraitConfiguration parameters configuration |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| required: |
| - configuration |
| type: object |
| telemetry: |
| description: The configuration of Telemetry trait |
| properties: |
| auto: |
| description: Enables automatic configuration of the trait, |
| including automatic discovery of the telemetry endpoint. |
| type: boolean |
| 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 |
| endpoint: |
| description: The target endpoint of the Telemetry service |
| (automatically discovered by default) |
| type: string |
| sampler: |
| description: The sampler of the telemetry used for tracing |
| (default "on") |
| type: string |
| sampler-parent-based: |
| description: The sampler of the telemetry used for tracing |
| is parent based (default "true") |
| type: boolean |
| sampler-ratio: |
| description: The sampler ratio of the telemetry used for tracing |
| type: string |
| serviceName: |
| description: The name of the service that publishes telemetry |
| data (defaults to the integration name) |
| type: string |
| type: object |
| toleration: |
| description: The configuration of Toleration trait |
| 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 |
| taints: |
| description: The list of taints to tolerate, in the form `Key[=Value]:Effect[:Seconds]` |
| items: |
| type: string |
| type: array |
| type: object |
| tracing: |
| description: 'Deprecated: for backward compatibility.' |
| properties: |
| configuration: |
| description: TraitConfiguration parameters configuration |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| required: |
| - configuration |
| type: object |
| type: object |
| type: object |
| status: |
| description: IntegrationProfileStatus defines the observed state of IntegrationProfile. |
| properties: |
| build: |
| description: specify how to build the Integration/IntegrationKits |
| properties: |
| baseImage: |
| description: |- |
| a base image that can be used as base layer for all images. |
| It can be useful if you want to provide some custom base image with further utility software |
| type: string |
| maven: |
| description: Maven configuration used to build the Camel/Camel-Quarkus |
| applications |
| properties: |
| caSecrets: |
| description: |- |
| The Secrets 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. |
| items: |
| description: SecretKeySelector 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: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the Secret or its key must |
| be defined |
| type: boolean |
| required: |
| - key |
| type: object |
| x-kubernetes-map-type: atomic |
| type: array |
| cliOptions: |
| description: |- |
| The CLI options that are appended to the list of arguments for Maven commands, |
| e.g., `-V,--no-transfer-progress,-Dstyle.color=never`. |
| See https://maven.apache.org/ref/3.8.4/maven-embedder/cli.html. |
| items: |
| type: string |
| type: array |
| extension: |
| description: |- |
| The Maven build extensions. |
| See https://maven.apache.org/guides/mini/guide-using-extensions.html. |
| items: |
| description: MavenArtifact defines a GAV (Group:Artifact:Type:Version:Classifier) |
| Maven artifact. |
| properties: |
| artifactId: |
| description: Maven Artifact |
| type: string |
| classifier: |
| description: Maven Classifier |
| type: string |
| groupId: |
| description: Maven Group |
| type: string |
| type: |
| description: Maven Type |
| type: string |
| version: |
| description: Maven Version |
| type: string |
| required: |
| - artifactId |
| - groupId |
| type: object |
| type: array |
| localRepository: |
| description: The path of the local Maven repository. |
| type: string |
| profiles: |
| description: |- |
| A reference to the ConfigMap or Secret key that contains |
| the Maven profile. |
| items: |
| description: ValueSource --. |
| properties: |
| configMapKeyRef: |
| description: Selects a key of a ConfigMap. |
| properties: |
| key: |
| description: The key to select. |
| type: string |
| name: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the ConfigMap or its |
| key must be defined |
| type: boolean |
| required: |
| - key |
| type: object |
| x-kubernetes-map-type: atomic |
| 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: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the Secret or its key |
| must be defined |
| type: boolean |
| required: |
| - key |
| type: object |
| x-kubernetes-map-type: atomic |
| type: object |
| type: array |
| properties: |
| additionalProperties: |
| type: string |
| description: The Maven properties. |
| type: object |
| settings: |
| description: |- |
| A reference to the ConfigMap or Secret key that contains |
| the Maven settings. |
| properties: |
| configMapKeyRef: |
| description: Selects a key of a ConfigMap. |
| properties: |
| key: |
| description: The key to select. |
| type: string |
| name: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the ConfigMap or its |
| key must be defined |
| type: boolean |
| required: |
| - key |
| type: object |
| x-kubernetes-map-type: atomic |
| 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: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the Secret or its key |
| must be defined |
| type: boolean |
| required: |
| - key |
| type: object |
| x-kubernetes-map-type: atomic |
| type: object |
| settingsSecurity: |
| description: |- |
| A reference to the ConfigMap or Secret key that contains |
| the security of the Maven settings. |
| properties: |
| configMapKeyRef: |
| description: Selects a key of a ConfigMap. |
| properties: |
| key: |
| description: The key to select. |
| type: string |
| name: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the ConfigMap or its |
| key must be defined |
| type: boolean |
| required: |
| - key |
| type: object |
| x-kubernetes-map-type: atomic |
| 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: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the Secret or its key |
| must be defined |
| type: boolean |
| required: |
| - key |
| type: object |
| x-kubernetes-map-type: atomic |
| type: object |
| type: object |
| registry: |
| description: the image registry used to push/pull Integration |
| images |
| properties: |
| address: |
| description: the URI to access |
| type: string |
| ca: |
| description: the configmap which stores the Certificate Authority |
| type: string |
| insecure: |
| description: if the container registry is insecure (ie, http |
| only) |
| type: boolean |
| organization: |
| description: the registry organization |
| type: string |
| secret: |
| description: the secret where credentials are stored |
| type: string |
| type: object |
| runtimeProvider: |
| description: the runtime used. Likely Camel Quarkus (we used to |
| have main runtime which has been discontinued since version |
| 1.5) |
| type: string |
| runtimeVersion: |
| description: the Camel K Runtime dependency version |
| type: string |
| timeout: |
| description: how much time to wait before time out the pipeline |
| process |
| type: string |
| type: object |
| conditions: |
| description: which are the conditions met (particularly useful when |
| in ERROR phase) |
| items: |
| description: IntegrationProfileCondition 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 |
| kamelet: |
| description: configuration to be executed to all Kamelets controlled |
| by this IntegrationProfile |
| properties: |
| repositories: |
| description: remote repository used to retrieve Kamelet catalog |
| items: |
| description: KameletRepositorySpec defines the location of the |
| Kamelet catalog to use. |
| properties: |
| uri: |
| description: the remote repository in the format github:ORG/REPO/PATH_TO_KAMELETS_FOLDER |
| type: string |
| type: object |
| type: array |
| type: object |
| observedGeneration: |
| description: ObservedGeneration is the most recent generation observed |
| for this IntegrationProfile. |
| format: int64 |
| type: integer |
| phase: |
| description: defines in what phase the IntegrationProfile is found |
| type: string |
| traits: |
| description: list of traits to be executed for all the Integration/IntegrationKits |
| built from this IntegrationProfile |
| properties: |
| 3scale: |
| description: 'Deprecated: for backward compatibility.' |
| properties: |
| configuration: |
| description: TraitConfiguration parameters configuration |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| required: |
| - configuration |
| type: object |
| addons: |
| additionalProperties: |
| description: AddonTrait represents the configuration of an addon |
| trait. |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| description: The extension point with addon traits |
| type: object |
| affinity: |
| description: The configuration of Affinity trait |
| 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 |
| nodeAffinityLabels: |
| description: Defines a set of nodes the integration pod(s) |
| are eligible to be scheduled on, based on labels on the |
| node. |
| items: |
| type: string |
| type: array |
| podAffinity: |
| description: Always co-locates multiple replicas of the integration |
| in the same node (default `false`). |
| type: boolean |
| podAffinityLabels: |
| description: |- |
| Defines a set of pods (namely those matching the label selector, relative to the given namespace) that the |
| integration pod(s) should be co-located with. |
| items: |
| type: string |
| type: array |
| podAntiAffinity: |
| description: Never co-locates multiple replicas of the integration |
| in the same node (default `false`). |
| type: boolean |
| podAntiAffinityLabels: |
| description: |- |
| Defines a set of pods (namely those matching the label selector, relative to the given namespace) that the |
| integration pod(s) should not be co-located with. |
| items: |
| type: string |
| type: array |
| type: object |
| builder: |
| description: The configuration of Builder trait |
| 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 configuration of Camel trait |
| 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 |
| runtimeVersion: |
| description: |- |
| The camel-k-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. |
| type: string |
| type: object |
| container: |
| description: The configuration of Container trait |
| properties: |
| allowPrivilegeEscalation: |
| description: Security Context AllowPrivilegeEscalation configuration |
| (default false). |
| type: boolean |
| auto: |
| description: To automatically enable the trait |
| type: boolean |
| capabilitiesAdd: |
| description: Security Context Capabilities Add configuration |
| (default none). |
| items: |
| description: Capability represent POSIX capabilities type |
| type: string |
| type: array |
| capabilitiesDrop: |
| description: Security Context Capabilities Drop configuration |
| (default ALL). |
| items: |
| description: Capability represent POSIX capabilities type |
| 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 |
| expose: |
| description: Can be used to enable/disable exposure via kubernetes |
| Service. |
| type: boolean |
| image: |
| description: |- |
| The main container image to use for the Integration. When using this parameter the operator will create a synthetic IntegrationKit which |
| won't be able to execute traits requiring CamelCatalog. If the container image you're using is coming from an IntegrationKit, use instead |
| Integration `.spec.integrationKit` parameter. If you're moving the Integration across environments, you will also need to create an "external" IntegrationKit. |
| type: string |
| imagePullPolicy: |
| description: 'The pull policy: Always|Never|IfNotPresent' |
| enum: |
| - Always |
| - Never |
| - IfNotPresent |
| type: string |
| limitCPU: |
| description: The maximum amount of CPU to be provided (default |
| 500 millicores). |
| type: string |
| limitMemory: |
| description: The maximum amount of memory to be provided (default |
| 512 Mi). |
| type: string |
| name: |
| description: The main container name. It's named `integration` |
| by default. |
| type: string |
| port: |
| description: To configure a different port exposed by the |
| container (default `8080`). |
| format: int32 |
| type: integer |
| portName: |
| description: To configure a different port name for the port |
| exposed by the container. It defaults to `http` only when |
| the `expose` parameter is true. |
| type: string |
| requestCPU: |
| description: The minimum amount of CPU required (default 125 |
| millicores). |
| type: string |
| requestMemory: |
| description: The minimum amount of memory required (default |
| 128 Mi). |
| type: string |
| runAsNonRoot: |
| description: Security Context RunAsNonRoot configuration (default |
| false). |
| type: boolean |
| runAsUser: |
| description: 'Security Context RunAsUser configuration (default |
| none): this value is automatically retrieved in Openshift |
| clusters when not explicitly set.' |
| format: int64 |
| type: integer |
| seccompProfileType: |
| description: Security Context SeccompProfileType configuration |
| (default RuntimeDefault). |
| enum: |
| - Unconfined |
| - RuntimeDefault |
| type: string |
| servicePort: |
| description: To configure under which service port the container |
| port is to be exposed (default `80`). |
| format: int32 |
| type: integer |
| servicePortName: |
| description: To configure under which service port name the |
| container port is to be exposed (default `http`). |
| type: string |
| type: object |
| cron: |
| description: The configuration of Cron trait |
| properties: |
| activeDeadlineSeconds: |
| description: |- |
| Specifies the duration in seconds, relative to the start time, that the job |
| may be continuously active before it is considered to be failed. |
| It defaults to 60s. |
| format: int64 |
| type: integer |
| auto: |
| description: |- |
| Automatically deploy the integration as CronJob when all routes are |
| either starting from a periodic consumer (only `cron`, `timer` and `quartz` are supported) or a passive consumer (e.g. `direct` is a passive consumer). |
| |
| |
| It's required that all periodic consumers have the same period, and it can be expressed as cron schedule (e.g. `1m` can be expressed as `0/1 * * * *`, |
| while `35m` or `50s` cannot). |
| type: boolean |
| backoffLimit: |
| description: |- |
| Specifies the number of retries before marking the job failed. |
| It defaults to 2. |
| format: int32 |
| type: integer |
| components: |
| description: |- |
| A comma separated list of the Camel components that need to be customized in order for them to work when the schedule is triggered externally by Kubernetes. |
| Supported components are currently: `cron`, `timer` and `quartz`. |
| type: string |
| concurrencyPolicy: |
| description: |- |
| Specifies how to treat concurrent executions of a Job. |
| Valid values are: |
| - "Allow": allows CronJobs to run concurrently; |
| - "Forbid" (default): forbids concurrent runs, skipping next run if previous run hasn't finished yet; |
| - "Replace": cancels currently running job and replaces it with a new one |
| enum: |
| - Allow |
| - Forbid |
| - Replace |
| type: string |
| 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 |
| fallback: |
| description: |- |
| Use the default Camel implementation of the `cron` endpoint (`quartz`) instead of trying to materialize the integration |
| as Kubernetes CronJob. |
| type: boolean |
| schedule: |
| description: |- |
| The CronJob schedule for the whole integration. If multiple routes are declared, they must have the same schedule for this |
| mechanism to work correctly. |
| type: string |
| startingDeadlineSeconds: |
| description: |- |
| Optional deadline in seconds for starting the job if it misses scheduled |
| time for any reason. Missed jobs executions will be counted as failed ones. |
| format: int64 |
| type: integer |
| timeZone: |
| description: The timezone that the CronJob will run on |
| type: string |
| type: object |
| dependencies: |
| description: The configuration of Dependencies trait |
| 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 |
| type: object |
| deployer: |
| description: The configuration of Deployer trait |
| 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 |
| kind: |
| description: Allows to explicitly select the desired deployment |
| kind between `deployment`, `cron-job` or `knative-service` |
| when creating the resources for running the integration. |
| enum: |
| - deployment |
| - cron-job |
| - knative-service |
| type: string |
| useSSA: |
| description: |- |
| Deprecated: won't be able to enforce client side update in the future. |
| Use server-side apply to update the owned resources (default `true`). |
| Note that it automatically falls back to client-side patching, if SSA is not available, e.g., on old Kubernetes clusters. |
| type: boolean |
| type: object |
| deployment: |
| description: The configuration of Deployment trait |
| 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 |
| progressDeadlineSeconds: |
| description: |- |
| The maximum time in seconds for the deployment to make progress before it |
| is considered to be failed. It defaults to `60s`. |
| format: int32 |
| type: integer |
| rollingUpdateMaxSurge: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| The maximum number of pods that can be scheduled above the desired number of |
| pods. |
| Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). |
| This can not be 0 if MaxUnavailable is 0. |
| Absolute number is calculated from percentage by rounding up. |
| Defaults to `25%`. |
| x-kubernetes-int-or-string: true |
| rollingUpdateMaxUnavailable: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| The maximum number of pods that can be unavailable during the update. |
| Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). |
| Absolute number is calculated from percentage by rounding down. |
| This can not be 0 if MaxSurge is 0. |
| Defaults to `25%`. |
| x-kubernetes-int-or-string: true |
| strategy: |
| description: The deployment strategy to use to replace existing |
| pods with new ones. |
| enum: |
| - Recreate |
| - RollingUpdate |
| type: string |
| type: object |
| environment: |
| description: The configuration of Environment trait |
| properties: |
| configuration: |
| description: |- |
| Legacy trait configuration parameters. |
| Deprecated: for backward compatibility. |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| containerMeta: |
| description: Enables injection of `NAMESPACE` and `POD_NAME` |
| environment variables (default `true`) |
| type: boolean |
| enabled: |
| description: 'Deprecated: no longer in use.' |
| type: boolean |
| httpProxy: |
| description: Propagates the `HTTP_PROXY`, `HTTPS_PROXY` and |
| `NO_PROXY` environment variables (default `true`) |
| type: boolean |
| vars: |
| description: |- |
| A list of environment variables to be added to the integration container. |
| The syntax is either VAR=VALUE or VAR=[configmap|secret]:name/key, where name represents the resource name, |
| and key represents the resource key to be mapped as and environment variable. |
| These take precedence over any previously defined environment variables. |
| items: |
| type: string |
| type: array |
| type: object |
| error-handler: |
| description: The configuration of Error Handler trait |
| 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 |
| ref: |
| description: The error handler ref name provided or found |
| in application properties |
| type: string |
| type: object |
| gc: |
| description: The configuration of GC trait |
| properties: |
| configuration: |
| description: |- |
| Legacy trait configuration parameters. |
| Deprecated: for backward compatibility. |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| discoveryCache: |
| description: |- |
| Discovery client cache to be used, either `disabled`, `disk` or `memory` (default `memory`). |
| Deprecated: no longer in use. |
| enum: |
| - disabled |
| - disk |
| - memory |
| type: string |
| enabled: |
| description: Can be used to enable or disable a trait. All |
| traits share this common property. |
| type: boolean |
| type: object |
| health: |
| description: The configuration of Health trait |
| 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 |
| livenessFailureThreshold: |
| description: Minimum consecutive failures for the liveness |
| probe to be considered failed after having succeeded. |
| format: int32 |
| type: integer |
| livenessInitialDelay: |
| description: Number of seconds after the container has started |
| before the liveness probe is initiated. |
| format: int32 |
| type: integer |
| livenessPeriod: |
| description: How often to perform the liveness probe. |
| format: int32 |
| type: integer |
| livenessProbe: |
| description: The liveness probe path to use (default provided |
| by the Catalog runtime used). |
| type: string |
| livenessProbeEnabled: |
| description: Configures the liveness probe for the integration |
| container (default `false`). |
| type: boolean |
| livenessScheme: |
| description: Scheme to use when connecting to the liveness |
| probe (default `HTTP`). |
| type: string |
| livenessSuccessThreshold: |
| description: Minimum consecutive successes for the liveness |
| probe to be considered successful after having failed. |
| format: int32 |
| type: integer |
| livenessTimeout: |
| description: Number of seconds after which the liveness probe |
| times out. |
| format: int32 |
| type: integer |
| readinessFailureThreshold: |
| description: Minimum consecutive failures for the readiness |
| probe to be considered failed after having succeeded. |
| format: int32 |
| type: integer |
| readinessInitialDelay: |
| description: Number of seconds after the container has started |
| before the readiness probe is initiated. |
| format: int32 |
| type: integer |
| readinessPeriod: |
| description: How often to perform the readiness probe. |
| format: int32 |
| type: integer |
| readinessProbe: |
| description: The readiness probe path to use (default provided |
| by the Catalog runtime used). |
| type: string |
| readinessProbeEnabled: |
| description: Configures the readiness probe for the integration |
| container (default `true`). |
| type: boolean |
| readinessScheme: |
| description: Scheme to use when connecting to the readiness |
| probe (default `HTTP`). |
| type: string |
| readinessSuccessThreshold: |
| description: Minimum consecutive successes for the readiness |
| probe to be considered successful after having failed. |
| format: int32 |
| type: integer |
| readinessTimeout: |
| description: Number of seconds after which the readiness probe |
| times out. |
| format: int32 |
| type: integer |
| startupFailureThreshold: |
| description: Minimum consecutive failures for the startup |
| probe to be considered failed after having succeeded. |
| format: int32 |
| type: integer |
| startupInitialDelay: |
| description: Number of seconds after the container has started |
| before the startup probe is initiated. |
| format: int32 |
| type: integer |
| startupPeriod: |
| description: How often to perform the startup probe. |
| format: int32 |
| type: integer |
| startupProbe: |
| description: The startup probe path to use (default provided |
| by the Catalog runtime used). |
| type: string |
| startupProbeEnabled: |
| description: Configures the startup probe for the integration |
| container (default `false`). |
| type: boolean |
| startupScheme: |
| description: Scheme to use when connecting to the startup |
| probe (default `HTTP`). |
| type: string |
| startupSuccessThreshold: |
| description: Minimum consecutive successes for the startup |
| probe to be considered successful after having failed. |
| format: int32 |
| type: integer |
| startupTimeout: |
| description: Number of seconds after which the startup probe |
| times out. |
| format: int32 |
| type: integer |
| type: object |
| ingress: |
| description: The configuration of Ingress trait |
| properties: |
| annotations: |
| additionalProperties: |
| type: string |
| description: |- |
| The annotations added to the ingress. |
| This can be used to set controller specific annotations, e.g., when using the NGINX Ingress controller: |
| See https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/nginx-configuration/annotations.md |
| type: object |
| auto: |
| description: To automatically add an ingress whenever the |
| integration uses an HTTP endpoint consumer. |
| type: boolean |
| 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 |
| host: |
| description: To configure the host exposed by the ingress. |
| type: string |
| ingressClassName: |
| description: |- |
| The Ingress class name as defined by the Ingress spec |
| See https://kubernetes.io/docs/concepts/services-networking/ingress/ |
| type: string |
| path: |
| description: To configure the path exposed by the ingress |
| (default `/`). |
| type: string |
| pathType: |
| description: |- |
| To configure the path type exposed by the ingress. |
| One of `Exact`, `Prefix`, `ImplementationSpecific` (default to `Prefix`). |
| enum: |
| - Exact |
| - Prefix |
| - ImplementationSpecific |
| type: string |
| tlsHosts: |
| description: To configure tls hosts |
| items: |
| type: string |
| type: array |
| tlsSecretName: |
| description: To configure tls secret name |
| type: string |
| type: object |
| istio: |
| description: The configuration of Istio trait |
| properties: |
| allow: |
| description: Configures a (comma-separated) list of CIDR subnets |
| that should not be intercepted by the Istio proxy (`10.0.0.0/8,172.16.0.0/12,192.168.0.0/16` |
| by default). |
| type: string |
| 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 |
| inject: |
| description: Forces the value for labels `sidecar.istio.io/inject`. |
| By default the label is set to `true` on deployment and |
| not set on Knative Service. |
| type: boolean |
| type: object |
| jolokia: |
| description: The configuration of Jolokia trait |
| properties: |
| CACert: |
| description: |- |
| The PEM encoded CA certification file path, used to verify client certificates, |
| applicable when `protocol` is `https` and `use-ssl-client-authentication` is `true` |
| (default `/var/run/secrets/kubernetes.io/serviceaccount/service-ca.crt` for OpenShift). |
| type: string |
| clientPrincipal: |
| description: |- |
| The principal(s) which must be given in a client certificate to allow access to the Jolokia endpoint, |
| applicable when `protocol` is `https` and `use-ssl-client-authentication` is `true` |
| (default `clientPrincipal=cn=system:master-proxy`, `cn=hawtio-online.hawtio.svc` and `cn=fuse-console.fuse.svc` for OpenShift). |
| items: |
| type: string |
| type: array |
| configuration: |
| description: |- |
| Legacy trait configuration parameters. |
| Deprecated: for backward compatibility. |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| discoveryEnabled: |
| description: Listen for multicast requests (default `false`) |
| type: boolean |
| enabled: |
| description: Can be used to enable or disable a trait. All |
| traits share this common property. |
| type: boolean |
| extendedClientCheck: |
| description: |- |
| Mandate the client certificate contains a client flag in the extended key usage section, |
| applicable when `protocol` is `https` and `use-ssl-client-authentication` is `true` |
| (default `true` for OpenShift). |
| type: boolean |
| host: |
| description: |- |
| The Host address to which the Jolokia agent should bind to. If `"\*"` or `"0.0.0.0"` is given, |
| the servers binds to every network interface (default `"*"`). |
| type: string |
| options: |
| description: |- |
| A list of additional Jolokia options as defined |
| in https://jolokia.org/reference/html/agents.html#agent-jvm-config[JVM agent configuration options] |
| items: |
| type: string |
| type: array |
| password: |
| description: The password used for authentication, applicable |
| when the `user` option is set. |
| type: string |
| port: |
| description: The Jolokia endpoint port (default `8778`). |
| format: int32 |
| type: integer |
| protocol: |
| description: The protocol to use, either `http` or `https` |
| (default `https` for OpenShift) |
| type: string |
| useSSLClientAuthentication: |
| description: Whether client certificates should be used for |
| authentication (default `true` for OpenShift). |
| type: boolean |
| user: |
| description: The user to be used for authentication |
| type: string |
| type: object |
| jvm: |
| description: The configuration of JVM trait |
| properties: |
| classpath: |
| description: Additional JVM classpath (use `Linux` classpath |
| separator) |
| type: string |
| configuration: |
| description: |- |
| Legacy trait configuration parameters. |
| Deprecated: for backward compatibility. |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| debug: |
| description: Activates remote debugging, so that a debugger |
| can be attached to the JVM, e.g., using port-forwarding |
| type: boolean |
| debugAddress: |
| description: Transport address at which to listen for the |
| newly launched JVM (default `*:5005`) |
| type: string |
| debugSuspend: |
| description: Suspends the target JVM immediately before the |
| main class is loaded |
| type: boolean |
| enabled: |
| description: Can be used to enable or disable a trait. All |
| traits share this common property. |
| type: boolean |
| jar: |
| description: The Jar dependency which will run the application. |
| Leave it empty for managed Integrations. |
| type: string |
| options: |
| description: A list of JVM options |
| items: |
| type: string |
| type: array |
| printCommand: |
| description: |- |
| Prints the command used the start the JVM in the container logs (default `true`) |
| Deprecated: no longer in use. |
| type: boolean |
| type: object |
| kamelets: |
| description: The configuration of Kamelets trait |
| properties: |
| auto: |
| description: Automatically inject all referenced Kamelets |
| and their default configuration (enabled by default) |
| type: boolean |
| 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 |
| list: |
| description: Comma separated list of Kamelet names to load |
| into the current integration |
| type: string |
| mountPoint: |
| description: The directory where the application mounts and |
| reads Kamelet spec (default `/etc/camel/kamelets`) |
| type: string |
| type: object |
| keda: |
| description: 'Deprecated: for backward compatibility.' |
| properties: |
| configuration: |
| description: TraitConfiguration parameters configuration |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| required: |
| - configuration |
| type: object |
| knative: |
| description: The configuration of Knative trait |
| properties: |
| auto: |
| description: Enable automatic discovery of all trait properties. |
| type: boolean |
| channelSinks: |
| description: |- |
| List of channels used as destination of integration routes. |
| Can contain simple channel names or full Camel URIs. |
| items: |
| type: string |
| type: array |
| channelSources: |
| description: |- |
| List of channels used as source of integration routes. |
| Can contain simple channel names or full Camel URIs. |
| items: |
| type: string |
| type: array |
| config: |
| description: Can be used to inject a Knative complete configuration |
| in JSON format. |
| type: string |
| 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 |
| endpointSinks: |
| description: |- |
| List of endpoints used as destination of integration routes. |
| Can contain simple endpoint names or full Camel URIs. |
| items: |
| type: string |
| type: array |
| endpointSources: |
| description: List of channels used as source of integration |
| routes. |
| items: |
| type: string |
| type: array |
| eventSinks: |
| description: |- |
| List of event types that the integration will produce. |
| Can contain simple event types or full Camel URIs (to use a specific broker). |
| items: |
| type: string |
| type: array |
| eventSources: |
| description: |- |
| List of event types that the integration will be subscribed to. |
| Can contain simple event types or full Camel URIs (to use a specific broker different from "default"). |
| items: |
| type: string |
| type: array |
| filterEventType: |
| description: |- |
| Enables the default filtering for the Knative trigger using the event type |
| If this is true, the created Knative trigger uses the event type as a filter on the event stream when no other filter criteria is given. (default: true) |
| type: boolean |
| filterSourceChannels: |
| description: |- |
| Enables filtering on events based on the header "ce-knativehistory". Since this header has been removed in newer versions of |
| Knative, filtering is disabled by default. |
| type: boolean |
| filters: |
| description: |- |
| Sets filter attributes on the event stream (such as event type, source, subject and so on). |
| A list of key-value pairs that represent filter attributes and its values. |
| The syntax is KEY=VALUE, e.g., `source="my.source"`. |
| Filter attributes get set on the Knative trigger that is being created as part of this integration. |
| items: |
| type: string |
| type: array |
| namespaceLabel: |
| description: |- |
| Enables the camel-k-operator to set the "bindings.knative.dev/include=true" label to the namespace |
| As Knative requires this label to perform injection of K_SINK URL into the service. |
| If this is false, the integration pod may start and fail, read the SinkBinding Knative documentation. (default: true) |
| type: boolean |
| sinkBinding: |
| description: |- |
| Allows binding the integration to a sink via a Knative SinkBinding resource. |
| This can be used when the integration targets a single sink. |
| It's enabled by default when the integration targets a single sink |
| (except when the integration is owned by a Knative source). |
| type: boolean |
| type: object |
| knative-service: |
| description: The configuration of Knative Service trait |
| properties: |
| annotations: |
| additionalProperties: |
| type: string |
| description: |- |
| The annotations added to route. |
| This can be used to set knative service specific annotations |
| CLI usage example: -t "knative-service.annotations.'haproxy.router.openshift.io/balance'=true" |
| type: object |
| auto: |
| description: |- |
| Automatically deploy the integration as Knative service when all conditions hold: |
| |
| |
| * Integration is using the Knative profile |
| * All routes are either starting from an HTTP based consumer or a passive consumer (e.g. `direct` is a passive consumer) |
| type: boolean |
| autoscalingMetric: |
| description: |- |
| Configures the Knative autoscaling metric property (e.g. to set `concurrency` based or `cpu` based autoscaling). |
| |
| |
| Refer to the Knative documentation for more information. |
| type: string |
| autoscalingTarget: |
| description: |- |
| Sets the allowed concurrency level or CPU percentage (depending on the autoscaling metric) for each Pod. |
| |
| |
| Refer to the Knative documentation for more information. |
| type: integer |
| class: |
| description: |- |
| Configures the Knative autoscaling class property (e.g. to set `hpa.autoscaling.knative.dev` or `kpa.autoscaling.knative.dev` autoscaling). |
| |
| |
| Refer to the Knative documentation for more information. |
| enum: |
| - kpa.autoscaling.knative.dev |
| - hpa.autoscaling.knative.dev |
| type: string |
| 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 |
| maxScale: |
| description: |- |
| An upper bound for the number of Pods that can be running in parallel for the integration. |
| Knative has its own cap value that depends on the installation. |
| |
| |
| Refer to the Knative documentation for more information. |
| type: integer |
| minScale: |
| description: |- |
| The minimum number of Pods that should be running at any time for the integration. It's **zero** by default, meaning that |
| the integration is scaled down to zero when not used for a configured amount of time. |
| |
| |
| Refer to the Knative documentation for more information. |
| type: integer |
| rolloutDuration: |
| description: |- |
| Enables to gradually shift traffic to the latest Revision and sets the rollout duration. |
| It's disabled by default and must be expressed as a Golang `time.Duration` string representation, |
| rounded to a second precision. |
| type: string |
| timeoutSeconds: |
| description: |- |
| The maximum duration in seconds that the request instance is allowed to respond to a request. |
| This field propagates to the integration pod's terminationGracePeriodSeconds |
| |
| |
| Refer to the Knative documentation for more information. |
| format: int64 |
| type: integer |
| visibility: |
| description: |- |
| Setting `cluster-local`, Knative service becomes a private service. |
| Specifically, this option applies the `networking.knative.dev/visibility` label to Knative service. |
| |
| |
| Refer to the Knative documentation for more information. |
| enum: |
| - cluster-local |
| type: string |
| type: object |
| logging: |
| description: The configuration of Logging trait |
| properties: |
| color: |
| description: Colorize the log output |
| type: boolean |
| 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 |
| format: |
| description: Logs message format |
| type: string |
| json: |
| description: Output the logs in JSON |
| type: boolean |
| jsonPrettyPrint: |
| description: Enable "pretty printing" of the JSON logs |
| type: boolean |
| level: |
| description: Adjust the logging level (defaults to `INFO`) |
| enum: |
| - FATAL |
| - WARN |
| - INFO |
| - DEBUG |
| - TRACE |
| type: string |
| type: object |
| master: |
| description: 'Deprecated: for backward compatibility.' |
| properties: |
| configuration: |
| description: TraitConfiguration parameters configuration |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| required: |
| - configuration |
| type: object |
| mount: |
| description: The configuration of Mount trait |
| properties: |
| configs: |
| description: |- |
| A list of configuration pointing to configmap/secret. |
| The configuration are expected to be UTF-8 resources as they are processed by runtime Camel Context and tried to be parsed as property files. |
| They are also made available on the classpath in order to ease their usage directly from the Route. |
| Syntax: [configmap|secret]:name[/key], where name represents the resource name and key optionally represents the resource key to be filtered |
| items: |
| type: string |
| type: array |
| configuration: |
| description: |- |
| Legacy trait configuration parameters. |
| Deprecated: for backward compatibility. |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| emptyDirs: |
| description: |- |
| A list of EmptyDir volumes to be mounted. An optional size limit may be configured (default 500Mi). |
| Syntax: name:/container/path[:sizeLimit] |
| items: |
| type: string |
| type: array |
| enabled: |
| description: 'Deprecated: no longer in use.' |
| type: boolean |
| hotReload: |
| description: |- |
| Enable "hot reload" when a secret/configmap mounted is edited (default `false`). The configmap/secret must be |
| marked with `camel.apache.org/integration` label to be taken in account. The resource will be watched for any kind change, also for |
| changes in metadata. |
| type: boolean |
| resources: |
| description: |- |
| A list of resources (text or binary content) pointing to configmap/secret. |
| The resources are expected to be any resource type (text or binary content). |
| The destination path can be either a default location or any path specified by the user. |
| Syntax: [configmap|secret]:name[/key][@path], where name represents the resource name, key optionally represents the resource key to be filtered and path represents the destination path |
| items: |
| type: string |
| type: array |
| scanKameletsImplicitLabelSecrets: |
| description: 'Deprecated: no longer available since version |
| 2.5.' |
| type: boolean |
| volumes: |
| description: |- |
| A list of Persistent Volume Claims to be mounted. Syntax: [pvcname:/container/path]. If the PVC is not found, the Integration fails. |
| You can use the syntax [pvcname:/container/path:size:accessMode<:storageClass>] to create a dynamic PVC based on the Storage Class provided |
| or the default cluster Storage Class. However, if the PVC exists, the operator would mount it. |
| items: |
| type: string |
| type: array |
| type: object |
| openapi: |
| description: The configuration of OpenAPI trait |
| properties: |
| configmaps: |
| description: The configmaps holding the spec of the OpenAPI |
| (compatible with > 3.0 spec only). |
| items: |
| 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 |
| type: object |
| owner: |
| description: The configuration of Owner trait |
| 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 |
| targetAnnotations: |
| description: The set of annotations to be transferred |
| items: |
| type: string |
| type: array |
| targetLabels: |
| description: The set of labels to be transferred |
| items: |
| type: string |
| type: array |
| type: object |
| pdb: |
| description: The configuration of PDB trait |
| 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 |
| maxUnavailable: |
| description: |- |
| The number of pods for the Integration that can be unavailable after an eviction. |
| It can be either an absolute number or a percentage (default `1` if `min-available` is also not set). |
| Only one of `max-unavailable` and `min-available` can be specified. |
| type: string |
| minAvailable: |
| description: |- |
| The number of pods for the Integration that must still be available after an eviction. |
| It can be either an absolute number or a percentage. |
| Only one of `min-available` and `max-unavailable` can be specified. |
| type: string |
| type: object |
| platform: |
| description: The configuration of Platform trait |
| properties: |
| auto: |
| description: |- |
| To automatically detect from the environment if a default platform can be created (it will be created on OpenShift or when a registry address is set). |
| Deprecated: Platform is auto generated by the operator install procedure - maintained for backward compatibility |
| type: boolean |
| configuration: |
| description: |- |
| Legacy trait configuration parameters. |
| Deprecated: for backward compatibility. |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| createDefault: |
| description: |- |
| To create a default (empty) platform when the platform is missing. |
| Deprecated: Platform is auto generated by the operator install procedure - maintained for backward compatibility |
| type: boolean |
| enabled: |
| description: 'Deprecated: no longer in use.' |
| type: boolean |
| global: |
| description: |- |
| Indicates if the platform should be created globally in the case of global operator (default true). |
| Deprecated: Platform is auto generated by the operator install procedure - maintained for backward compatibility |
| type: boolean |
| type: object |
| pod: |
| description: The configuration of Pod trait |
| 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 |
| prometheus: |
| description: The configuration of Prometheus trait |
| 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 |
| podMonitor: |
| description: Whether a `PodMonitor` resource is created (default |
| `true`). |
| type: boolean |
| podMonitorLabels: |
| description: The `PodMonitor` resource labels, applicable |
| when `pod-monitor` is `true`. |
| items: |
| type: string |
| type: array |
| type: object |
| pull-secret: |
| description: The configuration of Pull Secret trait |
| properties: |
| auto: |
| description: Automatically configures the platform registry |
| secret on the pod if it is of type `kubernetes.io/dockerconfigjson`. |
| type: boolean |
| 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 |
| imagePullerDelegation: |
| description: When using a global operator with a shared platform, |
| this enables delegation of the `system:image-puller` cluster |
| role on the operator namespace to the integration service |
| account. |
| type: boolean |
| secretName: |
| description: The pull secret name to set on the Pod. If left |
| empty this is automatically taken from the `IntegrationPlatform` |
| registry configuration. |
| type: string |
| type: object |
| quarkus: |
| description: The configuration of Quarkus trait |
| 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 configuration of Registry trait (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 |
| route: |
| description: The configuration of Route trait |
| properties: |
| annotations: |
| additionalProperties: |
| type: string |
| description: |- |
| The annotations added to route. |
| This can be used to set route specific annotations |
| For annotations options see https://docs.openshift.com/container-platform/3.11/architecture/networking/routes.html#route-specific-annotations |
| CLI usage example: -t "route.annotations.'haproxy.router.openshift.io/balance'=true" |
| type: object |
| 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 |
| host: |
| description: To configure the host exposed by the route. |
| type: string |
| tlsCACertificate: |
| description: |- |
| The TLS CA certificate contents. |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| type: string |
| tlsCACertificateSecret: |
| description: |- |
| The secret name and key reference to the TLS CA certificate. The format is "secret-name[/key-name]", the value represents the secret name, if there is only one key in the secret it will be read, otherwise you can set a key name separated with a "/". |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| type: string |
| tlsCertificate: |
| description: |- |
| The TLS certificate contents. |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| type: string |
| tlsCertificateSecret: |
| description: |- |
| The secret name and key reference to the TLS certificate. The format is "secret-name[/key-name]", the value represents the secret name, if there is only one key in the secret it will be read, otherwise you can set a key name separated with a "/". |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| type: string |
| tlsDestinationCACertificate: |
| description: |- |
| The destination CA certificate provides the contents of the ca certificate of the final destination. When using reencrypt |
| termination this file should be provided in order to have routers use it for health checks on the secure connection. |
| If this field is not specified, the router may provide its own destination CA and perform hostname validation using |
| the short service name (service.namespace.svc), which allows infrastructure generated certificates to automatically |
| verify. |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| type: string |
| tlsDestinationCACertificateSecret: |
| description: |- |
| The secret name and key reference to the destination CA certificate. The format is "secret-name[/key-name]", the value represents the secret name, if there is only one key in the secret it will be read, otherwise you can set a key name separated with a "/". |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| type: string |
| tlsInsecureEdgeTerminationPolicy: |
| description: |- |
| To configure how to deal with insecure traffic, e.g. `Allow`, `Disable` or `Redirect` traffic. |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| enum: |
| - None |
| - Allow |
| - Redirect |
| type: string |
| tlsKey: |
| description: |- |
| The TLS certificate key contents. |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| type: string |
| tlsKeySecret: |
| description: |- |
| The secret name and key reference to the TLS certificate key. The format is "secret-name[/key-name]", the value represents the secret name, if there is only one key in the secret it will be read, otherwise you can set a key name separated with a "/". |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| type: string |
| tlsTermination: |
| description: |- |
| The TLS termination type, like `edge`, `passthrough` or `reencrypt`. |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| enum: |
| - edge |
| - reencrypt |
| - passthrough |
| type: string |
| type: object |
| security-context: |
| description: The configuration of Security Context trait |
| 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 |
| runAsNonRoot: |
| description: Security Context RunAsNonRoot configuration (default |
| false). |
| type: boolean |
| runAsUser: |
| description: 'Security Context RunAsUser configuration (default |
| none): this value is automatically retrieved in Openshift |
| clusters when not explicitly set.' |
| format: int64 |
| type: integer |
| seccompProfileType: |
| description: Security Context SeccompProfileType configuration |
| (default RuntimeDefault). |
| enum: |
| - Unconfined |
| - RuntimeDefault |
| type: string |
| type: object |
| service: |
| description: The configuration of Service trait |
| properties: |
| annotations: |
| additionalProperties: |
| type: string |
| description: The annotations added to the Service object. |
| type: object |
| auto: |
| description: To automatically detect from the code if a Service |
| needs to be created. |
| type: boolean |
| 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 |
| labels: |
| additionalProperties: |
| type: string |
| description: The labels added to the Service object. |
| type: object |
| nodePort: |
| description: |- |
| Enable Service to be exposed as NodePort (default `false`). |
| Deprecated: Use service type instead. |
| type: boolean |
| type: |
| description: The type of service to be used, either 'ClusterIP', |
| 'NodePort' or 'LoadBalancer'. |
| enum: |
| - ClusterIP |
| - NodePort |
| - LoadBalancer |
| type: string |
| type: object |
| service-binding: |
| description: The configuration of Service Binding trait |
| 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 |
| services: |
| description: List of Services in the form [[apigroup/]version:]kind:[namespace/]name |
| items: |
| type: string |
| type: array |
| type: object |
| strimzi: |
| description: 'Deprecated: for backward compatibility.' |
| properties: |
| configuration: |
| description: TraitConfiguration parameters configuration |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| required: |
| - configuration |
| type: object |
| telemetry: |
| description: The configuration of Telemetry trait |
| properties: |
| auto: |
| description: Enables automatic configuration of the trait, |
| including automatic discovery of the telemetry endpoint. |
| type: boolean |
| 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 |
| endpoint: |
| description: The target endpoint of the Telemetry service |
| (automatically discovered by default) |
| type: string |
| sampler: |
| description: The sampler of the telemetry used for tracing |
| (default "on") |
| type: string |
| sampler-parent-based: |
| description: The sampler of the telemetry used for tracing |
| is parent based (default "true") |
| type: boolean |
| sampler-ratio: |
| description: The sampler ratio of the telemetry used for tracing |
| type: string |
| serviceName: |
| description: The name of the service that publishes telemetry |
| data (defaults to the integration name) |
| type: string |
| type: object |
| toleration: |
| description: The configuration of Toleration trait |
| 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 |
| taints: |
| description: The list of taints to tolerate, in the form `Key[=Value]:Effect[:Seconds]` |
| items: |
| type: string |
| type: array |
| type: object |
| tracing: |
| description: 'Deprecated: for backward compatibility.' |
| properties: |
| configuration: |
| description: TraitConfiguration parameters configuration |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| required: |
| - configuration |
| type: object |
| type: object |
| type: object |
| type: object |
| served: true |
| storage: true |
| subresources: |
| status: {} |
| --- |
| apiVersion: apiextensions.k8s.io/v1 |
| kind: CustomResourceDefinition |
| metadata: |
| annotations: |
| controller-gen.kubebuilder.io/version: v0.15.0 |
| labels: |
| app: camel-k |
| name: integrations.camel.apache.org |
| spec: |
| group: camel.apache.org |
| names: |
| categories: |
| - kamel |
| - camel |
| kind: Integration |
| listKind: IntegrationList |
| plural: integrations |
| shortNames: |
| - it |
| singular: integration |
| scope: Namespaced |
| versions: |
| - additionalPrinterColumns: |
| - description: The integration phase |
| jsonPath: .status.phase |
| name: Phase |
| type: string |
| - description: The integration readiness |
| jsonPath: .status.conditions[?(@.type=="Ready")].status |
| name: Ready |
| type: string |
| - description: The runtime version |
| jsonPath: .status.runtimeProvider |
| name: Runtime Provider |
| type: string |
| - description: The runtime provider |
| jsonPath: .status.runtimeVersion |
| name: Runtime Version |
| type: string |
| - description: The catalog version |
| jsonPath: .status.catalog.version |
| name: Catalog Version |
| type: string |
| - description: The integration kit |
| jsonPath: .status.integrationKit.name |
| name: Kit |
| type: string |
| - description: The number of pods |
| jsonPath: .status.replicas |
| name: Replicas |
| type: integer |
| name: v1 |
| schema: |
| openAPIV3Schema: |
| description: Integration is the Schema for the integrations 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: the desired Integration specification |
| 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 |
| 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: the list of Camel or Maven dependencies required by the |
| Integration |
| items: |
| type: string |
| type: array |
| flows: |
| description: a source in YAML DSL language which contain the routes |
| to run |
| items: |
| description: Flow is an unstructured object representing a Camel |
| Flow in YAML/JSON DSL. |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| type: array |
| integrationKit: |
| description: the reference of the `IntegrationKit` which is used for |
| this Integration |
| properties: |
| apiVersion: |
| description: API version of the referent. |
| type: string |
| fieldPath: |
| description: |- |
| If referring to a piece of an object instead of an entire object, this string |
| should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. |
| For example, if the object reference is to a container within a pod, this would take on a value like: |
| "spec.containers{name}" (where "name" refers to the name of the container that triggered |
| the event) or if no container name is specified "spec.containers[2]" (container with |
| index 2 in this pod). This syntax is chosen only to have some well-defined way of |
| referencing a part of an object. |
| TODO: this design is not final and this field is subject to change in the future. |
| type: string |
| kind: |
| description: |- |
| Kind of the referent. |
| More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| type: string |
| name: |
| description: |- |
| Name of the referent. |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| type: string |
| namespace: |
| description: |- |
| Namespace of the referent. |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ |
| type: string |
| resourceVersion: |
| description: |- |
| Specific resourceVersion to which this reference is made, if any. |
| More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency |
| type: string |
| uid: |
| description: |- |
| UID of the referent. |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids |
| type: string |
| type: object |
| x-kubernetes-map-type: atomic |
| profile: |
| description: the profile needed to run this Integration |
| type: string |
| replicas: |
| description: the number of `Pods` needed for the running Integration |
| format: int32 |
| type: integer |
| repositories: |
| description: additional Maven repositories to be used |
| items: |
| type: string |
| type: array |
| serviceAccountName: |
| description: custom SA to use for the Integration |
| type: string |
| sources: |
| description: the sources which contain the Camel routes to run |
| 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 |
| template: |
| description: Pod template customization |
| properties: |
| spec: |
| description: the specification |
| properties: |
| activeDeadlineSeconds: |
| description: ActiveDeadlineSeconds |
| format: int64 |
| type: integer |
| automountServiceAccountToken: |
| description: AutomountServiceAccountToken |
| type: boolean |
| containers: |
| description: Containers |
| items: |
| description: A single application container that you want |
| to run within a pod. |
| properties: |
| args: |
| description: |- |
| Arguments to the entrypoint. |
| The container image's CMD is used if this is not provided. |
| Variable references $(VAR_NAME) are expanded using the container's environment. If a variable |
| cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced |
| to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will |
| produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless |
| of whether the variable exists or not. Cannot be updated. |
| More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell |
| items: |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| command: |
| description: |- |
| Entrypoint array. Not executed within a shell. |
| The container image's ENTRYPOINT is used if this is not provided. |
| Variable references $(VAR_NAME) are expanded using the container's environment. If a variable |
| cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced |
| to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will |
| produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless |
| of whether the variable exists or not. Cannot be updated. |
| More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell |
| items: |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| env: |
| description: |- |
| List of environment variables to set in the container. |
| Cannot be updated. |
| items: |
| description: EnvVar represents an environment variable |
| present in a Container. |
| properties: |
| name: |
| description: Name of the environment variable. |
| Must be a C_IDENTIFIER. |
| type: string |
| value: |
| description: |- |
| Variable references $(VAR_NAME) are expanded |
| using the previously defined environment variables in the container and |
| any service environment variables. If a variable cannot be resolved, |
| the reference in the input string will be unchanged. Double $$ are reduced |
| to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. |
| "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". |
| Escaped references will never be expanded, regardless of whether the variable |
| exists or not. |
| Defaults to "". |
| type: string |
| valueFrom: |
| description: Source for the environment variable's |
| value. Cannot be used if value is not empty. |
| properties: |
| configMapKeyRef: |
| description: Selects a key of a ConfigMap. |
| properties: |
| key: |
| description: The key to select. |
| type: string |
| name: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the ConfigMap |
| or its key must be defined |
| type: boolean |
| required: |
| - key |
| type: object |
| x-kubernetes-map-type: atomic |
| fieldRef: |
| description: |- |
| Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['<KEY>']`, `metadata.annotations['<KEY>']`, |
| spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. |
| properties: |
| apiVersion: |
| description: Version of the schema the |
| FieldPath is written in terms of, defaults |
| to "v1". |
| type: string |
| fieldPath: |
| description: Path of the field to select |
| in the specified API version. |
| type: string |
| required: |
| - fieldPath |
| type: object |
| x-kubernetes-map-type: atomic |
| resourceFieldRef: |
| description: |- |
| Selects a resource of the container: only resources limits and requests |
| (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. |
| properties: |
| containerName: |
| description: 'Container name: required |
| for volumes, optional for env vars' |
| type: string |
| divisor: |
| anyOf: |
| - type: integer |
| - type: string |
| description: Specifies the output format |
| of the exposed resources, defaults to |
| "1" |
| pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ |
| x-kubernetes-int-or-string: true |
| resource: |
| description: 'Required: resource to select' |
| type: string |
| required: |
| - resource |
| type: object |
| x-kubernetes-map-type: atomic |
| secretKeyRef: |
| description: Selects a key of a secret in |
| the pod's namespace |
| properties: |
| key: |
| description: The key of the secret to |
| select from. Must be a valid secret |
| key. |
| type: string |
| name: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the Secret |
| or its key must be defined |
| type: boolean |
| required: |
| - key |
| type: object |
| x-kubernetes-map-type: atomic |
| type: object |
| required: |
| - name |
| type: object |
| type: array |
| x-kubernetes-list-map-keys: |
| - name |
| x-kubernetes-list-type: map |
| envFrom: |
| description: |- |
| List of sources to populate environment variables in the container. |
| The keys defined within a source must be a C_IDENTIFIER. All invalid keys |
| will be reported as an event when the container is starting. When a key exists in multiple |
| sources, the value associated with the last source will take precedence. |
| Values defined by an Env with a duplicate key will take precedence. |
| Cannot be updated. |
| items: |
| description: EnvFromSource represents the source of |
| a set of ConfigMaps |
| properties: |
| configMapRef: |
| description: The ConfigMap to select from |
| properties: |
| name: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the ConfigMap |
| must be defined |
| type: boolean |
| type: object |
| x-kubernetes-map-type: atomic |
| prefix: |
| description: An optional identifier to prepend |
| to each key in the ConfigMap. Must be a C_IDENTIFIER. |
| type: string |
| secretRef: |
| description: The Secret to select from |
| properties: |
| name: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the Secret must |
| be defined |
| type: boolean |
| type: object |
| x-kubernetes-map-type: atomic |
| type: object |
| type: array |
| x-kubernetes-list-type: atomic |
| image: |
| description: |- |
| Container image name. |
| More info: https://kubernetes.io/docs/concepts/containers/images |
| This field is optional to allow higher level config management to default or override |
| container images in workload controllers like Deployments and StatefulSets. |
| type: string |
| imagePullPolicy: |
| description: |- |
| Image pull policy. |
| One of Always, Never, IfNotPresent. |
| Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. |
| Cannot be updated. |
| More info: https://kubernetes.io/docs/concepts/containers/images#updating-images |
| type: string |
| lifecycle: |
| description: |- |
| Actions that the management system should take in response to container lifecycle events. |
| Cannot be updated. |
| properties: |
| postStart: |
| description: |- |
| PostStart is called immediately after a container is created. If the handler fails, |
| the container is terminated and restarted according to its restart policy. |
| Other management of the container blocks until the hook completes. |
| More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks |
| properties: |
| exec: |
| description: Exec specifies the action to take. |
| properties: |
| command: |
| description: |- |
| Command is the command line to execute inside the container, the working directory for the |
| command is root ('/') in the container's filesystem. The command is simply exec'd, it is |
| not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use |
| a shell, you need to explicitly call out to that shell. |
| Exit status of 0 is treated as live/healthy and non-zero is unhealthy. |
| items: |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| type: object |
| httpGet: |
| description: HTTPGet specifies the http request |
| to perform. |
| properties: |
| host: |
| description: |- |
| Host name to connect to, defaults to the pod IP. You probably want to set |
| "Host" in httpHeaders instead. |
| type: string |
| httpHeaders: |
| description: Custom headers to set in the |
| request. HTTP allows repeated headers. |
| items: |
| description: HTTPHeader describes a custom |
| header to be used in HTTP probes |
| properties: |
| name: |
| description: |- |
| The header field name. |
| This will be canonicalized upon output, so case-variant names will be understood as the same header. |
| type: string |
| value: |
| description: The header field value |
| type: string |
| required: |
| - name |
| - value |
| type: object |
| type: array |
| x-kubernetes-list-type: atomic |
| path: |
| description: Path to access on the HTTP |
| server. |
| type: string |
| port: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| Name or number of the port to access on the container. |
| Number must be in the range 1 to 65535. |
| Name must be an IANA_SVC_NAME. |
| x-kubernetes-int-or-string: true |
| scheme: |
| description: |- |
| Scheme to use for connecting to the host. |
| Defaults to HTTP. |
| type: string |
| required: |
| - port |
| type: object |
| sleep: |
| description: Sleep represents the duration that |
| the container should sleep before being terminated. |
| properties: |
| seconds: |
| description: Seconds is the number of seconds |
| to sleep. |
| format: int64 |
| type: integer |
| required: |
| - seconds |
| type: object |
| tcpSocket: |
| description: |- |
| Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept |
| for the backward compatibility. There are no validation of this field and |
| lifecycle hooks will fail in runtime when tcp handler is specified. |
| properties: |
| host: |
| description: 'Optional: Host name to connect |
| to, defaults to the pod IP.' |
| type: string |
| port: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| Number or name of the port to access on the container. |
| Number must be in the range 1 to 65535. |
| Name must be an IANA_SVC_NAME. |
| x-kubernetes-int-or-string: true |
| required: |
| - port |
| type: object |
| type: object |
| preStop: |
| description: |- |
| PreStop is called immediately before a container is terminated due to an |
| API request or management event such as liveness/startup probe failure, |
| preemption, resource contention, etc. The handler is not called if the |
| container crashes or exits. The Pod's termination grace period countdown begins before the |
| PreStop hook is executed. Regardless of the outcome of the handler, the |
| container will eventually terminate within the Pod's termination grace |
| period (unless delayed by finalizers). Other management of the container blocks until the hook completes |
| or until the termination grace period is reached. |
| More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks |
| properties: |
| exec: |
| description: Exec specifies the action to take. |
| properties: |
| command: |
| description: |- |
| Command is the command line to execute inside the container, the working directory for the |
| command is root ('/') in the container's filesystem. The command is simply exec'd, it is |
| not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use |
| a shell, you need to explicitly call out to that shell. |
| Exit status of 0 is treated as live/healthy and non-zero is unhealthy. |
| items: |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| type: object |
| httpGet: |
| description: HTTPGet specifies the http request |
| to perform. |
| properties: |
| host: |
| description: |- |
| Host name to connect to, defaults to the pod IP. You probably want to set |
| "Host" in httpHeaders instead. |
| type: string |
| httpHeaders: |
| description: Custom headers to set in the |
| request. HTTP allows repeated headers. |
| items: |
| description: HTTPHeader describes a custom |
| header to be used in HTTP probes |
| properties: |
| name: |
| description: |- |
| The header field name. |
| This will be canonicalized upon output, so case-variant names will be understood as the same header. |
| type: string |
| value: |
| description: The header field value |
| type: string |
| required: |
| - name |
| - value |
| type: object |
| type: array |
| x-kubernetes-list-type: atomic |
| path: |
| description: Path to access on the HTTP |
| server. |
| type: string |
| port: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| Name or number of the port to access on the container. |
| Number must be in the range 1 to 65535. |
| Name must be an IANA_SVC_NAME. |
| x-kubernetes-int-or-string: true |
| scheme: |
| description: |- |
| Scheme to use for connecting to the host. |
| Defaults to HTTP. |
| type: string |
| required: |
| - port |
| type: object |
| sleep: |
| description: Sleep represents the duration that |
| the container should sleep before being terminated. |
| properties: |
| seconds: |
| description: Seconds is the number of seconds |
| to sleep. |
| format: int64 |
| type: integer |
| required: |
| - seconds |
| type: object |
| tcpSocket: |
| description: |- |
| Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept |
| for the backward compatibility. There are no validation of this field and |
| lifecycle hooks will fail in runtime when tcp handler is specified. |
| properties: |
| host: |
| description: 'Optional: Host name to connect |
| to, defaults to the pod IP.' |
| type: string |
| port: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| Number or name of the port to access on the container. |
| Number must be in the range 1 to 65535. |
| Name must be an IANA_SVC_NAME. |
| x-kubernetes-int-or-string: true |
| required: |
| - port |
| type: object |
| type: object |
| type: object |
| livenessProbe: |
| description: |- |
| Periodic probe of container liveness. |
| Container will be restarted if the probe fails. |
| Cannot be updated. |
| More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
| properties: |
| exec: |
| description: Exec specifies the action to take. |
| properties: |
| command: |
| description: |- |
| Command is the command line to execute inside the container, the working directory for the |
| command is root ('/') in the container's filesystem. The command is simply exec'd, it is |
| not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use |
| a shell, you need to explicitly call out to that shell. |
| Exit status of 0 is treated as live/healthy and non-zero is unhealthy. |
| items: |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| type: object |
| failureThreshold: |
| description: |- |
| Minimum consecutive failures for the probe to be considered failed after having succeeded. |
| Defaults to 3. Minimum value is 1. |
| format: int32 |
| type: integer |
| grpc: |
| description: GRPC specifies an action involving |
| a GRPC port. |
| properties: |
| port: |
| description: Port number of the gRPC service. |
| Number must be in the range 1 to 65535. |
| format: int32 |
| type: integer |
| service: |
| description: |- |
| Service is the name of the service to place in the gRPC HealthCheckRequest |
| (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). |
| |
| |
| If this is not specified, the default behavior is defined by gRPC. |
| type: string |
| required: |
| - port |
| type: object |
| httpGet: |
| description: HTTPGet specifies the http request |
| to perform. |
| properties: |
| host: |
| description: |- |
| Host name to connect to, defaults to the pod IP. You probably want to set |
| "Host" in httpHeaders instead. |
| type: string |
| httpHeaders: |
| description: Custom headers to set in the request. |
| HTTP allows repeated headers. |
| items: |
| description: HTTPHeader describes a custom |
| header to be used in HTTP probes |
| properties: |
| name: |
| description: |- |
| The header field name. |
| This will be canonicalized upon output, so case-variant names will be understood as the same header. |
| type: string |
| value: |
| description: The header field value |
| type: string |
| required: |
| - name |
| - value |
| type: object |
| type: array |
| x-kubernetes-list-type: atomic |
| path: |
| description: Path to access on the HTTP server. |
| type: string |
| port: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| Name or number of the port to access on the container. |
| Number must be in the range 1 to 65535. |
| Name must be an IANA_SVC_NAME. |
| x-kubernetes-int-or-string: true |
| scheme: |
| description: |- |
| Scheme to use for connecting to the host. |
| Defaults to HTTP. |
| type: string |
| required: |
| - port |
| type: object |
| initialDelaySeconds: |
| description: |- |
| Number of seconds after the container has started before liveness probes are initiated. |
| More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
| format: int32 |
| type: integer |
| periodSeconds: |
| description: |- |
| How often (in seconds) to perform the probe. |
| Default to 10 seconds. Minimum value is 1. |
| format: int32 |
| type: integer |
| successThreshold: |
| description: |- |
| Minimum consecutive successes for the probe to be considered successful after having failed. |
| Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. |
| format: int32 |
| type: integer |
| tcpSocket: |
| description: TCPSocket specifies an action involving |
| a TCP port. |
| properties: |
| host: |
| description: 'Optional: Host name to connect |
| to, defaults to the pod IP.' |
| type: string |
| port: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| Number or name of the port to access on the container. |
| Number must be in the range 1 to 65535. |
| Name must be an IANA_SVC_NAME. |
| x-kubernetes-int-or-string: true |
| required: |
| - port |
| type: object |
| terminationGracePeriodSeconds: |
| description: |- |
| Optional duration in seconds the pod needs to terminate gracefully upon probe failure. |
| The grace period is the duration in seconds after the processes running in the pod are sent |
| a termination signal and the time when the processes are forcibly halted with a kill signal. |
| Set this value longer than the expected cleanup time for your process. |
| If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this |
| value overrides the value provided by the pod spec. |
| Value must be non-negative integer. The value zero indicates stop immediately via |
| the kill signal (no opportunity to shut down). |
| This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. |
| Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. |
| format: int64 |
| type: integer |
| timeoutSeconds: |
| description: |- |
| Number of seconds after which the probe times out. |
| Defaults to 1 second. Minimum value is 1. |
| More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
| format: int32 |
| type: integer |
| type: object |
| name: |
| description: |- |
| Name of the container specified as a DNS_LABEL. |
| Each container in a pod must have a unique name (DNS_LABEL). |
| Cannot be updated. |
| type: string |
| ports: |
| description: |- |
| List of ports to expose from the container. Not specifying a port here |
| DOES NOT prevent that port from being exposed. Any port which is |
| listening on the default "0.0.0.0" address inside a container will be |
| accessible from the network. |
| Modifying this array with strategic merge patch may corrupt the data. |
| For more information See https://github.com/kubernetes/kubernetes/issues/108255. |
| Cannot be updated. |
| items: |
| description: ContainerPort represents a network port |
| in a single container. |
| properties: |
| containerPort: |
| description: |- |
| Number of port to expose on the pod's IP address. |
| This must be a valid port number, 0 < x < 65536. |
| format: int32 |
| type: integer |
| hostIP: |
| description: What host IP to bind the external |
| port to. |
| type: string |
| hostPort: |
| description: |- |
| Number of port to expose on the host. |
| If specified, this must be a valid port number, 0 < x < 65536. |
| If HostNetwork is specified, this must match ContainerPort. |
| Most containers do not need this. |
| format: int32 |
| type: integer |
| name: |
| description: |- |
| If specified, this must be an IANA_SVC_NAME and unique within the pod. Each |
| named port in a pod must have a unique name. Name for the port that can be |
| referred to by services. |
| type: string |
| protocol: |
| default: TCP |
| description: |- |
| Protocol for port. Must be UDP, TCP, or SCTP. |
| Defaults to "TCP". |
| type: string |
| required: |
| - containerPort |
| type: object |
| type: array |
| x-kubernetes-list-map-keys: |
| - containerPort |
| - protocol |
| x-kubernetes-list-type: map |
| readinessProbe: |
| description: |- |
| Periodic probe of container service readiness. |
| Container will be removed from service endpoints if the probe fails. |
| Cannot be updated. |
| More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
| properties: |
| exec: |
| description: Exec specifies the action to take. |
| properties: |
| command: |
| description: |- |
| Command is the command line to execute inside the container, the working directory for the |
| command is root ('/') in the container's filesystem. The command is simply exec'd, it is |
| not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use |
| a shell, you need to explicitly call out to that shell. |
| Exit status of 0 is treated as live/healthy and non-zero is unhealthy. |
| items: |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| type: object |
| failureThreshold: |
| description: |- |
| Minimum consecutive failures for the probe to be considered failed after having succeeded. |
| Defaults to 3. Minimum value is 1. |
| format: int32 |
| type: integer |
| grpc: |
| description: GRPC specifies an action involving |
| a GRPC port. |
| properties: |
| port: |
| description: Port number of the gRPC service. |
| Number must be in the range 1 to 65535. |
| format: int32 |
| type: integer |
| service: |
| description: |- |
| Service is the name of the service to place in the gRPC HealthCheckRequest |
| (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). |
| |
| |
| If this is not specified, the default behavior is defined by gRPC. |
| type: string |
| required: |
| - port |
| type: object |
| httpGet: |
| description: HTTPGet specifies the http request |
| to perform. |
| properties: |
| host: |
| description: |- |
| Host name to connect to, defaults to the pod IP. You probably want to set |
| "Host" in httpHeaders instead. |
| type: string |
| httpHeaders: |
| description: Custom headers to set in the request. |
| HTTP allows repeated headers. |
| items: |
| description: HTTPHeader describes a custom |
| header to be used in HTTP probes |
| properties: |
| name: |
| description: |- |
| The header field name. |
| This will be canonicalized upon output, so case-variant names will be understood as the same header. |
| type: string |
| value: |
| description: The header field value |
| type: string |
| required: |
| - name |
| - value |
| type: object |
| type: array |
| x-kubernetes-list-type: atomic |
| path: |
| description: Path to access on the HTTP server. |
| type: string |
| port: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| Name or number of the port to access on the container. |
| Number must be in the range 1 to 65535. |
| Name must be an IANA_SVC_NAME. |
| x-kubernetes-int-or-string: true |
| scheme: |
| description: |- |
| Scheme to use for connecting to the host. |
| Defaults to HTTP. |
| type: string |
| required: |
| - port |
| type: object |
| initialDelaySeconds: |
| description: |- |
| Number of seconds after the container has started before liveness probes are initiated. |
| More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
| format: int32 |
| type: integer |
| periodSeconds: |
| description: |- |
| How often (in seconds) to perform the probe. |
| Default to 10 seconds. Minimum value is 1. |
| format: int32 |
| type: integer |
| successThreshold: |
| description: |- |
| Minimum consecutive successes for the probe to be considered successful after having failed. |
| Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. |
| format: int32 |
| type: integer |
| tcpSocket: |
| description: TCPSocket specifies an action involving |
| a TCP port. |
| properties: |
| host: |
| description: 'Optional: Host name to connect |
| to, defaults to the pod IP.' |
| type: string |
| port: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| Number or name of the port to access on the container. |
| Number must be in the range 1 to 65535. |
| Name must be an IANA_SVC_NAME. |
| x-kubernetes-int-or-string: true |
| required: |
| - port |
| type: object |
| terminationGracePeriodSeconds: |
| description: |- |
| Optional duration in seconds the pod needs to terminate gracefully upon probe failure. |
| The grace period is the duration in seconds after the processes running in the pod are sent |
| a termination signal and the time when the processes are forcibly halted with a kill signal. |
| Set this value longer than the expected cleanup time for your process. |
| If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this |
| value overrides the value provided by the pod spec. |
| Value must be non-negative integer. The value zero indicates stop immediately via |
| the kill signal (no opportunity to shut down). |
| This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. |
| Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. |
| format: int64 |
| type: integer |
| timeoutSeconds: |
| description: |- |
| Number of seconds after which the probe times out. |
| Defaults to 1 second. Minimum value is 1. |
| More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
| format: int32 |
| type: integer |
| type: object |
| resizePolicy: |
| description: Resources resize policy for the container. |
| items: |
| description: ContainerResizePolicy represents resource |
| resize policy for the container. |
| properties: |
| resourceName: |
| description: |- |
| Name of the resource to which this resource resize policy applies. |
| Supported values: cpu, memory. |
| type: string |
| restartPolicy: |
| description: |- |
| Restart policy to apply when specified resource is resized. |
| If not specified, it defaults to NotRequired. |
| type: string |
| required: |
| - resourceName |
| - restartPolicy |
| type: object |
| type: array |
| x-kubernetes-list-type: atomic |
| resources: |
| description: |- |
| Compute Resources required by this container. |
| Cannot be updated. |
| More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ |
| properties: |
| claims: |
| description: |- |
| Claims lists the names of resources, defined in spec.resourceClaims, |
| that are used by this container. |
| |
| |
| This is an alpha field and requires enabling the |
| DynamicResourceAllocation feature gate. |
| |
| |
| This field is immutable. It can only be set for containers. |
| items: |
| description: ResourceClaim references one entry |
| in PodSpec.ResourceClaims. |
| properties: |
| name: |
| description: |- |
| Name must match the name of one entry in pod.spec.resourceClaims of |
| the Pod where this field is used. It makes that resource available |
| inside a container. |
| type: string |
| required: |
| - name |
| type: object |
| type: array |
| x-kubernetes-list-map-keys: |
| - name |
| x-kubernetes-list-type: map |
| limits: |
| additionalProperties: |
| anyOf: |
| - type: integer |
| - type: string |
| pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ |
| x-kubernetes-int-or-string: true |
| description: |- |
| Limits describes the maximum amount of compute resources allowed. |
| More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ |
| type: object |
| requests: |
| additionalProperties: |
| anyOf: |
| - type: integer |
| - type: string |
| pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ |
| x-kubernetes-int-or-string: true |
| description: |- |
| Requests describes the minimum amount of compute resources required. |
| If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, |
| otherwise to an implementation-defined value. Requests cannot exceed Limits. |
| More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ |
| type: object |
| type: object |
| restartPolicy: |
| description: |- |
| RestartPolicy defines the restart behavior of individual containers in a pod. |
| This field may only be set for init containers, and the only allowed value is "Always". |
| For non-init containers or when this field is not specified, |
| the restart behavior is defined by the Pod's restart policy and the container type. |
| Setting the RestartPolicy as "Always" for the init container will have the following effect: |
| this init container will be continually restarted on |
| exit until all regular containers have terminated. Once all regular |
| containers have completed, all init containers with restartPolicy "Always" |
| will be shut down. This lifecycle differs from normal init containers and |
| is often referred to as a "sidecar" container. Although this init |
| container still starts in the init container sequence, it does not wait |
| for the container to complete before proceeding to the next init |
| container. Instead, the next init container starts immediately after this |
| init container is started, or after any startupProbe has successfully |
| completed. |
| type: string |
| securityContext: |
| description: |- |
| SecurityContext defines the security options the container should be run with. |
| If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext. |
| More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ |
| properties: |
| allowPrivilegeEscalation: |
| description: |- |
| AllowPrivilegeEscalation controls whether a process can gain more |
| privileges than its parent process. This bool directly controls if |
| the no_new_privs flag will be set on the container process. |
| AllowPrivilegeEscalation is true always when the container is: |
| 1) run as Privileged |
| 2) has CAP_SYS_ADMIN |
| Note that this field cannot be set when spec.os.name is windows. |
| type: boolean |
| appArmorProfile: |
| description: |- |
| appArmorProfile is the AppArmor options to use by this container. If set, this profile |
| overrides the pod's appArmorProfile. |
| Note that this field cannot be set when spec.os.name is windows. |
| properties: |
| localhostProfile: |
| description: |- |
| localhostProfile indicates a profile loaded on the node that should be used. |
| The profile must be preconfigured on the node to work. |
| Must match the loaded name of the profile. |
| Must be set if and only if type is "Localhost". |
| type: string |
| type: |
| description: |- |
| type indicates which kind of AppArmor profile will be applied. |
| Valid options are: |
| Localhost - a profile pre-loaded on the node. |
| RuntimeDefault - the container runtime's default profile. |
| Unconfined - no AppArmor enforcement. |
| type: string |
| required: |
| - type |
| type: object |
| capabilities: |
| description: |- |
| The capabilities to add/drop when running containers. |
| Defaults to the default set of capabilities granted by the container runtime. |
| Note that this field cannot be set when spec.os.name is windows. |
| properties: |
| add: |
| description: Added capabilities |
| items: |
| description: Capability represent POSIX capabilities |
| type |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| drop: |
| description: Removed capabilities |
| items: |
| description: Capability represent POSIX capabilities |
| type |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| type: object |
| privileged: |
| description: |- |
| Run container in privileged mode. |
| Processes in privileged containers are essentially equivalent to root on the host. |
| Defaults to false. |
| Note that this field cannot be set when spec.os.name is windows. |
| type: boolean |
| procMount: |
| description: |- |
| procMount denotes the type of proc mount to use for the containers. |
| The default is DefaultProcMount which uses the container runtime defaults for |
| readonly paths and masked paths. |
| This requires the ProcMountType feature flag to be enabled. |
| Note that this field cannot be set when spec.os.name is windows. |
| type: string |
| readOnlyRootFilesystem: |
| description: |- |
| Whether this container has a read-only root filesystem. |
| Default is false. |
| Note that this field cannot be set when spec.os.name is windows. |
| type: boolean |
| runAsGroup: |
| description: |- |
| The GID to run the entrypoint of the container process. |
| Uses runtime default if unset. |
| May also be set in PodSecurityContext. If set in both SecurityContext and |
| PodSecurityContext, the value specified in SecurityContext takes precedence. |
| Note that this field cannot be set when spec.os.name is windows. |
| format: int64 |
| type: integer |
| runAsNonRoot: |
| description: |- |
| Indicates that the container must run as a non-root user. |
| If true, the Kubelet will validate the image at runtime to ensure that it |
| does not run as UID 0 (root) and fail to start the container if it does. |
| If unset or false, no such validation will be performed. |
| May also be set in PodSecurityContext. If set in both SecurityContext and |
| PodSecurityContext, the value specified in SecurityContext takes precedence. |
| type: boolean |
| runAsUser: |
| description: |- |
| The UID to run the entrypoint of the container process. |
| Defaults to user specified in image metadata if unspecified. |
| May also be set in PodSecurityContext. If set in both SecurityContext and |
| PodSecurityContext, the value specified in SecurityContext takes precedence. |
| Note that this field cannot be set when spec.os.name is windows. |
| format: int64 |
| type: integer |
| seLinuxOptions: |
| description: |- |
| The SELinux context to be applied to the container. |
| If unspecified, the container runtime will allocate a random SELinux context for each |
| container. May also be set in PodSecurityContext. If set in both SecurityContext and |
| PodSecurityContext, the value specified in SecurityContext takes precedence. |
| Note that this field cannot be set when spec.os.name is windows. |
| properties: |
| level: |
| description: Level is SELinux level label that |
| applies to the container. |
| type: string |
| role: |
| description: Role is a SELinux role label that |
| applies to the container. |
| type: string |
| type: |
| description: Type is a SELinux type label that |
| applies to the container. |
| type: string |
| user: |
| description: User is a SELinux user label that |
| applies to the container. |
| type: string |
| type: object |
| seccompProfile: |
| description: |- |
| The seccomp options to use by this container. If seccomp options are |
| provided at both the pod & container level, the container options |
| override the pod options. |
| Note that this field cannot be set when spec.os.name is windows. |
| properties: |
| localhostProfile: |
| description: |- |
| localhostProfile indicates a profile defined in a file on the node should be used. |
| The profile must be preconfigured on the node to work. |
| Must be a descending path, relative to the kubelet's configured seccomp profile location. |
| Must be set if type is "Localhost". Must NOT be set for any other type. |
| type: string |
| type: |
| description: |- |
| type indicates which kind of seccomp profile will be applied. |
| Valid options are: |
| |
| |
| Localhost - a profile defined in a file on the node should be used. |
| RuntimeDefault - the container runtime default profile should be used. |
| Unconfined - no profile should be applied. |
| type: string |
| required: |
| - type |
| type: object |
| windowsOptions: |
| description: |- |
| The Windows specific settings applied to all containers. |
| If unspecified, the options from the PodSecurityContext will be used. |
| If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. |
| Note that this field cannot be set when spec.os.name is linux. |
| properties: |
| gmsaCredentialSpec: |
| description: |- |
| GMSACredentialSpec is where the GMSA admission webhook |
| (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the |
| GMSA credential spec named by the GMSACredentialSpecName field. |
| type: string |
| gmsaCredentialSpecName: |
| description: GMSACredentialSpecName is the name |
| of the GMSA credential spec to use. |
| type: string |
| hostProcess: |
| description: |- |
| HostProcess determines if a container should be run as a 'Host Process' container. |
| All of a Pod's containers must have the same effective HostProcess value |
| (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). |
| In addition, if HostProcess is true then HostNetwork must also be set to true. |
| type: boolean |
| runAsUserName: |
| description: |- |
| The UserName in Windows to run the entrypoint of the container process. |
| Defaults to the user specified in image metadata if unspecified. |
| May also be set in PodSecurityContext. If set in both SecurityContext and |
| PodSecurityContext, the value specified in SecurityContext takes precedence. |
| type: string |
| type: object |
| type: object |
| startupProbe: |
| description: |- |
| StartupProbe indicates that the Pod has successfully initialized. |
| If specified, no other probes are executed until this completes successfully. |
| If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. |
| This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, |
| when it might take a long time to load data or warm a cache, than during steady-state operation. |
| This cannot be updated. |
| More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
| properties: |
| exec: |
| description: Exec specifies the action to take. |
| properties: |
| command: |
| description: |- |
| Command is the command line to execute inside the container, the working directory for the |
| command is root ('/') in the container's filesystem. The command is simply exec'd, it is |
| not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use |
| a shell, you need to explicitly call out to that shell. |
| Exit status of 0 is treated as live/healthy and non-zero is unhealthy. |
| items: |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| type: object |
| failureThreshold: |
| description: |- |
| Minimum consecutive failures for the probe to be considered failed after having succeeded. |
| Defaults to 3. Minimum value is 1. |
| format: int32 |
| type: integer |
| grpc: |
| description: GRPC specifies an action involving |
| a GRPC port. |
| properties: |
| port: |
| description: Port number of the gRPC service. |
| Number must be in the range 1 to 65535. |
| format: int32 |
| type: integer |
| service: |
| description: |- |
| Service is the name of the service to place in the gRPC HealthCheckRequest |
| (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). |
| |
| |
| If this is not specified, the default behavior is defined by gRPC. |
| type: string |
| required: |
| - port |
| type: object |
| httpGet: |
| description: HTTPGet specifies the http request |
| to perform. |
| properties: |
| host: |
| description: |- |
| Host name to connect to, defaults to the pod IP. You probably want to set |
| "Host" in httpHeaders instead. |
| type: string |
| httpHeaders: |
| description: Custom headers to set in the request. |
| HTTP allows repeated headers. |
| items: |
| description: HTTPHeader describes a custom |
| header to be used in HTTP probes |
| properties: |
| name: |
| description: |- |
| The header field name. |
| This will be canonicalized upon output, so case-variant names will be understood as the same header. |
| type: string |
| value: |
| description: The header field value |
| type: string |
| required: |
| - name |
| - value |
| type: object |
| type: array |
| x-kubernetes-list-type: atomic |
| path: |
| description: Path to access on the HTTP server. |
| type: string |
| port: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| Name or number of the port to access on the container. |
| Number must be in the range 1 to 65535. |
| Name must be an IANA_SVC_NAME. |
| x-kubernetes-int-or-string: true |
| scheme: |
| description: |- |
| Scheme to use for connecting to the host. |
| Defaults to HTTP. |
| type: string |
| required: |
| - port |
| type: object |
| initialDelaySeconds: |
| description: |- |
| Number of seconds after the container has started before liveness probes are initiated. |
| More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
| format: int32 |
| type: integer |
| periodSeconds: |
| description: |- |
| How often (in seconds) to perform the probe. |
| Default to 10 seconds. Minimum value is 1. |
| format: int32 |
| type: integer |
| successThreshold: |
| description: |- |
| Minimum consecutive successes for the probe to be considered successful after having failed. |
| Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. |
| format: int32 |
| type: integer |
| tcpSocket: |
| description: TCPSocket specifies an action involving |
| a TCP port. |
| properties: |
| host: |
| description: 'Optional: Host name to connect |
| to, defaults to the pod IP.' |
| type: string |
| port: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| Number or name of the port to access on the container. |
| Number must be in the range 1 to 65535. |
| Name must be an IANA_SVC_NAME. |
| x-kubernetes-int-or-string: true |
| required: |
| - port |
| type: object |
| terminationGracePeriodSeconds: |
| description: |- |
| Optional duration in seconds the pod needs to terminate gracefully upon probe failure. |
| The grace period is the duration in seconds after the processes running in the pod are sent |
| a termination signal and the time when the processes are forcibly halted with a kill signal. |
| Set this value longer than the expected cleanup time for your process. |
| If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this |
| value overrides the value provided by the pod spec. |
| Value must be non-negative integer. The value zero indicates stop immediately via |
| the kill signal (no opportunity to shut down). |
| This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. |
| Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. |
| format: int64 |
| type: integer |
| timeoutSeconds: |
| description: |- |
| Number of seconds after which the probe times out. |
| Defaults to 1 second. Minimum value is 1. |
| More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
| format: int32 |
| type: integer |
| type: object |
| stdin: |
| description: |- |
| Whether this container should allocate a buffer for stdin in the container runtime. If this |
| is not set, reads from stdin in the container will always result in EOF. |
| Default is false. |
| type: boolean |
| stdinOnce: |
| description: |- |
| Whether the container runtime should close the stdin channel after it has been opened by |
| a single attach. When stdin is true the stdin stream will remain open across multiple attach |
| sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the |
| first client attaches to stdin, and then remains open and accepts data until the client disconnects, |
| at which time stdin is closed and remains closed until the container is restarted. If this |
| flag is false, a container processes that reads from stdin will never receive an EOF. |
| Default is false |
| type: boolean |
| terminationMessagePath: |
| description: |- |
| Optional: Path at which the file to which the container's termination message |
| will be written is mounted into the container's filesystem. |
| Message written is intended to be brief final status, such as an assertion failure message. |
| Will be truncated by the node if greater than 4096 bytes. The total message length across |
| all containers will be limited to 12kb. |
| Defaults to /dev/termination-log. |
| Cannot be updated. |
| type: string |
| terminationMessagePolicy: |
| description: |- |
| Indicate how the termination message should be populated. File will use the contents of |
| terminationMessagePath to populate the container status message on both success and failure. |
| FallbackToLogsOnError will use the last chunk of container log output if the termination |
| message file is empty and the container exited with an error. |
| The log output is limited to 2048 bytes or 80 lines, whichever is smaller. |
| Defaults to File. |
| Cannot be updated. |
| type: string |
| tty: |
| description: |- |
| Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. |
| Default is false. |
| type: boolean |
| volumeDevices: |
| description: volumeDevices is the list of block devices |
| to be used by the container. |
| items: |
| description: volumeDevice describes a mapping of a |
| raw block device within a container. |
| properties: |
| devicePath: |
| description: devicePath is the path inside of |
| the container that the device will be mapped |
| to. |
| type: string |
| name: |
| description: name must match the name of a persistentVolumeClaim |
| in the pod |
| type: string |
| required: |
| - devicePath |
| - name |
| type: object |
| type: array |
| x-kubernetes-list-map-keys: |
| - devicePath |
| x-kubernetes-list-type: map |
| volumeMounts: |
| description: |- |
| Pod volumes to mount into the container's filesystem. |
| Cannot be updated. |
| items: |
| description: VolumeMount describes a mounting of a |
| Volume within a container. |
| properties: |
| mountPath: |
| description: |- |
| Path within the container at which the volume should be mounted. Must |
| not contain ':'. |
| type: string |
| mountPropagation: |
| description: |- |
| mountPropagation determines how mounts are propagated from the host |
| to container and the other way around. |
| When not set, MountPropagationNone is used. |
| This field is beta in 1.10. |
| When RecursiveReadOnly is set to IfPossible or to Enabled, MountPropagation must be None or unspecified |
| (which defaults to None). |
| type: string |
| name: |
| description: This must match the Name of a Volume. |
| type: string |
| readOnly: |
| description: |- |
| Mounted read-only if true, read-write otherwise (false or unspecified). |
| Defaults to false. |
| type: boolean |
| recursiveReadOnly: |
| description: |- |
| RecursiveReadOnly specifies whether read-only mounts should be handled |
| recursively. |
| |
| |
| If ReadOnly is false, this field has no meaning and must be unspecified. |
| |
| |
| If ReadOnly is true, and this field is set to Disabled, the mount is not made |
| recursively read-only. If this field is set to IfPossible, the mount is made |
| recursively read-only, if it is supported by the container runtime. If this |
| field is set to Enabled, the mount is made recursively read-only if it is |
| supported by the container runtime, otherwise the pod will not be started and |
| an error will be generated to indicate the reason. |
| |
| |
| If this field is set to IfPossible or Enabled, MountPropagation must be set to |
| None (or be unspecified, which defaults to None). |
| |
| |
| If this field is not specified, it is treated as an equivalent of Disabled. |
| type: string |
| subPath: |
| description: |- |
| Path within the volume from which the container's volume should be mounted. |
| Defaults to "" (volume's root). |
| type: string |
| subPathExpr: |
| description: |- |
| Expanded path within the volume from which the container's volume should be mounted. |
| Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. |
| Defaults to "" (volume's root). |
| SubPathExpr and SubPath are mutually exclusive. |
| type: string |
| required: |
| - mountPath |
| - name |
| type: object |
| type: array |
| x-kubernetes-list-map-keys: |
| - mountPath |
| x-kubernetes-list-type: map |
| workingDir: |
| description: |- |
| Container's working directory. |
| If not specified, the container runtime's default will be used, which |
| might be configured in the container image. |
| Cannot be updated. |
| type: string |
| required: |
| - name |
| type: object |
| type: array |
| dnsPolicy: |
| description: DNSPolicy |
| type: string |
| ephemeralContainers: |
| description: EphemeralContainers |
| items: |
| description: |- |
| An EphemeralContainer is a temporary container that you may add to an existing Pod for |
| user-initiated activities such as debugging. Ephemeral containers have no resource or |
| scheduling guarantees, and they will not be restarted when they exit or when a Pod is |
| removed or restarted. The kubelet may evict a Pod if an ephemeral container causes the |
| Pod to exceed its resource allocation. |
| |
| |
| To add an ephemeral container, use the ephemeralcontainers subresource of an existing |
| Pod. Ephemeral containers may not be removed or restarted. |
| properties: |
| args: |
| description: |- |
| Arguments to the entrypoint. |
| The image's CMD is used if this is not provided. |
| Variable references $(VAR_NAME) are expanded using the container's environment. If a variable |
| cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced |
| to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will |
| produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless |
| of whether the variable exists or not. Cannot be updated. |
| More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell |
| items: |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| command: |
| description: |- |
| Entrypoint array. Not executed within a shell. |
| The image's ENTRYPOINT is used if this is not provided. |
| Variable references $(VAR_NAME) are expanded using the container's environment. If a variable |
| cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced |
| to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will |
| produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless |
| of whether the variable exists or not. Cannot be updated. |
| More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell |
| items: |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| env: |
| description: |- |
| List of environment variables to set in the container. |
| Cannot be updated. |
| items: |
| description: EnvVar represents an environment variable |
| present in a Container. |
| properties: |
| name: |
| description: Name of the environment variable. |
| Must be a C_IDENTIFIER. |
| type: string |
| value: |
| description: |- |
| Variable references $(VAR_NAME) are expanded |
| using the previously defined environment variables in the container and |
| any service environment variables. If a variable cannot be resolved, |
| the reference in the input string will be unchanged. Double $$ are reduced |
| to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. |
| "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". |
| Escaped references will never be expanded, regardless of whether the variable |
| exists or not. |
| Defaults to "". |
| type: string |
| valueFrom: |
| description: Source for the environment variable's |
| value. Cannot be used if value is not empty. |
| properties: |
| configMapKeyRef: |
| description: Selects a key of a ConfigMap. |
| properties: |
| key: |
| description: The key to select. |
| type: string |
| name: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the ConfigMap |
| or its key must be defined |
| type: boolean |
| required: |
| - key |
| type: object |
| x-kubernetes-map-type: atomic |
| fieldRef: |
| description: |- |
| Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['<KEY>']`, `metadata.annotations['<KEY>']`, |
| spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. |
| properties: |
| apiVersion: |
| description: Version of the schema the |
| FieldPath is written in terms of, defaults |
| to "v1". |
| type: string |
| fieldPath: |
| description: Path of the field to select |
| in the specified API version. |
| type: string |
| required: |
| - fieldPath |
| type: object |
| x-kubernetes-map-type: atomic |
| resourceFieldRef: |
| description: |- |
| Selects a resource of the container: only resources limits and requests |
| (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. |
| properties: |
| containerName: |
| description: 'Container name: required |
| for volumes, optional for env vars' |
| type: string |
| divisor: |
| anyOf: |
| - type: integer |
| - type: string |
| description: Specifies the output format |
| of the exposed resources, defaults to |
| "1" |
| pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ |
| x-kubernetes-int-or-string: true |
| resource: |
| description: 'Required: resource to select' |
| type: string |
| required: |
| - resource |
| type: object |
| x-kubernetes-map-type: atomic |
| secretKeyRef: |
| description: Selects a key of a secret in |
| the pod's namespace |
| properties: |
| key: |
| description: The key of the secret to |
| select from. Must be a valid secret |
| key. |
| type: string |
| name: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the Secret |
| or its key must be defined |
| type: boolean |
| required: |
| - key |
| type: object |
| x-kubernetes-map-type: atomic |
| type: object |
| required: |
| - name |
| type: object |
| type: array |
| x-kubernetes-list-map-keys: |
| - name |
| x-kubernetes-list-type: map |
| envFrom: |
| description: |- |
| List of sources to populate environment variables in the container. |
| The keys defined within a source must be a C_IDENTIFIER. All invalid keys |
| will be reported as an event when the container is starting. When a key exists in multiple |
| sources, the value associated with the last source will take precedence. |
| Values defined by an Env with a duplicate key will take precedence. |
| Cannot be updated. |
| items: |
| description: EnvFromSource represents the source of |
| a set of ConfigMaps |
| properties: |
| configMapRef: |
| description: The ConfigMap to select from |
| properties: |
| name: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the ConfigMap |
| must be defined |
| type: boolean |
| type: object |
| x-kubernetes-map-type: atomic |
| prefix: |
| description: An optional identifier to prepend |
| to each key in the ConfigMap. Must be a C_IDENTIFIER. |
| type: string |
| secretRef: |
| description: The Secret to select from |
| properties: |
| name: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the Secret must |
| be defined |
| type: boolean |
| type: object |
| x-kubernetes-map-type: atomic |
| type: object |
| type: array |
| x-kubernetes-list-type: atomic |
| image: |
| description: |- |
| Container image name. |
| More info: https://kubernetes.io/docs/concepts/containers/images |
| type: string |
| imagePullPolicy: |
| description: |- |
| Image pull policy. |
| One of Always, Never, IfNotPresent. |
| Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. |
| Cannot be updated. |
| More info: https://kubernetes.io/docs/concepts/containers/images#updating-images |
| type: string |
| lifecycle: |
| description: Lifecycle is not allowed for ephemeral |
| containers. |
| properties: |
| postStart: |
| description: |- |
| PostStart is called immediately after a container is created. If the handler fails, |
| the container is terminated and restarted according to its restart policy. |
| Other management of the container blocks until the hook completes. |
| More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks |
| properties: |
| exec: |
| description: Exec specifies the action to take. |
| properties: |
| command: |
| description: |- |
| Command is the command line to execute inside the container, the working directory for the |
| command is root ('/') in the container's filesystem. The command is simply exec'd, it is |
| not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use |
| a shell, you need to explicitly call out to that shell. |
| Exit status of 0 is treated as live/healthy and non-zero is unhealthy. |
| items: |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| type: object |
| httpGet: |
| description: HTTPGet specifies the http request |
| to perform. |
| properties: |
| host: |
| description: |- |
| Host name to connect to, defaults to the pod IP. You probably want to set |
| "Host" in httpHeaders instead. |
| type: string |
| httpHeaders: |
| description: Custom headers to set in the |
| request. HTTP allows repeated headers. |
| items: |
| description: HTTPHeader describes a custom |
| header to be used in HTTP probes |
| properties: |
| name: |
| description: |- |
| The header field name. |
| This will be canonicalized upon output, so case-variant names will be understood as the same header. |
| type: string |
| value: |
| description: The header field value |
| type: string |
| required: |
| - name |
| - value |
| type: object |
| type: array |
| x-kubernetes-list-type: atomic |
| path: |
| description: Path to access on the HTTP |
| server. |
| type: string |
| port: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| Name or number of the port to access on the container. |
| Number must be in the range 1 to 65535. |
| Name must be an IANA_SVC_NAME. |
| x-kubernetes-int-or-string: true |
| scheme: |
| description: |- |
| Scheme to use for connecting to the host. |
| Defaults to HTTP. |
| type: string |
| required: |
| - port |
| type: object |
| sleep: |
| description: Sleep represents the duration that |
| the container should sleep before being terminated. |
| properties: |
| seconds: |
| description: Seconds is the number of seconds |
| to sleep. |
| format: int64 |
| type: integer |
| required: |
| - seconds |
| type: object |
| tcpSocket: |
| description: |- |
| Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept |
| for the backward compatibility. There are no validation of this field and |
| lifecycle hooks will fail in runtime when tcp handler is specified. |
| properties: |
| host: |
| description: 'Optional: Host name to connect |
| to, defaults to the pod IP.' |
| type: string |
| port: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| Number or name of the port to access on the container. |
| Number must be in the range 1 to 65535. |
| Name must be an IANA_SVC_NAME. |
| x-kubernetes-int-or-string: true |
| required: |
| - port |
| type: object |
| type: object |
| preStop: |
| description: |- |
| PreStop is called immediately before a container is terminated due to an |
| API request or management event such as liveness/startup probe failure, |
| preemption, resource contention, etc. The handler is not called if the |
| container crashes or exits. The Pod's termination grace period countdown begins before the |
| PreStop hook is executed. Regardless of the outcome of the handler, the |
| container will eventually terminate within the Pod's termination grace |
| period (unless delayed by finalizers). Other management of the container blocks until the hook completes |
| or until the termination grace period is reached. |
| More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks |
| properties: |
| exec: |
| description: Exec specifies the action to take. |
| properties: |
| command: |
| description: |- |
| Command is the command line to execute inside the container, the working directory for the |
| command is root ('/') in the container's filesystem. The command is simply exec'd, it is |
| not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use |
| a shell, you need to explicitly call out to that shell. |
| Exit status of 0 is treated as live/healthy and non-zero is unhealthy. |
| items: |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| type: object |
| httpGet: |
| description: HTTPGet specifies the http request |
| to perform. |
| properties: |
| host: |
| description: |- |
| Host name to connect to, defaults to the pod IP. You probably want to set |
| "Host" in httpHeaders instead. |
| type: string |
| httpHeaders: |
| description: Custom headers to set in the |
| request. HTTP allows repeated headers. |
| items: |
| description: HTTPHeader describes a custom |
| header to be used in HTTP probes |
| properties: |
| name: |
| description: |- |
| The header field name. |
| This will be canonicalized upon output, so case-variant names will be understood as the same header. |
| type: string |
| value: |
| description: The header field value |
| type: string |
| required: |
| - name |
| - value |
| type: object |
| type: array |
| x-kubernetes-list-type: atomic |
| path: |
| description: Path to access on the HTTP |
| server. |
| type: string |
| port: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| Name or number of the port to access on the container. |
| Number must be in the range 1 to 65535. |
| Name must be an IANA_SVC_NAME. |
| x-kubernetes-int-or-string: true |
| scheme: |
| description: |- |
| Scheme to use for connecting to the host. |
| Defaults to HTTP. |
| type: string |
| required: |
| - port |
| type: object |
| sleep: |
| description: Sleep represents the duration that |
| the container should sleep before being terminated. |
| properties: |
| seconds: |
| description: Seconds is the number of seconds |
| to sleep. |
| format: int64 |
| type: integer |
| required: |
| - seconds |
| type: object |
| tcpSocket: |
| description: |- |
| Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept |
| for the backward compatibility. There are no validation of this field and |
| lifecycle hooks will fail in runtime when tcp handler is specified. |
| properties: |
| host: |
| description: 'Optional: Host name to connect |
| to, defaults to the pod IP.' |
| type: string |
| port: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| Number or name of the port to access on the container. |
| Number must be in the range 1 to 65535. |
| Name must be an IANA_SVC_NAME. |
| x-kubernetes-int-or-string: true |
| required: |
| - port |
| type: object |
| type: object |
| type: object |
| livenessProbe: |
| description: Probes are not allowed for ephemeral containers. |
| properties: |
| exec: |
| description: Exec specifies the action to take. |
| properties: |
| command: |
| description: |- |
| Command is the command line to execute inside the container, the working directory for the |
| command is root ('/') in the container's filesystem. The command is simply exec'd, it is |
| not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use |
| a shell, you need to explicitly call out to that shell. |
| Exit status of 0 is treated as live/healthy and non-zero is unhealthy. |
| items: |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| type: object |
| failureThreshold: |
| description: |- |
| Minimum consecutive failures for the probe to be considered failed after having succeeded. |
| Defaults to 3. Minimum value is 1. |
| format: int32 |
| type: integer |
| grpc: |
| description: GRPC specifies an action involving |
| a GRPC port. |
| properties: |
| port: |
| description: Port number of the gRPC service. |
| Number must be in the range 1 to 65535. |
| format: int32 |
| type: integer |
| service: |
| description: |- |
| Service is the name of the service to place in the gRPC HealthCheckRequest |
| (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). |
| |
| |
| If this is not specified, the default behavior is defined by gRPC. |
| type: string |
| required: |
| - port |
| type: object |
| httpGet: |
| description: HTTPGet specifies the http request |
| to perform. |
| properties: |
| host: |
| description: |- |
| Host name to connect to, defaults to the pod IP. You probably want to set |
| "Host" in httpHeaders instead. |
| type: string |
| httpHeaders: |
| description: Custom headers to set in the request. |
| HTTP allows repeated headers. |
| items: |
| description: HTTPHeader describes a custom |
| header to be used in HTTP probes |
| properties: |
| name: |
| description: |- |
| The header field name. |
| This will be canonicalized upon output, so case-variant names will be understood as the same header. |
| type: string |
| value: |
| description: The header field value |
| type: string |
| required: |
| - name |
| - value |
| type: object |
| type: array |
| x-kubernetes-list-type: atomic |
| path: |
| description: Path to access on the HTTP server. |
| type: string |
| port: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| Name or number of the port to access on the container. |
| Number must be in the range 1 to 65535. |
| Name must be an IANA_SVC_NAME. |
| x-kubernetes-int-or-string: true |
| scheme: |
| description: |- |
| Scheme to use for connecting to the host. |
| Defaults to HTTP. |
| type: string |
| required: |
| - port |
| type: object |
| initialDelaySeconds: |
| description: |- |
| Number of seconds after the container has started before liveness probes are initiated. |
| More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
| format: int32 |
| type: integer |
| periodSeconds: |
| description: |- |
| How often (in seconds) to perform the probe. |
| Default to 10 seconds. Minimum value is 1. |
| format: int32 |
| type: integer |
| successThreshold: |
| description: |- |
| Minimum consecutive successes for the probe to be considered successful after having failed. |
| Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. |
| format: int32 |
| type: integer |
| tcpSocket: |
| description: TCPSocket specifies an action involving |
| a TCP port. |
| properties: |
| host: |
| description: 'Optional: Host name to connect |
| to, defaults to the pod IP.' |
| type: string |
| port: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| Number or name of the port to access on the container. |
| Number must be in the range 1 to 65535. |
| Name must be an IANA_SVC_NAME. |
| x-kubernetes-int-or-string: true |
| required: |
| - port |
| type: object |
| terminationGracePeriodSeconds: |
| description: |- |
| Optional duration in seconds the pod needs to terminate gracefully upon probe failure. |
| The grace period is the duration in seconds after the processes running in the pod are sent |
| a termination signal and the time when the processes are forcibly halted with a kill signal. |
| Set this value longer than the expected cleanup time for your process. |
| If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this |
| value overrides the value provided by the pod spec. |
| Value must be non-negative integer. The value zero indicates stop immediately via |
| the kill signal (no opportunity to shut down). |
| This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. |
| Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. |
| format: int64 |
| type: integer |
| timeoutSeconds: |
| description: |- |
| Number of seconds after which the probe times out. |
| Defaults to 1 second. Minimum value is 1. |
| More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
| format: int32 |
| type: integer |
| type: object |
| name: |
| description: |- |
| Name of the ephemeral container specified as a DNS_LABEL. |
| This name must be unique among all containers, init containers and ephemeral containers. |
| type: string |
| ports: |
| description: Ports are not allowed for ephemeral containers. |
| items: |
| description: ContainerPort represents a network port |
| in a single container. |
| properties: |
| containerPort: |
| description: |- |
| Number of port to expose on the pod's IP address. |
| This must be a valid port number, 0 < x < 65536. |
| format: int32 |
| type: integer |
| hostIP: |
| description: What host IP to bind the external |
| port to. |
| type: string |
| hostPort: |
| description: |- |
| Number of port to expose on the host. |
| If specified, this must be a valid port number, 0 < x < 65536. |
| If HostNetwork is specified, this must match ContainerPort. |
| Most containers do not need this. |
| format: int32 |
| type: integer |
| name: |
| description: |- |
| If specified, this must be an IANA_SVC_NAME and unique within the pod. Each |
| named port in a pod must have a unique name. Name for the port that can be |
| referred to by services. |
| type: string |
| protocol: |
| default: TCP |
| description: |- |
| Protocol for port. Must be UDP, TCP, or SCTP. |
| Defaults to "TCP". |
| type: string |
| required: |
| - containerPort |
| type: object |
| type: array |
| x-kubernetes-list-map-keys: |
| - containerPort |
| - protocol |
| x-kubernetes-list-type: map |
| readinessProbe: |
| description: Probes are not allowed for ephemeral containers. |
| properties: |
| exec: |
| description: Exec specifies the action to take. |
| properties: |
| command: |
| description: |- |
| Command is the command line to execute inside the container, the working directory for the |
| command is root ('/') in the container's filesystem. The command is simply exec'd, it is |
| not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use |
| a shell, you need to explicitly call out to that shell. |
| Exit status of 0 is treated as live/healthy and non-zero is unhealthy. |
| items: |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| type: object |
| failureThreshold: |
| description: |- |
| Minimum consecutive failures for the probe to be considered failed after having succeeded. |
| Defaults to 3. Minimum value is 1. |
| format: int32 |
| type: integer |
| grpc: |
| description: GRPC specifies an action involving |
| a GRPC port. |
| properties: |
| port: |
| description: Port number of the gRPC service. |
| Number must be in the range 1 to 65535. |
| format: int32 |
| type: integer |
| service: |
| description: |- |
| Service is the name of the service to place in the gRPC HealthCheckRequest |
| (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). |
| |
| |
| If this is not specified, the default behavior is defined by gRPC. |
| type: string |
| required: |
| - port |
| type: object |
| httpGet: |
| description: HTTPGet specifies the http request |
| to perform. |
| properties: |
| host: |
| description: |- |
| Host name to connect to, defaults to the pod IP. You probably want to set |
| "Host" in httpHeaders instead. |
| type: string |
| httpHeaders: |
| description: Custom headers to set in the request. |
| HTTP allows repeated headers. |
| items: |
| description: HTTPHeader describes a custom |
| header to be used in HTTP probes |
| properties: |
| name: |
| description: |- |
| The header field name. |
| This will be canonicalized upon output, so case-variant names will be understood as the same header. |
| type: string |
| value: |
| description: The header field value |
| type: string |
| required: |
| - name |
| - value |
| type: object |
| type: array |
| x-kubernetes-list-type: atomic |
| path: |
| description: Path to access on the HTTP server. |
| type: string |
| port: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| Name or number of the port to access on the container. |
| Number must be in the range 1 to 65535. |
| Name must be an IANA_SVC_NAME. |
| x-kubernetes-int-or-string: true |
| scheme: |
| description: |- |
| Scheme to use for connecting to the host. |
| Defaults to HTTP. |
| type: string |
| required: |
| - port |
| type: object |
| initialDelaySeconds: |
| description: |- |
| Number of seconds after the container has started before liveness probes are initiated. |
| More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
| format: int32 |
| type: integer |
| periodSeconds: |
| description: |- |
| How often (in seconds) to perform the probe. |
| Default to 10 seconds. Minimum value is 1. |
| format: int32 |
| type: integer |
| successThreshold: |
| description: |- |
| Minimum consecutive successes for the probe to be considered successful after having failed. |
| Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. |
| format: int32 |
| type: integer |
| tcpSocket: |
| description: TCPSocket specifies an action involving |
| a TCP port. |
| properties: |
| host: |
| description: 'Optional: Host name to connect |
| to, defaults to the pod IP.' |
| type: string |
| port: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| Number or name of the port to access on the container. |
| Number must be in the range 1 to 65535. |
| Name must be an IANA_SVC_NAME. |
| x-kubernetes-int-or-string: true |
| required: |
| - port |
| type: object |
| terminationGracePeriodSeconds: |
| description: |- |
| Optional duration in seconds the pod needs to terminate gracefully upon probe failure. |
| The grace period is the duration in seconds after the processes running in the pod are sent |
| a termination signal and the time when the processes are forcibly halted with a kill signal. |
| Set this value longer than the expected cleanup time for your process. |
| If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this |
| value overrides the value provided by the pod spec. |
| Value must be non-negative integer. The value zero indicates stop immediately via |
| the kill signal (no opportunity to shut down). |
| This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. |
| Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. |
| format: int64 |
| type: integer |
| timeoutSeconds: |
| description: |- |
| Number of seconds after which the probe times out. |
| Defaults to 1 second. Minimum value is 1. |
| More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
| format: int32 |
| type: integer |
| type: object |
| resizePolicy: |
| description: Resources resize policy for the container. |
| items: |
| description: ContainerResizePolicy represents resource |
| resize policy for the container. |
| properties: |
| resourceName: |
| description: |- |
| Name of the resource to which this resource resize policy applies. |
| Supported values: cpu, memory. |
| type: string |
| restartPolicy: |
| description: |- |
| Restart policy to apply when specified resource is resized. |
| If not specified, it defaults to NotRequired. |
| type: string |
| required: |
| - resourceName |
| - restartPolicy |
| type: object |
| type: array |
| x-kubernetes-list-type: atomic |
| resources: |
| description: |- |
| Resources are not allowed for ephemeral containers. Ephemeral containers use spare resources |
| already allocated to the pod. |
| properties: |
| claims: |
| description: |- |
| Claims lists the names of resources, defined in spec.resourceClaims, |
| that are used by this container. |
| |
| |
| This is an alpha field and requires enabling the |
| DynamicResourceAllocation feature gate. |
| |
| |
| This field is immutable. It can only be set for containers. |
| items: |
| description: ResourceClaim references one entry |
| in PodSpec.ResourceClaims. |
| properties: |
| name: |
| description: |- |
| Name must match the name of one entry in pod.spec.resourceClaims of |
| the Pod where this field is used. It makes that resource available |
| inside a container. |
| type: string |
| required: |
| - name |
| type: object |
| type: array |
| x-kubernetes-list-map-keys: |
| - name |
| x-kubernetes-list-type: map |
| limits: |
| additionalProperties: |
| anyOf: |
| - type: integer |
| - type: string |
| pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ |
| x-kubernetes-int-or-string: true |
| description: |- |
| Limits describes the maximum amount of compute resources allowed. |
| More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ |
| type: object |
| requests: |
| additionalProperties: |
| anyOf: |
| - type: integer |
| - type: string |
| pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ |
| x-kubernetes-int-or-string: true |
| description: |- |
| Requests describes the minimum amount of compute resources required. |
| If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, |
| otherwise to an implementation-defined value. Requests cannot exceed Limits. |
| More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ |
| type: object |
| type: object |
| restartPolicy: |
| description: |- |
| Restart policy for the container to manage the restart behavior of each |
| container within a pod. |
| This may only be set for init containers. You cannot set this field on |
| ephemeral containers. |
| type: string |
| securityContext: |
| description: |- |
| Optional: SecurityContext defines the security options the ephemeral container should be run with. |
| If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext. |
| properties: |
| allowPrivilegeEscalation: |
| description: |- |
| AllowPrivilegeEscalation controls whether a process can gain more |
| privileges than its parent process. This bool directly controls if |
| the no_new_privs flag will be set on the container process. |
| AllowPrivilegeEscalation is true always when the container is: |
| 1) run as Privileged |
| 2) has CAP_SYS_ADMIN |
| Note that this field cannot be set when spec.os.name is windows. |
| type: boolean |
| appArmorProfile: |
| description: |- |
| appArmorProfile is the AppArmor options to use by this container. If set, this profile |
| overrides the pod's appArmorProfile. |
| Note that this field cannot be set when spec.os.name is windows. |
| properties: |
| localhostProfile: |
| description: |- |
| localhostProfile indicates a profile loaded on the node that should be used. |
| The profile must be preconfigured on the node to work. |
| Must match the loaded name of the profile. |
| Must be set if and only if type is "Localhost". |
| type: string |
| type: |
| description: |- |
| type indicates which kind of AppArmor profile will be applied. |
| Valid options are: |
| Localhost - a profile pre-loaded on the node. |
| RuntimeDefault - the container runtime's default profile. |
| Unconfined - no AppArmor enforcement. |
| type: string |
| required: |
| - type |
| type: object |
| capabilities: |
| description: |- |
| The capabilities to add/drop when running containers. |
| Defaults to the default set of capabilities granted by the container runtime. |
| Note that this field cannot be set when spec.os.name is windows. |
| properties: |
| add: |
| description: Added capabilities |
| items: |
| description: Capability represent POSIX capabilities |
| type |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| drop: |
| description: Removed capabilities |
| items: |
| description: Capability represent POSIX capabilities |
| type |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| type: object |
| privileged: |
| description: |- |
| Run container in privileged mode. |
| Processes in privileged containers are essentially equivalent to root on the host. |
| Defaults to false. |
| Note that this field cannot be set when spec.os.name is windows. |
| type: boolean |
| procMount: |
| description: |- |
| procMount denotes the type of proc mount to use for the containers. |
| The default is DefaultProcMount which uses the container runtime defaults for |
| readonly paths and masked paths. |
| This requires the ProcMountType feature flag to be enabled. |
| Note that this field cannot be set when spec.os.name is windows. |
| type: string |
| readOnlyRootFilesystem: |
| description: |- |
| Whether this container has a read-only root filesystem. |
| Default is false. |
| Note that this field cannot be set when spec.os.name is windows. |
| type: boolean |
| runAsGroup: |
| description: |- |
| The GID to run the entrypoint of the container process. |
| Uses runtime default if unset. |
| May also be set in PodSecurityContext. If set in both SecurityContext and |
| PodSecurityContext, the value specified in SecurityContext takes precedence. |
| Note that this field cannot be set when spec.os.name is windows. |
| format: int64 |
| type: integer |
| runAsNonRoot: |
| description: |- |
| Indicates that the container must run as a non-root user. |
| If true, the Kubelet will validate the image at runtime to ensure that it |
| does not run as UID 0 (root) and fail to start the container if it does. |
| If unset or false, no such validation will be performed. |
| May also be set in PodSecurityContext. If set in both SecurityContext and |
| PodSecurityContext, the value specified in SecurityContext takes precedence. |
| type: boolean |
| runAsUser: |
| description: |- |
| The UID to run the entrypoint of the container process. |
| Defaults to user specified in image metadata if unspecified. |
| May also be set in PodSecurityContext. If set in both SecurityContext and |
| PodSecurityContext, the value specified in SecurityContext takes precedence. |
| Note that this field cannot be set when spec.os.name is windows. |
| format: int64 |
| type: integer |
| seLinuxOptions: |
| description: |- |
| The SELinux context to be applied to the container. |
| If unspecified, the container runtime will allocate a random SELinux context for each |
| container. May also be set in PodSecurityContext. If set in both SecurityContext and |
| PodSecurityContext, the value specified in SecurityContext takes precedence. |
| Note that this field cannot be set when spec.os.name is windows. |
| properties: |
| level: |
| description: Level is SELinux level label that |
| applies to the container. |
| type: string |
| role: |
| description: Role is a SELinux role label that |
| applies to the container. |
| type: string |
| type: |
| description: Type is a SELinux type label that |
| applies to the container. |
| type: string |
| user: |
| description: User is a SELinux user label that |
| applies to the container. |
| type: string |
| type: object |
| seccompProfile: |
| description: |- |
| The seccomp options to use by this container. If seccomp options are |
| provided at both the pod & container level, the container options |
| override the pod options. |
| Note that this field cannot be set when spec.os.name is windows. |
| properties: |
| localhostProfile: |
| description: |- |
| localhostProfile indicates a profile defined in a file on the node should be used. |
| The profile must be preconfigured on the node to work. |
| Must be a descending path, relative to the kubelet's configured seccomp profile location. |
| Must be set if type is "Localhost". Must NOT be set for any other type. |
| type: string |
| type: |
| description: |- |
| type indicates which kind of seccomp profile will be applied. |
| Valid options are: |
| |
| |
| Localhost - a profile defined in a file on the node should be used. |
| RuntimeDefault - the container runtime default profile should be used. |
| Unconfined - no profile should be applied. |
| type: string |
| required: |
| - type |
| type: object |
| windowsOptions: |
| description: |- |
| The Windows specific settings applied to all containers. |
| If unspecified, the options from the PodSecurityContext will be used. |
| If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. |
| Note that this field cannot be set when spec.os.name is linux. |
| properties: |
| gmsaCredentialSpec: |
| description: |- |
| GMSACredentialSpec is where the GMSA admission webhook |
| (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the |
| GMSA credential spec named by the GMSACredentialSpecName field. |
| type: string |
| gmsaCredentialSpecName: |
| description: GMSACredentialSpecName is the name |
| of the GMSA credential spec to use. |
| type: string |
| hostProcess: |
| description: |- |
| HostProcess determines if a container should be run as a 'Host Process' container. |
| All of a Pod's containers must have the same effective HostProcess value |
| (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). |
| In addition, if HostProcess is true then HostNetwork must also be set to true. |
| type: boolean |
| runAsUserName: |
| description: |- |
| The UserName in Windows to run the entrypoint of the container process. |
| Defaults to the user specified in image metadata if unspecified. |
| May also be set in PodSecurityContext. If set in both SecurityContext and |
| PodSecurityContext, the value specified in SecurityContext takes precedence. |
| type: string |
| type: object |
| type: object |
| startupProbe: |
| description: Probes are not allowed for ephemeral containers. |
| properties: |
| exec: |
| description: Exec specifies the action to take. |
| properties: |
| command: |
| description: |- |
| Command is the command line to execute inside the container, the working directory for the |
| command is root ('/') in the container's filesystem. The command is simply exec'd, it is |
| not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use |
| a shell, you need to explicitly call out to that shell. |
| Exit status of 0 is treated as live/healthy and non-zero is unhealthy. |
| items: |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| type: object |
| failureThreshold: |
| description: |- |
| Minimum consecutive failures for the probe to be considered failed after having succeeded. |
| Defaults to 3. Minimum value is 1. |
| format: int32 |
| type: integer |
| grpc: |
| description: GRPC specifies an action involving |
| a GRPC port. |
| properties: |
| port: |
| description: Port number of the gRPC service. |
| Number must be in the range 1 to 65535. |
| format: int32 |
| type: integer |
| service: |
| description: |- |
| Service is the name of the service to place in the gRPC HealthCheckRequest |
| (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). |
| |
| |
| If this is not specified, the default behavior is defined by gRPC. |
| type: string |
| required: |
| - port |
| type: object |
| httpGet: |
| description: HTTPGet specifies the http request |
| to perform. |
| properties: |
| host: |
| description: |- |
| Host name to connect to, defaults to the pod IP. You probably want to set |
| "Host" in httpHeaders instead. |
| type: string |
| httpHeaders: |
| description: Custom headers to set in the request. |
| HTTP allows repeated headers. |
| items: |
| description: HTTPHeader describes a custom |
| header to be used in HTTP probes |
| properties: |
| name: |
| description: |- |
| The header field name. |
| This will be canonicalized upon output, so case-variant names will be understood as the same header. |
| type: string |
| value: |
| description: The header field value |
| type: string |
| required: |
| - name |
| - value |
| type: object |
| type: array |
| x-kubernetes-list-type: atomic |
| path: |
| description: Path to access on the HTTP server. |
| type: string |
| port: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| Name or number of the port to access on the container. |
| Number must be in the range 1 to 65535. |
| Name must be an IANA_SVC_NAME. |
| x-kubernetes-int-or-string: true |
| scheme: |
| description: |- |
| Scheme to use for connecting to the host. |
| Defaults to HTTP. |
| type: string |
| required: |
| - port |
| type: object |
| initialDelaySeconds: |
| description: |- |
| Number of seconds after the container has started before liveness probes are initiated. |
| More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
| format: int32 |
| type: integer |
| periodSeconds: |
| description: |- |
| How often (in seconds) to perform the probe. |
| Default to 10 seconds. Minimum value is 1. |
| format: int32 |
| type: integer |
| successThreshold: |
| description: |- |
| Minimum consecutive successes for the probe to be considered successful after having failed. |
| Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. |
| format: int32 |
| type: integer |
| tcpSocket: |
| description: TCPSocket specifies an action involving |
| a TCP port. |
| properties: |
| host: |
| description: 'Optional: Host name to connect |
| to, defaults to the pod IP.' |
| type: string |
| port: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| Number or name of the port to access on the container. |
| Number must be in the range 1 to 65535. |
| Name must be an IANA_SVC_NAME. |
| x-kubernetes-int-or-string: true |
| required: |
| - port |
| type: object |
| terminationGracePeriodSeconds: |
| description: |- |
| Optional duration in seconds the pod needs to terminate gracefully upon probe failure. |
| The grace period is the duration in seconds after the processes running in the pod are sent |
| a termination signal and the time when the processes are forcibly halted with a kill signal. |
| Set this value longer than the expected cleanup time for your process. |
| If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this |
| value overrides the value provided by the pod spec. |
| Value must be non-negative integer. The value zero indicates stop immediately via |
| the kill signal (no opportunity to shut down). |
| This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. |
| Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. |
| format: int64 |
| type: integer |
| timeoutSeconds: |
| description: |- |
| Number of seconds after which the probe times out. |
| Defaults to 1 second. Minimum value is 1. |
| More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
| format: int32 |
| type: integer |
| type: object |
| stdin: |
| description: |- |
| Whether this container should allocate a buffer for stdin in the container runtime. If this |
| is not set, reads from stdin in the container will always result in EOF. |
| Default is false. |
| type: boolean |
| stdinOnce: |
| description: |- |
| Whether the container runtime should close the stdin channel after it has been opened by |
| a single attach. When stdin is true the stdin stream will remain open across multiple attach |
| sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the |
| first client attaches to stdin, and then remains open and accepts data until the client disconnects, |
| at which time stdin is closed and remains closed until the container is restarted. If this |
| flag is false, a container processes that reads from stdin will never receive an EOF. |
| Default is false |
| type: boolean |
| targetContainerName: |
| description: |- |
| If set, the name of the container from PodSpec that this ephemeral container targets. |
| The ephemeral container will be run in the namespaces (IPC, PID, etc) of this container. |
| If not set then the ephemeral container uses the namespaces configured in the Pod spec. |
| |
| |
| The container runtime must implement support for this feature. If the runtime does not |
| support namespace targeting then the result of setting this field is undefined. |
| type: string |
| terminationMessagePath: |
| description: |- |
| Optional: Path at which the file to which the container's termination message |
| will be written is mounted into the container's filesystem. |
| Message written is intended to be brief final status, such as an assertion failure message. |
| Will be truncated by the node if greater than 4096 bytes. The total message length across |
| all containers will be limited to 12kb. |
| Defaults to /dev/termination-log. |
| Cannot be updated. |
| type: string |
| terminationMessagePolicy: |
| description: |- |
| Indicate how the termination message should be populated. File will use the contents of |
| terminationMessagePath to populate the container status message on both success and failure. |
| FallbackToLogsOnError will use the last chunk of container log output if the termination |
| message file is empty and the container exited with an error. |
| The log output is limited to 2048 bytes or 80 lines, whichever is smaller. |
| Defaults to File. |
| Cannot be updated. |
| type: string |
| tty: |
| description: |- |
| Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. |
| Default is false. |
| type: boolean |
| volumeDevices: |
| description: volumeDevices is the list of block devices |
| to be used by the container. |
| items: |
| description: volumeDevice describes a mapping of a |
| raw block device within a container. |
| properties: |
| devicePath: |
| description: devicePath is the path inside of |
| the container that the device will be mapped |
| to. |
| type: string |
| name: |
| description: name must match the name of a persistentVolumeClaim |
| in the pod |
| type: string |
| required: |
| - devicePath |
| - name |
| type: object |
| type: array |
| x-kubernetes-list-map-keys: |
| - devicePath |
| x-kubernetes-list-type: map |
| volumeMounts: |
| description: |- |
| Pod volumes to mount into the container's filesystem. Subpath mounts are not allowed for ephemeral containers. |
| Cannot be updated. |
| items: |
| description: VolumeMount describes a mounting of a |
| Volume within a container. |
| properties: |
| mountPath: |
| description: |- |
| Path within the container at which the volume should be mounted. Must |
| not contain ':'. |
| type: string |
| mountPropagation: |
| description: |- |
| mountPropagation determines how mounts are propagated from the host |
| to container and the other way around. |
| When not set, MountPropagationNone is used. |
| This field is beta in 1.10. |
| When RecursiveReadOnly is set to IfPossible or to Enabled, MountPropagation must be None or unspecified |
| (which defaults to None). |
| type: string |
| name: |
| description: This must match the Name of a Volume. |
| type: string |
| readOnly: |
| description: |- |
| Mounted read-only if true, read-write otherwise (false or unspecified). |
| Defaults to false. |
| type: boolean |
| recursiveReadOnly: |
| description: |- |
| RecursiveReadOnly specifies whether read-only mounts should be handled |
| recursively. |
| |
| |
| If ReadOnly is false, this field has no meaning and must be unspecified. |
| |
| |
| If ReadOnly is true, and this field is set to Disabled, the mount is not made |
| recursively read-only. If this field is set to IfPossible, the mount is made |
| recursively read-only, if it is supported by the container runtime. If this |
| field is set to Enabled, the mount is made recursively read-only if it is |
| supported by the container runtime, otherwise the pod will not be started and |
| an error will be generated to indicate the reason. |
| |
| |
| If this field is set to IfPossible or Enabled, MountPropagation must be set to |
| None (or be unspecified, which defaults to None). |
| |
| |
| If this field is not specified, it is treated as an equivalent of Disabled. |
| type: string |
| subPath: |
| description: |- |
| Path within the volume from which the container's volume should be mounted. |
| Defaults to "" (volume's root). |
| type: string |
| subPathExpr: |
| description: |- |
| Expanded path within the volume from which the container's volume should be mounted. |
| Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. |
| Defaults to "" (volume's root). |
| SubPathExpr and SubPath are mutually exclusive. |
| type: string |
| required: |
| - mountPath |
| - name |
| type: object |
| type: array |
| x-kubernetes-list-map-keys: |
| - mountPath |
| x-kubernetes-list-type: map |
| workingDir: |
| description: |- |
| Container's working directory. |
| If not specified, the container runtime's default will be used, which |
| might be configured in the container image. |
| Cannot be updated. |
| type: string |
| required: |
| - name |
| type: object |
| type: array |
| initContainers: |
| description: InitContainers |
| items: |
| description: A single application container that you want |
| to run within a pod. |
| properties: |
| args: |
| description: |- |
| Arguments to the entrypoint. |
| The container image's CMD is used if this is not provided. |
| Variable references $(VAR_NAME) are expanded using the container's environment. If a variable |
| cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced |
| to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will |
| produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless |
| of whether the variable exists or not. Cannot be updated. |
| More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell |
| items: |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| command: |
| description: |- |
| Entrypoint array. Not executed within a shell. |
| The container image's ENTRYPOINT is used if this is not provided. |
| Variable references $(VAR_NAME) are expanded using the container's environment. If a variable |
| cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced |
| to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will |
| produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless |
| of whether the variable exists or not. Cannot be updated. |
| More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell |
| items: |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| env: |
| description: |- |
| List of environment variables to set in the container. |
| Cannot be updated. |
| items: |
| description: EnvVar represents an environment variable |
| present in a Container. |
| properties: |
| name: |
| description: Name of the environment variable. |
| Must be a C_IDENTIFIER. |
| type: string |
| value: |
| description: |- |
| Variable references $(VAR_NAME) are expanded |
| using the previously defined environment variables in the container and |
| any service environment variables. If a variable cannot be resolved, |
| the reference in the input string will be unchanged. Double $$ are reduced |
| to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. |
| "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". |
| Escaped references will never be expanded, regardless of whether the variable |
| exists or not. |
| Defaults to "". |
| type: string |
| valueFrom: |
| description: Source for the environment variable's |
| value. Cannot be used if value is not empty. |
| properties: |
| configMapKeyRef: |
| description: Selects a key of a ConfigMap. |
| properties: |
| key: |
| description: The key to select. |
| type: string |
| name: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the ConfigMap |
| or its key must be defined |
| type: boolean |
| required: |
| - key |
| type: object |
| x-kubernetes-map-type: atomic |
| fieldRef: |
| description: |- |
| Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['<KEY>']`, `metadata.annotations['<KEY>']`, |
| spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. |
| properties: |
| apiVersion: |
| description: Version of the schema the |
| FieldPath is written in terms of, defaults |
| to "v1". |
| type: string |
| fieldPath: |
| description: Path of the field to select |
| in the specified API version. |
| type: string |
| required: |
| - fieldPath |
| type: object |
| x-kubernetes-map-type: atomic |
| resourceFieldRef: |
| description: |- |
| Selects a resource of the container: only resources limits and requests |
| (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. |
| properties: |
| containerName: |
| description: 'Container name: required |
| for volumes, optional for env vars' |
| type: string |
| divisor: |
| anyOf: |
| - type: integer |
| - type: string |
| description: Specifies the output format |
| of the exposed resources, defaults to |
| "1" |
| pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ |
| x-kubernetes-int-or-string: true |
| resource: |
| description: 'Required: resource to select' |
| type: string |
| required: |
| - resource |
| type: object |
| x-kubernetes-map-type: atomic |
| secretKeyRef: |
| description: Selects a key of a secret in |
| the pod's namespace |
| properties: |
| key: |
| description: The key of the secret to |
| select from. Must be a valid secret |
| key. |
| type: string |
| name: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the Secret |
| or its key must be defined |
| type: boolean |
| required: |
| - key |
| type: object |
| x-kubernetes-map-type: atomic |
| type: object |
| required: |
| - name |
| type: object |
| type: array |
| x-kubernetes-list-map-keys: |
| - name |
| x-kubernetes-list-type: map |
| envFrom: |
| description: |- |
| List of sources to populate environment variables in the container. |
| The keys defined within a source must be a C_IDENTIFIER. All invalid keys |
| will be reported as an event when the container is starting. When a key exists in multiple |
| sources, the value associated with the last source will take precedence. |
| Values defined by an Env with a duplicate key will take precedence. |
| Cannot be updated. |
| items: |
| description: EnvFromSource represents the source of |
| a set of ConfigMaps |
| properties: |
| configMapRef: |
| description: The ConfigMap to select from |
| properties: |
| name: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the ConfigMap |
| must be defined |
| type: boolean |
| type: object |
| x-kubernetes-map-type: atomic |
| prefix: |
| description: An optional identifier to prepend |
| to each key in the ConfigMap. Must be a C_IDENTIFIER. |
| type: string |
| secretRef: |
| description: The Secret to select from |
| properties: |
| name: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the Secret must |
| be defined |
| type: boolean |
| type: object |
| x-kubernetes-map-type: atomic |
| type: object |
| type: array |
| x-kubernetes-list-type: atomic |
| image: |
| description: |- |
| Container image name. |
| More info: https://kubernetes.io/docs/concepts/containers/images |
| This field is optional to allow higher level config management to default or override |
| container images in workload controllers like Deployments and StatefulSets. |
| type: string |
| imagePullPolicy: |
| description: |- |
| Image pull policy. |
| One of Always, Never, IfNotPresent. |
| Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. |
| Cannot be updated. |
| More info: https://kubernetes.io/docs/concepts/containers/images#updating-images |
| type: string |
| lifecycle: |
| description: |- |
| Actions that the management system should take in response to container lifecycle events. |
| Cannot be updated. |
| properties: |
| postStart: |
| description: |- |
| PostStart is called immediately after a container is created. If the handler fails, |
| the container is terminated and restarted according to its restart policy. |
| Other management of the container blocks until the hook completes. |
| More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks |
| properties: |
| exec: |
| description: Exec specifies the action to take. |
| properties: |
| command: |
| description: |- |
| Command is the command line to execute inside the container, the working directory for the |
| command is root ('/') in the container's filesystem. The command is simply exec'd, it is |
| not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use |
| a shell, you need to explicitly call out to that shell. |
| Exit status of 0 is treated as live/healthy and non-zero is unhealthy. |
| items: |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| type: object |
| httpGet: |
| description: HTTPGet specifies the http request |
| to perform. |
| properties: |
| host: |
| description: |- |
| Host name to connect to, defaults to the pod IP. You probably want to set |
| "Host" in httpHeaders instead. |
| type: string |
| httpHeaders: |
| description: Custom headers to set in the |
| request. HTTP allows repeated headers. |
| items: |
| description: HTTPHeader describes a custom |
| header to be used in HTTP probes |
| properties: |
| name: |
| description: |- |
| The header field name. |
| This will be canonicalized upon output, so case-variant names will be understood as the same header. |
| type: string |
| value: |
| description: The header field value |
| type: string |
| required: |
| - name |
| - value |
| type: object |
| type: array |
| x-kubernetes-list-type: atomic |
| path: |
| description: Path to access on the HTTP |
| server. |
| type: string |
| port: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| Name or number of the port to access on the container. |
| Number must be in the range 1 to 65535. |
| Name must be an IANA_SVC_NAME. |
| x-kubernetes-int-or-string: true |
| scheme: |
| description: |- |
| Scheme to use for connecting to the host. |
| Defaults to HTTP. |
| type: string |
| required: |
| - port |
| type: object |
| sleep: |
| description: Sleep represents the duration that |
| the container should sleep before being terminated. |
| properties: |
| seconds: |
| description: Seconds is the number of seconds |
| to sleep. |
| format: int64 |
| type: integer |
| required: |
| - seconds |
| type: object |
| tcpSocket: |
| description: |- |
| Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept |
| for the backward compatibility. There are no validation of this field and |
| lifecycle hooks will fail in runtime when tcp handler is specified. |
| properties: |
| host: |
| description: 'Optional: Host name to connect |
| to, defaults to the pod IP.' |
| type: string |
| port: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| Number or name of the port to access on the container. |
| Number must be in the range 1 to 65535. |
| Name must be an IANA_SVC_NAME. |
| x-kubernetes-int-or-string: true |
| required: |
| - port |
| type: object |
| type: object |
| preStop: |
| description: |- |
| PreStop is called immediately before a container is terminated due to an |
| API request or management event such as liveness/startup probe failure, |
| preemption, resource contention, etc. The handler is not called if the |
| container crashes or exits. The Pod's termination grace period countdown begins before the |
| PreStop hook is executed. Regardless of the outcome of the handler, the |
| container will eventually terminate within the Pod's termination grace |
| period (unless delayed by finalizers). Other management of the container blocks until the hook completes |
| or until the termination grace period is reached. |
| More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks |
| properties: |
| exec: |
| description: Exec specifies the action to take. |
| properties: |
| command: |
| description: |- |
| Command is the command line to execute inside the container, the working directory for the |
| command is root ('/') in the container's filesystem. The command is simply exec'd, it is |
| not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use |
| a shell, you need to explicitly call out to that shell. |
| Exit status of 0 is treated as live/healthy and non-zero is unhealthy. |
| items: |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| type: object |
| httpGet: |
| description: HTTPGet specifies the http request |
| to perform. |
| properties: |
| host: |
| description: |- |
| Host name to connect to, defaults to the pod IP. You probably want to set |
| "Host" in httpHeaders instead. |
| type: string |
| httpHeaders: |
| description: Custom headers to set in the |
| request. HTTP allows repeated headers. |
| items: |
| description: HTTPHeader describes a custom |
| header to be used in HTTP probes |
| properties: |
| name: |
| description: |- |
| The header field name. |
| This will be canonicalized upon output, so case-variant names will be understood as the same header. |
| type: string |
| value: |
| description: The header field value |
| type: string |
| required: |
| - name |
| - value |
| type: object |
| type: array |
| x-kubernetes-list-type: atomic |
| path: |
| description: Path to access on the HTTP |
| server. |
| type: string |
| port: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| Name or number of the port to access on the container. |
| Number must be in the range 1 to 65535. |
| Name must be an IANA_SVC_NAME. |
| x-kubernetes-int-or-string: true |
| scheme: |
| description: |- |
| Scheme to use for connecting to the host. |
| Defaults to HTTP. |
| type: string |
| required: |
| - port |
| type: object |
| sleep: |
| description: Sleep represents the duration that |
| the container should sleep before being terminated. |
| properties: |
| seconds: |
| description: Seconds is the number of seconds |
| to sleep. |
| format: int64 |
| type: integer |
| required: |
| - seconds |
| type: object |
| tcpSocket: |
| description: |- |
| Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept |
| for the backward compatibility. There are no validation of this field and |
| lifecycle hooks will fail in runtime when tcp handler is specified. |
| properties: |
| host: |
| description: 'Optional: Host name to connect |
| to, defaults to the pod IP.' |
| type: string |
| port: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| Number or name of the port to access on the container. |
| Number must be in the range 1 to 65535. |
| Name must be an IANA_SVC_NAME. |
| x-kubernetes-int-or-string: true |
| required: |
| - port |
| type: object |
| type: object |
| type: object |
| livenessProbe: |
| description: |- |
| Periodic probe of container liveness. |
| Container will be restarted if the probe fails. |
| Cannot be updated. |
| More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
| properties: |
| exec: |
| description: Exec specifies the action to take. |
| properties: |
| command: |
| description: |- |
| Command is the command line to execute inside the container, the working directory for the |
| command is root ('/') in the container's filesystem. The command is simply exec'd, it is |
| not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use |
| a shell, you need to explicitly call out to that shell. |
| Exit status of 0 is treated as live/healthy and non-zero is unhealthy. |
| items: |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| type: object |
| failureThreshold: |
| description: |- |
| Minimum consecutive failures for the probe to be considered failed after having succeeded. |
| Defaults to 3. Minimum value is 1. |
| format: int32 |
| type: integer |
| grpc: |
| description: GRPC specifies an action involving |
| a GRPC port. |
| properties: |
| port: |
| description: Port number of the gRPC service. |
| Number must be in the range 1 to 65535. |
| format: int32 |
| type: integer |
| service: |
| description: |- |
| Service is the name of the service to place in the gRPC HealthCheckRequest |
| (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). |
| |
| |
| If this is not specified, the default behavior is defined by gRPC. |
| type: string |
| required: |
| - port |
| type: object |
| httpGet: |
| description: HTTPGet specifies the http request |
| to perform. |
| properties: |
| host: |
| description: |- |
| Host name to connect to, defaults to the pod IP. You probably want to set |
| "Host" in httpHeaders instead. |
| type: string |
| httpHeaders: |
| description: Custom headers to set in the request. |
| HTTP allows repeated headers. |
| items: |
| description: HTTPHeader describes a custom |
| header to be used in HTTP probes |
| properties: |
| name: |
| description: |- |
| The header field name. |
| This will be canonicalized upon output, so case-variant names will be understood as the same header. |
| type: string |
| value: |
| description: The header field value |
| type: string |
| required: |
| - name |
| - value |
| type: object |
| type: array |
| x-kubernetes-list-type: atomic |
| path: |
| description: Path to access on the HTTP server. |
| type: string |
| port: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| Name or number of the port to access on the container. |
| Number must be in the range 1 to 65535. |
| Name must be an IANA_SVC_NAME. |
| x-kubernetes-int-or-string: true |
| scheme: |
| description: |- |
| Scheme to use for connecting to the host. |
| Defaults to HTTP. |
| type: string |
| required: |
| - port |
| type: object |
| initialDelaySeconds: |
| description: |- |
| Number of seconds after the container has started before liveness probes are initiated. |
| More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
| format: int32 |
| type: integer |
| periodSeconds: |
| description: |- |
| How often (in seconds) to perform the probe. |
| Default to 10 seconds. Minimum value is 1. |
| format: int32 |
| type: integer |
| successThreshold: |
| description: |- |
| Minimum consecutive successes for the probe to be considered successful after having failed. |
| Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. |
| format: int32 |
| type: integer |
| tcpSocket: |
| description: TCPSocket specifies an action involving |
| a TCP port. |
| properties: |
| host: |
| description: 'Optional: Host name to connect |
| to, defaults to the pod IP.' |
| type: string |
| port: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| Number or name of the port to access on the container. |
| Number must be in the range 1 to 65535. |
| Name must be an IANA_SVC_NAME. |
| x-kubernetes-int-or-string: true |
| required: |
| - port |
| type: object |
| terminationGracePeriodSeconds: |
| description: |- |
| Optional duration in seconds the pod needs to terminate gracefully upon probe failure. |
| The grace period is the duration in seconds after the processes running in the pod are sent |
| a termination signal and the time when the processes are forcibly halted with a kill signal. |
| Set this value longer than the expected cleanup time for your process. |
| If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this |
| value overrides the value provided by the pod spec. |
| Value must be non-negative integer. The value zero indicates stop immediately via |
| the kill signal (no opportunity to shut down). |
| This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. |
| Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. |
| format: int64 |
| type: integer |
| timeoutSeconds: |
| description: |- |
| Number of seconds after which the probe times out. |
| Defaults to 1 second. Minimum value is 1. |
| More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
| format: int32 |
| type: integer |
| type: object |
| name: |
| description: |- |
| Name of the container specified as a DNS_LABEL. |
| Each container in a pod must have a unique name (DNS_LABEL). |
| Cannot be updated. |
| type: string |
| ports: |
| description: |- |
| List of ports to expose from the container. Not specifying a port here |
| DOES NOT prevent that port from being exposed. Any port which is |
| listening on the default "0.0.0.0" address inside a container will be |
| accessible from the network. |
| Modifying this array with strategic merge patch may corrupt the data. |
| For more information See https://github.com/kubernetes/kubernetes/issues/108255. |
| Cannot be updated. |
| items: |
| description: ContainerPort represents a network port |
| in a single container. |
| properties: |
| containerPort: |
| description: |- |
| Number of port to expose on the pod's IP address. |
| This must be a valid port number, 0 < x < 65536. |
| format: int32 |
| type: integer |
| hostIP: |
| description: What host IP to bind the external |
| port to. |
| type: string |
| hostPort: |
| description: |- |
| Number of port to expose on the host. |
| If specified, this must be a valid port number, 0 < x < 65536. |
| If HostNetwork is specified, this must match ContainerPort. |
| Most containers do not need this. |
| format: int32 |
| type: integer |
| name: |
| description: |- |
| If specified, this must be an IANA_SVC_NAME and unique within the pod. Each |
| named port in a pod must have a unique name. Name for the port that can be |
| referred to by services. |
| type: string |
| protocol: |
| default: TCP |
| description: |- |
| Protocol for port. Must be UDP, TCP, or SCTP. |
| Defaults to "TCP". |
| type: string |
| required: |
| - containerPort |
| type: object |
| type: array |
| x-kubernetes-list-map-keys: |
| - containerPort |
| - protocol |
| x-kubernetes-list-type: map |
| readinessProbe: |
| description: |- |
| Periodic probe of container service readiness. |
| Container will be removed from service endpoints if the probe fails. |
| Cannot be updated. |
| More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
| properties: |
| exec: |
| description: Exec specifies the action to take. |
| properties: |
| command: |
| description: |- |
| Command is the command line to execute inside the container, the working directory for the |
| command is root ('/') in the container's filesystem. The command is simply exec'd, it is |
| not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use |
| a shell, you need to explicitly call out to that shell. |
| Exit status of 0 is treated as live/healthy and non-zero is unhealthy. |
| items: |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| type: object |
| failureThreshold: |
| description: |- |
| Minimum consecutive failures for the probe to be considered failed after having succeeded. |
| Defaults to 3. Minimum value is 1. |
| format: int32 |
| type: integer |
| grpc: |
| description: GRPC specifies an action involving |
| a GRPC port. |
| properties: |
| port: |
| description: Port number of the gRPC service. |
| Number must be in the range 1 to 65535. |
| format: int32 |
| type: integer |
| service: |
| description: |- |
| Service is the name of the service to place in the gRPC HealthCheckRequest |
| (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). |
| |
| |
| If this is not specified, the default behavior is defined by gRPC. |
| type: string |
| required: |
| - port |
| type: object |
| httpGet: |
| description: HTTPGet specifies the http request |
| to perform. |
| properties: |
| host: |
| description: |- |
| Host name to connect to, defaults to the pod IP. You probably want to set |
| "Host" in httpHeaders instead. |
| type: string |
| httpHeaders: |
| description: Custom headers to set in the request. |
| HTTP allows repeated headers. |
| items: |
| description: HTTPHeader describes a custom |
| header to be used in HTTP probes |
| properties: |
| name: |
| description: |- |
| The header field name. |
| This will be canonicalized upon output, so case-variant names will be understood as the same header. |
| type: string |
| value: |
| description: The header field value |
| type: string |
| required: |
| - name |
| - value |
| type: object |
| type: array |
| x-kubernetes-list-type: atomic |
| path: |
| description: Path to access on the HTTP server. |
| type: string |
| port: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| Name or number of the port to access on the container. |
| Number must be in the range 1 to 65535. |
| Name must be an IANA_SVC_NAME. |
| x-kubernetes-int-or-string: true |
| scheme: |
| description: |- |
| Scheme to use for connecting to the host. |
| Defaults to HTTP. |
| type: string |
| required: |
| - port |
| type: object |
| initialDelaySeconds: |
| description: |- |
| Number of seconds after the container has started before liveness probes are initiated. |
| More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
| format: int32 |
| type: integer |
| periodSeconds: |
| description: |- |
| How often (in seconds) to perform the probe. |
| Default to 10 seconds. Minimum value is 1. |
| format: int32 |
| type: integer |
| successThreshold: |
| description: |- |
| Minimum consecutive successes for the probe to be considered successful after having failed. |
| Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. |
| format: int32 |
| type: integer |
| tcpSocket: |
| description: TCPSocket specifies an action involving |
| a TCP port. |
| properties: |
| host: |
| description: 'Optional: Host name to connect |
| to, defaults to the pod IP.' |
| type: string |
| port: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| Number or name of the port to access on the container. |
| Number must be in the range 1 to 65535. |
| Name must be an IANA_SVC_NAME. |
| x-kubernetes-int-or-string: true |
| required: |
| - port |
| type: object |
| terminationGracePeriodSeconds: |
| description: |- |
| Optional duration in seconds the pod needs to terminate gracefully upon probe failure. |
| The grace period is the duration in seconds after the processes running in the pod are sent |
| a termination signal and the time when the processes are forcibly halted with a kill signal. |
| Set this value longer than the expected cleanup time for your process. |
| If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this |
| value overrides the value provided by the pod spec. |
| Value must be non-negative integer. The value zero indicates stop immediately via |
| the kill signal (no opportunity to shut down). |
| This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. |
| Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. |
| format: int64 |
| type: integer |
| timeoutSeconds: |
| description: |- |
| Number of seconds after which the probe times out. |
| Defaults to 1 second. Minimum value is 1. |
| More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
| format: int32 |
| type: integer |
| type: object |
| resizePolicy: |
| description: Resources resize policy for the container. |
| items: |
| description: ContainerResizePolicy represents resource |
| resize policy for the container. |
| properties: |
| resourceName: |
| description: |- |
| Name of the resource to which this resource resize policy applies. |
| Supported values: cpu, memory. |
| type: string |
| restartPolicy: |
| description: |- |
| Restart policy to apply when specified resource is resized. |
| If not specified, it defaults to NotRequired. |
| type: string |
| required: |
| - resourceName |
| - restartPolicy |
| type: object |
| type: array |
| x-kubernetes-list-type: atomic |
| resources: |
| description: |- |
| Compute Resources required by this container. |
| Cannot be updated. |
| More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ |
| properties: |
| claims: |
| description: |- |
| Claims lists the names of resources, defined in spec.resourceClaims, |
| that are used by this container. |
| |
| |
| This is an alpha field and requires enabling the |
| DynamicResourceAllocation feature gate. |
| |
| |
| This field is immutable. It can only be set for containers. |
| items: |
| description: ResourceClaim references one entry |
| in PodSpec.ResourceClaims. |
| properties: |
| name: |
| description: |- |
| Name must match the name of one entry in pod.spec.resourceClaims of |
| the Pod where this field is used. It makes that resource available |
| inside a container. |
| type: string |
| required: |
| - name |
| type: object |
| type: array |
| x-kubernetes-list-map-keys: |
| - name |
| x-kubernetes-list-type: map |
| limits: |
| additionalProperties: |
| anyOf: |
| - type: integer |
| - type: string |
| pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ |
| x-kubernetes-int-or-string: true |
| description: |- |
| Limits describes the maximum amount of compute resources allowed. |
| More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ |
| type: object |
| requests: |
| additionalProperties: |
| anyOf: |
| - type: integer |
| - type: string |
| pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ |
| x-kubernetes-int-or-string: true |
| description: |- |
| Requests describes the minimum amount of compute resources required. |
| If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, |
| otherwise to an implementation-defined value. Requests cannot exceed Limits. |
| More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ |
| type: object |
| type: object |
| restartPolicy: |
| description: |- |
| RestartPolicy defines the restart behavior of individual containers in a pod. |
| This field may only be set for init containers, and the only allowed value is "Always". |
| For non-init containers or when this field is not specified, |
| the restart behavior is defined by the Pod's restart policy and the container type. |
| Setting the RestartPolicy as "Always" for the init container will have the following effect: |
| this init container will be continually restarted on |
| exit until all regular containers have terminated. Once all regular |
| containers have completed, all init containers with restartPolicy "Always" |
| will be shut down. This lifecycle differs from normal init containers and |
| is often referred to as a "sidecar" container. Although this init |
| container still starts in the init container sequence, it does not wait |
| for the container to complete before proceeding to the next init |
| container. Instead, the next init container starts immediately after this |
| init container is started, or after any startupProbe has successfully |
| completed. |
| type: string |
| securityContext: |
| description: |- |
| SecurityContext defines the security options the container should be run with. |
| If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext. |
| More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ |
| properties: |
| allowPrivilegeEscalation: |
| description: |- |
| AllowPrivilegeEscalation controls whether a process can gain more |
| privileges than its parent process. This bool directly controls if |
| the no_new_privs flag will be set on the container process. |
| AllowPrivilegeEscalation is true always when the container is: |
| 1) run as Privileged |
| 2) has CAP_SYS_ADMIN |
| Note that this field cannot be set when spec.os.name is windows. |
| type: boolean |
| appArmorProfile: |
| description: |- |
| appArmorProfile is the AppArmor options to use by this container. If set, this profile |
| overrides the pod's appArmorProfile. |
| Note that this field cannot be set when spec.os.name is windows. |
| properties: |
| localhostProfile: |
| description: |- |
| localhostProfile indicates a profile loaded on the node that should be used. |
| The profile must be preconfigured on the node to work. |
| Must match the loaded name of the profile. |
| Must be set if and only if type is "Localhost". |
| type: string |
| type: |
| description: |- |
| type indicates which kind of AppArmor profile will be applied. |
| Valid options are: |
| Localhost - a profile pre-loaded on the node. |
| RuntimeDefault - the container runtime's default profile. |
| Unconfined - no AppArmor enforcement. |
| type: string |
| required: |
| - type |
| type: object |
| capabilities: |
| description: |- |
| The capabilities to add/drop when running containers. |
| Defaults to the default set of capabilities granted by the container runtime. |
| Note that this field cannot be set when spec.os.name is windows. |
| properties: |
| add: |
| description: Added capabilities |
| items: |
| description: Capability represent POSIX capabilities |
| type |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| drop: |
| description: Removed capabilities |
| items: |
| description: Capability represent POSIX capabilities |
| type |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| type: object |
| privileged: |
| description: |- |
| Run container in privileged mode. |
| Processes in privileged containers are essentially equivalent to root on the host. |
| Defaults to false. |
| Note that this field cannot be set when spec.os.name is windows. |
| type: boolean |
| procMount: |
| description: |- |
| procMount denotes the type of proc mount to use for the containers. |
| The default is DefaultProcMount which uses the container runtime defaults for |
| readonly paths and masked paths. |
| This requires the ProcMountType feature flag to be enabled. |
| Note that this field cannot be set when spec.os.name is windows. |
| type: string |
| readOnlyRootFilesystem: |
| description: |- |
| Whether this container has a read-only root filesystem. |
| Default is false. |
| Note that this field cannot be set when spec.os.name is windows. |
| type: boolean |
| runAsGroup: |
| description: |- |
| The GID to run the entrypoint of the container process. |
| Uses runtime default if unset. |
| May also be set in PodSecurityContext. If set in both SecurityContext and |
| PodSecurityContext, the value specified in SecurityContext takes precedence. |
| Note that this field cannot be set when spec.os.name is windows. |
| format: int64 |
| type: integer |
| runAsNonRoot: |
| description: |- |
| Indicates that the container must run as a non-root user. |
| If true, the Kubelet will validate the image at runtime to ensure that it |
| does not run as UID 0 (root) and fail to start the container if it does. |
| If unset or false, no such validation will be performed. |
| May also be set in PodSecurityContext. If set in both SecurityContext and |
| PodSecurityContext, the value specified in SecurityContext takes precedence. |
| type: boolean |
| runAsUser: |
| description: |- |
| The UID to run the entrypoint of the container process. |
| Defaults to user specified in image metadata if unspecified. |
| May also be set in PodSecurityContext. If set in both SecurityContext and |
| PodSecurityContext, the value specified in SecurityContext takes precedence. |
| Note that this field cannot be set when spec.os.name is windows. |
| format: int64 |
| type: integer |
| seLinuxOptions: |
| description: |- |
| The SELinux context to be applied to the container. |
| If unspecified, the container runtime will allocate a random SELinux context for each |
| container. May also be set in PodSecurityContext. If set in both SecurityContext and |
| PodSecurityContext, the value specified in SecurityContext takes precedence. |
| Note that this field cannot be set when spec.os.name is windows. |
| properties: |
| level: |
| description: Level is SELinux level label that |
| applies to the container. |
| type: string |
| role: |
| description: Role is a SELinux role label that |
| applies to the container. |
| type: string |
| type: |
| description: Type is a SELinux type label that |
| applies to the container. |
| type: string |
| user: |
| description: User is a SELinux user label that |
| applies to the container. |
| type: string |
| type: object |
| seccompProfile: |
| description: |- |
| The seccomp options to use by this container. If seccomp options are |
| provided at both the pod & container level, the container options |
| override the pod options. |
| Note that this field cannot be set when spec.os.name is windows. |
| properties: |
| localhostProfile: |
| description: |- |
| localhostProfile indicates a profile defined in a file on the node should be used. |
| The profile must be preconfigured on the node to work. |
| Must be a descending path, relative to the kubelet's configured seccomp profile location. |
| Must be set if type is "Localhost". Must NOT be set for any other type. |
| type: string |
| type: |
| description: |- |
| type indicates which kind of seccomp profile will be applied. |
| Valid options are: |
| |
| |
| Localhost - a profile defined in a file on the node should be used. |
| RuntimeDefault - the container runtime default profile should be used. |
| Unconfined - no profile should be applied. |
| type: string |
| required: |
| - type |
| type: object |
| windowsOptions: |
| description: |- |
| The Windows specific settings applied to all containers. |
| If unspecified, the options from the PodSecurityContext will be used. |
| If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. |
| Note that this field cannot be set when spec.os.name is linux. |
| properties: |
| gmsaCredentialSpec: |
| description: |- |
| GMSACredentialSpec is where the GMSA admission webhook |
| (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the |
| GMSA credential spec named by the GMSACredentialSpecName field. |
| type: string |
| gmsaCredentialSpecName: |
| description: GMSACredentialSpecName is the name |
| of the GMSA credential spec to use. |
| type: string |
| hostProcess: |
| description: |- |
| HostProcess determines if a container should be run as a 'Host Process' container. |
| All of a Pod's containers must have the same effective HostProcess value |
| (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). |
| In addition, if HostProcess is true then HostNetwork must also be set to true. |
| type: boolean |
| runAsUserName: |
| description: |- |
| The UserName in Windows to run the entrypoint of the container process. |
| Defaults to the user specified in image metadata if unspecified. |
| May also be set in PodSecurityContext. If set in both SecurityContext and |
| PodSecurityContext, the value specified in SecurityContext takes precedence. |
| type: string |
| type: object |
| type: object |
| startupProbe: |
| description: |- |
| StartupProbe indicates that the Pod has successfully initialized. |
| If specified, no other probes are executed until this completes successfully. |
| If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. |
| This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, |
| when it might take a long time to load data or warm a cache, than during steady-state operation. |
| This cannot be updated. |
| More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
| properties: |
| exec: |
| description: Exec specifies the action to take. |
| properties: |
| command: |
| description: |- |
| Command is the command line to execute inside the container, the working directory for the |
| command is root ('/') in the container's filesystem. The command is simply exec'd, it is |
| not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use |
| a shell, you need to explicitly call out to that shell. |
| Exit status of 0 is treated as live/healthy and non-zero is unhealthy. |
| items: |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| type: object |
| failureThreshold: |
| description: |- |
| Minimum consecutive failures for the probe to be considered failed after having succeeded. |
| Defaults to 3. Minimum value is 1. |
| format: int32 |
| type: integer |
| grpc: |
| description: GRPC specifies an action involving |
| a GRPC port. |
| properties: |
| port: |
| description: Port number of the gRPC service. |
| Number must be in the range 1 to 65535. |
| format: int32 |
| type: integer |
| service: |
| description: |- |
| Service is the name of the service to place in the gRPC HealthCheckRequest |
| (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). |
| |
| |
| If this is not specified, the default behavior is defined by gRPC. |
| type: string |
| required: |
| - port |
| type: object |
| httpGet: |
| description: HTTPGet specifies the http request |
| to perform. |
| properties: |
| host: |
| description: |- |
| Host name to connect to, defaults to the pod IP. You probably want to set |
| "Host" in httpHeaders instead. |
| type: string |
| httpHeaders: |
| description: Custom headers to set in the request. |
| HTTP allows repeated headers. |
| items: |
| description: HTTPHeader describes a custom |
| header to be used in HTTP probes |
| properties: |
| name: |
| description: |- |
| The header field name. |
| This will be canonicalized upon output, so case-variant names will be understood as the same header. |
| type: string |
| value: |
| description: The header field value |
| type: string |
| required: |
| - name |
| - value |
| type: object |
| type: array |
| x-kubernetes-list-type: atomic |
| path: |
| description: Path to access on the HTTP server. |
| type: string |
| port: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| Name or number of the port to access on the container. |
| Number must be in the range 1 to 65535. |
| Name must be an IANA_SVC_NAME. |
| x-kubernetes-int-or-string: true |
| scheme: |
| description: |- |
| Scheme to use for connecting to the host. |
| Defaults to HTTP. |
| type: string |
| required: |
| - port |
| type: object |
| initialDelaySeconds: |
| description: |- |
| Number of seconds after the container has started before liveness probes are initiated. |
| More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
| format: int32 |
| type: integer |
| periodSeconds: |
| description: |- |
| How often (in seconds) to perform the probe. |
| Default to 10 seconds. Minimum value is 1. |
| format: int32 |
| type: integer |
| successThreshold: |
| description: |- |
| Minimum consecutive successes for the probe to be considered successful after having failed. |
| Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. |
| format: int32 |
| type: integer |
| tcpSocket: |
| description: TCPSocket specifies an action involving |
| a TCP port. |
| properties: |
| host: |
| description: 'Optional: Host name to connect |
| to, defaults to the pod IP.' |
| type: string |
| port: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| Number or name of the port to access on the container. |
| Number must be in the range 1 to 65535. |
| Name must be an IANA_SVC_NAME. |
| x-kubernetes-int-or-string: true |
| required: |
| - port |
| type: object |
| terminationGracePeriodSeconds: |
| description: |- |
| Optional duration in seconds the pod needs to terminate gracefully upon probe failure. |
| The grace period is the duration in seconds after the processes running in the pod are sent |
| a termination signal and the time when the processes are forcibly halted with a kill signal. |
| Set this value longer than the expected cleanup time for your process. |
| If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this |
| value overrides the value provided by the pod spec. |
| Value must be non-negative integer. The value zero indicates stop immediately via |
| the kill signal (no opportunity to shut down). |
| This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. |
| Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. |
| format: int64 |
| type: integer |
| timeoutSeconds: |
| description: |- |
| Number of seconds after which the probe times out. |
| Defaults to 1 second. Minimum value is 1. |
| More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
| format: int32 |
| type: integer |
| type: object |
| stdin: |
| description: |- |
| Whether this container should allocate a buffer for stdin in the container runtime. If this |
| is not set, reads from stdin in the container will always result in EOF. |
| Default is false. |
| type: boolean |
| stdinOnce: |
| description: |- |
| Whether the container runtime should close the stdin channel after it has been opened by |
| a single attach. When stdin is true the stdin stream will remain open across multiple attach |
| sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the |
| first client attaches to stdin, and then remains open and accepts data until the client disconnects, |
| at which time stdin is closed and remains closed until the container is restarted. If this |
| flag is false, a container processes that reads from stdin will never receive an EOF. |
| Default is false |
| type: boolean |
| terminationMessagePath: |
| description: |- |
| Optional: Path at which the file to which the container's termination message |
| will be written is mounted into the container's filesystem. |
| Message written is intended to be brief final status, such as an assertion failure message. |
| Will be truncated by the node if greater than 4096 bytes. The total message length across |
| all containers will be limited to 12kb. |
| Defaults to /dev/termination-log. |
| Cannot be updated. |
| type: string |
| terminationMessagePolicy: |
| description: |- |
| Indicate how the termination message should be populated. File will use the contents of |
| terminationMessagePath to populate the container status message on both success and failure. |
| FallbackToLogsOnError will use the last chunk of container log output if the termination |
| message file is empty and the container exited with an error. |
| The log output is limited to 2048 bytes or 80 lines, whichever is smaller. |
| Defaults to File. |
| Cannot be updated. |
| type: string |
| tty: |
| description: |- |
| Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. |
| Default is false. |
| type: boolean |
| volumeDevices: |
| description: volumeDevices is the list of block devices |
| to be used by the container. |
| items: |
| description: volumeDevice describes a mapping of a |
| raw block device within a container. |
| properties: |
| devicePath: |
| description: devicePath is the path inside of |
| the container that the device will be mapped |
| to. |
| type: string |
| name: |
| description: name must match the name of a persistentVolumeClaim |
| in the pod |
| type: string |
| required: |
| - devicePath |
| - name |
| type: object |
| type: array |
| x-kubernetes-list-map-keys: |
| - devicePath |
| x-kubernetes-list-type: map |
| volumeMounts: |
| description: |- |
| Pod volumes to mount into the container's filesystem. |
| Cannot be updated. |
| items: |
| description: VolumeMount describes a mounting of a |
| Volume within a container. |
| properties: |
| mountPath: |
| description: |- |
| Path within the container at which the volume should be mounted. Must |
| not contain ':'. |
| type: string |
| mountPropagation: |
| description: |- |
| mountPropagation determines how mounts are propagated from the host |
| to container and the other way around. |
| When not set, MountPropagationNone is used. |
| This field is beta in 1.10. |
| When RecursiveReadOnly is set to IfPossible or to Enabled, MountPropagation must be None or unspecified |
| (which defaults to None). |
| type: string |
| name: |
| description: This must match the Name of a Volume. |
| type: string |
| readOnly: |
| description: |- |
| Mounted read-only if true, read-write otherwise (false or unspecified). |
| Defaults to false. |
| type: boolean |
| recursiveReadOnly: |
| description: |- |
| RecursiveReadOnly specifies whether read-only mounts should be handled |
| recursively. |
| |
| |
| If ReadOnly is false, this field has no meaning and must be unspecified. |
| |
| |
| If ReadOnly is true, and this field is set to Disabled, the mount is not made |
| recursively read-only. If this field is set to IfPossible, the mount is made |
| recursively read-only, if it is supported by the container runtime. If this |
| field is set to Enabled, the mount is made recursively read-only if it is |
| supported by the container runtime, otherwise the pod will not be started and |
| an error will be generated to indicate the reason. |
| |
| |
| If this field is set to IfPossible or Enabled, MountPropagation must be set to |
| None (or be unspecified, which defaults to None). |
| |
| |
| If this field is not specified, it is treated as an equivalent of Disabled. |
| type: string |
| subPath: |
| description: |- |
| Path within the volume from which the container's volume should be mounted. |
| Defaults to "" (volume's root). |
| type: string |
| subPathExpr: |
| description: |- |
| Expanded path within the volume from which the container's volume should be mounted. |
| Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. |
| Defaults to "" (volume's root). |
| SubPathExpr and SubPath are mutually exclusive. |
| type: string |
| required: |
| - mountPath |
| - name |
| type: object |
| type: array |
| x-kubernetes-list-map-keys: |
| - mountPath |
| x-kubernetes-list-type: map |
| workingDir: |
| description: |- |
| Container's working directory. |
| If not specified, the container runtime's default will be used, which |
| might be configured in the container image. |
| Cannot be updated. |
| type: string |
| required: |
| - name |
| type: object |
| type: array |
| nodeSelector: |
| additionalProperties: |
| type: string |
| description: NodeSelector |
| type: object |
| restartPolicy: |
| description: RestartPolicy |
| type: string |
| securityContext: |
| description: PodSecurityContext |
| properties: |
| appArmorProfile: |
| description: |- |
| appArmorProfile is the AppArmor options to use by the containers in this pod. |
| Note that this field cannot be set when spec.os.name is windows. |
| properties: |
| localhostProfile: |
| description: |- |
| localhostProfile indicates a profile loaded on the node that should be used. |
| The profile must be preconfigured on the node to work. |
| Must match the loaded name of the profile. |
| Must be set if and only if type is "Localhost". |
| type: string |
| type: |
| description: |- |
| type indicates which kind of AppArmor profile will be applied. |
| Valid options are: |
| Localhost - a profile pre-loaded on the node. |
| RuntimeDefault - the container runtime's default profile. |
| Unconfined - no AppArmor enforcement. |
| type: string |
| required: |
| - type |
| type: object |
| fsGroup: |
| description: |- |
| A special supplemental group that applies to all containers in a pod. |
| Some volume types allow the Kubelet to change the ownership of that volume |
| to be owned by the pod: |
| |
| |
| 1. The owning GID will be the FSGroup |
| 2. The setgid bit is set (new files created in the volume will be owned by FSGroup) |
| 3. The permission bits are OR'd with rw-rw---- |
| |
| |
| If unset, the Kubelet will not modify the ownership and permissions of any volume. |
| Note that this field cannot be set when spec.os.name is windows. |
| format: int64 |
| type: integer |
| fsGroupChangePolicy: |
| description: |- |
| fsGroupChangePolicy defines behavior of changing ownership and permission of the volume |
| before being exposed inside Pod. This field will only apply to |
| volume types which support fsGroup based ownership(and permissions). |
| It will have no effect on ephemeral volume types such as: secret, configmaps |
| and emptydir. |
| Valid values are "OnRootMismatch" and "Always". If not specified, "Always" is used. |
| Note that this field cannot be set when spec.os.name is windows. |
| type: string |
| runAsGroup: |
| description: |- |
| The GID to run the entrypoint of the container process. |
| Uses runtime default if unset. |
| May also be set in SecurityContext. If set in both SecurityContext and |
| PodSecurityContext, the value specified in SecurityContext takes precedence |
| for that container. |
| Note that this field cannot be set when spec.os.name is windows. |
| format: int64 |
| type: integer |
| runAsNonRoot: |
| description: |- |
| Indicates that the container must run as a non-root user. |
| If true, the Kubelet will validate the image at runtime to ensure that it |
| does not run as UID 0 (root) and fail to start the container if it does. |
| If unset or false, no such validation will be performed. |
| May also be set in SecurityContext. If set in both SecurityContext and |
| PodSecurityContext, the value specified in SecurityContext takes precedence. |
| type: boolean |
| runAsUser: |
| description: |- |
| The UID to run the entrypoint of the container process. |
| Defaults to user specified in image metadata if unspecified. |
| May also be set in SecurityContext. If set in both SecurityContext and |
| PodSecurityContext, the value specified in SecurityContext takes precedence |
| for that container. |
| Note that this field cannot be set when spec.os.name is windows. |
| format: int64 |
| type: integer |
| seLinuxOptions: |
| description: |- |
| The SELinux context to be applied to all containers. |
| If unspecified, the container runtime will allocate a random SELinux context for each |
| container. May also be set in SecurityContext. If set in |
| both SecurityContext and PodSecurityContext, the value specified in SecurityContext |
| takes precedence for that container. |
| Note that this field cannot be set when spec.os.name is windows. |
| properties: |
| level: |
| description: Level is SELinux level label that applies |
| to the container. |
| type: string |
| role: |
| description: Role is a SELinux role label that applies |
| to the container. |
| type: string |
| type: |
| description: Type is a SELinux type label that applies |
| to the container. |
| type: string |
| user: |
| description: User is a SELinux user label that applies |
| to the container. |
| type: string |
| type: object |
| seccompProfile: |
| description: |- |
| The seccomp options to use by the containers in this pod. |
| Note that this field cannot be set when spec.os.name is windows. |
| properties: |
| localhostProfile: |
| description: |- |
| localhostProfile indicates a profile defined in a file on the node should be used. |
| The profile must be preconfigured on the node to work. |
| Must be a descending path, relative to the kubelet's configured seccomp profile location. |
| Must be set if type is "Localhost". Must NOT be set for any other type. |
| type: string |
| type: |
| description: |- |
| type indicates which kind of seccomp profile will be applied. |
| Valid options are: |
| |
| |
| Localhost - a profile defined in a file on the node should be used. |
| RuntimeDefault - the container runtime default profile should be used. |
| Unconfined - no profile should be applied. |
| type: string |
| required: |
| - type |
| type: object |
| supplementalGroups: |
| description: |- |
| A list of groups applied to the first process run in each container, in addition |
| to the container's primary GID, the fsGroup (if specified), and group memberships |
| defined in the container image for the uid of the container process. If unspecified, |
| no additional groups are added to any container. Note that group memberships |
| defined in the container image for the uid of the container process are still effective, |
| even if they are not included in this list. |
| Note that this field cannot be set when spec.os.name is windows. |
| items: |
| format: int64 |
| type: integer |
| type: array |
| x-kubernetes-list-type: atomic |
| sysctls: |
| description: |- |
| Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported |
| sysctls (by the container runtime) might fail to launch. |
| Note that this field cannot be set when spec.os.name is windows. |
| items: |
| description: Sysctl defines a kernel parameter to be |
| set |
| properties: |
| name: |
| description: Name of a property to set |
| type: string |
| value: |
| description: Value of a property to set |
| type: string |
| required: |
| - name |
| - value |
| type: object |
| type: array |
| x-kubernetes-list-type: atomic |
| windowsOptions: |
| description: |- |
| The Windows specific settings applied to all containers. |
| If unspecified, the options within a container's SecurityContext will be used. |
| If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. |
| Note that this field cannot be set when spec.os.name is linux. |
| properties: |
| gmsaCredentialSpec: |
| description: |- |
| GMSACredentialSpec is where the GMSA admission webhook |
| (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the |
| GMSA credential spec named by the GMSACredentialSpecName field. |
| type: string |
| gmsaCredentialSpecName: |
| description: GMSACredentialSpecName is the name of |
| the GMSA credential spec to use. |
| type: string |
| hostProcess: |
| description: |- |
| HostProcess determines if a container should be run as a 'Host Process' container. |
| All of a Pod's containers must have the same effective HostProcess value |
| (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). |
| In addition, if HostProcess is true then HostNetwork must also be set to true. |
| type: boolean |
| runAsUserName: |
| description: |- |
| The UserName in Windows to run the entrypoint of the container process. |
| Defaults to the user specified in image metadata if unspecified. |
| May also be set in PodSecurityContext. If set in both SecurityContext and |
| PodSecurityContext, the value specified in SecurityContext takes precedence. |
| type: string |
| type: object |
| type: object |
| terminationGracePeriodSeconds: |
| description: TerminationGracePeriodSeconds |
| format: int64 |
| type: integer |
| topologySpreadConstraints: |
| description: TopologySpreadConstraints |
| items: |
| description: TopologySpreadConstraint specifies how to spread |
| matching pods among the given topology. |
| properties: |
| labelSelector: |
| description: |- |
| LabelSelector is used to find matching pods. |
| Pods that match this label selector are counted to determine the number of pods |
| in their corresponding topology domain. |
| properties: |
| matchExpressions: |
| description: matchExpressions is a list of label |
| selector requirements. The requirements are ANDed. |
| items: |
| description: |- |
| A label selector requirement is a selector that contains values, a key, and an operator that |
| relates the key and values. |
| properties: |
| key: |
| description: key is the label key that the |
| selector applies to. |
| type: string |
| operator: |
| description: |- |
| operator represents a key's relationship to a set of values. |
| Valid operators are In, NotIn, Exists and DoesNotExist. |
| type: string |
| values: |
| description: |- |
| values is an array of string values. If the operator is In or NotIn, |
| the values array must be non-empty. If the operator is Exists or DoesNotExist, |
| the values array must be empty. This array is replaced during a strategic |
| merge patch. |
| items: |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| required: |
| - key |
| - operator |
| type: object |
| type: array |
| x-kubernetes-list-type: atomic |
| matchLabels: |
| additionalProperties: |
| type: string |
| description: |- |
| matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels |
| map is equivalent to an element of matchExpressions, whose key field is "key", the |
| operator is "In", and the values array contains only "value". The requirements are ANDed. |
| type: object |
| type: object |
| x-kubernetes-map-type: atomic |
| matchLabelKeys: |
| description: |- |
| MatchLabelKeys is a set of pod label keys to select the pods over which |
| spreading will be calculated. The keys are used to lookup values from the |
| incoming pod labels, those key-value labels are ANDed with labelSelector |
| to select the group of existing pods over which spreading will be calculated |
| for the incoming pod. The same key is forbidden to exist in both MatchLabelKeys and LabelSelector. |
| MatchLabelKeys cannot be set when LabelSelector isn't set. |
| Keys that don't exist in the incoming pod labels will |
| be ignored. A null or empty list means only match against labelSelector. |
| |
| |
| This is a beta field and requires the MatchLabelKeysInPodTopologySpread feature gate to be enabled (enabled by default). |
| items: |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| maxSkew: |
| description: |- |
| MaxSkew describes the degree to which pods may be unevenly distributed. |
| When `whenUnsatisfiable=DoNotSchedule`, it is the maximum permitted difference |
| between the number of matching pods in the target topology and the global minimum. |
| The global minimum is the minimum number of matching pods in an eligible domain |
| or zero if the number of eligible domains is less than MinDomains. |
| For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same |
| labelSelector spread as 2/2/1: |
| In this case, the global minimum is 1. |
| | zone1 | zone2 | zone3 | |
| | P P | P P | P | |
| - if MaxSkew is 1, incoming pod can only be scheduled to zone3 to become 2/2/2; |
| scheduling it onto zone1(zone2) would make the ActualSkew(3-1) on zone1(zone2) |
| violate MaxSkew(1). |
| - if MaxSkew is 2, incoming pod can be scheduled onto any zone. |
| When `whenUnsatisfiable=ScheduleAnyway`, it is used to give higher precedence |
| to topologies that satisfy it. |
| It's a required field. Default value is 1 and 0 is not allowed. |
| format: int32 |
| type: integer |
| minDomains: |
| description: |- |
| MinDomains indicates a minimum number of eligible domains. |
| When the number of eligible domains with matching topology keys is less than minDomains, |
| Pod Topology Spread treats "global minimum" as 0, and then the calculation of Skew is performed. |
| And when the number of eligible domains with matching topology keys equals or greater than minDomains, |
| this value has no effect on scheduling. |
| As a result, when the number of eligible domains is less than minDomains, |
| scheduler won't schedule more than maxSkew Pods to those domains. |
| If value is nil, the constraint behaves as if MinDomains is equal to 1. |
| Valid values are integers greater than 0. |
| When value is not nil, WhenUnsatisfiable must be DoNotSchedule. |
| |
| |
| For example, in a 3-zone cluster, MaxSkew is set to 2, MinDomains is set to 5 and pods with the same |
| labelSelector spread as 2/2/2: |
| | zone1 | zone2 | zone3 | |
| | P P | P P | P P | |
| The number of domains is less than 5(MinDomains), so "global minimum" is treated as 0. |
| In this situation, new pod with the same labelSelector cannot be scheduled, |
| because computed skew will be 3(3 - 0) if new Pod is scheduled to any of the three zones, |
| it will violate MaxSkew. |
| format: int32 |
| type: integer |
| nodeAffinityPolicy: |
| description: |- |
| NodeAffinityPolicy indicates how we will treat Pod's nodeAffinity/nodeSelector |
| when calculating pod topology spread skew. Options are: |
| - Honor: only nodes matching nodeAffinity/nodeSelector are included in the calculations. |
| - Ignore: nodeAffinity/nodeSelector are ignored. All nodes are included in the calculations. |
| |
| |
| If this value is nil, the behavior is equivalent to the Honor policy. |
| This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag. |
| type: string |
| nodeTaintsPolicy: |
| description: |- |
| NodeTaintsPolicy indicates how we will treat node taints when calculating |
| pod topology spread skew. Options are: |
| - Honor: nodes without taints, along with tainted nodes for which the incoming pod |
| has a toleration, are included. |
| - Ignore: node taints are ignored. All nodes are included. |
| |
| |
| If this value is nil, the behavior is equivalent to the Ignore policy. |
| This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag. |
| type: string |
| topologyKey: |
| description: |- |
| TopologyKey is the key of node labels. Nodes that have a label with this key |
| and identical values are considered to be in the same topology. |
| We consider each <key, value> as a "bucket", and try to put balanced number |
| of pods into each bucket. |
| We define a domain as a particular instance of a topology. |
| Also, we define an eligible domain as a domain whose nodes meet the requirements of |
| nodeAffinityPolicy and nodeTaintsPolicy. |
| e.g. If TopologyKey is "kubernetes.io/hostname", each Node is a domain of that topology. |
| And, if TopologyKey is "topology.kubernetes.io/zone", each zone is a domain of that topology. |
| It's a required field. |
| type: string |
| whenUnsatisfiable: |
| description: |- |
| WhenUnsatisfiable indicates how to deal with a pod if it doesn't satisfy |
| the spread constraint. |
| - DoNotSchedule (default) tells the scheduler not to schedule it. |
| - ScheduleAnyway tells the scheduler to schedule the pod in any location, |
| but giving higher precedence to topologies that would help reduce the |
| skew. |
| A constraint is considered "Unsatisfiable" for an incoming pod |
| if and only if every possible node assignment for that pod would violate |
| "MaxSkew" on some topology. |
| For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same |
| labelSelector spread as 3/1/1: |
| | zone1 | zone2 | zone3 | |
| | P P P | P | P | |
| If WhenUnsatisfiable is set to DoNotSchedule, incoming pod can only be scheduled |
| to zone2(zone3) to become 3/2/1(3/1/2) as ActualSkew(2-1) on zone2(zone3) satisfies |
| MaxSkew(1). In other words, the cluster can still be imbalanced, but scheduler |
| won't make it *more* imbalanced. |
| It's a required field. |
| type: string |
| required: |
| - maxSkew |
| - topologyKey |
| - whenUnsatisfiable |
| type: object |
| type: array |
| volumes: |
| description: Volumes |
| items: |
| description: Volume represents a named volume in a pod that |
| may be accessed by any container in the pod. |
| properties: |
| awsElasticBlockStore: |
| description: |- |
| awsElasticBlockStore represents an AWS Disk resource that is attached to a |
| kubelet's host machine and then exposed to the pod. |
| More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore |
| properties: |
| fsType: |
| description: |- |
| fsType is the filesystem type of the volume that you want to mount. |
| Tip: Ensure that the filesystem type is supported by the host operating system. |
| Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. |
| More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore |
| TODO: how do we prevent errors in the filesystem from compromising the machine |
| type: string |
| partition: |
| description: |- |
| partition is the partition in the volume that you want to mount. |
| If omitted, the default is to mount by volume name. |
| Examples: For volume /dev/sda1, you specify the partition as "1". |
| Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty). |
| format: int32 |
| type: integer |
| readOnly: |
| description: |- |
| readOnly value true will force the readOnly setting in VolumeMounts. |
| More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore |
| type: boolean |
| volumeID: |
| description: |- |
| volumeID is unique ID of the persistent disk resource in AWS (Amazon EBS volume). |
| More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore |
| type: string |
| required: |
| - volumeID |
| type: object |
| azureDisk: |
| description: azureDisk represents an Azure Data Disk |
| mount on the host and bind mount to the pod. |
| properties: |
| cachingMode: |
| description: 'cachingMode is the Host Caching mode: |
| None, Read Only, Read Write.' |
| type: string |
| diskName: |
| description: diskName is the Name of the data disk |
| in the blob storage |
| type: string |
| diskURI: |
| description: diskURI is the URI of data disk in |
| the blob storage |
| type: string |
| fsType: |
| description: |- |
| fsType is Filesystem type to mount. |
| Must be a filesystem type supported by the host operating system. |
| Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. |
| type: string |
| kind: |
| description: 'kind expected values are Shared: multiple |
| blob disks per storage account Dedicated: single |
| blob disk per storage account Managed: azure |
| managed data disk (only in managed availability |
| set). defaults to shared' |
| type: string |
| readOnly: |
| description: |- |
| readOnly Defaults to false (read/write). ReadOnly here will force |
| the ReadOnly setting in VolumeMounts. |
| type: boolean |
| required: |
| - diskName |
| - diskURI |
| type: object |
| azureFile: |
| description: azureFile represents an Azure File Service |
| mount on the host and bind mount to the pod. |
| properties: |
| readOnly: |
| description: |- |
| readOnly defaults to false (read/write). ReadOnly here will force |
| the ReadOnly setting in VolumeMounts. |
| type: boolean |
| secretName: |
| description: secretName is the name of secret that |
| contains Azure Storage Account Name and Key |
| type: string |
| shareName: |
| description: shareName is the azure share Name |
| type: string |
| required: |
| - secretName |
| - shareName |
| type: object |
| cephfs: |
| description: cephFS represents a Ceph FS mount on the |
| host that shares a pod's lifetime |
| properties: |
| monitors: |
| description: |- |
| monitors is Required: Monitors is a collection of Ceph monitors |
| More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it |
| items: |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| path: |
| description: 'path is Optional: Used as the mounted |
| root, rather than the full Ceph tree, default |
| is /' |
| type: string |
| readOnly: |
| description: |- |
| readOnly is Optional: Defaults to false (read/write). ReadOnly here will force |
| the ReadOnly setting in VolumeMounts. |
| More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it |
| type: boolean |
| secretFile: |
| description: |- |
| secretFile is Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret |
| More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it |
| type: string |
| secretRef: |
| description: |- |
| secretRef is Optional: SecretRef is reference to the authentication secret for User, default is empty. |
| More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it |
| properties: |
| name: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| type: object |
| x-kubernetes-map-type: atomic |
| user: |
| description: |- |
| user is optional: User is the rados user name, default is admin |
| More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it |
| type: string |
| required: |
| - monitors |
| type: object |
| cinder: |
| description: |- |
| cinder represents a cinder volume attached and mounted on kubelets host machine. |
| More info: https://examples.k8s.io/mysql-cinder-pd/README.md |
| properties: |
| fsType: |
| description: |- |
| fsType is the filesystem type to mount. |
| Must be a filesystem type supported by the host operating system. |
| Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. |
| More info: https://examples.k8s.io/mysql-cinder-pd/README.md |
| type: string |
| readOnly: |
| description: |- |
| readOnly defaults to false (read/write). ReadOnly here will force |
| the ReadOnly setting in VolumeMounts. |
| More info: https://examples.k8s.io/mysql-cinder-pd/README.md |
| type: boolean |
| secretRef: |
| description: |- |
| secretRef is optional: points to a secret object containing parameters used to connect |
| to OpenStack. |
| properties: |
| name: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| type: object |
| x-kubernetes-map-type: atomic |
| volumeID: |
| description: |- |
| volumeID used to identify the volume in cinder. |
| More info: https://examples.k8s.io/mysql-cinder-pd/README.md |
| type: string |
| required: |
| - volumeID |
| type: object |
| configMap: |
| description: configMap represents a configMap that should |
| populate this volume |
| properties: |
| defaultMode: |
| description: |- |
| defaultMode is optional: mode bits used to set permissions on created files by default. |
| Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. |
| YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. |
| Defaults to 0644. |
| Directories within the path are not affected by this setting. |
| This might be in conflict with other options that affect the file |
| mode, like fsGroup, and the result can be other mode bits set. |
| format: int32 |
| type: integer |
| items: |
| description: |- |
| items if unspecified, each key-value pair in the Data field of the referenced |
| ConfigMap will be projected into the volume as a file whose name is the |
| key and content is the value. If specified, the listed keys will be |
| projected into the specified paths, and unlisted keys will not be |
| present. If a key is specified which is not present in the ConfigMap, |
| the volume setup will error unless it is marked optional. Paths must be |
| relative and may not contain the '..' path or start with '..'. |
| items: |
| description: Maps a string key to a path within |
| a volume. |
| properties: |
| key: |
| description: key is the key to project. |
| type: string |
| mode: |
| description: |- |
| mode is Optional: mode bits used to set permissions on this file. |
| Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. |
| YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. |
| If not specified, the volume defaultMode will be used. |
| This might be in conflict with other options that affect the file |
| mode, like fsGroup, and the result can be other mode bits set. |
| format: int32 |
| type: integer |
| path: |
| description: |- |
| path is the relative path of the file to map the key to. |
| May not be an absolute path. |
| May not contain the path element '..'. |
| May not start with the string '..'. |
| type: string |
| required: |
| - key |
| - path |
| type: object |
| type: array |
| x-kubernetes-list-type: atomic |
| name: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: optional specify whether the ConfigMap |
| or its keys must be defined |
| type: boolean |
| type: object |
| x-kubernetes-map-type: atomic |
| csi: |
| description: csi (Container Storage Interface) represents |
| ephemeral storage that is handled by certain external |
| CSI drivers (Beta feature). |
| properties: |
| driver: |
| description: |- |
| driver is the name of the CSI driver that handles this volume. |
| Consult with your admin for the correct name as registered in the cluster. |
| type: string |
| fsType: |
| description: |- |
| fsType to mount. Ex. "ext4", "xfs", "ntfs". |
| If not provided, the empty value is passed to the associated CSI driver |
| which will determine the default filesystem to apply. |
| type: string |
| nodePublishSecretRef: |
| description: |- |
| nodePublishSecretRef is a reference to the secret object containing |
| sensitive information to pass to the CSI driver to complete the CSI |
| NodePublishVolume and NodeUnpublishVolume calls. |
| This field is optional, and may be empty if no secret is required. If the |
| secret object contains more than one secret, all secret references are passed. |
| properties: |
| name: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| type: object |
| x-kubernetes-map-type: atomic |
| readOnly: |
| description: |- |
| readOnly specifies a read-only configuration for the volume. |
| Defaults to false (read/write). |
| type: boolean |
| volumeAttributes: |
| additionalProperties: |
| type: string |
| description: |- |
| volumeAttributes stores driver-specific properties that are passed to the CSI |
| driver. Consult your driver's documentation for supported values. |
| type: object |
| required: |
| - driver |
| type: object |
| downwardAPI: |
| description: downwardAPI represents downward API about |
| the pod that should populate this volume |
| properties: |
| defaultMode: |
| description: |- |
| Optional: mode bits to use on created files by default. Must be a |
| Optional: mode bits used to set permissions on created files by default. |
| Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. |
| YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. |
| Defaults to 0644. |
| Directories within the path are not affected by this setting. |
| This might be in conflict with other options that affect the file |
| mode, like fsGroup, and the result can be other mode bits set. |
| format: int32 |
| type: integer |
| items: |
| description: Items is a list of downward API volume |
| file |
| items: |
| description: DownwardAPIVolumeFile represents |
| information to create the file containing the |
| pod field |
| properties: |
| fieldRef: |
| description: 'Required: Selects a field of |
| the pod: only annotations, labels, name, |
| namespace and uid are supported.' |
| properties: |
| apiVersion: |
| description: Version of the schema the |
| FieldPath is written in terms of, defaults |
| to "v1". |
| type: string |
| fieldPath: |
| description: Path of the field to select |
| in the specified API version. |
| type: string |
| required: |
| - fieldPath |
| type: object |
| x-kubernetes-map-type: atomic |
| mode: |
| description: |- |
| Optional: mode bits used to set permissions on this file, must be an octal value |
| between 0000 and 0777 or a decimal value between 0 and 511. |
| YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. |
| If not specified, the volume defaultMode will be used. |
| This might be in conflict with other options that affect the file |
| mode, like fsGroup, and the result can be other mode bits set. |
| format: int32 |
| type: integer |
| path: |
| description: 'Required: Path is the relative |
| path name of the file to be created. Must |
| not be absolute or contain the ''..'' path. |
| Must be utf-8 encoded. The first item of |
| the relative path must not start with ''..''' |
| type: string |
| resourceFieldRef: |
| description: |- |
| Selects a resource of the container: only resources limits and requests |
| (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported. |
| properties: |
| containerName: |
| description: 'Container name: required |
| for volumes, optional for env vars' |
| type: string |
| divisor: |
| anyOf: |
| - type: integer |
| - type: string |
| description: Specifies the output format |
| of the exposed resources, defaults to |
| "1" |
| pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ |
| x-kubernetes-int-or-string: true |
| resource: |
| description: 'Required: resource to select' |
| type: string |
| required: |
| - resource |
| type: object |
| x-kubernetes-map-type: atomic |
| required: |
| - path |
| type: object |
| type: array |
| x-kubernetes-list-type: atomic |
| type: object |
| emptyDir: |
| description: |- |
| emptyDir represents a temporary directory that shares a pod's lifetime. |
| More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir |
| properties: |
| medium: |
| description: |- |
| medium represents what type of storage medium should back this directory. |
| The default is "" which means to use the node's default medium. |
| Must be an empty string (default) or Memory. |
| More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir |
| type: string |
| sizeLimit: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| sizeLimit is the total amount of local storage required for this EmptyDir volume. |
| The size limit is also applicable for memory medium. |
| The maximum usage on memory medium EmptyDir would be the minimum value between |
| the SizeLimit specified here and the sum of memory limits of all containers in a pod. |
| The default is nil which means that the limit is undefined. |
| More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir |
| pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ |
| x-kubernetes-int-or-string: true |
| type: object |
| ephemeral: |
| description: |- |
| ephemeral represents a volume that is handled by a cluster storage driver. |
| The volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts, |
| and deleted when the pod is removed. |
| |
| |
| Use this if: |
| a) the volume is only needed while the pod runs, |
| b) features of normal volumes like restoring from snapshot or capacity |
| tracking are needed, |
| c) the storage driver is specified through a storage class, and |
| d) the storage driver supports dynamic volume provisioning through |
| a PersistentVolumeClaim (see EphemeralVolumeSource for more |
| information on the connection between this volume type |
| and PersistentVolumeClaim). |
| |
| |
| Use PersistentVolumeClaim or one of the vendor-specific |
| APIs for volumes that persist for longer than the lifecycle |
| of an individual pod. |
| |
| |
| Use CSI for light-weight local ephemeral volumes if the CSI driver is meant to |
| be used that way - see the documentation of the driver for |
| more information. |
| |
| |
| A pod can use both types of ephemeral volumes and |
| persistent volumes at the same time. |
| properties: |
| volumeClaimTemplate: |
| description: |- |
| Will be used to create a stand-alone PVC to provision the volume. |
| The pod in which this EphemeralVolumeSource is embedded will be the |
| owner of the PVC, i.e. the PVC will be deleted together with the |
| pod. The name of the PVC will be `<pod name>-<volume name>` where |
| `<volume name>` is the name from the `PodSpec.Volumes` array |
| entry. Pod validation will reject the pod if the concatenated name |
| is not valid for a PVC (for example, too long). |
| |
| |
| An existing PVC with that name that is not owned by the pod |
| will *not* be used for the pod to avoid using an unrelated |
| volume by mistake. Starting the pod is then blocked until |
| the unrelated PVC is removed. If such a pre-created PVC is |
| meant to be used by the pod, the PVC has to updated with an |
| owner reference to the pod once the pod exists. Normally |
| this should not be necessary, but it may be useful when |
| manually reconstructing a broken cluster. |
| |
| |
| This field is read-only and no changes will be made by Kubernetes |
| to the PVC after it has been created. |
| |
| |
| Required, must not be nil. |
| properties: |
| metadata: |
| description: |- |
| May contain labels and annotations that will be copied into the PVC |
| when creating it. No other fields are allowed and will be rejected during |
| validation. |
| type: object |
| spec: |
| description: |- |
| The specification for the PersistentVolumeClaim. The entire content is |
| copied unchanged into the PVC that gets created from this |
| template. The same fields as in a PersistentVolumeClaim |
| are also valid here. |
| properties: |
| accessModes: |
| description: |- |
| accessModes contains the desired access modes the volume should have. |
| More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 |
| items: |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| dataSource: |
| description: |- |
| dataSource field can be used to specify either: |
| * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) |
| * An existing PVC (PersistentVolumeClaim) |
| If the provisioner or an external controller can support the specified data source, |
| it will create a new volume based on the contents of the specified data source. |
| When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef, |
| and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified. |
| If the namespace is specified, then dataSourceRef will not be copied to dataSource. |
| properties: |
| apiGroup: |
| description: |- |
| APIGroup is the group for the resource being referenced. |
| If APIGroup is not specified, the specified Kind must be in the core API group. |
| For any other third-party types, APIGroup is required. |
| type: string |
| kind: |
| description: Kind is the type of resource |
| being referenced |
| type: string |
| name: |
| description: Name is the name of resource |
| being referenced |
| type: string |
| required: |
| - kind |
| - name |
| type: object |
| x-kubernetes-map-type: atomic |
| dataSourceRef: |
| description: |- |
| dataSourceRef specifies the object from which to populate the volume with data, if a non-empty |
| volume is desired. This may be any object from a non-empty API group (non |
| core object) or a PersistentVolumeClaim object. |
| When this field is specified, volume binding will only succeed if the type of |
| the specified object matches some installed volume populator or dynamic |
| provisioner. |
| This field will replace the functionality of the dataSource field and as such |
| if both fields are non-empty, they must have the same value. For backwards |
| compatibility, when namespace isn't specified in dataSourceRef, |
| both fields (dataSource and dataSourceRef) will be set to the same |
| value automatically if one of them is empty and the other is non-empty. |
| When namespace is specified in dataSourceRef, |
| dataSource isn't set to the same value and must be empty. |
| There are three important differences between dataSource and dataSourceRef: |
| * While dataSource only allows two specific types of objects, dataSourceRef |
| allows any non-core object, as well as PersistentVolumeClaim objects. |
| * While dataSource ignores disallowed values (dropping them), dataSourceRef |
| preserves all values, and generates an error if a disallowed value is |
| specified. |
| * While dataSource only allows local objects, dataSourceRef allows objects |
| in any namespaces. |
| (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled. |
| (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled. |
| properties: |
| apiGroup: |
| description: |- |
| APIGroup is the group for the resource being referenced. |
| If APIGroup is not specified, the specified Kind must be in the core API group. |
| For any other third-party types, APIGroup is required. |
| type: string |
| kind: |
| description: Kind is the type of resource |
| being referenced |
| type: string |
| name: |
| description: Name is the name of resource |
| being referenced |
| type: string |
| namespace: |
| description: |- |
| Namespace is the namespace of resource being referenced |
| Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details. |
| (Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled. |
| type: string |
| required: |
| - kind |
| - name |
| type: object |
| resources: |
| description: |- |
| resources represents the minimum resources the volume should have. |
| If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements |
| that are lower than previous value but must still be higher than capacity recorded in the |
| status field of the claim. |
| More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources |
| properties: |
| limits: |
| additionalProperties: |
| anyOf: |
| - type: integer |
| - type: string |
| pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ |
| x-kubernetes-int-or-string: true |
| description: |- |
| Limits describes the maximum amount of compute resources allowed. |
| More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ |
| type: object |
| requests: |
| additionalProperties: |
| anyOf: |
| - type: integer |
| - type: string |
| pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ |
| x-kubernetes-int-or-string: true |
| description: |- |
| Requests describes the minimum amount of compute resources required. |
| If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, |
| otherwise to an implementation-defined value. Requests cannot exceed Limits. |
| More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ |
| type: object |
| type: object |
| selector: |
| description: selector is a label query over |
| volumes to consider for binding. |
| properties: |
| matchExpressions: |
| description: matchExpressions is a list |
| of label selector requirements. The |
| requirements are ANDed. |
| items: |
| description: |- |
| A label selector requirement is a selector that contains values, a key, and an operator that |
| relates the key and values. |
| properties: |
| key: |
| description: key is the label |
| key that the selector applies |
| to. |
| type: string |
| operator: |
| description: |- |
| operator represents a key's relationship to a set of values. |
| Valid operators are In, NotIn, Exists and DoesNotExist. |
| type: string |
| values: |
| description: |- |
| values is an array of string values. If the operator is In or NotIn, |
| the values array must be non-empty. If the operator is Exists or DoesNotExist, |
| the values array must be empty. This array is replaced during a strategic |
| merge patch. |
| items: |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| required: |
| - key |
| - operator |
| type: object |
| type: array |
| x-kubernetes-list-type: atomic |
| matchLabels: |
| additionalProperties: |
| type: string |
| description: |- |
| matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels |
| map is equivalent to an element of matchExpressions, whose key field is "key", the |
| operator is "In", and the values array contains only "value". The requirements are ANDed. |
| type: object |
| type: object |
| x-kubernetes-map-type: atomic |
| storageClassName: |
| description: |- |
| storageClassName is the name of the StorageClass required by the claim. |
| More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1 |
| type: string |
| volumeAttributesClassName: |
| description: |- |
| volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim. |
| If specified, the CSI driver will create or update the volume with the attributes defined |
| in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName, |
| it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass |
| will be applied to the claim but it's not allowed to reset this field to empty string once it is set. |
| If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass |
| will be set by the persistentvolume controller if it exists. |
| If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be |
| set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource |
| exists. |
| More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/ |
| (Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled. |
| type: string |
| volumeMode: |
| description: |- |
| volumeMode defines what type of volume is required by the claim. |
| Value of Filesystem is implied when not included in claim spec. |
| type: string |
| volumeName: |
| description: volumeName is the binding reference |
| to the PersistentVolume backing this claim. |
| type: string |
| type: object |
| required: |
| - spec |
| type: object |
| type: object |
| fc: |
| description: fc represents a Fibre Channel resource |
| that is attached to a kubelet's host machine and then |
| exposed to the pod. |
| properties: |
| fsType: |
| description: |- |
| fsType is the filesystem type to mount. |
| Must be a filesystem type supported by the host operating system. |
| Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. |
| TODO: how do we prevent errors in the filesystem from compromising the machine |
| type: string |
| lun: |
| description: 'lun is Optional: FC target lun number' |
| format: int32 |
| type: integer |
| readOnly: |
| description: |- |
| readOnly is Optional: Defaults to false (read/write). ReadOnly here will force |
| the ReadOnly setting in VolumeMounts. |
| type: boolean |
| targetWWNs: |
| description: 'targetWWNs is Optional: FC target |
| worldwide names (WWNs)' |
| items: |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| wwids: |
| description: |- |
| wwids Optional: FC volume world wide identifiers (wwids) |
| Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously. |
| items: |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| type: object |
| flexVolume: |
| description: |- |
| flexVolume represents a generic volume resource that is |
| provisioned/attached using an exec based plugin. |
| properties: |
| driver: |
| description: driver is the name of the driver to |
| use for this volume. |
| type: string |
| fsType: |
| description: |- |
| fsType is the filesystem type to mount. |
| Must be a filesystem type supported by the host operating system. |
| Ex. "ext4", "xfs", "ntfs". The default filesystem depends on FlexVolume script. |
| type: string |
| options: |
| additionalProperties: |
| type: string |
| description: 'options is Optional: this field holds |
| extra command options if any.' |
| type: object |
| readOnly: |
| description: |- |
| readOnly is Optional: defaults to false (read/write). ReadOnly here will force |
| the ReadOnly setting in VolumeMounts. |
| type: boolean |
| secretRef: |
| description: |- |
| secretRef is Optional: secretRef is reference to the secret object containing |
| sensitive information to pass to the plugin scripts. This may be |
| empty if no secret object is specified. If the secret object |
| contains more than one secret, all secrets are passed to the plugin |
| scripts. |
| properties: |
| name: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| type: object |
| x-kubernetes-map-type: atomic |
| required: |
| - driver |
| type: object |
| flocker: |
| description: flocker represents a Flocker volume attached |
| to a kubelet's host machine. This depends on the Flocker |
| control service being running |
| properties: |
| datasetName: |
| description: |- |
| datasetName is Name of the dataset stored as metadata -> name on the dataset for Flocker |
| should be considered as deprecated |
| type: string |
| datasetUUID: |
| description: datasetUUID is the UUID of the dataset. |
| This is unique identifier of a Flocker dataset |
| type: string |
| type: object |
| gcePersistentDisk: |
| description: |- |
| gcePersistentDisk represents a GCE Disk resource that is attached to a |
| kubelet's host machine and then exposed to the pod. |
| More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk |
| properties: |
| fsType: |
| description: |- |
| fsType is filesystem type of the volume that you want to mount. |
| Tip: Ensure that the filesystem type is supported by the host operating system. |
| Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. |
| More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk |
| TODO: how do we prevent errors in the filesystem from compromising the machine |
| type: string |
| partition: |
| description: |- |
| partition is the partition in the volume that you want to mount. |
| If omitted, the default is to mount by volume name. |
| Examples: For volume /dev/sda1, you specify the partition as "1". |
| Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty). |
| More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk |
| format: int32 |
| type: integer |
| pdName: |
| description: |- |
| pdName is unique name of the PD resource in GCE. Used to identify the disk in GCE. |
| More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk |
| type: string |
| readOnly: |
| description: |- |
| readOnly here will force the ReadOnly setting in VolumeMounts. |
| Defaults to false. |
| More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk |
| type: boolean |
| required: |
| - pdName |
| type: object |
| gitRepo: |
| description: |- |
| gitRepo represents a git repository at a particular revision. |
| DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an |
| EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir |
| into the Pod's container. |
| properties: |
| directory: |
| description: |- |
| directory is the target directory name. |
| Must not contain or start with '..'. If '.' is supplied, the volume directory will be the |
| git repository. Otherwise, if specified, the volume will contain the git repository in |
| the subdirectory with the given name. |
| type: string |
| repository: |
| description: repository is the URL |
| type: string |
| revision: |
| description: revision is the commit hash for the |
| specified revision. |
| type: string |
| required: |
| - repository |
| type: object |
| glusterfs: |
| description: |- |
| glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime. |
| More info: https://examples.k8s.io/volumes/glusterfs/README.md |
| properties: |
| endpoints: |
| description: |- |
| endpoints is the endpoint name that details Glusterfs topology. |
| More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod |
| type: string |
| path: |
| description: |- |
| path is the Glusterfs volume path. |
| More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod |
| type: string |
| readOnly: |
| description: |- |
| readOnly here will force the Glusterfs volume to be mounted with read-only permissions. |
| Defaults to false. |
| More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod |
| type: boolean |
| required: |
| - endpoints |
| - path |
| type: object |
| hostPath: |
| description: |- |
| hostPath represents a pre-existing file or directory on the host |
| machine that is directly exposed to the container. This is generally |
| used for system agents or other privileged things that are allowed |
| to see the host machine. Most containers will NOT need this. |
| More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath |
| --- |
| TODO(jonesdl) We need to restrict who can use host directory mounts and who can/can not |
| mount host directories as read/write. |
| properties: |
| path: |
| description: |- |
| path of the directory on the host. |
| If the path is a symlink, it will follow the link to the real path. |
| More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath |
| type: string |
| type: |
| description: |- |
| type for HostPath Volume |
| Defaults to "" |
| More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath |
| type: string |
| required: |
| - path |
| type: object |
| iscsi: |
| description: |- |
| iscsi represents an ISCSI Disk resource that is attached to a |
| kubelet's host machine and then exposed to the pod. |
| More info: https://examples.k8s.io/volumes/iscsi/README.md |
| properties: |
| chapAuthDiscovery: |
| description: chapAuthDiscovery defines whether support |
| iSCSI Discovery CHAP authentication |
| type: boolean |
| chapAuthSession: |
| description: chapAuthSession defines whether support |
| iSCSI Session CHAP authentication |
| type: boolean |
| fsType: |
| description: |- |
| fsType is the filesystem type of the volume that you want to mount. |
| Tip: Ensure that the filesystem type is supported by the host operating system. |
| Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. |
| More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi |
| TODO: how do we prevent errors in the filesystem from compromising the machine |
| type: string |
| initiatorName: |
| description: |- |
| initiatorName is the custom iSCSI Initiator Name. |
| If initiatorName is specified with iscsiInterface simultaneously, new iSCSI interface |
| <target portal>:<volume name> will be created for the connection. |
| type: string |
| iqn: |
| description: iqn is the target iSCSI Qualified Name. |
| type: string |
| iscsiInterface: |
| description: |- |
| iscsiInterface is the interface Name that uses an iSCSI transport. |
| Defaults to 'default' (tcp). |
| type: string |
| lun: |
| description: lun represents iSCSI Target Lun number. |
| format: int32 |
| type: integer |
| portals: |
| description: |- |
| portals is the iSCSI Target Portal List. The portal is either an IP or ip_addr:port if the port |
| is other than default (typically TCP ports 860 and 3260). |
| items: |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| readOnly: |
| description: |- |
| readOnly here will force the ReadOnly setting in VolumeMounts. |
| Defaults to false. |
| type: boolean |
| secretRef: |
| description: secretRef is the CHAP Secret for iSCSI |
| target and initiator authentication |
| properties: |
| name: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| type: object |
| x-kubernetes-map-type: atomic |
| targetPortal: |
| description: |- |
| targetPortal is iSCSI Target Portal. The Portal is either an IP or ip_addr:port if the port |
| is other than default (typically TCP ports 860 and 3260). |
| type: string |
| required: |
| - iqn |
| - lun |
| - targetPortal |
| type: object |
| name: |
| description: |- |
| name of the volume. |
| Must be a DNS_LABEL and unique within the pod. |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| type: string |
| nfs: |
| description: |- |
| nfs represents an NFS mount on the host that shares a pod's lifetime |
| More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs |
| properties: |
| path: |
| description: |- |
| path that is exported by the NFS server. |
| More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs |
| type: string |
| readOnly: |
| description: |- |
| readOnly here will force the NFS export to be mounted with read-only permissions. |
| Defaults to false. |
| More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs |
| type: boolean |
| server: |
| description: |- |
| server is the hostname or IP address of the NFS server. |
| More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs |
| type: string |
| required: |
| - path |
| - server |
| type: object |
| persistentVolumeClaim: |
| description: |- |
| persistentVolumeClaimVolumeSource represents a reference to a |
| PersistentVolumeClaim in the same namespace. |
| More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims |
| properties: |
| claimName: |
| description: |- |
| claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. |
| More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims |
| type: string |
| readOnly: |
| description: |- |
| readOnly Will force the ReadOnly setting in VolumeMounts. |
| Default false. |
| type: boolean |
| required: |
| - claimName |
| type: object |
| photonPersistentDisk: |
| description: photonPersistentDisk represents a PhotonController |
| persistent disk attached and mounted on kubelets host |
| machine |
| properties: |
| fsType: |
| description: |- |
| fsType is the filesystem type to mount. |
| Must be a filesystem type supported by the host operating system. |
| Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. |
| type: string |
| pdID: |
| description: pdID is the ID that identifies Photon |
| Controller persistent disk |
| type: string |
| required: |
| - pdID |
| type: object |
| portworxVolume: |
| description: portworxVolume represents a portworx volume |
| attached and mounted on kubelets host machine |
| properties: |
| fsType: |
| description: |- |
| fSType represents the filesystem type to mount |
| Must be a filesystem type supported by the host operating system. |
| Ex. "ext4", "xfs". Implicitly inferred to be "ext4" if unspecified. |
| type: string |
| readOnly: |
| description: |- |
| readOnly defaults to false (read/write). ReadOnly here will force |
| the ReadOnly setting in VolumeMounts. |
| type: boolean |
| volumeID: |
| description: volumeID uniquely identifies a Portworx |
| volume |
| type: string |
| required: |
| - volumeID |
| type: object |
| projected: |
| description: projected items for all in one resources |
| secrets, configmaps, and downward API |
| properties: |
| defaultMode: |
| description: |- |
| defaultMode are the mode bits used to set permissions on created files by default. |
| Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. |
| YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. |
| Directories within the path are not affected by this setting. |
| This might be in conflict with other options that affect the file |
| mode, like fsGroup, and the result can be other mode bits set. |
| format: int32 |
| type: integer |
| sources: |
| description: sources is the list of volume projections |
| items: |
| description: Projection that may be projected |
| along with other supported volume types |
| properties: |
| clusterTrustBundle: |
| description: |- |
| ClusterTrustBundle allows a pod to access the `.spec.trustBundle` field |
| of ClusterTrustBundle objects in an auto-updating file. |
| |
| |
| Alpha, gated by the ClusterTrustBundleProjection feature gate. |
| |
| |
| ClusterTrustBundle objects can either be selected by name, or by the |
| combination of signer name and a label selector. |
| |
| |
| Kubelet performs aggressive normalization of the PEM contents written |
| into the pod filesystem. Esoteric PEM features such as inter-block |
| comments and block headers are stripped. Certificates are deduplicated. |
| The ordering of certificates within the file is arbitrary, and Kubelet |
| may change the order over time. |
| properties: |
| labelSelector: |
| description: |- |
| Select all ClusterTrustBundles that match this label selector. Only has |
| effect if signerName is set. Mutually-exclusive with name. If unset, |
| interpreted as "match nothing". If set but empty, interpreted as "match |
| everything". |
| properties: |
| matchExpressions: |
| description: matchExpressions is a |
| list of label selector requirements. |
| The requirements are ANDed. |
| items: |
| description: |- |
| A label selector requirement is a selector that contains values, a key, and an operator that |
| relates the key and values. |
| properties: |
| key: |
| description: key is the label |
| key that the selector applies |
| to. |
| type: string |
| operator: |
| description: |- |
| operator represents a key's relationship to a set of values. |
| Valid operators are In, NotIn, Exists and DoesNotExist. |
| type: string |
| values: |
| description: |- |
| values is an array of string values. If the operator is In or NotIn, |
| the values array must be non-empty. If the operator is Exists or DoesNotExist, |
| the values array must be empty. This array is replaced during a strategic |
| merge patch. |
| items: |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| required: |
| - key |
| - operator |
| type: object |
| type: array |
| x-kubernetes-list-type: atomic |
| matchLabels: |
| additionalProperties: |
| type: string |
| description: |- |
| matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels |
| map is equivalent to an element of matchExpressions, whose key field is "key", the |
| operator is "In", and the values array contains only "value". The requirements are ANDed. |
| type: object |
| type: object |
| x-kubernetes-map-type: atomic |
| name: |
| description: |- |
| Select a single ClusterTrustBundle by object name. Mutually-exclusive |
| with signerName and labelSelector. |
| type: string |
| optional: |
| description: |- |
| If true, don't block pod startup if the referenced ClusterTrustBundle(s) |
| aren't available. If using name, then the named ClusterTrustBundle is |
| allowed not to exist. If using signerName, then the combination of |
| signerName and labelSelector is allowed to match zero |
| ClusterTrustBundles. |
| type: boolean |
| path: |
| description: Relative path from the volume |
| root to write the bundle. |
| type: string |
| signerName: |
| description: |- |
| Select all ClusterTrustBundles that match this signer name. |
| Mutually-exclusive with name. The contents of all selected |
| ClusterTrustBundles will be unified and deduplicated. |
| type: string |
| required: |
| - path |
| type: object |
| configMap: |
| description: configMap information about the |
| configMap data to project |
| properties: |
| items: |
| description: |- |
| items if unspecified, each key-value pair in the Data field of the referenced |
| ConfigMap will be projected into the volume as a file whose name is the |
| key and content is the value. If specified, the listed keys will be |
| projected into the specified paths, and unlisted keys will not be |
| present. If a key is specified which is not present in the ConfigMap, |
| the volume setup will error unless it is marked optional. Paths must be |
| relative and may not contain the '..' path or start with '..'. |
| items: |
| description: Maps a string key to a |
| path within a volume. |
| properties: |
| key: |
| description: key is the key to project. |
| type: string |
| mode: |
| description: |- |
| mode is Optional: mode bits used to set permissions on this file. |
| Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. |
| YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. |
| If not specified, the volume defaultMode will be used. |
| This might be in conflict with other options that affect the file |
| mode, like fsGroup, and the result can be other mode bits set. |
| format: int32 |
| type: integer |
| path: |
| description: |- |
| path is the relative path of the file to map the key to. |
| May not be an absolute path. |
| May not contain the path element '..'. |
| May not start with the string '..'. |
| type: string |
| required: |
| - key |
| - path |
| type: object |
| type: array |
| x-kubernetes-list-type: atomic |
| name: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: optional specify whether |
| the ConfigMap or its keys must be defined |
| type: boolean |
| type: object |
| x-kubernetes-map-type: atomic |
| downwardAPI: |
| description: downwardAPI information about |
| the downwardAPI data to project |
| properties: |
| items: |
| description: Items is a list of DownwardAPIVolume |
| file |
| items: |
| description: DownwardAPIVolumeFile represents |
| information to create the file containing |
| the pod field |
| properties: |
| fieldRef: |
| description: 'Required: Selects |
| a field of the pod: only annotations, |
| labels, name, namespace and uid |
| are supported.' |
| properties: |
| apiVersion: |
| description: Version of the |
| schema the FieldPath is written |
| in terms of, defaults to "v1". |
| type: string |
| fieldPath: |
| description: Path of the field |
| to select in the specified |
| API version. |
| type: string |
| required: |
| - fieldPath |
| type: object |
| x-kubernetes-map-type: atomic |
| mode: |
| description: |- |
| Optional: mode bits used to set permissions on this file, must be an octal value |
| between 0000 and 0777 or a decimal value between 0 and 511. |
| YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. |
| If not specified, the volume defaultMode will be used. |
| This might be in conflict with other options that affect the file |
| mode, like fsGroup, and the result can be other mode bits set. |
| format: int32 |
| type: integer |
| path: |
| description: 'Required: Path is the |
| relative path name of the file |
| to be created. Must not be absolute |
| or contain the ''..'' path. Must |
| be utf-8 encoded. The first item |
| of the relative path must not |
| start with ''..''' |
| type: string |
| resourceFieldRef: |
| description: |- |
| Selects a resource of the container: only resources limits and requests |
| (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported. |
| properties: |
| containerName: |
| description: 'Container name: |
| required for volumes, optional |
| for env vars' |
| type: string |
| divisor: |
| anyOf: |
| - type: integer |
| - type: string |
| description: Specifies the output |
| format of the exposed resources, |
| defaults to "1" |
| pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ |
| x-kubernetes-int-or-string: true |
| resource: |
| description: 'Required: resource |
| to select' |
| type: string |
| required: |
| - resource |
| type: object |
| x-kubernetes-map-type: atomic |
| required: |
| - path |
| type: object |
| type: array |
| x-kubernetes-list-type: atomic |
| type: object |
| secret: |
| description: secret information about the |
| secret data to project |
| properties: |
| items: |
| description: |- |
| items if unspecified, each key-value pair in the Data field of the referenced |
| Secret will be projected into the volume as a file whose name is the |
| key and content is the value. If specified, the listed keys will be |
| projected into the specified paths, and unlisted keys will not be |
| present. If a key is specified which is not present in the Secret, |
| the volume setup will error unless it is marked optional. Paths must be |
| relative and may not contain the '..' path or start with '..'. |
| items: |
| description: Maps a string key to a |
| path within a volume. |
| properties: |
| key: |
| description: key is the key to project. |
| type: string |
| mode: |
| description: |- |
| mode is Optional: mode bits used to set permissions on this file. |
| Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. |
| YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. |
| If not specified, the volume defaultMode will be used. |
| This might be in conflict with other options that affect the file |
| mode, like fsGroup, and the result can be other mode bits set. |
| format: int32 |
| type: integer |
| path: |
| description: |- |
| path is the relative path of the file to map the key to. |
| May not be an absolute path. |
| May not contain the path element '..'. |
| May not start with the string '..'. |
| type: string |
| required: |
| - key |
| - path |
| type: object |
| type: array |
| x-kubernetes-list-type: atomic |
| name: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: optional field specify whether |
| the Secret or its key must be defined |
| type: boolean |
| type: object |
| x-kubernetes-map-type: atomic |
| serviceAccountToken: |
| description: serviceAccountToken is information |
| about the serviceAccountToken data to project |
| properties: |
| audience: |
| description: |- |
| audience is the intended audience of the token. A recipient of a token |
| must identify itself with an identifier specified in the audience of the |
| token, and otherwise should reject the token. The audience defaults to the |
| identifier of the apiserver. |
| type: string |
| expirationSeconds: |
| description: |- |
| expirationSeconds is the requested duration of validity of the service |
| account token. As the token approaches expiration, the kubelet volume |
| plugin will proactively rotate the service account token. The kubelet will |
| start trying to rotate the token if the token is older than 80 percent of |
| its time to live or if the token is older than 24 hours.Defaults to 1 hour |
| and must be at least 10 minutes. |
| format: int64 |
| type: integer |
| path: |
| description: |- |
| path is the path relative to the mount point of the file to project the |
| token into. |
| type: string |
| required: |
| - path |
| type: object |
| type: object |
| type: array |
| x-kubernetes-list-type: atomic |
| type: object |
| quobyte: |
| description: quobyte represents a Quobyte mount on the |
| host that shares a pod's lifetime |
| properties: |
| group: |
| description: |- |
| group to map volume access to |
| Default is no group |
| type: string |
| readOnly: |
| description: |- |
| readOnly here will force the Quobyte volume to be mounted with read-only permissions. |
| Defaults to false. |
| type: boolean |
| registry: |
| description: |- |
| registry represents a single or multiple Quobyte Registry services |
| specified as a string as host:port pair (multiple entries are separated with commas) |
| which acts as the central registry for volumes |
| type: string |
| tenant: |
| description: |- |
| tenant owning the given Quobyte volume in the Backend |
| Used with dynamically provisioned Quobyte volumes, value is set by the plugin |
| type: string |
| user: |
| description: |- |
| user to map volume access to |
| Defaults to serivceaccount user |
| type: string |
| volume: |
| description: volume is a string that references |
| an already created Quobyte volume by name. |
| type: string |
| required: |
| - registry |
| - volume |
| type: object |
| rbd: |
| description: |- |
| rbd represents a Rados Block Device mount on the host that shares a pod's lifetime. |
| More info: https://examples.k8s.io/volumes/rbd/README.md |
| properties: |
| fsType: |
| description: |- |
| fsType is the filesystem type of the volume that you want to mount. |
| Tip: Ensure that the filesystem type is supported by the host operating system. |
| Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. |
| More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd |
| TODO: how do we prevent errors in the filesystem from compromising the machine |
| type: string |
| image: |
| description: |- |
| image is the rados image name. |
| More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it |
| type: string |
| keyring: |
| description: |- |
| keyring is the path to key ring for RBDUser. |
| Default is /etc/ceph/keyring. |
| More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it |
| type: string |
| monitors: |
| description: |- |
| monitors is a collection of Ceph monitors. |
| More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it |
| items: |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| pool: |
| description: |- |
| pool is the rados pool name. |
| Default is rbd. |
| More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it |
| type: string |
| readOnly: |
| description: |- |
| readOnly here will force the ReadOnly setting in VolumeMounts. |
| Defaults to false. |
| More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it |
| type: boolean |
| secretRef: |
| description: |- |
| secretRef is name of the authentication secret for RBDUser. If provided |
| overrides keyring. |
| Default is nil. |
| More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it |
| properties: |
| name: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| type: object |
| x-kubernetes-map-type: atomic |
| user: |
| description: |- |
| user is the rados user name. |
| Default is admin. |
| More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it |
| type: string |
| required: |
| - image |
| - monitors |
| type: object |
| scaleIO: |
| description: scaleIO represents a ScaleIO persistent |
| volume attached and mounted on Kubernetes nodes. |
| properties: |
| fsType: |
| description: |- |
| fsType is the filesystem type to mount. |
| Must be a filesystem type supported by the host operating system. |
| Ex. "ext4", "xfs", "ntfs". |
| Default is "xfs". |
| type: string |
| gateway: |
| description: gateway is the host address of the |
| ScaleIO API Gateway. |
| type: string |
| protectionDomain: |
| description: protectionDomain is the name of the |
| ScaleIO Protection Domain for the configured storage. |
| type: string |
| readOnly: |
| description: |- |
| readOnly Defaults to false (read/write). ReadOnly here will force |
| the ReadOnly setting in VolumeMounts. |
| type: boolean |
| secretRef: |
| description: |- |
| secretRef references to the secret for ScaleIO user and other |
| sensitive information. If this is not provided, Login operation will fail. |
| properties: |
| name: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| type: object |
| x-kubernetes-map-type: atomic |
| sslEnabled: |
| description: sslEnabled Flag enable/disable SSL |
| communication with Gateway, default false |
| type: boolean |
| storageMode: |
| description: |- |
| storageMode indicates whether the storage for a volume should be ThickProvisioned or ThinProvisioned. |
| Default is ThinProvisioned. |
| type: string |
| storagePool: |
| description: storagePool is the ScaleIO Storage |
| Pool associated with the protection domain. |
| type: string |
| system: |
| description: system is the name of the storage system |
| as configured in ScaleIO. |
| type: string |
| volumeName: |
| description: |- |
| volumeName is the name of a volume already created in the ScaleIO system |
| that is associated with this volume source. |
| type: string |
| required: |
| - gateway |
| - secretRef |
| - system |
| type: object |
| secret: |
| description: |- |
| secret represents a secret that should populate this volume. |
| More info: https://kubernetes.io/docs/concepts/storage/volumes#secret |
| properties: |
| defaultMode: |
| description: |- |
| defaultMode is Optional: mode bits used to set permissions on created files by default. |
| Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. |
| YAML accepts both octal and decimal values, JSON requires decimal values |
| for mode bits. Defaults to 0644. |
| Directories within the path are not affected by this setting. |
| This might be in conflict with other options that affect the file |
| mode, like fsGroup, and the result can be other mode bits set. |
| format: int32 |
| type: integer |
| items: |
| description: |- |
| items If unspecified, each key-value pair in the Data field of the referenced |
| Secret will be projected into the volume as a file whose name is the |
| key and content is the value. If specified, the listed keys will be |
| projected into the specified paths, and unlisted keys will not be |
| present. If a key is specified which is not present in the Secret, |
| the volume setup will error unless it is marked optional. Paths must be |
| relative and may not contain the '..' path or start with '..'. |
| items: |
| description: Maps a string key to a path within |
| a volume. |
| properties: |
| key: |
| description: key is the key to project. |
| type: string |
| mode: |
| description: |- |
| mode is Optional: mode bits used to set permissions on this file. |
| Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. |
| YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. |
| If not specified, the volume defaultMode will be used. |
| This might be in conflict with other options that affect the file |
| mode, like fsGroup, and the result can be other mode bits set. |
| format: int32 |
| type: integer |
| path: |
| description: |- |
| path is the relative path of the file to map the key to. |
| May not be an absolute path. |
| May not contain the path element '..'. |
| May not start with the string '..'. |
| type: string |
| required: |
| - key |
| - path |
| type: object |
| type: array |
| x-kubernetes-list-type: atomic |
| optional: |
| description: optional field specify whether the |
| Secret or its keys must be defined |
| type: boolean |
| secretName: |
| description: |- |
| secretName is the name of the secret in the pod's namespace to use. |
| More info: https://kubernetes.io/docs/concepts/storage/volumes#secret |
| type: string |
| type: object |
| storageos: |
| description: storageOS represents a StorageOS volume |
| attached and mounted on Kubernetes nodes. |
| properties: |
| fsType: |
| description: |- |
| fsType is the filesystem type to mount. |
| Must be a filesystem type supported by the host operating system. |
| Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. |
| type: string |
| readOnly: |
| description: |- |
| readOnly defaults to false (read/write). ReadOnly here will force |
| the ReadOnly setting in VolumeMounts. |
| type: boolean |
| secretRef: |
| description: |- |
| secretRef specifies the secret to use for obtaining the StorageOS API |
| credentials. If not specified, default values will be attempted. |
| properties: |
| name: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| type: object |
| x-kubernetes-map-type: atomic |
| volumeName: |
| description: |- |
| volumeName is the human-readable name of the StorageOS volume. Volume |
| names are only unique within a namespace. |
| type: string |
| volumeNamespace: |
| description: |- |
| volumeNamespace specifies the scope of the volume within StorageOS. If no |
| namespace is specified then the Pod's namespace will be used. This allows the |
| Kubernetes name scoping to be mirrored within StorageOS for tighter integration. |
| Set VolumeName to any name to override the default behaviour. |
| Set to "default" if you are not using namespaces within StorageOS. |
| Namespaces that do not pre-exist within StorageOS will be created. |
| type: string |
| type: object |
| vsphereVolume: |
| description: vsphereVolume represents a vSphere volume |
| attached and mounted on kubelets host machine |
| properties: |
| fsType: |
| description: |- |
| fsType is filesystem type to mount. |
| Must be a filesystem type supported by the host operating system. |
| Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. |
| type: string |
| storagePolicyID: |
| description: storagePolicyID is the storage Policy |
| Based Management (SPBM) profile ID associated |
| with the StoragePolicyName. |
| type: string |
| storagePolicyName: |
| description: storagePolicyName is the storage Policy |
| Based Management (SPBM) profile name. |
| type: string |
| volumePath: |
| description: volumePath is the path that identifies |
| vSphere volume vmdk |
| type: string |
| required: |
| - volumePath |
| type: object |
| required: |
| - name |
| type: object |
| type: array |
| required: |
| - containers |
| type: object |
| type: object |
| traits: |
| description: the traits needed to run this Integration |
| properties: |
| 3scale: |
| description: 'Deprecated: for backward compatibility.' |
| properties: |
| configuration: |
| description: TraitConfiguration parameters configuration |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| required: |
| - configuration |
| type: object |
| addons: |
| additionalProperties: |
| description: AddonTrait represents the configuration of an addon |
| trait. |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| description: The extension point with addon traits |
| type: object |
| affinity: |
| description: The configuration of Affinity trait |
| 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 |
| nodeAffinityLabels: |
| description: Defines a set of nodes the integration pod(s) |
| are eligible to be scheduled on, based on labels on the |
| node. |
| items: |
| type: string |
| type: array |
| podAffinity: |
| description: Always co-locates multiple replicas of the integration |
| in the same node (default `false`). |
| type: boolean |
| podAffinityLabels: |
| description: |- |
| Defines a set of pods (namely those matching the label selector, relative to the given namespace) that the |
| integration pod(s) should be co-located with. |
| items: |
| type: string |
| type: array |
| podAntiAffinity: |
| description: Never co-locates multiple replicas of the integration |
| in the same node (default `false`). |
| type: boolean |
| podAntiAffinityLabels: |
| description: |- |
| Defines a set of pods (namely those matching the label selector, relative to the given namespace) that the |
| integration pod(s) should not be co-located with. |
| items: |
| type: string |
| type: array |
| type: object |
| builder: |
| description: The configuration of Builder trait |
| 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 configuration of Camel trait |
| 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 |
| runtimeVersion: |
| description: |- |
| The camel-k-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. |
| type: string |
| type: object |
| container: |
| description: The configuration of Container trait |
| properties: |
| allowPrivilegeEscalation: |
| description: Security Context AllowPrivilegeEscalation configuration |
| (default false). |
| type: boolean |
| auto: |
| description: To automatically enable the trait |
| type: boolean |
| capabilitiesAdd: |
| description: Security Context Capabilities Add configuration |
| (default none). |
| items: |
| description: Capability represent POSIX capabilities type |
| type: string |
| type: array |
| capabilitiesDrop: |
| description: Security Context Capabilities Drop configuration |
| (default ALL). |
| items: |
| description: Capability represent POSIX capabilities type |
| 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 |
| expose: |
| description: Can be used to enable/disable exposure via kubernetes |
| Service. |
| type: boolean |
| image: |
| description: |- |
| The main container image to use for the Integration. When using this parameter the operator will create a synthetic IntegrationKit which |
| won't be able to execute traits requiring CamelCatalog. If the container image you're using is coming from an IntegrationKit, use instead |
| Integration `.spec.integrationKit` parameter. If you're moving the Integration across environments, you will also need to create an "external" IntegrationKit. |
| type: string |
| imagePullPolicy: |
| description: 'The pull policy: Always|Never|IfNotPresent' |
| enum: |
| - Always |
| - Never |
| - IfNotPresent |
| type: string |
| limitCPU: |
| description: The maximum amount of CPU to be provided (default |
| 500 millicores). |
| type: string |
| limitMemory: |
| description: The maximum amount of memory to be provided (default |
| 512 Mi). |
| type: string |
| name: |
| description: The main container name. It's named `integration` |
| by default. |
| type: string |
| port: |
| description: To configure a different port exposed by the |
| container (default `8080`). |
| format: int32 |
| type: integer |
| portName: |
| description: To configure a different port name for the port |
| exposed by the container. It defaults to `http` only when |
| the `expose` parameter is true. |
| type: string |
| requestCPU: |
| description: The minimum amount of CPU required (default 125 |
| millicores). |
| type: string |
| requestMemory: |
| description: The minimum amount of memory required (default |
| 128 Mi). |
| type: string |
| runAsNonRoot: |
| description: Security Context RunAsNonRoot configuration (default |
| false). |
| type: boolean |
| runAsUser: |
| description: 'Security Context RunAsUser configuration (default |
| none): this value is automatically retrieved in Openshift |
| clusters when not explicitly set.' |
| format: int64 |
| type: integer |
| seccompProfileType: |
| description: Security Context SeccompProfileType configuration |
| (default RuntimeDefault). |
| enum: |
| - Unconfined |
| - RuntimeDefault |
| type: string |
| servicePort: |
| description: To configure under which service port the container |
| port is to be exposed (default `80`). |
| format: int32 |
| type: integer |
| servicePortName: |
| description: To configure under which service port name the |
| container port is to be exposed (default `http`). |
| type: string |
| type: object |
| cron: |
| description: The configuration of Cron trait |
| properties: |
| activeDeadlineSeconds: |
| description: |- |
| Specifies the duration in seconds, relative to the start time, that the job |
| may be continuously active before it is considered to be failed. |
| It defaults to 60s. |
| format: int64 |
| type: integer |
| auto: |
| description: |- |
| Automatically deploy the integration as CronJob when all routes are |
| either starting from a periodic consumer (only `cron`, `timer` and `quartz` are supported) or a passive consumer (e.g. `direct` is a passive consumer). |
| |
| |
| It's required that all periodic consumers have the same period, and it can be expressed as cron schedule (e.g. `1m` can be expressed as `0/1 * * * *`, |
| while `35m` or `50s` cannot). |
| type: boolean |
| backoffLimit: |
| description: |- |
| Specifies the number of retries before marking the job failed. |
| It defaults to 2. |
| format: int32 |
| type: integer |
| components: |
| description: |- |
| A comma separated list of the Camel components that need to be customized in order for them to work when the schedule is triggered externally by Kubernetes. |
| Supported components are currently: `cron`, `timer` and `quartz`. |
| type: string |
| concurrencyPolicy: |
| description: |- |
| Specifies how to treat concurrent executions of a Job. |
| Valid values are: |
| - "Allow": allows CronJobs to run concurrently; |
| - "Forbid" (default): forbids concurrent runs, skipping next run if previous run hasn't finished yet; |
| - "Replace": cancels currently running job and replaces it with a new one |
| enum: |
| - Allow |
| - Forbid |
| - Replace |
| type: string |
| 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 |
| fallback: |
| description: |- |
| Use the default Camel implementation of the `cron` endpoint (`quartz`) instead of trying to materialize the integration |
| as Kubernetes CronJob. |
| type: boolean |
| schedule: |
| description: |- |
| The CronJob schedule for the whole integration. If multiple routes are declared, they must have the same schedule for this |
| mechanism to work correctly. |
| type: string |
| startingDeadlineSeconds: |
| description: |- |
| Optional deadline in seconds for starting the job if it misses scheduled |
| time for any reason. Missed jobs executions will be counted as failed ones. |
| format: int64 |
| type: integer |
| timeZone: |
| description: The timezone that the CronJob will run on |
| type: string |
| type: object |
| dependencies: |
| description: The configuration of Dependencies trait |
| 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 |
| type: object |
| deployer: |
| description: The configuration of Deployer trait |
| 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 |
| kind: |
| description: Allows to explicitly select the desired deployment |
| kind between `deployment`, `cron-job` or `knative-service` |
| when creating the resources for running the integration. |
| enum: |
| - deployment |
| - cron-job |
| - knative-service |
| type: string |
| useSSA: |
| description: |- |
| Deprecated: won't be able to enforce client side update in the future. |
| Use server-side apply to update the owned resources (default `true`). |
| Note that it automatically falls back to client-side patching, if SSA is not available, e.g., on old Kubernetes clusters. |
| type: boolean |
| type: object |
| deployment: |
| description: The configuration of Deployment trait |
| 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 |
| progressDeadlineSeconds: |
| description: |- |
| The maximum time in seconds for the deployment to make progress before it |
| is considered to be failed. It defaults to `60s`. |
| format: int32 |
| type: integer |
| rollingUpdateMaxSurge: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| The maximum number of pods that can be scheduled above the desired number of |
| pods. |
| Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). |
| This can not be 0 if MaxUnavailable is 0. |
| Absolute number is calculated from percentage by rounding up. |
| Defaults to `25%`. |
| x-kubernetes-int-or-string: true |
| rollingUpdateMaxUnavailable: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| The maximum number of pods that can be unavailable during the update. |
| Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). |
| Absolute number is calculated from percentage by rounding down. |
| This can not be 0 if MaxSurge is 0. |
| Defaults to `25%`. |
| x-kubernetes-int-or-string: true |
| strategy: |
| description: The deployment strategy to use to replace existing |
| pods with new ones. |
| enum: |
| - Recreate |
| - RollingUpdate |
| type: string |
| type: object |
| environment: |
| description: The configuration of Environment trait |
| properties: |
| configuration: |
| description: |- |
| Legacy trait configuration parameters. |
| Deprecated: for backward compatibility. |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| containerMeta: |
| description: Enables injection of `NAMESPACE` and `POD_NAME` |
| environment variables (default `true`) |
| type: boolean |
| enabled: |
| description: 'Deprecated: no longer in use.' |
| type: boolean |
| httpProxy: |
| description: Propagates the `HTTP_PROXY`, `HTTPS_PROXY` and |
| `NO_PROXY` environment variables (default `true`) |
| type: boolean |
| vars: |
| description: |- |
| A list of environment variables to be added to the integration container. |
| The syntax is either VAR=VALUE or VAR=[configmap|secret]:name/key, where name represents the resource name, |
| and key represents the resource key to be mapped as and environment variable. |
| These take precedence over any previously defined environment variables. |
| items: |
| type: string |
| type: array |
| type: object |
| error-handler: |
| description: The configuration of Error Handler trait |
| 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 |
| ref: |
| description: The error handler ref name provided or found |
| in application properties |
| type: string |
| type: object |
| gc: |
| description: The configuration of GC trait |
| properties: |
| configuration: |
| description: |- |
| Legacy trait configuration parameters. |
| Deprecated: for backward compatibility. |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| discoveryCache: |
| description: |- |
| Discovery client cache to be used, either `disabled`, `disk` or `memory` (default `memory`). |
| Deprecated: no longer in use. |
| enum: |
| - disabled |
| - disk |
| - memory |
| type: string |
| enabled: |
| description: Can be used to enable or disable a trait. All |
| traits share this common property. |
| type: boolean |
| type: object |
| health: |
| description: The configuration of Health trait |
| 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 |
| livenessFailureThreshold: |
| description: Minimum consecutive failures for the liveness |
| probe to be considered failed after having succeeded. |
| format: int32 |
| type: integer |
| livenessInitialDelay: |
| description: Number of seconds after the container has started |
| before the liveness probe is initiated. |
| format: int32 |
| type: integer |
| livenessPeriod: |
| description: How often to perform the liveness probe. |
| format: int32 |
| type: integer |
| livenessProbe: |
| description: The liveness probe path to use (default provided |
| by the Catalog runtime used). |
| type: string |
| livenessProbeEnabled: |
| description: Configures the liveness probe for the integration |
| container (default `false`). |
| type: boolean |
| livenessScheme: |
| description: Scheme to use when connecting to the liveness |
| probe (default `HTTP`). |
| type: string |
| livenessSuccessThreshold: |
| description: Minimum consecutive successes for the liveness |
| probe to be considered successful after having failed. |
| format: int32 |
| type: integer |
| livenessTimeout: |
| description: Number of seconds after which the liveness probe |
| times out. |
| format: int32 |
| type: integer |
| readinessFailureThreshold: |
| description: Minimum consecutive failures for the readiness |
| probe to be considered failed after having succeeded. |
| format: int32 |
| type: integer |
| readinessInitialDelay: |
| description: Number of seconds after the container has started |
| before the readiness probe is initiated. |
| format: int32 |
| type: integer |
| readinessPeriod: |
| description: How often to perform the readiness probe. |
| format: int32 |
| type: integer |
| readinessProbe: |
| description: The readiness probe path to use (default provided |
| by the Catalog runtime used). |
| type: string |
| readinessProbeEnabled: |
| description: Configures the readiness probe for the integration |
| container (default `true`). |
| type: boolean |
| readinessScheme: |
| description: Scheme to use when connecting to the readiness |
| probe (default `HTTP`). |
| type: string |
| readinessSuccessThreshold: |
| description: Minimum consecutive successes for the readiness |
| probe to be considered successful after having failed. |
| format: int32 |
| type: integer |
| readinessTimeout: |
| description: Number of seconds after which the readiness probe |
| times out. |
| format: int32 |
| type: integer |
| startupFailureThreshold: |
| description: Minimum consecutive failures for the startup |
| probe to be considered failed after having succeeded. |
| format: int32 |
| type: integer |
| startupInitialDelay: |
| description: Number of seconds after the container has started |
| before the startup probe is initiated. |
| format: int32 |
| type: integer |
| startupPeriod: |
| description: How often to perform the startup probe. |
| format: int32 |
| type: integer |
| startupProbe: |
| description: The startup probe path to use (default provided |
| by the Catalog runtime used). |
| type: string |
| startupProbeEnabled: |
| description: Configures the startup probe for the integration |
| container (default `false`). |
| type: boolean |
| startupScheme: |
| description: Scheme to use when connecting to the startup |
| probe (default `HTTP`). |
| type: string |
| startupSuccessThreshold: |
| description: Minimum consecutive successes for the startup |
| probe to be considered successful after having failed. |
| format: int32 |
| type: integer |
| startupTimeout: |
| description: Number of seconds after which the startup probe |
| times out. |
| format: int32 |
| type: integer |
| type: object |
| ingress: |
| description: The configuration of Ingress trait |
| properties: |
| annotations: |
| additionalProperties: |
| type: string |
| description: |- |
| The annotations added to the ingress. |
| This can be used to set controller specific annotations, e.g., when using the NGINX Ingress controller: |
| See https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/nginx-configuration/annotations.md |
| type: object |
| auto: |
| description: To automatically add an ingress whenever the |
| integration uses an HTTP endpoint consumer. |
| type: boolean |
| 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 |
| host: |
| description: To configure the host exposed by the ingress. |
| type: string |
| ingressClassName: |
| description: |- |
| The Ingress class name as defined by the Ingress spec |
| See https://kubernetes.io/docs/concepts/services-networking/ingress/ |
| type: string |
| path: |
| description: To configure the path exposed by the ingress |
| (default `/`). |
| type: string |
| pathType: |
| description: |- |
| To configure the path type exposed by the ingress. |
| One of `Exact`, `Prefix`, `ImplementationSpecific` (default to `Prefix`). |
| enum: |
| - Exact |
| - Prefix |
| - ImplementationSpecific |
| type: string |
| tlsHosts: |
| description: To configure tls hosts |
| items: |
| type: string |
| type: array |
| tlsSecretName: |
| description: To configure tls secret name |
| type: string |
| type: object |
| istio: |
| description: The configuration of Istio trait |
| properties: |
| allow: |
| description: Configures a (comma-separated) list of CIDR subnets |
| that should not be intercepted by the Istio proxy (`10.0.0.0/8,172.16.0.0/12,192.168.0.0/16` |
| by default). |
| type: string |
| 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 |
| inject: |
| description: Forces the value for labels `sidecar.istio.io/inject`. |
| By default the label is set to `true` on deployment and |
| not set on Knative Service. |
| type: boolean |
| type: object |
| jolokia: |
| description: The configuration of Jolokia trait |
| properties: |
| CACert: |
| description: |- |
| The PEM encoded CA certification file path, used to verify client certificates, |
| applicable when `protocol` is `https` and `use-ssl-client-authentication` is `true` |
| (default `/var/run/secrets/kubernetes.io/serviceaccount/service-ca.crt` for OpenShift). |
| type: string |
| clientPrincipal: |
| description: |- |
| The principal(s) which must be given in a client certificate to allow access to the Jolokia endpoint, |
| applicable when `protocol` is `https` and `use-ssl-client-authentication` is `true` |
| (default `clientPrincipal=cn=system:master-proxy`, `cn=hawtio-online.hawtio.svc` and `cn=fuse-console.fuse.svc` for OpenShift). |
| items: |
| type: string |
| type: array |
| configuration: |
| description: |- |
| Legacy trait configuration parameters. |
| Deprecated: for backward compatibility. |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| discoveryEnabled: |
| description: Listen for multicast requests (default `false`) |
| type: boolean |
| enabled: |
| description: Can be used to enable or disable a trait. All |
| traits share this common property. |
| type: boolean |
| extendedClientCheck: |
| description: |- |
| Mandate the client certificate contains a client flag in the extended key usage section, |
| applicable when `protocol` is `https` and `use-ssl-client-authentication` is `true` |
| (default `true` for OpenShift). |
| type: boolean |
| host: |
| description: |- |
| The Host address to which the Jolokia agent should bind to. If `"\*"` or `"0.0.0.0"` is given, |
| the servers binds to every network interface (default `"*"`). |
| type: string |
| options: |
| description: |- |
| A list of additional Jolokia options as defined |
| in https://jolokia.org/reference/html/agents.html#agent-jvm-config[JVM agent configuration options] |
| items: |
| type: string |
| type: array |
| password: |
| description: The password used for authentication, applicable |
| when the `user` option is set. |
| type: string |
| port: |
| description: The Jolokia endpoint port (default `8778`). |
| format: int32 |
| type: integer |
| protocol: |
| description: The protocol to use, either `http` or `https` |
| (default `https` for OpenShift) |
| type: string |
| useSSLClientAuthentication: |
| description: Whether client certificates should be used for |
| authentication (default `true` for OpenShift). |
| type: boolean |
| user: |
| description: The user to be used for authentication |
| type: string |
| type: object |
| jvm: |
| description: The configuration of JVM trait |
| properties: |
| classpath: |
| description: Additional JVM classpath (use `Linux` classpath |
| separator) |
| type: string |
| configuration: |
| description: |- |
| Legacy trait configuration parameters. |
| Deprecated: for backward compatibility. |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| debug: |
| description: Activates remote debugging, so that a debugger |
| can be attached to the JVM, e.g., using port-forwarding |
| type: boolean |
| debugAddress: |
| description: Transport address at which to listen for the |
| newly launched JVM (default `*:5005`) |
| type: string |
| debugSuspend: |
| description: Suspends the target JVM immediately before the |
| main class is loaded |
| type: boolean |
| enabled: |
| description: Can be used to enable or disable a trait. All |
| traits share this common property. |
| type: boolean |
| jar: |
| description: The Jar dependency which will run the application. |
| Leave it empty for managed Integrations. |
| type: string |
| options: |
| description: A list of JVM options |
| items: |
| type: string |
| type: array |
| printCommand: |
| description: |- |
| Prints the command used the start the JVM in the container logs (default `true`) |
| Deprecated: no longer in use. |
| type: boolean |
| type: object |
| kamelets: |
| description: The configuration of Kamelets trait |
| properties: |
| auto: |
| description: Automatically inject all referenced Kamelets |
| and their default configuration (enabled by default) |
| type: boolean |
| 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 |
| list: |
| description: Comma separated list of Kamelet names to load |
| into the current integration |
| type: string |
| mountPoint: |
| description: The directory where the application mounts and |
| reads Kamelet spec (default `/etc/camel/kamelets`) |
| type: string |
| type: object |
| keda: |
| description: 'Deprecated: for backward compatibility.' |
| properties: |
| configuration: |
| description: TraitConfiguration parameters configuration |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| required: |
| - configuration |
| type: object |
| knative: |
| description: The configuration of Knative trait |
| properties: |
| auto: |
| description: Enable automatic discovery of all trait properties. |
| type: boolean |
| channelSinks: |
| description: |- |
| List of channels used as destination of integration routes. |
| Can contain simple channel names or full Camel URIs. |
| items: |
| type: string |
| type: array |
| channelSources: |
| description: |- |
| List of channels used as source of integration routes. |
| Can contain simple channel names or full Camel URIs. |
| items: |
| type: string |
| type: array |
| config: |
| description: Can be used to inject a Knative complete configuration |
| in JSON format. |
| type: string |
| 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 |
| endpointSinks: |
| description: |- |
| List of endpoints used as destination of integration routes. |
| Can contain simple endpoint names or full Camel URIs. |
| items: |
| type: string |
| type: array |
| endpointSources: |
| description: List of channels used as source of integration |
| routes. |
| items: |
| type: string |
| type: array |
| eventSinks: |
| description: |- |
| List of event types that the integration will produce. |
| Can contain simple event types or full Camel URIs (to use a specific broker). |
| items: |
| type: string |
| type: array |
| eventSources: |
| description: |- |
| List of event types that the integration will be subscribed to. |
| Can contain simple event types or full Camel URIs (to use a specific broker different from "default"). |
| items: |
| type: string |
| type: array |
| filterEventType: |
| description: |- |
| Enables the default filtering for the Knative trigger using the event type |
| If this is true, the created Knative trigger uses the event type as a filter on the event stream when no other filter criteria is given. (default: true) |
| type: boolean |
| filterSourceChannels: |
| description: |- |
| Enables filtering on events based on the header "ce-knativehistory". Since this header has been removed in newer versions of |
| Knative, filtering is disabled by default. |
| type: boolean |
| filters: |
| description: |- |
| Sets filter attributes on the event stream (such as event type, source, subject and so on). |
| A list of key-value pairs that represent filter attributes and its values. |
| The syntax is KEY=VALUE, e.g., `source="my.source"`. |
| Filter attributes get set on the Knative trigger that is being created as part of this integration. |
| items: |
| type: string |
| type: array |
| namespaceLabel: |
| description: |- |
| Enables the camel-k-operator to set the "bindings.knative.dev/include=true" label to the namespace |
| As Knative requires this label to perform injection of K_SINK URL into the service. |
| If this is false, the integration pod may start and fail, read the SinkBinding Knative documentation. (default: true) |
| type: boolean |
| sinkBinding: |
| description: |- |
| Allows binding the integration to a sink via a Knative SinkBinding resource. |
| This can be used when the integration targets a single sink. |
| It's enabled by default when the integration targets a single sink |
| (except when the integration is owned by a Knative source). |
| type: boolean |
| type: object |
| knative-service: |
| description: The configuration of Knative Service trait |
| properties: |
| annotations: |
| additionalProperties: |
| type: string |
| description: |- |
| The annotations added to route. |
| This can be used to set knative service specific annotations |
| CLI usage example: -t "knative-service.annotations.'haproxy.router.openshift.io/balance'=true" |
| type: object |
| auto: |
| description: |- |
| Automatically deploy the integration as Knative service when all conditions hold: |
| |
| |
| * Integration is using the Knative profile |
| * All routes are either starting from an HTTP based consumer or a passive consumer (e.g. `direct` is a passive consumer) |
| type: boolean |
| autoscalingMetric: |
| description: |- |
| Configures the Knative autoscaling metric property (e.g. to set `concurrency` based or `cpu` based autoscaling). |
| |
| |
| Refer to the Knative documentation for more information. |
| type: string |
| autoscalingTarget: |
| description: |- |
| Sets the allowed concurrency level or CPU percentage (depending on the autoscaling metric) for each Pod. |
| |
| |
| Refer to the Knative documentation for more information. |
| type: integer |
| class: |
| description: |- |
| Configures the Knative autoscaling class property (e.g. to set `hpa.autoscaling.knative.dev` or `kpa.autoscaling.knative.dev` autoscaling). |
| |
| |
| Refer to the Knative documentation for more information. |
| enum: |
| - kpa.autoscaling.knative.dev |
| - hpa.autoscaling.knative.dev |
| type: string |
| 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 |
| maxScale: |
| description: |- |
| An upper bound for the number of Pods that can be running in parallel for the integration. |
| Knative has its own cap value that depends on the installation. |
| |
| |
| Refer to the Knative documentation for more information. |
| type: integer |
| minScale: |
| description: |- |
| The minimum number of Pods that should be running at any time for the integration. It's **zero** by default, meaning that |
| the integration is scaled down to zero when not used for a configured amount of time. |
| |
| |
| Refer to the Knative documentation for more information. |
| type: integer |
| rolloutDuration: |
| description: |- |
| Enables to gradually shift traffic to the latest Revision and sets the rollout duration. |
| It's disabled by default and must be expressed as a Golang `time.Duration` string representation, |
| rounded to a second precision. |
| type: string |
| timeoutSeconds: |
| description: |- |
| The maximum duration in seconds that the request instance is allowed to respond to a request. |
| This field propagates to the integration pod's terminationGracePeriodSeconds |
| |
| |
| Refer to the Knative documentation for more information. |
| format: int64 |
| type: integer |
| visibility: |
| description: |- |
| Setting `cluster-local`, Knative service becomes a private service. |
| Specifically, this option applies the `networking.knative.dev/visibility` label to Knative service. |
| |
| |
| Refer to the Knative documentation for more information. |
| enum: |
| - cluster-local |
| type: string |
| type: object |
| logging: |
| description: The configuration of Logging trait |
| properties: |
| color: |
| description: Colorize the log output |
| type: boolean |
| 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 |
| format: |
| description: Logs message format |
| type: string |
| json: |
| description: Output the logs in JSON |
| type: boolean |
| jsonPrettyPrint: |
| description: Enable "pretty printing" of the JSON logs |
| type: boolean |
| level: |
| description: Adjust the logging level (defaults to `INFO`) |
| enum: |
| - FATAL |
| - WARN |
| - INFO |
| - DEBUG |
| - TRACE |
| type: string |
| type: object |
| master: |
| description: 'Deprecated: for backward compatibility.' |
| properties: |
| configuration: |
| description: TraitConfiguration parameters configuration |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| required: |
| - configuration |
| type: object |
| mount: |
| description: The configuration of Mount trait |
| properties: |
| configs: |
| description: |- |
| A list of configuration pointing to configmap/secret. |
| The configuration are expected to be UTF-8 resources as they are processed by runtime Camel Context and tried to be parsed as property files. |
| They are also made available on the classpath in order to ease their usage directly from the Route. |
| Syntax: [configmap|secret]:name[/key], where name represents the resource name and key optionally represents the resource key to be filtered |
| items: |
| type: string |
| type: array |
| configuration: |
| description: |- |
| Legacy trait configuration parameters. |
| Deprecated: for backward compatibility. |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| emptyDirs: |
| description: |- |
| A list of EmptyDir volumes to be mounted. An optional size limit may be configured (default 500Mi). |
| Syntax: name:/container/path[:sizeLimit] |
| items: |
| type: string |
| type: array |
| enabled: |
| description: 'Deprecated: no longer in use.' |
| type: boolean |
| hotReload: |
| description: |- |
| Enable "hot reload" when a secret/configmap mounted is edited (default `false`). The configmap/secret must be |
| marked with `camel.apache.org/integration` label to be taken in account. The resource will be watched for any kind change, also for |
| changes in metadata. |
| type: boolean |
| resources: |
| description: |- |
| A list of resources (text or binary content) pointing to configmap/secret. |
| The resources are expected to be any resource type (text or binary content). |
| The destination path can be either a default location or any path specified by the user. |
| Syntax: [configmap|secret]:name[/key][@path], where name represents the resource name, key optionally represents the resource key to be filtered and path represents the destination path |
| items: |
| type: string |
| type: array |
| scanKameletsImplicitLabelSecrets: |
| description: 'Deprecated: no longer available since version |
| 2.5.' |
| type: boolean |
| volumes: |
| description: |- |
| A list of Persistent Volume Claims to be mounted. Syntax: [pvcname:/container/path]. If the PVC is not found, the Integration fails. |
| You can use the syntax [pvcname:/container/path:size:accessMode<:storageClass>] to create a dynamic PVC based on the Storage Class provided |
| or the default cluster Storage Class. However, if the PVC exists, the operator would mount it. |
| items: |
| type: string |
| type: array |
| type: object |
| openapi: |
| description: The configuration of OpenAPI trait |
| properties: |
| configmaps: |
| description: The configmaps holding the spec of the OpenAPI |
| (compatible with > 3.0 spec only). |
| items: |
| 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 |
| type: object |
| owner: |
| description: The configuration of Owner trait |
| 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 |
| targetAnnotations: |
| description: The set of annotations to be transferred |
| items: |
| type: string |
| type: array |
| targetLabels: |
| description: The set of labels to be transferred |
| items: |
| type: string |
| type: array |
| type: object |
| pdb: |
| description: The configuration of PDB trait |
| 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 |
| maxUnavailable: |
| description: |- |
| The number of pods for the Integration that can be unavailable after an eviction. |
| It can be either an absolute number or a percentage (default `1` if `min-available` is also not set). |
| Only one of `max-unavailable` and `min-available` can be specified. |
| type: string |
| minAvailable: |
| description: |- |
| The number of pods for the Integration that must still be available after an eviction. |
| It can be either an absolute number or a percentage. |
| Only one of `min-available` and `max-unavailable` can be specified. |
| type: string |
| type: object |
| platform: |
| description: The configuration of Platform trait |
| properties: |
| auto: |
| description: |- |
| To automatically detect from the environment if a default platform can be created (it will be created on OpenShift or when a registry address is set). |
| Deprecated: Platform is auto generated by the operator install procedure - maintained for backward compatibility |
| type: boolean |
| configuration: |
| description: |- |
| Legacy trait configuration parameters. |
| Deprecated: for backward compatibility. |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| createDefault: |
| description: |- |
| To create a default (empty) platform when the platform is missing. |
| Deprecated: Platform is auto generated by the operator install procedure - maintained for backward compatibility |
| type: boolean |
| enabled: |
| description: 'Deprecated: no longer in use.' |
| type: boolean |
| global: |
| description: |- |
| Indicates if the platform should be created globally in the case of global operator (default true). |
| Deprecated: Platform is auto generated by the operator install procedure - maintained for backward compatibility |
| type: boolean |
| type: object |
| pod: |
| description: The configuration of Pod trait |
| 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 |
| prometheus: |
| description: The configuration of Prometheus trait |
| 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 |
| podMonitor: |
| description: Whether a `PodMonitor` resource is created (default |
| `true`). |
| type: boolean |
| podMonitorLabels: |
| description: The `PodMonitor` resource labels, applicable |
| when `pod-monitor` is `true`. |
| items: |
| type: string |
| type: array |
| type: object |
| pull-secret: |
| description: The configuration of Pull Secret trait |
| properties: |
| auto: |
| description: Automatically configures the platform registry |
| secret on the pod if it is of type `kubernetes.io/dockerconfigjson`. |
| type: boolean |
| 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 |
| imagePullerDelegation: |
| description: When using a global operator with a shared platform, |
| this enables delegation of the `system:image-puller` cluster |
| role on the operator namespace to the integration service |
| account. |
| type: boolean |
| secretName: |
| description: The pull secret name to set on the Pod. If left |
| empty this is automatically taken from the `IntegrationPlatform` |
| registry configuration. |
| type: string |
| type: object |
| quarkus: |
| description: The configuration of Quarkus trait |
| 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 configuration of Registry trait (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 |
| route: |
| description: The configuration of Route trait |
| properties: |
| annotations: |
| additionalProperties: |
| type: string |
| description: |- |
| The annotations added to route. |
| This can be used to set route specific annotations |
| For annotations options see https://docs.openshift.com/container-platform/3.11/architecture/networking/routes.html#route-specific-annotations |
| CLI usage example: -t "route.annotations.'haproxy.router.openshift.io/balance'=true" |
| type: object |
| 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 |
| host: |
| description: To configure the host exposed by the route. |
| type: string |
| tlsCACertificate: |
| description: |- |
| The TLS CA certificate contents. |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| type: string |
| tlsCACertificateSecret: |
| description: |- |
| The secret name and key reference to the TLS CA certificate. The format is "secret-name[/key-name]", the value represents the secret name, if there is only one key in the secret it will be read, otherwise you can set a key name separated with a "/". |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| type: string |
| tlsCertificate: |
| description: |- |
| The TLS certificate contents. |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| type: string |
| tlsCertificateSecret: |
| description: |- |
| The secret name and key reference to the TLS certificate. The format is "secret-name[/key-name]", the value represents the secret name, if there is only one key in the secret it will be read, otherwise you can set a key name separated with a "/". |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| type: string |
| tlsDestinationCACertificate: |
| description: |- |
| The destination CA certificate provides the contents of the ca certificate of the final destination. When using reencrypt |
| termination this file should be provided in order to have routers use it for health checks on the secure connection. |
| If this field is not specified, the router may provide its own destination CA and perform hostname validation using |
| the short service name (service.namespace.svc), which allows infrastructure generated certificates to automatically |
| verify. |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| type: string |
| tlsDestinationCACertificateSecret: |
| description: |- |
| The secret name and key reference to the destination CA certificate. The format is "secret-name[/key-name]", the value represents the secret name, if there is only one key in the secret it will be read, otherwise you can set a key name separated with a "/". |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| type: string |
| tlsInsecureEdgeTerminationPolicy: |
| description: |- |
| To configure how to deal with insecure traffic, e.g. `Allow`, `Disable` or `Redirect` traffic. |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| enum: |
| - None |
| - Allow |
| - Redirect |
| type: string |
| tlsKey: |
| description: |- |
| The TLS certificate key contents. |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| type: string |
| tlsKeySecret: |
| description: |- |
| The secret name and key reference to the TLS certificate key. The format is "secret-name[/key-name]", the value represents the secret name, if there is only one key in the secret it will be read, otherwise you can set a key name separated with a "/". |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| type: string |
| tlsTermination: |
| description: |- |
| The TLS termination type, like `edge`, `passthrough` or `reencrypt`. |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| enum: |
| - edge |
| - reencrypt |
| - passthrough |
| type: string |
| type: object |
| security-context: |
| description: The configuration of Security Context trait |
| 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 |
| runAsNonRoot: |
| description: Security Context RunAsNonRoot configuration (default |
| false). |
| type: boolean |
| runAsUser: |
| description: 'Security Context RunAsUser configuration (default |
| none): this value is automatically retrieved in Openshift |
| clusters when not explicitly set.' |
| format: int64 |
| type: integer |
| seccompProfileType: |
| description: Security Context SeccompProfileType configuration |
| (default RuntimeDefault). |
| enum: |
| - Unconfined |
| - RuntimeDefault |
| type: string |
| type: object |
| service: |
| description: The configuration of Service trait |
| properties: |
| annotations: |
| additionalProperties: |
| type: string |
| description: The annotations added to the Service object. |
| type: object |
| auto: |
| description: To automatically detect from the code if a Service |
| needs to be created. |
| type: boolean |
| 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 |
| labels: |
| additionalProperties: |
| type: string |
| description: The labels added to the Service object. |
| type: object |
| nodePort: |
| description: |- |
| Enable Service to be exposed as NodePort (default `false`). |
| Deprecated: Use service type instead. |
| type: boolean |
| type: |
| description: The type of service to be used, either 'ClusterIP', |
| 'NodePort' or 'LoadBalancer'. |
| enum: |
| - ClusterIP |
| - NodePort |
| - LoadBalancer |
| type: string |
| type: object |
| service-binding: |
| description: The configuration of Service Binding trait |
| 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 |
| services: |
| description: List of Services in the form [[apigroup/]version:]kind:[namespace/]name |
| items: |
| type: string |
| type: array |
| type: object |
| strimzi: |
| description: 'Deprecated: for backward compatibility.' |
| properties: |
| configuration: |
| description: TraitConfiguration parameters configuration |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| required: |
| - configuration |
| type: object |
| telemetry: |
| description: The configuration of Telemetry trait |
| properties: |
| auto: |
| description: Enables automatic configuration of the trait, |
| including automatic discovery of the telemetry endpoint. |
| type: boolean |
| 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 |
| endpoint: |
| description: The target endpoint of the Telemetry service |
| (automatically discovered by default) |
| type: string |
| sampler: |
| description: The sampler of the telemetry used for tracing |
| (default "on") |
| type: string |
| sampler-parent-based: |
| description: The sampler of the telemetry used for tracing |
| is parent based (default "true") |
| type: boolean |
| sampler-ratio: |
| description: The sampler ratio of the telemetry used for tracing |
| type: string |
| serviceName: |
| description: The name of the service that publishes telemetry |
| data (defaults to the integration name) |
| type: string |
| type: object |
| toleration: |
| description: The configuration of Toleration trait |
| 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 |
| taints: |
| description: The list of taints to tolerate, in the form `Key[=Value]:Effect[:Seconds]` |
| items: |
| type: string |
| type: array |
| type: object |
| tracing: |
| description: 'Deprecated: for backward compatibility.' |
| properties: |
| configuration: |
| description: TraitConfiguration parameters configuration |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| required: |
| - configuration |
| type: object |
| type: object |
| type: object |
| status: |
| description: the status of the Integration |
| properties: |
| capabilities: |
| description: features offered by the Integration |
| items: |
| type: string |
| type: array |
| catalog: |
| description: the catalog used to build/operate the Integration. |
| properties: |
| provider: |
| description: RuntimeProvider is the provider chosen for the runtime. |
| type: string |
| version: |
| type: string |
| type: object |
| conditions: |
| description: a list of events happened for the Integration |
| items: |
| description: IntegrationCondition describes the state of a resource |
| at a certain point. |
| properties: |
| firstTruthyTime: |
| description: First time the condition status transitioned to |
| True. |
| format: date-time |
| type: string |
| 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 |
| pods: |
| description: Pods collect health and conditions information |
| from the owned PODs |
| items: |
| properties: |
| condition: |
| description: PodCondition contains details for the current |
| condition of this pod. |
| properties: |
| lastProbeTime: |
| description: Last time we probed the condition. |
| format: date-time |
| type: string |
| lastTransitionTime: |
| description: Last time the condition transitioned |
| from one status to another. |
| format: date-time |
| type: string |
| message: |
| description: Human-readable message indicating details |
| about last transition. |
| type: string |
| reason: |
| description: Unique, one-word, CamelCase reason for |
| the condition's last transition. |
| type: string |
| status: |
| description: |- |
| Status is the status of the condition. |
| Can be True, False, Unknown. |
| More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-conditions |
| type: string |
| type: |
| description: |- |
| Type is the type of the condition. |
| More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-conditions |
| type: string |
| required: |
| - status |
| - type |
| type: object |
| health: |
| items: |
| properties: |
| data: |
| description: |- |
| RawMessage is a raw encoded JSON value. |
| It implements Marshaler and Unmarshaler and can |
| be used to delay JSON decoding or precompute a JSON encoding. |
| x-kubernetes-preserve-unknown-fields: true |
| name: |
| type: string |
| status: |
| type: string |
| type: object |
| type: array |
| name: |
| type: string |
| required: |
| - condition |
| type: object |
| type: array |
| 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: |
| description: |- |
| Deprecated: |
| a list of configuration specification |
| 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 dependencies needed by the application |
| items: |
| type: string |
| type: array |
| digest: |
| description: the digest calculated for this Integration |
| type: string |
| generatedSources: |
| description: a list of sources generated for this Integration |
| 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 |
| image: |
| description: the container image used |
| type: string |
| integrationKit: |
| description: the reference of the `IntegrationKit` which is used for |
| this Integration |
| properties: |
| apiVersion: |
| description: API version of the referent. |
| type: string |
| fieldPath: |
| description: |- |
| If referring to a piece of an object instead of an entire object, this string |
| should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. |
| For example, if the object reference is to a container within a pod, this would take on a value like: |
| "spec.containers{name}" (where "name" refers to the name of the container that triggered |
| the event) or if no container name is specified "spec.containers[2]" (container with |
| index 2 in this pod). This syntax is chosen only to have some well-defined way of |
| referencing a part of an object. |
| TODO: this design is not final and this field is subject to change in the future. |
| type: string |
| kind: |
| description: |- |
| Kind of the referent. |
| More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| type: string |
| name: |
| description: |- |
| Name of the referent. |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| type: string |
| namespace: |
| description: |- |
| Namespace of the referent. |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ |
| type: string |
| resourceVersion: |
| description: |- |
| Specific resourceVersion to which this reference is made, if any. |
| More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency |
| type: string |
| uid: |
| description: |- |
| UID of the referent. |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids |
| type: string |
| type: object |
| x-kubernetes-map-type: atomic |
| lastInitTimestamp: |
| description: the timestamp representing the last time when this integration |
| was initialized. |
| format: date-time |
| type: string |
| observedGeneration: |
| description: ObservedGeneration is the most recent generation observed |
| for this Integration. |
| format: int64 |
| type: integer |
| phase: |
| description: the actual phase |
| type: string |
| platform: |
| description: The IntegrationPlatform watching this Integration |
| type: string |
| profile: |
| description: the profile needed to run this Integration |
| type: string |
| replicas: |
| description: the number of replicas |
| format: int32 |
| type: integer |
| runtimeProvider: |
| description: the runtime provider targeted for this Integration |
| type: string |
| runtimeVersion: |
| description: the runtime version targeted for this Integration |
| type: string |
| selector: |
| description: label selector |
| type: string |
| traits: |
| description: the traits executed for the Integration |
| properties: |
| 3scale: |
| description: 'Deprecated: for backward compatibility.' |
| properties: |
| configuration: |
| description: TraitConfiguration parameters configuration |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| required: |
| - configuration |
| type: object |
| addons: |
| additionalProperties: |
| description: AddonTrait represents the configuration of an addon |
| trait. |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| description: The extension point with addon traits |
| type: object |
| affinity: |
| description: The configuration of Affinity trait |
| 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 |
| nodeAffinityLabels: |
| description: Defines a set of nodes the integration pod(s) |
| are eligible to be scheduled on, based on labels on the |
| node. |
| items: |
| type: string |
| type: array |
| podAffinity: |
| description: Always co-locates multiple replicas of the integration |
| in the same node (default `false`). |
| type: boolean |
| podAffinityLabels: |
| description: |- |
| Defines a set of pods (namely those matching the label selector, relative to the given namespace) that the |
| integration pod(s) should be co-located with. |
| items: |
| type: string |
| type: array |
| podAntiAffinity: |
| description: Never co-locates multiple replicas of the integration |
| in the same node (default `false`). |
| type: boolean |
| podAntiAffinityLabels: |
| description: |- |
| Defines a set of pods (namely those matching the label selector, relative to the given namespace) that the |
| integration pod(s) should not be co-located with. |
| items: |
| type: string |
| type: array |
| type: object |
| builder: |
| description: The configuration of Builder trait |
| 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 configuration of Camel trait |
| 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 |
| runtimeVersion: |
| description: |- |
| The camel-k-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. |
| type: string |
| type: object |
| container: |
| description: The configuration of Container trait |
| properties: |
| allowPrivilegeEscalation: |
| description: Security Context AllowPrivilegeEscalation configuration |
| (default false). |
| type: boolean |
| auto: |
| description: To automatically enable the trait |
| type: boolean |
| capabilitiesAdd: |
| description: Security Context Capabilities Add configuration |
| (default none). |
| items: |
| description: Capability represent POSIX capabilities type |
| type: string |
| type: array |
| capabilitiesDrop: |
| description: Security Context Capabilities Drop configuration |
| (default ALL). |
| items: |
| description: Capability represent POSIX capabilities type |
| 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 |
| expose: |
| description: Can be used to enable/disable exposure via kubernetes |
| Service. |
| type: boolean |
| image: |
| description: |- |
| The main container image to use for the Integration. When using this parameter the operator will create a synthetic IntegrationKit which |
| won't be able to execute traits requiring CamelCatalog. If the container image you're using is coming from an IntegrationKit, use instead |
| Integration `.spec.integrationKit` parameter. If you're moving the Integration across environments, you will also need to create an "external" IntegrationKit. |
| type: string |
| imagePullPolicy: |
| description: 'The pull policy: Always|Never|IfNotPresent' |
| enum: |
| - Always |
| - Never |
| - IfNotPresent |
| type: string |
| limitCPU: |
| description: The maximum amount of CPU to be provided (default |
| 500 millicores). |
| type: string |
| limitMemory: |
| description: The maximum amount of memory to be provided (default |
| 512 Mi). |
| type: string |
| name: |
| description: The main container name. It's named `integration` |
| by default. |
| type: string |
| port: |
| description: To configure a different port exposed by the |
| container (default `8080`). |
| format: int32 |
| type: integer |
| portName: |
| description: To configure a different port name for the port |
| exposed by the container. It defaults to `http` only when |
| the `expose` parameter is true. |
| type: string |
| requestCPU: |
| description: The minimum amount of CPU required (default 125 |
| millicores). |
| type: string |
| requestMemory: |
| description: The minimum amount of memory required (default |
| 128 Mi). |
| type: string |
| runAsNonRoot: |
| description: Security Context RunAsNonRoot configuration (default |
| false). |
| type: boolean |
| runAsUser: |
| description: 'Security Context RunAsUser configuration (default |
| none): this value is automatically retrieved in Openshift |
| clusters when not explicitly set.' |
| format: int64 |
| type: integer |
| seccompProfileType: |
| description: Security Context SeccompProfileType configuration |
| (default RuntimeDefault). |
| enum: |
| - Unconfined |
| - RuntimeDefault |
| type: string |
| servicePort: |
| description: To configure under which service port the container |
| port is to be exposed (default `80`). |
| format: int32 |
| type: integer |
| servicePortName: |
| description: To configure under which service port name the |
| container port is to be exposed (default `http`). |
| type: string |
| type: object |
| cron: |
| description: The configuration of Cron trait |
| properties: |
| activeDeadlineSeconds: |
| description: |- |
| Specifies the duration in seconds, relative to the start time, that the job |
| may be continuously active before it is considered to be failed. |
| It defaults to 60s. |
| format: int64 |
| type: integer |
| auto: |
| description: |- |
| Automatically deploy the integration as CronJob when all routes are |
| either starting from a periodic consumer (only `cron`, `timer` and `quartz` are supported) or a passive consumer (e.g. `direct` is a passive consumer). |
| |
| |
| It's required that all periodic consumers have the same period, and it can be expressed as cron schedule (e.g. `1m` can be expressed as `0/1 * * * *`, |
| while `35m` or `50s` cannot). |
| type: boolean |
| backoffLimit: |
| description: |- |
| Specifies the number of retries before marking the job failed. |
| It defaults to 2. |
| format: int32 |
| type: integer |
| components: |
| description: |- |
| A comma separated list of the Camel components that need to be customized in order for them to work when the schedule is triggered externally by Kubernetes. |
| Supported components are currently: `cron`, `timer` and `quartz`. |
| type: string |
| concurrencyPolicy: |
| description: |- |
| Specifies how to treat concurrent executions of a Job. |
| Valid values are: |
| - "Allow": allows CronJobs to run concurrently; |
| - "Forbid" (default): forbids concurrent runs, skipping next run if previous run hasn't finished yet; |
| - "Replace": cancels currently running job and replaces it with a new one |
| enum: |
| - Allow |
| - Forbid |
| - Replace |
| type: string |
| 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 |
| fallback: |
| description: |- |
| Use the default Camel implementation of the `cron` endpoint (`quartz`) instead of trying to materialize the integration |
| as Kubernetes CronJob. |
| type: boolean |
| schedule: |
| description: |- |
| The CronJob schedule for the whole integration. If multiple routes are declared, they must have the same schedule for this |
| mechanism to work correctly. |
| type: string |
| startingDeadlineSeconds: |
| description: |- |
| Optional deadline in seconds for starting the job if it misses scheduled |
| time for any reason. Missed jobs executions will be counted as failed ones. |
| format: int64 |
| type: integer |
| timeZone: |
| description: The timezone that the CronJob will run on |
| type: string |
| type: object |
| dependencies: |
| description: The configuration of Dependencies trait |
| 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 |
| type: object |
| deployer: |
| description: The configuration of Deployer trait |
| 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 |
| kind: |
| description: Allows to explicitly select the desired deployment |
| kind between `deployment`, `cron-job` or `knative-service` |
| when creating the resources for running the integration. |
| enum: |
| - deployment |
| - cron-job |
| - knative-service |
| type: string |
| useSSA: |
| description: |- |
| Deprecated: won't be able to enforce client side update in the future. |
| Use server-side apply to update the owned resources (default `true`). |
| Note that it automatically falls back to client-side patching, if SSA is not available, e.g., on old Kubernetes clusters. |
| type: boolean |
| type: object |
| deployment: |
| description: The configuration of Deployment trait |
| 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 |
| progressDeadlineSeconds: |
| description: |- |
| The maximum time in seconds for the deployment to make progress before it |
| is considered to be failed. It defaults to `60s`. |
| format: int32 |
| type: integer |
| rollingUpdateMaxSurge: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| The maximum number of pods that can be scheduled above the desired number of |
| pods. |
| Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). |
| This can not be 0 if MaxUnavailable is 0. |
| Absolute number is calculated from percentage by rounding up. |
| Defaults to `25%`. |
| x-kubernetes-int-or-string: true |
| rollingUpdateMaxUnavailable: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| The maximum number of pods that can be unavailable during the update. |
| Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). |
| Absolute number is calculated from percentage by rounding down. |
| This can not be 0 if MaxSurge is 0. |
| Defaults to `25%`. |
| x-kubernetes-int-or-string: true |
| strategy: |
| description: The deployment strategy to use to replace existing |
| pods with new ones. |
| enum: |
| - Recreate |
| - RollingUpdate |
| type: string |
| type: object |
| environment: |
| description: The configuration of Environment trait |
| properties: |
| configuration: |
| description: |- |
| Legacy trait configuration parameters. |
| Deprecated: for backward compatibility. |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| containerMeta: |
| description: Enables injection of `NAMESPACE` and `POD_NAME` |
| environment variables (default `true`) |
| type: boolean |
| enabled: |
| description: 'Deprecated: no longer in use.' |
| type: boolean |
| httpProxy: |
| description: Propagates the `HTTP_PROXY`, `HTTPS_PROXY` and |
| `NO_PROXY` environment variables (default `true`) |
| type: boolean |
| vars: |
| description: |- |
| A list of environment variables to be added to the integration container. |
| The syntax is either VAR=VALUE or VAR=[configmap|secret]:name/key, where name represents the resource name, |
| and key represents the resource key to be mapped as and environment variable. |
| These take precedence over any previously defined environment variables. |
| items: |
| type: string |
| type: array |
| type: object |
| error-handler: |
| description: The configuration of Error Handler trait |
| 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 |
| ref: |
| description: The error handler ref name provided or found |
| in application properties |
| type: string |
| type: object |
| gc: |
| description: The configuration of GC trait |
| properties: |
| configuration: |
| description: |- |
| Legacy trait configuration parameters. |
| Deprecated: for backward compatibility. |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| discoveryCache: |
| description: |- |
| Discovery client cache to be used, either `disabled`, `disk` or `memory` (default `memory`). |
| Deprecated: no longer in use. |
| enum: |
| - disabled |
| - disk |
| - memory |
| type: string |
| enabled: |
| description: Can be used to enable or disable a trait. All |
| traits share this common property. |
| type: boolean |
| type: object |
| health: |
| description: The configuration of Health trait |
| 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 |
| livenessFailureThreshold: |
| description: Minimum consecutive failures for the liveness |
| probe to be considered failed after having succeeded. |
| format: int32 |
| type: integer |
| livenessInitialDelay: |
| description: Number of seconds after the container has started |
| before the liveness probe is initiated. |
| format: int32 |
| type: integer |
| livenessPeriod: |
| description: How often to perform the liveness probe. |
| format: int32 |
| type: integer |
| livenessProbe: |
| description: The liveness probe path to use (default provided |
| by the Catalog runtime used). |
| type: string |
| livenessProbeEnabled: |
| description: Configures the liveness probe for the integration |
| container (default `false`). |
| type: boolean |
| livenessScheme: |
| description: Scheme to use when connecting to the liveness |
| probe (default `HTTP`). |
| type: string |
| livenessSuccessThreshold: |
| description: Minimum consecutive successes for the liveness |
| probe to be considered successful after having failed. |
| format: int32 |
| type: integer |
| livenessTimeout: |
| description: Number of seconds after which the liveness probe |
| times out. |
| format: int32 |
| type: integer |
| readinessFailureThreshold: |
| description: Minimum consecutive failures for the readiness |
| probe to be considered failed after having succeeded. |
| format: int32 |
| type: integer |
| readinessInitialDelay: |
| description: Number of seconds after the container has started |
| before the readiness probe is initiated. |
| format: int32 |
| type: integer |
| readinessPeriod: |
| description: How often to perform the readiness probe. |
| format: int32 |
| type: integer |
| readinessProbe: |
| description: The readiness probe path to use (default provided |
| by the Catalog runtime used). |
| type: string |
| readinessProbeEnabled: |
| description: Configures the readiness probe for the integration |
| container (default `true`). |
| type: boolean |
| readinessScheme: |
| description: Scheme to use when connecting to the readiness |
| probe (default `HTTP`). |
| type: string |
| readinessSuccessThreshold: |
| description: Minimum consecutive successes for the readiness |
| probe to be considered successful after having failed. |
| format: int32 |
| type: integer |
| readinessTimeout: |
| description: Number of seconds after which the readiness probe |
| times out. |
| format: int32 |
| type: integer |
| startupFailureThreshold: |
| description: Minimum consecutive failures for the startup |
| probe to be considered failed after having succeeded. |
| format: int32 |
| type: integer |
| startupInitialDelay: |
| description: Number of seconds after the container has started |
| before the startup probe is initiated. |
| format: int32 |
| type: integer |
| startupPeriod: |
| description: How often to perform the startup probe. |
| format: int32 |
| type: integer |
| startupProbe: |
| description: The startup probe path to use (default provided |
| by the Catalog runtime used). |
| type: string |
| startupProbeEnabled: |
| description: Configures the startup probe for the integration |
| container (default `false`). |
| type: boolean |
| startupScheme: |
| description: Scheme to use when connecting to the startup |
| probe (default `HTTP`). |
| type: string |
| startupSuccessThreshold: |
| description: Minimum consecutive successes for the startup |
| probe to be considered successful after having failed. |
| format: int32 |
| type: integer |
| startupTimeout: |
| description: Number of seconds after which the startup probe |
| times out. |
| format: int32 |
| type: integer |
| type: object |
| ingress: |
| description: The configuration of Ingress trait |
| properties: |
| annotations: |
| additionalProperties: |
| type: string |
| description: |- |
| The annotations added to the ingress. |
| This can be used to set controller specific annotations, e.g., when using the NGINX Ingress controller: |
| See https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/nginx-configuration/annotations.md |
| type: object |
| auto: |
| description: To automatically add an ingress whenever the |
| integration uses an HTTP endpoint consumer. |
| type: boolean |
| 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 |
| host: |
| description: To configure the host exposed by the ingress. |
| type: string |
| ingressClassName: |
| description: |- |
| The Ingress class name as defined by the Ingress spec |
| See https://kubernetes.io/docs/concepts/services-networking/ingress/ |
| type: string |
| path: |
| description: To configure the path exposed by the ingress |
| (default `/`). |
| type: string |
| pathType: |
| description: |- |
| To configure the path type exposed by the ingress. |
| One of `Exact`, `Prefix`, `ImplementationSpecific` (default to `Prefix`). |
| enum: |
| - Exact |
| - Prefix |
| - ImplementationSpecific |
| type: string |
| tlsHosts: |
| description: To configure tls hosts |
| items: |
| type: string |
| type: array |
| tlsSecretName: |
| description: To configure tls secret name |
| type: string |
| type: object |
| istio: |
| description: The configuration of Istio trait |
| properties: |
| allow: |
| description: Configures a (comma-separated) list of CIDR subnets |
| that should not be intercepted by the Istio proxy (`10.0.0.0/8,172.16.0.0/12,192.168.0.0/16` |
| by default). |
| type: string |
| 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 |
| inject: |
| description: Forces the value for labels `sidecar.istio.io/inject`. |
| By default the label is set to `true` on deployment and |
| not set on Knative Service. |
| type: boolean |
| type: object |
| jolokia: |
| description: The configuration of Jolokia trait |
| properties: |
| CACert: |
| description: |- |
| The PEM encoded CA certification file path, used to verify client certificates, |
| applicable when `protocol` is `https` and `use-ssl-client-authentication` is `true` |
| (default `/var/run/secrets/kubernetes.io/serviceaccount/service-ca.crt` for OpenShift). |
| type: string |
| clientPrincipal: |
| description: |- |
| The principal(s) which must be given in a client certificate to allow access to the Jolokia endpoint, |
| applicable when `protocol` is `https` and `use-ssl-client-authentication` is `true` |
| (default `clientPrincipal=cn=system:master-proxy`, `cn=hawtio-online.hawtio.svc` and `cn=fuse-console.fuse.svc` for OpenShift). |
| items: |
| type: string |
| type: array |
| configuration: |
| description: |- |
| Legacy trait configuration parameters. |
| Deprecated: for backward compatibility. |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| discoveryEnabled: |
| description: Listen for multicast requests (default `false`) |
| type: boolean |
| enabled: |
| description: Can be used to enable or disable a trait. All |
| traits share this common property. |
| type: boolean |
| extendedClientCheck: |
| description: |- |
| Mandate the client certificate contains a client flag in the extended key usage section, |
| applicable when `protocol` is `https` and `use-ssl-client-authentication` is `true` |
| (default `true` for OpenShift). |
| type: boolean |
| host: |
| description: |- |
| The Host address to which the Jolokia agent should bind to. If `"\*"` or `"0.0.0.0"` is given, |
| the servers binds to every network interface (default `"*"`). |
| type: string |
| options: |
| description: |- |
| A list of additional Jolokia options as defined |
| in https://jolokia.org/reference/html/agents.html#agent-jvm-config[JVM agent configuration options] |
| items: |
| type: string |
| type: array |
| password: |
| description: The password used for authentication, applicable |
| when the `user` option is set. |
| type: string |
| port: |
| description: The Jolokia endpoint port (default `8778`). |
| format: int32 |
| type: integer |
| protocol: |
| description: The protocol to use, either `http` or `https` |
| (default `https` for OpenShift) |
| type: string |
| useSSLClientAuthentication: |
| description: Whether client certificates should be used for |
| authentication (default `true` for OpenShift). |
| type: boolean |
| user: |
| description: The user to be used for authentication |
| type: string |
| type: object |
| jvm: |
| description: The configuration of JVM trait |
| properties: |
| classpath: |
| description: Additional JVM classpath (use `Linux` classpath |
| separator) |
| type: string |
| configuration: |
| description: |- |
| Legacy trait configuration parameters. |
| Deprecated: for backward compatibility. |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| debug: |
| description: Activates remote debugging, so that a debugger |
| can be attached to the JVM, e.g., using port-forwarding |
| type: boolean |
| debugAddress: |
| description: Transport address at which to listen for the |
| newly launched JVM (default `*:5005`) |
| type: string |
| debugSuspend: |
| description: Suspends the target JVM immediately before the |
| main class is loaded |
| type: boolean |
| enabled: |
| description: Can be used to enable or disable a trait. All |
| traits share this common property. |
| type: boolean |
| jar: |
| description: The Jar dependency which will run the application. |
| Leave it empty for managed Integrations. |
| type: string |
| options: |
| description: A list of JVM options |
| items: |
| type: string |
| type: array |
| printCommand: |
| description: |- |
| Prints the command used the start the JVM in the container logs (default `true`) |
| Deprecated: no longer in use. |
| type: boolean |
| type: object |
| kamelets: |
| description: The configuration of Kamelets trait |
| properties: |
| auto: |
| description: Automatically inject all referenced Kamelets |
| and their default configuration (enabled by default) |
| type: boolean |
| 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 |
| list: |
| description: Comma separated list of Kamelet names to load |
| into the current integration |
| type: string |
| mountPoint: |
| description: The directory where the application mounts and |
| reads Kamelet spec (default `/etc/camel/kamelets`) |
| type: string |
| type: object |
| keda: |
| description: 'Deprecated: for backward compatibility.' |
| properties: |
| configuration: |
| description: TraitConfiguration parameters configuration |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| required: |
| - configuration |
| type: object |
| knative: |
| description: The configuration of Knative trait |
| properties: |
| auto: |
| description: Enable automatic discovery of all trait properties. |
| type: boolean |
| channelSinks: |
| description: |- |
| List of channels used as destination of integration routes. |
| Can contain simple channel names or full Camel URIs. |
| items: |
| type: string |
| type: array |
| channelSources: |
| description: |- |
| List of channels used as source of integration routes. |
| Can contain simple channel names or full Camel URIs. |
| items: |
| type: string |
| type: array |
| config: |
| description: Can be used to inject a Knative complete configuration |
| in JSON format. |
| type: string |
| 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 |
| endpointSinks: |
| description: |- |
| List of endpoints used as destination of integration routes. |
| Can contain simple endpoint names or full Camel URIs. |
| items: |
| type: string |
| type: array |
| endpointSources: |
| description: List of channels used as source of integration |
| routes. |
| items: |
| type: string |
| type: array |
| eventSinks: |
| description: |- |
| List of event types that the integration will produce. |
| Can contain simple event types or full Camel URIs (to use a specific broker). |
| items: |
| type: string |
| type: array |
| eventSources: |
| description: |- |
| List of event types that the integration will be subscribed to. |
| Can contain simple event types or full Camel URIs (to use a specific broker different from "default"). |
| items: |
| type: string |
| type: array |
| filterEventType: |
| description: |- |
| Enables the default filtering for the Knative trigger using the event type |
| If this is true, the created Knative trigger uses the event type as a filter on the event stream when no other filter criteria is given. (default: true) |
| type: boolean |
| filterSourceChannels: |
| description: |- |
| Enables filtering on events based on the header "ce-knativehistory". Since this header has been removed in newer versions of |
| Knative, filtering is disabled by default. |
| type: boolean |
| filters: |
| description: |- |
| Sets filter attributes on the event stream (such as event type, source, subject and so on). |
| A list of key-value pairs that represent filter attributes and its values. |
| The syntax is KEY=VALUE, e.g., `source="my.source"`. |
| Filter attributes get set on the Knative trigger that is being created as part of this integration. |
| items: |
| type: string |
| type: array |
| namespaceLabel: |
| description: |- |
| Enables the camel-k-operator to set the "bindings.knative.dev/include=true" label to the namespace |
| As Knative requires this label to perform injection of K_SINK URL into the service. |
| If this is false, the integration pod may start and fail, read the SinkBinding Knative documentation. (default: true) |
| type: boolean |
| sinkBinding: |
| description: |- |
| Allows binding the integration to a sink via a Knative SinkBinding resource. |
| This can be used when the integration targets a single sink. |
| It's enabled by default when the integration targets a single sink |
| (except when the integration is owned by a Knative source). |
| type: boolean |
| type: object |
| knative-service: |
| description: The configuration of Knative Service trait |
| properties: |
| annotations: |
| additionalProperties: |
| type: string |
| description: |- |
| The annotations added to route. |
| This can be used to set knative service specific annotations |
| CLI usage example: -t "knative-service.annotations.'haproxy.router.openshift.io/balance'=true" |
| type: object |
| auto: |
| description: |- |
| Automatically deploy the integration as Knative service when all conditions hold: |
| |
| |
| * Integration is using the Knative profile |
| * All routes are either starting from an HTTP based consumer or a passive consumer (e.g. `direct` is a passive consumer) |
| type: boolean |
| autoscalingMetric: |
| description: |- |
| Configures the Knative autoscaling metric property (e.g. to set `concurrency` based or `cpu` based autoscaling). |
| |
| |
| Refer to the Knative documentation for more information. |
| type: string |
| autoscalingTarget: |
| description: |- |
| Sets the allowed concurrency level or CPU percentage (depending on the autoscaling metric) for each Pod. |
| |
| |
| Refer to the Knative documentation for more information. |
| type: integer |
| class: |
| description: |- |
| Configures the Knative autoscaling class property (e.g. to set `hpa.autoscaling.knative.dev` or `kpa.autoscaling.knative.dev` autoscaling). |
| |
| |
| Refer to the Knative documentation for more information. |
| enum: |
| - kpa.autoscaling.knative.dev |
| - hpa.autoscaling.knative.dev |
| type: string |
| 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 |
| maxScale: |
| description: |- |
| An upper bound for the number of Pods that can be running in parallel for the integration. |
| Knative has its own cap value that depends on the installation. |
| |
| |
| Refer to the Knative documentation for more information. |
| type: integer |
| minScale: |
| description: |- |
| The minimum number of Pods that should be running at any time for the integration. It's **zero** by default, meaning that |
| the integration is scaled down to zero when not used for a configured amount of time. |
| |
| |
| Refer to the Knative documentation for more information. |
| type: integer |
| rolloutDuration: |
| description: |- |
| Enables to gradually shift traffic to the latest Revision and sets the rollout duration. |
| It's disabled by default and must be expressed as a Golang `time.Duration` string representation, |
| rounded to a second precision. |
| type: string |
| timeoutSeconds: |
| description: |- |
| The maximum duration in seconds that the request instance is allowed to respond to a request. |
| This field propagates to the integration pod's terminationGracePeriodSeconds |
| |
| |
| Refer to the Knative documentation for more information. |
| format: int64 |
| type: integer |
| visibility: |
| description: |- |
| Setting `cluster-local`, Knative service becomes a private service. |
| Specifically, this option applies the `networking.knative.dev/visibility` label to Knative service. |
| |
| |
| Refer to the Knative documentation for more information. |
| enum: |
| - cluster-local |
| type: string |
| type: object |
| logging: |
| description: The configuration of Logging trait |
| properties: |
| color: |
| description: Colorize the log output |
| type: boolean |
| 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 |
| format: |
| description: Logs message format |
| type: string |
| json: |
| description: Output the logs in JSON |
| type: boolean |
| jsonPrettyPrint: |
| description: Enable "pretty printing" of the JSON logs |
| type: boolean |
| level: |
| description: Adjust the logging level (defaults to `INFO`) |
| enum: |
| - FATAL |
| - WARN |
| - INFO |
| - DEBUG |
| - TRACE |
| type: string |
| type: object |
| master: |
| description: 'Deprecated: for backward compatibility.' |
| properties: |
| configuration: |
| description: TraitConfiguration parameters configuration |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| required: |
| - configuration |
| type: object |
| mount: |
| description: The configuration of Mount trait |
| properties: |
| configs: |
| description: |- |
| A list of configuration pointing to configmap/secret. |
| The configuration are expected to be UTF-8 resources as they are processed by runtime Camel Context and tried to be parsed as property files. |
| They are also made available on the classpath in order to ease their usage directly from the Route. |
| Syntax: [configmap|secret]:name[/key], where name represents the resource name and key optionally represents the resource key to be filtered |
| items: |
| type: string |
| type: array |
| configuration: |
| description: |- |
| Legacy trait configuration parameters. |
| Deprecated: for backward compatibility. |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| emptyDirs: |
| description: |- |
| A list of EmptyDir volumes to be mounted. An optional size limit may be configured (default 500Mi). |
| Syntax: name:/container/path[:sizeLimit] |
| items: |
| type: string |
| type: array |
| enabled: |
| description: 'Deprecated: no longer in use.' |
| type: boolean |
| hotReload: |
| description: |- |
| Enable "hot reload" when a secret/configmap mounted is edited (default `false`). The configmap/secret must be |
| marked with `camel.apache.org/integration` label to be taken in account. The resource will be watched for any kind change, also for |
| changes in metadata. |
| type: boolean |
| resources: |
| description: |- |
| A list of resources (text or binary content) pointing to configmap/secret. |
| The resources are expected to be any resource type (text or binary content). |
| The destination path can be either a default location or any path specified by the user. |
| Syntax: [configmap|secret]:name[/key][@path], where name represents the resource name, key optionally represents the resource key to be filtered and path represents the destination path |
| items: |
| type: string |
| type: array |
| scanKameletsImplicitLabelSecrets: |
| description: 'Deprecated: no longer available since version |
| 2.5.' |
| type: boolean |
| volumes: |
| description: |- |
| A list of Persistent Volume Claims to be mounted. Syntax: [pvcname:/container/path]. If the PVC is not found, the Integration fails. |
| You can use the syntax [pvcname:/container/path:size:accessMode<:storageClass>] to create a dynamic PVC based on the Storage Class provided |
| or the default cluster Storage Class. However, if the PVC exists, the operator would mount it. |
| items: |
| type: string |
| type: array |
| type: object |
| openapi: |
| description: The configuration of OpenAPI trait |
| properties: |
| configmaps: |
| description: The configmaps holding the spec of the OpenAPI |
| (compatible with > 3.0 spec only). |
| items: |
| 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 |
| type: object |
| owner: |
| description: The configuration of Owner trait |
| 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 |
| targetAnnotations: |
| description: The set of annotations to be transferred |
| items: |
| type: string |
| type: array |
| targetLabels: |
| description: The set of labels to be transferred |
| items: |
| type: string |
| type: array |
| type: object |
| pdb: |
| description: The configuration of PDB trait |
| 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 |
| maxUnavailable: |
| description: |- |
| The number of pods for the Integration that can be unavailable after an eviction. |
| It can be either an absolute number or a percentage (default `1` if `min-available` is also not set). |
| Only one of `max-unavailable` and `min-available` can be specified. |
| type: string |
| minAvailable: |
| description: |- |
| The number of pods for the Integration that must still be available after an eviction. |
| It can be either an absolute number or a percentage. |
| Only one of `min-available` and `max-unavailable` can be specified. |
| type: string |
| type: object |
| platform: |
| description: The configuration of Platform trait |
| properties: |
| auto: |
| description: |- |
| To automatically detect from the environment if a default platform can be created (it will be created on OpenShift or when a registry address is set). |
| Deprecated: Platform is auto generated by the operator install procedure - maintained for backward compatibility |
| type: boolean |
| configuration: |
| description: |- |
| Legacy trait configuration parameters. |
| Deprecated: for backward compatibility. |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| createDefault: |
| description: |- |
| To create a default (empty) platform when the platform is missing. |
| Deprecated: Platform is auto generated by the operator install procedure - maintained for backward compatibility |
| type: boolean |
| enabled: |
| description: 'Deprecated: no longer in use.' |
| type: boolean |
| global: |
| description: |- |
| Indicates if the platform should be created globally in the case of global operator (default true). |
| Deprecated: Platform is auto generated by the operator install procedure - maintained for backward compatibility |
| type: boolean |
| type: object |
| pod: |
| description: The configuration of Pod trait |
| 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 |
| prometheus: |
| description: The configuration of Prometheus trait |
| 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 |
| podMonitor: |
| description: Whether a `PodMonitor` resource is created (default |
| `true`). |
| type: boolean |
| podMonitorLabels: |
| description: The `PodMonitor` resource labels, applicable |
| when `pod-monitor` is `true`. |
| items: |
| type: string |
| type: array |
| type: object |
| pull-secret: |
| description: The configuration of Pull Secret trait |
| properties: |
| auto: |
| description: Automatically configures the platform registry |
| secret on the pod if it is of type `kubernetes.io/dockerconfigjson`. |
| type: boolean |
| 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 |
| imagePullerDelegation: |
| description: When using a global operator with a shared platform, |
| this enables delegation of the `system:image-puller` cluster |
| role on the operator namespace to the integration service |
| account. |
| type: boolean |
| secretName: |
| description: The pull secret name to set on the Pod. If left |
| empty this is automatically taken from the `IntegrationPlatform` |
| registry configuration. |
| type: string |
| type: object |
| quarkus: |
| description: The configuration of Quarkus trait |
| 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 configuration of Registry trait (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 |
| route: |
| description: The configuration of Route trait |
| properties: |
| annotations: |
| additionalProperties: |
| type: string |
| description: |- |
| The annotations added to route. |
| This can be used to set route specific annotations |
| For annotations options see https://docs.openshift.com/container-platform/3.11/architecture/networking/routes.html#route-specific-annotations |
| CLI usage example: -t "route.annotations.'haproxy.router.openshift.io/balance'=true" |
| type: object |
| 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 |
| host: |
| description: To configure the host exposed by the route. |
| type: string |
| tlsCACertificate: |
| description: |- |
| The TLS CA certificate contents. |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| type: string |
| tlsCACertificateSecret: |
| description: |- |
| The secret name and key reference to the TLS CA certificate. The format is "secret-name[/key-name]", the value represents the secret name, if there is only one key in the secret it will be read, otherwise you can set a key name separated with a "/". |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| type: string |
| tlsCertificate: |
| description: |- |
| The TLS certificate contents. |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| type: string |
| tlsCertificateSecret: |
| description: |- |
| The secret name and key reference to the TLS certificate. The format is "secret-name[/key-name]", the value represents the secret name, if there is only one key in the secret it will be read, otherwise you can set a key name separated with a "/". |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| type: string |
| tlsDestinationCACertificate: |
| description: |- |
| The destination CA certificate provides the contents of the ca certificate of the final destination. When using reencrypt |
| termination this file should be provided in order to have routers use it for health checks on the secure connection. |
| If this field is not specified, the router may provide its own destination CA and perform hostname validation using |
| the short service name (service.namespace.svc), which allows infrastructure generated certificates to automatically |
| verify. |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| type: string |
| tlsDestinationCACertificateSecret: |
| description: |- |
| The secret name and key reference to the destination CA certificate. The format is "secret-name[/key-name]", the value represents the secret name, if there is only one key in the secret it will be read, otherwise you can set a key name separated with a "/". |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| type: string |
| tlsInsecureEdgeTerminationPolicy: |
| description: |- |
| To configure how to deal with insecure traffic, e.g. `Allow`, `Disable` or `Redirect` traffic. |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| enum: |
| - None |
| - Allow |
| - Redirect |
| type: string |
| tlsKey: |
| description: |- |
| The TLS certificate key contents. |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| type: string |
| tlsKeySecret: |
| description: |- |
| The secret name and key reference to the TLS certificate key. The format is "secret-name[/key-name]", the value represents the secret name, if there is only one key in the secret it will be read, otherwise you can set a key name separated with a "/". |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| type: string |
| tlsTermination: |
| description: |- |
| The TLS termination type, like `edge`, `passthrough` or `reencrypt`. |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| enum: |
| - edge |
| - reencrypt |
| - passthrough |
| type: string |
| type: object |
| security-context: |
| description: The configuration of Security Context trait |
| 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 |
| runAsNonRoot: |
| description: Security Context RunAsNonRoot configuration (default |
| false). |
| type: boolean |
| runAsUser: |
| description: 'Security Context RunAsUser configuration (default |
| none): this value is automatically retrieved in Openshift |
| clusters when not explicitly set.' |
| format: int64 |
| type: integer |
| seccompProfileType: |
| description: Security Context SeccompProfileType configuration |
| (default RuntimeDefault). |
| enum: |
| - Unconfined |
| - RuntimeDefault |
| type: string |
| type: object |
| service: |
| description: The configuration of Service trait |
| properties: |
| annotations: |
| additionalProperties: |
| type: string |
| description: The annotations added to the Service object. |
| type: object |
| auto: |
| description: To automatically detect from the code if a Service |
| needs to be created. |
| type: boolean |
| 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 |
| labels: |
| additionalProperties: |
| type: string |
| description: The labels added to the Service object. |
| type: object |
| nodePort: |
| description: |- |
| Enable Service to be exposed as NodePort (default `false`). |
| Deprecated: Use service type instead. |
| type: boolean |
| type: |
| description: The type of service to be used, either 'ClusterIP', |
| 'NodePort' or 'LoadBalancer'. |
| enum: |
| - ClusterIP |
| - NodePort |
| - LoadBalancer |
| type: string |
| type: object |
| service-binding: |
| description: The configuration of Service Binding trait |
| 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 |
| services: |
| description: List of Services in the form [[apigroup/]version:]kind:[namespace/]name |
| items: |
| type: string |
| type: array |
| type: object |
| strimzi: |
| description: 'Deprecated: for backward compatibility.' |
| properties: |
| configuration: |
| description: TraitConfiguration parameters configuration |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| required: |
| - configuration |
| type: object |
| telemetry: |
| description: The configuration of Telemetry trait |
| properties: |
| auto: |
| description: Enables automatic configuration of the trait, |
| including automatic discovery of the telemetry endpoint. |
| type: boolean |
| 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 |
| endpoint: |
| description: The target endpoint of the Telemetry service |
| (automatically discovered by default) |
| type: string |
| sampler: |
| description: The sampler of the telemetry used for tracing |
| (default "on") |
| type: string |
| sampler-parent-based: |
| description: The sampler of the telemetry used for tracing |
| is parent based (default "true") |
| type: boolean |
| sampler-ratio: |
| description: The sampler ratio of the telemetry used for tracing |
| type: string |
| serviceName: |
| description: The name of the service that publishes telemetry |
| data (defaults to the integration name) |
| type: string |
| type: object |
| toleration: |
| description: The configuration of Toleration trait |
| 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 |
| taints: |
| description: The list of taints to tolerate, in the form `Key[=Value]:Effect[:Seconds]` |
| items: |
| type: string |
| type: array |
| type: object |
| tracing: |
| description: 'Deprecated: for backward compatibility.' |
| properties: |
| configuration: |
| description: TraitConfiguration parameters configuration |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| required: |
| - configuration |
| type: object |
| type: object |
| version: |
| description: the operator version |
| type: string |
| type: object |
| type: object |
| served: true |
| storage: true |
| subresources: |
| scale: |
| labelSelectorPath: .status.selector |
| specReplicasPath: .spec.replicas |
| statusReplicasPath: .status.replicas |
| status: {} |
| --- |
| apiVersion: apiextensions.k8s.io/v1 |
| kind: CustomResourceDefinition |
| metadata: |
| annotations: |
| controller-gen.kubebuilder.io/version: v0.15.0 |
| labels: |
| app: camel-k |
| name: kamelets.camel.apache.org |
| spec: |
| group: camel.apache.org |
| names: |
| categories: |
| - kamel |
| - camel |
| kind: Kamelet |
| listKind: KameletList |
| plural: kamelets |
| shortNames: |
| - kl |
| singular: kamelet |
| scope: Namespaced |
| versions: |
| - additionalPrinterColumns: |
| - description: The Kamelet type |
| jsonPath: .metadata.labels.camel\.apache\.org\/kamelet\.type |
| name: Type |
| type: string |
| - description: The Kamelet provider |
| jsonPath: .metadata.annotations.camel\.apache\.org\/provider |
| name: Provider |
| type: string |
| - description: The Kamelet bundled |
| jsonPath: .metadata.labels.camel\.apache\.org\/kamelet\.bundled |
| name: Bundled |
| type: string |
| - description: The Camel compatible version |
| jsonPath: .metadata.annotations.camel\.apache\.org\/catalog\.version |
| name: Camel Version |
| type: string |
| name: v1 |
| schema: |
| openAPIV3Schema: |
| description: Kamelet is the Schema for the kamelets 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: the desired specification |
| properties: |
| dataTypes: |
| additionalProperties: |
| description: DataTypesSpec represents the specification for a set |
| of data types. |
| properties: |
| default: |
| description: the default data type for this Kamelet |
| type: string |
| headers: |
| additionalProperties: |
| description: HeaderSpec represents the specification for a |
| header used in the Kamelet. |
| properties: |
| default: |
| type: string |
| description: |
| type: string |
| required: |
| type: boolean |
| title: |
| type: string |
| type: |
| type: string |
| type: object |
| description: one to many header specifications |
| type: object |
| types: |
| additionalProperties: |
| description: DataTypeSpec represents the specification for |
| a data type. |
| properties: |
| dependencies: |
| description: the list of Camel or Maven dependencies required |
| by the data type |
| items: |
| type: string |
| type: array |
| description: |
| description: optional description |
| type: string |
| format: |
| description: the data type format name |
| type: string |
| headers: |
| additionalProperties: |
| description: HeaderSpec represents the specification |
| for a header used in the Kamelet. |
| properties: |
| default: |
| type: string |
| description: |
| type: string |
| required: |
| type: boolean |
| title: |
| type: string |
| type: |
| type: string |
| type: object |
| description: one to many header specifications |
| type: object |
| mediaType: |
| description: media type as expected for HTTP media types |
| (ie, application/json) |
| type: string |
| schema: |
| description: the expected schema for the data type |
| properties: |
| $schema: |
| description: JSONSchemaURL represents a schema url. |
| type: string |
| description: |
| type: string |
| example: |
| description: |- |
| JSON represents any valid JSON value. |
| These types are supported: bool, int64, float64, string, []interface{}, map[string]interface{} and nil. |
| x-kubernetes-preserve-unknown-fields: true |
| externalDocs: |
| description: ExternalDocumentation allows referencing |
| an external resource for extended documentation. |
| properties: |
| description: |
| type: string |
| url: |
| type: string |
| type: object |
| id: |
| type: string |
| properties: |
| additionalProperties: |
| properties: |
| default: |
| description: default is a default value for |
| undefined object fields. |
| x-kubernetes-preserve-unknown-fields: true |
| deprecated: |
| type: boolean |
| description: |
| type: string |
| enum: |
| items: |
| description: |- |
| JSON represents any valid JSON value. |
| These types are supported: bool, int64, float64, string, []interface{}, map[string]interface{} and nil. |
| x-kubernetes-preserve-unknown-fields: true |
| type: array |
| example: |
| description: |- |
| JSON represents any valid JSON value. |
| These types are supported: bool, int64, float64, string, []interface{}, map[string]interface{} and nil. |
| x-kubernetes-preserve-unknown-fields: true |
| exclusiveMaximum: |
| type: boolean |
| exclusiveMinimum: |
| type: boolean |
| format: |
| description: |- |
| format is an OpenAPI v3 format string. Unknown formats are ignored. The following formats are validated: |
| |
| |
| - bsonobjectid: a bson object ID, i.e. a 24 characters hex string |
| - uri: an URI as parsed by Golang net/url.ParseRequestURI |
| - email: an email address as parsed by Golang net/mail.ParseAddress |
| - hostname: a valid representation for an Internet host name, as defined by RFC 1034, section 3.1 [RFC1034]. |
| - ipv4: an IPv4 IP as parsed by Golang net.ParseIP |
| - ipv6: an IPv6 IP as parsed by Golang net.ParseIP |
| - cidr: a CIDR as parsed by Golang net.ParseCIDR |
| - mac: a MAC address as parsed by Golang net.ParseMAC |
| - uuid: an UUID that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{12}$ |
| - uuid3: an UUID3 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?3[0-9a-f]{3}-?[0-9a-f]{4}-?[0-9a-f]{12}$ |
| - uuid4: an UUID4 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?4[0-9a-f]{3}-?[89ab][0-9a-f]{3}-?[0-9a-f]{12}$ |
| - uuid5: an UUID5 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?5[0-9a-f]{3}-?[89ab][0-9a-f]{3}-?[0-9a-f]{12}$ |
| - isbn: an ISBN10 or ISBN13 number string like "0321751043" or "978-0321751041" |
| - isbn10: an ISBN10 number string like "0321751043" |
| - isbn13: an ISBN13 number string like "978-0321751041" |
| - creditcard: a credit card number defined by the regex ^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\\d{3})\\d{11})$ with any non digit characters mixed in |
| - ssn: a U.S. social security number following the regex ^\\d{3}[- ]?\\d{2}[- ]?\\d{4}$ |
| - hexcolor: an hexadecimal color code like "#FFFFFF" following the regex ^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$ |
| - rgbcolor: an RGB color code like rgb like "rgb(255,255,255)" |
| - byte: base64 encoded binary data |
| - password: any kind of string |
| - date: a date string like "2006-01-02" as defined by full-date in RFC3339 |
| - duration: a duration string like "22 ns" as parsed by Golang time.ParseDuration or compatible with Scala duration format |
| - datetime: a date time string like "2014-12-15T19:30:20.000Z" as defined by date-time in RFC3339. |
| type: string |
| id: |
| type: string |
| maxItems: |
| format: int64 |
| type: integer |
| maxLength: |
| format: int64 |
| type: integer |
| maxProperties: |
| format: int64 |
| type: integer |
| maximum: |
| description: A Number represents a JSON number |
| literal. |
| type: string |
| minItems: |
| format: int64 |
| type: integer |
| minLength: |
| format: int64 |
| type: integer |
| minProperties: |
| format: int64 |
| type: integer |
| minimum: |
| description: A Number represents a JSON number |
| literal. |
| type: string |
| multipleOf: |
| description: A Number represents a JSON number |
| literal. |
| type: string |
| nullable: |
| type: boolean |
| pattern: |
| type: string |
| title: |
| type: string |
| type: |
| type: string |
| uniqueItems: |
| type: boolean |
| x-descriptors: |
| description: XDescriptors is a list of extended |
| properties that trigger a custom behavior |
| in external systems |
| items: |
| type: string |
| type: array |
| type: object |
| type: object |
| required: |
| items: |
| type: string |
| type: array |
| title: |
| type: string |
| type: |
| type: string |
| type: object |
| scheme: |
| description: the data type component scheme |
| type: string |
| type: object |
| description: one to many data type specifications |
| type: object |
| type: object |
| description: data specification types for the events consumed/produced |
| by the Kamelet |
| type: object |
| definition: |
| description: defines the formal configuration of the Kamelet |
| properties: |
| $schema: |
| description: JSONSchemaURL represents a schema url. |
| type: string |
| description: |
| type: string |
| example: |
| description: |- |
| JSON represents any valid JSON value. |
| These types are supported: bool, int64, float64, string, []interface{}, map[string]interface{} and nil. |
| x-kubernetes-preserve-unknown-fields: true |
| externalDocs: |
| description: ExternalDocumentation allows referencing an external |
| resource for extended documentation. |
| properties: |
| description: |
| type: string |
| url: |
| type: string |
| type: object |
| id: |
| type: string |
| properties: |
| additionalProperties: |
| properties: |
| default: |
| description: default is a default value for undefined object |
| fields. |
| x-kubernetes-preserve-unknown-fields: true |
| deprecated: |
| type: boolean |
| description: |
| type: string |
| enum: |
| items: |
| description: |- |
| JSON represents any valid JSON value. |
| These types are supported: bool, int64, float64, string, []interface{}, map[string]interface{} and nil. |
| x-kubernetes-preserve-unknown-fields: true |
| type: array |
| example: |
| description: |- |
| JSON represents any valid JSON value. |
| These types are supported: bool, int64, float64, string, []interface{}, map[string]interface{} and nil. |
| x-kubernetes-preserve-unknown-fields: true |
| exclusiveMaximum: |
| type: boolean |
| exclusiveMinimum: |
| type: boolean |
| format: |
| description: |- |
| format is an OpenAPI v3 format string. Unknown formats are ignored. The following formats are validated: |
| |
| |
| - bsonobjectid: a bson object ID, i.e. a 24 characters hex string |
| - uri: an URI as parsed by Golang net/url.ParseRequestURI |
| - email: an email address as parsed by Golang net/mail.ParseAddress |
| - hostname: a valid representation for an Internet host name, as defined by RFC 1034, section 3.1 [RFC1034]. |
| - ipv4: an IPv4 IP as parsed by Golang net.ParseIP |
| - ipv6: an IPv6 IP as parsed by Golang net.ParseIP |
| - cidr: a CIDR as parsed by Golang net.ParseCIDR |
| - mac: a MAC address as parsed by Golang net.ParseMAC |
| - uuid: an UUID that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{12}$ |
| - uuid3: an UUID3 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?3[0-9a-f]{3}-?[0-9a-f]{4}-?[0-9a-f]{12}$ |
| - uuid4: an UUID4 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?4[0-9a-f]{3}-?[89ab][0-9a-f]{3}-?[0-9a-f]{12}$ |
| - uuid5: an UUID5 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?5[0-9a-f]{3}-?[89ab][0-9a-f]{3}-?[0-9a-f]{12}$ |
| - isbn: an ISBN10 or ISBN13 number string like "0321751043" or "978-0321751041" |
| - isbn10: an ISBN10 number string like "0321751043" |
| - isbn13: an ISBN13 number string like "978-0321751041" |
| - creditcard: a credit card number defined by the regex ^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\\d{3})\\d{11})$ with any non digit characters mixed in |
| - ssn: a U.S. social security number following the regex ^\\d{3}[- ]?\\d{2}[- ]?\\d{4}$ |
| - hexcolor: an hexadecimal color code like "#FFFFFF" following the regex ^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$ |
| - rgbcolor: an RGB color code like rgb like "rgb(255,255,255)" |
| - byte: base64 encoded binary data |
| - password: any kind of string |
| - date: a date string like "2006-01-02" as defined by full-date in RFC3339 |
| - duration: a duration string like "22 ns" as parsed by Golang time.ParseDuration or compatible with Scala duration format |
| - datetime: a date time string like "2014-12-15T19:30:20.000Z" as defined by date-time in RFC3339. |
| type: string |
| id: |
| type: string |
| maxItems: |
| format: int64 |
| type: integer |
| maxLength: |
| format: int64 |
| type: integer |
| maxProperties: |
| format: int64 |
| type: integer |
| maximum: |
| description: A Number represents a JSON number literal. |
| type: string |
| minItems: |
| format: int64 |
| type: integer |
| minLength: |
| format: int64 |
| type: integer |
| minProperties: |
| format: int64 |
| type: integer |
| minimum: |
| description: A Number represents a JSON number literal. |
| type: string |
| multipleOf: |
| description: A Number represents a JSON number literal. |
| type: string |
| nullable: |
| type: boolean |
| pattern: |
| type: string |
| title: |
| type: string |
| type: |
| type: string |
| uniqueItems: |
| type: boolean |
| x-descriptors: |
| description: XDescriptors is a list of extended properties |
| that trigger a custom behavior in external systems |
| items: |
| type: string |
| type: array |
| type: object |
| type: object |
| required: |
| items: |
| type: string |
| type: array |
| title: |
| type: string |
| type: |
| type: string |
| type: object |
| dependencies: |
| description: Camel dependencies needed by the Kamelet |
| items: |
| type: string |
| type: array |
| sources: |
| description: sources in any Camel DSL supported |
| 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 |
| template: |
| description: the main source in YAML DSL |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| types: |
| additionalProperties: |
| description: |- |
| EventTypeSpec represents a specification for an event type. |
| Deprecated: In favor of using DataTypeSpec. |
| properties: |
| mediaType: |
| description: media type as expected for HTTP media types (ie, |
| application/json) |
| type: string |
| schema: |
| description: the expected schema for the event |
| properties: |
| $schema: |
| description: JSONSchemaURL represents a schema url. |
| type: string |
| description: |
| type: string |
| example: |
| description: |- |
| JSON represents any valid JSON value. |
| These types are supported: bool, int64, float64, string, []interface{}, map[string]interface{} and nil. |
| x-kubernetes-preserve-unknown-fields: true |
| externalDocs: |
| description: ExternalDocumentation allows referencing an |
| external resource for extended documentation. |
| properties: |
| description: |
| type: string |
| url: |
| type: string |
| type: object |
| id: |
| type: string |
| properties: |
| additionalProperties: |
| properties: |
| default: |
| description: default is a default value for undefined |
| object fields. |
| x-kubernetes-preserve-unknown-fields: true |
| deprecated: |
| type: boolean |
| description: |
| type: string |
| enum: |
| items: |
| description: |- |
| JSON represents any valid JSON value. |
| These types are supported: bool, int64, float64, string, []interface{}, map[string]interface{} and nil. |
| x-kubernetes-preserve-unknown-fields: true |
| type: array |
| example: |
| description: |- |
| JSON represents any valid JSON value. |
| These types are supported: bool, int64, float64, string, []interface{}, map[string]interface{} and nil. |
| x-kubernetes-preserve-unknown-fields: true |
| exclusiveMaximum: |
| type: boolean |
| exclusiveMinimum: |
| type: boolean |
| format: |
| description: |- |
| format is an OpenAPI v3 format string. Unknown formats are ignored. The following formats are validated: |
| |
| |
| - bsonobjectid: a bson object ID, i.e. a 24 characters hex string |
| - uri: an URI as parsed by Golang net/url.ParseRequestURI |
| - email: an email address as parsed by Golang net/mail.ParseAddress |
| - hostname: a valid representation for an Internet host name, as defined by RFC 1034, section 3.1 [RFC1034]. |
| - ipv4: an IPv4 IP as parsed by Golang net.ParseIP |
| - ipv6: an IPv6 IP as parsed by Golang net.ParseIP |
| - cidr: a CIDR as parsed by Golang net.ParseCIDR |
| - mac: a MAC address as parsed by Golang net.ParseMAC |
| - uuid: an UUID that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{12}$ |
| - uuid3: an UUID3 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?3[0-9a-f]{3}-?[0-9a-f]{4}-?[0-9a-f]{12}$ |
| - uuid4: an UUID4 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?4[0-9a-f]{3}-?[89ab][0-9a-f]{3}-?[0-9a-f]{12}$ |
| - uuid5: an UUID5 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?5[0-9a-f]{3}-?[89ab][0-9a-f]{3}-?[0-9a-f]{12}$ |
| - isbn: an ISBN10 or ISBN13 number string like "0321751043" or "978-0321751041" |
| - isbn10: an ISBN10 number string like "0321751043" |
| - isbn13: an ISBN13 number string like "978-0321751041" |
| - creditcard: a credit card number defined by the regex ^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\\d{3})\\d{11})$ with any non digit characters mixed in |
| - ssn: a U.S. social security number following the regex ^\\d{3}[- ]?\\d{2}[- ]?\\d{4}$ |
| - hexcolor: an hexadecimal color code like "#FFFFFF" following the regex ^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$ |
| - rgbcolor: an RGB color code like rgb like "rgb(255,255,255)" |
| - byte: base64 encoded binary data |
| - password: any kind of string |
| - date: a date string like "2006-01-02" as defined by full-date in RFC3339 |
| - duration: a duration string like "22 ns" as parsed by Golang time.ParseDuration or compatible with Scala duration format |
| - datetime: a date time string like "2014-12-15T19:30:20.000Z" as defined by date-time in RFC3339. |
| type: string |
| id: |
| type: string |
| maxItems: |
| format: int64 |
| type: integer |
| maxLength: |
| format: int64 |
| type: integer |
| maxProperties: |
| format: int64 |
| type: integer |
| maximum: |
| description: A Number represents a JSON number literal. |
| type: string |
| minItems: |
| format: int64 |
| type: integer |
| minLength: |
| format: int64 |
| type: integer |
| minProperties: |
| format: int64 |
| type: integer |
| minimum: |
| description: A Number represents a JSON number literal. |
| type: string |
| multipleOf: |
| description: A Number represents a JSON number literal. |
| type: string |
| nullable: |
| type: boolean |
| pattern: |
| type: string |
| title: |
| type: string |
| type: |
| type: string |
| uniqueItems: |
| type: boolean |
| x-descriptors: |
| description: XDescriptors is a list of extended properties |
| that trigger a custom behavior in external systems |
| items: |
| type: string |
| type: array |
| type: object |
| type: object |
| required: |
| items: |
| type: string |
| type: array |
| title: |
| type: string |
| type: |
| type: string |
| type: object |
| type: object |
| description: |- |
| data specification types for the events consumed/produced by the Kamelet |
| Deprecated: In favor of using DataTypes |
| type: object |
| versions: |
| additionalProperties: |
| description: KameletSpecBase specifies the base configuration of |
| a Kamelet. |
| properties: |
| dataTypes: |
| additionalProperties: |
| description: DataTypesSpec represents the specification for |
| a set of data types. |
| properties: |
| default: |
| description: the default data type for this Kamelet |
| type: string |
| headers: |
| additionalProperties: |
| description: HeaderSpec represents the specification |
| for a header used in the Kamelet. |
| properties: |
| default: |
| type: string |
| description: |
| type: string |
| required: |
| type: boolean |
| title: |
| type: string |
| type: |
| type: string |
| type: object |
| description: one to many header specifications |
| type: object |
| types: |
| additionalProperties: |
| description: DataTypeSpec represents the specification |
| for a data type. |
| properties: |
| dependencies: |
| description: the list of Camel or Maven dependencies |
| required by the data type |
| items: |
| type: string |
| type: array |
| description: |
| description: optional description |
| type: string |
| format: |
| description: the data type format name |
| type: string |
| headers: |
| additionalProperties: |
| description: HeaderSpec represents the specification |
| for a header used in the Kamelet. |
| properties: |
| default: |
| type: string |
| description: |
| type: string |
| required: |
| type: boolean |
| title: |
| type: string |
| type: |
| type: string |
| type: object |
| description: one to many header specifications |
| type: object |
| mediaType: |
| description: media type as expected for HTTP media |
| types (ie, application/json) |
| type: string |
| schema: |
| description: the expected schema for the data type |
| properties: |
| $schema: |
| description: JSONSchemaURL represents a schema |
| url. |
| type: string |
| description: |
| type: string |
| example: |
| description: |- |
| JSON represents any valid JSON value. |
| These types are supported: bool, int64, float64, string, []interface{}, map[string]interface{} and nil. |
| x-kubernetes-preserve-unknown-fields: true |
| externalDocs: |
| description: ExternalDocumentation allows referencing |
| an external resource for extended documentation. |
| properties: |
| description: |
| type: string |
| url: |
| type: string |
| type: object |
| id: |
| type: string |
| properties: |
| additionalProperties: |
| properties: |
| default: |
| description: default is a default value |
| for undefined object fields. |
| x-kubernetes-preserve-unknown-fields: true |
| deprecated: |
| type: boolean |
| description: |
| type: string |
| enum: |
| items: |
| description: |- |
| JSON represents any valid JSON value. |
| These types are supported: bool, int64, float64, string, []interface{}, map[string]interface{} and nil. |
| x-kubernetes-preserve-unknown-fields: true |
| type: array |
| example: |
| description: |- |
| JSON represents any valid JSON value. |
| These types are supported: bool, int64, float64, string, []interface{}, map[string]interface{} and nil. |
| x-kubernetes-preserve-unknown-fields: true |
| exclusiveMaximum: |
| type: boolean |
| exclusiveMinimum: |
| type: boolean |
| format: |
| description: |- |
| format is an OpenAPI v3 format string. Unknown formats are ignored. The following formats are validated: |
| |
| |
| - bsonobjectid: a bson object ID, i.e. a 24 characters hex string |
| - uri: an URI as parsed by Golang net/url.ParseRequestURI |
| - email: an email address as parsed by Golang net/mail.ParseAddress |
| - hostname: a valid representation for an Internet host name, as defined by RFC 1034, section 3.1 [RFC1034]. |
| - ipv4: an IPv4 IP as parsed by Golang net.ParseIP |
| - ipv6: an IPv6 IP as parsed by Golang net.ParseIP |
| - cidr: a CIDR as parsed by Golang net.ParseCIDR |
| - mac: a MAC address as parsed by Golang net.ParseMAC |
| - uuid: an UUID that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{12}$ |
| - uuid3: an UUID3 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?3[0-9a-f]{3}-?[0-9a-f]{4}-?[0-9a-f]{12}$ |
| - uuid4: an UUID4 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?4[0-9a-f]{3}-?[89ab][0-9a-f]{3}-?[0-9a-f]{12}$ |
| - uuid5: an UUID5 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?5[0-9a-f]{3}-?[89ab][0-9a-f]{3}-?[0-9a-f]{12}$ |
| - isbn: an ISBN10 or ISBN13 number string like "0321751043" or "978-0321751041" |
| - isbn10: an ISBN10 number string like "0321751043" |
| - isbn13: an ISBN13 number string like "978-0321751041" |
| - creditcard: a credit card number defined by the regex ^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\\d{3})\\d{11})$ with any non digit characters mixed in |
| - ssn: a U.S. social security number following the regex ^\\d{3}[- ]?\\d{2}[- ]?\\d{4}$ |
| - hexcolor: an hexadecimal color code like "#FFFFFF" following the regex ^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$ |
| - rgbcolor: an RGB color code like rgb like "rgb(255,255,255)" |
| - byte: base64 encoded binary data |
| - password: any kind of string |
| - date: a date string like "2006-01-02" as defined by full-date in RFC3339 |
| - duration: a duration string like "22 ns" as parsed by Golang time.ParseDuration or compatible with Scala duration format |
| - datetime: a date time string like "2014-12-15T19:30:20.000Z" as defined by date-time in RFC3339. |
| type: string |
| id: |
| type: string |
| maxItems: |
| format: int64 |
| type: integer |
| maxLength: |
| format: int64 |
| type: integer |
| maxProperties: |
| format: int64 |
| type: integer |
| maximum: |
| description: A Number represents a JSON |
| number literal. |
| type: string |
| minItems: |
| format: int64 |
| type: integer |
| minLength: |
| format: int64 |
| type: integer |
| minProperties: |
| format: int64 |
| type: integer |
| minimum: |
| description: A Number represents a JSON |
| number literal. |
| type: string |
| multipleOf: |
| description: A Number represents a JSON |
| number literal. |
| type: string |
| nullable: |
| type: boolean |
| pattern: |
| type: string |
| title: |
| type: string |
| type: |
| type: string |
| uniqueItems: |
| type: boolean |
| x-descriptors: |
| description: XDescriptors is a list of |
| extended properties that trigger a custom |
| behavior in external systems |
| items: |
| type: string |
| type: array |
| type: object |
| type: object |
| required: |
| items: |
| type: string |
| type: array |
| title: |
| type: string |
| type: |
| type: string |
| type: object |
| scheme: |
| description: the data type component scheme |
| type: string |
| type: object |
| description: one to many data type specifications |
| type: object |
| type: object |
| description: data specification types for the events consumed/produced |
| by the Kamelet |
| type: object |
| definition: |
| description: defines the formal configuration of the Kamelet |
| properties: |
| $schema: |
| description: JSONSchemaURL represents a schema url. |
| type: string |
| description: |
| type: string |
| example: |
| description: |- |
| JSON represents any valid JSON value. |
| These types are supported: bool, int64, float64, string, []interface{}, map[string]interface{} and nil. |
| x-kubernetes-preserve-unknown-fields: true |
| externalDocs: |
| description: ExternalDocumentation allows referencing an |
| external resource for extended documentation. |
| properties: |
| description: |
| type: string |
| url: |
| type: string |
| type: object |
| id: |
| type: string |
| properties: |
| additionalProperties: |
| properties: |
| default: |
| description: default is a default value for undefined |
| object fields. |
| x-kubernetes-preserve-unknown-fields: true |
| deprecated: |
| type: boolean |
| description: |
| type: string |
| enum: |
| items: |
| description: |- |
| JSON represents any valid JSON value. |
| These types are supported: bool, int64, float64, string, []interface{}, map[string]interface{} and nil. |
| x-kubernetes-preserve-unknown-fields: true |
| type: array |
| example: |
| description: |- |
| JSON represents any valid JSON value. |
| These types are supported: bool, int64, float64, string, []interface{}, map[string]interface{} and nil. |
| x-kubernetes-preserve-unknown-fields: true |
| exclusiveMaximum: |
| type: boolean |
| exclusiveMinimum: |
| type: boolean |
| format: |
| description: |- |
| format is an OpenAPI v3 format string. Unknown formats are ignored. The following formats are validated: |
| |
| |
| - bsonobjectid: a bson object ID, i.e. a 24 characters hex string |
| - uri: an URI as parsed by Golang net/url.ParseRequestURI |
| - email: an email address as parsed by Golang net/mail.ParseAddress |
| - hostname: a valid representation for an Internet host name, as defined by RFC 1034, section 3.1 [RFC1034]. |
| - ipv4: an IPv4 IP as parsed by Golang net.ParseIP |
| - ipv6: an IPv6 IP as parsed by Golang net.ParseIP |
| - cidr: a CIDR as parsed by Golang net.ParseCIDR |
| - mac: a MAC address as parsed by Golang net.ParseMAC |
| - uuid: an UUID that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{12}$ |
| - uuid3: an UUID3 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?3[0-9a-f]{3}-?[0-9a-f]{4}-?[0-9a-f]{12}$ |
| - uuid4: an UUID4 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?4[0-9a-f]{3}-?[89ab][0-9a-f]{3}-?[0-9a-f]{12}$ |
| - uuid5: an UUID5 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?5[0-9a-f]{3}-?[89ab][0-9a-f]{3}-?[0-9a-f]{12}$ |
| - isbn: an ISBN10 or ISBN13 number string like "0321751043" or "978-0321751041" |
| - isbn10: an ISBN10 number string like "0321751043" |
| - isbn13: an ISBN13 number string like "978-0321751041" |
| - creditcard: a credit card number defined by the regex ^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\\d{3})\\d{11})$ with any non digit characters mixed in |
| - ssn: a U.S. social security number following the regex ^\\d{3}[- ]?\\d{2}[- ]?\\d{4}$ |
| - hexcolor: an hexadecimal color code like "#FFFFFF" following the regex ^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$ |
| - rgbcolor: an RGB color code like rgb like "rgb(255,255,255)" |
| - byte: base64 encoded binary data |
| - password: any kind of string |
| - date: a date string like "2006-01-02" as defined by full-date in RFC3339 |
| - duration: a duration string like "22 ns" as parsed by Golang time.ParseDuration or compatible with Scala duration format |
| - datetime: a date time string like "2014-12-15T19:30:20.000Z" as defined by date-time in RFC3339. |
| type: string |
| id: |
| type: string |
| maxItems: |
| format: int64 |
| type: integer |
| maxLength: |
| format: int64 |
| type: integer |
| maxProperties: |
| format: int64 |
| type: integer |
| maximum: |
| description: A Number represents a JSON number literal. |
| type: string |
| minItems: |
| format: int64 |
| type: integer |
| minLength: |
| format: int64 |
| type: integer |
| minProperties: |
| format: int64 |
| type: integer |
| minimum: |
| description: A Number represents a JSON number literal. |
| type: string |
| multipleOf: |
| description: A Number represents a JSON number literal. |
| type: string |
| nullable: |
| type: boolean |
| pattern: |
| type: string |
| title: |
| type: string |
| type: |
| type: string |
| uniqueItems: |
| type: boolean |
| x-descriptors: |
| description: XDescriptors is a list of extended properties |
| that trigger a custom behavior in external systems |
| items: |
| type: string |
| type: array |
| type: object |
| type: object |
| required: |
| items: |
| type: string |
| type: array |
| title: |
| type: string |
| type: |
| type: string |
| type: object |
| dependencies: |
| description: Camel dependencies needed by the Kamelet |
| items: |
| type: string |
| type: array |
| sources: |
| description: sources in any Camel DSL supported |
| 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 |
| template: |
| description: the main source in YAML DSL |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| types: |
| additionalProperties: |
| description: |- |
| EventTypeSpec represents a specification for an event type. |
| Deprecated: In favor of using DataTypeSpec. |
| properties: |
| mediaType: |
| description: media type as expected for HTTP media types |
| (ie, application/json) |
| type: string |
| schema: |
| description: the expected schema for the event |
| properties: |
| $schema: |
| description: JSONSchemaURL represents a schema url. |
| type: string |
| description: |
| type: string |
| example: |
| description: |- |
| JSON represents any valid JSON value. |
| These types are supported: bool, int64, float64, string, []interface{}, map[string]interface{} and nil. |
| x-kubernetes-preserve-unknown-fields: true |
| externalDocs: |
| description: ExternalDocumentation allows referencing |
| an external resource for extended documentation. |
| properties: |
| description: |
| type: string |
| url: |
| type: string |
| type: object |
| id: |
| type: string |
| properties: |
| additionalProperties: |
| properties: |
| default: |
| description: default is a default value for |
| undefined object fields. |
| x-kubernetes-preserve-unknown-fields: true |
| deprecated: |
| type: boolean |
| description: |
| type: string |
| enum: |
| items: |
| description: |- |
| JSON represents any valid JSON value. |
| These types are supported: bool, int64, float64, string, []interface{}, map[string]interface{} and nil. |
| x-kubernetes-preserve-unknown-fields: true |
| type: array |
| example: |
| description: |- |
| JSON represents any valid JSON value. |
| These types are supported: bool, int64, float64, string, []interface{}, map[string]interface{} and nil. |
| x-kubernetes-preserve-unknown-fields: true |
| exclusiveMaximum: |
| type: boolean |
| exclusiveMinimum: |
| type: boolean |
| format: |
| description: |- |
| format is an OpenAPI v3 format string. Unknown formats are ignored. The following formats are validated: |
| |
| |
| - bsonobjectid: a bson object ID, i.e. a 24 characters hex string |
| - uri: an URI as parsed by Golang net/url.ParseRequestURI |
| - email: an email address as parsed by Golang net/mail.ParseAddress |
| - hostname: a valid representation for an Internet host name, as defined by RFC 1034, section 3.1 [RFC1034]. |
| - ipv4: an IPv4 IP as parsed by Golang net.ParseIP |
| - ipv6: an IPv6 IP as parsed by Golang net.ParseIP |
| - cidr: a CIDR as parsed by Golang net.ParseCIDR |
| - mac: a MAC address as parsed by Golang net.ParseMAC |
| - uuid: an UUID that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{12}$ |
| - uuid3: an UUID3 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?3[0-9a-f]{3}-?[0-9a-f]{4}-?[0-9a-f]{12}$ |
| - uuid4: an UUID4 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?4[0-9a-f]{3}-?[89ab][0-9a-f]{3}-?[0-9a-f]{12}$ |
| - uuid5: an UUID5 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?5[0-9a-f]{3}-?[89ab][0-9a-f]{3}-?[0-9a-f]{12}$ |
| - isbn: an ISBN10 or ISBN13 number string like "0321751043" or "978-0321751041" |
| - isbn10: an ISBN10 number string like "0321751043" |
| - isbn13: an ISBN13 number string like "978-0321751041" |
| - creditcard: a credit card number defined by the regex ^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\\d{3})\\d{11})$ with any non digit characters mixed in |
| - ssn: a U.S. social security number following the regex ^\\d{3}[- ]?\\d{2}[- ]?\\d{4}$ |
| - hexcolor: an hexadecimal color code like "#FFFFFF" following the regex ^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$ |
| - rgbcolor: an RGB color code like rgb like "rgb(255,255,255)" |
| - byte: base64 encoded binary data |
| - password: any kind of string |
| - date: a date string like "2006-01-02" as defined by full-date in RFC3339 |
| - duration: a duration string like "22 ns" as parsed by Golang time.ParseDuration or compatible with Scala duration format |
| - datetime: a date time string like "2014-12-15T19:30:20.000Z" as defined by date-time in RFC3339. |
| type: string |
| id: |
| type: string |
| maxItems: |
| format: int64 |
| type: integer |
| maxLength: |
| format: int64 |
| type: integer |
| maxProperties: |
| format: int64 |
| type: integer |
| maximum: |
| description: A Number represents a JSON number |
| literal. |
| type: string |
| minItems: |
| format: int64 |
| type: integer |
| minLength: |
| format: int64 |
| type: integer |
| minProperties: |
| format: int64 |
| type: integer |
| minimum: |
| description: A Number represents a JSON number |
| literal. |
| type: string |
| multipleOf: |
| description: A Number represents a JSON number |
| literal. |
| type: string |
| nullable: |
| type: boolean |
| pattern: |
| type: string |
| title: |
| type: string |
| type: |
| type: string |
| uniqueItems: |
| type: boolean |
| x-descriptors: |
| description: XDescriptors is a list of extended |
| properties that trigger a custom behavior |
| in external systems |
| items: |
| type: string |
| type: array |
| type: object |
| type: object |
| required: |
| items: |
| type: string |
| type: array |
| title: |
| type: string |
| type: |
| type: string |
| type: object |
| type: object |
| description: |- |
| data specification types for the events consumed/produced by the Kamelet |
| Deprecated: In favor of using DataTypes |
| type: object |
| type: object |
| description: |- |
| the optional versions available for this Kamelet. This field may not be taken in account by Camel core and is meant to support |
| any user defined versioning model on cluster only. If the user wants to use any given version, she must materialize a file with the given version spec |
| as the `main` Kamelet spec on the runtime. |
| type: object |
| type: object |
| status: |
| default: |
| phase: Ready |
| description: |- |
| the actual status of the resource |
| Deprecated no longer in use |
| properties: |
| conditions: |
| description: Conditions -- |
| items: |
| description: KameletCondition 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 kamelet condition. |
| type: string |
| required: |
| - status |
| - type |
| type: object |
| type: array |
| observedGeneration: |
| description: ObservedGeneration is the most recent generation observed |
| for this Kamelet. |
| format: int64 |
| type: integer |
| phase: |
| description: Phase -- |
| type: string |
| properties: |
| description: Properties -- |
| items: |
| description: KameletProperty specify the behavior of a property |
| in a Kamelet. |
| properties: |
| default: |
| description: the default value of the property (if any) |
| type: string |
| name: |
| description: the name of the property |
| type: string |
| type: object |
| type: array |
| type: object |
| type: object |
| served: true |
| storage: true |
| subresources: |
| status: {} |
| --- |
| apiVersion: apiextensions.k8s.io/v1 |
| kind: CustomResourceDefinition |
| metadata: |
| annotations: |
| controller-gen.kubebuilder.io/version: v0.15.0 |
| labels: |
| app: camel-k |
| name: pipes.camel.apache.org |
| spec: |
| group: camel.apache.org |
| names: |
| categories: |
| - kamel |
| - camel |
| kind: Pipe |
| listKind: PipeList |
| plural: pipes |
| shortNames: |
| - pp |
| singular: pipe |
| scope: Namespaced |
| versions: |
| - additionalPrinterColumns: |
| - description: The Pipe phase |
| jsonPath: .status.phase |
| name: Phase |
| type: string |
| - description: The number of pods |
| jsonPath: .status.replicas |
| name: Replicas |
| type: integer |
| name: v1 |
| schema: |
| openAPIV3Schema: |
| description: Pipe is the Schema for the Pipe 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: the specification of a Pipe |
| properties: |
| errorHandler: |
| description: ErrorHandler is an optional handler called upon an error |
| occurring in the integration |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| integration: |
| description: |- |
| Integration is an optional integration used to specify custom parameters |
| Deprecated don't use this. Use trait annotations if you need to change any cluster 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 |
| 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: the list of Camel or Maven dependencies required |
| by the Integration |
| items: |
| type: string |
| type: array |
| flows: |
| description: a source in YAML DSL language which contain the routes |
| to run |
| items: |
| description: Flow is an unstructured object representing a Camel |
| Flow in YAML/JSON DSL. |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| type: array |
| integrationKit: |
| description: the reference of the `IntegrationKit` which is used |
| for this Integration |
| properties: |
| apiVersion: |
| description: API version of the referent. |
| type: string |
| fieldPath: |
| description: |- |
| If referring to a piece of an object instead of an entire object, this string |
| should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. |
| For example, if the object reference is to a container within a pod, this would take on a value like: |
| "spec.containers{name}" (where "name" refers to the name of the container that triggered |
| the event) or if no container name is specified "spec.containers[2]" (container with |
| index 2 in this pod). This syntax is chosen only to have some well-defined way of |
| referencing a part of an object. |
| TODO: this design is not final and this field is subject to change in the future. |
| type: string |
| kind: |
| description: |- |
| Kind of the referent. |
| More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| type: string |
| name: |
| description: |- |
| Name of the referent. |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| type: string |
| namespace: |
| description: |- |
| Namespace of the referent. |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ |
| type: string |
| resourceVersion: |
| description: |- |
| Specific resourceVersion to which this reference is made, if any. |
| More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency |
| type: string |
| uid: |
| description: |- |
| UID of the referent. |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids |
| type: string |
| type: object |
| x-kubernetes-map-type: atomic |
| profile: |
| description: the profile needed to run this Integration |
| type: string |
| replicas: |
| description: the number of `Pods` needed for the running Integration |
| format: int32 |
| type: integer |
| repositories: |
| description: additional Maven repositories to be used |
| items: |
| type: string |
| type: array |
| serviceAccountName: |
| description: custom SA to use for the Integration |
| type: string |
| sources: |
| description: the sources which contain the Camel routes to run |
| 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 |
| template: |
| description: Pod template customization |
| properties: |
| spec: |
| description: the specification |
| properties: |
| activeDeadlineSeconds: |
| description: ActiveDeadlineSeconds |
| format: int64 |
| type: integer |
| automountServiceAccountToken: |
| description: AutomountServiceAccountToken |
| type: boolean |
| containers: |
| description: Containers |
| items: |
| description: A single application container that you |
| want to run within a pod. |
| properties: |
| args: |
| description: |- |
| Arguments to the entrypoint. |
| The container image's CMD is used if this is not provided. |
| Variable references $(VAR_NAME) are expanded using the container's environment. If a variable |
| cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced |
| to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will |
| produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless |
| of whether the variable exists or not. Cannot be updated. |
| More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell |
| items: |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| command: |
| description: |- |
| Entrypoint array. Not executed within a shell. |
| The container image's ENTRYPOINT is used if this is not provided. |
| Variable references $(VAR_NAME) are expanded using the container's environment. If a variable |
| cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced |
| to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will |
| produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless |
| of whether the variable exists or not. Cannot be updated. |
| More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell |
| items: |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| env: |
| description: |- |
| List of environment variables to set in the container. |
| Cannot be updated. |
| items: |
| description: EnvVar represents an environment |
| variable present in a Container. |
| properties: |
| name: |
| description: Name of the environment variable. |
| Must be a C_IDENTIFIER. |
| type: string |
| value: |
| description: |- |
| Variable references $(VAR_NAME) are expanded |
| using the previously defined environment variables in the container and |
| any service environment variables. If a variable cannot be resolved, |
| the reference in the input string will be unchanged. Double $$ are reduced |
| to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. |
| "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". |
| Escaped references will never be expanded, regardless of whether the variable |
| exists or not. |
| Defaults to "". |
| type: string |
| valueFrom: |
| description: Source for the environment variable's |
| value. Cannot be used if value is not empty. |
| properties: |
| configMapKeyRef: |
| description: Selects a key of a ConfigMap. |
| properties: |
| key: |
| description: The key to select. |
| type: string |
| name: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the ConfigMap |
| or its key must be defined |
| type: boolean |
| required: |
| - key |
| type: object |
| x-kubernetes-map-type: atomic |
| fieldRef: |
| description: |- |
| Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['<KEY>']`, `metadata.annotations['<KEY>']`, |
| spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. |
| properties: |
| apiVersion: |
| description: Version of the schema |
| the FieldPath is written in terms |
| of, defaults to "v1". |
| type: string |
| fieldPath: |
| description: Path of the field to |
| select in the specified API version. |
| type: string |
| required: |
| - fieldPath |
| type: object |
| x-kubernetes-map-type: atomic |
| resourceFieldRef: |
| description: |- |
| Selects a resource of the container: only resources limits and requests |
| (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. |
| properties: |
| containerName: |
| description: 'Container name: required |
| for volumes, optional for env vars' |
| type: string |
| divisor: |
| anyOf: |
| - type: integer |
| - type: string |
| description: Specifies the output |
| format of the exposed resources, |
| defaults to "1" |
| pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ |
| x-kubernetes-int-or-string: true |
| resource: |
| description: 'Required: resource to |
| select' |
| type: string |
| required: |
| - resource |
| type: object |
| x-kubernetes-map-type: atomic |
| secretKeyRef: |
| description: Selects a key of a secret |
| in the pod's namespace |
| properties: |
| key: |
| description: The key of the secret |
| to select from. Must be a valid |
| secret key. |
| type: string |
| name: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the Secret |
| or its key must be defined |
| type: boolean |
| required: |
| - key |
| type: object |
| x-kubernetes-map-type: atomic |
| type: object |
| required: |
| - name |
| type: object |
| type: array |
| x-kubernetes-list-map-keys: |
| - name |
| x-kubernetes-list-type: map |
| envFrom: |
| description: |- |
| List of sources to populate environment variables in the container. |
| The keys defined within a source must be a C_IDENTIFIER. All invalid keys |
| will be reported as an event when the container is starting. When a key exists in multiple |
| sources, the value associated with the last source will take precedence. |
| Values defined by an Env with a duplicate key will take precedence. |
| Cannot be updated. |
| items: |
| description: EnvFromSource represents the source |
| of a set of ConfigMaps |
| properties: |
| configMapRef: |
| description: The ConfigMap to select from |
| properties: |
| name: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the ConfigMap |
| must be defined |
| type: boolean |
| type: object |
| x-kubernetes-map-type: atomic |
| prefix: |
| description: An optional identifier to prepend |
| to each key in the ConfigMap. Must be a |
| C_IDENTIFIER. |
| type: string |
| secretRef: |
| description: The Secret to select from |
| properties: |
| name: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the Secret |
| must be defined |
| type: boolean |
| type: object |
| x-kubernetes-map-type: atomic |
| type: object |
| type: array |
| x-kubernetes-list-type: atomic |
| image: |
| description: |- |
| Container image name. |
| More info: https://kubernetes.io/docs/concepts/containers/images |
| This field is optional to allow higher level config management to default or override |
| container images in workload controllers like Deployments and StatefulSets. |
| type: string |
| imagePullPolicy: |
| description: |- |
| Image pull policy. |
| One of Always, Never, IfNotPresent. |
| Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. |
| Cannot be updated. |
| More info: https://kubernetes.io/docs/concepts/containers/images#updating-images |
| type: string |
| lifecycle: |
| description: |- |
| Actions that the management system should take in response to container lifecycle events. |
| Cannot be updated. |
| properties: |
| postStart: |
| description: |- |
| PostStart is called immediately after a container is created. If the handler fails, |
| the container is terminated and restarted according to its restart policy. |
| Other management of the container blocks until the hook completes. |
| More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks |
| properties: |
| exec: |
| description: Exec specifies the action to |
| take. |
| properties: |
| command: |
| description: |- |
| Command is the command line to execute inside the container, the working directory for the |
| command is root ('/') in the container's filesystem. The command is simply exec'd, it is |
| not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use |
| a shell, you need to explicitly call out to that shell. |
| Exit status of 0 is treated as live/healthy and non-zero is unhealthy. |
| items: |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| type: object |
| httpGet: |
| description: HTTPGet specifies the http |
| request to perform. |
| properties: |
| host: |
| description: |- |
| Host name to connect to, defaults to the pod IP. You probably want to set |
| "Host" in httpHeaders instead. |
| type: string |
| httpHeaders: |
| description: Custom headers to set in |
| the request. HTTP allows repeated |
| headers. |
| items: |
| description: HTTPHeader describes |
| a custom header to be used in HTTP |
| probes |
| properties: |
| name: |
| description: |- |
| The header field name. |
| This will be canonicalized upon output, so case-variant names will be understood as the same header. |
| type: string |
| value: |
| description: The header field |
| value |
| type: string |
| required: |
| - name |
| - value |
| type: object |
| type: array |
| x-kubernetes-list-type: atomic |
| path: |
| description: Path to access on the HTTP |
| server. |
| type: string |
| port: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| Name or number of the port to access on the container. |
| Number must be in the range 1 to 65535. |
| Name must be an IANA_SVC_NAME. |
| x-kubernetes-int-or-string: true |
| scheme: |
| description: |- |
| Scheme to use for connecting to the host. |
| Defaults to HTTP. |
| type: string |
| required: |
| - port |
| type: object |
| sleep: |
| description: Sleep represents the duration |
| that the container should sleep before |
| being terminated. |
| properties: |
| seconds: |
| description: Seconds is the number of |
| seconds to sleep. |
| format: int64 |
| type: integer |
| required: |
| - seconds |
| type: object |
| tcpSocket: |
| description: |- |
| Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept |
| for the backward compatibility. There are no validation of this field and |
| lifecycle hooks will fail in runtime when tcp handler is specified. |
| properties: |
| host: |
| description: 'Optional: Host name to |
| connect to, defaults to the pod IP.' |
| type: string |
| port: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| Number or name of the port to access on the container. |
| Number must be in the range 1 to 65535. |
| Name must be an IANA_SVC_NAME. |
| x-kubernetes-int-or-string: true |
| required: |
| - port |
| type: object |
| type: object |
| preStop: |
| description: |- |
| PreStop is called immediately before a container is terminated due to an |
| API request or management event such as liveness/startup probe failure, |
| preemption, resource contention, etc. The handler is not called if the |
| container crashes or exits. The Pod's termination grace period countdown begins before the |
| PreStop hook is executed. Regardless of the outcome of the handler, the |
| container will eventually terminate within the Pod's termination grace |
| period (unless delayed by finalizers). Other management of the container blocks until the hook completes |
| or until the termination grace period is reached. |
| More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks |
| properties: |
| exec: |
| description: Exec specifies the action to |
| take. |
| properties: |
| command: |
| description: |- |
| Command is the command line to execute inside the container, the working directory for the |
| command is root ('/') in the container's filesystem. The command is simply exec'd, it is |
| not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use |
| a shell, you need to explicitly call out to that shell. |
| Exit status of 0 is treated as live/healthy and non-zero is unhealthy. |
| items: |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| type: object |
| httpGet: |
| description: HTTPGet specifies the http |
| request to perform. |
| properties: |
| host: |
| description: |- |
| Host name to connect to, defaults to the pod IP. You probably want to set |
| "Host" in httpHeaders instead. |
| type: string |
| httpHeaders: |
| description: Custom headers to set in |
| the request. HTTP allows repeated |
| headers. |
| items: |
| description: HTTPHeader describes |
| a custom header to be used in HTTP |
| probes |
| properties: |
| name: |
| description: |- |
| The header field name. |
| This will be canonicalized upon output, so case-variant names will be understood as the same header. |
| type: string |
| value: |
| description: The header field |
| value |
| type: string |
| required: |
| - name |
| - value |
| type: object |
| type: array |
| x-kubernetes-list-type: atomic |
| path: |
| description: Path to access on the HTTP |
| server. |
| type: string |
| port: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| Name or number of the port to access on the container. |
| Number must be in the range 1 to 65535. |
| Name must be an IANA_SVC_NAME. |
| x-kubernetes-int-or-string: true |
| scheme: |
| description: |- |
| Scheme to use for connecting to the host. |
| Defaults to HTTP. |
| type: string |
| required: |
| - port |
| type: object |
| sleep: |
| description: Sleep represents the duration |
| that the container should sleep before |
| being terminated. |
| properties: |
| seconds: |
| description: Seconds is the number of |
| seconds to sleep. |
| format: int64 |
| type: integer |
| required: |
| - seconds |
| type: object |
| tcpSocket: |
| description: |- |
| Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept |
| for the backward compatibility. There are no validation of this field and |
| lifecycle hooks will fail in runtime when tcp handler is specified. |
| properties: |
| host: |
| description: 'Optional: Host name to |
| connect to, defaults to the pod IP.' |
| type: string |
| port: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| Number or name of the port to access on the container. |
| Number must be in the range 1 to 65535. |
| Name must be an IANA_SVC_NAME. |
| x-kubernetes-int-or-string: true |
| required: |
| - port |
| type: object |
| type: object |
| type: object |
| livenessProbe: |
| description: |- |
| Periodic probe of container liveness. |
| Container will be restarted if the probe fails. |
| Cannot be updated. |
| More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
| properties: |
| exec: |
| description: Exec specifies the action to take. |
| properties: |
| command: |
| description: |- |
| Command is the command line to execute inside the container, the working directory for the |
| command is root ('/') in the container's filesystem. The command is simply exec'd, it is |
| not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use |
| a shell, you need to explicitly call out to that shell. |
| Exit status of 0 is treated as live/healthy and non-zero is unhealthy. |
| items: |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| type: object |
| failureThreshold: |
| description: |- |
| Minimum consecutive failures for the probe to be considered failed after having succeeded. |
| Defaults to 3. Minimum value is 1. |
| format: int32 |
| type: integer |
| grpc: |
| description: GRPC specifies an action involving |
| a GRPC port. |
| properties: |
| port: |
| description: Port number of the gRPC service. |
| Number must be in the range 1 to 65535. |
| format: int32 |
| type: integer |
| service: |
| description: |- |
| Service is the name of the service to place in the gRPC HealthCheckRequest |
| (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). |
| |
| |
| If this is not specified, the default behavior is defined by gRPC. |
| type: string |
| required: |
| - port |
| type: object |
| httpGet: |
| description: HTTPGet specifies the http request |
| to perform. |
| properties: |
| host: |
| description: |- |
| Host name to connect to, defaults to the pod IP. You probably want to set |
| "Host" in httpHeaders instead. |
| type: string |
| httpHeaders: |
| description: Custom headers to set in the |
| request. HTTP allows repeated headers. |
| items: |
| description: HTTPHeader describes a custom |
| header to be used in HTTP probes |
| properties: |
| name: |
| description: |- |
| The header field name. |
| This will be canonicalized upon output, so case-variant names will be understood as the same header. |
| type: string |
| value: |
| description: The header field value |
| type: string |
| required: |
| - name |
| - value |
| type: object |
| type: array |
| x-kubernetes-list-type: atomic |
| path: |
| description: Path to access on the HTTP |
| server. |
| type: string |
| port: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| Name or number of the port to access on the container. |
| Number must be in the range 1 to 65535. |
| Name must be an IANA_SVC_NAME. |
| x-kubernetes-int-or-string: true |
| scheme: |
| description: |- |
| Scheme to use for connecting to the host. |
| Defaults to HTTP. |
| type: string |
| required: |
| - port |
| type: object |
| initialDelaySeconds: |
| description: |- |
| Number of seconds after the container has started before liveness probes are initiated. |
| More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
| format: int32 |
| type: integer |
| periodSeconds: |
| description: |- |
| How often (in seconds) to perform the probe. |
| Default to 10 seconds. Minimum value is 1. |
| format: int32 |
| type: integer |
| successThreshold: |
| description: |- |
| Minimum consecutive successes for the probe to be considered successful after having failed. |
| Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. |
| format: int32 |
| type: integer |
| tcpSocket: |
| description: TCPSocket specifies an action involving |
| a TCP port. |
| properties: |
| host: |
| description: 'Optional: Host name to connect |
| to, defaults to the pod IP.' |
| type: string |
| port: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| Number or name of the port to access on the container. |
| Number must be in the range 1 to 65535. |
| Name must be an IANA_SVC_NAME. |
| x-kubernetes-int-or-string: true |
| required: |
| - port |
| type: object |
| terminationGracePeriodSeconds: |
| description: |- |
| Optional duration in seconds the pod needs to terminate gracefully upon probe failure. |
| The grace period is the duration in seconds after the processes running in the pod are sent |
| a termination signal and the time when the processes are forcibly halted with a kill signal. |
| Set this value longer than the expected cleanup time for your process. |
| If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this |
| value overrides the value provided by the pod spec. |
| Value must be non-negative integer. The value zero indicates stop immediately via |
| the kill signal (no opportunity to shut down). |
| This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. |
| Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. |
| format: int64 |
| type: integer |
| timeoutSeconds: |
| description: |- |
| Number of seconds after which the probe times out. |
| Defaults to 1 second. Minimum value is 1. |
| More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
| format: int32 |
| type: integer |
| type: object |
| name: |
| description: |- |
| Name of the container specified as a DNS_LABEL. |
| Each container in a pod must have a unique name (DNS_LABEL). |
| Cannot be updated. |
| type: string |
| ports: |
| description: |- |
| List of ports to expose from the container. Not specifying a port here |
| DOES NOT prevent that port from being exposed. Any port which is |
| listening on the default "0.0.0.0" address inside a container will be |
| accessible from the network. |
| Modifying this array with strategic merge patch may corrupt the data. |
| For more information See https://github.com/kubernetes/kubernetes/issues/108255. |
| Cannot be updated. |
| items: |
| description: ContainerPort represents a network |
| port in a single container. |
| properties: |
| containerPort: |
| description: |- |
| Number of port to expose on the pod's IP address. |
| This must be a valid port number, 0 < x < 65536. |
| format: int32 |
| type: integer |
| hostIP: |
| description: What host IP to bind the external |
| port to. |
| type: string |
| hostPort: |
| description: |- |
| Number of port to expose on the host. |
| If specified, this must be a valid port number, 0 < x < 65536. |
| If HostNetwork is specified, this must match ContainerPort. |
| Most containers do not need this. |
| format: int32 |
| type: integer |
| name: |
| description: |- |
| If specified, this must be an IANA_SVC_NAME and unique within the pod. Each |
| named port in a pod must have a unique name. Name for the port that can be |
| referred to by services. |
| type: string |
| protocol: |
| default: TCP |
| description: |- |
| Protocol for port. Must be UDP, TCP, or SCTP. |
| Defaults to "TCP". |
| type: string |
| required: |
| - containerPort |
| type: object |
| type: array |
| x-kubernetes-list-map-keys: |
| - containerPort |
| - protocol |
| x-kubernetes-list-type: map |
| readinessProbe: |
| description: |- |
| Periodic probe of container service readiness. |
| Container will be removed from service endpoints if the probe fails. |
| Cannot be updated. |
| More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
| properties: |
| exec: |
| description: Exec specifies the action to take. |
| properties: |
| command: |
| description: |- |
| Command is the command line to execute inside the container, the working directory for the |
| command is root ('/') in the container's filesystem. The command is simply exec'd, it is |
| not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use |
| a shell, you need to explicitly call out to that shell. |
| Exit status of 0 is treated as live/healthy and non-zero is unhealthy. |
| items: |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| type: object |
| failureThreshold: |
| description: |- |
| Minimum consecutive failures for the probe to be considered failed after having succeeded. |
| Defaults to 3. Minimum value is 1. |
| format: int32 |
| type: integer |
| grpc: |
| description: GRPC specifies an action involving |
| a GRPC port. |
| properties: |
| port: |
| description: Port number of the gRPC service. |
| Number must be in the range 1 to 65535. |
| format: int32 |
| type: integer |
| service: |
| description: |- |
| Service is the name of the service to place in the gRPC HealthCheckRequest |
| (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). |
| |
| |
| If this is not specified, the default behavior is defined by gRPC. |
| type: string |
| required: |
| - port |
| type: object |
| httpGet: |
| description: HTTPGet specifies the http request |
| to perform. |
| properties: |
| host: |
| description: |- |
| Host name to connect to, defaults to the pod IP. You probably want to set |
| "Host" in httpHeaders instead. |
| type: string |
| httpHeaders: |
| description: Custom headers to set in the |
| request. HTTP allows repeated headers. |
| items: |
| description: HTTPHeader describes a custom |
| header to be used in HTTP probes |
| properties: |
| name: |
| description: |- |
| The header field name. |
| This will be canonicalized upon output, so case-variant names will be understood as the same header. |
| type: string |
| value: |
| description: The header field value |
| type: string |
| required: |
| - name |
| - value |
| type: object |
| type: array |
| x-kubernetes-list-type: atomic |
| path: |
| description: Path to access on the HTTP |
| server. |
| type: string |
| port: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| Name or number of the port to access on the container. |
| Number must be in the range 1 to 65535. |
| Name must be an IANA_SVC_NAME. |
| x-kubernetes-int-or-string: true |
| scheme: |
| description: |- |
| Scheme to use for connecting to the host. |
| Defaults to HTTP. |
| type: string |
| required: |
| - port |
| type: object |
| initialDelaySeconds: |
| description: |- |
| Number of seconds after the container has started before liveness probes are initiated. |
| More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
| format: int32 |
| type: integer |
| periodSeconds: |
| description: |- |
| How often (in seconds) to perform the probe. |
| Default to 10 seconds. Minimum value is 1. |
| format: int32 |
| type: integer |
| successThreshold: |
| description: |- |
| Minimum consecutive successes for the probe to be considered successful after having failed. |
| Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. |
| format: int32 |
| type: integer |
| tcpSocket: |
| description: TCPSocket specifies an action involving |
| a TCP port. |
| properties: |
| host: |
| description: 'Optional: Host name to connect |
| to, defaults to the pod IP.' |
| type: string |
| port: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| Number or name of the port to access on the container. |
| Number must be in the range 1 to 65535. |
| Name must be an IANA_SVC_NAME. |
| x-kubernetes-int-or-string: true |
| required: |
| - port |
| type: object |
| terminationGracePeriodSeconds: |
| description: |- |
| Optional duration in seconds the pod needs to terminate gracefully upon probe failure. |
| The grace period is the duration in seconds after the processes running in the pod are sent |
| a termination signal and the time when the processes are forcibly halted with a kill signal. |
| Set this value longer than the expected cleanup time for your process. |
| If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this |
| value overrides the value provided by the pod spec. |
| Value must be non-negative integer. The value zero indicates stop immediately via |
| the kill signal (no opportunity to shut down). |
| This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. |
| Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. |
| format: int64 |
| type: integer |
| timeoutSeconds: |
| description: |- |
| Number of seconds after which the probe times out. |
| Defaults to 1 second. Minimum value is 1. |
| More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
| format: int32 |
| type: integer |
| type: object |
| resizePolicy: |
| description: Resources resize policy for the container. |
| items: |
| description: ContainerResizePolicy represents |
| resource resize policy for the container. |
| properties: |
| resourceName: |
| description: |- |
| Name of the resource to which this resource resize policy applies. |
| Supported values: cpu, memory. |
| type: string |
| restartPolicy: |
| description: |- |
| Restart policy to apply when specified resource is resized. |
| If not specified, it defaults to NotRequired. |
| type: string |
| required: |
| - resourceName |
| - restartPolicy |
| type: object |
| type: array |
| x-kubernetes-list-type: atomic |
| resources: |
| description: |- |
| Compute Resources required by this container. |
| Cannot be updated. |
| More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ |
| properties: |
| claims: |
| description: |- |
| Claims lists the names of resources, defined in spec.resourceClaims, |
| that are used by this container. |
| |
| |
| This is an alpha field and requires enabling the |
| DynamicResourceAllocation feature gate. |
| |
| |
| This field is immutable. It can only be set for containers. |
| items: |
| description: ResourceClaim references one |
| entry in PodSpec.ResourceClaims. |
| properties: |
| name: |
| description: |- |
| Name must match the name of one entry in pod.spec.resourceClaims of |
| the Pod where this field is used. It makes that resource available |
| inside a container. |
| type: string |
| required: |
| - name |
| type: object |
| type: array |
| x-kubernetes-list-map-keys: |
| - name |
| x-kubernetes-list-type: map |
| limits: |
| additionalProperties: |
| anyOf: |
| - type: integer |
| - type: string |
| pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ |
| x-kubernetes-int-or-string: true |
| description: |- |
| Limits describes the maximum amount of compute resources allowed. |
| More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ |
| type: object |
| requests: |
| additionalProperties: |
| anyOf: |
| - type: integer |
| - type: string |
| pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ |
| x-kubernetes-int-or-string: true |
| description: |- |
| Requests describes the minimum amount of compute resources required. |
| If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, |
| otherwise to an implementation-defined value. Requests cannot exceed Limits. |
| More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ |
| type: object |
| type: object |
| restartPolicy: |
| description: |- |
| RestartPolicy defines the restart behavior of individual containers in a pod. |
| This field may only be set for init containers, and the only allowed value is "Always". |
| For non-init containers or when this field is not specified, |
| the restart behavior is defined by the Pod's restart policy and the container type. |
| Setting the RestartPolicy as "Always" for the init container will have the following effect: |
| this init container will be continually restarted on |
| exit until all regular containers have terminated. Once all regular |
| containers have completed, all init containers with restartPolicy "Always" |
| will be shut down. This lifecycle differs from normal init containers and |
| is often referred to as a "sidecar" container. Although this init |
| container still starts in the init container sequence, it does not wait |
| for the container to complete before proceeding to the next init |
| container. Instead, the next init container starts immediately after this |
| init container is started, or after any startupProbe has successfully |
| completed. |
| type: string |
| securityContext: |
| description: |- |
| SecurityContext defines the security options the container should be run with. |
| If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext. |
| More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ |
| properties: |
| allowPrivilegeEscalation: |
| description: |- |
| AllowPrivilegeEscalation controls whether a process can gain more |
| privileges than its parent process. This bool directly controls if |
| the no_new_privs flag will be set on the container process. |
| AllowPrivilegeEscalation is true always when the container is: |
| 1) run as Privileged |
| 2) has CAP_SYS_ADMIN |
| Note that this field cannot be set when spec.os.name is windows. |
| type: boolean |
| appArmorProfile: |
| description: |- |
| appArmorProfile is the AppArmor options to use by this container. If set, this profile |
| overrides the pod's appArmorProfile. |
| Note that this field cannot be set when spec.os.name is windows. |
| properties: |
| localhostProfile: |
| description: |- |
| localhostProfile indicates a profile loaded on the node that should be used. |
| The profile must be preconfigured on the node to work. |
| Must match the loaded name of the profile. |
| Must be set if and only if type is "Localhost". |
| type: string |
| type: |
| description: |- |
| type indicates which kind of AppArmor profile will be applied. |
| Valid options are: |
| Localhost - a profile pre-loaded on the node. |
| RuntimeDefault - the container runtime's default profile. |
| Unconfined - no AppArmor enforcement. |
| type: string |
| required: |
| - type |
| type: object |
| capabilities: |
| description: |- |
| The capabilities to add/drop when running containers. |
| Defaults to the default set of capabilities granted by the container runtime. |
| Note that this field cannot be set when spec.os.name is windows. |
| properties: |
| add: |
| description: Added capabilities |
| items: |
| description: Capability represent POSIX |
| capabilities type |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| drop: |
| description: Removed capabilities |
| items: |
| description: Capability represent POSIX |
| capabilities type |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| type: object |
| privileged: |
| description: |- |
| Run container in privileged mode. |
| Processes in privileged containers are essentially equivalent to root on the host. |
| Defaults to false. |
| Note that this field cannot be set when spec.os.name is windows. |
| type: boolean |
| procMount: |
| description: |- |
| procMount denotes the type of proc mount to use for the containers. |
| The default is DefaultProcMount which uses the container runtime defaults for |
| readonly paths and masked paths. |
| This requires the ProcMountType feature flag to be enabled. |
| Note that this field cannot be set when spec.os.name is windows. |
| type: string |
| readOnlyRootFilesystem: |
| description: |- |
| Whether this container has a read-only root filesystem. |
| Default is false. |
| Note that this field cannot be set when spec.os.name is windows. |
| type: boolean |
| runAsGroup: |
| description: |- |
| The GID to run the entrypoint of the container process. |
| Uses runtime default if unset. |
| May also be set in PodSecurityContext. If set in both SecurityContext and |
| PodSecurityContext, the value specified in SecurityContext takes precedence. |
| Note that this field cannot be set when spec.os.name is windows. |
| format: int64 |
| type: integer |
| runAsNonRoot: |
| description: |- |
| Indicates that the container must run as a non-root user. |
| If true, the Kubelet will validate the image at runtime to ensure that it |
| does not run as UID 0 (root) and fail to start the container if it does. |
| If unset or false, no such validation will be performed. |
| May also be set in PodSecurityContext. If set in both SecurityContext and |
| PodSecurityContext, the value specified in SecurityContext takes precedence. |
| type: boolean |
| runAsUser: |
| description: |- |
| The UID to run the entrypoint of the container process. |
| Defaults to user specified in image metadata if unspecified. |
| May also be set in PodSecurityContext. If set in both SecurityContext and |
| PodSecurityContext, the value specified in SecurityContext takes precedence. |
| Note that this field cannot be set when spec.os.name is windows. |
| format: int64 |
| type: integer |
| seLinuxOptions: |
| description: |- |
| The SELinux context to be applied to the container. |
| If unspecified, the container runtime will allocate a random SELinux context for each |
| container. May also be set in PodSecurityContext. If set in both SecurityContext and |
| PodSecurityContext, the value specified in SecurityContext takes precedence. |
| Note that this field cannot be set when spec.os.name is windows. |
| properties: |
| level: |
| description: Level is SELinux level label |
| that applies to the container. |
| type: string |
| role: |
| description: Role is a SELinux role label |
| that applies to the container. |
| type: string |
| type: |
| description: Type is a SELinux type label |
| that applies to the container. |
| type: string |
| user: |
| description: User is a SELinux user label |
| that applies to the container. |
| type: string |
| type: object |
| seccompProfile: |
| description: |- |
| The seccomp options to use by this container. If seccomp options are |
| provided at both the pod & container level, the container options |
| override the pod options. |
| Note that this field cannot be set when spec.os.name is windows. |
| properties: |
| localhostProfile: |
| description: |- |
| localhostProfile indicates a profile defined in a file on the node should be used. |
| The profile must be preconfigured on the node to work. |
| Must be a descending path, relative to the kubelet's configured seccomp profile location. |
| Must be set if type is "Localhost". Must NOT be set for any other type. |
| type: string |
| type: |
| description: |- |
| type indicates which kind of seccomp profile will be applied. |
| Valid options are: |
| |
| |
| Localhost - a profile defined in a file on the node should be used. |
| RuntimeDefault - the container runtime default profile should be used. |
| Unconfined - no profile should be applied. |
| type: string |
| required: |
| - type |
| type: object |
| windowsOptions: |
| description: |- |
| The Windows specific settings applied to all containers. |
| If unspecified, the options from the PodSecurityContext will be used. |
| If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. |
| Note that this field cannot be set when spec.os.name is linux. |
| properties: |
| gmsaCredentialSpec: |
| description: |- |
| GMSACredentialSpec is where the GMSA admission webhook |
| (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the |
| GMSA credential spec named by the GMSACredentialSpecName field. |
| type: string |
| gmsaCredentialSpecName: |
| description: GMSACredentialSpecName is the |
| name of the GMSA credential spec to use. |
| type: string |
| hostProcess: |
| description: |- |
| HostProcess determines if a container should be run as a 'Host Process' container. |
| All of a Pod's containers must have the same effective HostProcess value |
| (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). |
| In addition, if HostProcess is true then HostNetwork must also be set to true. |
| type: boolean |
| runAsUserName: |
| description: |- |
| The UserName in Windows to run the entrypoint of the container process. |
| Defaults to the user specified in image metadata if unspecified. |
| May also be set in PodSecurityContext. If set in both SecurityContext and |
| PodSecurityContext, the value specified in SecurityContext takes precedence. |
| type: string |
| type: object |
| type: object |
| startupProbe: |
| description: |- |
| StartupProbe indicates that the Pod has successfully initialized. |
| If specified, no other probes are executed until this completes successfully. |
| If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. |
| This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, |
| when it might take a long time to load data or warm a cache, than during steady-state operation. |
| This cannot be updated. |
| More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
| properties: |
| exec: |
| description: Exec specifies the action to take. |
| properties: |
| command: |
| description: |- |
| Command is the command line to execute inside the container, the working directory for the |
| command is root ('/') in the container's filesystem. The command is simply exec'd, it is |
| not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use |
| a shell, you need to explicitly call out to that shell. |
| Exit status of 0 is treated as live/healthy and non-zero is unhealthy. |
| items: |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| type: object |
| failureThreshold: |
| description: |- |
| Minimum consecutive failures for the probe to be considered failed after having succeeded. |
| Defaults to 3. Minimum value is 1. |
| format: int32 |
| type: integer |
| grpc: |
| description: GRPC specifies an action involving |
| a GRPC port. |
| properties: |
| port: |
| description: Port number of the gRPC service. |
| Number must be in the range 1 to 65535. |
| format: int32 |
| type: integer |
| service: |
| description: |- |
| Service is the name of the service to place in the gRPC HealthCheckRequest |
| (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). |
| |
| |
| If this is not specified, the default behavior is defined by gRPC. |
| type: string |
| required: |
| - port |
| type: object |
| httpGet: |
| description: HTTPGet specifies the http request |
| to perform. |
| properties: |
| host: |
| description: |- |
| Host name to connect to, defaults to the pod IP. You probably want to set |
| "Host" in httpHeaders instead. |
| type: string |
| httpHeaders: |
| description: Custom headers to set in the |
| request. HTTP allows repeated headers. |
| items: |
| description: HTTPHeader describes a custom |
| header to be used in HTTP probes |
| properties: |
| name: |
| description: |- |
| The header field name. |
| This will be canonicalized upon output, so case-variant names will be understood as the same header. |
| type: string |
| value: |
| description: The header field value |
| type: string |
| required: |
| - name |
| - value |
| type: object |
| type: array |
| x-kubernetes-list-type: atomic |
| path: |
| description: Path to access on the HTTP |
| server. |
| type: string |
| port: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| Name or number of the port to access on the container. |
| Number must be in the range 1 to 65535. |
| Name must be an IANA_SVC_NAME. |
| x-kubernetes-int-or-string: true |
| scheme: |
| description: |- |
| Scheme to use for connecting to the host. |
| Defaults to HTTP. |
| type: string |
| required: |
| - port |
| type: object |
| initialDelaySeconds: |
| description: |- |
| Number of seconds after the container has started before liveness probes are initiated. |
| More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
| format: int32 |
| type: integer |
| periodSeconds: |
| description: |- |
| How often (in seconds) to perform the probe. |
| Default to 10 seconds. Minimum value is 1. |
| format: int32 |
| type: integer |
| successThreshold: |
| description: |- |
| Minimum consecutive successes for the probe to be considered successful after having failed. |
| Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. |
| format: int32 |
| type: integer |
| tcpSocket: |
| description: TCPSocket specifies an action involving |
| a TCP port. |
| properties: |
| host: |
| description: 'Optional: Host name to connect |
| to, defaults to the pod IP.' |
| type: string |
| port: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| Number or name of the port to access on the container. |
| Number must be in the range 1 to 65535. |
| Name must be an IANA_SVC_NAME. |
| x-kubernetes-int-or-string: true |
| required: |
| - port |
| type: object |
| terminationGracePeriodSeconds: |
| description: |- |
| Optional duration in seconds the pod needs to terminate gracefully upon probe failure. |
| The grace period is the duration in seconds after the processes running in the pod are sent |
| a termination signal and the time when the processes are forcibly halted with a kill signal. |
| Set this value longer than the expected cleanup time for your process. |
| If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this |
| value overrides the value provided by the pod spec. |
| Value must be non-negative integer. The value zero indicates stop immediately via |
| the kill signal (no opportunity to shut down). |
| This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. |
| Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. |
| format: int64 |
| type: integer |
| timeoutSeconds: |
| description: |- |
| Number of seconds after which the probe times out. |
| Defaults to 1 second. Minimum value is 1. |
| More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
| format: int32 |
| type: integer |
| type: object |
| stdin: |
| description: |- |
| Whether this container should allocate a buffer for stdin in the container runtime. If this |
| is not set, reads from stdin in the container will always result in EOF. |
| Default is false. |
| type: boolean |
| stdinOnce: |
| description: |- |
| Whether the container runtime should close the stdin channel after it has been opened by |
| a single attach. When stdin is true the stdin stream will remain open across multiple attach |
| sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the |
| first client attaches to stdin, and then remains open and accepts data until the client disconnects, |
| at which time stdin is closed and remains closed until the container is restarted. If this |
| flag is false, a container processes that reads from stdin will never receive an EOF. |
| Default is false |
| type: boolean |
| terminationMessagePath: |
| description: |- |
| Optional: Path at which the file to which the container's termination message |
| will be written is mounted into the container's filesystem. |
| Message written is intended to be brief final status, such as an assertion failure message. |
| Will be truncated by the node if greater than 4096 bytes. The total message length across |
| all containers will be limited to 12kb. |
| Defaults to /dev/termination-log. |
| Cannot be updated. |
| type: string |
| terminationMessagePolicy: |
| description: |- |
| Indicate how the termination message should be populated. File will use the contents of |
| terminationMessagePath to populate the container status message on both success and failure. |
| FallbackToLogsOnError will use the last chunk of container log output if the termination |
| message file is empty and the container exited with an error. |
| The log output is limited to 2048 bytes or 80 lines, whichever is smaller. |
| Defaults to File. |
| Cannot be updated. |
| type: string |
| tty: |
| description: |- |
| Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. |
| Default is false. |
| type: boolean |
| volumeDevices: |
| description: volumeDevices is the list of block |
| devices to be used by the container. |
| items: |
| description: volumeDevice describes a mapping |
| of a raw block device within a container. |
| properties: |
| devicePath: |
| description: devicePath is the path inside |
| of the container that the device will be |
| mapped to. |
| type: string |
| name: |
| description: name must match the name of a |
| persistentVolumeClaim in the pod |
| type: string |
| required: |
| - devicePath |
| - name |
| type: object |
| type: array |
| x-kubernetes-list-map-keys: |
| - devicePath |
| x-kubernetes-list-type: map |
| volumeMounts: |
| description: |- |
| Pod volumes to mount into the container's filesystem. |
| Cannot be updated. |
| items: |
| description: VolumeMount describes a mounting |
| of a Volume within a container. |
| properties: |
| mountPath: |
| description: |- |
| Path within the container at which the volume should be mounted. Must |
| not contain ':'. |
| type: string |
| mountPropagation: |
| description: |- |
| mountPropagation determines how mounts are propagated from the host |
| to container and the other way around. |
| When not set, MountPropagationNone is used. |
| This field is beta in 1.10. |
| When RecursiveReadOnly is set to IfPossible or to Enabled, MountPropagation must be None or unspecified |
| (which defaults to None). |
| type: string |
| name: |
| description: This must match the Name of a |
| Volume. |
| type: string |
| readOnly: |
| description: |- |
| Mounted read-only if true, read-write otherwise (false or unspecified). |
| Defaults to false. |
| type: boolean |
| recursiveReadOnly: |
| description: |- |
| RecursiveReadOnly specifies whether read-only mounts should be handled |
| recursively. |
| |
| |
| If ReadOnly is false, this field has no meaning and must be unspecified. |
| |
| |
| If ReadOnly is true, and this field is set to Disabled, the mount is not made |
| recursively read-only. If this field is set to IfPossible, the mount is made |
| recursively read-only, if it is supported by the container runtime. If this |
| field is set to Enabled, the mount is made recursively read-only if it is |
| supported by the container runtime, otherwise the pod will not be started and |
| an error will be generated to indicate the reason. |
| |
| |
| If this field is set to IfPossible or Enabled, MountPropagation must be set to |
| None (or be unspecified, which defaults to None). |
| |
| |
| If this field is not specified, it is treated as an equivalent of Disabled. |
| type: string |
| subPath: |
| description: |- |
| Path within the volume from which the container's volume should be mounted. |
| Defaults to "" (volume's root). |
| type: string |
| subPathExpr: |
| description: |- |
| Expanded path within the volume from which the container's volume should be mounted. |
| Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. |
| Defaults to "" (volume's root). |
| SubPathExpr and SubPath are mutually exclusive. |
| type: string |
| required: |
| - mountPath |
| - name |
| type: object |
| type: array |
| x-kubernetes-list-map-keys: |
| - mountPath |
| x-kubernetes-list-type: map |
| workingDir: |
| description: |- |
| Container's working directory. |
| If not specified, the container runtime's default will be used, which |
| might be configured in the container image. |
| Cannot be updated. |
| type: string |
| required: |
| - name |
| type: object |
| type: array |
| dnsPolicy: |
| description: DNSPolicy |
| type: string |
| ephemeralContainers: |
| description: EphemeralContainers |
| items: |
| description: |- |
| An EphemeralContainer is a temporary container that you may add to an existing Pod for |
| user-initiated activities such as debugging. Ephemeral containers have no resource or |
| scheduling guarantees, and they will not be restarted when they exit or when a Pod is |
| removed or restarted. The kubelet may evict a Pod if an ephemeral container causes the |
| Pod to exceed its resource allocation. |
| |
| |
| To add an ephemeral container, use the ephemeralcontainers subresource of an existing |
| Pod. Ephemeral containers may not be removed or restarted. |
| properties: |
| args: |
| description: |- |
| Arguments to the entrypoint. |
| The image's CMD is used if this is not provided. |
| Variable references $(VAR_NAME) are expanded using the container's environment. If a variable |
| cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced |
| to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will |
| produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless |
| of whether the variable exists or not. Cannot be updated. |
| More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell |
| items: |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| command: |
| description: |- |
| Entrypoint array. Not executed within a shell. |
| The image's ENTRYPOINT is used if this is not provided. |
| Variable references $(VAR_NAME) are expanded using the container's environment. If a variable |
| cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced |
| to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will |
| produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless |
| of whether the variable exists or not. Cannot be updated. |
| More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell |
| items: |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| env: |
| description: |- |
| List of environment variables to set in the container. |
| Cannot be updated. |
| items: |
| description: EnvVar represents an environment |
| variable present in a Container. |
| properties: |
| name: |
| description: Name of the environment variable. |
| Must be a C_IDENTIFIER. |
| type: string |
| value: |
| description: |- |
| Variable references $(VAR_NAME) are expanded |
| using the previously defined environment variables in the container and |
| any service environment variables. If a variable cannot be resolved, |
| the reference in the input string will be unchanged. Double $$ are reduced |
| to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. |
| "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". |
| Escaped references will never be expanded, regardless of whether the variable |
| exists or not. |
| Defaults to "". |
| type: string |
| valueFrom: |
| description: Source for the environment variable's |
| value. Cannot be used if value is not empty. |
| properties: |
| configMapKeyRef: |
| description: Selects a key of a ConfigMap. |
| properties: |
| key: |
| description: The key to select. |
| type: string |
| name: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the ConfigMap |
| or its key must be defined |
| type: boolean |
| required: |
| - key |
| type: object |
| x-kubernetes-map-type: atomic |
| fieldRef: |
| description: |- |
| Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['<KEY>']`, `metadata.annotations['<KEY>']`, |
| spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. |
| properties: |
| apiVersion: |
| description: Version of the schema |
| the FieldPath is written in terms |
| of, defaults to "v1". |
| type: string |
| fieldPath: |
| description: Path of the field to |
| select in the specified API version. |
| type: string |
| required: |
| - fieldPath |
| type: object |
| x-kubernetes-map-type: atomic |
| resourceFieldRef: |
| description: |- |
| Selects a resource of the container: only resources limits and requests |
| (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. |
| properties: |
| containerName: |
| description: 'Container name: required |
| for volumes, optional for env vars' |
| type: string |
| divisor: |
| anyOf: |
| - type: integer |
| - type: string |
| description: Specifies the output |
| format of the exposed resources, |
| defaults to "1" |
| pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ |
| x-kubernetes-int-or-string: true |
| resource: |
| description: 'Required: resource to |
| select' |
| type: string |
| required: |
| - resource |
| type: object |
| x-kubernetes-map-type: atomic |
| secretKeyRef: |
| description: Selects a key of a secret |
| in the pod's namespace |
| properties: |
| key: |
| description: The key of the secret |
| to select from. Must be a valid |
| secret key. |
| type: string |
| name: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the Secret |
| or its key must be defined |
| type: boolean |
| required: |
| - key |
| type: object |
| x-kubernetes-map-type: atomic |
| type: object |
| required: |
| - name |
| type: object |
| type: array |
| x-kubernetes-list-map-keys: |
| - name |
| x-kubernetes-list-type: map |
| envFrom: |
| description: |- |
| List of sources to populate environment variables in the container. |
| The keys defined within a source must be a C_IDENTIFIER. All invalid keys |
| will be reported as an event when the container is starting. When a key exists in multiple |
| sources, the value associated with the last source will take precedence. |
| Values defined by an Env with a duplicate key will take precedence. |
| Cannot be updated. |
| items: |
| description: EnvFromSource represents the source |
| of a set of ConfigMaps |
| properties: |
| configMapRef: |
| description: The ConfigMap to select from |
| properties: |
| name: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the ConfigMap |
| must be defined |
| type: boolean |
| type: object |
| x-kubernetes-map-type: atomic |
| prefix: |
| description: An optional identifier to prepend |
| to each key in the ConfigMap. Must be a |
| C_IDENTIFIER. |
| type: string |
| secretRef: |
| description: The Secret to select from |
| properties: |
| name: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the Secret |
| must be defined |
| type: boolean |
| type: object |
| x-kubernetes-map-type: atomic |
| type: object |
| type: array |
| x-kubernetes-list-type: atomic |
| image: |
| description: |- |
| Container image name. |
| More info: https://kubernetes.io/docs/concepts/containers/images |
| type: string |
| imagePullPolicy: |
| description: |- |
| Image pull policy. |
| One of Always, Never, IfNotPresent. |
| Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. |
| Cannot be updated. |
| More info: https://kubernetes.io/docs/concepts/containers/images#updating-images |
| type: string |
| lifecycle: |
| description: Lifecycle is not allowed for ephemeral |
| containers. |
| properties: |
| postStart: |
| description: |- |
| PostStart is called immediately after a container is created. If the handler fails, |
| the container is terminated and restarted according to its restart policy. |
| Other management of the container blocks until the hook completes. |
| More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks |
| properties: |
| exec: |
| description: Exec specifies the action to |
| take. |
| properties: |
| command: |
| description: |- |
| Command is the command line to execute inside the container, the working directory for the |
| command is root ('/') in the container's filesystem. The command is simply exec'd, it is |
| not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use |
| a shell, you need to explicitly call out to that shell. |
| Exit status of 0 is treated as live/healthy and non-zero is unhealthy. |
| items: |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| type: object |
| httpGet: |
| description: HTTPGet specifies the http |
| request to perform. |
| properties: |
| host: |
| description: |- |
| Host name to connect to, defaults to the pod IP. You probably want to set |
| "Host" in httpHeaders instead. |
| type: string |
| httpHeaders: |
| description: Custom headers to set in |
| the request. HTTP allows repeated |
| headers. |
| items: |
| description: HTTPHeader describes |
| a custom header to be used in HTTP |
| probes |
| properties: |
| name: |
| description: |- |
| The header field name. |
| This will be canonicalized upon output, so case-variant names will be understood as the same header. |
| type: string |
| value: |
| description: The header field |
| value |
| type: string |
| required: |
| - name |
| - value |
| type: object |
| type: array |
| x-kubernetes-list-type: atomic |
| path: |
| description: Path to access on the HTTP |
| server. |
| type: string |
| port: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| Name or number of the port to access on the container. |
| Number must be in the range 1 to 65535. |
| Name must be an IANA_SVC_NAME. |
| x-kubernetes-int-or-string: true |
| scheme: |
| description: |- |
| Scheme to use for connecting to the host. |
| Defaults to HTTP. |
| type: string |
| required: |
| - port |
| type: object |
| sleep: |
| description: Sleep represents the duration |
| that the container should sleep before |
| being terminated. |
| properties: |
| seconds: |
| description: Seconds is the number of |
| seconds to sleep. |
| format: int64 |
| type: integer |
| required: |
| - seconds |
| type: object |
| tcpSocket: |
| description: |- |
| Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept |
| for the backward compatibility. There are no validation of this field and |
| lifecycle hooks will fail in runtime when tcp handler is specified. |
| properties: |
| host: |
| description: 'Optional: Host name to |
| connect to, defaults to the pod IP.' |
| type: string |
| port: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| Number or name of the port to access on the container. |
| Number must be in the range 1 to 65535. |
| Name must be an IANA_SVC_NAME. |
| x-kubernetes-int-or-string: true |
| required: |
| - port |
| type: object |
| type: object |
| preStop: |
| description: |- |
| PreStop is called immediately before a container is terminated due to an |
| API request or management event such as liveness/startup probe failure, |
| preemption, resource contention, etc. The handler is not called if the |
| container crashes or exits. The Pod's termination grace period countdown begins before the |
| PreStop hook is executed. Regardless of the outcome of the handler, the |
| container will eventually terminate within the Pod's termination grace |
| period (unless delayed by finalizers). Other management of the container blocks until the hook completes |
| or until the termination grace period is reached. |
| More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks |
| properties: |
| exec: |
| description: Exec specifies the action to |
| take. |
| properties: |
| command: |
| description: |- |
| Command is the command line to execute inside the container, the working directory for the |
| command is root ('/') in the container's filesystem. The command is simply exec'd, it is |
| not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use |
| a shell, you need to explicitly call out to that shell. |
| Exit status of 0 is treated as live/healthy and non-zero is unhealthy. |
| items: |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| type: object |
| httpGet: |
| description: HTTPGet specifies the http |
| request to perform. |
| properties: |
| host: |
| description: |- |
| Host name to connect to, defaults to the pod IP. You probably want to set |
| "Host" in httpHeaders instead. |
| type: string |
| httpHeaders: |
| description: Custom headers to set in |
| the request. HTTP allows repeated |
| headers. |
| items: |
| description: HTTPHeader describes |
| a custom header to be used in HTTP |
| probes |
| properties: |
| name: |
| description: |- |
| The header field name. |
| This will be canonicalized upon output, so case-variant names will be understood as the same header. |
| type: string |
| value: |
| description: The header field |
| value |
| type: string |
| required: |
| - name |
| - value |
| type: object |
| type: array |
| x-kubernetes-list-type: atomic |
| path: |
| description: Path to access on the HTTP |
| server. |
| type: string |
| port: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| Name or number of the port to access on the container. |
| Number must be in the range 1 to 65535. |
| Name must be an IANA_SVC_NAME. |
| x-kubernetes-int-or-string: true |
| scheme: |
| description: |- |
| Scheme to use for connecting to the host. |
| Defaults to HTTP. |
| type: string |
| required: |
| - port |
| type: object |
| sleep: |
| description: Sleep represents the duration |
| that the container should sleep before |
| being terminated. |
| properties: |
| seconds: |
| description: Seconds is the number of |
| seconds to sleep. |
| format: int64 |
| type: integer |
| required: |
| - seconds |
| type: object |
| tcpSocket: |
| description: |- |
| Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept |
| for the backward compatibility. There are no validation of this field and |
| lifecycle hooks will fail in runtime when tcp handler is specified. |
| properties: |
| host: |
| description: 'Optional: Host name to |
| connect to, defaults to the pod IP.' |
| type: string |
| port: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| Number or name of the port to access on the container. |
| Number must be in the range 1 to 65535. |
| Name must be an IANA_SVC_NAME. |
| x-kubernetes-int-or-string: true |
| required: |
| - port |
| type: object |
| type: object |
| type: object |
| livenessProbe: |
| description: Probes are not allowed for ephemeral |
| containers. |
| properties: |
| exec: |
| description: Exec specifies the action to take. |
| properties: |
| command: |
| description: |- |
| Command is the command line to execute inside the container, the working directory for the |
| command is root ('/') in the container's filesystem. The command is simply exec'd, it is |
| not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use |
| a shell, you need to explicitly call out to that shell. |
| Exit status of 0 is treated as live/healthy and non-zero is unhealthy. |
| items: |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| type: object |
| failureThreshold: |
| description: |- |
| Minimum consecutive failures for the probe to be considered failed after having succeeded. |
| Defaults to 3. Minimum value is 1. |
| format: int32 |
| type: integer |
| grpc: |
| description: GRPC specifies an action involving |
| a GRPC port. |
| properties: |
| port: |
| description: Port number of the gRPC service. |
| Number must be in the range 1 to 65535. |
| format: int32 |
| type: integer |
| service: |
| description: |- |
| Service is the name of the service to place in the gRPC HealthCheckRequest |
| (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). |
| |
| |
| If this is not specified, the default behavior is defined by gRPC. |
| type: string |
| required: |
| - port |
| type: object |
| httpGet: |
| description: HTTPGet specifies the http request |
| to perform. |
| properties: |
| host: |
| description: |- |
| Host name to connect to, defaults to the pod IP. You probably want to set |
| "Host" in httpHeaders instead. |
| type: string |
| httpHeaders: |
| description: Custom headers to set in the |
| request. HTTP allows repeated headers. |
| items: |
| description: HTTPHeader describes a custom |
| header to be used in HTTP probes |
| properties: |
| name: |
| description: |- |
| The header field name. |
| This will be canonicalized upon output, so case-variant names will be understood as the same header. |
| type: string |
| value: |
| description: The header field value |
| type: string |
| required: |
| - name |
| - value |
| type: object |
| type: array |
| x-kubernetes-list-type: atomic |
| path: |
| description: Path to access on the HTTP |
| server. |
| type: string |
| port: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| Name or number of the port to access on the container. |
| Number must be in the range 1 to 65535. |
| Name must be an IANA_SVC_NAME. |
| x-kubernetes-int-or-string: true |
| scheme: |
| description: |- |
| Scheme to use for connecting to the host. |
| Defaults to HTTP. |
| type: string |
| required: |
| - port |
| type: object |
| initialDelaySeconds: |
| description: |- |
| Number of seconds after the container has started before liveness probes are initiated. |
| More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
| format: int32 |
| type: integer |
| periodSeconds: |
| description: |- |
| How often (in seconds) to perform the probe. |
| Default to 10 seconds. Minimum value is 1. |
| format: int32 |
| type: integer |
| successThreshold: |
| description: |- |
| Minimum consecutive successes for the probe to be considered successful after having failed. |
| Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. |
| format: int32 |
| type: integer |
| tcpSocket: |
| description: TCPSocket specifies an action involving |
| a TCP port. |
| properties: |
| host: |
| description: 'Optional: Host name to connect |
| to, defaults to the pod IP.' |
| type: string |
| port: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| Number or name of the port to access on the container. |
| Number must be in the range 1 to 65535. |
| Name must be an IANA_SVC_NAME. |
| x-kubernetes-int-or-string: true |
| required: |
| - port |
| type: object |
| terminationGracePeriodSeconds: |
| description: |- |
| Optional duration in seconds the pod needs to terminate gracefully upon probe failure. |
| The grace period is the duration in seconds after the processes running in the pod are sent |
| a termination signal and the time when the processes are forcibly halted with a kill signal. |
| Set this value longer than the expected cleanup time for your process. |
| If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this |
| value overrides the value provided by the pod spec. |
| Value must be non-negative integer. The value zero indicates stop immediately via |
| the kill signal (no opportunity to shut down). |
| This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. |
| Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. |
| format: int64 |
| type: integer |
| timeoutSeconds: |
| description: |- |
| Number of seconds after which the probe times out. |
| Defaults to 1 second. Minimum value is 1. |
| More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
| format: int32 |
| type: integer |
| type: object |
| name: |
| description: |- |
| Name of the ephemeral container specified as a DNS_LABEL. |
| This name must be unique among all containers, init containers and ephemeral containers. |
| type: string |
| ports: |
| description: Ports are not allowed for ephemeral |
| containers. |
| items: |
| description: ContainerPort represents a network |
| port in a single container. |
| properties: |
| containerPort: |
| description: |- |
| Number of port to expose on the pod's IP address. |
| This must be a valid port number, 0 < x < 65536. |
| format: int32 |
| type: integer |
| hostIP: |
| description: What host IP to bind the external |
| port to. |
| type: string |
| hostPort: |
| description: |- |
| Number of port to expose on the host. |
| If specified, this must be a valid port number, 0 < x < 65536. |
| If HostNetwork is specified, this must match ContainerPort. |
| Most containers do not need this. |
| format: int32 |
| type: integer |
| name: |
| description: |- |
| If specified, this must be an IANA_SVC_NAME and unique within the pod. Each |
| named port in a pod must have a unique name. Name for the port that can be |
| referred to by services. |
| type: string |
| protocol: |
| default: TCP |
| description: |- |
| Protocol for port. Must be UDP, TCP, or SCTP. |
| Defaults to "TCP". |
| type: string |
| required: |
| - containerPort |
| type: object |
| type: array |
| x-kubernetes-list-map-keys: |
| - containerPort |
| - protocol |
| x-kubernetes-list-type: map |
| readinessProbe: |
| description: Probes are not allowed for ephemeral |
| containers. |
| properties: |
| exec: |
| description: Exec specifies the action to take. |
| properties: |
| command: |
| description: |- |
| Command is the command line to execute inside the container, the working directory for the |
| command is root ('/') in the container's filesystem. The command is simply exec'd, it is |
| not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use |
| a shell, you need to explicitly call out to that shell. |
| Exit status of 0 is treated as live/healthy and non-zero is unhealthy. |
| items: |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| type: object |
| failureThreshold: |
| description: |- |
| Minimum consecutive failures for the probe to be considered failed after having succeeded. |
| Defaults to 3. Minimum value is 1. |
| format: int32 |
| type: integer |
| grpc: |
| description: GRPC specifies an action involving |
| a GRPC port. |
| properties: |
| port: |
| description: Port number of the gRPC service. |
| Number must be in the range 1 to 65535. |
| format: int32 |
| type: integer |
| service: |
| description: |- |
| Service is the name of the service to place in the gRPC HealthCheckRequest |
| (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). |
| |
| |
| If this is not specified, the default behavior is defined by gRPC. |
| type: string |
| required: |
| - port |
| type: object |
| httpGet: |
| description: HTTPGet specifies the http request |
| to perform. |
| properties: |
| host: |
| description: |- |
| Host name to connect to, defaults to the pod IP. You probably want to set |
| "Host" in httpHeaders instead. |
| type: string |
| httpHeaders: |
| description: Custom headers to set in the |
| request. HTTP allows repeated headers. |
| items: |
| description: HTTPHeader describes a custom |
| header to be used in HTTP probes |
| properties: |
| name: |
| description: |- |
| The header field name. |
| This will be canonicalized upon output, so case-variant names will be understood as the same header. |
| type: string |
| value: |
| description: The header field value |
| type: string |
| required: |
| - name |
| - value |
| type: object |
| type: array |
| x-kubernetes-list-type: atomic |
| path: |
| description: Path to access on the HTTP |
| server. |
| type: string |
| port: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| Name or number of the port to access on the container. |
| Number must be in the range 1 to 65535. |
| Name must be an IANA_SVC_NAME. |
| x-kubernetes-int-or-string: true |
| scheme: |
| description: |- |
| Scheme to use for connecting to the host. |
| Defaults to HTTP. |
| type: string |
| required: |
| - port |
| type: object |
| initialDelaySeconds: |
| description: |- |
| Number of seconds after the container has started before liveness probes are initiated. |
| More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
| format: int32 |
| type: integer |
| periodSeconds: |
| description: |- |
| How often (in seconds) to perform the probe. |
| Default to 10 seconds. Minimum value is 1. |
| format: int32 |
| type: integer |
| successThreshold: |
| description: |- |
| Minimum consecutive successes for the probe to be considered successful after having failed. |
| Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. |
| format: int32 |
| type: integer |
| tcpSocket: |
| description: TCPSocket specifies an action involving |
| a TCP port. |
| properties: |
| host: |
| description: 'Optional: Host name to connect |
| to, defaults to the pod IP.' |
| type: string |
| port: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| Number or name of the port to access on the container. |
| Number must be in the range 1 to 65535. |
| Name must be an IANA_SVC_NAME. |
| x-kubernetes-int-or-string: true |
| required: |
| - port |
| type: object |
| terminationGracePeriodSeconds: |
| description: |- |
| Optional duration in seconds the pod needs to terminate gracefully upon probe failure. |
| The grace period is the duration in seconds after the processes running in the pod are sent |
| a termination signal and the time when the processes are forcibly halted with a kill signal. |
| Set this value longer than the expected cleanup time for your process. |
| If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this |
| value overrides the value provided by the pod spec. |
| Value must be non-negative integer. The value zero indicates stop immediately via |
| the kill signal (no opportunity to shut down). |
| This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. |
| Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. |
| format: int64 |
| type: integer |
| timeoutSeconds: |
| description: |- |
| Number of seconds after which the probe times out. |
| Defaults to 1 second. Minimum value is 1. |
| More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
| format: int32 |
| type: integer |
| type: object |
| resizePolicy: |
| description: Resources resize policy for the container. |
| items: |
| description: ContainerResizePolicy represents |
| resource resize policy for the container. |
| properties: |
| resourceName: |
| description: |- |
| Name of the resource to which this resource resize policy applies. |
| Supported values: cpu, memory. |
| type: string |
| restartPolicy: |
| description: |- |
| Restart policy to apply when specified resource is resized. |
| If not specified, it defaults to NotRequired. |
| type: string |
| required: |
| - resourceName |
| - restartPolicy |
| type: object |
| type: array |
| x-kubernetes-list-type: atomic |
| resources: |
| description: |- |
| Resources are not allowed for ephemeral containers. Ephemeral containers use spare resources |
| already allocated to the pod. |
| properties: |
| claims: |
| description: |- |
| Claims lists the names of resources, defined in spec.resourceClaims, |
| that are used by this container. |
| |
| |
| This is an alpha field and requires enabling the |
| DynamicResourceAllocation feature gate. |
| |
| |
| This field is immutable. It can only be set for containers. |
| items: |
| description: ResourceClaim references one |
| entry in PodSpec.ResourceClaims. |
| properties: |
| name: |
| description: |- |
| Name must match the name of one entry in pod.spec.resourceClaims of |
| the Pod where this field is used. It makes that resource available |
| inside a container. |
| type: string |
| required: |
| - name |
| type: object |
| type: array |
| x-kubernetes-list-map-keys: |
| - name |
| x-kubernetes-list-type: map |
| limits: |
| additionalProperties: |
| anyOf: |
| - type: integer |
| - type: string |
| pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ |
| x-kubernetes-int-or-string: true |
| description: |- |
| Limits describes the maximum amount of compute resources allowed. |
| More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ |
| type: object |
| requests: |
| additionalProperties: |
| anyOf: |
| - type: integer |
| - type: string |
| pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ |
| x-kubernetes-int-or-string: true |
| description: |- |
| Requests describes the minimum amount of compute resources required. |
| If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, |
| otherwise to an implementation-defined value. Requests cannot exceed Limits. |
| More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ |
| type: object |
| type: object |
| restartPolicy: |
| description: |- |
| Restart policy for the container to manage the restart behavior of each |
| container within a pod. |
| This may only be set for init containers. You cannot set this field on |
| ephemeral containers. |
| type: string |
| securityContext: |
| description: |- |
| Optional: SecurityContext defines the security options the ephemeral container should be run with. |
| If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext. |
| properties: |
| allowPrivilegeEscalation: |
| description: |- |
| AllowPrivilegeEscalation controls whether a process can gain more |
| privileges than its parent process. This bool directly controls if |
| the no_new_privs flag will be set on the container process. |
| AllowPrivilegeEscalation is true always when the container is: |
| 1) run as Privileged |
| 2) has CAP_SYS_ADMIN |
| Note that this field cannot be set when spec.os.name is windows. |
| type: boolean |
| appArmorProfile: |
| description: |- |
| appArmorProfile is the AppArmor options to use by this container. If set, this profile |
| overrides the pod's appArmorProfile. |
| Note that this field cannot be set when spec.os.name is windows. |
| properties: |
| localhostProfile: |
| description: |- |
| localhostProfile indicates a profile loaded on the node that should be used. |
| The profile must be preconfigured on the node to work. |
| Must match the loaded name of the profile. |
| Must be set if and only if type is "Localhost". |
| type: string |
| type: |
| description: |- |
| type indicates which kind of AppArmor profile will be applied. |
| Valid options are: |
| Localhost - a profile pre-loaded on the node. |
| RuntimeDefault - the container runtime's default profile. |
| Unconfined - no AppArmor enforcement. |
| type: string |
| required: |
| - type |
| type: object |
| capabilities: |
| description: |- |
| The capabilities to add/drop when running containers. |
| Defaults to the default set of capabilities granted by the container runtime. |
| Note that this field cannot be set when spec.os.name is windows. |
| properties: |
| add: |
| description: Added capabilities |
| items: |
| description: Capability represent POSIX |
| capabilities type |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| drop: |
| description: Removed capabilities |
| items: |
| description: Capability represent POSIX |
| capabilities type |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| type: object |
| privileged: |
| description: |- |
| Run container in privileged mode. |
| Processes in privileged containers are essentially equivalent to root on the host. |
| Defaults to false. |
| Note that this field cannot be set when spec.os.name is windows. |
| type: boolean |
| procMount: |
| description: |- |
| procMount denotes the type of proc mount to use for the containers. |
| The default is DefaultProcMount which uses the container runtime defaults for |
| readonly paths and masked paths. |
| This requires the ProcMountType feature flag to be enabled. |
| Note that this field cannot be set when spec.os.name is windows. |
| type: string |
| readOnlyRootFilesystem: |
| description: |- |
| Whether this container has a read-only root filesystem. |
| Default is false. |
| Note that this field cannot be set when spec.os.name is windows. |
| type: boolean |
| runAsGroup: |
| description: |- |
| The GID to run the entrypoint of the container process. |
| Uses runtime default if unset. |
| May also be set in PodSecurityContext. If set in both SecurityContext and |
| PodSecurityContext, the value specified in SecurityContext takes precedence. |
| Note that this field cannot be set when spec.os.name is windows. |
| format: int64 |
| type: integer |
| runAsNonRoot: |
| description: |- |
| Indicates that the container must run as a non-root user. |
| If true, the Kubelet will validate the image at runtime to ensure that it |
| does not run as UID 0 (root) and fail to start the container if it does. |
| If unset or false, no such validation will be performed. |
| May also be set in PodSecurityContext. If set in both SecurityContext and |
| PodSecurityContext, the value specified in SecurityContext takes precedence. |
| type: boolean |
| runAsUser: |
| description: |- |
| The UID to run the entrypoint of the container process. |
| Defaults to user specified in image metadata if unspecified. |
| May also be set in PodSecurityContext. If set in both SecurityContext and |
| PodSecurityContext, the value specified in SecurityContext takes precedence. |
| Note that this field cannot be set when spec.os.name is windows. |
| format: int64 |
| type: integer |
| seLinuxOptions: |
| description: |- |
| The SELinux context to be applied to the container. |
| If unspecified, the container runtime will allocate a random SELinux context for each |
| container. May also be set in PodSecurityContext. If set in both SecurityContext and |
| PodSecurityContext, the value specified in SecurityContext takes precedence. |
| Note that this field cannot be set when spec.os.name is windows. |
| properties: |
| level: |
| description: Level is SELinux level label |
| that applies to the container. |
| type: string |
| role: |
| description: Role is a SELinux role label |
| that applies to the container. |
| type: string |
| type: |
| description: Type is a SELinux type label |
| that applies to the container. |
| type: string |
| user: |
| description: User is a SELinux user label |
| that applies to the container. |
| type: string |
| type: object |
| seccompProfile: |
| description: |- |
| The seccomp options to use by this container. If seccomp options are |
| provided at both the pod & container level, the container options |
| override the pod options. |
| Note that this field cannot be set when spec.os.name is windows. |
| properties: |
| localhostProfile: |
| description: |- |
| localhostProfile indicates a profile defined in a file on the node should be used. |
| The profile must be preconfigured on the node to work. |
| Must be a descending path, relative to the kubelet's configured seccomp profile location. |
| Must be set if type is "Localhost". Must NOT be set for any other type. |
| type: string |
| type: |
| description: |- |
| type indicates which kind of seccomp profile will be applied. |
| Valid options are: |
| |
| |
| Localhost - a profile defined in a file on the node should be used. |
| RuntimeDefault - the container runtime default profile should be used. |
| Unconfined - no profile should be applied. |
| type: string |
| required: |
| - type |
| type: object |
| windowsOptions: |
| description: |- |
| The Windows specific settings applied to all containers. |
| If unspecified, the options from the PodSecurityContext will be used. |
| If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. |
| Note that this field cannot be set when spec.os.name is linux. |
| properties: |
| gmsaCredentialSpec: |
| description: |- |
| GMSACredentialSpec is where the GMSA admission webhook |
| (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the |
| GMSA credential spec named by the GMSACredentialSpecName field. |
| type: string |
| gmsaCredentialSpecName: |
| description: GMSACredentialSpecName is the |
| name of the GMSA credential spec to use. |
| type: string |
| hostProcess: |
| description: |- |
| HostProcess determines if a container should be run as a 'Host Process' container. |
| All of a Pod's containers must have the same effective HostProcess value |
| (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). |
| In addition, if HostProcess is true then HostNetwork must also be set to true. |
| type: boolean |
| runAsUserName: |
| description: |- |
| The UserName in Windows to run the entrypoint of the container process. |
| Defaults to the user specified in image metadata if unspecified. |
| May also be set in PodSecurityContext. If set in both SecurityContext and |
| PodSecurityContext, the value specified in SecurityContext takes precedence. |
| type: string |
| type: object |
| type: object |
| startupProbe: |
| description: Probes are not allowed for ephemeral |
| containers. |
| properties: |
| exec: |
| description: Exec specifies the action to take. |
| properties: |
| command: |
| description: |- |
| Command is the command line to execute inside the container, the working directory for the |
| command is root ('/') in the container's filesystem. The command is simply exec'd, it is |
| not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use |
| a shell, you need to explicitly call out to that shell. |
| Exit status of 0 is treated as live/healthy and non-zero is unhealthy. |
| items: |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| type: object |
| failureThreshold: |
| description: |- |
| Minimum consecutive failures for the probe to be considered failed after having succeeded. |
| Defaults to 3. Minimum value is 1. |
| format: int32 |
| type: integer |
| grpc: |
| description: GRPC specifies an action involving |
| a GRPC port. |
| properties: |
| port: |
| description: Port number of the gRPC service. |
| Number must be in the range 1 to 65535. |
| format: int32 |
| type: integer |
| service: |
| description: |- |
| Service is the name of the service to place in the gRPC HealthCheckRequest |
| (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). |
| |
| |
| If this is not specified, the default behavior is defined by gRPC. |
| type: string |
| required: |
| - port |
| type: object |
| httpGet: |
| description: HTTPGet specifies the http request |
| to perform. |
| properties: |
| host: |
| description: |- |
| Host name to connect to, defaults to the pod IP. You probably want to set |
| "Host" in httpHeaders instead. |
| type: string |
| httpHeaders: |
| description: Custom headers to set in the |
| request. HTTP allows repeated headers. |
| items: |
| description: HTTPHeader describes a custom |
| header to be used in HTTP probes |
| properties: |
| name: |
| description: |- |
| The header field name. |
| This will be canonicalized upon output, so case-variant names will be understood as the same header. |
| type: string |
| value: |
| description: The header field value |
| type: string |
| required: |
| - name |
| - value |
| type: object |
| type: array |
| x-kubernetes-list-type: atomic |
| path: |
| description: Path to access on the HTTP |
| server. |
| type: string |
| port: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| Name or number of the port to access on the container. |
| Number must be in the range 1 to 65535. |
| Name must be an IANA_SVC_NAME. |
| x-kubernetes-int-or-string: true |
| scheme: |
| description: |- |
| Scheme to use for connecting to the host. |
| Defaults to HTTP. |
| type: string |
| required: |
| - port |
| type: object |
| initialDelaySeconds: |
| description: |- |
| Number of seconds after the container has started before liveness probes are initiated. |
| More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
| format: int32 |
| type: integer |
| periodSeconds: |
| description: |- |
| How often (in seconds) to perform the probe. |
| Default to 10 seconds. Minimum value is 1. |
| format: int32 |
| type: integer |
| successThreshold: |
| description: |- |
| Minimum consecutive successes for the probe to be considered successful after having failed. |
| Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. |
| format: int32 |
| type: integer |
| tcpSocket: |
| description: TCPSocket specifies an action involving |
| a TCP port. |
| properties: |
| host: |
| description: 'Optional: Host name to connect |
| to, defaults to the pod IP.' |
| type: string |
| port: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| Number or name of the port to access on the container. |
| Number must be in the range 1 to 65535. |
| Name must be an IANA_SVC_NAME. |
| x-kubernetes-int-or-string: true |
| required: |
| - port |
| type: object |
| terminationGracePeriodSeconds: |
| description: |- |
| Optional duration in seconds the pod needs to terminate gracefully upon probe failure. |
| The grace period is the duration in seconds after the processes running in the pod are sent |
| a termination signal and the time when the processes are forcibly halted with a kill signal. |
| Set this value longer than the expected cleanup time for your process. |
| If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this |
| value overrides the value provided by the pod spec. |
| Value must be non-negative integer. The value zero indicates stop immediately via |
| the kill signal (no opportunity to shut down). |
| This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. |
| Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. |
| format: int64 |
| type: integer |
| timeoutSeconds: |
| description: |- |
| Number of seconds after which the probe times out. |
| Defaults to 1 second. Minimum value is 1. |
| More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
| format: int32 |
| type: integer |
| type: object |
| stdin: |
| description: |- |
| Whether this container should allocate a buffer for stdin in the container runtime. If this |
| is not set, reads from stdin in the container will always result in EOF. |
| Default is false. |
| type: boolean |
| stdinOnce: |
| description: |- |
| Whether the container runtime should close the stdin channel after it has been opened by |
| a single attach. When stdin is true the stdin stream will remain open across multiple attach |
| sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the |
| first client attaches to stdin, and then remains open and accepts data until the client disconnects, |
| at which time stdin is closed and remains closed until the container is restarted. If this |
| flag is false, a container processes that reads from stdin will never receive an EOF. |
| Default is false |
| type: boolean |
| targetContainerName: |
| description: |- |
| If set, the name of the container from PodSpec that this ephemeral container targets. |
| The ephemeral container will be run in the namespaces (IPC, PID, etc) of this container. |
| If not set then the ephemeral container uses the namespaces configured in the Pod spec. |
| |
| |
| The container runtime must implement support for this feature. If the runtime does not |
| support namespace targeting then the result of setting this field is undefined. |
| type: string |
| terminationMessagePath: |
| description: |- |
| Optional: Path at which the file to which the container's termination message |
| will be written is mounted into the container's filesystem. |
| Message written is intended to be brief final status, such as an assertion failure message. |
| Will be truncated by the node if greater than 4096 bytes. The total message length across |
| all containers will be limited to 12kb. |
| Defaults to /dev/termination-log. |
| Cannot be updated. |
| type: string |
| terminationMessagePolicy: |
| description: |- |
| Indicate how the termination message should be populated. File will use the contents of |
| terminationMessagePath to populate the container status message on both success and failure. |
| FallbackToLogsOnError will use the last chunk of container log output if the termination |
| message file is empty and the container exited with an error. |
| The log output is limited to 2048 bytes or 80 lines, whichever is smaller. |
| Defaults to File. |
| Cannot be updated. |
| type: string |
| tty: |
| description: |- |
| Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. |
| Default is false. |
| type: boolean |
| volumeDevices: |
| description: volumeDevices is the list of block |
| devices to be used by the container. |
| items: |
| description: volumeDevice describes a mapping |
| of a raw block device within a container. |
| properties: |
| devicePath: |
| description: devicePath is the path inside |
| of the container that the device will be |
| mapped to. |
| type: string |
| name: |
| description: name must match the name of a |
| persistentVolumeClaim in the pod |
| type: string |
| required: |
| - devicePath |
| - name |
| type: object |
| type: array |
| x-kubernetes-list-map-keys: |
| - devicePath |
| x-kubernetes-list-type: map |
| volumeMounts: |
| description: |- |
| Pod volumes to mount into the container's filesystem. Subpath mounts are not allowed for ephemeral containers. |
| Cannot be updated. |
| items: |
| description: VolumeMount describes a mounting |
| of a Volume within a container. |
| properties: |
| mountPath: |
| description: |- |
| Path within the container at which the volume should be mounted. Must |
| not contain ':'. |
| type: string |
| mountPropagation: |
| description: |- |
| mountPropagation determines how mounts are propagated from the host |
| to container and the other way around. |
| When not set, MountPropagationNone is used. |
| This field is beta in 1.10. |
| When RecursiveReadOnly is set to IfPossible or to Enabled, MountPropagation must be None or unspecified |
| (which defaults to None). |
| type: string |
| name: |
| description: This must match the Name of a |
| Volume. |
| type: string |
| readOnly: |
| description: |- |
| Mounted read-only if true, read-write otherwise (false or unspecified). |
| Defaults to false. |
| type: boolean |
| recursiveReadOnly: |
| description: |- |
| RecursiveReadOnly specifies whether read-only mounts should be handled |
| recursively. |
| |
| |
| If ReadOnly is false, this field has no meaning and must be unspecified. |
| |
| |
| If ReadOnly is true, and this field is set to Disabled, the mount is not made |
| recursively read-only. If this field is set to IfPossible, the mount is made |
| recursively read-only, if it is supported by the container runtime. If this |
| field is set to Enabled, the mount is made recursively read-only if it is |
| supported by the container runtime, otherwise the pod will not be started and |
| an error will be generated to indicate the reason. |
| |
| |
| If this field is set to IfPossible or Enabled, MountPropagation must be set to |
| None (or be unspecified, which defaults to None). |
| |
| |
| If this field is not specified, it is treated as an equivalent of Disabled. |
| type: string |
| subPath: |
| description: |- |
| Path within the volume from which the container's volume should be mounted. |
| Defaults to "" (volume's root). |
| type: string |
| subPathExpr: |
| description: |- |
| Expanded path within the volume from which the container's volume should be mounted. |
| Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. |
| Defaults to "" (volume's root). |
| SubPathExpr and SubPath are mutually exclusive. |
| type: string |
| required: |
| - mountPath |
| - name |
| type: object |
| type: array |
| x-kubernetes-list-map-keys: |
| - mountPath |
| x-kubernetes-list-type: map |
| workingDir: |
| description: |- |
| Container's working directory. |
| If not specified, the container runtime's default will be used, which |
| might be configured in the container image. |
| Cannot be updated. |
| type: string |
| required: |
| - name |
| type: object |
| type: array |
| initContainers: |
| description: InitContainers |
| items: |
| description: A single application container that you |
| want to run within a pod. |
| properties: |
| args: |
| description: |- |
| Arguments to the entrypoint. |
| The container image's CMD is used if this is not provided. |
| Variable references $(VAR_NAME) are expanded using the container's environment. If a variable |
| cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced |
| to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will |
| produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless |
| of whether the variable exists or not. Cannot be updated. |
| More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell |
| items: |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| command: |
| description: |- |
| Entrypoint array. Not executed within a shell. |
| The container image's ENTRYPOINT is used if this is not provided. |
| Variable references $(VAR_NAME) are expanded using the container's environment. If a variable |
| cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced |
| to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will |
| produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless |
| of whether the variable exists or not. Cannot be updated. |
| More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell |
| items: |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| env: |
| description: |- |
| List of environment variables to set in the container. |
| Cannot be updated. |
| items: |
| description: EnvVar represents an environment |
| variable present in a Container. |
| properties: |
| name: |
| description: Name of the environment variable. |
| Must be a C_IDENTIFIER. |
| type: string |
| value: |
| description: |- |
| Variable references $(VAR_NAME) are expanded |
| using the previously defined environment variables in the container and |
| any service environment variables. If a variable cannot be resolved, |
| the reference in the input string will be unchanged. Double $$ are reduced |
| to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. |
| "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". |
| Escaped references will never be expanded, regardless of whether the variable |
| exists or not. |
| Defaults to "". |
| type: string |
| valueFrom: |
| description: Source for the environment variable's |
| value. Cannot be used if value is not empty. |
| properties: |
| configMapKeyRef: |
| description: Selects a key of a ConfigMap. |
| properties: |
| key: |
| description: The key to select. |
| type: string |
| name: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the ConfigMap |
| or its key must be defined |
| type: boolean |
| required: |
| - key |
| type: object |
| x-kubernetes-map-type: atomic |
| fieldRef: |
| description: |- |
| Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['<KEY>']`, `metadata.annotations['<KEY>']`, |
| spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. |
| properties: |
| apiVersion: |
| description: Version of the schema |
| the FieldPath is written in terms |
| of, defaults to "v1". |
| type: string |
| fieldPath: |
| description: Path of the field to |
| select in the specified API version. |
| type: string |
| required: |
| - fieldPath |
| type: object |
| x-kubernetes-map-type: atomic |
| resourceFieldRef: |
| description: |- |
| Selects a resource of the container: only resources limits and requests |
| (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. |
| properties: |
| containerName: |
| description: 'Container name: required |
| for volumes, optional for env vars' |
| type: string |
| divisor: |
| anyOf: |
| - type: integer |
| - type: string |
| description: Specifies the output |
| format of the exposed resources, |
| defaults to "1" |
| pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ |
| x-kubernetes-int-or-string: true |
| resource: |
| description: 'Required: resource to |
| select' |
| type: string |
| required: |
| - resource |
| type: object |
| x-kubernetes-map-type: atomic |
| secretKeyRef: |
| description: Selects a key of a secret |
| in the pod's namespace |
| properties: |
| key: |
| description: The key of the secret |
| to select from. Must be a valid |
| secret key. |
| type: string |
| name: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the Secret |
| or its key must be defined |
| type: boolean |
| required: |
| - key |
| type: object |
| x-kubernetes-map-type: atomic |
| type: object |
| required: |
| - name |
| type: object |
| type: array |
| x-kubernetes-list-map-keys: |
| - name |
| x-kubernetes-list-type: map |
| envFrom: |
| description: |- |
| List of sources to populate environment variables in the container. |
| The keys defined within a source must be a C_IDENTIFIER. All invalid keys |
| will be reported as an event when the container is starting. When a key exists in multiple |
| sources, the value associated with the last source will take precedence. |
| Values defined by an Env with a duplicate key will take precedence. |
| Cannot be updated. |
| items: |
| description: EnvFromSource represents the source |
| of a set of ConfigMaps |
| properties: |
| configMapRef: |
| description: The ConfigMap to select from |
| properties: |
| name: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the ConfigMap |
| must be defined |
| type: boolean |
| type: object |
| x-kubernetes-map-type: atomic |
| prefix: |
| description: An optional identifier to prepend |
| to each key in the ConfigMap. Must be a |
| C_IDENTIFIER. |
| type: string |
| secretRef: |
| description: The Secret to select from |
| properties: |
| name: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: Specify whether the Secret |
| must be defined |
| type: boolean |
| type: object |
| x-kubernetes-map-type: atomic |
| type: object |
| type: array |
| x-kubernetes-list-type: atomic |
| image: |
| description: |- |
| Container image name. |
| More info: https://kubernetes.io/docs/concepts/containers/images |
| This field is optional to allow higher level config management to default or override |
| container images in workload controllers like Deployments and StatefulSets. |
| type: string |
| imagePullPolicy: |
| description: |- |
| Image pull policy. |
| One of Always, Never, IfNotPresent. |
| Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. |
| Cannot be updated. |
| More info: https://kubernetes.io/docs/concepts/containers/images#updating-images |
| type: string |
| lifecycle: |
| description: |- |
| Actions that the management system should take in response to container lifecycle events. |
| Cannot be updated. |
| properties: |
| postStart: |
| description: |- |
| PostStart is called immediately after a container is created. If the handler fails, |
| the container is terminated and restarted according to its restart policy. |
| Other management of the container blocks until the hook completes. |
| More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks |
| properties: |
| exec: |
| description: Exec specifies the action to |
| take. |
| properties: |
| command: |
| description: |- |
| Command is the command line to execute inside the container, the working directory for the |
| command is root ('/') in the container's filesystem. The command is simply exec'd, it is |
| not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use |
| a shell, you need to explicitly call out to that shell. |
| Exit status of 0 is treated as live/healthy and non-zero is unhealthy. |
| items: |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| type: object |
| httpGet: |
| description: HTTPGet specifies the http |
| request to perform. |
| properties: |
| host: |
| description: |- |
| Host name to connect to, defaults to the pod IP. You probably want to set |
| "Host" in httpHeaders instead. |
| type: string |
| httpHeaders: |
| description: Custom headers to set in |
| the request. HTTP allows repeated |
| headers. |
| items: |
| description: HTTPHeader describes |
| a custom header to be used in HTTP |
| probes |
| properties: |
| name: |
| description: |- |
| The header field name. |
| This will be canonicalized upon output, so case-variant names will be understood as the same header. |
| type: string |
| value: |
| description: The header field |
| value |
| type: string |
| required: |
| - name |
| - value |
| type: object |
| type: array |
| x-kubernetes-list-type: atomic |
| path: |
| description: Path to access on the HTTP |
| server. |
| type: string |
| port: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| Name or number of the port to access on the container. |
| Number must be in the range 1 to 65535. |
| Name must be an IANA_SVC_NAME. |
| x-kubernetes-int-or-string: true |
| scheme: |
| description: |- |
| Scheme to use for connecting to the host. |
| Defaults to HTTP. |
| type: string |
| required: |
| - port |
| type: object |
| sleep: |
| description: Sleep represents the duration |
| that the container should sleep before |
| being terminated. |
| properties: |
| seconds: |
| description: Seconds is the number of |
| seconds to sleep. |
| format: int64 |
| type: integer |
| required: |
| - seconds |
| type: object |
| tcpSocket: |
| description: |- |
| Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept |
| for the backward compatibility. There are no validation of this field and |
| lifecycle hooks will fail in runtime when tcp handler is specified. |
| properties: |
| host: |
| description: 'Optional: Host name to |
| connect to, defaults to the pod IP.' |
| type: string |
| port: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| Number or name of the port to access on the container. |
| Number must be in the range 1 to 65535. |
| Name must be an IANA_SVC_NAME. |
| x-kubernetes-int-or-string: true |
| required: |
| - port |
| type: object |
| type: object |
| preStop: |
| description: |- |
| PreStop is called immediately before a container is terminated due to an |
| API request or management event such as liveness/startup probe failure, |
| preemption, resource contention, etc. The handler is not called if the |
| container crashes or exits. The Pod's termination grace period countdown begins before the |
| PreStop hook is executed. Regardless of the outcome of the handler, the |
| container will eventually terminate within the Pod's termination grace |
| period (unless delayed by finalizers). Other management of the container blocks until the hook completes |
| or until the termination grace period is reached. |
| More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks |
| properties: |
| exec: |
| description: Exec specifies the action to |
| take. |
| properties: |
| command: |
| description: |- |
| Command is the command line to execute inside the container, the working directory for the |
| command is root ('/') in the container's filesystem. The command is simply exec'd, it is |
| not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use |
| a shell, you need to explicitly call out to that shell. |
| Exit status of 0 is treated as live/healthy and non-zero is unhealthy. |
| items: |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| type: object |
| httpGet: |
| description: HTTPGet specifies the http |
| request to perform. |
| properties: |
| host: |
| description: |- |
| Host name to connect to, defaults to the pod IP. You probably want to set |
| "Host" in httpHeaders instead. |
| type: string |
| httpHeaders: |
| description: Custom headers to set in |
| the request. HTTP allows repeated |
| headers. |
| items: |
| description: HTTPHeader describes |
| a custom header to be used in HTTP |
| probes |
| properties: |
| name: |
| description: |- |
| The header field name. |
| This will be canonicalized upon output, so case-variant names will be understood as the same header. |
| type: string |
| value: |
| description: The header field |
| value |
| type: string |
| required: |
| - name |
| - value |
| type: object |
| type: array |
| x-kubernetes-list-type: atomic |
| path: |
| description: Path to access on the HTTP |
| server. |
| type: string |
| port: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| Name or number of the port to access on the container. |
| Number must be in the range 1 to 65535. |
| Name must be an IANA_SVC_NAME. |
| x-kubernetes-int-or-string: true |
| scheme: |
| description: |- |
| Scheme to use for connecting to the host. |
| Defaults to HTTP. |
| type: string |
| required: |
| - port |
| type: object |
| sleep: |
| description: Sleep represents the duration |
| that the container should sleep before |
| being terminated. |
| properties: |
| seconds: |
| description: Seconds is the number of |
| seconds to sleep. |
| format: int64 |
| type: integer |
| required: |
| - seconds |
| type: object |
| tcpSocket: |
| description: |- |
| Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept |
| for the backward compatibility. There are no validation of this field and |
| lifecycle hooks will fail in runtime when tcp handler is specified. |
| properties: |
| host: |
| description: 'Optional: Host name to |
| connect to, defaults to the pod IP.' |
| type: string |
| port: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| Number or name of the port to access on the container. |
| Number must be in the range 1 to 65535. |
| Name must be an IANA_SVC_NAME. |
| x-kubernetes-int-or-string: true |
| required: |
| - port |
| type: object |
| type: object |
| type: object |
| livenessProbe: |
| description: |- |
| Periodic probe of container liveness. |
| Container will be restarted if the probe fails. |
| Cannot be updated. |
| More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
| properties: |
| exec: |
| description: Exec specifies the action to take. |
| properties: |
| command: |
| description: |- |
| Command is the command line to execute inside the container, the working directory for the |
| command is root ('/') in the container's filesystem. The command is simply exec'd, it is |
| not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use |
| a shell, you need to explicitly call out to that shell. |
| Exit status of 0 is treated as live/healthy and non-zero is unhealthy. |
| items: |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| type: object |
| failureThreshold: |
| description: |- |
| Minimum consecutive failures for the probe to be considered failed after having succeeded. |
| Defaults to 3. Minimum value is 1. |
| format: int32 |
| type: integer |
| grpc: |
| description: GRPC specifies an action involving |
| a GRPC port. |
| properties: |
| port: |
| description: Port number of the gRPC service. |
| Number must be in the range 1 to 65535. |
| format: int32 |
| type: integer |
| service: |
| description: |- |
| Service is the name of the service to place in the gRPC HealthCheckRequest |
| (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). |
| |
| |
| If this is not specified, the default behavior is defined by gRPC. |
| type: string |
| required: |
| - port |
| type: object |
| httpGet: |
| description: HTTPGet specifies the http request |
| to perform. |
| properties: |
| host: |
| description: |- |
| Host name to connect to, defaults to the pod IP. You probably want to set |
| "Host" in httpHeaders instead. |
| type: string |
| httpHeaders: |
| description: Custom headers to set in the |
| request. HTTP allows repeated headers. |
| items: |
| description: HTTPHeader describes a custom |
| header to be used in HTTP probes |
| properties: |
| name: |
| description: |- |
| The header field name. |
| This will be canonicalized upon output, so case-variant names will be understood as the same header. |
| type: string |
| value: |
| description: The header field value |
| type: string |
| required: |
| - name |
| - value |
| type: object |
| type: array |
| x-kubernetes-list-type: atomic |
| path: |
| description: Path to access on the HTTP |
| server. |
| type: string |
| port: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| Name or number of the port to access on the container. |
| Number must be in the range 1 to 65535. |
| Name must be an IANA_SVC_NAME. |
| x-kubernetes-int-or-string: true |
| scheme: |
| description: |- |
| Scheme to use for connecting to the host. |
| Defaults to HTTP. |
| type: string |
| required: |
| - port |
| type: object |
| initialDelaySeconds: |
| description: |- |
| Number of seconds after the container has started before liveness probes are initiated. |
| More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
| format: int32 |
| type: integer |
| periodSeconds: |
| description: |- |
| How often (in seconds) to perform the probe. |
| Default to 10 seconds. Minimum value is 1. |
| format: int32 |
| type: integer |
| successThreshold: |
| description: |- |
| Minimum consecutive successes for the probe to be considered successful after having failed. |
| Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. |
| format: int32 |
| type: integer |
| tcpSocket: |
| description: TCPSocket specifies an action involving |
| a TCP port. |
| properties: |
| host: |
| description: 'Optional: Host name to connect |
| to, defaults to the pod IP.' |
| type: string |
| port: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| Number or name of the port to access on the container. |
| Number must be in the range 1 to 65535. |
| Name must be an IANA_SVC_NAME. |
| x-kubernetes-int-or-string: true |
| required: |
| - port |
| type: object |
| terminationGracePeriodSeconds: |
| description: |- |
| Optional duration in seconds the pod needs to terminate gracefully upon probe failure. |
| The grace period is the duration in seconds after the processes running in the pod are sent |
| a termination signal and the time when the processes are forcibly halted with a kill signal. |
| Set this value longer than the expected cleanup time for your process. |
| If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this |
| value overrides the value provided by the pod spec. |
| Value must be non-negative integer. The value zero indicates stop immediately via |
| the kill signal (no opportunity to shut down). |
| This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. |
| Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. |
| format: int64 |
| type: integer |
| timeoutSeconds: |
| description: |- |
| Number of seconds after which the probe times out. |
| Defaults to 1 second. Minimum value is 1. |
| More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
| format: int32 |
| type: integer |
| type: object |
| name: |
| description: |- |
| Name of the container specified as a DNS_LABEL. |
| Each container in a pod must have a unique name (DNS_LABEL). |
| Cannot be updated. |
| type: string |
| ports: |
| description: |- |
| List of ports to expose from the container. Not specifying a port here |
| DOES NOT prevent that port from being exposed. Any port which is |
| listening on the default "0.0.0.0" address inside a container will be |
| accessible from the network. |
| Modifying this array with strategic merge patch may corrupt the data. |
| For more information See https://github.com/kubernetes/kubernetes/issues/108255. |
| Cannot be updated. |
| items: |
| description: ContainerPort represents a network |
| port in a single container. |
| properties: |
| containerPort: |
| description: |- |
| Number of port to expose on the pod's IP address. |
| This must be a valid port number, 0 < x < 65536. |
| format: int32 |
| type: integer |
| hostIP: |
| description: What host IP to bind the external |
| port to. |
| type: string |
| hostPort: |
| description: |- |
| Number of port to expose on the host. |
| If specified, this must be a valid port number, 0 < x < 65536. |
| If HostNetwork is specified, this must match ContainerPort. |
| Most containers do not need this. |
| format: int32 |
| type: integer |
| name: |
| description: |- |
| If specified, this must be an IANA_SVC_NAME and unique within the pod. Each |
| named port in a pod must have a unique name. Name for the port that can be |
| referred to by services. |
| type: string |
| protocol: |
| default: TCP |
| description: |- |
| Protocol for port. Must be UDP, TCP, or SCTP. |
| Defaults to "TCP". |
| type: string |
| required: |
| - containerPort |
| type: object |
| type: array |
| x-kubernetes-list-map-keys: |
| - containerPort |
| - protocol |
| x-kubernetes-list-type: map |
| readinessProbe: |
| description: |- |
| Periodic probe of container service readiness. |
| Container will be removed from service endpoints if the probe fails. |
| Cannot be updated. |
| More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
| properties: |
| exec: |
| description: Exec specifies the action to take. |
| properties: |
| command: |
| description: |- |
| Command is the command line to execute inside the container, the working directory for the |
| command is root ('/') in the container's filesystem. The command is simply exec'd, it is |
| not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use |
| a shell, you need to explicitly call out to that shell. |
| Exit status of 0 is treated as live/healthy and non-zero is unhealthy. |
| items: |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| type: object |
| failureThreshold: |
| description: |- |
| Minimum consecutive failures for the probe to be considered failed after having succeeded. |
| Defaults to 3. Minimum value is 1. |
| format: int32 |
| type: integer |
| grpc: |
| description: GRPC specifies an action involving |
| a GRPC port. |
| properties: |
| port: |
| description: Port number of the gRPC service. |
| Number must be in the range 1 to 65535. |
| format: int32 |
| type: integer |
| service: |
| description: |- |
| Service is the name of the service to place in the gRPC HealthCheckRequest |
| (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). |
| |
| |
| If this is not specified, the default behavior is defined by gRPC. |
| type: string |
| required: |
| - port |
| type: object |
| httpGet: |
| description: HTTPGet specifies the http request |
| to perform. |
| properties: |
| host: |
| description: |- |
| Host name to connect to, defaults to the pod IP. You probably want to set |
| "Host" in httpHeaders instead. |
| type: string |
| httpHeaders: |
| description: Custom headers to set in the |
| request. HTTP allows repeated headers. |
| items: |
| description: HTTPHeader describes a custom |
| header to be used in HTTP probes |
| properties: |
| name: |
| description: |- |
| The header field name. |
| This will be canonicalized upon output, so case-variant names will be understood as the same header. |
| type: string |
| value: |
| description: The header field value |
| type: string |
| required: |
| - name |
| - value |
| type: object |
| type: array |
| x-kubernetes-list-type: atomic |
| path: |
| description: Path to access on the HTTP |
| server. |
| type: string |
| port: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| Name or number of the port to access on the container. |
| Number must be in the range 1 to 65535. |
| Name must be an IANA_SVC_NAME. |
| x-kubernetes-int-or-string: true |
| scheme: |
| description: |- |
| Scheme to use for connecting to the host. |
| Defaults to HTTP. |
| type: string |
| required: |
| - port |
| type: object |
| initialDelaySeconds: |
| description: |- |
| Number of seconds after the container has started before liveness probes are initiated. |
| More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
| format: int32 |
| type: integer |
| periodSeconds: |
| description: |- |
| How often (in seconds) to perform the probe. |
| Default to 10 seconds. Minimum value is 1. |
| format: int32 |
| type: integer |
| successThreshold: |
| description: |- |
| Minimum consecutive successes for the probe to be considered successful after having failed. |
| Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. |
| format: int32 |
| type: integer |
| tcpSocket: |
| description: TCPSocket specifies an action involving |
| a TCP port. |
| properties: |
| host: |
| description: 'Optional: Host name to connect |
| to, defaults to the pod IP.' |
| type: string |
| port: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| Number or name of the port to access on the container. |
| Number must be in the range 1 to 65535. |
| Name must be an IANA_SVC_NAME. |
| x-kubernetes-int-or-string: true |
| required: |
| - port |
| type: object |
| terminationGracePeriodSeconds: |
| description: |- |
| Optional duration in seconds the pod needs to terminate gracefully upon probe failure. |
| The grace period is the duration in seconds after the processes running in the pod are sent |
| a termination signal and the time when the processes are forcibly halted with a kill signal. |
| Set this value longer than the expected cleanup time for your process. |
| If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this |
| value overrides the value provided by the pod spec. |
| Value must be non-negative integer. The value zero indicates stop immediately via |
| the kill signal (no opportunity to shut down). |
| This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. |
| Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. |
| format: int64 |
| type: integer |
| timeoutSeconds: |
| description: |- |
| Number of seconds after which the probe times out. |
| Defaults to 1 second. Minimum value is 1. |
| More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
| format: int32 |
| type: integer |
| type: object |
| resizePolicy: |
| description: Resources resize policy for the container. |
| items: |
| description: ContainerResizePolicy represents |
| resource resize policy for the container. |
| properties: |
| resourceName: |
| description: |- |
| Name of the resource to which this resource resize policy applies. |
| Supported values: cpu, memory. |
| type: string |
| restartPolicy: |
| description: |- |
| Restart policy to apply when specified resource is resized. |
| If not specified, it defaults to NotRequired. |
| type: string |
| required: |
| - resourceName |
| - restartPolicy |
| type: object |
| type: array |
| x-kubernetes-list-type: atomic |
| resources: |
| description: |- |
| Compute Resources required by this container. |
| Cannot be updated. |
| More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ |
| properties: |
| claims: |
| description: |- |
| Claims lists the names of resources, defined in spec.resourceClaims, |
| that are used by this container. |
| |
| |
| This is an alpha field and requires enabling the |
| DynamicResourceAllocation feature gate. |
| |
| |
| This field is immutable. It can only be set for containers. |
| items: |
| description: ResourceClaim references one |
| entry in PodSpec.ResourceClaims. |
| properties: |
| name: |
| description: |- |
| Name must match the name of one entry in pod.spec.resourceClaims of |
| the Pod where this field is used. It makes that resource available |
| inside a container. |
| type: string |
| required: |
| - name |
| type: object |
| type: array |
| x-kubernetes-list-map-keys: |
| - name |
| x-kubernetes-list-type: map |
| limits: |
| additionalProperties: |
| anyOf: |
| - type: integer |
| - type: string |
| pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ |
| x-kubernetes-int-or-string: true |
| description: |- |
| Limits describes the maximum amount of compute resources allowed. |
| More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ |
| type: object |
| requests: |
| additionalProperties: |
| anyOf: |
| - type: integer |
| - type: string |
| pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ |
| x-kubernetes-int-or-string: true |
| description: |- |
| Requests describes the minimum amount of compute resources required. |
| If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, |
| otherwise to an implementation-defined value. Requests cannot exceed Limits. |
| More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ |
| type: object |
| type: object |
| restartPolicy: |
| description: |- |
| RestartPolicy defines the restart behavior of individual containers in a pod. |
| This field may only be set for init containers, and the only allowed value is "Always". |
| For non-init containers or when this field is not specified, |
| the restart behavior is defined by the Pod's restart policy and the container type. |
| Setting the RestartPolicy as "Always" for the init container will have the following effect: |
| this init container will be continually restarted on |
| exit until all regular containers have terminated. Once all regular |
| containers have completed, all init containers with restartPolicy "Always" |
| will be shut down. This lifecycle differs from normal init containers and |
| is often referred to as a "sidecar" container. Although this init |
| container still starts in the init container sequence, it does not wait |
| for the container to complete before proceeding to the next init |
| container. Instead, the next init container starts immediately after this |
| init container is started, or after any startupProbe has successfully |
| completed. |
| type: string |
| securityContext: |
| description: |- |
| SecurityContext defines the security options the container should be run with. |
| If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext. |
| More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ |
| properties: |
| allowPrivilegeEscalation: |
| description: |- |
| AllowPrivilegeEscalation controls whether a process can gain more |
| privileges than its parent process. This bool directly controls if |
| the no_new_privs flag will be set on the container process. |
| AllowPrivilegeEscalation is true always when the container is: |
| 1) run as Privileged |
| 2) has CAP_SYS_ADMIN |
| Note that this field cannot be set when spec.os.name is windows. |
| type: boolean |
| appArmorProfile: |
| description: |- |
| appArmorProfile is the AppArmor options to use by this container. If set, this profile |
| overrides the pod's appArmorProfile. |
| Note that this field cannot be set when spec.os.name is windows. |
| properties: |
| localhostProfile: |
| description: |- |
| localhostProfile indicates a profile loaded on the node that should be used. |
| The profile must be preconfigured on the node to work. |
| Must match the loaded name of the profile. |
| Must be set if and only if type is "Localhost". |
| type: string |
| type: |
| description: |- |
| type indicates which kind of AppArmor profile will be applied. |
| Valid options are: |
| Localhost - a profile pre-loaded on the node. |
| RuntimeDefault - the container runtime's default profile. |
| Unconfined - no AppArmor enforcement. |
| type: string |
| required: |
| - type |
| type: object |
| capabilities: |
| description: |- |
| The capabilities to add/drop when running containers. |
| Defaults to the default set of capabilities granted by the container runtime. |
| Note that this field cannot be set when spec.os.name is windows. |
| properties: |
| add: |
| description: Added capabilities |
| items: |
| description: Capability represent POSIX |
| capabilities type |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| drop: |
| description: Removed capabilities |
| items: |
| description: Capability represent POSIX |
| capabilities type |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| type: object |
| privileged: |
| description: |- |
| Run container in privileged mode. |
| Processes in privileged containers are essentially equivalent to root on the host. |
| Defaults to false. |
| Note that this field cannot be set when spec.os.name is windows. |
| type: boolean |
| procMount: |
| description: |- |
| procMount denotes the type of proc mount to use for the containers. |
| The default is DefaultProcMount which uses the container runtime defaults for |
| readonly paths and masked paths. |
| This requires the ProcMountType feature flag to be enabled. |
| Note that this field cannot be set when spec.os.name is windows. |
| type: string |
| readOnlyRootFilesystem: |
| description: |- |
| Whether this container has a read-only root filesystem. |
| Default is false. |
| Note that this field cannot be set when spec.os.name is windows. |
| type: boolean |
| runAsGroup: |
| description: |- |
| The GID to run the entrypoint of the container process. |
| Uses runtime default if unset. |
| May also be set in PodSecurityContext. If set in both SecurityContext and |
| PodSecurityContext, the value specified in SecurityContext takes precedence. |
| Note that this field cannot be set when spec.os.name is windows. |
| format: int64 |
| type: integer |
| runAsNonRoot: |
| description: |- |
| Indicates that the container must run as a non-root user. |
| If true, the Kubelet will validate the image at runtime to ensure that it |
| does not run as UID 0 (root) and fail to start the container if it does. |
| If unset or false, no such validation will be performed. |
| May also be set in PodSecurityContext. If set in both SecurityContext and |
| PodSecurityContext, the value specified in SecurityContext takes precedence. |
| type: boolean |
| runAsUser: |
| description: |- |
| The UID to run the entrypoint of the container process. |
| Defaults to user specified in image metadata if unspecified. |
| May also be set in PodSecurityContext. If set in both SecurityContext and |
| PodSecurityContext, the value specified in SecurityContext takes precedence. |
| Note that this field cannot be set when spec.os.name is windows. |
| format: int64 |
| type: integer |
| seLinuxOptions: |
| description: |- |
| The SELinux context to be applied to the container. |
| If unspecified, the container runtime will allocate a random SELinux context for each |
| container. May also be set in PodSecurityContext. If set in both SecurityContext and |
| PodSecurityContext, the value specified in SecurityContext takes precedence. |
| Note that this field cannot be set when spec.os.name is windows. |
| properties: |
| level: |
| description: Level is SELinux level label |
| that applies to the container. |
| type: string |
| role: |
| description: Role is a SELinux role label |
| that applies to the container. |
| type: string |
| type: |
| description: Type is a SELinux type label |
| that applies to the container. |
| type: string |
| user: |
| description: User is a SELinux user label |
| that applies to the container. |
| type: string |
| type: object |
| seccompProfile: |
| description: |- |
| The seccomp options to use by this container. If seccomp options are |
| provided at both the pod & container level, the container options |
| override the pod options. |
| Note that this field cannot be set when spec.os.name is windows. |
| properties: |
| localhostProfile: |
| description: |- |
| localhostProfile indicates a profile defined in a file on the node should be used. |
| The profile must be preconfigured on the node to work. |
| Must be a descending path, relative to the kubelet's configured seccomp profile location. |
| Must be set if type is "Localhost". Must NOT be set for any other type. |
| type: string |
| type: |
| description: |- |
| type indicates which kind of seccomp profile will be applied. |
| Valid options are: |
| |
| |
| Localhost - a profile defined in a file on the node should be used. |
| RuntimeDefault - the container runtime default profile should be used. |
| Unconfined - no profile should be applied. |
| type: string |
| required: |
| - type |
| type: object |
| windowsOptions: |
| description: |- |
| The Windows specific settings applied to all containers. |
| If unspecified, the options from the PodSecurityContext will be used. |
| If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. |
| Note that this field cannot be set when spec.os.name is linux. |
| properties: |
| gmsaCredentialSpec: |
| description: |- |
| GMSACredentialSpec is where the GMSA admission webhook |
| (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the |
| GMSA credential spec named by the GMSACredentialSpecName field. |
| type: string |
| gmsaCredentialSpecName: |
| description: GMSACredentialSpecName is the |
| name of the GMSA credential spec to use. |
| type: string |
| hostProcess: |
| description: |- |
| HostProcess determines if a container should be run as a 'Host Process' container. |
| All of a Pod's containers must have the same effective HostProcess value |
| (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). |
| In addition, if HostProcess is true then HostNetwork must also be set to true. |
| type: boolean |
| runAsUserName: |
| description: |- |
| The UserName in Windows to run the entrypoint of the container process. |
| Defaults to the user specified in image metadata if unspecified. |
| May also be set in PodSecurityContext. If set in both SecurityContext and |
| PodSecurityContext, the value specified in SecurityContext takes precedence. |
| type: string |
| type: object |
| type: object |
| startupProbe: |
| description: |- |
| StartupProbe indicates that the Pod has successfully initialized. |
| If specified, no other probes are executed until this completes successfully. |
| If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. |
| This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, |
| when it might take a long time to load data or warm a cache, than during steady-state operation. |
| This cannot be updated. |
| More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
| properties: |
| exec: |
| description: Exec specifies the action to take. |
| properties: |
| command: |
| description: |- |
| Command is the command line to execute inside the container, the working directory for the |
| command is root ('/') in the container's filesystem. The command is simply exec'd, it is |
| not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use |
| a shell, you need to explicitly call out to that shell. |
| Exit status of 0 is treated as live/healthy and non-zero is unhealthy. |
| items: |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| type: object |
| failureThreshold: |
| description: |- |
| Minimum consecutive failures for the probe to be considered failed after having succeeded. |
| Defaults to 3. Minimum value is 1. |
| format: int32 |
| type: integer |
| grpc: |
| description: GRPC specifies an action involving |
| a GRPC port. |
| properties: |
| port: |
| description: Port number of the gRPC service. |
| Number must be in the range 1 to 65535. |
| format: int32 |
| type: integer |
| service: |
| description: |- |
| Service is the name of the service to place in the gRPC HealthCheckRequest |
| (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). |
| |
| |
| If this is not specified, the default behavior is defined by gRPC. |
| type: string |
| required: |
| - port |
| type: object |
| httpGet: |
| description: HTTPGet specifies the http request |
| to perform. |
| properties: |
| host: |
| description: |- |
| Host name to connect to, defaults to the pod IP. You probably want to set |
| "Host" in httpHeaders instead. |
| type: string |
| httpHeaders: |
| description: Custom headers to set in the |
| request. HTTP allows repeated headers. |
| items: |
| description: HTTPHeader describes a custom |
| header to be used in HTTP probes |
| properties: |
| name: |
| description: |- |
| The header field name. |
| This will be canonicalized upon output, so case-variant names will be understood as the same header. |
| type: string |
| value: |
| description: The header field value |
| type: string |
| required: |
| - name |
| - value |
| type: object |
| type: array |
| x-kubernetes-list-type: atomic |
| path: |
| description: Path to access on the HTTP |
| server. |
| type: string |
| port: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| Name or number of the port to access on the container. |
| Number must be in the range 1 to 65535. |
| Name must be an IANA_SVC_NAME. |
| x-kubernetes-int-or-string: true |
| scheme: |
| description: |- |
| Scheme to use for connecting to the host. |
| Defaults to HTTP. |
| type: string |
| required: |
| - port |
| type: object |
| initialDelaySeconds: |
| description: |- |
| Number of seconds after the container has started before liveness probes are initiated. |
| More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
| format: int32 |
| type: integer |
| periodSeconds: |
| description: |- |
| How often (in seconds) to perform the probe. |
| Default to 10 seconds. Minimum value is 1. |
| format: int32 |
| type: integer |
| successThreshold: |
| description: |- |
| Minimum consecutive successes for the probe to be considered successful after having failed. |
| Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. |
| format: int32 |
| type: integer |
| tcpSocket: |
| description: TCPSocket specifies an action involving |
| a TCP port. |
| properties: |
| host: |
| description: 'Optional: Host name to connect |
| to, defaults to the pod IP.' |
| type: string |
| port: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| Number or name of the port to access on the container. |
| Number must be in the range 1 to 65535. |
| Name must be an IANA_SVC_NAME. |
| x-kubernetes-int-or-string: true |
| required: |
| - port |
| type: object |
| terminationGracePeriodSeconds: |
| description: |- |
| Optional duration in seconds the pod needs to terminate gracefully upon probe failure. |
| The grace period is the duration in seconds after the processes running in the pod are sent |
| a termination signal and the time when the processes are forcibly halted with a kill signal. |
| Set this value longer than the expected cleanup time for your process. |
| If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this |
| value overrides the value provided by the pod spec. |
| Value must be non-negative integer. The value zero indicates stop immediately via |
| the kill signal (no opportunity to shut down). |
| This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. |
| Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. |
| format: int64 |
| type: integer |
| timeoutSeconds: |
| description: |- |
| Number of seconds after which the probe times out. |
| Defaults to 1 second. Minimum value is 1. |
| More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
| format: int32 |
| type: integer |
| type: object |
| stdin: |
| description: |- |
| Whether this container should allocate a buffer for stdin in the container runtime. If this |
| is not set, reads from stdin in the container will always result in EOF. |
| Default is false. |
| type: boolean |
| stdinOnce: |
| description: |- |
| Whether the container runtime should close the stdin channel after it has been opened by |
| a single attach. When stdin is true the stdin stream will remain open across multiple attach |
| sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the |
| first client attaches to stdin, and then remains open and accepts data until the client disconnects, |
| at which time stdin is closed and remains closed until the container is restarted. If this |
| flag is false, a container processes that reads from stdin will never receive an EOF. |
| Default is false |
| type: boolean |
| terminationMessagePath: |
| description: |- |
| Optional: Path at which the file to which the container's termination message |
| will be written is mounted into the container's filesystem. |
| Message written is intended to be brief final status, such as an assertion failure message. |
| Will be truncated by the node if greater than 4096 bytes. The total message length across |
| all containers will be limited to 12kb. |
| Defaults to /dev/termination-log. |
| Cannot be updated. |
| type: string |
| terminationMessagePolicy: |
| description: |- |
| Indicate how the termination message should be populated. File will use the contents of |
| terminationMessagePath to populate the container status message on both success and failure. |
| FallbackToLogsOnError will use the last chunk of container log output if the termination |
| message file is empty and the container exited with an error. |
| The log output is limited to 2048 bytes or 80 lines, whichever is smaller. |
| Defaults to File. |
| Cannot be updated. |
| type: string |
| tty: |
| description: |- |
| Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. |
| Default is false. |
| type: boolean |
| volumeDevices: |
| description: volumeDevices is the list of block |
| devices to be used by the container. |
| items: |
| description: volumeDevice describes a mapping |
| of a raw block device within a container. |
| properties: |
| devicePath: |
| description: devicePath is the path inside |
| of the container that the device will be |
| mapped to. |
| type: string |
| name: |
| description: name must match the name of a |
| persistentVolumeClaim in the pod |
| type: string |
| required: |
| - devicePath |
| - name |
| type: object |
| type: array |
| x-kubernetes-list-map-keys: |
| - devicePath |
| x-kubernetes-list-type: map |
| volumeMounts: |
| description: |- |
| Pod volumes to mount into the container's filesystem. |
| Cannot be updated. |
| items: |
| description: VolumeMount describes a mounting |
| of a Volume within a container. |
| properties: |
| mountPath: |
| description: |- |
| Path within the container at which the volume should be mounted. Must |
| not contain ':'. |
| type: string |
| mountPropagation: |
| description: |- |
| mountPropagation determines how mounts are propagated from the host |
| to container and the other way around. |
| When not set, MountPropagationNone is used. |
| This field is beta in 1.10. |
| When RecursiveReadOnly is set to IfPossible or to Enabled, MountPropagation must be None or unspecified |
| (which defaults to None). |
| type: string |
| name: |
| description: This must match the Name of a |
| Volume. |
| type: string |
| readOnly: |
| description: |- |
| Mounted read-only if true, read-write otherwise (false or unspecified). |
| Defaults to false. |
| type: boolean |
| recursiveReadOnly: |
| description: |- |
| RecursiveReadOnly specifies whether read-only mounts should be handled |
| recursively. |
| |
| |
| If ReadOnly is false, this field has no meaning and must be unspecified. |
| |
| |
| If ReadOnly is true, and this field is set to Disabled, the mount is not made |
| recursively read-only. If this field is set to IfPossible, the mount is made |
| recursively read-only, if it is supported by the container runtime. If this |
| field is set to Enabled, the mount is made recursively read-only if it is |
| supported by the container runtime, otherwise the pod will not be started and |
| an error will be generated to indicate the reason. |
| |
| |
| If this field is set to IfPossible or Enabled, MountPropagation must be set to |
| None (or be unspecified, which defaults to None). |
| |
| |
| If this field is not specified, it is treated as an equivalent of Disabled. |
| type: string |
| subPath: |
| description: |- |
| Path within the volume from which the container's volume should be mounted. |
| Defaults to "" (volume's root). |
| type: string |
| subPathExpr: |
| description: |- |
| Expanded path within the volume from which the container's volume should be mounted. |
| Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. |
| Defaults to "" (volume's root). |
| SubPathExpr and SubPath are mutually exclusive. |
| type: string |
| required: |
| - mountPath |
| - name |
| type: object |
| type: array |
| x-kubernetes-list-map-keys: |
| - mountPath |
| x-kubernetes-list-type: map |
| workingDir: |
| description: |- |
| Container's working directory. |
| If not specified, the container runtime's default will be used, which |
| might be configured in the container image. |
| Cannot be updated. |
| type: string |
| required: |
| - name |
| type: object |
| type: array |
| nodeSelector: |
| additionalProperties: |
| type: string |
| description: NodeSelector |
| type: object |
| restartPolicy: |
| description: RestartPolicy |
| type: string |
| securityContext: |
| description: PodSecurityContext |
| properties: |
| appArmorProfile: |
| description: |- |
| appArmorProfile is the AppArmor options to use by the containers in this pod. |
| Note that this field cannot be set when spec.os.name is windows. |
| properties: |
| localhostProfile: |
| description: |- |
| localhostProfile indicates a profile loaded on the node that should be used. |
| The profile must be preconfigured on the node to work. |
| Must match the loaded name of the profile. |
| Must be set if and only if type is "Localhost". |
| type: string |
| type: |
| description: |- |
| type indicates which kind of AppArmor profile will be applied. |
| Valid options are: |
| Localhost - a profile pre-loaded on the node. |
| RuntimeDefault - the container runtime's default profile. |
| Unconfined - no AppArmor enforcement. |
| type: string |
| required: |
| - type |
| type: object |
| fsGroup: |
| description: |- |
| A special supplemental group that applies to all containers in a pod. |
| Some volume types allow the Kubelet to change the ownership of that volume |
| to be owned by the pod: |
| |
| |
| 1. The owning GID will be the FSGroup |
| 2. The setgid bit is set (new files created in the volume will be owned by FSGroup) |
| 3. The permission bits are OR'd with rw-rw---- |
| |
| |
| If unset, the Kubelet will not modify the ownership and permissions of any volume. |
| Note that this field cannot be set when spec.os.name is windows. |
| format: int64 |
| type: integer |
| fsGroupChangePolicy: |
| description: |- |
| fsGroupChangePolicy defines behavior of changing ownership and permission of the volume |
| before being exposed inside Pod. This field will only apply to |
| volume types which support fsGroup based ownership(and permissions). |
| It will have no effect on ephemeral volume types such as: secret, configmaps |
| and emptydir. |
| Valid values are "OnRootMismatch" and "Always". If not specified, "Always" is used. |
| Note that this field cannot be set when spec.os.name is windows. |
| type: string |
| runAsGroup: |
| description: |- |
| The GID to run the entrypoint of the container process. |
| Uses runtime default if unset. |
| May also be set in SecurityContext. If set in both SecurityContext and |
| PodSecurityContext, the value specified in SecurityContext takes precedence |
| for that container. |
| Note that this field cannot be set when spec.os.name is windows. |
| format: int64 |
| type: integer |
| runAsNonRoot: |
| description: |- |
| Indicates that the container must run as a non-root user. |
| If true, the Kubelet will validate the image at runtime to ensure that it |
| does not run as UID 0 (root) and fail to start the container if it does. |
| If unset or false, no such validation will be performed. |
| May also be set in SecurityContext. If set in both SecurityContext and |
| PodSecurityContext, the value specified in SecurityContext takes precedence. |
| type: boolean |
| runAsUser: |
| description: |- |
| The UID to run the entrypoint of the container process. |
| Defaults to user specified in image metadata if unspecified. |
| May also be set in SecurityContext. If set in both SecurityContext and |
| PodSecurityContext, the value specified in SecurityContext takes precedence |
| for that container. |
| Note that this field cannot be set when spec.os.name is windows. |
| format: int64 |
| type: integer |
| seLinuxOptions: |
| description: |- |
| The SELinux context to be applied to all containers. |
| If unspecified, the container runtime will allocate a random SELinux context for each |
| container. May also be set in SecurityContext. If set in |
| both SecurityContext and PodSecurityContext, the value specified in SecurityContext |
| takes precedence for that container. |
| Note that this field cannot be set when spec.os.name is windows. |
| properties: |
| level: |
| description: Level is SELinux level label that |
| applies to the container. |
| type: string |
| role: |
| description: Role is a SELinux role label that |
| applies to the container. |
| type: string |
| type: |
| description: Type is a SELinux type label that |
| applies to the container. |
| type: string |
| user: |
| description: User is a SELinux user label that |
| applies to the container. |
| type: string |
| type: object |
| seccompProfile: |
| description: |- |
| The seccomp options to use by the containers in this pod. |
| Note that this field cannot be set when spec.os.name is windows. |
| properties: |
| localhostProfile: |
| description: |- |
| localhostProfile indicates a profile defined in a file on the node should be used. |
| The profile must be preconfigured on the node to work. |
| Must be a descending path, relative to the kubelet's configured seccomp profile location. |
| Must be set if type is "Localhost". Must NOT be set for any other type. |
| type: string |
| type: |
| description: |- |
| type indicates which kind of seccomp profile will be applied. |
| Valid options are: |
| |
| |
| Localhost - a profile defined in a file on the node should be used. |
| RuntimeDefault - the container runtime default profile should be used. |
| Unconfined - no profile should be applied. |
| type: string |
| required: |
| - type |
| type: object |
| supplementalGroups: |
| description: |- |
| A list of groups applied to the first process run in each container, in addition |
| to the container's primary GID, the fsGroup (if specified), and group memberships |
| defined in the container image for the uid of the container process. If unspecified, |
| no additional groups are added to any container. Note that group memberships |
| defined in the container image for the uid of the container process are still effective, |
| even if they are not included in this list. |
| Note that this field cannot be set when spec.os.name is windows. |
| items: |
| format: int64 |
| type: integer |
| type: array |
| x-kubernetes-list-type: atomic |
| sysctls: |
| description: |- |
| Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported |
| sysctls (by the container runtime) might fail to launch. |
| Note that this field cannot be set when spec.os.name is windows. |
| items: |
| description: Sysctl defines a kernel parameter to |
| be set |
| properties: |
| name: |
| description: Name of a property to set |
| type: string |
| value: |
| description: Value of a property to set |
| type: string |
| required: |
| - name |
| - value |
| type: object |
| type: array |
| x-kubernetes-list-type: atomic |
| windowsOptions: |
| description: |- |
| The Windows specific settings applied to all containers. |
| If unspecified, the options within a container's SecurityContext will be used. |
| If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. |
| Note that this field cannot be set when spec.os.name is linux. |
| properties: |
| gmsaCredentialSpec: |
| description: |- |
| GMSACredentialSpec is where the GMSA admission webhook |
| (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the |
| GMSA credential spec named by the GMSACredentialSpecName field. |
| type: string |
| gmsaCredentialSpecName: |
| description: GMSACredentialSpecName is the name |
| of the GMSA credential spec to use. |
| type: string |
| hostProcess: |
| description: |- |
| HostProcess determines if a container should be run as a 'Host Process' container. |
| All of a Pod's containers must have the same effective HostProcess value |
| (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). |
| In addition, if HostProcess is true then HostNetwork must also be set to true. |
| type: boolean |
| runAsUserName: |
| description: |- |
| The UserName in Windows to run the entrypoint of the container process. |
| Defaults to the user specified in image metadata if unspecified. |
| May also be set in PodSecurityContext. If set in both SecurityContext and |
| PodSecurityContext, the value specified in SecurityContext takes precedence. |
| type: string |
| type: object |
| type: object |
| terminationGracePeriodSeconds: |
| description: TerminationGracePeriodSeconds |
| format: int64 |
| type: integer |
| topologySpreadConstraints: |
| description: TopologySpreadConstraints |
| items: |
| description: TopologySpreadConstraint specifies how |
| to spread matching pods among the given topology. |
| properties: |
| labelSelector: |
| description: |- |
| LabelSelector is used to find matching pods. |
| Pods that match this label selector are counted to determine the number of pods |
| in their corresponding topology domain. |
| properties: |
| matchExpressions: |
| description: matchExpressions is a list of label |
| selector requirements. The requirements are |
| ANDed. |
| items: |
| description: |- |
| A label selector requirement is a selector that contains values, a key, and an operator that |
| relates the key and values. |
| properties: |
| key: |
| description: key is the label key that |
| the selector applies to. |
| type: string |
| operator: |
| description: |- |
| operator represents a key's relationship to a set of values. |
| Valid operators are In, NotIn, Exists and DoesNotExist. |
| type: string |
| values: |
| description: |- |
| values is an array of string values. If the operator is In or NotIn, |
| the values array must be non-empty. If the operator is Exists or DoesNotExist, |
| the values array must be empty. This array is replaced during a strategic |
| merge patch. |
| items: |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| required: |
| - key |
| - operator |
| type: object |
| type: array |
| x-kubernetes-list-type: atomic |
| matchLabels: |
| additionalProperties: |
| type: string |
| description: |- |
| matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels |
| map is equivalent to an element of matchExpressions, whose key field is "key", the |
| operator is "In", and the values array contains only "value". The requirements are ANDed. |
| type: object |
| type: object |
| x-kubernetes-map-type: atomic |
| matchLabelKeys: |
| description: |- |
| MatchLabelKeys is a set of pod label keys to select the pods over which |
| spreading will be calculated. The keys are used to lookup values from the |
| incoming pod labels, those key-value labels are ANDed with labelSelector |
| to select the group of existing pods over which spreading will be calculated |
| for the incoming pod. The same key is forbidden to exist in both MatchLabelKeys and LabelSelector. |
| MatchLabelKeys cannot be set when LabelSelector isn't set. |
| Keys that don't exist in the incoming pod labels will |
| be ignored. A null or empty list means only match against labelSelector. |
| |
| |
| This is a beta field and requires the MatchLabelKeysInPodTopologySpread feature gate to be enabled (enabled by default). |
| items: |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| maxSkew: |
| description: |- |
| MaxSkew describes the degree to which pods may be unevenly distributed. |
| When `whenUnsatisfiable=DoNotSchedule`, it is the maximum permitted difference |
| between the number of matching pods in the target topology and the global minimum. |
| The global minimum is the minimum number of matching pods in an eligible domain |
| or zero if the number of eligible domains is less than MinDomains. |
| For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same |
| labelSelector spread as 2/2/1: |
| In this case, the global minimum is 1. |
| | zone1 | zone2 | zone3 | |
| | P P | P P | P | |
| - if MaxSkew is 1, incoming pod can only be scheduled to zone3 to become 2/2/2; |
| scheduling it onto zone1(zone2) would make the ActualSkew(3-1) on zone1(zone2) |
| violate MaxSkew(1). |
| - if MaxSkew is 2, incoming pod can be scheduled onto any zone. |
| When `whenUnsatisfiable=ScheduleAnyway`, it is used to give higher precedence |
| to topologies that satisfy it. |
| It's a required field. Default value is 1 and 0 is not allowed. |
| format: int32 |
| type: integer |
| minDomains: |
| description: |- |
| MinDomains indicates a minimum number of eligible domains. |
| When the number of eligible domains with matching topology keys is less than minDomains, |
| Pod Topology Spread treats "global minimum" as 0, and then the calculation of Skew is performed. |
| And when the number of eligible domains with matching topology keys equals or greater than minDomains, |
| this value has no effect on scheduling. |
| As a result, when the number of eligible domains is less than minDomains, |
| scheduler won't schedule more than maxSkew Pods to those domains. |
| If value is nil, the constraint behaves as if MinDomains is equal to 1. |
| Valid values are integers greater than 0. |
| When value is not nil, WhenUnsatisfiable must be DoNotSchedule. |
| |
| |
| For example, in a 3-zone cluster, MaxSkew is set to 2, MinDomains is set to 5 and pods with the same |
| labelSelector spread as 2/2/2: |
| | zone1 | zone2 | zone3 | |
| | P P | P P | P P | |
| The number of domains is less than 5(MinDomains), so "global minimum" is treated as 0. |
| In this situation, new pod with the same labelSelector cannot be scheduled, |
| because computed skew will be 3(3 - 0) if new Pod is scheduled to any of the three zones, |
| it will violate MaxSkew. |
| format: int32 |
| type: integer |
| nodeAffinityPolicy: |
| description: |- |
| NodeAffinityPolicy indicates how we will treat Pod's nodeAffinity/nodeSelector |
| when calculating pod topology spread skew. Options are: |
| - Honor: only nodes matching nodeAffinity/nodeSelector are included in the calculations. |
| - Ignore: nodeAffinity/nodeSelector are ignored. All nodes are included in the calculations. |
| |
| |
| If this value is nil, the behavior is equivalent to the Honor policy. |
| This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag. |
| type: string |
| nodeTaintsPolicy: |
| description: |- |
| NodeTaintsPolicy indicates how we will treat node taints when calculating |
| pod topology spread skew. Options are: |
| - Honor: nodes without taints, along with tainted nodes for which the incoming pod |
| has a toleration, are included. |
| - Ignore: node taints are ignored. All nodes are included. |
| |
| |
| If this value is nil, the behavior is equivalent to the Ignore policy. |
| This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag. |
| type: string |
| topologyKey: |
| description: |- |
| TopologyKey is the key of node labels. Nodes that have a label with this key |
| and identical values are considered to be in the same topology. |
| We consider each <key, value> as a "bucket", and try to put balanced number |
| of pods into each bucket. |
| We define a domain as a particular instance of a topology. |
| Also, we define an eligible domain as a domain whose nodes meet the requirements of |
| nodeAffinityPolicy and nodeTaintsPolicy. |
| e.g. If TopologyKey is "kubernetes.io/hostname", each Node is a domain of that topology. |
| And, if TopologyKey is "topology.kubernetes.io/zone", each zone is a domain of that topology. |
| It's a required field. |
| type: string |
| whenUnsatisfiable: |
| description: |- |
| WhenUnsatisfiable indicates how to deal with a pod if it doesn't satisfy |
| the spread constraint. |
| - DoNotSchedule (default) tells the scheduler not to schedule it. |
| - ScheduleAnyway tells the scheduler to schedule the pod in any location, |
| but giving higher precedence to topologies that would help reduce the |
| skew. |
| A constraint is considered "Unsatisfiable" for an incoming pod |
| if and only if every possible node assignment for that pod would violate |
| "MaxSkew" on some topology. |
| For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same |
| labelSelector spread as 3/1/1: |
| | zone1 | zone2 | zone3 | |
| | P P P | P | P | |
| If WhenUnsatisfiable is set to DoNotSchedule, incoming pod can only be scheduled |
| to zone2(zone3) to become 3/2/1(3/1/2) as ActualSkew(2-1) on zone2(zone3) satisfies |
| MaxSkew(1). In other words, the cluster can still be imbalanced, but scheduler |
| won't make it *more* imbalanced. |
| It's a required field. |
| type: string |
| required: |
| - maxSkew |
| - topologyKey |
| - whenUnsatisfiable |
| type: object |
| type: array |
| volumes: |
| description: Volumes |
| items: |
| description: Volume represents a named volume in a pod |
| that may be accessed by any container in the pod. |
| properties: |
| awsElasticBlockStore: |
| description: |- |
| awsElasticBlockStore represents an AWS Disk resource that is attached to a |
| kubelet's host machine and then exposed to the pod. |
| More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore |
| properties: |
| fsType: |
| description: |- |
| fsType is the filesystem type of the volume that you want to mount. |
| Tip: Ensure that the filesystem type is supported by the host operating system. |
| Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. |
| More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore |
| TODO: how do we prevent errors in the filesystem from compromising the machine |
| type: string |
| partition: |
| description: |- |
| partition is the partition in the volume that you want to mount. |
| If omitted, the default is to mount by volume name. |
| Examples: For volume /dev/sda1, you specify the partition as "1". |
| Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty). |
| format: int32 |
| type: integer |
| readOnly: |
| description: |- |
| readOnly value true will force the readOnly setting in VolumeMounts. |
| More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore |
| type: boolean |
| volumeID: |
| description: |- |
| volumeID is unique ID of the persistent disk resource in AWS (Amazon EBS volume). |
| More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore |
| type: string |
| required: |
| - volumeID |
| type: object |
| azureDisk: |
| description: azureDisk represents an Azure Data |
| Disk mount on the host and bind mount to the pod. |
| properties: |
| cachingMode: |
| description: 'cachingMode is the Host Caching |
| mode: None, Read Only, Read Write.' |
| type: string |
| diskName: |
| description: diskName is the Name of the data |
| disk in the blob storage |
| type: string |
| diskURI: |
| description: diskURI is the URI of data disk |
| in the blob storage |
| type: string |
| fsType: |
| description: |- |
| fsType is Filesystem type to mount. |
| Must be a filesystem type supported by the host operating system. |
| Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. |
| type: string |
| kind: |
| description: 'kind expected values are Shared: |
| multiple blob disks per storage account Dedicated: |
| single blob disk per storage account Managed: |
| azure managed data disk (only in managed availability |
| set). defaults to shared' |
| type: string |
| readOnly: |
| description: |- |
| readOnly Defaults to false (read/write). ReadOnly here will force |
| the ReadOnly setting in VolumeMounts. |
| type: boolean |
| required: |
| - diskName |
| - diskURI |
| type: object |
| azureFile: |
| description: azureFile represents an Azure File |
| Service mount on the host and bind mount to the |
| pod. |
| properties: |
| readOnly: |
| description: |- |
| readOnly defaults to false (read/write). ReadOnly here will force |
| the ReadOnly setting in VolumeMounts. |
| type: boolean |
| secretName: |
| description: secretName is the name of secret |
| that contains Azure Storage Account Name and |
| Key |
| type: string |
| shareName: |
| description: shareName is the azure share Name |
| type: string |
| required: |
| - secretName |
| - shareName |
| type: object |
| cephfs: |
| description: cephFS represents a Ceph FS mount on |
| the host that shares a pod's lifetime |
| properties: |
| monitors: |
| description: |- |
| monitors is Required: Monitors is a collection of Ceph monitors |
| More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it |
| items: |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| path: |
| description: 'path is Optional: Used as the |
| mounted root, rather than the full Ceph tree, |
| default is /' |
| type: string |
| readOnly: |
| description: |- |
| readOnly is Optional: Defaults to false (read/write). ReadOnly here will force |
| the ReadOnly setting in VolumeMounts. |
| More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it |
| type: boolean |
| secretFile: |
| description: |- |
| secretFile is Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret |
| More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it |
| type: string |
| secretRef: |
| description: |- |
| secretRef is Optional: SecretRef is reference to the authentication secret for User, default is empty. |
| More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it |
| properties: |
| name: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| type: object |
| x-kubernetes-map-type: atomic |
| user: |
| description: |- |
| user is optional: User is the rados user name, default is admin |
| More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it |
| type: string |
| required: |
| - monitors |
| type: object |
| cinder: |
| description: |- |
| cinder represents a cinder volume attached and mounted on kubelets host machine. |
| More info: https://examples.k8s.io/mysql-cinder-pd/README.md |
| properties: |
| fsType: |
| description: |- |
| fsType is the filesystem type to mount. |
| Must be a filesystem type supported by the host operating system. |
| Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. |
| More info: https://examples.k8s.io/mysql-cinder-pd/README.md |
| type: string |
| readOnly: |
| description: |- |
| readOnly defaults to false (read/write). ReadOnly here will force |
| the ReadOnly setting in VolumeMounts. |
| More info: https://examples.k8s.io/mysql-cinder-pd/README.md |
| type: boolean |
| secretRef: |
| description: |- |
| secretRef is optional: points to a secret object containing parameters used to connect |
| to OpenStack. |
| properties: |
| name: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| type: object |
| x-kubernetes-map-type: atomic |
| volumeID: |
| description: |- |
| volumeID used to identify the volume in cinder. |
| More info: https://examples.k8s.io/mysql-cinder-pd/README.md |
| type: string |
| required: |
| - volumeID |
| type: object |
| configMap: |
| description: configMap represents a configMap that |
| should populate this volume |
| properties: |
| defaultMode: |
| description: |- |
| defaultMode is optional: mode bits used to set permissions on created files by default. |
| Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. |
| YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. |
| Defaults to 0644. |
| Directories within the path are not affected by this setting. |
| This might be in conflict with other options that affect the file |
| mode, like fsGroup, and the result can be other mode bits set. |
| format: int32 |
| type: integer |
| items: |
| description: |- |
| items if unspecified, each key-value pair in the Data field of the referenced |
| ConfigMap will be projected into the volume as a file whose name is the |
| key and content is the value. If specified, the listed keys will be |
| projected into the specified paths, and unlisted keys will not be |
| present. If a key is specified which is not present in the ConfigMap, |
| the volume setup will error unless it is marked optional. Paths must be |
| relative and may not contain the '..' path or start with '..'. |
| items: |
| description: Maps a string key to a path within |
| a volume. |
| properties: |
| key: |
| description: key is the key to project. |
| type: string |
| mode: |
| description: |- |
| mode is Optional: mode bits used to set permissions on this file. |
| Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. |
| YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. |
| If not specified, the volume defaultMode will be used. |
| This might be in conflict with other options that affect the file |
| mode, like fsGroup, and the result can be other mode bits set. |
| format: int32 |
| type: integer |
| path: |
| description: |- |
| path is the relative path of the file to map the key to. |
| May not be an absolute path. |
| May not contain the path element '..'. |
| May not start with the string '..'. |
| type: string |
| required: |
| - key |
| - path |
| type: object |
| type: array |
| x-kubernetes-list-type: atomic |
| name: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: optional specify whether the ConfigMap |
| or its keys must be defined |
| type: boolean |
| type: object |
| x-kubernetes-map-type: atomic |
| csi: |
| description: csi (Container Storage Interface) represents |
| ephemeral storage that is handled by certain external |
| CSI drivers (Beta feature). |
| properties: |
| driver: |
| description: |- |
| driver is the name of the CSI driver that handles this volume. |
| Consult with your admin for the correct name as registered in the cluster. |
| type: string |
| fsType: |
| description: |- |
| fsType to mount. Ex. "ext4", "xfs", "ntfs". |
| If not provided, the empty value is passed to the associated CSI driver |
| which will determine the default filesystem to apply. |
| type: string |
| nodePublishSecretRef: |
| description: |- |
| nodePublishSecretRef is a reference to the secret object containing |
| sensitive information to pass to the CSI driver to complete the CSI |
| NodePublishVolume and NodeUnpublishVolume calls. |
| This field is optional, and may be empty if no secret is required. If the |
| secret object contains more than one secret, all secret references are passed. |
| properties: |
| name: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| type: object |
| x-kubernetes-map-type: atomic |
| readOnly: |
| description: |- |
| readOnly specifies a read-only configuration for the volume. |
| Defaults to false (read/write). |
| type: boolean |
| volumeAttributes: |
| additionalProperties: |
| type: string |
| description: |- |
| volumeAttributes stores driver-specific properties that are passed to the CSI |
| driver. Consult your driver's documentation for supported values. |
| type: object |
| required: |
| - driver |
| type: object |
| downwardAPI: |
| description: downwardAPI represents downward API |
| about the pod that should populate this volume |
| properties: |
| defaultMode: |
| description: |- |
| Optional: mode bits to use on created files by default. Must be a |
| Optional: mode bits used to set permissions on created files by default. |
| Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. |
| YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. |
| Defaults to 0644. |
| Directories within the path are not affected by this setting. |
| This might be in conflict with other options that affect the file |
| mode, like fsGroup, and the result can be other mode bits set. |
| format: int32 |
| type: integer |
| items: |
| description: Items is a list of downward API |
| volume file |
| items: |
| description: DownwardAPIVolumeFile represents |
| information to create the file containing |
| the pod field |
| properties: |
| fieldRef: |
| description: 'Required: Selects a field |
| of the pod: only annotations, labels, |
| name, namespace and uid are supported.' |
| properties: |
| apiVersion: |
| description: Version of the schema |
| the FieldPath is written in terms |
| of, defaults to "v1". |
| type: string |
| fieldPath: |
| description: Path of the field to |
| select in the specified API version. |
| type: string |
| required: |
| - fieldPath |
| type: object |
| x-kubernetes-map-type: atomic |
| mode: |
| description: |- |
| Optional: mode bits used to set permissions on this file, must be an octal value |
| between 0000 and 0777 or a decimal value between 0 and 511. |
| YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. |
| If not specified, the volume defaultMode will be used. |
| This might be in conflict with other options that affect the file |
| mode, like fsGroup, and the result can be other mode bits set. |
| format: int32 |
| type: integer |
| path: |
| description: 'Required: Path is the relative |
| path name of the file to be created. |
| Must not be absolute or contain the |
| ''..'' path. Must be utf-8 encoded. |
| The first item of the relative path |
| must not start with ''..''' |
| type: string |
| resourceFieldRef: |
| description: |- |
| Selects a resource of the container: only resources limits and requests |
| (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported. |
| properties: |
| containerName: |
| description: 'Container name: required |
| for volumes, optional for env vars' |
| type: string |
| divisor: |
| anyOf: |
| - type: integer |
| - type: string |
| description: Specifies the output |
| format of the exposed resources, |
| defaults to "1" |
| pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ |
| x-kubernetes-int-or-string: true |
| resource: |
| description: 'Required: resource to |
| select' |
| type: string |
| required: |
| - resource |
| type: object |
| x-kubernetes-map-type: atomic |
| required: |
| - path |
| type: object |
| type: array |
| x-kubernetes-list-type: atomic |
| type: object |
| emptyDir: |
| description: |- |
| emptyDir represents a temporary directory that shares a pod's lifetime. |
| More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir |
| properties: |
| medium: |
| description: |- |
| medium represents what type of storage medium should back this directory. |
| The default is "" which means to use the node's default medium. |
| Must be an empty string (default) or Memory. |
| More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir |
| type: string |
| sizeLimit: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| sizeLimit is the total amount of local storage required for this EmptyDir volume. |
| The size limit is also applicable for memory medium. |
| The maximum usage on memory medium EmptyDir would be the minimum value between |
| the SizeLimit specified here and the sum of memory limits of all containers in a pod. |
| The default is nil which means that the limit is undefined. |
| More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir |
| pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ |
| x-kubernetes-int-or-string: true |
| type: object |
| ephemeral: |
| description: |- |
| ephemeral represents a volume that is handled by a cluster storage driver. |
| The volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts, |
| and deleted when the pod is removed. |
| |
| |
| Use this if: |
| a) the volume is only needed while the pod runs, |
| b) features of normal volumes like restoring from snapshot or capacity |
| tracking are needed, |
| c) the storage driver is specified through a storage class, and |
| d) the storage driver supports dynamic volume provisioning through |
| a PersistentVolumeClaim (see EphemeralVolumeSource for more |
| information on the connection between this volume type |
| and PersistentVolumeClaim). |
| |
| |
| Use PersistentVolumeClaim or one of the vendor-specific |
| APIs for volumes that persist for longer than the lifecycle |
| of an individual pod. |
| |
| |
| Use CSI for light-weight local ephemeral volumes if the CSI driver is meant to |
| be used that way - see the documentation of the driver for |
| more information. |
| |
| |
| A pod can use both types of ephemeral volumes and |
| persistent volumes at the same time. |
| properties: |
| volumeClaimTemplate: |
| description: |- |
| Will be used to create a stand-alone PVC to provision the volume. |
| The pod in which this EphemeralVolumeSource is embedded will be the |
| owner of the PVC, i.e. the PVC will be deleted together with the |
| pod. The name of the PVC will be `<pod name>-<volume name>` where |
| `<volume name>` is the name from the `PodSpec.Volumes` array |
| entry. Pod validation will reject the pod if the concatenated name |
| is not valid for a PVC (for example, too long). |
| |
| |
| An existing PVC with that name that is not owned by the pod |
| will *not* be used for the pod to avoid using an unrelated |
| volume by mistake. Starting the pod is then blocked until |
| the unrelated PVC is removed. If such a pre-created PVC is |
| meant to be used by the pod, the PVC has to updated with an |
| owner reference to the pod once the pod exists. Normally |
| this should not be necessary, but it may be useful when |
| manually reconstructing a broken cluster. |
| |
| |
| This field is read-only and no changes will be made by Kubernetes |
| to the PVC after it has been created. |
| |
| |
| Required, must not be nil. |
| properties: |
| metadata: |
| description: |- |
| May contain labels and annotations that will be copied into the PVC |
| when creating it. No other fields are allowed and will be rejected during |
| validation. |
| type: object |
| spec: |
| description: |- |
| The specification for the PersistentVolumeClaim. The entire content is |
| copied unchanged into the PVC that gets created from this |
| template. The same fields as in a PersistentVolumeClaim |
| are also valid here. |
| properties: |
| accessModes: |
| description: |- |
| accessModes contains the desired access modes the volume should have. |
| More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 |
| items: |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| dataSource: |
| description: |- |
| dataSource field can be used to specify either: |
| * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) |
| * An existing PVC (PersistentVolumeClaim) |
| If the provisioner or an external controller can support the specified data source, |
| it will create a new volume based on the contents of the specified data source. |
| When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef, |
| and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified. |
| If the namespace is specified, then dataSourceRef will not be copied to dataSource. |
| properties: |
| apiGroup: |
| description: |- |
| APIGroup is the group for the resource being referenced. |
| If APIGroup is not specified, the specified Kind must be in the core API group. |
| For any other third-party types, APIGroup is required. |
| type: string |
| kind: |
| description: Kind is the type of |
| resource being referenced |
| type: string |
| name: |
| description: Name is the name of |
| resource being referenced |
| type: string |
| required: |
| - kind |
| - name |
| type: object |
| x-kubernetes-map-type: atomic |
| dataSourceRef: |
| description: |- |
| dataSourceRef specifies the object from which to populate the volume with data, if a non-empty |
| volume is desired. This may be any object from a non-empty API group (non |
| core object) or a PersistentVolumeClaim object. |
| When this field is specified, volume binding will only succeed if the type of |
| the specified object matches some installed volume populator or dynamic |
| provisioner. |
| This field will replace the functionality of the dataSource field and as such |
| if both fields are non-empty, they must have the same value. For backwards |
| compatibility, when namespace isn't specified in dataSourceRef, |
| both fields (dataSource and dataSourceRef) will be set to the same |
| value automatically if one of them is empty and the other is non-empty. |
| When namespace is specified in dataSourceRef, |
| dataSource isn't set to the same value and must be empty. |
| There are three important differences between dataSource and dataSourceRef: |
| * While dataSource only allows two specific types of objects, dataSourceRef |
| allows any non-core object, as well as PersistentVolumeClaim objects. |
| * While dataSource ignores disallowed values (dropping them), dataSourceRef |
| preserves all values, and generates an error if a disallowed value is |
| specified. |
| * While dataSource only allows local objects, dataSourceRef allows objects |
| in any namespaces. |
| (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled. |
| (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled. |
| properties: |
| apiGroup: |
| description: |- |
| APIGroup is the group for the resource being referenced. |
| If APIGroup is not specified, the specified Kind must be in the core API group. |
| For any other third-party types, APIGroup is required. |
| type: string |
| kind: |
| description: Kind is the type of |
| resource being referenced |
| type: string |
| name: |
| description: Name is the name of |
| resource being referenced |
| type: string |
| namespace: |
| description: |- |
| Namespace is the namespace of resource being referenced |
| Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details. |
| (Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled. |
| type: string |
| required: |
| - kind |
| - name |
| type: object |
| resources: |
| description: |- |
| resources represents the minimum resources the volume should have. |
| If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements |
| that are lower than previous value but must still be higher than capacity recorded in the |
| status field of the claim. |
| More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources |
| properties: |
| limits: |
| additionalProperties: |
| anyOf: |
| - type: integer |
| - type: string |
| pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ |
| x-kubernetes-int-or-string: true |
| description: |- |
| Limits describes the maximum amount of compute resources allowed. |
| More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ |
| type: object |
| requests: |
| additionalProperties: |
| anyOf: |
| - type: integer |
| - type: string |
| pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ |
| x-kubernetes-int-or-string: true |
| description: |- |
| Requests describes the minimum amount of compute resources required. |
| If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, |
| otherwise to an implementation-defined value. Requests cannot exceed Limits. |
| More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ |
| type: object |
| type: object |
| selector: |
| description: selector is a label query |
| over volumes to consider for binding. |
| properties: |
| matchExpressions: |
| description: matchExpressions is |
| a list of label selector requirements. |
| The requirements are ANDed. |
| items: |
| description: |- |
| A label selector requirement is a selector that contains values, a key, and an operator that |
| relates the key and values. |
| properties: |
| key: |
| description: key is the label |
| key that the selector applies |
| to. |
| type: string |
| operator: |
| description: |- |
| operator represents a key's relationship to a set of values. |
| Valid operators are In, NotIn, Exists and DoesNotExist. |
| type: string |
| values: |
| description: |- |
| values is an array of string values. If the operator is In or NotIn, |
| the values array must be non-empty. If the operator is Exists or DoesNotExist, |
| the values array must be empty. This array is replaced during a strategic |
| merge patch. |
| items: |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| required: |
| - key |
| - operator |
| type: object |
| type: array |
| x-kubernetes-list-type: atomic |
| matchLabels: |
| additionalProperties: |
| type: string |
| description: |- |
| matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels |
| map is equivalent to an element of matchExpressions, whose key field is "key", the |
| operator is "In", and the values array contains only "value". The requirements are ANDed. |
| type: object |
| type: object |
| x-kubernetes-map-type: atomic |
| storageClassName: |
| description: |- |
| storageClassName is the name of the StorageClass required by the claim. |
| More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1 |
| type: string |
| volumeAttributesClassName: |
| description: |- |
| volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim. |
| If specified, the CSI driver will create or update the volume with the attributes defined |
| in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName, |
| it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass |
| will be applied to the claim but it's not allowed to reset this field to empty string once it is set. |
| If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass |
| will be set by the persistentvolume controller if it exists. |
| If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be |
| set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource |
| exists. |
| More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/ |
| (Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled. |
| type: string |
| volumeMode: |
| description: |- |
| volumeMode defines what type of volume is required by the claim. |
| Value of Filesystem is implied when not included in claim spec. |
| type: string |
| volumeName: |
| description: volumeName is the binding |
| reference to the PersistentVolume |
| backing this claim. |
| type: string |
| type: object |
| required: |
| - spec |
| type: object |
| type: object |
| fc: |
| description: fc represents a Fibre Channel resource |
| that is attached to a kubelet's host machine and |
| then exposed to the pod. |
| properties: |
| fsType: |
| description: |- |
| fsType is the filesystem type to mount. |
| Must be a filesystem type supported by the host operating system. |
| Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. |
| TODO: how do we prevent errors in the filesystem from compromising the machine |
| type: string |
| lun: |
| description: 'lun is Optional: FC target lun |
| number' |
| format: int32 |
| type: integer |
| readOnly: |
| description: |- |
| readOnly is Optional: Defaults to false (read/write). ReadOnly here will force |
| the ReadOnly setting in VolumeMounts. |
| type: boolean |
| targetWWNs: |
| description: 'targetWWNs is Optional: FC target |
| worldwide names (WWNs)' |
| items: |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| wwids: |
| description: |- |
| wwids Optional: FC volume world wide identifiers (wwids) |
| Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously. |
| items: |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| type: object |
| flexVolume: |
| description: |- |
| flexVolume represents a generic volume resource that is |
| provisioned/attached using an exec based plugin. |
| properties: |
| driver: |
| description: driver is the name of the driver |
| to use for this volume. |
| type: string |
| fsType: |
| description: |- |
| fsType is the filesystem type to mount. |
| Must be a filesystem type supported by the host operating system. |
| Ex. "ext4", "xfs", "ntfs". The default filesystem depends on FlexVolume script. |
| type: string |
| options: |
| additionalProperties: |
| type: string |
| description: 'options is Optional: this field |
| holds extra command options if any.' |
| type: object |
| readOnly: |
| description: |- |
| readOnly is Optional: defaults to false (read/write). ReadOnly here will force |
| the ReadOnly setting in VolumeMounts. |
| type: boolean |
| secretRef: |
| description: |- |
| secretRef is Optional: secretRef is reference to the secret object containing |
| sensitive information to pass to the plugin scripts. This may be |
| empty if no secret object is specified. If the secret object |
| contains more than one secret, all secrets are passed to the plugin |
| scripts. |
| properties: |
| name: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| type: object |
| x-kubernetes-map-type: atomic |
| required: |
| - driver |
| type: object |
| flocker: |
| description: flocker represents a Flocker volume |
| attached to a kubelet's host machine. This depends |
| on the Flocker control service being running |
| properties: |
| datasetName: |
| description: |- |
| datasetName is Name of the dataset stored as metadata -> name on the dataset for Flocker |
| should be considered as deprecated |
| type: string |
| datasetUUID: |
| description: datasetUUID is the UUID of the |
| dataset. This is unique identifier of a Flocker |
| dataset |
| type: string |
| type: object |
| gcePersistentDisk: |
| description: |- |
| gcePersistentDisk represents a GCE Disk resource that is attached to a |
| kubelet's host machine and then exposed to the pod. |
| More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk |
| properties: |
| fsType: |
| description: |- |
| fsType is filesystem type of the volume that you want to mount. |
| Tip: Ensure that the filesystem type is supported by the host operating system. |
| Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. |
| More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk |
| TODO: how do we prevent errors in the filesystem from compromising the machine |
| type: string |
| partition: |
| description: |- |
| partition is the partition in the volume that you want to mount. |
| If omitted, the default is to mount by volume name. |
| Examples: For volume /dev/sda1, you specify the partition as "1". |
| Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty). |
| More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk |
| format: int32 |
| type: integer |
| pdName: |
| description: |- |
| pdName is unique name of the PD resource in GCE. Used to identify the disk in GCE. |
| More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk |
| type: string |
| readOnly: |
| description: |- |
| readOnly here will force the ReadOnly setting in VolumeMounts. |
| Defaults to false. |
| More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk |
| type: boolean |
| required: |
| - pdName |
| type: object |
| gitRepo: |
| description: |- |
| gitRepo represents a git repository at a particular revision. |
| DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an |
| EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir |
| into the Pod's container. |
| properties: |
| directory: |
| description: |- |
| directory is the target directory name. |
| Must not contain or start with '..'. If '.' is supplied, the volume directory will be the |
| git repository. Otherwise, if specified, the volume will contain the git repository in |
| the subdirectory with the given name. |
| type: string |
| repository: |
| description: repository is the URL |
| type: string |
| revision: |
| description: revision is the commit hash for |
| the specified revision. |
| type: string |
| required: |
| - repository |
| type: object |
| glusterfs: |
| description: |- |
| glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime. |
| More info: https://examples.k8s.io/volumes/glusterfs/README.md |
| properties: |
| endpoints: |
| description: |- |
| endpoints is the endpoint name that details Glusterfs topology. |
| More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod |
| type: string |
| path: |
| description: |- |
| path is the Glusterfs volume path. |
| More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod |
| type: string |
| readOnly: |
| description: |- |
| readOnly here will force the Glusterfs volume to be mounted with read-only permissions. |
| Defaults to false. |
| More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod |
| type: boolean |
| required: |
| - endpoints |
| - path |
| type: object |
| hostPath: |
| description: |- |
| hostPath represents a pre-existing file or directory on the host |
| machine that is directly exposed to the container. This is generally |
| used for system agents or other privileged things that are allowed |
| to see the host machine. Most containers will NOT need this. |
| More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath |
| --- |
| TODO(jonesdl) We need to restrict who can use host directory mounts and who can/can not |
| mount host directories as read/write. |
| properties: |
| path: |
| description: |- |
| path of the directory on the host. |
| If the path is a symlink, it will follow the link to the real path. |
| More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath |
| type: string |
| type: |
| description: |- |
| type for HostPath Volume |
| Defaults to "" |
| More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath |
| type: string |
| required: |
| - path |
| type: object |
| iscsi: |
| description: |- |
| iscsi represents an ISCSI Disk resource that is attached to a |
| kubelet's host machine and then exposed to the pod. |
| More info: https://examples.k8s.io/volumes/iscsi/README.md |
| properties: |
| chapAuthDiscovery: |
| description: chapAuthDiscovery defines whether |
| support iSCSI Discovery CHAP authentication |
| type: boolean |
| chapAuthSession: |
| description: chapAuthSession defines whether |
| support iSCSI Session CHAP authentication |
| type: boolean |
| fsType: |
| description: |- |
| fsType is the filesystem type of the volume that you want to mount. |
| Tip: Ensure that the filesystem type is supported by the host operating system. |
| Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. |
| More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi |
| TODO: how do we prevent errors in the filesystem from compromising the machine |
| type: string |
| initiatorName: |
| description: |- |
| initiatorName is the custom iSCSI Initiator Name. |
| If initiatorName is specified with iscsiInterface simultaneously, new iSCSI interface |
| <target portal>:<volume name> will be created for the connection. |
| type: string |
| iqn: |
| description: iqn is the target iSCSI Qualified |
| Name. |
| type: string |
| iscsiInterface: |
| description: |- |
| iscsiInterface is the interface Name that uses an iSCSI transport. |
| Defaults to 'default' (tcp). |
| type: string |
| lun: |
| description: lun represents iSCSI Target Lun |
| number. |
| format: int32 |
| type: integer |
| portals: |
| description: |- |
| portals is the iSCSI Target Portal List. The portal is either an IP or ip_addr:port if the port |
| is other than default (typically TCP ports 860 and 3260). |
| items: |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| readOnly: |
| description: |- |
| readOnly here will force the ReadOnly setting in VolumeMounts. |
| Defaults to false. |
| type: boolean |
| secretRef: |
| description: secretRef is the CHAP Secret for |
| iSCSI target and initiator authentication |
| properties: |
| name: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| type: object |
| x-kubernetes-map-type: atomic |
| targetPortal: |
| description: |- |
| targetPortal is iSCSI Target Portal. The Portal is either an IP or ip_addr:port if the port |
| is other than default (typically TCP ports 860 and 3260). |
| type: string |
| required: |
| - iqn |
| - lun |
| - targetPortal |
| type: object |
| name: |
| description: |- |
| name of the volume. |
| Must be a DNS_LABEL and unique within the pod. |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| type: string |
| nfs: |
| description: |- |
| nfs represents an NFS mount on the host that shares a pod's lifetime |
| More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs |
| properties: |
| path: |
| description: |- |
| path that is exported by the NFS server. |
| More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs |
| type: string |
| readOnly: |
| description: |- |
| readOnly here will force the NFS export to be mounted with read-only permissions. |
| Defaults to false. |
| More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs |
| type: boolean |
| server: |
| description: |- |
| server is the hostname or IP address of the NFS server. |
| More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs |
| type: string |
| required: |
| - path |
| - server |
| type: object |
| persistentVolumeClaim: |
| description: |- |
| persistentVolumeClaimVolumeSource represents a reference to a |
| PersistentVolumeClaim in the same namespace. |
| More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims |
| properties: |
| claimName: |
| description: |- |
| claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. |
| More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims |
| type: string |
| readOnly: |
| description: |- |
| readOnly Will force the ReadOnly setting in VolumeMounts. |
| Default false. |
| type: boolean |
| required: |
| - claimName |
| type: object |
| photonPersistentDisk: |
| description: photonPersistentDisk represents a PhotonController |
| persistent disk attached and mounted on kubelets |
| host machine |
| properties: |
| fsType: |
| description: |- |
| fsType is the filesystem type to mount. |
| Must be a filesystem type supported by the host operating system. |
| Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. |
| type: string |
| pdID: |
| description: pdID is the ID that identifies |
| Photon Controller persistent disk |
| type: string |
| required: |
| - pdID |
| type: object |
| portworxVolume: |
| description: portworxVolume represents a portworx |
| volume attached and mounted on kubelets host machine |
| properties: |
| fsType: |
| description: |- |
| fSType represents the filesystem type to mount |
| Must be a filesystem type supported by the host operating system. |
| Ex. "ext4", "xfs". Implicitly inferred to be "ext4" if unspecified. |
| type: string |
| readOnly: |
| description: |- |
| readOnly defaults to false (read/write). ReadOnly here will force |
| the ReadOnly setting in VolumeMounts. |
| type: boolean |
| volumeID: |
| description: volumeID uniquely identifies a |
| Portworx volume |
| type: string |
| required: |
| - volumeID |
| type: object |
| projected: |
| description: projected items for all in one resources |
| secrets, configmaps, and downward API |
| properties: |
| defaultMode: |
| description: |- |
| defaultMode are the mode bits used to set permissions on created files by default. |
| Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. |
| YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. |
| Directories within the path are not affected by this setting. |
| This might be in conflict with other options that affect the file |
| mode, like fsGroup, and the result can be other mode bits set. |
| format: int32 |
| type: integer |
| sources: |
| description: sources is the list of volume projections |
| items: |
| description: Projection that may be projected |
| along with other supported volume types |
| properties: |
| clusterTrustBundle: |
| description: |- |
| ClusterTrustBundle allows a pod to access the `.spec.trustBundle` field |
| of ClusterTrustBundle objects in an auto-updating file. |
| |
| |
| Alpha, gated by the ClusterTrustBundleProjection feature gate. |
| |
| |
| ClusterTrustBundle objects can either be selected by name, or by the |
| combination of signer name and a label selector. |
| |
| |
| Kubelet performs aggressive normalization of the PEM contents written |
| into the pod filesystem. Esoteric PEM features such as inter-block |
| comments and block headers are stripped. Certificates are deduplicated. |
| The ordering of certificates within the file is arbitrary, and Kubelet |
| may change the order over time. |
| properties: |
| labelSelector: |
| description: |- |
| Select all ClusterTrustBundles that match this label selector. Only has |
| effect if signerName is set. Mutually-exclusive with name. If unset, |
| interpreted as "match nothing". If set but empty, interpreted as "match |
| everything". |
| properties: |
| matchExpressions: |
| description: matchExpressions |
| is a list of label selector |
| requirements. The requirements |
| are ANDed. |
| items: |
| description: |- |
| A label selector requirement is a selector that contains values, a key, and an operator that |
| relates the key and values. |
| properties: |
| key: |
| description: key is the |
| label key that the selector |
| applies to. |
| type: string |
| operator: |
| description: |- |
| operator represents a key's relationship to a set of values. |
| Valid operators are In, NotIn, Exists and DoesNotExist. |
| type: string |
| values: |
| description: |- |
| values is an array of string values. If the operator is In or NotIn, |
| the values array must be non-empty. If the operator is Exists or DoesNotExist, |
| the values array must be empty. This array is replaced during a strategic |
| merge patch. |
| items: |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| required: |
| - key |
| - operator |
| type: object |
| type: array |
| x-kubernetes-list-type: atomic |
| matchLabels: |
| additionalProperties: |
| type: string |
| description: |- |
| matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels |
| map is equivalent to an element of matchExpressions, whose key field is "key", the |
| operator is "In", and the values array contains only "value". The requirements are ANDed. |
| type: object |
| type: object |
| x-kubernetes-map-type: atomic |
| name: |
| description: |- |
| Select a single ClusterTrustBundle by object name. Mutually-exclusive |
| with signerName and labelSelector. |
| type: string |
| optional: |
| description: |- |
| If true, don't block pod startup if the referenced ClusterTrustBundle(s) |
| aren't available. If using name, then the named ClusterTrustBundle is |
| allowed not to exist. If using signerName, then the combination of |
| signerName and labelSelector is allowed to match zero |
| ClusterTrustBundles. |
| type: boolean |
| path: |
| description: Relative path from the |
| volume root to write the bundle. |
| type: string |
| signerName: |
| description: |- |
| Select all ClusterTrustBundles that match this signer name. |
| Mutually-exclusive with name. The contents of all selected |
| ClusterTrustBundles will be unified and deduplicated. |
| type: string |
| required: |
| - path |
| type: object |
| configMap: |
| description: configMap information about |
| the configMap data to project |
| properties: |
| items: |
| description: |- |
| items if unspecified, each key-value pair in the Data field of the referenced |
| ConfigMap will be projected into the volume as a file whose name is the |
| key and content is the value. If specified, the listed keys will be |
| projected into the specified paths, and unlisted keys will not be |
| present. If a key is specified which is not present in the ConfigMap, |
| the volume setup will error unless it is marked optional. Paths must be |
| relative and may not contain the '..' path or start with '..'. |
| items: |
| description: Maps a string key to |
| a path within a volume. |
| properties: |
| key: |
| description: key is the key |
| to project. |
| type: string |
| mode: |
| description: |- |
| mode is Optional: mode bits used to set permissions on this file. |
| Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. |
| YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. |
| If not specified, the volume defaultMode will be used. |
| This might be in conflict with other options that affect the file |
| mode, like fsGroup, and the result can be other mode bits set. |
| format: int32 |
| type: integer |
| path: |
| description: |- |
| path is the relative path of the file to map the key to. |
| May not be an absolute path. |
| May not contain the path element '..'. |
| May not start with the string '..'. |
| type: string |
| required: |
| - key |
| - path |
| type: object |
| type: array |
| x-kubernetes-list-type: atomic |
| name: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: optional specify whether |
| the ConfigMap or its keys must be |
| defined |
| type: boolean |
| type: object |
| x-kubernetes-map-type: atomic |
| downwardAPI: |
| description: downwardAPI information about |
| the downwardAPI data to project |
| properties: |
| items: |
| description: Items is a list of DownwardAPIVolume |
| file |
| items: |
| description: DownwardAPIVolumeFile |
| represents information to create |
| the file containing the pod field |
| properties: |
| fieldRef: |
| description: 'Required: Selects |
| a field of the pod: only annotations, |
| labels, name, namespace and |
| uid are supported.' |
| properties: |
| apiVersion: |
| description: Version of |
| the schema the FieldPath |
| is written in terms of, |
| defaults to "v1". |
| type: string |
| fieldPath: |
| description: Path of the |
| field to select in the |
| specified API version. |
| type: string |
| required: |
| - fieldPath |
| type: object |
| x-kubernetes-map-type: atomic |
| mode: |
| description: |- |
| Optional: mode bits used to set permissions on this file, must be an octal value |
| between 0000 and 0777 or a decimal value between 0 and 511. |
| YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. |
| If not specified, the volume defaultMode will be used. |
| This might be in conflict with other options that affect the file |
| mode, like fsGroup, and the result can be other mode bits set. |
| format: int32 |
| type: integer |
| path: |
| description: 'Required: Path |
| is the relative path name |
| of the file to be created. |
| Must not be absolute or contain |
| the ''..'' path. Must be utf-8 |
| encoded. The first item of |
| the relative path must not |
| start with ''..''' |
| type: string |
| resourceFieldRef: |
| description: |- |
| Selects a resource of the container: only resources limits and requests |
| (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported. |
| properties: |
| containerName: |
| description: 'Container |
| name: required for volumes, |
| optional for env vars' |
| type: string |
| divisor: |
| anyOf: |
| - type: integer |
| - type: string |
| description: Specifies the |
| output format of the exposed |
| resources, defaults to |
| "1" |
| pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ |
| x-kubernetes-int-or-string: true |
| resource: |
| description: 'Required: |
| resource to select' |
| type: string |
| required: |
| - resource |
| type: object |
| x-kubernetes-map-type: atomic |
| required: |
| - path |
| type: object |
| type: array |
| x-kubernetes-list-type: atomic |
| type: object |
| secret: |
| description: secret information about |
| the secret data to project |
| properties: |
| items: |
| description: |- |
| items if unspecified, each key-value pair in the Data field of the referenced |
| Secret will be projected into the volume as a file whose name is the |
| key and content is the value. If specified, the listed keys will be |
| projected into the specified paths, and unlisted keys will not be |
| present. If a key is specified which is not present in the Secret, |
| the volume setup will error unless it is marked optional. Paths must be |
| relative and may not contain the '..' path or start with '..'. |
| items: |
| description: Maps a string key to |
| a path within a volume. |
| properties: |
| key: |
| description: key is the key |
| to project. |
| type: string |
| mode: |
| description: |- |
| mode is Optional: mode bits used to set permissions on this file. |
| Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. |
| YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. |
| If not specified, the volume defaultMode will be used. |
| This might be in conflict with other options that affect the file |
| mode, like fsGroup, and the result can be other mode bits set. |
| format: int32 |
| type: integer |
| path: |
| description: |- |
| path is the relative path of the file to map the key to. |
| May not be an absolute path. |
| May not contain the path element '..'. |
| May not start with the string '..'. |
| type: string |
| required: |
| - key |
| - path |
| type: object |
| type: array |
| x-kubernetes-list-type: atomic |
| name: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| optional: |
| description: optional field specify |
| whether the Secret or its key must |
| be defined |
| type: boolean |
| type: object |
| x-kubernetes-map-type: atomic |
| serviceAccountToken: |
| description: serviceAccountToken is information |
| about the serviceAccountToken data to |
| project |
| properties: |
| audience: |
| description: |- |
| audience is the intended audience of the token. A recipient of a token |
| must identify itself with an identifier specified in the audience of the |
| token, and otherwise should reject the token. The audience defaults to the |
| identifier of the apiserver. |
| type: string |
| expirationSeconds: |
| description: |- |
| expirationSeconds is the requested duration of validity of the service |
| account token. As the token approaches expiration, the kubelet volume |
| plugin will proactively rotate the service account token. The kubelet will |
| start trying to rotate the token if the token is older than 80 percent of |
| its time to live or if the token is older than 24 hours.Defaults to 1 hour |
| and must be at least 10 minutes. |
| format: int64 |
| type: integer |
| path: |
| description: |- |
| path is the path relative to the mount point of the file to project the |
| token into. |
| type: string |
| required: |
| - path |
| type: object |
| type: object |
| type: array |
| x-kubernetes-list-type: atomic |
| type: object |
| quobyte: |
| description: quobyte represents a Quobyte mount |
| on the host that shares a pod's lifetime |
| properties: |
| group: |
| description: |- |
| group to map volume access to |
| Default is no group |
| type: string |
| readOnly: |
| description: |- |
| readOnly here will force the Quobyte volume to be mounted with read-only permissions. |
| Defaults to false. |
| type: boolean |
| registry: |
| description: |- |
| registry represents a single or multiple Quobyte Registry services |
| specified as a string as host:port pair (multiple entries are separated with commas) |
| which acts as the central registry for volumes |
| type: string |
| tenant: |
| description: |- |
| tenant owning the given Quobyte volume in the Backend |
| Used with dynamically provisioned Quobyte volumes, value is set by the plugin |
| type: string |
| user: |
| description: |- |
| user to map volume access to |
| Defaults to serivceaccount user |
| type: string |
| volume: |
| description: volume is a string that references |
| an already created Quobyte volume by name. |
| type: string |
| required: |
| - registry |
| - volume |
| type: object |
| rbd: |
| description: |- |
| rbd represents a Rados Block Device mount on the host that shares a pod's lifetime. |
| More info: https://examples.k8s.io/volumes/rbd/README.md |
| properties: |
| fsType: |
| description: |- |
| fsType is the filesystem type of the volume that you want to mount. |
| Tip: Ensure that the filesystem type is supported by the host operating system. |
| Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. |
| More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd |
| TODO: how do we prevent errors in the filesystem from compromising the machine |
| type: string |
| image: |
| description: |- |
| image is the rados image name. |
| More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it |
| type: string |
| keyring: |
| description: |- |
| keyring is the path to key ring for RBDUser. |
| Default is /etc/ceph/keyring. |
| More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it |
| type: string |
| monitors: |
| description: |- |
| monitors is a collection of Ceph monitors. |
| More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it |
| items: |
| type: string |
| type: array |
| x-kubernetes-list-type: atomic |
| pool: |
| description: |- |
| pool is the rados pool name. |
| Default is rbd. |
| More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it |
| type: string |
| readOnly: |
| description: |- |
| readOnly here will force the ReadOnly setting in VolumeMounts. |
| Defaults to false. |
| More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it |
| type: boolean |
| secretRef: |
| description: |- |
| secretRef is name of the authentication secret for RBDUser. If provided |
| overrides keyring. |
| Default is nil. |
| More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it |
| properties: |
| name: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| type: object |
| x-kubernetes-map-type: atomic |
| user: |
| description: |- |
| user is the rados user name. |
| Default is admin. |
| More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it |
| type: string |
| required: |
| - image |
| - monitors |
| type: object |
| scaleIO: |
| description: scaleIO represents a ScaleIO persistent |
| volume attached and mounted on Kubernetes nodes. |
| properties: |
| fsType: |
| description: |- |
| fsType is the filesystem type to mount. |
| Must be a filesystem type supported by the host operating system. |
| Ex. "ext4", "xfs", "ntfs". |
| Default is "xfs". |
| type: string |
| gateway: |
| description: gateway is the host address of |
| the ScaleIO API Gateway. |
| type: string |
| protectionDomain: |
| description: protectionDomain is the name of |
| the ScaleIO Protection Domain for the configured |
| storage. |
| type: string |
| readOnly: |
| description: |- |
| readOnly Defaults to false (read/write). ReadOnly here will force |
| the ReadOnly setting in VolumeMounts. |
| type: boolean |
| secretRef: |
| description: |- |
| secretRef references to the secret for ScaleIO user and other |
| sensitive information. If this is not provided, Login operation will fail. |
| properties: |
| name: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| type: object |
| x-kubernetes-map-type: atomic |
| sslEnabled: |
| description: sslEnabled Flag enable/disable |
| SSL communication with Gateway, default false |
| type: boolean |
| storageMode: |
| description: |- |
| storageMode indicates whether the storage for a volume should be ThickProvisioned or ThinProvisioned. |
| Default is ThinProvisioned. |
| type: string |
| storagePool: |
| description: storagePool is the ScaleIO Storage |
| Pool associated with the protection domain. |
| type: string |
| system: |
| description: system is the name of the storage |
| system as configured in ScaleIO. |
| type: string |
| volumeName: |
| description: |- |
| volumeName is the name of a volume already created in the ScaleIO system |
| that is associated with this volume source. |
| type: string |
| required: |
| - gateway |
| - secretRef |
| - system |
| type: object |
| secret: |
| description: |- |
| secret represents a secret that should populate this volume. |
| More info: https://kubernetes.io/docs/concepts/storage/volumes#secret |
| properties: |
| defaultMode: |
| description: |- |
| defaultMode is Optional: mode bits used to set permissions on created files by default. |
| Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. |
| YAML accepts both octal and decimal values, JSON requires decimal values |
| for mode bits. Defaults to 0644. |
| Directories within the path are not affected by this setting. |
| This might be in conflict with other options that affect the file |
| mode, like fsGroup, and the result can be other mode bits set. |
| format: int32 |
| type: integer |
| items: |
| description: |- |
| items If unspecified, each key-value pair in the Data field of the referenced |
| Secret will be projected into the volume as a file whose name is the |
| key and content is the value. If specified, the listed keys will be |
| projected into the specified paths, and unlisted keys will not be |
| present. If a key is specified which is not present in the Secret, |
| the volume setup will error unless it is marked optional. Paths must be |
| relative and may not contain the '..' path or start with '..'. |
| items: |
| description: Maps a string key to a path within |
| a volume. |
| properties: |
| key: |
| description: key is the key to project. |
| type: string |
| mode: |
| description: |- |
| mode is Optional: mode bits used to set permissions on this file. |
| Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. |
| YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. |
| If not specified, the volume defaultMode will be used. |
| This might be in conflict with other options that affect the file |
| mode, like fsGroup, and the result can be other mode bits set. |
| format: int32 |
| type: integer |
| path: |
| description: |- |
| path is the relative path of the file to map the key to. |
| May not be an absolute path. |
| May not contain the path element '..'. |
| May not start with the string '..'. |
| type: string |
| required: |
| - key |
| - path |
| type: object |
| type: array |
| x-kubernetes-list-type: atomic |
| optional: |
| description: optional field specify whether |
| the Secret or its keys must be defined |
| type: boolean |
| secretName: |
| description: |- |
| secretName is the name of the secret in the pod's namespace to use. |
| More info: https://kubernetes.io/docs/concepts/storage/volumes#secret |
| type: string |
| type: object |
| storageos: |
| description: storageOS represents a StorageOS volume |
| attached and mounted on Kubernetes nodes. |
| properties: |
| fsType: |
| description: |- |
| fsType is the filesystem type to mount. |
| Must be a filesystem type supported by the host operating system. |
| Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. |
| type: string |
| readOnly: |
| description: |- |
| readOnly defaults to false (read/write). ReadOnly here will force |
| the ReadOnly setting in VolumeMounts. |
| type: boolean |
| secretRef: |
| description: |- |
| secretRef specifies the secret to use for obtaining the StorageOS API |
| credentials. If not specified, default values will be attempted. |
| properties: |
| name: |
| default: "" |
| description: |- |
| Name of the referent. |
| This field is effectively required, but due to backwards compatibility is |
| allowed to be empty. Instances of this type with an empty value here are |
| almost certainly wrong. |
| TODO: Add other useful fields. apiVersion, kind, uid? |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. |
| type: string |
| type: object |
| x-kubernetes-map-type: atomic |
| volumeName: |
| description: |- |
| volumeName is the human-readable name of the StorageOS volume. Volume |
| names are only unique within a namespace. |
| type: string |
| volumeNamespace: |
| description: |- |
| volumeNamespace specifies the scope of the volume within StorageOS. If no |
| namespace is specified then the Pod's namespace will be used. This allows the |
| Kubernetes name scoping to be mirrored within StorageOS for tighter integration. |
| Set VolumeName to any name to override the default behaviour. |
| Set to "default" if you are not using namespaces within StorageOS. |
| Namespaces that do not pre-exist within StorageOS will be created. |
| type: string |
| type: object |
| vsphereVolume: |
| description: vsphereVolume represents a vSphere |
| volume attached and mounted on kubelets host machine |
| properties: |
| fsType: |
| description: |- |
| fsType is filesystem type to mount. |
| Must be a filesystem type supported by the host operating system. |
| Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. |
| type: string |
| storagePolicyID: |
| description: storagePolicyID is the storage |
| Policy Based Management (SPBM) profile ID |
| associated with the StoragePolicyName. |
| type: string |
| storagePolicyName: |
| description: storagePolicyName is the storage |
| Policy Based Management (SPBM) profile name. |
| type: string |
| volumePath: |
| description: volumePath is the path that identifies |
| vSphere volume vmdk |
| type: string |
| required: |
| - volumePath |
| type: object |
| required: |
| - name |
| type: object |
| type: array |
| required: |
| - containers |
| type: object |
| type: object |
| traits: |
| description: the traits needed to run this Integration |
| properties: |
| 3scale: |
| description: 'Deprecated: for backward compatibility.' |
| properties: |
| configuration: |
| description: TraitConfiguration parameters configuration |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| required: |
| - configuration |
| type: object |
| addons: |
| additionalProperties: |
| description: AddonTrait represents the configuration of |
| an addon trait. |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| description: The extension point with addon traits |
| type: object |
| affinity: |
| description: The configuration of Affinity trait |
| 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 |
| nodeAffinityLabels: |
| description: Defines a set of nodes the integration pod(s) |
| are eligible to be scheduled on, based on labels on |
| the node. |
| items: |
| type: string |
| type: array |
| podAffinity: |
| description: Always co-locates multiple replicas of the |
| integration in the same node (default `false`). |
| type: boolean |
| podAffinityLabels: |
| description: |- |
| Defines a set of pods (namely those matching the label selector, relative to the given namespace) that the |
| integration pod(s) should be co-located with. |
| items: |
| type: string |
| type: array |
| podAntiAffinity: |
| description: Never co-locates multiple replicas of the |
| integration in the same node (default `false`). |
| type: boolean |
| podAntiAffinityLabels: |
| description: |- |
| Defines a set of pods (namely those matching the label selector, relative to the given namespace) that the |
| integration pod(s) should not be co-located with. |
| items: |
| type: string |
| type: array |
| type: object |
| builder: |
| description: The configuration of Builder trait |
| 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 configuration of Camel trait |
| 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 |
| runtimeVersion: |
| description: |- |
| The camel-k-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. |
| type: string |
| type: object |
| container: |
| description: The configuration of Container trait |
| properties: |
| allowPrivilegeEscalation: |
| description: Security Context AllowPrivilegeEscalation |
| configuration (default false). |
| type: boolean |
| auto: |
| description: To automatically enable the trait |
| type: boolean |
| capabilitiesAdd: |
| description: Security Context Capabilities Add configuration |
| (default none). |
| items: |
| description: Capability represent POSIX capabilities |
| type |
| type: string |
| type: array |
| capabilitiesDrop: |
| description: Security Context Capabilities Drop configuration |
| (default ALL). |
| items: |
| description: Capability represent POSIX capabilities |
| type |
| 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 |
| expose: |
| description: Can be used to enable/disable exposure via |
| kubernetes Service. |
| type: boolean |
| image: |
| description: |- |
| The main container image to use for the Integration. When using this parameter the operator will create a synthetic IntegrationKit which |
| won't be able to execute traits requiring CamelCatalog. If the container image you're using is coming from an IntegrationKit, use instead |
| Integration `.spec.integrationKit` parameter. If you're moving the Integration across environments, you will also need to create an "external" IntegrationKit. |
| type: string |
| imagePullPolicy: |
| description: 'The pull policy: Always|Never|IfNotPresent' |
| enum: |
| - Always |
| - Never |
| - IfNotPresent |
| type: string |
| limitCPU: |
| description: The maximum amount of CPU to be provided |
| (default 500 millicores). |
| type: string |
| limitMemory: |
| description: The maximum amount of memory to be provided |
| (default 512 Mi). |
| type: string |
| name: |
| description: The main container name. It's named `integration` |
| by default. |
| type: string |
| port: |
| description: To configure a different port exposed by |
| the container (default `8080`). |
| format: int32 |
| type: integer |
| portName: |
| description: To configure a different port name for the |
| port exposed by the container. It defaults to `http` |
| only when the `expose` parameter is true. |
| type: string |
| requestCPU: |
| description: The minimum amount of CPU required (default |
| 125 millicores). |
| type: string |
| requestMemory: |
| description: The minimum amount of memory required (default |
| 128 Mi). |
| type: string |
| runAsNonRoot: |
| description: Security Context RunAsNonRoot configuration |
| (default false). |
| type: boolean |
| runAsUser: |
| description: 'Security Context RunAsUser configuration |
| (default none): this value is automatically retrieved |
| in Openshift clusters when not explicitly set.' |
| format: int64 |
| type: integer |
| seccompProfileType: |
| description: Security Context SeccompProfileType configuration |
| (default RuntimeDefault). |
| enum: |
| - Unconfined |
| - RuntimeDefault |
| type: string |
| servicePort: |
| description: To configure under which service port the |
| container port is to be exposed (default `80`). |
| format: int32 |
| type: integer |
| servicePortName: |
| description: To configure under which service port name |
| the container port is to be exposed (default `http`). |
| type: string |
| type: object |
| cron: |
| description: The configuration of Cron trait |
| properties: |
| activeDeadlineSeconds: |
| description: |- |
| Specifies the duration in seconds, relative to the start time, that the job |
| may be continuously active before it is considered to be failed. |
| It defaults to 60s. |
| format: int64 |
| type: integer |
| auto: |
| description: |- |
| Automatically deploy the integration as CronJob when all routes are |
| either starting from a periodic consumer (only `cron`, `timer` and `quartz` are supported) or a passive consumer (e.g. `direct` is a passive consumer). |
| |
| |
| It's required that all periodic consumers have the same period, and it can be expressed as cron schedule (e.g. `1m` can be expressed as `0/1 * * * *`, |
| while `35m` or `50s` cannot). |
| type: boolean |
| backoffLimit: |
| description: |- |
| Specifies the number of retries before marking the job failed. |
| It defaults to 2. |
| format: int32 |
| type: integer |
| components: |
| description: |- |
| A comma separated list of the Camel components that need to be customized in order for them to work when the schedule is triggered externally by Kubernetes. |
| Supported components are currently: `cron`, `timer` and `quartz`. |
| type: string |
| concurrencyPolicy: |
| description: |- |
| Specifies how to treat concurrent executions of a Job. |
| Valid values are: |
| - "Allow": allows CronJobs to run concurrently; |
| - "Forbid" (default): forbids concurrent runs, skipping next run if previous run hasn't finished yet; |
| - "Replace": cancels currently running job and replaces it with a new one |
| enum: |
| - Allow |
| - Forbid |
| - Replace |
| type: string |
| 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 |
| fallback: |
| description: |- |
| Use the default Camel implementation of the `cron` endpoint (`quartz`) instead of trying to materialize the integration |
| as Kubernetes CronJob. |
| type: boolean |
| schedule: |
| description: |- |
| The CronJob schedule for the whole integration. If multiple routes are declared, they must have the same schedule for this |
| mechanism to work correctly. |
| type: string |
| startingDeadlineSeconds: |
| description: |- |
| Optional deadline in seconds for starting the job if it misses scheduled |
| time for any reason. Missed jobs executions will be counted as failed ones. |
| format: int64 |
| type: integer |
| timeZone: |
| description: The timezone that the CronJob will run on |
| type: string |
| type: object |
| dependencies: |
| description: The configuration of Dependencies trait |
| 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 |
| type: object |
| deployer: |
| description: The configuration of Deployer trait |
| 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 |
| kind: |
| description: Allows to explicitly select the desired deployment |
| kind between `deployment`, `cron-job` or `knative-service` |
| when creating the resources for running the integration. |
| enum: |
| - deployment |
| - cron-job |
| - knative-service |
| type: string |
| useSSA: |
| description: |- |
| Deprecated: won't be able to enforce client side update in the future. |
| Use server-side apply to update the owned resources (default `true`). |
| Note that it automatically falls back to client-side patching, if SSA is not available, e.g., on old Kubernetes clusters. |
| type: boolean |
| type: object |
| deployment: |
| description: The configuration of Deployment trait |
| 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 |
| progressDeadlineSeconds: |
| description: |- |
| The maximum time in seconds for the deployment to make progress before it |
| is considered to be failed. It defaults to `60s`. |
| format: int32 |
| type: integer |
| rollingUpdateMaxSurge: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| The maximum number of pods that can be scheduled above the desired number of |
| pods. |
| Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). |
| This can not be 0 if MaxUnavailable is 0. |
| Absolute number is calculated from percentage by rounding up. |
| Defaults to `25%`. |
| x-kubernetes-int-or-string: true |
| rollingUpdateMaxUnavailable: |
| anyOf: |
| - type: integer |
| - type: string |
| description: |- |
| The maximum number of pods that can be unavailable during the update. |
| Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). |
| Absolute number is calculated from percentage by rounding down. |
| This can not be 0 if MaxSurge is 0. |
| Defaults to `25%`. |
| x-kubernetes-int-or-string: true |
| strategy: |
| description: The deployment strategy to use to replace |
| existing pods with new ones. |
| enum: |
| - Recreate |
| - RollingUpdate |
| type: string |
| type: object |
| environment: |
| description: The configuration of Environment trait |
| properties: |
| configuration: |
| description: |- |
| Legacy trait configuration parameters. |
| Deprecated: for backward compatibility. |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| containerMeta: |
| description: Enables injection of `NAMESPACE` and `POD_NAME` |
| environment variables (default `true`) |
| type: boolean |
| enabled: |
| description: 'Deprecated: no longer in use.' |
| type: boolean |
| httpProxy: |
| description: Propagates the `HTTP_PROXY`, `HTTPS_PROXY` |
| and `NO_PROXY` environment variables (default `true`) |
| type: boolean |
| vars: |
| description: |- |
| A list of environment variables to be added to the integration container. |
| The syntax is either VAR=VALUE or VAR=[configmap|secret]:name/key, where name represents the resource name, |
| and key represents the resource key to be mapped as and environment variable. |
| These take precedence over any previously defined environment variables. |
| items: |
| type: string |
| type: array |
| type: object |
| error-handler: |
| description: The configuration of Error Handler trait |
| 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 |
| ref: |
| description: The error handler ref name provided or found |
| in application properties |
| type: string |
| type: object |
| gc: |
| description: The configuration of GC trait |
| properties: |
| configuration: |
| description: |- |
| Legacy trait configuration parameters. |
| Deprecated: for backward compatibility. |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| discoveryCache: |
| description: |- |
| Discovery client cache to be used, either `disabled`, `disk` or `memory` (default `memory`). |
| Deprecated: no longer in use. |
| enum: |
| - disabled |
| - disk |
| - memory |
| type: string |
| enabled: |
| description: Can be used to enable or disable a trait. |
| All traits share this common property. |
| type: boolean |
| type: object |
| health: |
| description: The configuration of Health trait |
| 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 |
| livenessFailureThreshold: |
| description: Minimum consecutive failures for the liveness |
| probe to be considered failed after having succeeded. |
| format: int32 |
| type: integer |
| livenessInitialDelay: |
| description: Number of seconds after the container has |
| started before the liveness probe is initiated. |
| format: int32 |
| type: integer |
| livenessPeriod: |
| description: How often to perform the liveness probe. |
| format: int32 |
| type: integer |
| livenessProbe: |
| description: The liveness probe path to use (default provided |
| by the Catalog runtime used). |
| type: string |
| livenessProbeEnabled: |
| description: Configures the liveness probe for the integration |
| container (default `false`). |
| type: boolean |
| livenessScheme: |
| description: Scheme to use when connecting to the liveness |
| probe (default `HTTP`). |
| type: string |
| livenessSuccessThreshold: |
| description: Minimum consecutive successes for the liveness |
| probe to be considered successful after having failed. |
| format: int32 |
| type: integer |
| livenessTimeout: |
| description: Number of seconds after which the liveness |
| probe times out. |
| format: int32 |
| type: integer |
| readinessFailureThreshold: |
| description: Minimum consecutive failures for the readiness |
| probe to be considered failed after having succeeded. |
| format: int32 |
| type: integer |
| readinessInitialDelay: |
| description: Number of seconds after the container has |
| started before the readiness probe is initiated. |
| format: int32 |
| type: integer |
| readinessPeriod: |
| description: How often to perform the readiness probe. |
| format: int32 |
| type: integer |
| readinessProbe: |
| description: The readiness probe path to use (default |
| provided by the Catalog runtime used). |
| type: string |
| readinessProbeEnabled: |
| description: Configures the readiness probe for the integration |
| container (default `true`). |
| type: boolean |
| readinessScheme: |
| description: Scheme to use when connecting to the readiness |
| probe (default `HTTP`). |
| type: string |
| readinessSuccessThreshold: |
| description: Minimum consecutive successes for the readiness |
| probe to be considered successful after having failed. |
| format: int32 |
| type: integer |
| readinessTimeout: |
| description: Number of seconds after which the readiness |
| probe times out. |
| format: int32 |
| type: integer |
| startupFailureThreshold: |
| description: Minimum consecutive failures for the startup |
| probe to be considered failed after having succeeded. |
| format: int32 |
| type: integer |
| startupInitialDelay: |
| description: Number of seconds after the container has |
| started before the startup probe is initiated. |
| format: int32 |
| type: integer |
| startupPeriod: |
| description: How often to perform the startup probe. |
| format: int32 |
| type: integer |
| startupProbe: |
| description: The startup probe path to use (default provided |
| by the Catalog runtime used). |
| type: string |
| startupProbeEnabled: |
| description: Configures the startup probe for the integration |
| container (default `false`). |
| type: boolean |
| startupScheme: |
| description: Scheme to use when connecting to the startup |
| probe (default `HTTP`). |
| type: string |
| startupSuccessThreshold: |
| description: Minimum consecutive successes for the startup |
| probe to be considered successful after having failed. |
| format: int32 |
| type: integer |
| startupTimeout: |
| description: Number of seconds after which the startup |
| probe times out. |
| format: int32 |
| type: integer |
| type: object |
| ingress: |
| description: The configuration of Ingress trait |
| properties: |
| annotations: |
| additionalProperties: |
| type: string |
| description: |- |
| The annotations added to the ingress. |
| This can be used to set controller specific annotations, e.g., when using the NGINX Ingress controller: |
| See https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/nginx-configuration/annotations.md |
| type: object |
| auto: |
| description: To automatically add an ingress whenever |
| the integration uses an HTTP endpoint consumer. |
| type: boolean |
| 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 |
| host: |
| description: To configure the host exposed by the ingress. |
| type: string |
| ingressClassName: |
| description: |- |
| The Ingress class name as defined by the Ingress spec |
| See https://kubernetes.io/docs/concepts/services-networking/ingress/ |
| type: string |
| path: |
| description: To configure the path exposed by the ingress |
| (default `/`). |
| type: string |
| pathType: |
| description: |- |
| To configure the path type exposed by the ingress. |
| One of `Exact`, `Prefix`, `ImplementationSpecific` (default to `Prefix`). |
| enum: |
| - Exact |
| - Prefix |
| - ImplementationSpecific |
| type: string |
| tlsHosts: |
| description: To configure tls hosts |
| items: |
| type: string |
| type: array |
| tlsSecretName: |
| description: To configure tls secret name |
| type: string |
| type: object |
| istio: |
| description: The configuration of Istio trait |
| properties: |
| allow: |
| description: Configures a (comma-separated) list of CIDR |
| subnets that should not be intercepted by the Istio |
| proxy (`10.0.0.0/8,172.16.0.0/12,192.168.0.0/16` by |
| default). |
| type: string |
| 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 |
| inject: |
| description: Forces the value for labels `sidecar.istio.io/inject`. |
| By default the label is set to `true` on deployment |
| and not set on Knative Service. |
| type: boolean |
| type: object |
| jolokia: |
| description: The configuration of Jolokia trait |
| properties: |
| CACert: |
| description: |- |
| The PEM encoded CA certification file path, used to verify client certificates, |
| applicable when `protocol` is `https` and `use-ssl-client-authentication` is `true` |
| (default `/var/run/secrets/kubernetes.io/serviceaccount/service-ca.crt` for OpenShift). |
| type: string |
| clientPrincipal: |
| description: |- |
| The principal(s) which must be given in a client certificate to allow access to the Jolokia endpoint, |
| applicable when `protocol` is `https` and `use-ssl-client-authentication` is `true` |
| (default `clientPrincipal=cn=system:master-proxy`, `cn=hawtio-online.hawtio.svc` and `cn=fuse-console.fuse.svc` for OpenShift). |
| items: |
| type: string |
| type: array |
| configuration: |
| description: |- |
| Legacy trait configuration parameters. |
| Deprecated: for backward compatibility. |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| discoveryEnabled: |
| description: Listen for multicast requests (default `false`) |
| type: boolean |
| enabled: |
| description: Can be used to enable or disable a trait. |
| All traits share this common property. |
| type: boolean |
| extendedClientCheck: |
| description: |- |
| Mandate the client certificate contains a client flag in the extended key usage section, |
| applicable when `protocol` is `https` and `use-ssl-client-authentication` is `true` |
| (default `true` for OpenShift). |
| type: boolean |
| host: |
| description: |- |
| The Host address to which the Jolokia agent should bind to. If `"\*"` or `"0.0.0.0"` is given, |
| the servers binds to every network interface (default `"*"`). |
| type: string |
| options: |
| description: |- |
| A list of additional Jolokia options as defined |
| in https://jolokia.org/reference/html/agents.html#agent-jvm-config[JVM agent configuration options] |
| items: |
| type: string |
| type: array |
| password: |
| description: The password used for authentication, applicable |
| when the `user` option is set. |
| type: string |
| port: |
| description: The Jolokia endpoint port (default `8778`). |
| format: int32 |
| type: integer |
| protocol: |
| description: The protocol to use, either `http` or `https` |
| (default `https` for OpenShift) |
| type: string |
| useSSLClientAuthentication: |
| description: Whether client certificates should be used |
| for authentication (default `true` for OpenShift). |
| type: boolean |
| user: |
| description: The user to be used for authentication |
| type: string |
| type: object |
| jvm: |
| description: The configuration of JVM trait |
| properties: |
| classpath: |
| description: Additional JVM classpath (use `Linux` classpath |
| separator) |
| type: string |
| configuration: |
| description: |- |
| Legacy trait configuration parameters. |
| Deprecated: for backward compatibility. |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| debug: |
| description: Activates remote debugging, so that a debugger |
| can be attached to the JVM, e.g., using port-forwarding |
| type: boolean |
| debugAddress: |
| description: Transport address at which to listen for |
| the newly launched JVM (default `*:5005`) |
| type: string |
| debugSuspend: |
| description: Suspends the target JVM immediately before |
| the main class is loaded |
| type: boolean |
| enabled: |
| description: Can be used to enable or disable a trait. |
| All traits share this common property. |
| type: boolean |
| jar: |
| description: The Jar dependency which will run the application. |
| Leave it empty for managed Integrations. |
| type: string |
| options: |
| description: A list of JVM options |
| items: |
| type: string |
| type: array |
| printCommand: |
| description: |- |
| Prints the command used the start the JVM in the container logs (default `true`) |
| Deprecated: no longer in use. |
| type: boolean |
| type: object |
| kamelets: |
| description: The configuration of Kamelets trait |
| properties: |
| auto: |
| description: Automatically inject all referenced Kamelets |
| and their default configuration (enabled by default) |
| type: boolean |
| 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 |
| list: |
| description: Comma separated list of Kamelet names to |
| load into the current integration |
| type: string |
| mountPoint: |
| description: The directory where the application mounts |
| and reads Kamelet spec (default `/etc/camel/kamelets`) |
| type: string |
| type: object |
| keda: |
| description: 'Deprecated: for backward compatibility.' |
| properties: |
| configuration: |
| description: TraitConfiguration parameters configuration |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| required: |
| - configuration |
| type: object |
| knative: |
| description: The configuration of Knative trait |
| properties: |
| auto: |
| description: Enable automatic discovery of all trait properties. |
| type: boolean |
| channelSinks: |
| description: |- |
| List of channels used as destination of integration routes. |
| Can contain simple channel names or full Camel URIs. |
| items: |
| type: string |
| type: array |
| channelSources: |
| description: |- |
| List of channels used as source of integration routes. |
| Can contain simple channel names or full Camel URIs. |
| items: |
| type: string |
| type: array |
| config: |
| description: Can be used to inject a Knative complete |
| configuration in JSON format. |
| type: string |
| 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 |
| endpointSinks: |
| description: |- |
| List of endpoints used as destination of integration routes. |
| Can contain simple endpoint names or full Camel URIs. |
| items: |
| type: string |
| type: array |
| endpointSources: |
| description: List of channels used as source of integration |
| routes. |
| items: |
| type: string |
| type: array |
| eventSinks: |
| description: |- |
| List of event types that the integration will produce. |
| Can contain simple event types or full Camel URIs (to use a specific broker). |
| items: |
| type: string |
| type: array |
| eventSources: |
| description: |- |
| List of event types that the integration will be subscribed to. |
| Can contain simple event types or full Camel URIs (to use a specific broker different from "default"). |
| items: |
| type: string |
| type: array |
| filterEventType: |
| description: |- |
| Enables the default filtering for the Knative trigger using the event type |
| If this is true, the created Knative trigger uses the event type as a filter on the event stream when no other filter criteria is given. (default: true) |
| type: boolean |
| filterSourceChannels: |
| description: |- |
| Enables filtering on events based on the header "ce-knativehistory". Since this header has been removed in newer versions of |
| Knative, filtering is disabled by default. |
| type: boolean |
| filters: |
| description: |- |
| Sets filter attributes on the event stream (such as event type, source, subject and so on). |
| A list of key-value pairs that represent filter attributes and its values. |
| The syntax is KEY=VALUE, e.g., `source="my.source"`. |
| Filter attributes get set on the Knative trigger that is being created as part of this integration. |
| items: |
| type: string |
| type: array |
| namespaceLabel: |
| description: |- |
| Enables the camel-k-operator to set the "bindings.knative.dev/include=true" label to the namespace |
| As Knative requires this label to perform injection of K_SINK URL into the service. |
| If this is false, the integration pod may start and fail, read the SinkBinding Knative documentation. (default: true) |
| type: boolean |
| sinkBinding: |
| description: |- |
| Allows binding the integration to a sink via a Knative SinkBinding resource. |
| This can be used when the integration targets a single sink. |
| It's enabled by default when the integration targets a single sink |
| (except when the integration is owned by a Knative source). |
| type: boolean |
| type: object |
| knative-service: |
| description: The configuration of Knative Service trait |
| properties: |
| annotations: |
| additionalProperties: |
| type: string |
| description: |- |
| The annotations added to route. |
| This can be used to set knative service specific annotations |
| CLI usage example: -t "knative-service.annotations.'haproxy.router.openshift.io/balance'=true" |
| type: object |
| auto: |
| description: |- |
| Automatically deploy the integration as Knative service when all conditions hold: |
| |
| |
| * Integration is using the Knative profile |
| * All routes are either starting from an HTTP based consumer or a passive consumer (e.g. `direct` is a passive consumer) |
| type: boolean |
| autoscalingMetric: |
| description: |- |
| Configures the Knative autoscaling metric property (e.g. to set `concurrency` based or `cpu` based autoscaling). |
| |
| |
| Refer to the Knative documentation for more information. |
| type: string |
| autoscalingTarget: |
| description: |- |
| Sets the allowed concurrency level or CPU percentage (depending on the autoscaling metric) for each Pod. |
| |
| |
| Refer to the Knative documentation for more information. |
| type: integer |
| class: |
| description: |- |
| Configures the Knative autoscaling class property (e.g. to set `hpa.autoscaling.knative.dev` or `kpa.autoscaling.knative.dev` autoscaling). |
| |
| |
| Refer to the Knative documentation for more information. |
| enum: |
| - kpa.autoscaling.knative.dev |
| - hpa.autoscaling.knative.dev |
| type: string |
| 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 |
| maxScale: |
| description: |- |
| An upper bound for the number of Pods that can be running in parallel for the integration. |
| Knative has its own cap value that depends on the installation. |
| |
| |
| Refer to the Knative documentation for more information. |
| type: integer |
| minScale: |
| description: |- |
| The minimum number of Pods that should be running at any time for the integration. It's **zero** by default, meaning that |
| the integration is scaled down to zero when not used for a configured amount of time. |
| |
| |
| Refer to the Knative documentation for more information. |
| type: integer |
| rolloutDuration: |
| description: |- |
| Enables to gradually shift traffic to the latest Revision and sets the rollout duration. |
| It's disabled by default and must be expressed as a Golang `time.Duration` string representation, |
| rounded to a second precision. |
| type: string |
| timeoutSeconds: |
| description: |- |
| The maximum duration in seconds that the request instance is allowed to respond to a request. |
| This field propagates to the integration pod's terminationGracePeriodSeconds |
| |
| |
| Refer to the Knative documentation for more information. |
| format: int64 |
| type: integer |
| visibility: |
| description: |- |
| Setting `cluster-local`, Knative service becomes a private service. |
| Specifically, this option applies the `networking.knative.dev/visibility` label to Knative service. |
| |
| |
| Refer to the Knative documentation for more information. |
| enum: |
| - cluster-local |
| type: string |
| type: object |
| logging: |
| description: The configuration of Logging trait |
| properties: |
| color: |
| description: Colorize the log output |
| type: boolean |
| 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 |
| format: |
| description: Logs message format |
| type: string |
| json: |
| description: Output the logs in JSON |
| type: boolean |
| jsonPrettyPrint: |
| description: Enable "pretty printing" of the JSON logs |
| type: boolean |
| level: |
| description: Adjust the logging level (defaults to `INFO`) |
| enum: |
| - FATAL |
| - WARN |
| - INFO |
| - DEBUG |
| - TRACE |
| type: string |
| type: object |
| master: |
| description: 'Deprecated: for backward compatibility.' |
| properties: |
| configuration: |
| description: TraitConfiguration parameters configuration |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| required: |
| - configuration |
| type: object |
| mount: |
| description: The configuration of Mount trait |
| properties: |
| configs: |
| description: |- |
| A list of configuration pointing to configmap/secret. |
| The configuration are expected to be UTF-8 resources as they are processed by runtime Camel Context and tried to be parsed as property files. |
| They are also made available on the classpath in order to ease their usage directly from the Route. |
| Syntax: [configmap|secret]:name[/key], where name represents the resource name and key optionally represents the resource key to be filtered |
| items: |
| type: string |
| type: array |
| configuration: |
| description: |- |
| Legacy trait configuration parameters. |
| Deprecated: for backward compatibility. |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| emptyDirs: |
| description: |- |
| A list of EmptyDir volumes to be mounted. An optional size limit may be configured (default 500Mi). |
| Syntax: name:/container/path[:sizeLimit] |
| items: |
| type: string |
| type: array |
| enabled: |
| description: 'Deprecated: no longer in use.' |
| type: boolean |
| hotReload: |
| description: |- |
| Enable "hot reload" when a secret/configmap mounted is edited (default `false`). The configmap/secret must be |
| marked with `camel.apache.org/integration` label to be taken in account. The resource will be watched for any kind change, also for |
| changes in metadata. |
| type: boolean |
| resources: |
| description: |- |
| A list of resources (text or binary content) pointing to configmap/secret. |
| The resources are expected to be any resource type (text or binary content). |
| The destination path can be either a default location or any path specified by the user. |
| Syntax: [configmap|secret]:name[/key][@path], where name represents the resource name, key optionally represents the resource key to be filtered and path represents the destination path |
| items: |
| type: string |
| type: array |
| scanKameletsImplicitLabelSecrets: |
| description: 'Deprecated: no longer available since version |
| 2.5.' |
| type: boolean |
| volumes: |
| description: |- |
| A list of Persistent Volume Claims to be mounted. Syntax: [pvcname:/container/path]. If the PVC is not found, the Integration fails. |
| You can use the syntax [pvcname:/container/path:size:accessMode<:storageClass>] to create a dynamic PVC based on the Storage Class provided |
| or the default cluster Storage Class. However, if the PVC exists, the operator would mount it. |
| items: |
| type: string |
| type: array |
| type: object |
| openapi: |
| description: The configuration of OpenAPI trait |
| properties: |
| configmaps: |
| description: The configmaps holding the spec of the OpenAPI |
| (compatible with > 3.0 spec only). |
| items: |
| 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 |
| type: object |
| owner: |
| description: The configuration of Owner trait |
| 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 |
| targetAnnotations: |
| description: The set of annotations to be transferred |
| items: |
| type: string |
| type: array |
| targetLabels: |
| description: The set of labels to be transferred |
| items: |
| type: string |
| type: array |
| type: object |
| pdb: |
| description: The configuration of PDB trait |
| 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 |
| maxUnavailable: |
| description: |- |
| The number of pods for the Integration that can be unavailable after an eviction. |
| It can be either an absolute number or a percentage (default `1` if `min-available` is also not set). |
| Only one of `max-unavailable` and `min-available` can be specified. |
| type: string |
| minAvailable: |
| description: |- |
| The number of pods for the Integration that must still be available after an eviction. |
| It can be either an absolute number or a percentage. |
| Only one of `min-available` and `max-unavailable` can be specified. |
| type: string |
| type: object |
| platform: |
| description: The configuration of Platform trait |
| properties: |
| auto: |
| description: |- |
| To automatically detect from the environment if a default platform can be created (it will be created on OpenShift or when a registry address is set). |
| Deprecated: Platform is auto generated by the operator install procedure - maintained for backward compatibility |
| type: boolean |
| configuration: |
| description: |- |
| Legacy trait configuration parameters. |
| Deprecated: for backward compatibility. |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| createDefault: |
| description: |- |
| To create a default (empty) platform when the platform is missing. |
| Deprecated: Platform is auto generated by the operator install procedure - maintained for backward compatibility |
| type: boolean |
| enabled: |
| description: 'Deprecated: no longer in use.' |
| type: boolean |
| global: |
| description: |- |
| Indicates if the platform should be created globally in the case of global operator (default true). |
| Deprecated: Platform is auto generated by the operator install procedure - maintained for backward compatibility |
| type: boolean |
| type: object |
| pod: |
| description: The configuration of Pod trait |
| 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 |
| prometheus: |
| description: The configuration of Prometheus trait |
| 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 |
| podMonitor: |
| description: Whether a `PodMonitor` resource is created |
| (default `true`). |
| type: boolean |
| podMonitorLabels: |
| description: The `PodMonitor` resource labels, applicable |
| when `pod-monitor` is `true`. |
| items: |
| type: string |
| type: array |
| type: object |
| pull-secret: |
| description: The configuration of Pull Secret trait |
| properties: |
| auto: |
| description: Automatically configures the platform registry |
| secret on the pod if it is of type `kubernetes.io/dockerconfigjson`. |
| type: boolean |
| 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 |
| imagePullerDelegation: |
| description: When using a global operator with a shared |
| platform, this enables delegation of the `system:image-puller` |
| cluster role on the operator namespace to the integration |
| service account. |
| type: boolean |
| secretName: |
| description: The pull secret name to set on the Pod. If |
| left empty this is automatically taken from the `IntegrationPlatform` |
| registry configuration. |
| type: string |
| type: object |
| quarkus: |
| description: The configuration of Quarkus trait |
| 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 configuration of Registry trait (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 |
| route: |
| description: The configuration of Route trait |
| properties: |
| annotations: |
| additionalProperties: |
| type: string |
| description: |- |
| The annotations added to route. |
| This can be used to set route specific annotations |
| For annotations options see https://docs.openshift.com/container-platform/3.11/architecture/networking/routes.html#route-specific-annotations |
| CLI usage example: -t "route.annotations.'haproxy.router.openshift.io/balance'=true" |
| type: object |
| 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 |
| host: |
| description: To configure the host exposed by the route. |
| type: string |
| tlsCACertificate: |
| description: |- |
| The TLS CA certificate contents. |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| type: string |
| tlsCACertificateSecret: |
| description: |- |
| The secret name and key reference to the TLS CA certificate. The format is "secret-name[/key-name]", the value represents the secret name, if there is only one key in the secret it will be read, otherwise you can set a key name separated with a "/". |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| type: string |
| tlsCertificate: |
| description: |- |
| The TLS certificate contents. |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| type: string |
| tlsCertificateSecret: |
| description: |- |
| The secret name and key reference to the TLS certificate. The format is "secret-name[/key-name]", the value represents the secret name, if there is only one key in the secret it will be read, otherwise you can set a key name separated with a "/". |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| type: string |
| tlsDestinationCACertificate: |
| description: |- |
| The destination CA certificate provides the contents of the ca certificate of the final destination. When using reencrypt |
| termination this file should be provided in order to have routers use it for health checks on the secure connection. |
| If this field is not specified, the router may provide its own destination CA and perform hostname validation using |
| the short service name (service.namespace.svc), which allows infrastructure generated certificates to automatically |
| verify. |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| type: string |
| tlsDestinationCACertificateSecret: |
| description: |- |
| The secret name and key reference to the destination CA certificate. The format is "secret-name[/key-name]", the value represents the secret name, if there is only one key in the secret it will be read, otherwise you can set a key name separated with a "/". |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| type: string |
| tlsInsecureEdgeTerminationPolicy: |
| description: |- |
| To configure how to deal with insecure traffic, e.g. `Allow`, `Disable` or `Redirect` traffic. |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| enum: |
| - None |
| - Allow |
| - Redirect |
| type: string |
| tlsKey: |
| description: |- |
| The TLS certificate key contents. |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| type: string |
| tlsKeySecret: |
| description: |- |
| The secret name and key reference to the TLS certificate key. The format is "secret-name[/key-name]", the value represents the secret name, if there is only one key in the secret it will be read, otherwise you can set a key name separated with a "/". |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| type: string |
| tlsTermination: |
| description: |- |
| The TLS termination type, like `edge`, `passthrough` or `reencrypt`. |
| |
| |
| Refer to the OpenShift route documentation for additional information. |
| enum: |
| - edge |
| - reencrypt |
| - passthrough |
| type: string |
| type: object |
| security-context: |
| description: The configuration of Security Context trait |
| 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 |
| runAsNonRoot: |
| description: Security Context RunAsNonRoot configuration |
| (default false). |
| type: boolean |
| runAsUser: |
| description: 'Security Context RunAsUser configuration |
| (default none): this value is automatically retrieved |
| in Openshift clusters when not explicitly set.' |
| format: int64 |
| type: integer |
| seccompProfileType: |
| description: Security Context SeccompProfileType configuration |
| (default RuntimeDefault). |
| enum: |
| - Unconfined |
| - RuntimeDefault |
| type: string |
| type: object |
| service: |
| description: The configuration of Service trait |
| properties: |
| annotations: |
| additionalProperties: |
| type: string |
| description: The annotations added to the Service object. |
| type: object |
| auto: |
| description: To automatically detect from the code if |
| a Service needs to be created. |
| type: boolean |
| 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 |
| labels: |
| additionalProperties: |
| type: string |
| description: The labels added to the Service object. |
| type: object |
| nodePort: |
| description: |- |
| Enable Service to be exposed as NodePort (default `false`). |
| Deprecated: Use service type instead. |
| type: boolean |
| type: |
| description: The type of service to be used, either 'ClusterIP', |
| 'NodePort' or 'LoadBalancer'. |
| enum: |
| - ClusterIP |
| - NodePort |
| - LoadBalancer |
| type: string |
| type: object |
| service-binding: |
| description: The configuration of Service Binding trait |
| 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 |
| services: |
| description: List of Services in the form [[apigroup/]version:]kind:[namespace/]name |
| items: |
| type: string |
| type: array |
| type: object |
| strimzi: |
| description: 'Deprecated: for backward compatibility.' |
| properties: |
| configuration: |
| description: TraitConfiguration parameters configuration |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| required: |
| - configuration |
| type: object |
| telemetry: |
| description: The configuration of Telemetry trait |
| properties: |
| auto: |
| description: Enables automatic configuration of the trait, |
| including automatic discovery of the telemetry endpoint. |
| type: boolean |
| 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 |
| endpoint: |
| description: The target endpoint of the Telemetry service |
| (automatically discovered by default) |
| type: string |
| sampler: |
| description: The sampler of the telemetry used for tracing |
| (default "on") |
| type: string |
| sampler-parent-based: |
| description: The sampler of the telemetry used for tracing |
| is parent based (default "true") |
| type: boolean |
| sampler-ratio: |
| description: The sampler ratio of the telemetry used for |
| tracing |
| type: string |
| serviceName: |
| description: The name of the service that publishes telemetry |
| data (defaults to the integration name) |
| type: string |
| type: object |
| toleration: |
| description: The configuration of Toleration trait |
| 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 |
| taints: |
| description: The list of taints to tolerate, in the form |
| `Key[=Value]:Effect[:Seconds]` |
| items: |
| type: string |
| type: array |
| type: object |
| tracing: |
| description: 'Deprecated: for backward compatibility.' |
| properties: |
| configuration: |
| description: TraitConfiguration parameters configuration |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| required: |
| - configuration |
| type: object |
| type: object |
| type: object |
| replicas: |
| description: Replicas is the number of desired replicas for the Pipe |
| format: int32 |
| type: integer |
| serviceAccountName: |
| description: Custom SA to use for the Pipe |
| type: string |
| sink: |
| description: Sink is the destination of the integration defined by |
| this Pipe |
| properties: |
| dataTypes: |
| additionalProperties: |
| description: DataTypeReference references to the specification |
| of a data type by its scheme and format name. |
| properties: |
| format: |
| description: the data type format name |
| type: string |
| scheme: |
| description: the data type component scheme |
| type: string |
| type: object |
| description: DataTypes defines the data type of the data produced/consumed |
| by the endpoint and references a given data type specification. |
| type: object |
| properties: |
| description: Properties are a key value representation of endpoint |
| properties |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| ref: |
| description: Ref can be used to declare a Kubernetes resource |
| as source/sink endpoint |
| properties: |
| apiVersion: |
| description: API version of the referent. |
| type: string |
| fieldPath: |
| description: |- |
| If referring to a piece of an object instead of an entire object, this string |
| should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. |
| For example, if the object reference is to a container within a pod, this would take on a value like: |
| "spec.containers{name}" (where "name" refers to the name of the container that triggered |
| the event) or if no container name is specified "spec.containers[2]" (container with |
| index 2 in this pod). This syntax is chosen only to have some well-defined way of |
| referencing a part of an object. |
| TODO: this design is not final and this field is subject to change in the future. |
| type: string |
| kind: |
| description: |- |
| Kind of the referent. |
| More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| type: string |
| name: |
| description: |- |
| Name of the referent. |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| type: string |
| namespace: |
| description: |- |
| Namespace of the referent. |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ |
| type: string |
| resourceVersion: |
| description: |- |
| Specific resourceVersion to which this reference is made, if any. |
| More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency |
| type: string |
| uid: |
| description: |- |
| UID of the referent. |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids |
| type: string |
| type: object |
| x-kubernetes-map-type: atomic |
| uri: |
| description: URI can be used to specify the (Camel) endpoint explicitly |
| type: string |
| type: object |
| source: |
| description: Source is the starting point of the integration defined |
| by this Pipe |
| properties: |
| dataTypes: |
| additionalProperties: |
| description: DataTypeReference references to the specification |
| of a data type by its scheme and format name. |
| properties: |
| format: |
| description: the data type format name |
| type: string |
| scheme: |
| description: the data type component scheme |
| type: string |
| type: object |
| description: DataTypes defines the data type of the data produced/consumed |
| by the endpoint and references a given data type specification. |
| type: object |
| properties: |
| description: Properties are a key value representation of endpoint |
| properties |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| ref: |
| description: Ref can be used to declare a Kubernetes resource |
| as source/sink endpoint |
| properties: |
| apiVersion: |
| description: API version of the referent. |
| type: string |
| fieldPath: |
| description: |- |
| If referring to a piece of an object instead of an entire object, this string |
| should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. |
| For example, if the object reference is to a container within a pod, this would take on a value like: |
| "spec.containers{name}" (where "name" refers to the name of the container that triggered |
| the event) or if no container name is specified "spec.containers[2]" (container with |
| index 2 in this pod). This syntax is chosen only to have some well-defined way of |
| referencing a part of an object. |
| TODO: this design is not final and this field is subject to change in the future. |
| type: string |
| kind: |
| description: |- |
| Kind of the referent. |
| More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| type: string |
| name: |
| description: |- |
| Name of the referent. |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| type: string |
| namespace: |
| description: |- |
| Namespace of the referent. |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ |
| type: string |
| resourceVersion: |
| description: |- |
| Specific resourceVersion to which this reference is made, if any. |
| More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency |
| type: string |
| uid: |
| description: |- |
| UID of the referent. |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids |
| type: string |
| type: object |
| x-kubernetes-map-type: atomic |
| uri: |
| description: URI can be used to specify the (Camel) endpoint explicitly |
| type: string |
| type: object |
| steps: |
| description: Steps contains an optional list of intermediate steps |
| that are executed between the Source and the Sink |
| items: |
| description: Endpoint represents a source/sink external entity (could |
| be any Kubernetes resource or Camel URI). |
| properties: |
| dataTypes: |
| additionalProperties: |
| description: DataTypeReference references to the specification |
| of a data type by its scheme and format name. |
| properties: |
| format: |
| description: the data type format name |
| type: string |
| scheme: |
| description: the data type component scheme |
| type: string |
| type: object |
| description: DataTypes defines the data type of the data produced/consumed |
| by the endpoint and references a given data type specification. |
| type: object |
| properties: |
| description: Properties are a key value representation of endpoint |
| properties |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| ref: |
| description: Ref can be used to declare a Kubernetes resource |
| as source/sink endpoint |
| properties: |
| apiVersion: |
| description: API version of the referent. |
| type: string |
| fieldPath: |
| description: |- |
| If referring to a piece of an object instead of an entire object, this string |
| should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. |
| For example, if the object reference is to a container within a pod, this would take on a value like: |
| "spec.containers{name}" (where "name" refers to the name of the container that triggered |
| the event) or if no container name is specified "spec.containers[2]" (container with |
| index 2 in this pod). This syntax is chosen only to have some well-defined way of |
| referencing a part of an object. |
| TODO: this design is not final and this field is subject to change in the future. |
| type: string |
| kind: |
| description: |- |
| Kind of the referent. |
| More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| type: string |
| name: |
| description: |- |
| Name of the referent. |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| type: string |
| namespace: |
| description: |- |
| Namespace of the referent. |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ |
| type: string |
| resourceVersion: |
| description: |- |
| Specific resourceVersion to which this reference is made, if any. |
| More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency |
| type: string |
| uid: |
| description: |- |
| UID of the referent. |
| More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids |
| type: string |
| type: object |
| x-kubernetes-map-type: atomic |
| uri: |
| description: URI can be used to specify the (Camel) endpoint |
| explicitly |
| type: string |
| type: object |
| type: array |
| type: object |
| status: |
| description: the status of a Pipe |
| properties: |
| conditions: |
| description: Conditions -- |
| items: |
| description: PipeCondition 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 |
| pods: |
| description: Pods collect health and conditions information |
| from the owned PODs |
| items: |
| properties: |
| condition: |
| description: PodCondition contains details for the current |
| condition of this pod. |
| properties: |
| lastProbeTime: |
| description: Last time we probed the condition. |
| format: date-time |
| type: string |
| lastTransitionTime: |
| description: Last time the condition transitioned |
| from one status to another. |
| format: date-time |
| type: string |
| message: |
| description: Human-readable message indicating details |
| about last transition. |
| type: string |
| reason: |
| description: Unique, one-word, CamelCase reason for |
| the condition's last transition. |
| type: string |
| status: |
| description: |- |
| Status is the status of the condition. |
| Can be True, False, Unknown. |
| More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-conditions |
| type: string |
| type: |
| description: |- |
| Type is the type of the condition. |
| More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-conditions |
| type: string |
| required: |
| - status |
| - type |
| type: object |
| health: |
| items: |
| properties: |
| data: |
| description: |- |
| RawMessage is a raw encoded JSON value. |
| It implements Marshaler and Unmarshaler and can |
| be used to delay JSON decoding or precompute a JSON encoding. |
| x-kubernetes-preserve-unknown-fields: true |
| name: |
| type: string |
| status: |
| type: string |
| type: object |
| type: array |
| name: |
| type: string |
| required: |
| - condition |
| type: object |
| type: array |
| 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 pipe condition. |
| type: string |
| required: |
| - status |
| - type |
| type: object |
| type: array |
| observedGeneration: |
| description: ObservedGeneration is the most recent generation observed |
| for this Pipe. |
| format: int64 |
| type: integer |
| phase: |
| description: Phase -- |
| type: string |
| replicas: |
| description: Replicas is the number of actual replicas of the pipe |
| format: int32 |
| type: integer |
| selector: |
| description: Selector allows to identify pods belonging to the pipe |
| type: string |
| type: object |
| type: object |
| served: true |
| storage: true |
| subresources: |
| scale: |
| labelSelectorPath: .status.selector |
| specReplicasPath: .spec.replicas |
| statusReplicasPath: .status.replicas |
| status: {} |