53 lines
1.7 KiB
YAML
53 lines
1.7 KiB
YAML
{{- if .Values.redis.enabled -}}
|
|
apiVersion: dragonflydb.io/v1alpha1
|
|
kind: Dragonfly
|
|
metadata:
|
|
name: {{ include "Sorcerer.fullname" . }}-redis
|
|
namespace: {{ .Release.Namespace }}
|
|
annotations:
|
|
linkerd.io/inject: disabled
|
|
labels:
|
|
app.kubernetes.io/created-by: dragonfly-operator
|
|
{{- include "Sorcerer.labels" . | nindent 4 }}
|
|
spec:
|
|
args:
|
|
- --dbfilename=dump # Static filename prevents disk exhaustion
|
|
- --maxmemory=$(MAX_MEMORY)Mi # Graceful memory management (90% of limit)
|
|
- --proactor_threads=1 # Auto-detect CPU cores (optimal threading)
|
|
- --cluster_mode=emulated
|
|
- --logtostderr
|
|
- --save_schedule= # Disable continuous saves (cron snapshots only)
|
|
env:
|
|
- name: MAX_MEMORY
|
|
valueFrom:
|
|
resourceFieldRef:
|
|
resource: limits.memory
|
|
divisor: 1Mi
|
|
replicas: {{ .Values.redis.replicas | default "1" }}
|
|
resources:
|
|
requests:
|
|
cpu: {{ .Values.redis.resources.cpu | default "150m" }}
|
|
memory: {{ .Values.redis.resources.memory | default "256Mi"}}
|
|
limits:
|
|
memory: {{ .Values.redis.resources.memory | default "256Mi"}}
|
|
authentication:
|
|
passwordFromSecret:
|
|
name: {{ .Values.redis.secret.name | quote }}
|
|
key: {{ .Values.redis.secret.key | quote }}
|
|
# metrics:
|
|
# enabled: {{ .Values.redis.metrics.enabled | default false }}
|
|
# port: 6379
|
|
{{- if .Values.redis.backup.enabled }}
|
|
snapshot:
|
|
dir: /data # Change to s3://redis/prod-atlantis-redis
|
|
cron: "0 3 * * *" # Default: every day at 03:00
|
|
enableOnMasterOnly: false
|
|
persistentVolumeClaimSpec:
|
|
accessModes:
|
|
- ReadWriteOnce
|
|
resources:
|
|
requests:
|
|
storage: {{ .Values.redis.size | default "1Gi" }}
|
|
{{- end }}
|
|
{{- end}}
|