Immich: Add Immich installer configuration
Change-Id: I88796e42d0b0b14d84b094d4a1c5213b43c56f2a
diff --git a/charts/immich/templates/server.yaml b/charts/immich/templates/server.yaml
new file mode 100644
index 0000000..5b63583
--- /dev/null
+++ b/charts/immich/templates/server.yaml
@@ -0,0 +1,101 @@
+{{- define "immich.server.hardcodedValues" -}}
+global:
+ nameOverride: server
+
+env:
+ {{ if .Values.immich.metrics.enabled }}
+ IMMICH_TELEMETRY_INCLUDE: all
+ {{ end }}
+ {{- if .Values.immich.existingConfiguration }}
+ IMMICH_CONFIG_FILE: /config/immich-config.json
+ {{- else if .Values.immich.configuration }}
+ IMMICH_CONFIG_FILE: /config/immich-config.yaml
+ {{- end }}
+
+{{- if .Values.immich.configuration }}
+podAnnotations:
+ checksum/config: {{ .Values.immich.configuration | toYaml | sha256sum }}
+{{- end }}
+
+controller:
+ strategy: RollingUpdate
+
+service:
+ main:
+ enabled: true
+ primary: true
+ type: ClusterIP
+ ports:
+ http:
+ enabled: true
+ primary: true
+ port: 2283
+ protocol: HTTP
+ metrics-api:
+ enabled: {{ .Values.immich.metrics.enabled }}
+ port: 8081
+ protocol: HTTP
+ metrics-ms:
+ enabled: {{ .Values.immich.metrics.enabled }}
+ port: 8082
+ protocol: HTTP
+
+
+serviceMonitor:
+ main:
+ enabled: {{ .Values.immich.metrics.enabled }}
+ endpoints:
+ - port: metrics-api
+ scheme: http
+ - port: metrics-ms
+ scheme: http
+
+probes:
+ liveness: &probes
+ enabled: true
+ custom: true
+ spec:
+ httpGet:
+ path: /api/server/ping
+ port: http
+ initialDelaySeconds: 0
+ periodSeconds: 10
+ timeoutSeconds: 1
+ failureThreshold: 3
+ readiness: *probes
+ startup:
+ enabled: true
+ custom: true
+ spec:
+ httpGet:
+ path: /api/server/ping
+ port: http
+ initialDelaySeconds: 0
+ periodSeconds: 10
+ timeoutSeconds: 1
+ failureThreshold: 30
+
+persistence:
+{{- if .Values.immich.existingConfiguration }}
+ config:
+ enabled: true
+ type: configMap
+ name: {{ .Values.immich.existingConfiguration }}
+{{- else if .Values.immich.configuration }}
+ config:
+ enabled: true
+ type: configMap
+ name: {{ .Release.Name }}-immich-config
+{{- end }}
+ library:
+ enabled: true
+ mountPath: /usr/src/app/upload
+ existingClaim: {{ .Values.immich.persistence.library.existingClaim }}
+{{- end }}
+
+{{ if .Values.server.enabled }}
+{{- $ctx := deepCopy . -}}
+{{- $_ := get .Values "server" | mergeOverwrite $ctx.Values -}}
+{{- $_ = include "immich.server.hardcodedValues" . | fromYaml | merge $ctx.Values -}}
+{{- include "bjw-s.common.loader.all" $ctx }}
+{{ end }}