immich: migrate to envFrom with per-container InfisicalSecrets

Flat CR narrowed to recursive: false so it keeps serving the SMB credentials that immich-data-smb references by name.
This commit is contained in:
2026-08-23 22:15:10 +02:00
parent 77b8bd4475
commit c408522988
5 changed files with 59 additions and 43 deletions
@@ -28,30 +28,9 @@ spec:
cpu: "2000m"
ports:
- containerPort: 2283
env:
- name: TZ
value: "Europe/Brussels"
- name: DB_HOSTNAME
value: "immich-postgresql.immich.svc.cluster.local"
- name: DB_DATABASE_NAME
valueFrom:
secretKeyRef:
name: immich-secrets
key: db_name
- name: DB_USERNAME
valueFrom:
secretKeyRef:
name: immich-secrets
key: db_user
- name: DB_PASSWORD
valueFrom:
secretKeyRef:
name: immich-secrets
key: db_password
- name: REDIS_HOSTNAME
value: "valkey.immich.svc.cluster.local"
- name: IMMICH_PORT
value: "2283"
envFrom:
- secretRef:
name: immich-app-secrets
volumeMounts:
- name: photos
mountPath: /data
@@ -0,0 +1,25 @@
apiVersion: secrets.infisical.com/v1alpha1
kind: InfisicalSecret
metadata:
name: immich-app-secrets
namespace: infisical
spec:
hostAPI: https://infisical.jsme.be
resyncInterval: 30
authentication:
kubernetesAuth:
identityId: "5458def7-7c63-40d2-95da-41c614d0933a"
serviceAccountRef:
name: infisical-auth
namespace: infisical
autoCreateServiceAccountToken: true
secretsScope:
projectSlug: "kubernetes"
envSlug: "prod"
secretsPath: "/immich/immich"
# Non-recursive: keys are already named as the container expects.
recursive: false
managedSecretReference:
secretName: immich-app-secrets
secretNamespace: immich
secretType: Opaque
@@ -31,24 +31,9 @@ spec:
volumeMounts:
- name: immich-postgresql-immich
mountPath: /var/lib/postgres
env:
- name: POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: immich-secrets
key: db_password
- name: POSTGRES_USER
valueFrom:
secretKeyRef:
name: immich-secrets
key: db_user
- name: POSTGRES_DB
valueFrom:
secretKeyRef:
name: immich-secrets
key: db_name
- name: PGDATA
value: /var/lib/postgres/data
envFrom:
- secretRef:
name: immich-postgres-secrets
volumes:
- name: immich-postgresql-immich
persistentVolumeClaim:
@@ -0,0 +1,25 @@
apiVersion: secrets.infisical.com/v1alpha1
kind: InfisicalSecret
metadata:
name: immich-postgres-secrets
namespace: infisical
spec:
hostAPI: https://infisical.jsme.be
resyncInterval: 30
authentication:
kubernetesAuth:
identityId: "5458def7-7c63-40d2-95da-41c614d0933a"
serviceAccountRef:
name: infisical-auth
namespace: infisical
autoCreateServiceAccountToken: true
secretsScope:
projectSlug: "kubernetes"
envSlug: "prod"
secretsPath: "/immich/postgres"
# Non-recursive: keys are already named as the container expects.
recursive: false
managedSecretReference:
secretName: immich-postgres-secrets
secretNamespace: immich
secretType: Opaque
@@ -17,7 +17,9 @@ spec:
projectSlug: "kubernetes"
envSlug: "prod"
secretsPath: "/immich"
recursive: true
# Root only: /immich holds the SMB mount credentials (username, password)
# consumed by immich-data-smb. Per-container env lives in subfolders.
recursive: false
managedSecretReference:
secretName: immich-secrets
secretNamespace: immich