config/crd/bases/camel.apache.org_builds.yaml (844 lines of code) (raw):

# --------------------------------------------------------------------------- # Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright ownership. # The ASF licenses this file to You under the Apache License, Version 2.0 # (the "License"); you may not use this file except in compliance with # the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # --------------------------------------------------------------------------- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.6.1 creationTimestamp: null labels: app: camel-k name: 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 appropiate 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: 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 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 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 properties: baseImage: description: base image layer type: string 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 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: 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 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 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: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?' type: string optional: description: Specify whether the Secret or its key must be defined type: boolean required: - key type: object type: 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:Version) Maven artifact properties: artifactId: description: Maven Artifact type: string groupId: description: Maven Group 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 profile: description: A reference to the ConfigMap or Secret key that contains the Maven profile. properties: configMapKeyRef: description: Selects a key of a ConfigMap. properties: key: description: The key to select. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?' type: string optional: description: Specify whether the ConfigMap or its key must be defined type: boolean required: - key type: object secretKeyRef: description: Selects a key of a secret. properties: key: description: The key of the secret to select from. Must be a valid secret key. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?' type: string optional: description: Specify whether the Secret or its key must be defined type: boolean required: - key type: object type: object 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: properties: configuration: additionalProperties: type: string 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: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?' type: string optional: description: Specify whether the ConfigMap or its key must be defined type: boolean required: - key type: object secretKeyRef: description: Selects a key of a secret. properties: key: description: The key of the secret to select from. Must be a valid secret key. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?' type: string optional: description: Specify whether the Secret or its key must be defined type: boolean required: - key type: object type: object 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: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?' type: string optional: description: Specify whether the ConfigMap or its key must be defined type: boolean required: - key type: object secretKeyRef: description: Selects a key of a secret. properties: key: description: The key of the secret to select from. Must be a valid secret key. type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?' type: string optional: description: Specify whether the Secret or its key must be defined type: boolean required: - key type: object type: object 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 properties: dependencies: items: description: MavenArtifact defines a GAV (Group:Artifact:Version) Maven artifact properties: artifactId: description: Maven Artifact type: string groupId: description: Maven Group type: string version: description: Maven Version type: string required: - artifactId - groupId type: object type: array required: - dependencies 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:Version) Maven artifact properties: artifactId: description: Maven Artifact type: string groupId: description: Maven Group 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 interceptors: description: Interceptors are optional identifiers the org.apache.camel.k.RoutesLoader uses to pre/post process sources items: type: string type: array language: description: specify which is the language (Camel DSL) used to interpret this source code type: string loader: description: Loader is an optional id of the org.apache.camel.k.RoutesLoader that will interpret this source at runtime type: string name: description: the name of the specification type: string path: description: the path where the file is stored type: string property-names: description: List of property names defined in the source (e.g. if type is "template") items: type: string type: array rawContent: description: the source code (binary) format: byte type: string type: description: Type defines the kind of source described by this object type: string type: object type: array steps: description: the list of steps to execute (see pkg/builder/) items: type: string type: array type: object custom: description: UserTask is used to execute any generic custom operation properties: command: description: the command to execute type: string image: description: the container image to use type: string name: description: name of the task type: string type: object kaniko: description: a KanikoTask, for Kaniko strategy 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 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 s2i: description: a S2iTask, for S2I strategy properties: contextDir: description: can be useful to share info with other tasks type: string name: description: name of the task type: string tag: description: used by the ImageStream type: string type: object spectrum: description: a SpectrumTask, for Spectrum strategy properties: baseImage: description: base image layer type: string 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 startedAt: description: the time when it started format: date-time type: string type: object type: object served: true storage: true subresources: status: {}