--- apiVersion: v1 kind: Service metadata: name: outline-redis namespace: outline labels: app: outline-redis spec: type: ClusterIP selector: app: outline-redis ports: - name: redis port: 6379 targetPort: 6379 protocol: TCP --- apiVersion: apps/v1 kind: StatefulSet metadata: name: outline-redis namespace: outline labels: app: outline-redis spec: serviceName: outline-redis replicas: 0 selector: matchLabels: app: outline-redis template: metadata: labels: app: outline-redis spec: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: csi.hetzner.cloud/location operator: In values: - fsn1 containers: - name: redis image: redis:7-alpine imagePullPolicy: IfNotPresent args: - --appendonly - "yes" - --save - "60" - "1000" ports: - name: redis containerPort: 6379 protocol: TCP resources: requests: cpu: 50m memory: 64Mi limits: cpu: 200m memory: 256Mi readinessProbe: exec: command: ["redis-cli", "ping"] initialDelaySeconds: 5 periodSeconds: 10 livenessProbe: exec: command: ["redis-cli", "ping"] initialDelaySeconds: 15 periodSeconds: 30 volumeMounts: - name: redis-data mountPath: /data volumeClaimTemplates: - metadata: name: redis-data spec: accessModes: - ReadWriteOnce storageClassName: hcloud-volumes-encrypted resources: requests: storage: 2Gi