feat: migrate immich to k8s

This commit is contained in:
cătălin 2026-08-03 21:06:07 +02:00
commit 3d3ea948db
No known key found for this signature in database
21 changed files with 1044 additions and 100 deletions

View file

@ -0,0 +1,126 @@
{{- if .Values.persistence.library.enabled }}
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: {{ include "immich.fullname" . }}-library
labels:
{{- include "immich.labels" . | nindent 4 }}
spec:
accessModes:
- {{ .Values.persistence.library.accessMode }}
{{- if .Values.persistence.library.storageClass }}
storageClassName: {{ .Values.persistence.library.storageClass | quote }}
{{- end }}
resources:
requests:
storage: {{ .Values.persistence.library.size }}
{{- end }}
{{- if .Values.persistence.encodedVideo.enabled }}
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: {{ include "immich.fullname" . }}-encoded-video
labels:
{{- include "immich.labels" . | nindent 4 }}
spec:
accessModes:
- {{ .Values.persistence.encodedVideo.accessMode }}
{{- if .Values.persistence.encodedVideo.storageClass }}
storageClassName: {{ .Values.persistence.encodedVideo.storageClass | quote }}
{{- end }}
resources:
requests:
storage: {{ .Values.persistence.encodedVideo.size }}
{{- end }}
{{- if .Values.persistence.thumbs.enabled }}
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: {{ include "immich.fullname" . }}-thumbs
labels:
{{- include "immich.labels" . | nindent 4 }}
spec:
accessModes:
- {{ .Values.persistence.thumbs.accessMode }}
{{- if .Values.persistence.thumbs.storageClass }}
storageClassName: {{ .Values.persistence.thumbs.storageClass | quote }}
{{- end }}
resources:
requests:
storage: {{ .Values.persistence.thumbs.size }}
{{- end }}
{{- if .Values.persistence.upload.enabled }}
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: {{ include "immich.fullname" . }}-upload
labels:
{{- include "immich.labels" . | nindent 4 }}
spec:
accessModes:
- {{ .Values.persistence.upload.accessMode }}
{{- if .Values.persistence.upload.storageClass }}
storageClassName: {{ .Values.persistence.upload.storageClass | quote }}
{{- end }}
resources:
requests:
storage: {{ .Values.persistence.upload.size }}
{{- end }}
{{- if .Values.persistence.profile.enabled }}
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: {{ include "immich.fullname" . }}-profile
labels:
{{- include "immich.labels" . | nindent 4 }}
spec:
accessModes:
- {{ .Values.persistence.profile.accessMode }}
{{- if .Values.persistence.profile.storageClass }}
storageClassName: {{ .Values.persistence.profile.storageClass | quote }}
{{- end }}
resources:
requests:
storage: {{ .Values.persistence.profile.size }}
{{- end }}
{{- if .Values.persistence.backups.enabled }}
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: {{ include "immich.fullname" . }}-backups
labels:
{{- include "immich.labels" . | nindent 4 }}
spec:
accessModes:
- {{ .Values.persistence.backups.accessMode }}
{{- if .Values.persistence.backups.storageClass }}
storageClassName: {{ .Values.persistence.backups.storageClass | quote }}
{{- end }}
resources:
requests:
storage: {{ .Values.persistence.backups.size }}
{{- end }}
{{- if .Values.persistence.modelCache.enabled }}
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: {{ include "immich.fullname" . }}-model-cache
labels:
{{- include "immich.labels" . | nindent 4 }}
spec:
accessModes:
- {{ .Values.persistence.modelCache.accessMode }}
{{- if .Values.persistence.modelCache.storageClass }}
storageClassName: {{ .Values.persistence.modelCache.storageClass | quote }}
{{- end }}
resources:
requests:
storage: {{ .Values.persistence.modelCache.size }}
{{- end }}