Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 26 additions & 8 deletions charts/camunda-platform-8.8/README.md

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
{{- if .Values.orchestration.migration.data.enabled }}
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ include "orchestration.fullname" . }}-data-migration-configuration
data:
application.yaml: |
{{- if .Values.global.elasticsearch.enabled }}
camunda:
database:
connect:
cluster-name: {{ .Values.global.elasticsearch.clusterName }}
cluster-type: elasticsearch
url: {{ include "camundaPlatform.elasticsearchURL" . | quote }}
{{- if and .Values.global.elasticsearch.auth.username .Values.global.elasticsearch.auth.password }}
username: {{ .Values.global.elasticsearch.auth.username }}
password: ${VALUES_ELASTICSEARCH_PASSWORD:}
{{- end }}
{{- else }}
camunda:
database:
connect:
cluster-name: {{ .Values.global.opensearch.clusterName }}
cluster-type: opensearch
url: {{ include "camundaPlatform.opensearchURL" . | quote }}
{{- if and .Values.global.opensearch.auth.username .Values.global.opensearch.auth.password }}
username: {{ .Values.global.opensearch.auth.username }}
password: ${VALUES_OPENSEARCH_PASSWORD:}
{{- end }}
{{- end }}
migration:
process:
batch-size: {{ .Values.orchestration.migration.data.process.batchSize }}
import-finished-timeout: {{ .Values.orchestration.migration.data.process.importerFinishedTimeout }}
retry:
max-retries: {{ .Values.orchestration.migration.data.process.retry.maxRetries }}
max-retry-delay: {{ .Values.orchestration.migration.data.process.retry.maxRetryDelay }}
min-retry-delay: {{ .Values.orchestration.migration.data.process.retry.minRetryDelay }}
retry-delay-multiplier: {{ .Values.orchestration.migration.data.process.retry.retryDelayMultiplier }}
metrics:
batch-size: {{ .Values.orchestration.migration.data.metrics.batchSize }}
import-finished-timeout: {{ .Values.orchestration.migration.data.metrics.importerFinishedTimeout }}
retry:
max-retries: {{ .Values.orchestration.migration.data.metrics.retry.maxRetries }}
max-retry-delay: {{ .Values.orchestration.migration.data.metrics.retry.maxRetryDelay }}
min-retry-delay: {{ .Values.orchestration.migration.data.metrics.retry.minRetryDelay }}
retry-delay-multiplier: {{ .Values.orchestration.migration.data.metrics.retry.retryDelayMultiplier }}
tumetrics:
batch-size: {{ .Values.orchestration.migration.data.tumetrics.batchSize }}
import-finished-timeout: {{ .Values.orchestration.migration.data.tumetrics.importerFinishedTimeout }}
retry:
max-retries: {{ .Values.orchestration.migration.data.tumetrics.retry.maxRetries }}
max-retry-delay: {{ .Values.orchestration.migration.data.tumetrics.retry.maxRetryDelay }}
min-retry-delay: {{ .Values.orchestration.migration.data.tumetrics.retry.minRetryDelay }}
retry-delay-multiplier: {{ .Values.orchestration.migration.data.tumetrics.retry.retryDelayMultiplier }}
tasks:
batch-size: {{ .Values.orchestration.migration.data.tasks.batchSize }}
import-finished-timeout: {{ .Values.orchestration.migration.data.process.importerFinishedTimeout }}
retry:
max-retries: {{ .Values.orchestration.migration.data.process.retry.maxRetries }}
max-retry-delay: {{ .Values.orchestration.migration.data.process.retry.maxRetryDelay }}
min-retry-delay: {{ .Values.orchestration.migration.data.process.retry.minRetryDelay }}
retry-delay-multiplier: {{ .Values.orchestration.migration.data.process.retry.retryDelayMultiplier }}
{{- end }}
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
{{- if .Values.orchestration.migration.process.enabled }}
{{- if .Values.orchestration.migration.data.enabled }}
apiVersion: batch/v1
kind: Job
metadata:
name: {{ include "orchestration.fullname" . }}-process-migration
name: {{ include "orchestration.fullname" . }}-data-migration
labels: {{- include "orchestration.labels" . | nindent 4 }}
annotations: {{- toYaml .Values.global.annotations | nindent 4 }}
spec:
backoffLimit: {{ .Values.orchestration.migration.process.backoffLimit }}
backoffLimit: {{ .Values.orchestration.migration.data.backoffLimit }}
template:
metadata:
labels:
{{- include "orchestration.labels" . | nindent 8 }}
annotations:
checksum/config: {{ include (print $.Template.BasePath "/orchestration/process-migration-configmap.yaml") . | sha256sum }}
checksum/config: {{ include (print $.Template.BasePath "/orchestration/migration-data-configmap.yaml") . | sha256sum }}
spec:
restartPolicy: OnFailure
imagePullSecrets: {{- include "orchestration.imagePullSecrets" . | nindent 8 }}
Expand Down Expand Up @@ -40,22 +40,23 @@ spec:
securityContext: {{- include "common.compatibility.renderSecurityContext" (dict "secContext" $.Values.orchestration.containerSecurityContext "context" $) | nindent 12 }}
{{- end }}
env:
{{- if and .Values.global.elasticsearch.external .Values.global.elasticsearch.auth.password -}}
- name: VALUES_DATABASE_PASSWORD
valueFrom:
secretKeyRef:
name: {{ include "camundaPlatform.fullname" . }}-elasticsearch
key: {{ .Values.global.elasticsearch.auth.existingSecretKey }}
{{/*
Passwords for variable substitution.
*/}}
{{- if and .Values.global.elasticsearch.external (eq (include "camundaPlatform.hasSecretConfig" (dict "config" .Values.global.elasticsearch.auth)) "true") }}
{{- include "camundaPlatform.emitEnvVarFromSecretConfig" (dict
"envName" "VALUES_ELASTICSEARCH_PASSWORD"
"config" .Values.global.elasticsearch.auth
) | nindent 12 }}
{{- end }}
{{- if and .Values.global.opensearch.enabled .Values.global.opensearch.auth.password -}}
- name: VALUES_DATABASE_PASSWORD
valueFrom:
secretKeyRef:
name: {{ include "camundaPlatform.fullname" . }}-opensearch
key: {{ .Values.global.opensearch.auth.existingSecretKey }}
{{- if and .Values.global.opensearch.enabled (eq (include "camundaPlatform.hasSecretConfig" (dict "config" .Values.global.opensearch.auth)) "true") }}
{{- include "camundaPlatform.emitEnvVarFromSecretConfig" (dict
"envName" "VALUES_OPENSEARCH_PASSWORD"
"config" .Values.global.opensearch.auth
) | nindent 12 }}
{{- end }}
command:
- /usr/local/camunda/bin/process-migration
- /usr/local/camunda/bin/data-migration
resources:
limits:
cpu: 500m
Expand All @@ -70,5 +71,5 @@ spec:
volumes:
- name: config
configMap:
name: {{ include "orchestration.fullname" . }}-process-migration-configuration
name: {{ include "orchestration.fullname" . }}-data-migration-configuration
{{- end }}

