-
Notifications
You must be signed in to change notification settings - Fork 0
/
values.yaml
465 lines (439 loc) · 18 KB
/
values.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
## @section Global parameters
##
global:
persistence:
## @param global.persistence.storageClass PVC Storage Class for Remote Runner data volume
## If defined, storageClassName: <storageClass>
## If set to "-", storageClassName: "", which disables dynamic provisioning
## If undefined (the default) or set to null, no storageClassName spec is
## set, choosing the default provisioner. (gp2 on AWS, standard on
## GKE, AWS & OpenStack)
##
storageClass: ""
## @param global.persistence.createVolume Provide for created claims explicit volume creation withing chart.
## If set to "true", baseHostPath needs to be set too.
createVolume: false
## @param global.persistence.baseHostPath The host path for the k3d cluster.
## It is not required if you are installing remote runner in the cloud (AWS, Azure or GCP).
## If set, creating the PV with specified hostPath.
baseHostPath:
## @section Digital.ai Remote Runner parameters
##
runner:
## @param runner.activeProfiles is used to change the active spring profile.
activeProfiles: "k8s"
## @param runner.capabilities comma separated list of capabilities for the remote runner
capabilities: "remote,container,k8s"
## @param runner.jdkJavaOptions Java options for the Remote Runner Java runtime
jdkJavaOptions: "-XX:+UseParallelGC -XX:+ShowCodeDetailsInExceptionMessages -XshowSettings:vm -Dh2.bindAddress=localhost"
## @param runner.remoteDebug enable remote debugging
remoteDebug: false
## @param runner.jdkRemoteDebug when enabled remote debugging use the specified configuration
jdkRemoteDebug: "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005"
## @param runner.truststore the truststore base64 encoded value
truststore:
## @param runner.truststorePassword the truststore password
truststorePassword:
## @param runner.config [object] Map configuration variables that are set in the config map and used as environment
config:
LOGGING_LEVEL_RUNNER: DEBUG
LOGGING_LEVEL_K8S_EXECUTOR: DEBUG
LOGGING_LEVEL_JOB_RUNNER_ACTOR: DEBUG
LOGGING_LEVEL_CONTROL_CHANNEL: DEBUG
LOGGING_LEVEL_MESSAGE_DELIVERY: DEBUG
## @section Digital.ai Release parameters
##
release:
## @param release.registrationToken is the token you create in Release that the runner will use to register itself.
registrationToken:
## @param release.url is the url of your release instance.
url:
## @section Persistence parameters
##
persistence:
## @param persistence.enabled Enable Remote Runner data persistence using PVC
##
enabled: true
work:
## @param persistence.work.storageClass PVC Storage Class for Remote Runner data volume
## If defined, storageClassName: <storageClass>
## If set to "-", storageClassName: "", which disables dynamic provisioning
## If undefined (the default) or set to null, no storageClassName spec is
## set, choosing the default provisioner. (gp2 on AWS, standard on
## GKE, AWS & OpenStack)
##
storageClass: ""
## @param persistence.work.selector Selector to match an existing Persistent Volume
## selector:
## matchLabels:
## app: my-app
##
selector: { }
## @param persistence.work.accessModes PVC Access Modes for Remote Runner data volume
##
accessModes:
- ReadWriteMany
## @param persistence.work.existingClaim Provide an existing PersistentVolumeClaims
## The value is evaluated as a template
## So, for example, the name can depend on .Release or .Chart
##
existingClaim: ""
## @param persistence.work.size PVC Storage Request for work storage
##
size: 512Mi
volume:
## @param persistence.work.volume.create Provide for created claims explicit volume creation withing chart.
## If set to "true", baseHostPath needs to be set too.
##
create: false
## @param persistence.work.volume.baseHostPath The host path for the k3d cluster.
## It is not required if you are installing remote runner in the cloud (AWS, Azure or GCP).
## If set, creating the PV with specified hostPath.
baseHostPath:
## @param persistence.work.volume.size PV Storage Capacity for work storage
size: 1Gi
## @param persistence.work.annotations [object] Persistence annotations. Evaluated as a template
## Example:
## annotations:
## example.io/disk-volume-type: SSD
##
annotations:
helm.sh/resource-policy: "keep"
db:
## @param persistence.db.storageClass PVC Storage Class for Remote Runner data volume
## If defined, storageClassName: <storageClass>
## If set to "-", storageClassName: "", which disables dynamic provisioning
## If undefined (the default) or set to null, no storageClassName spec is
## set, choosing the default provisioner. (gp2 on AWS, standard on
## GKE, AWS & OpenStack)
##
storageClass: ""
## @param persistence.db.selector Selector to match an existing Persistent Volume
## selector:
## matchLabels:
## app: my-app
##
selector: { }
## @param persistence.db.accessModes PVC Access Modes for Remote Runner data volume
##
accessModes:
- ReadWriteOnce
## @param persistence.db.existingClaim Provide an existing PersistentVolumeClaims
## The value is evaluated as a template
## So, for example, the name can depend on .Release or .Chart
##
existingClaim: ""
## @param persistence.db.size PVC Storage Request for DB storage
##
size: 256Mi
volume:
## @param persistence.db.volume.create Provide for created claims explicit volume creation withing chart.
## If set to "true", baseHostPath needs to be set too.
##
create: false
## @param persistence.db.volume.baseHostPath The host path for the k3d cluster.
## It is not required if you are installing remote runner in the cloud (AWS, Azure or GCP).
## If set, creating the PV with specified hostPath.
baseHostPath:
## @param persistence.db.volume.size PV Storage Capacity for DB storage
size: 1Gi
## @param persistence.db.annotations [object] Persistence annotations. Evaluated as a template
## Example:
## annotations:
## example.io/disk-volume-type: SSD
##
annotations:
helm.sh/resource-policy: "keep"
## @section Image parameters
##
image:
## @param image.pullPolicy Specify a imagePullPolicy
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
## ref: https://kubernetes.io/docs/user-guide/images/#pre-pulling-images
##
pullPolicy: IfNotPresent
## @param image.registry Remote runner image registry
registry: docker.io
## @param image.repository runner image repository
repository: xebialabs
## @param image.name Remote runner image name
name: xlr-remote-runner
## @param image.tag Remote runner image tag
tag: 0.1.33
## @param image.pullSecrets Optionally specify an array of imagePullSecrets (secrets must be manually created in the namespace)
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
## Example to create a secret:
## `kubectl create secret docker-registry regcred --docker-server=<your-registry-server> --docker-username=<your-name> --docker-password=<your-pword> --docker-email=<your-email>`
## Example:
## pullSecrets:
## - myRegistryKeySecretName
##
pullSecrets: [ ]
## @section Common parameters
##
## @param nameOverride String to partially override release.fullname template (will maintain the release name)
##
nameOverride: ""
## @param fullnameOverride String to fully override release.fullname template
##
fullnameOverride: ""
## @param commonAnnotations Annotations to add to all deployed objects
##
commonAnnotations: { }
## @param commonLabels Labels to add to all deployed objects
##
commonLabels: { }
## Enable creation and installation in the custom namespace
##
## @param namespaceOverride String to fully override namespace
##
namespaceOverride:
namespace:
## @param namespace.create enable creation in the custom namespace
##
create: false
## @param namespace.annotations Annotations to add to all namespace resource
##
annotations: { }
## Enable diagnostic mode in the deployment
##
diagnosticMode:
## @param diagnosticMode.enabled Enable diagnostic mode (all probes will be disabled and the command will be overridden)
##
enabled: false
## @param diagnosticMode.command Command to override all containers in the deployment
##
command:
- sleep
## @param diagnosticMode.args Args to override all containers in the deployment
##
args:
- infinity
## @section Statefulset parameters
##
## @param schedulerName Use an alternate scheduler, e.g. "stork".
## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
##
schedulerName: ""
## Remote Runner can be initialized in parallel when building cluster.
## Therefore, the default value of podManagementPolicy is 'OrderedReady'
## @param podManagementPolicy Pod management policy
##
podManagementPolicy: Parallel
## @param podLabels Remote Runner Pod labels. Evaluated as a template
## Ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
##
podLabels: {}
## @param podAnnotations Remote Runner Pod annotations. Evaluated as a template
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
##
podAnnotations: {}
## @param replicaCount Number of Remote Runner replicas to deploy
##
replicaCount: 1
## @param updateStrategy.type Update strategy type for Remote Runner statefulset
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
##
updateStrategy:
## StrategyType
## Can be set to RollingUpdate or OnDelete
##
type: RollingUpdate
## @param statefulsetLabels Remote Runner statefulset labels. Evaluated as a template
## Ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
##
statefulsetLabels: {}
## @param priorityClassName Name of the priority class to be used by Remote Runner pods, priority class needs to be created beforehand
## Ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/
##
priorityClassName: ""
## @param podAffinityPreset Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
##
podAffinityPreset: ""
## @param podAntiAffinityPreset Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
##
podAntiAffinityPreset: soft
## Node affinity preset
## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
##
nodeAffinityPreset:
## @param nodeAffinityPreset.type Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
##
type: ""
## @param nodeAffinityPreset.key Node label key to match Ignored if `affinity` is set.
## E.g.
## key: "kubernetes.io/e2e-az-name"
##
key: ""
## @param nodeAffinityPreset.values Node label values to match. Ignored if `affinity` is set.
## E.g.
## values:
## - e2e-az1
## - e2e-az2
##
values: []
## @param affinity Affinity for pod assignment. Evaluated as a template
## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
## Note: podAffinityPreset, podAntiAffinityPreset, and nodeAffinityPreset will be ignored when it's set
##
affinity: { }
## @param nodeSelector Node labels for pod assignment. Evaluated as a template
## ref: https://kubernetes.io/docs/user-guide/node-selection/
##
nodeSelector: { }
## @param tolerations Tolerations for pod assignment. Evaluated as a template
## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
##
tolerations: [ ]
## @param topologySpreadConstraints Topology Spread Constraints for pod assignment spread across your cluster among failure-domains. Evaluated as a template
## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods
##
topologySpreadConstraints: [ ]
## Remote Runner pods' Security Context
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
## @param podSecurityContext.enabled Enable Remote Runner pods' Security Context
## @param podSecurityContext.runAsUser Set Remote Runner pod's Security Context runAsUser
## @param podSecurityContext.runAsGroup Set Remote Runner pod's Security Context runAsGroup
## @param podSecurityContext.fsGroup Set Remote Runner pod's Security Context fsGroup
##
podSecurityContext:
enabled: false
runAsUser: 1001
runAsGroup: 1001
fsGroup: 1001
## @param containerSecurityContext.enabled Enabled Remote Runner containers' Security Context
## @param containerSecurityContext.runAsUser Set Remote Runner containers' Security Context runAsUser
## @param containerSecurityContext.runAsNonRoot Set Remote Runner container's Security Context runAsNonRoot
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
## Example:
## containerSecurityContext:
## capabilities:
## drop: ["NET_RAW"]
## readOnlyRootFilesystem: true
##
containerSecurityContext:
enabled: false
runAsUser: 1001
runAsNonRoot: true
## @param extraVolumeMounts Optionally specify extra list of additional volumeMounts
## Examples:
## extraVolumeMounts:
## - name: extras
## mountPath: /usr/share/extras
## readOnly: true
##
extraVolumeMounts: []
## @param extraVolumes Optionally specify extra list of additional volumes .
## Example:
## extraVolumes:
## - name: extras
## emptyDir: {}
##
extraVolumes: []
## @param hostAliases Deployment pod host aliases
## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
##
hostAliases: []
## @param dnsPolicy DNS Policy for pod
## ref: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/
## E.g.
## dnsPolicy: ClusterFirst
dnsPolicy: "ClusterFirst"
## @param hostNetwork allows a pod to use the node network namespace. If enabled health monitoring will be disabled because of port conflict on the same node.
hostNetwork: false
## @param dnsConfig DNS Configuration pod
## ref: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/
## E.g.
## dnsConfig:
## options:
## - name: ndots
## value: "4"
dnsConfig: {}
## @param command Override default container command (useful when using custom images)
##
command:
## @param args Override default container args (useful when using custom images)
##
args:
## @param lifecycleHooks Overwrite livecycle for the Remote Runner container(s) to automate configuration before or after startup
##
lifecycleHooks: {}
## @param terminationGracePeriodSeconds Default duration in seconds k8s waits for container to exit before sending kill signal.
## Any time in excess of 10 seconds will be spent waiting for any synchronization necessary for cluster not to lose data.
##
terminationGracePeriodSeconds: 200
## @param extraEnvVars Extra environment variables to add to Remote Runner pods
## E.g:
## extraEnvVars:
## - name: FOO
## value: BAR
##
extraEnvVars: [ ]
## @param extraEnvVarsCM Name of existing ConfigMap containing extra environment variables
##
extraEnvVarsCM: ""
## @param extraEnvVarsSecret Name of existing Secret containing extra environment variables (in case of sensitive data)
##
extraEnvVarsSecret: ""
health:
## @param health.enabled Enable health monitoring with readiness and liveness probes based on the remote runner actuator management endpoints
enabled: true
## @param health.periodScans Defines how frequently the probe will be executed after the initial delay.
periodScans: 5
## @param health.probeFailureThreshold Instructs Kubernetes to retry the probe this many times after a failure is first recorded.
probeFailureThreshold: 12
## @param health.probesLivenessTimeout Set a delay between the time the container starts and the first time the probe is executed.
probesLivenessTimeout: 10
## @param health.probesReadinessTimeout Set a delay between the time the container starts and the first time the probe is executed.
probesReadinessTimeout: 10
## Remote Runner containers' resource requests and limits
## ref: https://kubernetes.io/docs/user-guide/compute-resources/
## We usually recommend not to specify default resources and to leave this as a conscious
## choice for the user. This also increases chances charts run on environments with little
## resources, such as Minikube. If you do want to specify resources, uncomment the following
## lines, adjust them as necessary, and remove the curly braces after 'resources:'.
##
resources:
## @param resources.limits [object] The resources limits for Remote Runner containers
## Example:
## limits:
## cpu: 2
## memory: 2Gi
##
limits:
cpu: "4"
memory: 1G
## @param resources.requests [object] The requested resources for Remote Runner containers
## Examples:
## requests:
## cpu: 100m
## memory: 2Gi
##
requests:
cpu: "0.5"
memory: 512Mi
## @section RBAC parameters
##
## Remote Runner pods ServiceAccount
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
##
serviceAccount:
## @param serviceAccount.create Enable creation of ServiceAccount for Remote Runner pods
##
create: true
## @param serviceAccount.name Name of the created serviceAccount
## If not set and create is true, a name is generated using the release.fullname template
##
name: ""
## @param serviceAccount.annotations Annotations for service account. Evaluated as a template. Only used if `create` is `true`.
##
annotations: { }
## Role Based Access
## ref: https://kubernetes.io/docs/admin/authorization/rbac/
##
rbac:
## @param rbac.create Whether RBAC rules should be created binding Remote Runner ServiceAccount to a role that allows Remote Runner pods querying the K8s API
##
create: true