# Source: cdgitea/charts/redis-cluster/templates/redis-statefulset.yaml apiVersion: apps/v1 kind: StatefulSet metadata: name: release-name-redis-cluster namespace: "gitea" labels: app.kubernetes.io/instance: release-name app.kubernetes.io/name: redis-cluster app.kubernetes.io/version: 7.2.5 spec: updateStrategy: rollingUpdate: partition: 0 type: RollingUpdate selector: matchLabels: app.kubernetes.io/instance: release-name app.kubernetes.io/name: redis-cluster replicas: 3 serviceName: release-name-redis-cluster-headless podManagementPolicy: Parallel template: metadata: labels: app.kubernetes.io/instance: release-name app.kubernetes.io/name: redis-cluster app.kubernetes.io/version: 7.2.5 annotations: checksum/scripts: f4443ed238f1b19ab40555e6ba2aea56daba79e8270549f884b9b31cf8e0e2ee checksum/secret: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 checksum/config: 958b865b26062946819f240fe4e5fd268b7c3203b944549981f1bd7fdc7947eb spec: nodeSelector: nodegroup: nd hostNetwork: false enableServiceLinks: false securityContext: fsGroup: 1001 fsGroupChangePolicy: Always supplementalGroups: [] sysctls: [] serviceAccountName: release-name-redis-cluster automountServiceAccountToken: false affinity: podAffinity: podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: - podAffinityTerm: labelSelector: matchLabels: app.kubernetes.io/instance: release-name app.kubernetes.io/name: redis-cluster topologyKey: kubernetes.io/hostname weight: 1 nodeAffinity: containers: - name: release-name-redis-cluster image: docker.io/bitnami/redis-cluster:7.2.5-debian-12-r2 imagePullPolicy: "IfNotPresent" securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL privileged: false readOnlyRootFilesystem: true runAsGroup: 1001 runAsNonRoot: true runAsUser: 1001 seccompProfile: type: RuntimeDefault command: ['/bin/bash', '-c'] args: - | # Backwards compatibility change if ! [[ -f /opt/bitnami/redis/etc/redis.conf ]]; then echo COPYING FILE cp /opt/bitnami/redis/etc/redis-default.conf /opt/bitnami/redis/etc/redis.conf fi pod_index=($(echo "$POD_NAME" | tr "-" "\n")) pod_index="${pod_index[-1]}" if [[ "$pod_index" == "0" ]]; then export REDIS_CLUSTER_CREATOR="yes" export REDIS_CLUSTER_REPLICAS="0" fi /opt/bitnami/scripts/redis-cluster/entrypoint.sh /opt/bitnami/scripts/redis-cluster/run.sh env: - name: POD_NAME valueFrom: fieldRef: fieldPath: metadata.name - name: REDIS_NODES value: "release-name-redis-cluster-0.release-name-redis-cluster-headless release-name-redis-cluster-1.release-name-redis-cluster-headless release-name-redis-cluster-2.release-name-redis-cluster-headless " - name: ALLOW_EMPTY_PASSWORD value: "yes" - name: REDIS_AOF_ENABLED value: "yes" - name: REDIS_TLS_ENABLED value: "no" - name: REDIS_PORT_NUMBER value: "6379" ports: - name: tcp-redis containerPort: 6379 - name: tcp-redis-bus containerPort: 16379 livenessProbe: initialDelaySeconds: 5 periodSeconds: 5 # One second longer than command timeout should prevent generation of zombie processes. timeoutSeconds: 6 successThreshold: 1 failureThreshold: 5 exec: command: - sh - -c - /scripts/ping_liveness_local.sh 5 readinessProbe: initialDelaySeconds: 5 periodSeconds: 5 # One second longer than command timeout should prevent generation of zombie processes. timeoutSeconds: 2 successThreshold: 1 failureThreshold: 5 exec: command: - sh - -c - /scripts/ping_readiness_local.sh 1 resources: limits: cpu: 150m ephemeral-storage: 2Gi memory: 192Mi requests: cpu: 100m ephemeral-storage: 50Mi memory: 128Mi volumeMounts: - name: scripts mountPath: /scripts - name: redis-data mountPath: /bitnami/redis/data subPathExpr: $(POD_NAME) subPath: - name: default-config mountPath: /opt/bitnami/redis/etc/redis-default.conf subPath: redis-default.conf - name: empty-dir mountPath: /opt/bitnami/redis/etc/ subPath: app-conf-dir - name: empty-dir mountPath: /opt/bitnami/redis/tmp subPath: app-tmp-dir - name: empty-dir mountPath: /opt/bitnami/redis/logs subPath: app-logs-dir - name: empty-dir mountPath: /tmp subPath: tmp-dir volumes: - name: scripts configMap: name: release-name-redis-cluster-scripts defaultMode: 0755 - name: default-config configMap: name: release-name-redis-cluster-default - name: empty-dir emptyDir: {} - name: redis-data hostPath: path: /data type: DirectoryOrCreate