You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. ---
  2. apiVersion: v1
  3. kind: Service
  4. metadata:
  5. name: {{ include "ragflow.fullname" . }}-redis
  6. annotations:
  7. "helm.sh/resource-policy": keep
  8. labels:
  9. {{- include "ragflow.labels" . | nindent 4 }}
  10. app.kubernetes.io/component: redis
  11. spec:
  12. ports:
  13. - port: 6379
  14. name: redis
  15. protocol: TCP
  16. clusterIP: None # Headless service for StatefulSet
  17. selector:
  18. {{- include "ragflow.selectorLabels" . | nindent 4 }}
  19. app.kubernetes.io/component: redis
  20. ---
  21. apiVersion: apps/v1
  22. kind: StatefulSet
  23. metadata:
  24. name: {{ include "ragflow.fullname" . }}-redis
  25. labels:
  26. {{- include "ragflow.labels" . | nindent 4 }}
  27. app.kubernetes.io/component: redis
  28. spec:
  29. serviceName: {{ include "ragflow.fullname" . }}-redis
  30. replicas: 1
  31. selector:
  32. matchLabels:
  33. {{- include "ragflow.selectorLabels" . | nindent 6 }}
  34. app.kubernetes.io/component: redis
  35. template:
  36. metadata:
  37. labels:
  38. {{- include "ragflow.labels" . | nindent 8 }}
  39. app.kubernetes.io/component: redis
  40. annotations:
  41. checksum/config-env: {{ include (print $.Template.BasePath "/env.yaml") . | sha256sum }}
  42. spec:
  43. terminationGracePeriodSeconds: 60
  44. containers:
  45. - name: redis
  46. image: {{ .Values.redis.image.repository }}:{{ .Values.redis.image.tag }}
  47. command:
  48. - "sh"
  49. - "-c"
  50. - "exec redis-server --requirepass ${REDIS_PASSWORD} --maxmemory 128mb --maxmemory-policy allkeys-lru"
  51. envFrom:
  52. - secretRef:
  53. name: {{ include "ragflow.fullname" . }}-env-config
  54. ports:
  55. - containerPort: 6379
  56. name: redis
  57. {{- if .Values.redis.persistence.enabled }}
  58. volumeMounts:
  59. - name: redis-data
  60. mountPath: /data
  61. {{- end }}
  62. {{- with .Values.redis.deployment.resources }}
  63. resources:
  64. {{- . | toYaml | nindent 12 }}
  65. {{- end }}
  66. {{- if .Values.redis.persistence.enabled }}
  67. {{- with .Values.redis.persistence.retentionPolicy }}
  68. persistentVolumeClaimRetentionPolicy:
  69. {{- with .whenDeleted }}
  70. whenDeleted: {{ . }}
  71. {{- end }}
  72. {{- with .whenScaled }}
  73. whenScaled: {{ . }}
  74. {{- end }}
  75. {{- end }}
  76. volumeClaimTemplates:
  77. - metadata:
  78. name: redis-data
  79. labels:
  80. {{- include "ragflow.selectorLabels" . | nindent 10 }}
  81. app.kubernetes.io/component: redis
  82. spec:
  83. accessModes:
  84. - ReadWriteOnce
  85. {{- with .Values.redis.storage.className }}
  86. storageClassName: {{ . }}
  87. {{- end }}
  88. resources:
  89. requests:
  90. storage: {{ .Values.redis.storage.capacity }}
  91. {{- end }}
  92. ---
  93. apiVersion: v1
  94. kind: Service
  95. metadata:
  96. name: {{ include "ragflow.fullname" . }}-redis-svc
  97. labels:
  98. {{- include "ragflow.labels" . | nindent 4 }}
  99. app.kubernetes.io/component: redis
  100. spec:
  101. ports:
  102. - port: 6379
  103. targetPort: redis
  104. protocol: TCP
  105. selector:
  106. {{- include "ragflow.selectorLabels" . | nindent 4 }}
  107. app.kubernetes.io/component: redis
  108. ---
  109. apiVersion: policy/v1
  110. kind: PodDisruptionBudget
  111. metadata:
  112. name: {{ include "ragflow.fullname" . }}-redis-pdb
  113. labels:
  114. {{- include "ragflow.labels" . | nindent 4 }}
  115. app.kubernetes.io/component: redis
  116. spec:
  117. minAvailable: 1
  118. selector:
  119. matchLabels:
  120. {{- include "ragflow.selectorLabels" . | nindent 6 }}
  121. app.kubernetes.io/component: redis