| # Copyright 2022-present Open Networking Foundation |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| ## Global Docker image parameters |
| ## Please, note that this will override the image parameters, including dependencies, configured to use the global value |
| ## Current available global Docker image parameters: imageRegistry and imagePullSecrets |
| ## |
| #global: |
| # imageRegistry: myRegistryName |
| # imagePullSecrets: |
| # - myRegistryKeySecretName |
| # storageClass: myStorageClass |
| # redis: {} |
| |
| ## Bitnami Redis(TM) image version |
| ## ref: https://hub.docker.com/r/bitnami/redis/tags/ |
| |
| ## |
| global: |
| image_registry: '' |
| image_org: "voltha/" |
| image_tag: ~ |
| image_pullPolicy: "Always" |
| redisPort: 6379 |
| redis: |
| volumePath: "/kafka_zookeeper" |
| cluster: |
| enabled: false |
| sentinel: |
| enabled: false |
| |
| image: |
| registry: "docker-registry.com:5000" |
| repository: bitnami/redis |
| ## Bitnami Redis(TM) image tag |
| ## ref: https://github.com/bitnami/bitnami-docker-redis#supported-tags-and-respective-dockerfile-links |
| ## |
| tag: 6.0.10-debian-10-r19 |
| ## Specify a imagePullPolicy |
| ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent' |
| ## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images |
| ## |
| pullPolicy: IfNotPresent |
| ## Optionally specify an array of imagePullSecrets. |
| ## Secrets must be manually created in the namespace. |
| ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ |
| ## |
| # pullSecrets: |
| # - myRegistryKeySecretName |
| |
| ## String to partially override redis.fullname template (will maintain the release name) |
| ## |
| # nameOverride: |
| |
| ## String to fully override redis.fullname template |
| ## |
| fullnameOverride: redis-master |
| |
| ## Cluster settings |
| ## |
| cluster: |
| enabled: true |
| slaveCount: 3 |
| |
| ## Use redis sentinel in the redis pod. This will disable the master and slave services and |
| ## create one redis service with ports to the sentinel and the redis instances |
| ## |
| sentinel: |
| enabled: true |
| ## Require password authentication on the sentinel itself |
| ## ref: https://redis.io/topics/sentinel |
| usePassword: false |
| ## Bitnami Redis Sentintel image version |
| ## ref: https://hub.docker.com/r/bitnami/redis-sentinel/tags/ |
| ## |
| image: |
| registry: "docker-registry.com:5000" |
| repository: bitnami/redis-sentinel |
| ## Bitnami Redis(TM) image tag |
| ## ref: https://github.com/bitnami/bitnami-docker-redis-sentinel#supported-tags-and-respective-dockerfile-links |
| ## |
| tag: 6.0.10-debian-10-r18 |
| ## Specify a imagePullPolicy |
| ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent' |
| ## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images |
| ## |
| pullPolicy: IfNotPresent |
| ## Optionally specify an array of imagePullSecrets. |
| ## Secrets must be manually created in the namespace. |
| ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ |
| ## |
| # pullSecrets: |
| # - myRegistryKeySecretName |
| masterSet: mymaster |
| initialCheckTimeout: 5 |
| quorum: 2 |
| downAfterMilliseconds: 60000 |
| failoverTimeout: 18000 |
| parallelSyncs: 1 |
| port: 26379 |
| ## Additional Redis(TM) configuration for the sentinel nodes |
| ## ref: https://redis.io/topics/config |
| ## |
| configmap: |
| ## Enable or disable static sentinel IDs for each replicas |
| ## If disabled each sentinel will generate a random id at startup |
| ## If enabled, each replicas will have a constant ID on each start-up |
| ## |
| staticID: false |
| ## Configure extra options for Redis(TM) Sentinel liveness and readiness probes |
| ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes) |
| ## |
| livenessProbe: |
| enabled: true |
| initialDelaySeconds: 5 |
| periodSeconds: 5 |
| timeoutSeconds: 5 |
| successThreshold: 1 |
| failureThreshold: 5 |
| readinessProbe: |
| enabled: true |
| initialDelaySeconds: 5 |
| periodSeconds: 5 |
| timeoutSeconds: 1 |
| successThreshold: 1 |
| failureThreshold: 5 |
| customLivenessProbe: {} |
| customReadinessProbe: {} |
| ## Redis(TM) Sentinel resource requests and limits |
| ## ref: http://kubernetes.io/docs/user-guide/compute-resources/ |
| # resources: |
| # requests: |
| # memory: 256Mi |
| # cpu: 100m |
| ## Redis(TM) Sentinel Service properties |
| ## |
| service: |
| ## Redis(TM) Sentinel Service type |
| ## |
| type: ClusterIP |
| sentinelPort: 26379 |
| redisPort: 6379 |
| |
| ## External traffic policy (when service type is LoadBalancer) |
| ## ref: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip |
| ## |
| externalTrafficPolicy: Cluster |
| |
| ## Specify the nodePort value for the LoadBalancer and NodePort service types. |
| ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport |
| ## |
| # sentinelNodePort: |
| # redisNodePort: |
| |
| ## Provide any additional annotations which may be required. This can be used to |
| ## set the LoadBalancer service type to internal only. |
| ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer |
| ## |
| annotations: {} |
| labels: {} |
| loadBalancerIP: |
| |
| ## Additional commands to run prior to starting Redis(TM) node with sentinel |
| ## |
| preExecCmds: "" |
| |
| ## An array to add extra env var to the sentinel node configurations |
| ## For example: |
| ## extraEnvVars: |
| ## - name: name |
| ## value: value |
| ## - name: other_name |
| ## valueFrom: |
| ## fieldRef: |
| ## fieldPath: fieldPath |
| ## |
| extraEnvVars: [] |
| |
| ## ConfigMap with extra env vars: |
| ## |
| extraEnvVarsCM: [] |
| |
| ## Secret with extra env vars: |
| ## |
| extraEnvVarsSecret: [] |
| |
| ## Specifies the Kubernetes Cluster's Domain Name. |
| ## |
| clusterDomain: cluster.local |
| |
| networkPolicy: |
| ## Specifies whether a NetworkPolicy should be created |
| ## |
| enabled: false |
| |
| ## The Policy model to apply. When set to false, only pods with the correct |
| ## client label will have network access to the port Redis(TM) is listening |
| ## on. When true, Redis(TM) will accept connections from any source |
| ## (with the correct destination port). |
| ## |
| # allowExternal: true |
| |
| ## Allow connections from other namespaces. Just set label for namespace and set label for pods (optional). |
| ## |
| ingressNSMatchLabels: {} |
| ingressNSPodMatchLabels: {} |
| |
| serviceAccount: |
| ## Specifies whether a ServiceAccount should be created |
| ## |
| create: false |
| ## The name of the ServiceAccount to use. |
| ## If not set and create is true, a name is generated using the fullname template |
| ## |
| name: |
| ## Add annotations to service account |
| # annotations: |
| # iam.gke.io/gcp-service-account: "sa@project.iam.gserviceaccount.com" |
| |
| rbac: |
| ## Specifies whether RBAC resources should be created |
| ## |
| create: false |
| |
| role: |
| ## Rules to create. It follows the role specification |
| # rules: |
| # - apiGroups: |
| # - extensions |
| # resources: |
| # - podsecuritypolicies |
| # verbs: |
| # - use |
| # resourceNames: |
| # - gce.unprivileged |
| rules: [] |
| |
| ## Redis(TM) pod Security Context |
| ## |
| securityContext: |
| enabled: true |
| fsGroup: 1001 |
| ## sysctl settings for master and slave pods |
| ## |
| ## Uncomment the setting below to increase the net.core.somaxconn value |
| ## |
| # sysctls: |
| # - name: net.core.somaxconn |
| # value: "10000" |
| |
| ## Container Security Context |
| ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ |
| ## |
| containerSecurityContext: |
| enabled: true |
| runAsUser: 0 |
| |
| ## Use password authentication |
| usePassword: false |
| ## Redis password (both master and slave) |
| ## Defaults to a random 10-character alphanumeric string if not set and usePassword is true |
| ## ref: https://github.com/bitnami/bitnami-docker-redis#setting-the-server-password-on-first-run |
| ## |
| password: |
| ## Use existing secret (ignores previous password) |
| # existingSecret: |
| ## Password key to be retrieved from Redis(TM) secret |
| ## |
| # existingSecretPasswordKey: |
| |
| ## Mount secrets as files instead of environment variables |
| ## |
| usePasswordFile: false |
| |
| ## Persist data to a persistent volume (Redis(TM) Master) |
| ## |
| persistence: |
| ## A manually managed Persistent Volume and Claim |
| ## Requires persistence.enabled: true |
| ## If defined, PVC must be created manually before volume will be bound |
| ## |
| existingClaim: |
| |
| # Redis(TM) port |
| redisPort: 6379 |
| |
| ## |
| ## TLS configuration |
| ## |
| tls: |
| # Enable TLS traffic |
| enabled: false |
| # |
| # Whether to require clients to authenticate or not. |
| authClients: true |
| # |
| # Name of the Secret that contains the certificates |
| certificatesSecret: |
| # |
| # Certificate filename |
| certFilename: |
| # |
| # Certificate Key filename |
| certKeyFilename: |
| # |
| # CA Certificate filename |
| certCAFilename: |
| # |
| # File containing DH params (in order to support DH based ciphers) |
| # dhParamsFilename: |
| |
| ## |
| ## Redis(TM) Master parameters |
| ## |
| master: |
| ## Redis(TM) command arguments |
| ## |
| ## Can be used to specify command line arguments, for example: |
| ## Note `exec` is prepended to command |
| ## |
| #command: "/run.sh" |
| ## Additional commands to run prior to starting Redis |
| ## |
| command: "redis-server" |
| ## Additional Redis configuration for the master nodes |
| ## ref: https://redis.io/topics/config |
| preExecCmds: "" |
| ## Additional Redis(TM) configuration for the master nodes |
| ## ref: https://redis.io/topics/config |
| ## |
| configmap: |
| ## Deployment pod host aliases |
| ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/ |
| ## |
| hostAliases: [] |
| ## Redis(TM) additional command line flags |
| ## |
| ## Can be used to specify command line flags, for example: |
| ## extraFlags: |
| ## - "--maxmemory-policy volatile-ttl" |
| ## - "--repl-backlog-size 1024mb" |
| ## |
| extraFlags: [] |
| ## Comma-separated list of Redis(TM) commands to disable |
| ## |
| ## Can be used to disable Redis(TM) commands for security reasons. |
| ## Commands will be completely disabled by renaming each to an empty string. |
| ## ref: https://redis.io/topics/security#disabling-of-specific-commands |
| ## |
| disableCommands: |
| # - FLUSHDB |
| # - FLUSHALL |
| |
| ## Redis(TM) Master additional pod labels and annotations |
| ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ |
| ## |
| podLabels: {} |
| podAnnotations: {} |
| |
| ## Redis(TM) Master resource requests and limits |
| ## ref: http://kubernetes.io/docs/user-guide/compute-resources/ |
| # resources: |
| # requests: |
| # memory: 256Mi |
| # cpu: 100m |
| ## Use an alternate scheduler, e.g. "stork". |
| ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/ |
| ## |
| # schedulerName: |
| |
| # Enable shared process namespace in a pod. |
| # If set to false (default), each container will run in separate namespace, redis will have PID=1. |
| # If set to true, the /pause will run as init process and will reap any zombie PIDs, |
| # for example, generated by a custom exec probe running longer than a probe timeoutSeconds. |
| # Enable this only if customLivenessProbe or customReadinessProbe is used and zombie PIDs are accumulating. |
| # Ref: https://kubernetes.io/docs/tasks/configure-pod-container/share-process-namespace/ |
| shareProcessNamespace: false |
| ## Configure extra options for Redis(TM) Master liveness and readiness probes |
| ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes) |
| ## |
| livenessProbe: |
| enabled: true |
| initialDelaySeconds: 5 |
| periodSeconds: 5 |
| timeoutSeconds: 5 |
| successThreshold: 1 |
| failureThreshold: 5 |
| readinessProbe: |
| enabled: true |
| initialDelaySeconds: 5 |
| periodSeconds: 5 |
| timeoutSeconds: 1 |
| successThreshold: 1 |
| failureThreshold: 5 |
| |
| ## Configure custom probes for images other images like |
| ## rhscl/redis-32-rhel7 rhscl/redis-5-rhel7 |
| ## Only used if readinessProbe.enabled: false / livenessProbe.enabled: false |
| ## |
| # customLivenessProbe: |
| # tcpSocket: |
| # port: 6379 |
| # initialDelaySeconds: 10 |
| # periodSeconds: 5 |
| # customReadinessProbe: |
| # initialDelaySeconds: 30 |
| # periodSeconds: 10 |
| # timeoutSeconds: 5 |
| # exec: |
| # command: |
| # - "container-entrypoint" |
| # - "bash" |
| # - "-c" |
| # - "redis-cli set liveness-probe \"`date`\" | grep OK" |
| customLivenessProbe: {} |
| customReadinessProbe: {} |
| |
| ## Redis(TM) Master Node selectors and tolerations for pod assignment |
| ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector |
| ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#taints-and-tolerations-beta-feature |
| ## |
| # nodeSelector: {"beta.kubernetes.io/arch": "amd64"} |
| # tolerations: [] |
| ## Redis(TM) Master pod/node affinity/anti-affinity |
| ## |
| affinity: {} |
| |
| ## Redis(TM) Master Service properties |
| ## |
| service: |
| ## Redis(TM) Master Service type |
| ## |
| type: ClusterIP |
| port: 6379 |
| |
| ## External traffic policy (when service type is LoadBalancer) |
| ## ref: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip |
| ## |
| externalTrafficPolicy: Cluster |
| |
| ## Specify the nodePort value for the LoadBalancer and NodePort service types. |
| ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport |
| ## |
| # nodePort: |
| |
| ## Provide any additional annotations which may be required. This can be used to |
| ## set the LoadBalancer service type to internal only. |
| ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer |
| ## |
| annotations: {} |
| labels: {} |
| loadBalancerIP: |
| # loadBalancerSourceRanges: ["10.0.0.0/8"] |
| |
| ## Enable persistence using Persistent Volume Claims |
| ## ref: http://kubernetes.io/docs/user-guide/persistent-volumes/ |
| ## |
| persistence: |
| enabled: true |
| ## The path the volume will be mounted at, useful when using different |
| ## Redis(TM) images. |
| ## |
| path: /data |
| ## The subdirectory of the volume to mount to, useful in dev environments |
| ## and one PV for multiple services. |
| ## |
| subPath: "" |
| ## redis data Persistent Volume Storage Class |
| ## If defined, storageClassName: <storageClass> |
| ## If set to "-", storageClassName: "", which disables dynamic provisioning |
| ## If undefined (the default) or set to null, no storageClassName spec is |
| ## set, choosing the default provisioner. (gp2 on AWS, standard on |
| ## GKE, AWS & OpenStack) |
| ## |
| # storageClass: "-" |
| accessModes: |
| - ReadWriteOnce |
| size: 8Gi |
| ## Persistent Volume selectors |
| ## https://kubernetes.io/docs/concepts/storage/persistent-volumes/#selector |
| ## |
| matchLabels: {} |
| matchExpressions: {} |
| volumes: |
| # - name: volume_name |
| # emptyDir: {} |
| |
| ## Update strategy, can be set to RollingUpdate or onDelete by default. |
| ## https://kubernetes.io/docs/tutorials/stateful-application/basic-stateful-set/#updating-statefulsets |
| ## |
| statefulset: |
| labels: {} |
| annotations: {} |
| updateStrategy: RollingUpdate |
| ## Partition update strategy |
| ## https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#partitions |
| # rollingUpdatePartition: |
| volumeClaimTemplates: |
| labels: {} |
| annotations: {} |
| |
| ## Redis(TM) Master pod priorityClassName |
| ## |
| priorityClassName: {} |
| |
| ## An array to add extra env vars |
| ## For example: |
| ## extraEnvVars: |
| ## - name: name |
| ## value: value |
| ## - name: other_name |
| ## valueFrom: |
| ## fieldRef: |
| ## fieldPath: fieldPath |
| ## |
| extraEnvVars: [] |
| |
| ## ConfigMap with extra env vars: |
| ## |
| extraEnvVarsCM: [] |
| |
| ## Secret with extra env vars: |
| ## |
| extraEnvVarsSecret: [] |
| |
| ## |
| ## Redis(TM) Slave properties |
| ## Note: service.type is a mandatory parameter |
| ## The rest of the parameters are either optional or, if undefined, will inherit those declared in Redis(TM) Master |
| ## |
| slave: |
| ## Slave Service properties |
| ## |
| service: |
| ## Redis(TM) Slave Service type |
| ## |
| type: ClusterIP |
| ## Redis(TM) port |
| ## |
| port: 6379 |
| |
| ## External traffic policy (when service type is LoadBalancer) |
| ## ref: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip |
| ## |
| externalTrafficPolicy: Cluster |
| |
| ## Specify the nodePort value for the LoadBalancer and NodePort service types. |
| ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport |
| ## |
| # nodePort: |
| |
| ## Provide any additional annotations which may be required. This can be used to |
| ## set the LoadBalancer service type to internal only. |
| ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer |
| ## |
| annotations: {} |
| labels: {} |
| loadBalancerIP: |
| # loadBalancerSourceRanges: ["10.0.0.0/8"] |
| |
| ## Redis(TM) slave port |
| ## |
| port: 6379 |
| ## Deployment pod host aliases |
| ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/ |
| ## |
| hostAliases: [] |
| ## Can be used to specify command line arguments, for example: |
| ## Note `exec` is prepended to command |
| ## |
| #command: "/run.sh" |
| ## Additional commands to run prior to starting Redis |
| ## |
| command: "redis-server" |
| ## Additional Redis configuration for the slave nodes |
| preExecCmds: "" |
| ## Additional Redis(TM) configuration for the slave nodes |
| ## ref: https://redis.io/topics/config |
| ## |
| configmap: |
| ## Redis(TM) extra flags |
| ## |
| extraFlags: [] |
| ## List of Redis(TM) commands to disable |
| ## |
| disableCommands: |
| - FLUSHDB |
| - FLUSHALL |
| |
| ## Redis(TM) Slave pod/node affinity/anti-affinity |
| ## |
| affinity: {} |
| |
| ## Kubernetes Spread Constraints for pod assignment |
| ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/ |
| ## |
| # - maxSkew: 1 |
| # topologyKey: node |
| # whenUnsatisfiable: DoNotSchedule |
| spreadConstraints: {} |
| |
| # Enable shared process namespace in a pod. |
| # If set to false (default), each container will run in separate namespace, redis will have PID=1. |
| # If set to true, the /pause will run as init process and will reap any zombie PIDs, |
| # for example, generated by a custom exec probe running longer than a probe timeoutSeconds. |
| # Enable this only if customLivenessProbe or customReadinessProbe is used and zombie PIDs are accumulating. |
| # Ref: https://kubernetes.io/docs/tasks/configure-pod-container/share-process-namespace/ |
| shareProcessNamespace: false |
| ## Configure extra options for Redis(TM) Slave liveness and readiness probes |
| ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes) |
| ## |
| livenessProbe: |
| enabled: true |
| initialDelaySeconds: 30 |
| periodSeconds: 10 |
| timeoutSeconds: 5 |
| successThreshold: 1 |
| failureThreshold: 5 |
| readinessProbe: |
| enabled: true |
| initialDelaySeconds: 5 |
| periodSeconds: 10 |
| timeoutSeconds: 10 |
| successThreshold: 1 |
| failureThreshold: 5 |
| |
| ## Configure custom probes for images other images like |
| ## rhscl/redis-32-rhel7 rhscl/redis-5-rhel7 |
| ## Only used if readinessProbe.enabled: false / livenessProbe.enabled: false |
| ## |
| # customLivenessProbe: |
| # tcpSocket: |
| # port: 6379 |
| # initialDelaySeconds: 10 |
| # periodSeconds: 5 |
| # customReadinessProbe: |
| # initialDelaySeconds: 30 |
| # periodSeconds: 10 |
| # timeoutSeconds: 5 |
| # exec: |
| # command: |
| # - "container-entrypoint" |
| # - "bash" |
| # - "-c" |
| # - "redis-cli set liveness-probe \"`date`\" | grep OK" |
| customLivenessProbe: {} |
| customReadinessProbe: {} |
| |
| ## Redis(TM) slave Resource |
| # resources: |
| # requests: |
| # memory: 256Mi |
| # cpu: 100m |
| |
| ## Redis(TM) slave selectors and tolerations for pod assignment |
| # nodeSelector: {"beta.kubernetes.io/arch": "amd64"} |
| # tolerations: [] |
| |
| ## Use an alternate scheduler, e.g. "stork". |
| ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/ |
| ## |
| # schedulerName: |
| |
| ## Redis(TM) slave pod Annotation and Labels |
| ## |
| podLabels: {} |
| podAnnotations: {} |
| |
| ## Redis slave pod priorityClassName |
| # priorityClassName: {} |
| |
| ## Enable persistence using Persistent Volume Claims |
| ## ref: http://kubernetes.io/docs/user-guide/persistent-volumes/ |
| ## |
| persistence: |
| enabled: true |
| ## The path the volume will be mounted at, useful when using different |
| ## Redis(TM) images. |
| ## |
| path: /data |
| ## The subdirectory of the volume to mount to, useful in dev environments |
| ## and one PV for multiple services. |
| ## |
| subPath: "" |
| ## redis data Persistent Volume Storage Class |
| ## If defined, storageClassName: <storageClass> |
| ## If set to "-", storageClassName: "", which disables dynamic provisioning |
| ## If undefined (the default) or set to null, no storageClassName spec is |
| ## set, choosing the default provisioner. (gp2 on AWS, standard on |
| ## GKE, AWS & OpenStack) |
| ## |
| # storageClass: "-" |
| accessModes: |
| - ReadWriteOnce |
| size: 8Gi |
| ## Persistent Volume selectors |
| ## https://kubernetes.io/docs/concepts/storage/persistent-volumes/#selector |
| ## |
| matchLabels: {} |
| matchExpressions: {} |
| |
| ## Update strategy, can be set to RollingUpdate or onDelete by default. |
| ## https://kubernetes.io/docs/tutorials/stateful-application/basic-stateful-set/#updating-statefulsets |
| ## |
| statefulset: |
| labels: {} |
| annotations: {} |
| updateStrategy: RollingUpdate |
| ## Partition update strategy |
| ## https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#partitions |
| # rollingUpdatePartition: |
| volumeClaimTemplates: |
| labels: {} |
| annotations: {} |
| |
| ## An array to add extra env vars |
| ## For example: |
| ## extraEnvVars: |
| ## - name: name |
| ## value: value |
| ## - name: other_name |
| ## valueFrom: |
| ## fieldRef: |
| ## fieldPath: fieldPath |
| ## |
| extraEnvVars: [] |
| |
| ## ConfigMap with extra env vars: |
| ## |
| extraEnvVarsCM: [] |
| |
| ## Secret with extra env vars: |
| ## |
| extraEnvVarsSecret: [] |
| |
| ## Prometheus Exporter / Metrics |
| ## |
| metrics: |
| enabled: false |
| |
| image: |
| registry: docker.io |
| repository: bitnami/redis-exporter |
| tag: 1.16.0-debian-10-r7 |
| pullPolicy: IfNotPresent |
| ## Optionally specify an array of imagePullSecrets. |
| ## Secrets must be manually created in the namespace. |
| ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ |
| ## |
| # pullSecrets: |
| # - myRegistryKeySecretName |
| |
| ## Metrics exporter resource requests and limits |
| ## ref: http://kubernetes.io/docs/user-guide/compute-resources/ |
| ## |
| # resources: {} |
| |
| ## Extra arguments for Metrics exporter, for example: |
| ## extraArgs: |
| ## check-keys: myKey,myOtherKey |
| # extraArgs: {} |
| |
| ## Metrics exporter pod Annotation and Labels |
| ## |
| podAnnotations: |
| prometheus.io/scrape: "true" |
| prometheus.io/port: "9121" |
| # podLabels: {} |
| |
| # Enable this if you're using https://github.com/coreos/prometheus-operator |
| serviceMonitor: |
| enabled: false |
| ## Specify a namespace if needed |
| # namespace: monitoring |
| # fallback to the prometheus default unless specified |
| # interval: 10s |
| ## Defaults to what's used if you follow CoreOS [Prometheus Install Instructions](https://github.com/bitnami/charts/tree/master/bitnami/prometheus-operator#tldr) |
| ## [Prometheus Selector Label](https://github.com/bitnami/charts/tree/master/bitnami/prometheus-operator#prometheus-operator-1) |
| ## [Kube Prometheus Selector Label](https://github.com/bitnami/charts/tree/master/bitnami/prometheus-operator#exporters) |
| ## |
| selector: |
| prometheus: kube-prometheus |
| |
| ## RelabelConfigs to apply to samples before scraping |
| ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#relabelconfig |
| ## Value is evalued as a template |
| ## |
| relabelings: [] |
| |
| ## MetricRelabelConfigs to apply to samples before ingestion |
| ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#relabelconfig |
| ## Value is evalued as a template |
| ## |
| metricRelabelings: [] |
| # - sourceLabels: |
| # - "__name__" |
| # targetLabel: "__name__" |
| # action: replace |
| # regex: '(.*)' |
| # replacement: 'example_prefix_$1' |
| |
| ## Custom PrometheusRule to be defined |
| ## The value is evaluated as a template, so, for example, the value can depend on .Release or .Chart |
| ## ref: https://github.com/coreos/prometheus-operator#customresourcedefinitions |
| ## |
| prometheusRule: |
| enabled: false |
| additionalLabels: {} |
| namespace: "" |
| ## Redis(TM) prometheus rules |
| ## These are just examples rules, please adapt them to your needs. |
| ## Make sure to constraint the rules to the current redis service. |
| # rules: |
| # - alert: RedisDown |
| # expr: redis_up{service="{{ template "redis.fullname" . }}-metrics"} == 0 |
| # for: 2m |
| # labels: |
| # severity: error |
| # annotations: |
| # summary: Redis(TM) instance {{ "{{ $labels.instance }}" }} down |
| # description: Redis(TM) instance {{ "{{ $labels.instance }}" }} is down |
| # - alert: RedisMemoryHigh |
| # expr: > |
| # redis_memory_used_bytes{service="{{ template "redis.fullname" . }}-metrics"} * 100 |
| # / |
| # redis_memory_max_bytes{service="{{ template "redis.fullname" . }}-metrics"} |
| # > 90 |
| # for: 2m |
| # labels: |
| # severity: error |
| # annotations: |
| # summary: Redis(TM) instance {{ "{{ $labels.instance }}" }} is using too much memory |
| # description: | |
| # Redis(TM) instance {{ "{{ $labels.instance }}" }} is using {{ "{{ $value }}" }}% of its available memory. |
| # - alert: RedisKeyEviction |
| # expr: | |
| # increase(redis_evicted_keys_total{service="{{ template "redis.fullname" . }}-metrics"}[5m]) > 0 |
| # for: 1s |
| # labels: |
| # severity: error |
| # annotations: |
| # summary: Redis(TM) instance {{ "{{ $labels.instance }}" }} has evicted keys |
| # description: | |
| # Redis(TM) instance {{ "{{ $labels.instance }}" }} has evicted {{ "{{ $value }}" }} keys in the last 5 minutes. |
| rules: [] |
| |
| ## Metrics exporter pod priorityClassName |
| # priorityClassName: {} |
| service: |
| type: ClusterIP |
| |
| ## External traffic policy (when service type is LoadBalancer) |
| ## ref: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip |
| ## |
| externalTrafficPolicy: Cluster |
| |
| ## Use serviceLoadBalancerIP to request a specific static IP, |
| ## otherwise leave blank |
| # loadBalancerIP: |
| annotations: {} |
| labels: {} |
| |
| ## |
| ## Init containers parameters: |
| ## volumePermissions: Change the owner of the persist volume mountpoint to RunAsUser:fsGroup |
| ## |
| volumePermissions: |
| enabled: false |
| image: |
| registry: docker.io |
| repository: bitnami/minideb |
| tag: buster |
| pullPolicy: Always |
| ## Optionally specify an array of imagePullSecrets. |
| ## Secrets must be manually created in the namespace. |
| ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ |
| ## |
| # pullSecrets: |
| # - myRegistryKeySecretName |
| resources: {} |
| # resources: |
| # requests: |
| # memory: 128Mi |
| # cpu: 100m |
| |
| ## Init container Security Context |
| ## Note: the chown of the data folder is done to containerSecurityContext.runAsUser |
| ## and not the below volumePermissions.securityContext.runAsUser |
| ## When runAsUser is set to special value "auto", init container will try to chwon the |
| ## data folder to autodetermined user&group, using commands: `id -u`:`id -G | cut -d" " -f2` |
| ## "auto" is especially useful for OpenShift which has scc with dynamic userids (and 0 is not allowed). |
| ## You may want to use this volumePermissions.securityContext.runAsUser="auto" in combination with |
| ## podSecurityContext.enabled=false,containerSecurityContext.enabled=false |
| ## |
| securityContext: |
| runAsUser: 0 |
| |
| ## Redis(TM) config file |
| ## ref: https://redis.io/topics/config |
| ## |
| configmap: |- |
| # Enable AOF https://redis.io/topics/persistence#append-only-file |
| appendonly yes |
| appendfsync everysec |
| #no-appendfsync-on-rewrite no |
| #save 900 1 |
| #save 300 10 |
| #save 60 10000 |
| # Disable RDB persistence, AOF persistence already enabled. |
| save "" |
| |
| ## Sysctl InitContainer |
| ## used to perform sysctl operation to modify Kernel settings (needed sometimes to avoid warnings) |
| ## |
| sysctlImage: |
| enabled: false |
| command: [] |
| registry: docker.io |
| repository: bitnami/minideb |
| tag: buster |
| pullPolicy: Always |
| ## Optionally specify an array of imagePullSecrets. |
| ## Secrets must be manually created in the namespace. |
| ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ |
| ## |
| # pullSecrets: |
| # - myRegistryKeySecretName |
| mountHostSys: false |
| resources: {} |
| # resources: |
| # requests: |
| # memory: 128Mi |
| # cpu: 100m |
| |
| ## PodSecurityPolicy configuration |
| ## ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/ |
| ## |
| podSecurityPolicy: |
| ## Specifies whether a PodSecurityPolicy should be created |
| ## |
| create: false |
| |
| ## Define a disruption budget |
| ## ref: https://kubernetes.io/docs/concepts/workloads/pods/disruptions/ |
| ## |
| podDisruptionBudget: |
| enabled: false |
| minAvailable: 1 |
| # maxUnavailable: 1 |