deployment.yaml 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. apiVersion: apps/v1
  2. kind: Deployment
  3. metadata:
  4. name: {{ include "lightrag.fullname" . }}
  5. labels:
  6. {{- include "lightrag.labels" . | nindent 4 }}
  7. spec:
  8. replicas: {{ .Values.replicaCount }}
  9. selector:
  10. matchLabels:
  11. {{- include "lightrag.selectorLabels" . | nindent 6 }}
  12. template:
  13. metadata:
  14. annotations:
  15. checksum/config: {{ include "lightrag.envContent" . | sha256sum }}
  16. labels:
  17. {{- include "lightrag.selectorLabels" . | nindent 8 }}
  18. spec:
  19. containers:
  20. - name: {{ .Chart.Name }}
  21. image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
  22. imagePullPolicy: IfNotPresent
  23. ports:
  24. - name: http
  25. containerPort: {{ .Values.env.PORT }}
  26. protocol: TCP
  27. readinessProbe:
  28. httpGet:
  29. path: /health
  30. port: http
  31. initialDelaySeconds: 10
  32. periodSeconds: 5
  33. timeoutSeconds: 2
  34. successThreshold: 1
  35. failureThreshold: 3
  36. resources:
  37. {{- toYaml .Values.resources | nindent 12 }}
  38. volumeMounts:
  39. - name: rag-storage
  40. mountPath: /app/data/rag_storage
  41. - name: inputs
  42. mountPath: /app/data/inputs
  43. - name: env-file
  44. mountPath: /app/.env
  45. subPath: .env
  46. {{- $envFrom := default (dict) .Values.envFrom }}
  47. {{- $envFromEntries := list }}
  48. {{- range (default (list) (index $envFrom "secrets")) }}
  49. {{- $envFromEntries = append $envFromEntries (dict "secretRef" (dict "name" .name)) }}
  50. {{- end }}
  51. {{- range (default (list) (index $envFrom "configmaps")) }}
  52. {{- $envFromEntries = append $envFromEntries (dict "configMapRef" (dict "name" .name)) }}
  53. {{- end }}
  54. {{- if gt (len $envFromEntries) 0 }}
  55. envFrom:
  56. {{- toYaml $envFromEntries | nindent 12 }}
  57. {{- end }}
  58. {{- with .Values.image.imagePullSecrets }}
  59. imagePullSecrets:
  60. {{- toYaml . | nindent 8 }}
  61. {{- end }}
  62. volumes:
  63. - name: env-file
  64. secret:
  65. secretName: {{ include "lightrag.fullname" . }}-env
  66. {{- if .Values.persistence.enabled }}
  67. - name: rag-storage
  68. persistentVolumeClaim:
  69. claimName: {{ include "lightrag.fullname" . }}-rag-storage
  70. - name: inputs
  71. persistentVolumeClaim:
  72. claimName: {{ include "lightrag.fullname" . }}-inputs
  73. {{- else }}
  74. - name: rag-storage
  75. emptyDir: {}
  76. - name: inputs
  77. emptyDir: {}
  78. {{- end }}
  79. strategy:
  80. {{- toYaml .Values.updateStrategy | nindent 4 }}