[bitnami/redis-cluster] feat: 🔒 Add resource preset support (#23517)

Signed-off-by: Javier Salmeron Garcia <jsalmeron@vmware.com>
This commit is contained in:
Javier J. Salmerón-García
2024-02-20 13:29:13 +01:00
committed by GitHub
parent b70ee2a30e
commit cdc49455c8
5 changed files with 323 additions and 320 deletions

View File

@@ -1,6 +1,6 @@
dependencies:
- name: common
repository: oci://registry-1.docker.io/bitnamicharts
version: 2.14.1
digest: sha256:5ccbe5f1fe4459864a8c9d7329c400b678666b6cfb1450818a830bda81995bc3
generated: "2023-12-19T19:09:06.098675736Z"
version: 2.15.3
digest: sha256:d80293db4b59902571fcfcbeabb6b81aebb1c05e8a6d25510053e7c329d73002
generated: "2024-02-14T16:01:35.418835241+01:00"

View File

@@ -84,200 +84,200 @@ The command removes all the Kubernetes components associated with the chart and
### Redis&reg; Cluster Common parameters
| Name | Description | Value |
| ----------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------- |
| `nameOverride` | String to partially override common.names.fullname template (will maintain the release name) | `""` |
| `fullnameOverride` | String to fully override common.names.fullname template | `""` |
| `clusterDomain` | Kubernetes Cluster Domain | `cluster.local` |
| `commonAnnotations` | Annotations to add to all deployed objects | `{}` |
| `commonLabels` | Labels to add to all deployed objects | `{}` |
| `extraDeploy` | Array of extra objects to deploy with the release (evaluated as a template) | `[]` |
| `diagnosticMode.enabled` | Enable diagnostic mode (all probes will be disabled and the command will be overridden) | `false` |
| `diagnosticMode.command` | Command to override all containers in the deployment | `["sleep"]` |
| `diagnosticMode.args` | Args to override all containers in the deployment | `["infinity"]` |
| `image.registry` | Redis&reg; cluster image registry | `REGISTRY_NAME` |
| `image.repository` | Redis&reg; cluster image repository | `REPOSITORY_NAME/redis-cluster` |
| `image.digest` | Redis&reg; cluster image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag | `""` |
| `image.pullPolicy` | Redis&reg; cluster image pull policy | `IfNotPresent` |
| `image.pullSecrets` | Specify docker-registry secret names as an array | `[]` |
| `image.debug` | Enable image debug mode | `false` |
| `networkPolicy.enabled` | Enable creation of NetworkPolicy resources | `true` |
| `networkPolicy.allowExternal` | The Policy model to apply | `true` |
| `networkPolicy.allowExternalEgress` | Allow the pod to access any range of port and all destinations. | `true` |
| `networkPolicy.extraIngress` | Add extra ingress rules to the NetworkPolicy | `[]` |
| `networkPolicy.extraEgress` | Add extra ingress rules to the NetworkPolicy | `[]` |
| `networkPolicy.ingressNSMatchLabels` | Labels to match to allow traffic from other namespaces | `{}` |
| `networkPolicy.ingressNSPodMatchLabels` | Pod labels to match to allow traffic from other namespaces | `{}` |
| `serviceAccount.create` | Specifies whether a ServiceAccount should be created | `true` |
| `serviceAccount.name` | The name of the ServiceAccount to create | `""` |
| `serviceAccount.annotations` | Annotations for Cassandra Service Account | `{}` |
| `serviceAccount.automountServiceAccountToken` | Automount API credentials for a service account. | `false` |
| `rbac.create` | Specifies whether RBAC resources should be created | `false` |
| `rbac.role.rules` | Rules to create. It follows the role specification | `[]` |
| `podSecurityContext.enabled` | Enable Redis&reg; pod Security Context | `true` |
| `podSecurityContext.fsGroupChangePolicy` | Set filesystem group change policy | `Always` |
| `podSecurityContext.supplementalGroups` | Set filesystem extra groups | `[]` |
| `podSecurityContext.fsGroup` | Group ID for the pods | `1001` |
| `podSecurityContext.sysctls` | Set namespaced sysctls for the pods | `[]` |
| `podDisruptionBudget` | Limits the number of pods of the replicated application that are down simultaneously from voluntary disruptions | `{}` |
| `minAvailable` | Min number of pods that must still be available after the eviction | `""` |
| `maxUnavailable` | Max number of pods that can be unavailable after the eviction | `""` |
| `containerSecurityContext.enabled` | Enabled containers' Security Context | `true` |
| `containerSecurityContext.seLinuxOptions` | Set SELinux options in container | `nil` |
| `containerSecurityContext.runAsUser` | Set containers' Security Context runAsUser | `1001` |
| `containerSecurityContext.runAsNonRoot` | Set container's Security Context runAsNonRoot | `true` |
| `containerSecurityContext.privileged` | Set container's Security Context privileged | `false` |
| `containerSecurityContext.readOnlyRootFilesystem` | Set container's Security Context readOnlyRootFilesystem | `false` |
| `containerSecurityContext.allowPrivilegeEscalation` | Set container's Security Context allowPrivilegeEscalation | `false` |
| `containerSecurityContext.capabilities.drop` | List of capabilities to be dropped | `["ALL"]` |
| `containerSecurityContext.seccompProfile.type` | Set container's Security Context seccomp profile | `RuntimeDefault` |
| `usePassword` | Use password authentication | `true` |
| `password` | Redis&reg; password (ignored if existingSecret set) | `""` |
| `existingSecret` | Name of existing secret object (for password authentication) | `""` |
| `existingSecretPasswordKey` | Name of key containing password to be retrieved from the existing secret | `""` |
| `usePasswordFile` | Mount passwords as files instead of environment variables | `false` |
| `tls.enabled` | Enable TLS support for replication traffic | `false` |
| `tls.authClients` | Require clients to authenticate or not | `true` |
| `tls.autoGenerated` | Generate automatically self-signed TLS certificates | `false` |
| `tls.existingSecret` | The name of the existing secret that contains the TLS certificates | `""` |
| `tls.certificatesSecret` | DEPRECATED. Use tls.existingSecret instead | `""` |
| `tls.certFilename` | Certificate filename | `""` |
| `tls.certKeyFilename` | Certificate key filename | `""` |
| `tls.certCAFilename` | CA Certificate filename | `""` |
| `tls.dhParamsFilename` | File containing DH params (in order to support DH based ciphers) | `""` |
| `service.ports.redis` | Kubernetes Redis service port | `6379` |
| `service.nodePorts.redis` | Node port for Redis | `""` |
| `service.extraPorts` | Extra ports to expose in the service (normally used with the `sidecar` value) | `[]` |
| `service.annotations` | Provide any additional annotations which may be required. | `{}` |
| `service.labels` | Additional labels for redis service | `{}` |
| `service.type` | Service type for default redis service | `ClusterIP` |
| `service.clusterIP` | Service Cluster IP | `""` |
| `service.loadBalancerIP` | Load balancer IP if `service.type` is `LoadBalancer` | `""` |
| `service.loadBalancerSourceRanges` | Service Load Balancer sources | `[]` |
| `service.externalTrafficPolicy` | Service external traffic policy | `Cluster` |
| `service.sessionAffinity` | Session Affinity for Kubernetes service, can be "None" or "ClientIP" | `None` |
| `service.sessionAffinityConfig` | Additional settings for the sessionAffinity | `{}` |
| `service.headless.annotations` | Annotations for the headless service. | `{}` |
| `persistence.enabled` | Enable persistence on Redis&reg; | `true` |
| `persistence.path` | Path to mount the volume at, to use other images Redis&reg; images. | `/bitnami/redis/data` |
| `persistence.subPath` | The subdirectory of the volume to mount to, useful in dev environments and one PV for multiple services | `""` |
| `persistence.storageClass` | Storage class of backing PVC | `""` |
| `persistence.annotations` | Persistent Volume Claim annotations | `{}` |
| `persistence.accessModes` | Persistent Volume Access Modes | `["ReadWriteOnce"]` |
| `persistence.size` | Size of data volume | `8Gi` |
| `persistence.matchLabels` | Persistent Volume selectors | `{}` |
| `persistence.matchExpressions` | matchExpressions Persistent Volume selectors | `{}` |
| `persistentVolumeClaimRetentionPolicy.enabled` | Controls if and how PVCs are deleted during the lifecycle of a StatefulSet | `false` |
| `persistentVolumeClaimRetentionPolicy.whenScaled` | Volume retention behavior when the replica count of the StatefulSet is reduced | `Retain` |
| `persistentVolumeClaimRetentionPolicy.whenDeleted` | Volume retention behavior that applies when the StatefulSet is deleted | `Retain` |
| `volumePermissions.enabled` | Enable init container that changes volume permissions in the registry (for cases where the default k8s `runAsUser` and `fsUser` values do not work) | `false` |
| `volumePermissions.image.registry` | Init container volume-permissions image registry | `REGISTRY_NAME` |
| `volumePermissions.image.repository` | Init container volume-permissions image repository | `REPOSITORY_NAME/os-shell` |
| `volumePermissions.image.digest` | Init container volume-permissions image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag | `""` |
| `volumePermissions.image.pullPolicy` | Init container volume-permissions image pull policy | `IfNotPresent` |
| `volumePermissions.image.pullSecrets` | Specify docker-registry secret names as an array | `[]` |
| `volumePermissions.containerSecurityContext.enabled` | Enable Containers' Security Context | `true` |
| `volumePermissions.containerSecurityContext.seLinuxOptions` | Set SELinux options in container | `nil` |
| `volumePermissions.containerSecurityContext.runAsUser` | User ID for the containers. | `0` |
| `volumePermissions.containerSecurityContext.privileged` | Run container as privileged | `false` |
| `volumePermissions.resources.limits` | The resources limits for the container | `{}` |
| `volumePermissions.resources.requests` | The requested resources for the container | `{}` |
| `podSecurityPolicy.create` | Whether to create a PodSecurityPolicy. WARNING: PodSecurityPolicy is deprecated in Kubernetes v1.21 or later, unavailable in v1.25 or later | `false` |
| Name | Description | Value |
| ----------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------- |
| `nameOverride` | String to partially override common.names.fullname template (will maintain the release name) | `""` |
| `fullnameOverride` | String to fully override common.names.fullname template | `""` |
| `clusterDomain` | Kubernetes Cluster Domain | `cluster.local` |
| `commonAnnotations` | Annotations to add to all deployed objects | `{}` |
| `commonLabels` | Labels to add to all deployed objects | `{}` |
| `extraDeploy` | Array of extra objects to deploy with the release (evaluated as a template) | `[]` |
| `diagnosticMode.enabled` | Enable diagnostic mode (all probes will be disabled and the command will be overridden) | `false` |
| `diagnosticMode.command` | Command to override all containers in the deployment | `["sleep"]` |
| `diagnosticMode.args` | Args to override all containers in the deployment | `["infinity"]` |
| `image.registry` | Redis&reg; cluster image registry | `REGISTRY_NAME` |
| `image.repository` | Redis&reg; cluster image repository | `REPOSITORY_NAME/redis-cluster` |
| `image.digest` | Redis&reg; cluster image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag | `""` |
| `image.pullPolicy` | Redis&reg; cluster image pull policy | `IfNotPresent` |
| `image.pullSecrets` | Specify docker-registry secret names as an array | `[]` |
| `image.debug` | Enable image debug mode | `false` |
| `networkPolicy.enabled` | Enable creation of NetworkPolicy resources | `true` |
| `networkPolicy.allowExternal` | The Policy model to apply | `true` |
| `networkPolicy.allowExternalEgress` | Allow the pod to access any range of port and all destinations. | `true` |
| `networkPolicy.extraIngress` | Add extra ingress rules to the NetworkPolicy | `[]` |
| `networkPolicy.extraEgress` | Add extra ingress rules to the NetworkPolicy | `[]` |
| `networkPolicy.ingressNSMatchLabels` | Labels to match to allow traffic from other namespaces | `{}` |
| `networkPolicy.ingressNSPodMatchLabels` | Pod labels to match to allow traffic from other namespaces | `{}` |
| `serviceAccount.create` | Specifies whether a ServiceAccount should be created | `true` |
| `serviceAccount.name` | The name of the ServiceAccount to create | `""` |
| `serviceAccount.annotations` | Annotations for Cassandra Service Account | `{}` |
| `serviceAccount.automountServiceAccountToken` | Automount API credentials for a service account. | `false` |
| `rbac.create` | Specifies whether RBAC resources should be created | `false` |
| `rbac.role.rules` | Rules to create. It follows the role specification | `[]` |
| `podSecurityContext.enabled` | Enable Redis&reg; pod Security Context | `true` |
| `podSecurityContext.fsGroupChangePolicy` | Set filesystem group change policy | `Always` |
| `podSecurityContext.supplementalGroups` | Set filesystem extra groups | `[]` |
| `podSecurityContext.fsGroup` | Group ID for the pods | `1001` |
| `podSecurityContext.sysctls` | Set namespaced sysctls for the pods | `[]` |
| `podDisruptionBudget` | Limits the number of pods of the replicated application that are down simultaneously from voluntary disruptions | `{}` |
| `minAvailable` | Min number of pods that must still be available after the eviction | `""` |
| `maxUnavailable` | Max number of pods that can be unavailable after the eviction | `""` |
| `containerSecurityContext.enabled` | Enabled containers' Security Context | `true` |
| `containerSecurityContext.seLinuxOptions` | Set SELinux options in container | `nil` |
| `containerSecurityContext.runAsUser` | Set containers' Security Context runAsUser | `1001` |
| `containerSecurityContext.runAsNonRoot` | Set container's Security Context runAsNonRoot | `true` |
| `containerSecurityContext.privileged` | Set container's Security Context privileged | `false` |
| `containerSecurityContext.readOnlyRootFilesystem` | Set container's Security Context readOnlyRootFilesystem | `false` |
| `containerSecurityContext.allowPrivilegeEscalation` | Set container's Security Context allowPrivilegeEscalation | `false` |
| `containerSecurityContext.capabilities.drop` | List of capabilities to be dropped | `["ALL"]` |
| `containerSecurityContext.seccompProfile.type` | Set container's Security Context seccomp profile | `RuntimeDefault` |
| `usePassword` | Use password authentication | `true` |
| `password` | Redis&reg; password (ignored if existingSecret set) | `""` |
| `existingSecret` | Name of existing secret object (for password authentication) | `""` |
| `existingSecretPasswordKey` | Name of key containing password to be retrieved from the existing secret | `""` |
| `usePasswordFile` | Mount passwords as files instead of environment variables | `false` |
| `tls.enabled` | Enable TLS support for replication traffic | `false` |
| `tls.authClients` | Require clients to authenticate or not | `true` |
| `tls.autoGenerated` | Generate automatically self-signed TLS certificates | `false` |
| `tls.existingSecret` | The name of the existing secret that contains the TLS certificates | `""` |
| `tls.certificatesSecret` | DEPRECATED. Use tls.existingSecret instead | `""` |
| `tls.certFilename` | Certificate filename | `""` |
| `tls.certKeyFilename` | Certificate key filename | `""` |
| `tls.certCAFilename` | CA Certificate filename | `""` |
| `tls.dhParamsFilename` | File containing DH params (in order to support DH based ciphers) | `""` |
| `service.ports.redis` | Kubernetes Redis service port | `6379` |
| `service.nodePorts.redis` | Node port for Redis | `""` |
| `service.extraPorts` | Extra ports to expose in the service (normally used with the `sidecar` value) | `[]` |
| `service.annotations` | Provide any additional annotations which may be required. | `{}` |
| `service.labels` | Additional labels for redis service | `{}` |
| `service.type` | Service type for default redis service | `ClusterIP` |
| `service.clusterIP` | Service Cluster IP | `""` |
| `service.loadBalancerIP` | Load balancer IP if `service.type` is `LoadBalancer` | `""` |
| `service.loadBalancerSourceRanges` | Service Load Balancer sources | `[]` |
| `service.externalTrafficPolicy` | Service external traffic policy | `Cluster` |
| `service.sessionAffinity` | Session Affinity for Kubernetes service, can be "None" or "ClientIP" | `None` |
| `service.sessionAffinityConfig` | Additional settings for the sessionAffinity | `{}` |
| `service.headless.annotations` | Annotations for the headless service. | `{}` |
| `persistence.enabled` | Enable persistence on Redis&reg; | `true` |
| `persistence.path` | Path to mount the volume at, to use other images Redis&reg; images. | `/bitnami/redis/data` |
| `persistence.subPath` | The subdirectory of the volume to mount to, useful in dev environments and one PV for multiple services | `""` |
| `persistence.storageClass` | Storage class of backing PVC | `""` |
| `persistence.annotations` | Persistent Volume Claim annotations | `{}` |
| `persistence.accessModes` | Persistent Volume Access Modes | `["ReadWriteOnce"]` |
| `persistence.size` | Size of data volume | `8Gi` |
| `persistence.matchLabels` | Persistent Volume selectors | `{}` |
| `persistence.matchExpressions` | matchExpressions Persistent Volume selectors | `{}` |
| `persistentVolumeClaimRetentionPolicy.enabled` | Controls if and how PVCs are deleted during the lifecycle of a StatefulSet | `false` |
| `persistentVolumeClaimRetentionPolicy.whenScaled` | Volume retention behavior when the replica count of the StatefulSet is reduced | `Retain` |
| `persistentVolumeClaimRetentionPolicy.whenDeleted` | Volume retention behavior that applies when the StatefulSet is deleted | `Retain` |
| `volumePermissions.enabled` | Enable init container that changes volume permissions in the registry (for cases where the default k8s `runAsUser` and `fsUser` values do not work) | `false` |
| `volumePermissions.image.registry` | Init container volume-permissions image registry | `REGISTRY_NAME` |
| `volumePermissions.image.repository` | Init container volume-permissions image repository | `REPOSITORY_NAME/os-shell` |
| `volumePermissions.image.digest` | Init container volume-permissions image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag | `""` |
| `volumePermissions.image.pullPolicy` | Init container volume-permissions image pull policy | `IfNotPresent` |
| `volumePermissions.image.pullSecrets` | Specify docker-registry secret names as an array | `[]` |
| `volumePermissions.containerSecurityContext.enabled` | Enable Containers' Security Context | `true` |
| `volumePermissions.containerSecurityContext.seLinuxOptions` | Set SELinux options in container | `nil` |
| `volumePermissions.containerSecurityContext.runAsUser` | User ID for the containers. | `0` |
| `volumePermissions.containerSecurityContext.privileged` | Run container as privileged | `false` |
| `volumePermissions.resourcesPreset` | Set 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). | `none` |
| `volumePermissions.resources` | Set container requests and limits for different resources like CPU or memory (essential for production workloads) | `{}` |
| `podSecurityPolicy.create` | Whether to create a PodSecurityPolicy. WARNING: PodSecurityPolicy is deprecated in Kubernetes v1.21 or later, unavailable in v1.25 or later | `false` |
### Redis&reg; statefulset parameters
| Name | Description | Value |
| ---------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | --------------- |
| `redis.command` | Redis&reg; entrypoint string. The command `redis-server` is executed if this is not provided | `[]` |
| `redis.args` | Arguments for the provided command if needed | `[]` |
| `redis.updateStrategy.type` | Argo Workflows statefulset strategy type | `RollingUpdate` |
| `redis.updateStrategy.rollingUpdate.partition` | Partition update strategy | `0` |
| `redis.podManagementPolicy` | Statefulset Pod management policy, it needs to be Parallel to be able to complete the cluster join | `Parallel` |
| `redis.automountServiceAccountToken` | Mount Service Account token in pod | `false` |
| `redis.hostAliases` | Deployment pod host aliases | `[]` |
| `redis.hostNetwork` | Host networking requested for this pod. Use the host's network namespace. | `false` |
| `redis.useAOFPersistence` | Whether to use AOF Persistence mode or not | `yes` |
| `redis.containerPorts.redis` | Redis&reg; port | `6379` |
| `redis.containerPorts.bus` | The busPort should be obtained adding 10000 to the redisPort. By default: 10000 + 6379 = 16379 | `16379` |
| `redis.lifecycleHooks` | LifecycleHook to set additional configuration before or after startup. Evaluated as a template | `{}` |
| `redis.extraVolumes` | Extra volumes to add to the deployment | `[]` |
| `redis.extraVolumeMounts` | Extra volume mounts to add to the container | `[]` |
| `redis.customLivenessProbe` | Override default liveness probe | `{}` |
| `redis.customReadinessProbe` | Override default readiness probe | `{}` |
| `redis.customStartupProbe` | Custom startupProbe that overrides the default one | `{}` |
| `redis.initContainers` | Extra init containers to add to the deployment | `[]` |
| `redis.sidecars` | Extra sidecar containers to add to the deployment | `[]` |
| `redis.podLabels` | Additional labels for Redis&reg; pod | `{}` |
| `redis.priorityClassName` | Redis&reg; Master pod priorityClassName | `""` |
| `redis.defaultConfigOverride` | Optional default Redis&reg; configuration for the nodes | `""` |
| `redis.configmap` | Additional Redis&reg; configuration for the nodes | `""` |
| `redis.extraEnvVars` | An array to add extra environment variables | `[]` |
| `redis.extraEnvVarsCM` | ConfigMap with extra environment variables | `""` |
| `redis.extraEnvVarsSecret` | Secret with extra environment variables | `""` |
| `redis.podAnnotations` | Redis&reg; additional annotations | `{}` |
| `redis.resources.limits` | The resources limits for the container | `{}` |
| `redis.resources.requests` | The requested resources for the container | `{}` |
| `redis.schedulerName` | Use an alternate scheduler, e.g. "stork". | `""` |
| `redis.shareProcessNamespace` | Enable shared process namespace in a pod. | `false` |
| `redis.livenessProbe.enabled` | Enable livenessProbe | `true` |
| `redis.livenessProbe.initialDelaySeconds` | Initial delay seconds for livenessProbe | `5` |
| `redis.livenessProbe.periodSeconds` | Period seconds for livenessProbe | `5` |
| `redis.livenessProbe.timeoutSeconds` | Timeout seconds for livenessProbe | `5` |
| `redis.livenessProbe.failureThreshold` | Failure threshold for livenessProbe | `5` |
| `redis.livenessProbe.successThreshold` | Success threshold for livenessProbe | `1` |
| `redis.readinessProbe.enabled` | Enable readinessProbe | `true` |
| `redis.readinessProbe.initialDelaySeconds` | Initial delay seconds for readinessProbe | `5` |
| `redis.readinessProbe.periodSeconds` | Period seconds for readinessProbe | `5` |
| `redis.readinessProbe.timeoutSeconds` | Timeout seconds for readinessProbe | `1` |
| `redis.readinessProbe.failureThreshold` | Failure threshold for readinessProbe | `5` |
| `redis.readinessProbe.successThreshold` | Success threshold for readinessProbe | `1` |
| `redis.startupProbe.enabled` | Enable startupProbe | `false` |
| `redis.startupProbe.path` | Path to check for startupProbe | `/` |
| `redis.startupProbe.initialDelaySeconds` | Initial delay seconds for startupProbe | `300` |
| `redis.startupProbe.periodSeconds` | Period seconds for startupProbe | `10` |
| `redis.startupProbe.timeoutSeconds` | Timeout seconds for startupProbe | `5` |
| `redis.startupProbe.failureThreshold` | Failure threshold for startupProbe | `6` |
| `redis.startupProbe.successThreshold` | Success threshold for startupProbe | `1` |
| `redis.podAffinityPreset` | Redis&reg; pod affinity preset. Ignored if `redis.affinity` is set. Allowed values: `soft` or `hard` | `""` |
| `redis.podAntiAffinityPreset` | Redis&reg; pod anti-affinity preset. Ignored if `redis.affinity` is set. Allowed values: `soft` or `hard` | `soft` |
| `redis.nodeAffinityPreset.type` | Redis&reg; node affinity preset type. Ignored if `redis.affinity` is set. Allowed values: `soft` or `hard` | `""` |
| `redis.nodeAffinityPreset.key` | Redis&reg; node label key to match Ignored if `redis.affinity` is set. | `""` |
| `redis.nodeAffinityPreset.values` | Redis&reg; node label values to match. Ignored if `redis.affinity` is set. | `[]` |
| `redis.affinity` | Affinity settings for Redis&reg; pod assignment | `{}` |
| `redis.nodeSelector` | Node labels for Redis&reg; pods assignment | `{}` |
| `redis.tolerations` | Tolerations for Redis&reg; pods assignment | `[]` |
| `redis.topologySpreadConstraints` | Pod topology spread constraints for Redis&reg; pod | `[]` |
| Name | Description | Value |
| ---------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------- |
| `redis.command` | Redis&reg; entrypoint string. The command `redis-server` is executed if this is not provided | `[]` |
| `redis.args` | Arguments for the provided command if needed | `[]` |
| `redis.updateStrategy.type` | Argo Workflows statefulset strategy type | `RollingUpdate` |
| `redis.updateStrategy.rollingUpdate.partition` | Partition update strategy | `0` |
| `redis.podManagementPolicy` | Statefulset Pod management policy, it needs to be Parallel to be able to complete the cluster join | `Parallel` |
| `redis.automountServiceAccountToken` | Mount Service Account token in pod | `false` |
| `redis.hostAliases` | Deployment pod host aliases | `[]` |
| `redis.hostNetwork` | Host networking requested for this pod. Use the host's network namespace. | `false` |
| `redis.useAOFPersistence` | Whether to use AOF Persistence mode or not | `yes` |
| `redis.containerPorts.redis` | Redis&reg; port | `6379` |
| `redis.containerPorts.bus` | The busPort should be obtained adding 10000 to the redisPort. By default: 10000 + 6379 = 16379 | `16379` |
| `redis.lifecycleHooks` | LifecycleHook to set additional configuration before or after startup. Evaluated as a template | `{}` |
| `redis.extraVolumes` | Extra volumes to add to the deployment | `[]` |
| `redis.extraVolumeMounts` | Extra volume mounts to add to the container | `[]` |
| `redis.customLivenessProbe` | Override default liveness probe | `{}` |
| `redis.customReadinessProbe` | Override default readiness probe | `{}` |
| `redis.customStartupProbe` | Custom startupProbe that overrides the default one | `{}` |
| `redis.initContainers` | Extra init containers to add to the deployment | `[]` |
| `redis.sidecars` | Extra sidecar containers to add to the deployment | `[]` |
| `redis.podLabels` | Additional labels for Redis&reg; pod | `{}` |
| `redis.priorityClassName` | Redis&reg; Master pod priorityClassName | `""` |
| `redis.defaultConfigOverride` | Optional default Redis&reg; configuration for the nodes | `""` |
| `redis.configmap` | Additional Redis&reg; configuration for the nodes | `""` |
| `redis.extraEnvVars` | An array to add extra environment variables | `[]` |
| `redis.extraEnvVarsCM` | ConfigMap with extra environment variables | `""` |
| `redis.extraEnvVarsSecret` | Secret with extra environment variables | `""` |
| `redis.podAnnotations` | Redis&reg; additional annotations | `{}` |
| `redis.resourcesPreset` | Set container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if redis.resources is set (redis.resources is recommended for production). | `none` |
| `redis.resources` | Set container requests and limits for different resources like CPU or memory (essential for production workloads) | `{}` |
| `redis.schedulerName` | Use an alternate scheduler, e.g. "stork". | `""` |
| `redis.shareProcessNamespace` | Enable shared process namespace in a pod. | `false` |
| `redis.livenessProbe.enabled` | Enable livenessProbe | `true` |
| `redis.livenessProbe.initialDelaySeconds` | Initial delay seconds for livenessProbe | `5` |
| `redis.livenessProbe.periodSeconds` | Period seconds for livenessProbe | `5` |
| `redis.livenessProbe.timeoutSeconds` | Timeout seconds for livenessProbe | `5` |
| `redis.livenessProbe.failureThreshold` | Failure threshold for livenessProbe | `5` |
| `redis.livenessProbe.successThreshold` | Success threshold for livenessProbe | `1` |
| `redis.readinessProbe.enabled` | Enable readinessProbe | `true` |
| `redis.readinessProbe.initialDelaySeconds` | Initial delay seconds for readinessProbe | `5` |
| `redis.readinessProbe.periodSeconds` | Period seconds for readinessProbe | `5` |
| `redis.readinessProbe.timeoutSeconds` | Timeout seconds for readinessProbe | `1` |
| `redis.readinessProbe.failureThreshold` | Failure threshold for readinessProbe | `5` |
| `redis.readinessProbe.successThreshold` | Success threshold for readinessProbe | `1` |
| `redis.startupProbe.enabled` | Enable startupProbe | `false` |
| `redis.startupProbe.path` | Path to check for startupProbe | `/` |
| `redis.startupProbe.initialDelaySeconds` | Initial delay seconds for startupProbe | `300` |
| `redis.startupProbe.periodSeconds` | Period seconds for startupProbe | `10` |
| `redis.startupProbe.timeoutSeconds` | Timeout seconds for startupProbe | `5` |
| `redis.startupProbe.failureThreshold` | Failure threshold for startupProbe | `6` |
| `redis.startupProbe.successThreshold` | Success threshold for startupProbe | `1` |
| `redis.podAffinityPreset` | Redis&reg; pod affinity preset. Ignored if `redis.affinity` is set. Allowed values: `soft` or `hard` | `""` |
| `redis.podAntiAffinityPreset` | Redis&reg; pod anti-affinity preset. Ignored if `redis.affinity` is set. Allowed values: `soft` or `hard` | `soft` |
| `redis.nodeAffinityPreset.type` | Redis&reg; node affinity preset type. Ignored if `redis.affinity` is set. Allowed values: `soft` or `hard` | `""` |
| `redis.nodeAffinityPreset.key` | Redis&reg; node label key to match Ignored if `redis.affinity` is set. | `""` |
| `redis.nodeAffinityPreset.values` | Redis&reg; node label values to match. Ignored if `redis.affinity` is set. | `[]` |
| `redis.affinity` | Affinity settings for Redis&reg; pod assignment | `{}` |
| `redis.nodeSelector` | Node labels for Redis&reg; pods assignment | `{}` |
| `redis.tolerations` | Tolerations for Redis&reg; pods assignment | `[]` |
| `redis.topologySpreadConstraints` | Pod topology spread constraints for Redis&reg; pod | `[]` |
### Cluster update job parameters
| Name | Description | Value |
| ---------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------- |
| `updateJob.activeDeadlineSeconds` | Number of seconds the Job to create the cluster will be waiting for the Nodes to be ready. | `600` |
| `updateJob.command` | Container command (using container default if not set) | `[]` |
| `updateJob.args` | Container args (using container default if not set) | `[]` |
| `updateJob.automountServiceAccountToken` | Mount Service Account token in pod | `false` |
| `updateJob.hostAliases` | Deployment pod host aliases | `[]` |
| `updateJob.helmHook` | Job Helm hook | `post-upgrade` |
| `updateJob.annotations` | Job annotations | `{}` |
| `updateJob.podAnnotations` | Job pod annotations | `{}` |
| `updateJob.podLabels` | Pod extra labels | `{}` |
| `updateJob.extraEnvVars` | An array to add extra environment variables | `[]` |
| `updateJob.extraEnvVarsCM` | ConfigMap containing extra environment variables | `""` |
| `updateJob.extraEnvVarsSecret` | Secret containing extra environment variables | `""` |
| `updateJob.extraVolumes` | Extra volumes to add to the deployment | `[]` |
| `updateJob.extraVolumeMounts` | Extra volume mounts to add to the container | `[]` |
| `updateJob.initContainers` | Extra init containers to add to the deployment | `[]` |
| `updateJob.podAffinityPreset` | Update job pod affinity preset. Ignored if `updateJob.affinity` is set. Allowed values: `soft` or `hard` | `""` |
| `updateJob.podAntiAffinityPreset` | Update job pod anti-affinity preset. Ignored if `updateJob.affinity` is set. Allowed values: `soft` or `hard` | `soft` |
| `updateJob.nodeAffinityPreset.type` | Update job node affinity preset type. Ignored if `updateJob.affinity` is set. Allowed values: `soft` or `hard` | `""` |
| `updateJob.nodeAffinityPreset.key` | Update job node label key to match Ignored if `updateJob.affinity` is set. | `""` |
| `updateJob.nodeAffinityPreset.values` | Update job node label values to match. Ignored if `updateJob.affinity` is set. | `[]` |
| `updateJob.affinity` | Affinity for update job pods assignment | `{}` |
| `updateJob.nodeSelector` | Node labels for update job pods assignment | `{}` |
| `updateJob.tolerations` | Tolerations for update job pods assignment | `[]` |
| `updateJob.priorityClassName` | Priority class name | `""` |
| `updateJob.resources.limits` | The resources limits for the container | `{}` |
| `updateJob.resources.requests` | The requested resources for the container | `{}` |
| Name | Description | Value |
| ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------- |
| `updateJob.activeDeadlineSeconds` | Number of seconds the Job to create the cluster will be waiting for the Nodes to be ready. | `600` |
| `updateJob.command` | Container command (using container default if not set) | `[]` |
| `updateJob.args` | Container args (using container default if not set) | `[]` |
| `updateJob.automountServiceAccountToken` | Mount Service Account token in pod | `false` |
| `updateJob.hostAliases` | Deployment pod host aliases | `[]` |
| `updateJob.helmHook` | Job Helm hook | `post-upgrade` |
| `updateJob.annotations` | Job annotations | `{}` |
| `updateJob.podAnnotations` | Job pod annotations | `{}` |
| `updateJob.podLabels` | Pod extra labels | `{}` |
| `updateJob.extraEnvVars` | An array to add extra environment variables | `[]` |
| `updateJob.extraEnvVarsCM` | ConfigMap containing extra environment variables | `""` |
| `updateJob.extraEnvVarsSecret` | Secret containing extra environment variables | `""` |
| `updateJob.extraVolumes` | Extra volumes to add to the deployment | `[]` |
| `updateJob.extraVolumeMounts` | Extra volume mounts to add to the container | `[]` |
| `updateJob.initContainers` | Extra init containers to add to the deployment | `[]` |
| `updateJob.podAffinityPreset` | Update job pod affinity preset. Ignored if `updateJob.affinity` is set. Allowed values: `soft` or `hard` | `""` |
| `updateJob.podAntiAffinityPreset` | Update job pod anti-affinity preset. Ignored if `updateJob.affinity` is set. Allowed values: `soft` or `hard` | `soft` |
| `updateJob.nodeAffinityPreset.type` | Update job node affinity preset type. Ignored if `updateJob.affinity` is set. Allowed values: `soft` or `hard` | `""` |
| `updateJob.nodeAffinityPreset.key` | Update job node label key to match Ignored if `updateJob.affinity` is set. | `""` |
| `updateJob.nodeAffinityPreset.values` | Update job node label values to match. Ignored if `updateJob.affinity` is set. | `[]` |
| `updateJob.affinity` | Affinity for update job pods assignment | `{}` |
| `updateJob.nodeSelector` | Node labels for update job pods assignment | `{}` |
| `updateJob.tolerations` | Tolerations for update job pods assignment | `[]` |
| `updateJob.priorityClassName` | Priority class name | `""` |
| `updateJob.resourcesPreset` | Set container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if updateJob.resources is set (updateJob.resources is recommended for production). | `none` |
| `updateJob.resources` | Set container requests and limits for different resources like CPU or memory (essential for production workloads) | `{}` |
### Cluster management parameters
@@ -302,62 +302,63 @@ The command removes all the Kubernetes components associated with the chart and
### Metrics sidecar parameters
| Name | Description | Value |
| ----------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | -------------------------------- |
| `metrics.enabled` | Start a side-car prometheus exporter | `false` |
| `metrics.image.registry` | Redis&reg; exporter image registry | `REGISTRY_NAME` |
| `metrics.image.repository` | Redis&reg; exporter image name | `REPOSITORY_NAME/redis-exporter` |
| `metrics.image.digest` | Redis&reg; exporter image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag | `""` |
| `metrics.image.pullPolicy` | Redis&reg; exporter image pull policy | `IfNotPresent` |
| `metrics.image.pullSecrets` | Specify docker-registry secret names as an array | `[]` |
| `metrics.resources` | Metrics exporter resource requests and limits | `{}` |
| `metrics.extraArgs` | Extra arguments for the binary; possible values [here](https://github.com/oliver006/redis_exporter) | `{}` |
| `metrics.extraEnvVars` | Array with extra environment variables to add to Redis&reg; exporter | `[]` |
| `metrics.containerPorts.http` | Metrics HTTP container port | `9121` |
| `metrics.podAnnotations` | Additional annotations for Metrics exporter pod | `{}` |
| `metrics.podLabels` | Additional labels for Metrics exporter pod | `{}` |
| `metrics.containerSecurityContext.enabled` | Enable Metrics Containers' Security Context | `false` |
| `metrics.containerSecurityContext.allowPrivilegeEscalation` | Allow Privilege Escalation for metrics container | `false` |
| `metrics.serviceMonitor.enabled` | If `true`, creates a Prometheus Operator ServiceMonitor (also requires `metrics.enabled` to be `true`) | `false` |
| `metrics.serviceMonitor.namespace` | Optional namespace which Prometheus is running in | `""` |
| `metrics.serviceMonitor.interval` | How frequently to scrape metrics (use by default, falling back to Prometheus' default) | `""` |
| `metrics.serviceMonitor.scrapeTimeout` | Timeout after which the scrape is ended | `""` |
| `metrics.serviceMonitor.selector` | Prometheus instance selector labels | `{}` |
| `metrics.serviceMonitor.labels` | ServiceMonitor extra labels | `{}` |
| `metrics.serviceMonitor.annotations` | ServiceMonitor annotations | `{}` |
| `metrics.serviceMonitor.jobLabel` | The name of the label on the target service to use as the job name in prometheus. | `""` |
| `metrics.serviceMonitor.relabelings` | RelabelConfigs to apply to samples before scraping | `[]` |
| `metrics.serviceMonitor.metricRelabelings` | MetricRelabelConfigs to apply to samples before ingestion | `[]` |
| `metrics.prometheusRule.enabled` | Set this to true to create prometheusRules for Prometheus operator | `false` |
| `metrics.prometheusRule.additionalLabels` | Additional labels that can be used so prometheusRules will be discovered by Prometheus | `{}` |
| `metrics.prometheusRule.namespace` | namespace where prometheusRules resource should be created | `""` |
| `metrics.prometheusRule.rules` | Create specified [rules](https://prometheus.io/docs/prometheus/latest/configuration/alerting_rules/), check values for an example. | `[]` |
| `metrics.priorityClassName` | Metrics exporter pod priorityClassName | `""` |
| `metrics.service.type` | Kubernetes Service type (redis metrics) | `ClusterIP` |
| `metrics.service.loadBalancerIP` | Use serviceLoadBalancerIP to request a specific static IP, otherwise leave blank | `""` |
| `metrics.service.annotations` | Annotations for the services to monitor. | `{}` |
| `metrics.service.labels` | Additional labels for the metrics service | `{}` |
| `metrics.service.ports.http` | Metrics HTTP service port | `9121` |
| `metrics.service.clusterIP` | Service Cluster IP | `""` |
| Name | Description | Value |
| ----------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------- |
| `metrics.enabled` | Start a side-car prometheus exporter | `false` |
| `metrics.image.registry` | Redis&reg; exporter image registry | `REGISTRY_NAME` |
| `metrics.image.repository` | Redis&reg; exporter image name | `REPOSITORY_NAME/redis-exporter` |
| `metrics.image.digest` | Redis&reg; exporter image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag | `""` |
| `metrics.image.pullPolicy` | Redis&reg; exporter image pull policy | `IfNotPresent` |
| `metrics.image.pullSecrets` | Specify docker-registry secret names as an array | `[]` |
| `metrics.resourcesPreset` | Set container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if metrics.resources is set (metrics.resources is recommended for production). | `none` |
| `metrics.resources` | Set container requests and limits for different resources like CPU or memory (essential for production workloads) | `{}` |
| `metrics.extraArgs` | Extra arguments for the binary; possible values [here](https://github.com/oliver006/redis_exporter) | `{}` |
| `metrics.extraEnvVars` | Array with extra environment variables to add to Redis&reg; exporter | `[]` |
| `metrics.containerPorts.http` | Metrics HTTP container port | `9121` |
| `metrics.podAnnotations` | Additional annotations for Metrics exporter pod | `{}` |
| `metrics.podLabels` | Additional labels for Metrics exporter pod | `{}` |
| `metrics.containerSecurityContext.enabled` | Enable Metrics Containers' Security Context | `false` |
| `metrics.containerSecurityContext.allowPrivilegeEscalation` | Allow Privilege Escalation for metrics container | `false` |
| `metrics.serviceMonitor.enabled` | If `true`, creates a Prometheus Operator ServiceMonitor (also requires `metrics.enabled` to be `true`) | `false` |
| `metrics.serviceMonitor.namespace` | Optional namespace which Prometheus is running in | `""` |
| `metrics.serviceMonitor.interval` | How frequently to scrape metrics (use by default, falling back to Prometheus' default) | `""` |
| `metrics.serviceMonitor.scrapeTimeout` | Timeout after which the scrape is ended | `""` |
| `metrics.serviceMonitor.selector` | Prometheus instance selector labels | `{}` |
| `metrics.serviceMonitor.labels` | ServiceMonitor extra labels | `{}` |
| `metrics.serviceMonitor.annotations` | ServiceMonitor annotations | `{}` |
| `metrics.serviceMonitor.jobLabel` | The name of the label on the target service to use as the job name in prometheus. | `""` |
| `metrics.serviceMonitor.relabelings` | RelabelConfigs to apply to samples before scraping | `[]` |
| `metrics.serviceMonitor.metricRelabelings` | MetricRelabelConfigs to apply to samples before ingestion | `[]` |
| `metrics.prometheusRule.enabled` | Set this to true to create prometheusRules for Prometheus operator | `false` |
| `metrics.prometheusRule.additionalLabels` | Additional labels that can be used so prometheusRules will be discovered by Prometheus | `{}` |
| `metrics.prometheusRule.namespace` | namespace where prometheusRules resource should be created | `""` |
| `metrics.prometheusRule.rules` | Create specified [rules](https://prometheus.io/docs/prometheus/latest/configuration/alerting_rules/), check values for an example. | `[]` |
| `metrics.priorityClassName` | Metrics exporter pod priorityClassName | `""` |
| `metrics.service.type` | Kubernetes Service type (redis metrics) | `ClusterIP` |
| `metrics.service.loadBalancerIP` | Use serviceLoadBalancerIP to request a specific static IP, otherwise leave blank | `""` |
| `metrics.service.annotations` | Annotations for the services to monitor. | `{}` |
| `metrics.service.labels` | Additional labels for the metrics service | `{}` |
| `metrics.service.ports.http` | Metrics HTTP service port | `9121` |
| `metrics.service.clusterIP` | Service Cluster IP | `""` |
### Sysctl Image parameters
| Name | Description | Value |
| ----------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------- |
| `sysctlImage.enabled` | Enable an init container to modify Kernel settings | `false` |
| `sysctlImage.command` | sysctlImage command to execute | `[]` |
| `sysctlImage.registry` | sysctlImage Init container registry | `REGISTRY_NAME` |
| `sysctlImage.repository` | sysctlImage Init container repository | `REPOSITORY_NAME/os-shell` |
| `sysctlImage.digest` | sysctlImage Init container digest in the way sha256:aa.... Please note this parameter, if set, will override the tag | `""` |
| `sysctlImage.pullPolicy` | sysctlImage Init container pull policy | `IfNotPresent` |
| `sysctlImage.pullSecrets` | Specify docker-registry secret names as an array | `[]` |
| `sysctlImage.mountHostSys` | Mount the host `/sys` folder to `/host-sys` | `false` |
| `sysctlImage.containerSecurityContext.enabled` | Enable Containers' Security Context | `true` |
| `sysctlImage.containerSecurityContext.seLinuxOptions` | Set SELinux options in container | `nil` |
| `sysctlImage.containerSecurityContext.runAsUser` | User ID for the containers. | `0` |
| `sysctlImage.containerSecurityContext.privileged` | Run privileged as privileged | `true` |
| `sysctlImage.resources.limits` | The resources limits for the container | `{}` |
| `sysctlImage.resources.requests` | The requested resources for the container | `{}` |
| Name | Description | Value |
| ----------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------- |
| `sysctlImage.enabled` | Enable an init container to modify Kernel settings | `false` |
| `sysctlImage.command` | sysctlImage command to execute | `[]` |
| `sysctlImage.registry` | sysctlImage Init container registry | `REGISTRY_NAME` |
| `sysctlImage.repository` | sysctlImage Init container repository | `REPOSITORY_NAME/os-shell` |
| `sysctlImage.digest` | sysctlImage Init container digest in the way sha256:aa.... Please note this parameter, if set, will override the tag | `""` |
| `sysctlImage.pullPolicy` | sysctlImage Init container pull policy | `IfNotPresent` |
| `sysctlImage.pullSecrets` | Specify docker-registry secret names as an array | `[]` |
| `sysctlImage.mountHostSys` | Mount the host `/sys` folder to `/host-sys` | `false` |
| `sysctlImage.containerSecurityContext.enabled` | Enable Containers' Security Context | `true` |
| `sysctlImage.containerSecurityContext.seLinuxOptions` | Set SELinux options in container | `nil` |
| `sysctlImage.containerSecurityContext.runAsUser` | User ID for the containers. | `0` |
| `sysctlImage.containerSecurityContext.privileged` | Run privileged as privileged | `true` |
| `sysctlImage.resourcesPreset` | Set container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if sysctlImage.resources is set (sysctlImage.resources is recommended for production). | `none` |
| `sysctlImage.resources` | Set container requests and limits for different resources like CPU or memory (essential for production workloads) | `{}` |
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example,
@@ -385,6 +386,12 @@ helm install my-release -f values.yaml oci://REGISTRY_NAME/REPOSITORY_NAME/redis
## Configuration and installation details
### Resource requests and limits
Bitnami charts allow setting resource requests and limits for all containers inside the chart deployment. These are inside the `resources` value (check parameter table). Setting requests is essential for production workloads and these should be adapted to your specific use case.
To make this process easier, the chart contains the `resourcesPreset` values, which automatically sets the `resources` section according to different presets. Check these presets in [the bitnami/common chart](https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15). However, in production workloads using `resourcePreset` is discouraged as it may not fully adapt to your specific needs. Find more information on container resource management in the [official Kubernetes documentation](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/).
### [Rolling VS Immutable tags](https://docs.bitnami.com/tutorials/understand-rolling-tags-containers)
It is strongly recommended to use immutable tags in a production environment. This ensures your deployment does not change automatically if the same tag is updated with a different image.

View File

@@ -115,3 +115,4 @@ will be able to connect to redis.
{{- include "common.errors.upgrade.passwords.empty" (dict "validationErrors" (list $requiredPasswordError) "context" $) -}}
{{- end -}}
{{- end }}
{{- include "common.warnings.resources" (dict "sections" (list "metrics" "redis" "sysctlImage" "updateJob" "volumePermissions") "context" $) }}

View File

@@ -231,6 +231,8 @@ spec:
{{- end }}
{{- if .Values.updateJob.resources }}
resources: {{- toYaml .Values.updateJob.resources | nindent 12 }}
{{- else if ne .Values.updateJob.resourcesPreset "none" }}
resources: {{- include "common.resources.preset" (dict "type" .Values.updateJob.resourcesPreset) | nindent 12 }}
{{- end }}
{{- if or .Values.tls.enabled .Values.updateJob.extraVolumeMounts }}
volumeMounts:

View File

@@ -22,7 +22,6 @@ global:
storageClass: ""
redis:
password: ""
## @section Redis&reg; Cluster Common parameters
##
@@ -44,7 +43,6 @@ commonLabels: {}
## @param extraDeploy Array of extra objects to deploy with the release (evaluated as a template)
##
extraDeploy: []
## Enable diagnostic mode in the deployment
##
diagnosticMode:
@@ -59,7 +57,6 @@ diagnosticMode:
##
args:
- infinity
## Bitnami Redis&reg; image version
## ref: https://hub.docker.com/r/bitnami/redis/tags/
## @param image.registry [default: REGISTRY_NAME] Redis&reg; cluster image registry
@@ -145,7 +142,6 @@ networkPolicy:
##
ingressNSMatchLabels: {}
ingressNSPodMatchLabels: {}
serviceAccount:
## @param serviceAccount.create Specifies whether a ServiceAccount should be created
##
@@ -160,7 +156,6 @@ serviceAccount:
## @param serviceAccount.automountServiceAccountToken Automount API credentials for a service account.
##
automountServiceAccountToken: false
rbac:
## @param rbac.create Specifies whether RBAC resources should be created
##
@@ -385,7 +380,6 @@ persistence:
## @param persistence.matchExpressions matchExpressions Persistent Volume selectors
##
matchExpressions: {}
## persistentVolumeClaimRetentionPolicy
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#persistentvolumeclaim-retention
## @param persistentVolumeClaimRetentionPolicy.enabled Controls if and how PVCs are deleted during the lifecycle of a StatefulSet
@@ -395,7 +389,6 @@ persistentVolumeClaimRetentionPolicy:
enabled: false
whenScaled: Retain
whenDeleted: Retain
## Init containers parameters:
## volumePermissions: Change the owner of the persist volume mountpoint to RunAsUser:fsGroup
##
@@ -437,32 +430,29 @@ volumePermissions:
privileged: false
## Container resource requests and limits
## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
## @param volumePermissions.resources.limits The resources limits for the container
## @param volumePermissions.resources.requests The requested resources for the container
## @param volumePermissions.resourcesPreset Set 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).
## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15
##
resources:
## Example:
## limits:
## cpu: 100m
## memory: 128Mi
##
limits: {}
## Examples:
## requests:
## cpu: 100m
## memory: 128Mi
##
requests: {}
resourcesPreset: "none"
## @param volumePermissions.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
## Example:
## resources:
## requests:
## cpu: 2
## memory: 512Mi
## limits:
## cpu: 3
## memory: 1024Mi
##
resources: {}
## PodSecurityPolicy configuration
## ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/
## @param podSecurityPolicy.create Whether to create a PodSecurityPolicy. WARNING: PodSecurityPolicy is deprecated in Kubernetes v1.21 or later, unavailable in v1.25 or later
##
podSecurityPolicy:
create: false
## @section Redis&reg; statefulset parameters
##
redis:
## @param redis.command Redis&reg; entrypoint string. The command `redis-server` is executed if this is not provided
##
@@ -483,7 +473,6 @@ redis:
##
rollingUpdate:
partition: 0
## @param redis.podManagementPolicy Statefulset Pod management policy, it needs to be Parallel to be able to complete the cluster join
## Ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-management-policies
##
@@ -569,22 +558,21 @@ redis:
podAnnotations: {}
## Redis&reg; resource requests and limits
## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
## @param redis.resources.limits The resources limits for the container
## @param redis.resources.requests The requested resources for the container
## @param redis.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if redis.resources is set (redis.resources is recommended for production).
## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15
##
resources:
## Example:
## limits:
## cpu: 100m
## memory: 128Mi
##
limits: {}
## Examples:
## requests:
## cpu: 100m
## memory: 128Mi
##
requests: {}
resourcesPreset: "none"
## @param redis.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
## Example:
## resources:
## requests:
## cpu: 2
## memory: 512Mi
## limits:
## cpu: 3
## memory: 1024Mi
##
resources: {}
## @param redis.schedulerName Use an alternate scheduler, e.g. "stork".
## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
##
@@ -690,7 +678,6 @@ redis:
## The value is evaluated as a template
##
topologySpreadConstraints: []
## @section Cluster update job parameters
##
@@ -797,23 +784,21 @@ updateJob:
## 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:'.
## @param updateJob.resources.limits The resources limits for the container
## @param updateJob.resources.requests The requested resources for the container
## @param updateJob.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if updateJob.resources is set (updateJob.resources is recommended for production).
## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15
##
resources:
## Example:
## limits:
## cpu: 500m
## memory: 1Gi
##
limits: {}
## Examples:
## requests:
## cpu: 250m
## memory: 256Mi
##
requests: {}
resourcesPreset: "none"
## @param updateJob.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
## Example:
## resources:
## requests:
## cpu: 2
## memory: 512Mi
## limits:
## cpu: 3
## memory: 1024Mi
##
resources: {}
## @section Cluster management parameters
##
@@ -891,7 +876,6 @@ cluster:
## @param cluster.update.newExternalIPs External IPs obtained from the services for the new nodes to add to the cluster
##
newExternalIPs: []
## @section Metrics sidecar parameters
##
@@ -922,7 +906,19 @@ metrics:
## - myRegistryKeySecretName
##
pullSecrets: []
## @param metrics.resources Metrics exporter resource requests and limits
## @param metrics.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if metrics.resources is set (metrics.resources is recommended for production).
## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15
##
resourcesPreset: "none"
## @param metrics.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
## Example:
## resources:
## requests:
## cpu: 2
## memory: 512Mi
## limits:
## cpu: 3
## memory: 1024Mi
## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
##
resources: {}
@@ -938,7 +934,6 @@ metrics:
## value: "bar"
##
extraEnvVars: []
## @param metrics.containerPorts.http Metrics HTTP container port
##
containerPorts:
@@ -1066,7 +1061,6 @@ metrics:
loadBalancerIP: ""
annotations: {}
labels: {}
## @section Sysctl Image parameters
##
@@ -1116,19 +1110,18 @@ sysctlImage:
privileged: true
## Container resource requests and limits
## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
## @param sysctlImage.resources.limits The resources limits for the container
## @param sysctlImage.resources.requests The requested resources for the container
## @param sysctlImage.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if sysctlImage.resources is set (sysctlImage.resources is recommended for production).
## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15
##
resources:
## Example:
## limits:
## cpu: 100m
## memory: 128Mi
##
limits: {}
## Examples:
## requests:
## cpu: 100m
## memory: 128Mi
##
requests: {}
resourcesPreset: "none"
## @param sysctlImage.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
## Example:
## resources:
## requests:
## cpu: 2
## memory: 512Mi
## limits:
## cpu: 3
## memory: 1024Mi
##
resources: {}