Skip to content

Commit

Permalink
feat(traits): persist generated status
Browse files Browse the repository at this point in the history
Closes #4811
  • Loading branch information
squakez committed Feb 13, 2024
1 parent 62bcb14 commit 78febd4
Show file tree
Hide file tree
Showing 17 changed files with 3,553 additions and 78 deletions.
230 changes: 230 additions & 0 deletions config/crd/bases/camel.apache.org_integrationkits.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -539,6 +539,236 @@ spec:
runtimeVersion:
description: the runtime version for which this kit was configured
type: string
traits:
description: generated traits executed by the kit
properties:
addons:
additionalProperties:
description: AddonTrait represents the configuration of an addon
trait.
type: object
x-kubernetes-preserve-unknown-fields: true
description: The collection of addon trait configurations
type: object
builder:
description: The builder trait is internally used to determine
the best strategy to build and configure IntegrationKits.
properties:
annotations:
additionalProperties:
type: string
description: When using `pod` strategy, annotation to use
for the builder pod.
type: object
baseImage:
description: Specify a base image
type: string
configuration:
description: 'Legacy trait configuration parameters. Deprecated:
for backward compatibility.'
type: object
x-kubernetes-preserve-unknown-fields: true
enabled:
description: 'Deprecated: no longer in use.'
type: boolean
incrementalImageBuild:
description: Use the incremental image build option, to reuse
existing containers (default `true`)
type: boolean
limitCPU:
description: 'When using `pod` strategy, the maximum amount
of CPU required by the pod builder. Deprecated: use TasksRequestCPU
instead with task name `builder`.'
type: string
limitMemory:
description: 'When using `pod` strategy, the maximum amount
of memory required by the pod builder. Deprecated: use TasksRequestCPU
instead with task name `builder`.'
type: string
mavenProfiles:
description: 'A list of references pointing to configmaps/secrets
that contains a maven profile. The content of the maven
profile is expected to be a text containing a valid maven
profile starting with `<profile>` and ending with `</profile>`
that will be integrated as an inline profile in the POM.
Syntax: [configmap|secret]:name[/key], where name represents
the resource name, key optionally represents the resource
key to be filtered (default key value = profile.xml).'
items:
type: string
type: array
nodeSelector:
additionalProperties:
type: string
description: Defines a set of nodes the builder pod is eligible
to be scheduled on, based on labels on the node.
type: object
orderStrategy:
description: The build order strategy to use, either `dependencies`,
`fifo` or `sequential` (default `sequential`)
enum:
- dependencies
- fifo
- sequential
type: string
properties:
description: A list of properties to be provided to the build
task
items:
type: string
type: array
requestCPU:
description: 'When using `pod` strategy, the minimum amount
of CPU required by the pod builder. Deprecated: use TasksRequestCPU
instead with task name `builder`.'
type: string
requestMemory:
description: 'When using `pod` strategy, the minimum amount
of memory required by the pod builder. Deprecated: use TasksRequestCPU
instead with task name `builder`.'
type: string
strategy:
description: The strategy to use, either `pod` or `routine`
(default `routine`)
enum:
- pod
- routine
type: string
tasks:
description: A list of tasks to be executed (available only
when using `pod` strategy) with format `<name>;<container-image>;<container-command>`.
items:
type: string
type: array
tasksFilter:
description: A list of tasks sorted by the order of execution
in a csv format, ie, `<taskName1>,<taskName2>,...`. Mind
that you must include also the operator tasks (`builder`,
`quarkus-native`, `package`, `jib`, `spectrum`, `s2i`) if
you need to execute them. Useful only with `pod` strategy.
type: string
tasksLimitCPU:
description: A list of limit cpu configuration for the specific
task with format `<task-name>:<limit-cpu-conf>`.
items:
type: string
type: array
tasksLimitMemory:
description: A list of limit memory configuration for the
specific task with format `<task-name>:<limit-memory-conf>`.
items:
type: string
type: array
tasksRequestCPU:
description: A list of request cpu configuration for the specific
task with format `<task-name>:<request-cpu-conf>`.
items:
type: string
type: array
tasksRequestMemory:
description: A list of request memory configuration for the
specific task with format `<task-name>:<request-memory-conf>`.
items:
type: string
type: array
verbose:
description: Enable verbose logging on build components that
support it (e.g. Kaniko build pod). Deprecated no longer
in use
type: boolean
type: object
camel:
description: The Camel trait sets up Camel configuration.
properties:
configuration:
description: 'Legacy trait configuration parameters. Deprecated:
for backward compatibility.'
type: object
x-kubernetes-preserve-unknown-fields: true
enabled:
description: 'Deprecated: no longer in use.'
type: boolean
properties:
description: A list of properties to be provided to the Integration
runtime
items:
type: string
type: array
runtimeVersion:
description: The camel-k-runtime version to use for the integration.
It overrides the default version set in the Integration
Platform.
type: string
type: object
quarkus:
description: 'The Quarkus trait configures the Quarkus runtime.
It''s enabled by default. NOTE: Compiling to a native executable,
requires at least 4GiB of memory, so the Pod running the native
build must have enough memory available.'
properties:
buildMode:
description: 'The Quarkus mode to run: either `jvm` or `native`
(default `jvm`). In case both `jvm` and `native` are specified,
two `IntegrationKit` resources are created, with the `native`
kit having precedence over the `jvm` one once ready.'
items:
description: QuarkusMode is the type of Quarkus build packaging.
enum:
- jvm
- native
type: string
type: array
configuration:
description: 'Legacy trait configuration parameters. Deprecated:
for backward compatibility.'
type: object
x-kubernetes-preserve-unknown-fields: true
enabled:
description: 'Deprecated: no longer in use.'
type: boolean
nativeBaseImage:
description: The base image to use when running a native build
(default `quay.io/quarkus/quarkus-micro-image:2.0`)
type: string
nativeBuilderImage:
description: The image containing the tooling required for
a native build (by default it will use the one provided
in the runtime catalog)
type: string
packageTypes:
description: 'The Quarkus package types, `fast-jar` or `native`
(default `fast-jar`). In case both `fast-jar` and `native`
are specified, two `IntegrationKit` resources are created,
with the native kit having precedence over the `fast-jar`
one once ready. The order influences the resolution of the
current kit for the integration. The kit corresponding to
the first package type will be assigned to the integration
in case no existing kit that matches the integration exists.
Deprecated: use `build-mode` instead.'
items:
description: 'QuarkusPackageType is the type of Quarkus
build packaging. Deprecated: use `QuarkusMode` instead.'
enum:
- fast-jar
- native
type: string
type: array
type: object
registry:
description: The Registry trait sets up Maven to use the Image
registry as a Maven repository.
properties:
configuration:
description: 'Legacy trait configuration parameters. Deprecated:
for backward compatibility.'
type: object
x-kubernetes-preserve-unknown-fields: true
enabled:
description: Can be used to enable or disable a trait. All
traits share this common property.
type: boolean
type: object
type: object
version:
description: the Camel K operator version for which this kit was configured
type: string
Expand Down
Loading

0 comments on commit 78febd4

Please sign in to comment.