pkg/resources/config/crd/bases/camel.apache.org_builds.yaml (2,045 lines of code) (raw):
# ---------------------------------------------------------------------------
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ---------------------------------------------------------------------------
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.17.2
name: 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
git:
description: the configuration of the project to build on
Git
properties:
secret:
description: the Kubernetes secret where token is stored
type: string
url:
description: the URL of the project
type: string
type: object
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.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
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.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
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.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
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.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
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.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
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.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
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.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
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
git:
description: the configuration of the project to build on
Git
properties:
secret:
description: the Kubernetes secret where token is stored
type: string
url:
description: the URL of the project
type: string
type: object
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.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
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.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
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.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
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.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
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.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
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.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
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.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
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: {}