cleanup values, add docs, regenerate parameters and values schema

Signed-off-by: Pascal Sthamer <pascal+github@sthamer.xyz>
This commit is contained in:
Pascal Sthamer
2025-12-01 17:12:12 +01:00
parent 478c6fc947
commit ff25e58abb
3 changed files with 633 additions and 99 deletions
+119 -23
View File
@@ -131,14 +131,30 @@ If you want full control, you can deploy apps using helm. This has the following
- granular control per app and version (e.g. have more replicas and resources for frequently used apps)
- avoid problems with on-demand started apps (see https://github.com/Shuffle/Shuffle/issues/1739)
To deploy apps using helm, use the `app.deployViaHelm` value:
To deploy apps using helm, use the `app.deployViaHelm` value. Here is an example, which deploys the shuffle-tools app and 2 versions of the opensearch app:
```yaml
app:
replicas: 1 # default to 1 replica per app
deployViaHelm:
- app: shuffle-tools
tools:
app: shuffle-tools
version: 1.2.0
TODO
opensearchOld:
app: opensearch
version: 1.0.0 # Also deploy OpenSearch version 1.0.0, because some workflows still use it.
opensearch:
app: opensearch
version: 1.1.0
replicas: 3 # use 3 replicas for OpenSearch app
resources: # Custom resources for OpenSearch app
limits:
memory: 512Mi
```
The key of an app in the `deployViaHelm` map does not matter. We are not using an array here, to allow overriding values in stage-specific value files or using the command line, e.g.
`helm upgrade ... --set app.deployViaHelm.tools.replicas=3`.
See the app Paramters section below for a complete list of helm values, that can be used to customize app deployments.
Take a look at the `app.deployViaHelm.MY_APP.*` parameters for a complete list of helm values that can be set on every app.
It is possible to use a hybrid approach - deploy some apps using helm, while still allowing Worker to create additional apps on-demand.
@@ -184,12 +200,13 @@ The password should be provided with the `SHUFFLE_OPENSEARCH_PASSWORD` env varia
### Shared Shuffle Parameters
| Name | Description | Value |
| --------------------- | ------------------------------------------------------------- | --------------- |
| `shuffle.baseUrl` | The external base URL under which Shuffle is reachable. | `""` |
| `shuffle.org` | Default shuffle organization | `Shuffle` |
| `shuffle.appRegistry` | The registry from / to which shuffle apps are pulled / pushed | `""` |
| `shuffle.timezone` | The timezone used by Shuffle | `Europe/Berlin` |
| Name | Description | Value |
| -------------------------- | -------------------------------------------------------------------------------------------------------------------------- | --------------- |
| `shuffle.baseUrl` | The external base URL under which Shuffle is reachable. | `""` |
| `shuffle.org` | Default shuffle organization | `Shuffle` |
| `shuffle.appRegistry` | The registry from / to which shuffle apps are pulled / pushed | `docker.io` |
| `shuffle.appBaseImageName` | The base image used for shuffle apps. The final image for an app is <appRegistr>/<appBaseImageName>/<appName>:<appVersion> | `frikky` |
| `shuffle.timezone` | The timezone used by Shuffle | `Europe/Berlin` |
### backend Parameters
@@ -418,7 +435,7 @@ The password should be provided with the `SHUFFLE_OPENSEARCH_PASSWORD` env varia
| ----------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------- |
| `orborus.image.registry` | orborus image registry | `ghcr.io` |
| `orborus.image.repository` | orborus image repository | `shuffle/shuffle-orborus` |
| `orborus.image.tag` | orborus image tag (immutable tags are recommended, defaults to appVersion) | `""` |
| `orborus.image.tag` | orborus image tag (immutable tags are recommended, defaults to appVersion) | `nightly` |
| `orborus.image.digest` | orborus image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag image tag (immutable tags are recommended) | `""` |
| `orborus.image.pullPolicy` | orborus image pull policy | `IfNotPresent` |
| `orborus.image.pullSecrets` | orborus image pull secrets | `[]` |
@@ -515,15 +532,43 @@ The password should be provided with the `SHUFFLE_OPENSEARCH_PASSWORD` env varia
| `orborus.networkPolicy.allowExternalEgress` | Allow the pod to access any range of port and all destinations. | `true` |
| `orborus.networkPolicy.extraIngress` | Add extra ingress rules to the NetworkPolicy | `[]` |
| `orborus.networkPolicy.extraEgress` | Add extra ingress rules to the NetworkPolicy (ignored if allowExternalEgress=true) | `[]` |
| `orborus.executionConcurrency` | The maximum amount of concurrent workflow executions per worker | `25` |
| `orborus.manageWorkerDeployments` | Whether workers are deployed and managed by orborus. When disabled, every worker is expected to be already deployed (see worker.enableHelmDeployment). | `true` |
### worker Parameters
| Name | Description | Value |
| ---------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------ |
| `worker.enableHelmDeployment` | Deploy worker via helm. By default, workers are deployed by Orborus. | `false` |
| `worker.image.registry` | worker image registry | `ghcr.io` |
| `worker.image.repository` | worker image repository | `shuffle/shuffle-worker` |
| `worker.image.tag` | worker image tag (immutable tags are recommended, defaults to appVersion) | `""` |
| `worker.image.digest` | worker image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag image tag (immutable tags are recommended) | `""` |
| `worker.image.pullPolicy` | worker image pull policy. Only effective with worker.enableHelmDeployment. | `IfNotPresent` |
| `worker.image.pullSecrets` | worker image pull secrets. Only effective with worker.enableHelmDeployment. | `[]` |
| `worker.replicaCount` | Number of worker replicas to deploy. Only effective with worker.enableHelmDeployment. | `1` |
| `worker.extraContainerPorts` | Optionally specify extra list of additional ports for worker containers. Only effective with worker.enableHelmDeployment. | `[]` |
| `worker.livenessProbe.enabled` | Enable livenessProbe on worker containers. Only effective with worker.enableHelmDeployment. | `false` |
| `worker.livenessProbe.initialDelaySeconds` | Initial delay seconds for livenessProbe | `0` |
| `worker.livenessProbe.periodSeconds` | Period seconds for livenessProbe | `15` |
| `worker.livenessProbe.timeoutSeconds` | Timeout seconds for livenessProbe | `1` |
| `worker.livenessProbe.failureThreshold` | Failure threshold for livenessProbe | `4` |
| `worker.livenessProbe.successThreshold` | Success threshold for livenessProbe | `1` |
| `worker.readinessProbe.enabled` | Enable readinessProbe on worker containers. Only effective with worker.enableHelmDeployment. | `false` |
| `worker.readinessProbe.initialDelaySeconds` | Initial delay seconds for readinessProbe | `0` |
| `worker.readinessProbe.periodSeconds` | Period seconds for readinessProbe | `5` |
| `worker.readinessProbe.timeoutSeconds` | Timeout seconds for readinessProbe | `1` |
| `worker.readinessProbe.failureThreshold` | Failure threshold for readinessProbe | `3` |
| `worker.readinessProbe.successThreshold` | Success threshold for readinessProbe | `1` |
| `worker.startupProbe.enabled` | Enable startupProbe on worker containers. Only effective with worker.enableHelmDeployment. | `false` |
| `worker.startupProbe.initialDelaySeconds` | Initial delay seconds for startupProbe | `0` |
| `worker.startupProbe.periodSeconds` | Period seconds for startupProbe | `1` |
| `worker.startupProbe.timeoutSeconds` | Timeout seconds for startupProbe | `1` |
| `worker.startupProbe.failureThreshold` | Failure threshold for startupProbe | `60` |
| `worker.startupProbe.successThreshold` | Success threshold for startupProbe | `1` |
| `worker.customLivenessProbe` | Custom livenessProbe that overrides the default one. Only effective with worker.enableHelmDeployment. | `{}` |
| `worker.customReadinessProbe` | Custom readinessProbe that overrides the default one. Only effective with worker.enableHelmDeployment. | `{}` |
| `worker.customStartupProbe` | Custom startupProbe that overrides the default one. Only effective with worker.enableHelmDeployment. | `{}` |
| `worker.resourcesPreset` | Set worker container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if worker.resources is set (worker.resources is recommended for production). | `nano` |
| `worker.resources` | Set worker container requests and limits for different resources like CPU or memory (essential for production workloads) | `{}` |
| `worker.podSecurityContext.enabled` | Enable worker pods' Security Context | `true` |
@@ -541,6 +586,49 @@ The password should be provided with the `SHUFFLE_OPENSEARCH_PASSWORD` env varia
| `worker.containerSecurityContext.allowPrivilegeEscalation` | Set allowPrivilegeEscalation in worker container' Security Context | `false` |
| `worker.containerSecurityContext.capabilities.drop` | List of capabilities to be dropped in worker container | `["ALL"]` |
| `worker.containerSecurityContext.seccompProfile.type` | Set seccomp profile in worker container | `RuntimeDefault` |
| `worker.command` | Override default worker container command (useful when using custom images). Only effective with worker.enableHelmDeployment. | `[]` |
| `worker.args` | Override default worker container args (useful when using custom images). Only effective with worker.enableHelmDeployment. | `[]` |
| `worker.automountServiceAccountToken` | Mount Service Account token in worker pods. Only effective with worker.enableHelmDeployment. | `true` |
| `worker.hostAliases` | worker pods host aliases. Only effective with worker.enableHelmDeployment. | `[]` |
| `worker.deploymentAnnotations` | Annotations for worker deployment. Only effective with worker.enableHelmDeployment. | `{}` |
| `worker.podLabels` | Extra labels for worker pods. Only effective with worker.enableHelmDeployment. | `{}` |
| `worker.podAnnotations` | Annotations for worker pods. Only effective with worker.enableHelmDeployment. | `{}` |
| `worker.podAffinityPreset` | Pod affinity preset. Ignored if `worker.affinity` is set. Allowed values: `soft` or `hard`. Only effective with worker.enableHelmDeployment. | `""` |
| `worker.podAntiAffinityPreset` | Pod anti-affinity preset. Ignored if `worker.affinity` is set. Allowed values: `soft` or `hard`. Only effective with worker.enableHelmDeployment. | `soft` |
| `worker.nodeAffinityPreset.type` | Node affinity preset type. Ignored if `worker.affinity` is set. Allowed values: `soft` or `hard`. Only effective with worker.enableHelmDeployment. | `""` |
| `worker.nodeAffinityPreset.key` | Node label key to match. Ignored if `worker.affinity` is set | `""` |
| `worker.nodeAffinityPreset.values` | Node label values to match. Ignored if `worker.affinity` is set | `[]` |
| `worker.affinity` | Affinity for worker pods assignment. Only effective with worker.enableHelmDeployment. | `{}` |
| `worker.nodeSelector` | Node labels for worker pods assignment. Only effective with worker.enableHelmDeployment. | `{}` |
| `worker.tolerations` | Tolerations for worker pods assignment. Only effective with worker.enableHelmDeployment. | `[]` |
| `worker.updateStrategy.type` | worker deployment strategy type. Only effective with worker.enableHelmDeployment. | `RollingUpdate` |
| `worker.priorityClassName` | worker pods' priorityClassName. Only effective with worker.enableHelmDeployment. | `""` |
| `worker.topologySpreadConstraints` | Topology Spread Constraints for worker pod assignment spread across your cluster among failure-domains. Only effective with worker.enableHelmDeployment. | `[]` |
| `worker.schedulerName` | Name of the k8s scheduler (other than default) for worker pods. Only effective with worker.enableHelmDeployment. | `""` |
| `worker.terminationGracePeriodSeconds` | Seconds worker pods need to terminate gracefully. Only effective with worker.enableHelmDeployment. | `""` |
| `worker.lifecycleHooks` | for worker containers to automate configuration before or after startup. Only effective with worker.enableHelmDeployment. | `{}` |
| `worker.extraEnvVars` | Array with extra environment variables to add to worker containers. Only effective with worker.enableHelmDeployment. | `[]` |
| `worker.extraEnvVarsCM` | Name of existing ConfigMap containing extra env vars for worker containers. Only effective with worker.enableHelmDeployment. | `""` |
| `worker.extraEnvVarsSecret` | Name of existing Secret containing extra env vars for worker containers. Only effective with worker.enableHelmDeployment. | `""` |
| `worker.extraVolumes` | Optionally specify extra list of additional volumes for the worker pods. Only effective with worker.enableHelmDeployment. | `[]` |
| `worker.extraVolumeMounts` | Optionally specify extra list of additional volumeMounts for the worker containers. Only effective with worker.enableHelmDeployment. | `[]` |
| `worker.sidecars` | Add additional sidecar containers to the worker pods. Only effective with worker.enableHelmDeployment. | `[]` |
| `worker.initContainers` | Add additional init containers to the worker pods. Only effective with worker.enableHelmDeployment. | `[]` |
| `worker.pdb.create` | Enable/disable a Pod Disruption Budget creation. Only effective with worker.enableHelmDeployment. | `true` |
| `worker.pdb.minAvailable` | Minimum number/percentage of pods that should remain scheduled | `""` |
| `worker.pdb.maxUnavailable` | Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `worker.pdb.minAvailable` and `worker.pdb.maxUnavailable` are empty. | `""` |
| `worker.autoscaling.vpa.enabled` | Enable VPA for worker pods. Only effective with worker.enableHelmDeployment. | `false` |
| `worker.autoscaling.vpa.annotations` | Annotations for VPA resource | `{}` |
| `worker.autoscaling.vpa.controlledResources` | VPA List of resources that the vertical pod autoscaler can control. Defaults to cpu and memory | `[]` |
| `worker.autoscaling.vpa.maxAllowed` | VPA Max allowed resources for the pod | `{}` |
| `worker.autoscaling.vpa.minAllowed` | VPA Min allowed resources for the pod | `{}` |
| `worker.autoscaling.vpa.updatePolicy.updateMode` | Autoscaling update policy | `Auto` |
| `worker.autoscaling.hpa.enabled` | Enable HPA for worker pods. Only effective with worker.enableHelmDeployment. | `false` |
| `worker.autoscaling.hpa.minReplicas` | Minimum number of replicas | `""` |
| `worker.autoscaling.hpa.maxReplicas` | Maximum number of replicas | `""` |
| `worker.autoscaling.hpa.targetCPU` | Target CPU utilization percentage | `""` |
| `worker.autoscaling.hpa.targetMemory` | Target Memory utilization percentage | `""` |
| `worker.service.labels` | Extra labels for worker service. Only effective with worker.enableHelmDeployment. | `{}` |
| `worker.serviceAccount.create` | Specifies whether a ServiceAccount should be created | `true` |
| `worker.serviceAccount.name` | The name of the ServiceAccount to use. | `""` |
| `worker.serviceAccount.annotations` | Additional Service Account annotations (evaluated as a template) | `{}` |
@@ -552,6 +640,7 @@ The password should be provided with the `SHUFFLE_OPENSEARCH_PASSWORD` env varia
| `worker.networkPolicy.allowExternalEgress` | Allow the pod to access any range of port and all destinations. | `true` |
| `worker.networkPolicy.extraIngress` | Add extra ingress rules to the NetworkPolicy | `[]` |
| `worker.networkPolicy.extraEgress` | Add extra ingress rules to the NetworkPolicy (ignored if allowExternalEgress=true) | `[]` |
| `worker.manageAppDeployments` | Whether apps are deployed and managed by worker. When disabled, every used app is expected to to be already deployed (see app.deployViaHelm). | `true` |
### app Parameters
@@ -586,6 +675,11 @@ The password should be provided with the `SHUFFLE_OPENSEARCH_PASSWORD` env varia
| `app.networkPolicy.extraIngress` | Add extra ingress rules to the NetworkPolicy | `[]` |
| `app.networkPolicy.extraEgress` | Add extra ingress rules to the NetworkPolicy (ignored if allowExternalEgress=true) | `[]` |
| `app.exposedContainerPort` | The port that shuffle app containers will listen on for new requests. | `80` |
| `app.sdkTimeout` | The timeout in seconds for app actions. | `300` |
| `app.disableLogs` | Do not capture app logs. By default, app logs are captured, so that they are visible in the frontend. | `false` |
| `app.deployViaHelm` | A list of apps that should be deployed using helm. | `{}` |
| `app.deployViaHelm.MY_APP.app` | The name of the app (required, e.g. shuffle-tools) | |
| `app.deployViaHelm.MY_APP.version` | The version of the app (required, e.g. 1.2.0) | |
### Traffic Exposure Parameters
@@ -654,19 +748,19 @@ The password should be provided with the `SHUFFLE_OPENSEARCH_PASSWORD` env varia
### Init Container Parameters
| Name | Description | Value |
| ----------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------ |
| `volumePermissions.enabled` | Enable init container that changes the owner/group of the PV mount point to `runAsUser:fsGroup` | `false` |
| `volumePermissions.image.registry` | OS Shell + Utility image registry | `docker.io` |
| `volumePermissions.image.repository` | OS Shell + Utility image repository | `bitnami/os-shell` |
| `volumePermissions.image.tag` | OS Shell + Utility image tag (immutable tags are recommended) | `12-debian-12-r30` |
| `volumePermissions.image.pullPolicy` | OS Shell + Utility image pull policy | `IfNotPresent` |
| `volumePermissions.image.pullSecrets` | OS Shell + Utility image pull secrets | `[]` |
| `volumePermissions.resourcesPreset` | Set init container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if volumePermissions.resources is set (volumePermissions.resources is recommended for production). | `nano` |
| `volumePermissions.resources` | Set init container requests and limits for different resources like CPU or memory (essential for production workloads) | `{}` |
| `volumePermissions.containerSecurityContext.enabled` | Enabled init container' Security Context | `true` |
| `volumePermissions.containerSecurityContext.seLinuxOptions` | Set SELinux options in init container | `{}` |
| `volumePermissions.containerSecurityContext.runAsUser` | Set init container's Security Context runAsUser | `0` |
| Name | Description | Value |
| ----------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------ |
| `volumePermissions.enabled` | Enable init container that changes the owner/group of the PV mount point to `runAsUser:fsGroup` | `false` |
| `volumePermissions.image.registry` | OS Shell + Utility image registry | `docker.io` |
| `volumePermissions.image.repository` | OS Shell + Utility image repository | `bitnamilegacy/os-shell` |
| `volumePermissions.image.tag` | OS Shell + Utility image tag (immutable tags are recommended) | `12-debian-12-r30` |
| `volumePermissions.image.pullPolicy` | OS Shell + Utility image pull policy | `IfNotPresent` |
| `volumePermissions.image.pullSecrets` | OS Shell + Utility image pull secrets | `[]` |
| `volumePermissions.resourcesPreset` | Set init container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if volumePermissions.resources is set (volumePermissions.resources is recommended for production). | `nano` |
| `volumePermissions.resources` | Set init container requests and limits for different resources like CPU or memory (essential for production workloads) | `{}` |
| `volumePermissions.containerSecurityContext.enabled` | Enabled init container' Security Context | `true` |
| `volumePermissions.containerSecurityContext.seLinuxOptions` | Set SELinux options in init container | `{}` |
| `volumePermissions.containerSecurityContext.runAsUser` | Set init container's Security Context runAsUser | `0` |
### OpenSearch Parameters
@@ -685,3 +779,5 @@ The password should be provided with the `SHUFFLE_OPENSEARCH_PASSWORD` env varia
@@ -130,7 +130,12 @@
"appRegistry": {
"type": "string",
"description": "The registry from / to which shuffle apps are pulled / pushed",
"default": ""
"default": "docker.io"
},
"appBaseImageName": {
"type": "string",
"description": "The base image used for shuffle apps. The final image for an app is <appRegistr>/<appBaseImageName>/<appName>:<appVersion>",
"default": "frikky"
},
"timezone": {
"type": "string",
@@ -1466,7 +1471,7 @@
"tag": {
"type": "string",
"description": "orborus image tag (immutable tags are recommended, defaults to appVersion)",
"default": ""
"default": "nightly"
},
"digest": {
"type": "string",
@@ -2053,12 +2058,27 @@
"items": {}
}
}
},
"executionConcurrency": {
"type": "number",
"description": "The maximum amount of concurrent workflow executions per worker",
"default": 25
},
"manageWorkerDeployments": {
"type": "boolean",
"description": "Whether workers are deployed and managed by orborus. When disabled, every worker is expected to be already deployed (see worker.enableHelmDeployment).",
"default": true
}
}
},
"worker": {
"type": "object",
"properties": {
"enableHelmDeployment": {
"type": "boolean",
"description": "Deploy worker via helm. By default, workers are deployed by Orborus.",
"default": false
},
"image": {
"type": "object",
"properties": {
@@ -2081,9 +2101,151 @@
"type": "string",
"description": "worker image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag image tag (immutable tags are recommended)",
"default": ""
},
"pullPolicy": {
"type": "string",
"description": "worker image pull policy. Only effective with worker.enableHelmDeployment.",
"default": "IfNotPresent"
},
"pullSecrets": {
"type": "array",
"description": "worker image pull secrets. Only effective with worker.enableHelmDeployment.",
"default": [],
"items": {}
}
}
},
"replicaCount": {
"type": "number",
"description": "Number of worker replicas to deploy. Only effective with worker.enableHelmDeployment.",
"default": 1
},
"extraContainerPorts": {
"type": "array",
"description": "Optionally specify extra list of additional ports for worker containers. Only effective with worker.enableHelmDeployment.",
"default": [],
"items": {}
},
"livenessProbe": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Enable livenessProbe on worker containers. Only effective with worker.enableHelmDeployment.",
"default": false
},
"initialDelaySeconds": {
"type": "number",
"description": "Initial delay seconds for livenessProbe",
"default": 0
},
"periodSeconds": {
"type": "number",
"description": "Period seconds for livenessProbe",
"default": 15
},
"timeoutSeconds": {
"type": "number",
"description": "Timeout seconds for livenessProbe",
"default": 1
},
"failureThreshold": {
"type": "number",
"description": "Failure threshold for livenessProbe",
"default": 4
},
"successThreshold": {
"type": "number",
"description": "Success threshold for livenessProbe",
"default": 1
}
}
},
"readinessProbe": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Enable readinessProbe on worker containers. Only effective with worker.enableHelmDeployment.",
"default": false
},
"initialDelaySeconds": {
"type": "number",
"description": "Initial delay seconds for readinessProbe",
"default": 0
},
"periodSeconds": {
"type": "number",
"description": "Period seconds for readinessProbe",
"default": 5
},
"timeoutSeconds": {
"type": "number",
"description": "Timeout seconds for readinessProbe",
"default": 1
},
"failureThreshold": {
"type": "number",
"description": "Failure threshold for readinessProbe",
"default": 3
},
"successThreshold": {
"type": "number",
"description": "Success threshold for readinessProbe",
"default": 1
}
}
},
"startupProbe": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Enable startupProbe on worker containers. Only effective with worker.enableHelmDeployment.",
"default": false
},
"initialDelaySeconds": {
"type": "number",
"description": "Initial delay seconds for startupProbe",
"default": 0
},
"periodSeconds": {
"type": "number",
"description": "Period seconds for startupProbe",
"default": 1
},
"timeoutSeconds": {
"type": "number",
"description": "Timeout seconds for startupProbe",
"default": 1
},
"failureThreshold": {
"type": "number",
"description": "Failure threshold for startupProbe",
"default": 60
},
"successThreshold": {
"type": "number",
"description": "Success threshold for startupProbe",
"default": 1
}
}
},
"customLivenessProbe": {
"type": "object",
"description": "Custom livenessProbe that overrides the default one. Only effective with worker.enableHelmDeployment.",
"default": {}
},
"customReadinessProbe": {
"type": "object",
"description": "Custom readinessProbe that overrides the default one. Only effective with worker.enableHelmDeployment.",
"default": {}
},
"customStartupProbe": {
"type": "object",
"description": "Custom startupProbe that overrides the default one. Only effective with worker.enableHelmDeployment.",
"default": {}
},
"resourcesPreset": {
"type": "string",
"description": "Set worker container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if worker.resources is set (worker.resources is recommended for production).",
@@ -2191,6 +2353,273 @@
}
}
},
"command": {
"type": "array",
"description": "Override default worker container command (useful when using custom images). Only effective with worker.enableHelmDeployment.",
"default": [],
"items": {}
},
"args": {
"type": "array",
"description": "Override default worker container args (useful when using custom images). Only effective with worker.enableHelmDeployment.",
"default": [],
"items": {}
},
"automountServiceAccountToken": {
"type": "boolean",
"description": "Mount Service Account token in worker pods. Only effective with worker.enableHelmDeployment.",
"default": true
},
"hostAliases": {
"type": "array",
"description": "worker pods host aliases. Only effective with worker.enableHelmDeployment.",
"default": [],
"items": {}
},
"deploymentAnnotations": {
"type": "object",
"description": "Annotations for worker deployment. Only effective with worker.enableHelmDeployment.",
"default": {}
},
"podLabels": {
"type": "object",
"description": "Extra labels for worker pods. Only effective with worker.enableHelmDeployment.",
"default": {}
},
"podAnnotations": {
"type": "object",
"description": "Annotations for worker pods. Only effective with worker.enableHelmDeployment.",
"default": {}
},
"podAffinityPreset": {
"type": "string",
"description": "Pod affinity preset. Ignored if `worker.affinity` is set. Allowed values: `soft` or `hard`. Only effective with worker.enableHelmDeployment.",
"default": ""
},
"podAntiAffinityPreset": {
"type": "string",
"description": "Pod anti-affinity preset. Ignored if `worker.affinity` is set. Allowed values: `soft` or `hard`. Only effective with worker.enableHelmDeployment.",
"default": "soft"
},
"nodeAffinityPreset": {
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "Node affinity preset type. Ignored if `worker.affinity` is set. Allowed values: `soft` or `hard`. Only effective with worker.enableHelmDeployment.",
"default": ""
},
"key": {
"type": "string",
"description": "Node label key to match. Ignored if `worker.affinity` is set",
"default": ""
},
"values": {
"type": "array",
"description": "Node label values to match. Ignored if `worker.affinity` is set",
"default": [],
"items": {}
}
}
},
"affinity": {
"type": "object",
"description": "Affinity for worker pods assignment. Only effective with worker.enableHelmDeployment.",
"default": {}
},
"nodeSelector": {
"type": "object",
"description": "Node labels for worker pods assignment. Only effective with worker.enableHelmDeployment.",
"default": {}
},
"tolerations": {
"type": "array",
"description": "Tolerations for worker pods assignment. Only effective with worker.enableHelmDeployment.",
"default": [],
"items": {}
},
"updateStrategy": {
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "worker deployment strategy type. Only effective with worker.enableHelmDeployment.",
"default": "RollingUpdate"
}
}
},
"priorityClassName": {
"type": "string",
"description": "worker pods' priorityClassName. Only effective with worker.enableHelmDeployment.",
"default": ""
},
"topologySpreadConstraints": {
"type": "array",
"description": "Topology Spread Constraints for worker pod assignment spread across your cluster among failure-domains. Only effective with worker.enableHelmDeployment.",
"default": [],
"items": {}
},
"schedulerName": {
"type": "string",
"description": "Name of the k8s scheduler (other than default) for worker pods. Only effective with worker.enableHelmDeployment.",
"default": ""
},
"terminationGracePeriodSeconds": {
"type": "string",
"description": "Seconds worker pods need to terminate gracefully. Only effective with worker.enableHelmDeployment.",
"default": ""
},
"lifecycleHooks": {
"type": "object",
"description": "for worker containers to automate configuration before or after startup. Only effective with worker.enableHelmDeployment.",
"default": {}
},
"extraEnvVars": {
"type": "array",
"description": "Array with extra environment variables to add to worker containers. Only effective with worker.enableHelmDeployment.",
"default": [],
"items": {}
},
"extraEnvVarsCM": {
"type": "string",
"description": "Name of existing ConfigMap containing extra env vars for worker containers. Only effective with worker.enableHelmDeployment.",
"default": ""
},
"extraEnvVarsSecret": {
"type": "string",
"description": "Name of existing Secret containing extra env vars for worker containers. Only effective with worker.enableHelmDeployment.",
"default": ""
},
"extraVolumes": {
"type": "array",
"description": "Optionally specify extra list of additional volumes for the worker pods. Only effective with worker.enableHelmDeployment.",
"default": [],
"items": {}
},
"extraVolumeMounts": {
"type": "array",
"description": "Optionally specify extra list of additional volumeMounts for the worker containers. Only effective with worker.enableHelmDeployment.",
"default": [],
"items": {}
},
"sidecars": {
"type": "array",
"description": "Add additional sidecar containers to the worker pods. Only effective with worker.enableHelmDeployment.",
"default": [],
"items": {}
},
"initContainers": {
"type": "array",
"description": "Add additional init containers to the worker pods. Only effective with worker.enableHelmDeployment.",
"default": [],
"items": {}
},
"pdb": {
"type": "object",
"properties": {
"create": {
"type": "boolean",
"description": "Enable/disable a Pod Disruption Budget creation. Only effective with worker.enableHelmDeployment.",
"default": true
},
"minAvailable": {
"type": "string",
"description": "Minimum number/percentage of pods that should remain scheduled",
"default": ""
},
"maxUnavailable": {
"type": "string",
"description": "Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `worker.pdb.minAvailable` and `worker.pdb.maxUnavailable` are empty.",
"default": ""
}
}
},
"autoscaling": {
"type": "object",
"properties": {
"vpa": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Enable VPA for worker pods. Only effective with worker.enableHelmDeployment.",
"default": false
},
"annotations": {
"type": "object",
"description": "Annotations for VPA resource",
"default": {}
},
"controlledResources": {
"type": "array",
"description": "VPA List of resources that the vertical pod autoscaler can control. Defaults to cpu and memory",
"default": [],
"items": {}
},
"maxAllowed": {
"type": "object",
"description": "VPA Max allowed resources for the pod",
"default": {}
},
"minAllowed": {
"type": "object",
"description": "VPA Min allowed resources for the pod",
"default": {}
},
"updatePolicy": {
"type": "object",
"properties": {
"updateMode": {
"type": "string",
"description": "Autoscaling update policy",
"default": "Auto"
}
}
}
}
},
"hpa": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Enable HPA for worker pods. Only effective with worker.enableHelmDeployment.",
"default": false
},
"minReplicas": {
"type": "string",
"description": "Minimum number of replicas",
"default": ""
},
"maxReplicas": {
"type": "string",
"description": "Maximum number of replicas",
"default": ""
},
"targetCPU": {
"type": "string",
"description": "Target CPU utilization percentage",
"default": ""
},
"targetMemory": {
"type": "string",
"description": "Target Memory utilization percentage",
"default": ""
}
}
}
}
},
"service": {
"type": "object",
"properties": {
"labels": {
"type": "object",
"description": "Extra labels for worker service. Only effective with worker.enableHelmDeployment.",
"default": {}
}
}
},
"serviceAccount": {
"type": "object",
"properties": {
@@ -2263,6 +2692,11 @@
"items": {}
}
}
},
"manageAppDeployments": {
"type": "boolean",
"description": "Whether apps are deployed and managed by worker. When disabled, every used app is expected to to be already deployed (see app.deployViaHelm).",
"default": true
}
}
},
@@ -2453,6 +2887,16 @@
"type": "number",
"description": "The port that shuffle app containers will listen on for new requests. ",
"default": 80
},
"sdkTimeout": {
"type": "number",
"description": "The timeout in seconds for app actions.",
"default": 300
},
"disableLogs": {
"type": "boolean",
"description": "Do not capture app logs. By default, app logs are captured, so that they are visible in the frontend.",
"default": false
}
}
},
@@ -2793,7 +3237,7 @@
"repository": {
"type": "string",
"description": "OS Shell + Utility image repository",
"default": "bitnami/os-shell"
"default": "bitnamilegacy/os-shell"
},
"tag": {
"type": "string",
+67 -73
View File
@@ -74,7 +74,7 @@ diagnosticMode:
shuffle:
## @param shuffle.baseUrl The external base URL under which Shuffle is reachable.
##
#baseUrl: ""
baseUrl: ""
## ref: https://shuffler.io/docs/organizations
## This chart only supports single-tenant deployments at the moment
@@ -84,14 +84,18 @@ shuffle:
## @param shuffle.appRegistry The registry from / to which shuffle apps are pulled / pushed
##
appRegistry: "" # TODO: Default?
appRegistry: "docker.io"
## @param shuffle.appBaseImageName The base image used for shuffle apps. The final image for an app is <appRegistr>/<appBaseImageName>/<appName>:<appVersion>
##
appBaseImageName: "frikky"
## @param shuffle.timezone The timezone used by Shuffle
##
timezone: Europe/Berlin
## @section backend Parameters
##
##
backend:
## backend image
## @param backend.image.registry backend image registry
@@ -525,8 +529,6 @@ backend:
## @param backend.openSearch.username The username that is used for authenticating with OpenSearch
##
username: admin
password: StrongShufflePassword321!
## @param backend.openSearch.certificateFile The path to a custom OpenSearch certificate file
##
certificateFile: ""
@@ -887,16 +889,6 @@ frontend:
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
##
labels: {}
type: NodePort
ports:
- name: http
port: 80
targetPort: 3001
nodePort: 30080
- name: https
port: 443
targetPort: 3443
nodePort: 30443
## ServiceAccount configuration
##
@@ -1199,17 +1191,7 @@ orborus:
## - name: FOO
## value: "bar"
##
extraEnvVars: # TODO: Make this list empty and move to other values. Also check if these need to be set on worker or apps.
- name: SHUFFLE_APP_SDK_TIMEOUT
value: "300"
- name: SHUFFLE_ORBORUS_EXCUTION_CONCURRENCY
value: "7"
- name: SHUFFLE_STATS_DISABLED
value: "true"
- name: KUBERNETES_NAMESPACE
value: "shuffle"
- name: SHUFFLE_BASE_IMAGE_NAME
value: "frikky/shuffle" # TODO: Allow to configure, share with worker
extraEnvVars: []
## @param orborus.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for orborus containers
##
extraEnvVarsCM: ""
@@ -1347,6 +1329,10 @@ orborus:
##
extraEgress: []
## @param orborus.executionConcurrency The maximum amount of concurrent workflow executions per worker
##
executionConcurrency: 25
## @param orborus.manageWorkerDeployments Whether workers are deployed and managed by orborus. When disabled, every worker is expected to be already deployed (see worker.enableHelmDeployment).
## This effectively removes required RBAC permissions from the shuffle-orborus service account to create deployments and services.
## Orborus might still attempt to create kubernetes objects, resulting in an error. There is currently no way to tell orborus, that it should not manage k8s resources.
@@ -1365,8 +1351,8 @@ worker:
## @param worker.image.repository worker image repository
## @param worker.image.tag worker image tag (immutable tags are recommended, defaults to appVersion)
## @param worker.image.digest worker image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag image tag (immutable tags are recommended)
## @param worker.image.pullPolicy worker image pull policy
## @param worker.image.pullSecrets worker image pull secrets
## @param worker.image.pullPolicy worker image pull policy. Only effective with worker.enableHelmDeployment.
## @param worker.image.pullSecrets worker image pull secrets. Only effective with worker.enableHelmDeployment.
##
image:
registry: ghcr.io
@@ -1386,10 +1372,10 @@ worker:
## - myRegistryKeySecretName
##
pullSecrets: []
## @param worker.replicaCount Number of worker replicas to deploy
## @param worker.replicaCount Number of worker replicas to deploy. Only effective with worker.enableHelmDeployment.
##
replicaCount: 1
## @param worker.extraContainerPorts Optionally specify extra list of additional ports for worker containers
## @param worker.extraContainerPorts Optionally specify extra list of additional ports for worker containers. Only effective with worker.enableHelmDeployment.
## e.g:
## extraContainerPorts:
## - name: myservice
@@ -1398,7 +1384,7 @@ worker:
extraContainerPorts: []
## Configure extra options for worker containers' liveness and readiness probes
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
## @param worker.livenessProbe.enabled Enable livenessProbe on worker containers
## @param worker.livenessProbe.enabled Enable livenessProbe on worker containers. Only effective with worker.enableHelmDeployment.
## @param worker.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
## @param worker.livenessProbe.periodSeconds Period seconds for livenessProbe
## @param worker.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
@@ -1412,7 +1398,7 @@ worker:
timeoutSeconds: 1
failureThreshold: 4
successThreshold: 1
## @param worker.readinessProbe.enabled Enable readinessProbe on worker containers
## @param worker.readinessProbe.enabled Enable readinessProbe on worker containers. Only effective with worker.enableHelmDeployment.
## @param worker.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
## @param worker.readinessProbe.periodSeconds Period seconds for readinessProbe
## @param worker.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
@@ -1426,7 +1412,7 @@ worker:
timeoutSeconds: 1
failureThreshold: 3
successThreshold: 1
## @param worker.startupProbe.enabled Enable startupProbe on worker containers
## @param worker.startupProbe.enabled Enable startupProbe on worker containers. Only effective with worker.enableHelmDeployment.
## @param worker.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
## @param worker.startupProbe.periodSeconds Period seconds for startupProbe
## @param worker.startupProbe.timeoutSeconds Timeout seconds for startupProbe
@@ -1440,13 +1426,13 @@ worker:
timeoutSeconds: 1
failureThreshold: 60
successThreshold: 1
## @param worker.customLivenessProbe Custom livenessProbe that overrides the default one
## @param worker.customLivenessProbe Custom livenessProbe that overrides the default one. Only effective with worker.enableHelmDeployment.
##
customLivenessProbe: {}
## @param worker.customReadinessProbe Custom readinessProbe that overrides the default one
## @param worker.customReadinessProbe Custom readinessProbe that overrides the default one. Only effective with worker.enableHelmDeployment.
##
customReadinessProbe: {}
## @param worker.customStartupProbe Custom startupProbe that overrides the default one
## @param worker.customStartupProbe Custom startupProbe that overrides the default one. Only effective with worker.enableHelmDeployment.
##
customStartupProbe: {}
## worker resource requests and limits
@@ -1508,37 +1494,37 @@ worker:
drop: ["ALL"]
seccompProfile:
type: "RuntimeDefault"
## @param worker.command Override default worker container command (useful when using custom images)
## @param worker.command Override default worker container command (useful when using custom images). Only effective with worker.enableHelmDeployment.
##
command: []
## @param worker.args Override default worker container args (useful when using custom images)
## @param worker.args Override default worker container args (useful when using custom images). Only effective with worker.enableHelmDeployment.
##
args: []
## @param worker.automountServiceAccountToken Mount Service Account token in worker pods
## @param worker.automountServiceAccountToken Mount Service Account token in worker pods. Only effective with worker.enableHelmDeployment.
## NOTE: worker requires the service account credentials to be mounted if manageAppDeployments is enabled.
##
automountServiceAccountToken: true
## @param worker.hostAliases worker pods host aliases
## @param worker.hostAliases worker pods host aliases. Only effective with worker.enableHelmDeployment.
## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
##
hostAliases: []
## @param worker.deploymentAnnotations Annotations for worker deployment
## @param worker.deploymentAnnotations Annotations for worker deployment. Only effective with worker.enableHelmDeployment.
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
##
deploymentAnnotations: {}
## @param worker.podLabels Extra labels for worker pods
## @param worker.podLabels Extra labels for worker pods. Only effective with worker.enableHelmDeployment.
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
##
podLabels: {}
## @param worker.podAnnotations Annotations for worker pods
## @param worker.podAnnotations Annotations for worker pods. Only effective with worker.enableHelmDeployment.
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
##
podAnnotations: {}
## @param worker.podAffinityPreset Pod affinity preset. Ignored if `worker.affinity` is set. Allowed values: `soft` or `hard`
## @param worker.podAffinityPreset Pod affinity preset. Ignored if `worker.affinity` is set. Allowed values: `soft` or `hard`. Only effective with worker.enableHelmDeployment.
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
##
podAffinityPreset: ""
## @param worker.podAntiAffinityPreset Pod anti-affinity preset. Ignored if `worker.affinity` is set. Allowed values: `soft` or `hard`
## @param worker.podAntiAffinityPreset Pod anti-affinity preset. Ignored if `worker.affinity` is set. Allowed values: `soft` or `hard`. Only effective with worker.enableHelmDeployment.
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
##
podAntiAffinityPreset: soft
@@ -1546,7 +1532,7 @@ worker:
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
##
nodeAffinityPreset:
## @param worker.nodeAffinityPreset.type Node affinity preset type. Ignored if `worker.affinity` is set. Allowed values: `soft` or `hard`
## @param worker.nodeAffinityPreset.type Node affinity preset type. Ignored if `worker.affinity` is set. Allowed values: `soft` or `hard`. Only effective with worker.enableHelmDeployment.
##
type: ""
## @param worker.nodeAffinityPreset.key Node label key to match. Ignored if `worker.affinity` is set
@@ -1559,64 +1545,64 @@ worker:
## - e2e-az2
##
values: []
## @param worker.affinity Affinity for worker pods assignment
## @param worker.affinity Affinity for worker pods assignment. Only effective with worker.enableHelmDeployment.
## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
## NOTE: `worker.podAffinityPreset`, `worker.podAntiAffinityPreset`, and `worker.nodeAffinityPreset` will be ignored when it's set
##
affinity: {}
## @param worker.nodeSelector Node labels for worker pods assignment
## @param worker.nodeSelector Node labels for worker pods assignment. Only effective with worker.enableHelmDeployment.
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
##
nodeSelector: {}
## @param worker.tolerations Tolerations for worker pods assignment
## @param worker.tolerations Tolerations for worker pods assignment. Only effective with worker.enableHelmDeployment.
## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
##
tolerations: []
## @param worker.updateStrategy.type worker deployment strategy type
## @param worker.updateStrategy.type worker deployment strategy type. Only effective with worker.enableHelmDeployment.
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy
##
updateStrategy:
## Can be set to RollingUpdate or Recreate
##
type: RollingUpdate
## @param worker.priorityClassName worker pods' priorityClassName
## @param worker.priorityClassName worker pods' priorityClassName. Only effective with worker.enableHelmDeployment.
##
priorityClassName: ""
## @param worker.topologySpreadConstraints Topology Spread Constraints for worker pod assignment spread across your cluster among failure-domains
## @param worker.topologySpreadConstraints Topology Spread Constraints for worker pod assignment spread across your cluster among failure-domains. Only effective with worker.enableHelmDeployment.
## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods
##
topologySpreadConstraints: []
## @param worker.schedulerName Name of the k8s scheduler (other than default) for worker pods
## @param worker.schedulerName Name of the k8s scheduler (other than default) for worker pods. Only effective with worker.enableHelmDeployment.
## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
##
schedulerName: ""
## @param worker.terminationGracePeriodSeconds Seconds worker pods need to terminate gracefully
## @param worker.terminationGracePeriodSeconds Seconds worker pods need to terminate gracefully. Only effective with worker.enableHelmDeployment.
## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods
##
terminationGracePeriodSeconds: ""
## @param worker.lifecycleHooks for worker containers to automate configuration before or after startup
## @param worker.lifecycleHooks for worker containers to automate configuration before or after startup. Only effective with worker.enableHelmDeployment.
##
lifecycleHooks: {}
## @param worker.extraEnvVars Array with extra environment variables to add to worker containers
## @param worker.extraEnvVars Array with extra environment variables to add to worker containers. Only effective with worker.enableHelmDeployment.
## e.g:
## extraEnvVars:
## - name: FOO
## value: "bar"
##
extraEnvVars: []
## @param worker.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for worker containers
## @param worker.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for worker containers. Only effective with worker.enableHelmDeployment.
##
extraEnvVarsCM: ""
## @param worker.extraEnvVarsSecret Name of existing Secret containing extra env vars for worker containers
## @param worker.extraEnvVarsSecret Name of existing Secret containing extra env vars for worker containers. Only effective with worker.enableHelmDeployment.
##
extraEnvVarsSecret: ""
## @param worker.extraVolumes Optionally specify extra list of additional volumes for the worker pods
## @param worker.extraVolumes Optionally specify extra list of additional volumes for the worker pods. Only effective with worker.enableHelmDeployment.
##
extraVolumes: []
## @param worker.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the worker containers
## @param worker.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the worker containers. Only effective with worker.enableHelmDeployment.
##
extraVolumeMounts: []
## @param worker.sidecars Add additional sidecar containers to the worker pods
## @param worker.sidecars Add additional sidecar containers to the worker pods. Only effective with worker.enableHelmDeployment.
## e.g:
## sidecars:
## - name: your-image-name
@@ -1627,7 +1613,7 @@ worker:
## containerPort: 1234
##
sidecars: []
## @param worker.initContainers Add additional init containers to the worker pods
## @param worker.initContainers Add additional init containers to the worker pods. Only effective with worker.enableHelmDeployment.
## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
## e.g:
## initContainers:
@@ -1639,7 +1625,7 @@ worker:
initContainers: []
## Pod Disruption Budget configuration
## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
## @param worker.pdb.create Enable/disable a Pod Disruption Budget creation
## @param worker.pdb.create Enable/disable a Pod Disruption Budget creation. Only effective with worker.enableHelmDeployment.
## @param worker.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
## @param worker.pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `worker.pdb.minAvailable` and `worker.pdb.maxUnavailable` are empty.
##
@@ -1651,7 +1637,7 @@ worker:
## ref: https://kubernetes.io/docs/concepts/workloads/autoscaling/
##
autoscaling:
## @param worker.autoscaling.vpa.enabled Enable VPA for worker pods
## @param worker.autoscaling.vpa.enabled Enable VPA for worker pods. Only effective with worker.enableHelmDeployment.
## @param worker.autoscaling.vpa.annotations Annotations for VPA resource
## @param worker.autoscaling.vpa.controlledResources VPA List of resources that the vertical pod autoscaler can control. Defaults to cpu and memory
## @param worker.autoscaling.vpa.maxAllowed VPA Max allowed resources for the pod
@@ -1669,7 +1655,7 @@ worker:
##
updatePolicy:
updateMode: Auto
## @param worker.autoscaling.hpa.enabled Enable HPA for worker pods
## @param worker.autoscaling.hpa.enabled Enable HPA for worker pods. Only effective with worker.enableHelmDeployment.
## @param worker.autoscaling.hpa.minReplicas Minimum number of replicas
## @param worker.autoscaling.hpa.maxReplicas Maximum number of replicas
## @param worker.autoscaling.hpa.targetCPU Target CPU utilization percentage
@@ -1685,7 +1671,7 @@ worker:
## Service configuration
##
service:
## @param worker.service.labels Extra labels for worker service
## @param worker.service.labels Extra labels for worker service. Only effective with worker.enableHelmDeployment.
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
##
labels: {}
@@ -1870,8 +1856,14 @@ app:
## @param app.exposedContainerPort The port that shuffle app containers will listen on for new requests.
##
exposedContainerPort: 80
## @param app.sdkTimeout The timeout in seconds for app actions.
##
sdkTimeout: 300
## @param app.disableLogs Do not capture app logs. By default, app logs are captured, so that they are visible in the frontend.
##
disableLogs: false
## @param app.deployViaHelm A list of apps that should be deployed using helm.
## @param app.deployViaHelm [object] A list of apps that should be deployed using helm.
## By default, workers create deployments and services for apps when they are first needed (or during startup for some selected apps).
## Deploying apps via workers has some drawbacks, such as:
## - A workflow fails when the app is not deployed when the workflow gets executed (see https://github.com/Shuffle/Shuffle/issues/1739)
@@ -1879,7 +1871,11 @@ app:
## - Worker needs elevated permissions in Kubernetes
## Note that you can deploy some apps via helm, while keeping the flexibility of letting workers deploy apps if they are not already deployed.
## If you deploy all needed apps via helm and dont want workers to create additional deployments, set worker.manageAppDeployments to false.
##
## The key of the app does not matter.
## @extra app.deployViaHelm.MY_APP.app [string] The name of the app (required, e.g. shuffle-tools)
## @extra app.deployViaHelm.MY_APP.version [string] The version of the app (required, e.g. 1.2.0)
# TODO: Convert sample value to @extra.
## Sample value:
## - app: my-app # required
## version: 1.0.0 # required
@@ -1892,10 +1888,9 @@ app:
## extraEnv: [] # optional
## podSecurityContext: null # optional, defaults to app.podSecurityContext
## containerSecurityContext: null # optional, defaults to app.containerSecurityContext
##
## TODO: allow to override resources, serviceAccount, mounts, env, security Contexts. Fall back to app defaults as defined above.
##
deployViaHelm: []
deployViaHelm: {}
## @section Traffic Exposure Parameters
##
@@ -2192,6 +2187,8 @@ volumePermissions:
## OpenSearch chart configuration
## ref: https://github.com/bitnami/charts/blob/main/bitnami/opensearch/values.yaml
## @param opensearch.enabled Switch to enable or disable the opensearch helm chart
## @skip opensearch.sysctlImage
## @skip opensearch.image
## @skip opensearch.master
## @skip opensearch.data
## @skip opensearch.coordinating
@@ -2200,15 +2197,12 @@ volumePermissions:
##
opensearch:
enabled: true
sysctlImage:
enabled: false
image:
registry: docker.io
repository: bitnamilegacy/opensearch
tag: "3.2.0"
master:
replicaCount: 1
data: