kubernetes: add and update new and existing projects
All checks were successful
ci/woodpecker/push/demo-workflow Pipeline was successful

This commit is contained in:
2025-10-05 16:32:56 +03:00
parent d9b3ceff6b
commit 2ee0c95869
21 changed files with 291319 additions and 30 deletions

View File

@ -0,0 +1,12 @@
{{- $name := .Values.immich.persistence.library.existingClaim | required ".Values.immich.persistence.library.existingClaim is required." -}}
{{- if not (kindIs "string" $name) -}}{{- fail ".Values.immich.persistence.library.existingClaim must be a string" -}}{{- end -}}
{{ if .Values.postgresql }}
{{ fail "The postgres subchart has been removed. Please see https://github.com/immich-app/immich-charts/issues/149 for more detail." }}
{{ end }}
{{ if hasKey .Values "redis" }}
{{ if .Values.redis.enabled }}
{{ fail "The bitnami redis subchart has been deprecated and removed. Please use the included valkey deployment or an external instance."}}
{{ end }}
{{ end }}

View File

@ -0,0 +1,15 @@
{{- if .Values.immich.configuration }}
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ .Release.Name }}-immich-config
labels:
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
app.kubernetes.io/name: {{ .Chart.Name }}
app.kubernetes.io/version: {{ .Chart.AppVersion }}
helm.sh/chart: {{ printf "%s-%s\n" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
data:
immich-config.yaml: |
{{- .Values.immich.configuration | toYaml | nindent 4 }}
{{- end }}

View File

@ -0,0 +1,52 @@
{{- define "immich.machine-learning.hardcodedValues" -}}
global:
nameOverride: machine-learning
controller:
strategy: RollingUpdate
service:
main:
enabled: true
primary: true
type: ClusterIP
ports:
http:
enabled: true
primary: true
port: 3003
protocol: HTTP
probes:
liveness: &probes
enabled: true
custom: true
spec:
httpGet:
path: /ping
port: http
initialDelaySeconds: 0
periodSeconds: 10
timeoutSeconds: 1
failureThreshold: 3
readiness: *probes
startup:
enabled: true
custom: true
spec:
httpGet:
path: /ping
port: http
initialDelaySeconds: 0
periodSeconds: 10
timeoutSeconds: 1
failureThreshold: 60
{{- end }}
{{- /* Have to reference with index here because the dash breaks a normal dereference */}}
{{ if (index .Values "machine-learning").enabled }}
{{- $ctx := deepCopy . -}}
{{- $_ := get .Values "machine-learning" | mergeOverwrite $ctx.Values -}}
{{- $_ = include "immich.machine-learning.hardcodedValues" . | fromYaml | merge $ctx.Values -}}
{{- include "bjw-s.common.loader.all" $ctx }}
{{ end }}

View File

@ -0,0 +1,94 @@
{{- define "immich.server.hardcodedValues" -}}
global:
nameOverride: server
env:
{{ if .Values.immich.metrics.enabled }}
IMMICH_TELEMETRY_INCLUDE: all
{{ end }}
{{- 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.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 }}

View File

@ -0,0 +1,69 @@
{{- define "valkey.hardcodedValues" -}}
global:
nameOverride: valkey
controller:
strategy: Recreate
service:
main:
enabled: true
primary: true
type: ClusterIP
ports:
redis:
enabled: true
primary: true
port: 6379
protocol: TCP
http:
enabled: false
probes:
liveness:
enabled: true
custom: true
spec:
exec:
command:
- sh
- -c
- "valkey-cli ping | grep PONG"
initialDelaySeconds: 30
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 3
readiness:
enabled: true
custom: true
spec:
exec:
command:
- sh
- -c
- "valkey-cli ping | grep PONG"
initialDelaySeconds: 5
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 3
startup:
enabled: true
custom: true
spec:
exec:
command:
- sh
- -c
- "valkey-cli ping | grep PONG"
initialDelaySeconds: 0
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 30
{{- end }}
{{ if .Values.valkey.enabled }}
{{- $ctx := deepCopy . -}}
{{- $_ := get .Values "valkey" | mergeOverwrite $ctx.Values -}}
{{- $_ = include "valkey.hardcodedValues" . | fromYaml | merge $ctx.Values -}}
{{- include "bjw-s.common.loader.all" $ctx }}
{{ end }}