diff --git a/values/forgejo/manifests/dragonfly.yaml b/values/forgejo/manifests/dragonfly.yaml index 8fc26c12..409eba95 100644 --- a/values/forgejo/manifests/dragonfly.yaml +++ b/values/forgejo/manifests/dragonfly.yaml @@ -4,10 +4,50 @@ metadata: name: dragonfly-forgejo namespace: forgejo 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) + # - --s3_endpoint=hel1.your-objectstorage.com # Hertzner S3 + env: + - name: MAX_MEMORY + valueFrom: + resourceFieldRef: + resource: limits.memory + divisor: 1Mi + # {{- if .Values.redis.backup.enabled }} + # - name: AWS_ACCESS_KEY_ID + # valueFrom: + # secretKeyRef: + # key: access_key + # name: redis-s3 + # - name: AWS_SECRET_ACCESS_KEY + # valueFrom: + # secretKeyRef: + # key: access_secret + # name: redis-s3 + # {{- end}} replicas: 1 resources: requests: - cpu: 50m + cpu: 150m memory: 256Mi limits: memory: 256Mi + # snapshot: + # dir: "s3://obx-redis/hel1/{{ include "Atlantis.fullname" . }}-redis" + # cron: "0 3 * * *" # Default: every day at 03:00 + # enableOnMasterOnly: false + # persistentVolumeClaimSpec: + # accessModes: + # - ReadWriteOnce + # resources: + # requests: + # storage: {{ .Values.redis.size | default "1Gi" }} + # authentication: + # passwordFromSecret: + # name: {{ .Values.redis.secret.name | quote }} + # key: {{ .Values.redis.secret.key | quote }}