| # --------------------------------------------------------------------------- |
| # 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 Build operation to be executed |
| properties: |
| 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 |
| strategy: |
| description: The strategy that should be used to perform the Build. |
| enum: |
| - routine |
| - pod |
| type: string |
| tasks: |
| description: The sequence of Build tasks to be performed as part of |
| the Build execution. |
| 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 (base task) |
| properties: |
| baseImage: |
| description: the base image layer |
| type: string |
| buildDir: |
| description: workspace directory to use |
| type: string |
| 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 |
| 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 |
| 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. |
| 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: {} |