This file was deleted.

75 changes: 59 additions & 16 deletions charts/camunda-platform-8.8/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2419,24 +2419,67 @@ orchestration:

## @extra orchestration.migration configuration for migration purposes for the orchestration cluster
migration:
process:
## @param orchestration.migration.process.enabled if true, the process migration occurs.
data:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can this nesting be removed? It might be confusing, since the property would be CAMUNDA_MIGRATION_PROCESS_* whereas in the values it would be CAMUNDA_MIGRATION_DATA_PROCESS_*. Or is that something that we are doing in other places as well?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The values.yaml does not conform to the application config so it is okay for the values.yaml to have a different structure.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One of the main goals of having Helm is to have an abstraction layer on top of the application to not worry about the application config.

## @param orchestration.migration.data.enabled if true, the data migration occurs.
enabled: false
## @param orchestration.migration.process.backoffLimit if true, can be used to specify the backoffLimit for the job https://kubernetes.io/docs/concepts/workloads/controllers/job/#pod-backoff-failure-policy
## @param orchestration.migration.data.backoffLimit if true, can be used to specify the backoffLimit for the job https://kubernetes.io/docs/concepts/workloads/controllers/job/#pod-backoff-failure-policy
backoffLimit: 6
## @param orchestration.migration.process.batchSize can be used to define the batch size.
batchSize: 5
## @param orchestration.migration.process.importFinishedTimeout can be used to define the timeout when the import is finished.
importFinishedTimeout: PT1M
retry:
## @param orchestration.migration.process.retry.maxRetries can be used to define the maximum amount of retries.
maxRetries: 5
## @param orchestration.migration.process.retry.maxRetryDelay can be used to define the delay time between retries.
maxRetryDelay: PT1M
## @param orchestration.migration.process.retry.minRetryDelay can be used to define the delay time between retries.
minRetryDelay: PT10s
## @param orchestration.migration.process.retry.retryDelayMultiplier can be used to define the delay multiplier.
retryDelayMultiplier: 2.0
process:
## @param orchestration.migration.data.process.batchSize can be used to define the batch size.
batchSize: 5
## @param orchestration.migration.data.process.importerFinishedTimeout can be used to define the timeout when the import is finished.
importerFinishedTimeout: PT1M
retry:
## @param orchestration.migration.data.process.retry.maxRetries can be used to define the maximum amount of retries.
maxRetries: 5
## @param orchestration.migration.data.process.retry.maxRetryDelay can be used to define the delay time between retries.
maxRetryDelay: PT1M
## @param orchestration.migration.data.process.retry.minRetryDelay can be used to define the delay time between retries.
minRetryDelay: PT10s
## @param orchestration.migration.data.process.retry.retryDelayMultiplier can be used to define the delay multiplier.
retryDelayMultiplier: 2.0
metrics:
## @param orchestration.migration.data.metrics.batchSize can be used to define the batch size.
batchSize: 5
## @param orchestration.migration.data.metrics.importerFinishedTimeout can be used to define the timeout when the import is finished.
importerFinishedTimeout: PT1M
retry:
## @param orchestration.migration.data.metrics.retry.maxRetries can be used to define the maximum amount of retries.
maxRetries: 5
## @param orchestration.migration.data.metrics.retry.maxRetryDelay can be used to define the delay time between retries.
maxRetryDelay: PT1M
## @param orchestration.migration.data.metrics.retry.minRetryDelay can be used to define the delay time between retries.
minRetryDelay: PT10s
## @param orchestration.migration.data.metrics.retry.retryDelayMultiplier can be used to define the delay multiplier.
retryDelayMultiplier: 2.0
tumetrics:
## @param orchestration.migration.data.tumetrics.batchSize can be used to define the batch size.
batchSize: 5
## @param orchestration.migration.data.tumetrics.importerFinishedTimeout can be used to define the timeout when the import is finished.
importerFinishedTimeout: PT1M
retry:
## @param orchestration.migration.data.tumetrics.retry.maxRetries can be used to define the maximum amount of retries.
maxRetries: 5
## @param orchestration.migration.data.tumetrics.retry.maxRetryDelay can be used to define the delay time between retries.
maxRetryDelay: PT1M
## @param orchestration.migration.data.tumetrics.retry.minRetryDelay can be used to define the delay time between retries.
minRetryDelay: PT10s
## @param orchestration.migration.data.tumetrics.retry.retryDelayMultiplier can be used to define the delay multiplier.
retryDelayMultiplier: 2.0
tasks:
## @param orchestration.migration.data.tasks.batchSize can be used to define the batch size.
batchSize: 5
## @param orchestration.migration.data.tasks.importerFinishedTimeout can be used to define the timeout when the import is finished.
importerFinishedTimeout: PT1M
retry:
## @param orchestration.migration.data.tasks.retry.maxRetries can be used to define the maximum amount of retries.
maxRetries: 5
## @param orchestration.migration.data.tasks.retry.maxRetryDelay can be used to define the delay time between retries.
maxRetryDelay: PT1M
## @param orchestration.migration.data.tasks.retry.minRetryDelay can be used to define the delay time between retries.
minRetryDelay: PT10s
## @param orchestration.migration.data.tasks.retry.retryDelayMultiplier can be used to define the delay multiplier.
retryDelayMultiplier: 2.0
identity:
## @param orchestration.migration.identity.enabled if true, the migration of data from Management Identity to Identity (in the orchestration cluster) occurs
enabled: false
Expand Down
Loading