Skip to content

Commit

Permalink
feat(pipeline): configure requests and limits for all tasks
Browse files Browse the repository at this point in the history
  • Loading branch information
squakez committed Sep 26, 2023
1 parent 3ecf2bf commit cbac62e
Show file tree
Hide file tree
Showing 35 changed files with 1,343 additions and 215 deletions.
258 changes: 258 additions & 0 deletions config/crd/bases/camel.apache.org_builds.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -148,6 +148,49 @@ spec:
baseImage:
description: base image layer
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
contextDir:
description: can be useful to share info with other tasks
type: string
Expand Down Expand Up @@ -698,6 +741,49 @@ spec:
items:
type: string
type: array
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
image:
description: the container image to use
type: string
Expand All @@ -711,6 +797,49 @@ spec:
baseImage:
description: base image layer
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
contextDir:
description: can be useful to share info with other tasks
type: string
Expand Down Expand Up @@ -759,6 +888,49 @@ spec:
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:
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
contextDir:
description: can be useful to share info with other tasks
type: string
Expand Down Expand Up @@ -1298,6 +1470,49 @@ spec:
s2i:
description: a S2iTask, for S2I strategy
properties:
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
contextDir:
description: can be useful to share info with other tasks
type: string
Expand All @@ -1314,6 +1529,49 @@ spec:
baseImage:
description: base image layer
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
contextDir:
description: can be useful to share info with other tasks
type: string
Expand Down
46 changes: 37 additions & 9 deletions config/crd/bases/camel.apache.org_integrationkits.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -204,12 +204,14 @@ spec:
traits share this common property.
type: boolean
limitCPU:
description: When using `pod` strategy, the maximum amount
of CPU required by the pod builder.
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.
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
Expand All @@ -234,20 +236,46 @@ spec:
type: string
type: array
requestCPU:
description: When using `pod` strategy, the minimum amount
of CPU required by the pod builder.
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.
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)
type: string
tasks:
description: A list of tasks to be executed (available only
when using `pod` strategy) with format <name>;<container-image>;<container-command>
when using `pod` strategy) with format `<name>;<container-image>;<container-command>`.
items:
type: string
type: array
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
Expand Down
Loading

0 comments on commit cbac62e

Please sign in to comment.