Migrate Immich from Helm to kustomize (v2.5.6 → v2.6.3) #324

Merged
eblume merged 4 commits from immich-kustomize-v2.6.3 into main 2026-04-04 12:09:41 -07:00
Owner

Summary

  • Replace Helm chart deployment with plain kustomize manifests (Authentik pattern: separate Deployments per component)
  • Upgrade Immich from v2.5.6 to v2.6.3 (no breaking changes)
  • Consolidate immich-storage ArgoCD app into main immich app
  • Add no-helm-policy.md documenting the project's preference for kustomize over Helm
  • Update service docs, apps registry, and review tooling

Components

Component Deployment Service Image
Server immich-server immich-server:2283 ghcr.io/immich-app/immich-server:v2.6.3
ML immich-machine-learning immich-machine-learning:3003 ghcr.io/immich-app/immich-machine-learning:v2.6.3
Valkey immich-valkey immich-valkey:6379 docker.io/valkey/valkey:8.1-alpine

Deployment

# Point at branch and sync
argocd app set immich --revision immich-kustomize-v2.6.3
argocd app sync immich

# Delete the old immich-storage app (resources now in main app)
argocd app delete immich-storage

# After merge, point back at main
argocd app set immich --revision main
argocd app sync immich

Test plan

  • kubectl kustomize argocd/manifests/immich/ builds cleanly (verified locally)
  • argocd app sync immich from branch succeeds
  • All 3 pods healthy: server, machine-learning, valkey
  • https://photos.ops.eblu.me loads and photos are visible
  • Upload a test photo — ML processing works
  • Remove old immich-storage ArgoCD app

Notes

  • 1Password Connect remains on Helm (future migration target)
  • Immich v2.6.0 warns the old timeline UI will be removed in v2.7.0 — switch if still using it
## Summary - Replace Helm chart deployment with plain kustomize manifests (Authentik pattern: separate Deployments per component) - Upgrade Immich from v2.5.6 to v2.6.3 (no breaking changes) - Consolidate `immich-storage` ArgoCD app into main `immich` app - Add `no-helm-policy.md` documenting the project's preference for kustomize over Helm - Update service docs, apps registry, and review tooling ## Components | Component | Deployment | Service | Image | |-----------|------------|---------|-------| | Server | `immich-server` | `immich-server:2283` | `ghcr.io/immich-app/immich-server:v2.6.3` | | ML | `immich-machine-learning` | `immich-machine-learning:3003` | `ghcr.io/immich-app/immich-machine-learning:v2.6.3` | | Valkey | `immich-valkey` | `immich-valkey:6379` | `docker.io/valkey/valkey:8.1-alpine` | ## Deployment ```bash # Point at branch and sync argocd app set immich --revision immich-kustomize-v2.6.3 argocd app sync immich # Delete the old immich-storage app (resources now in main app) argocd app delete immich-storage # After merge, point back at main argocd app set immich --revision main argocd app sync immich ``` ## Test plan - [ ] `kubectl kustomize argocd/manifests/immich/` builds cleanly (verified locally) - [ ] `argocd app sync immich` from branch succeeds - [ ] All 3 pods healthy: server, machine-learning, valkey - [ ] https://photos.ops.eblu.me loads and photos are visible - [ ] Upload a test photo — ML processing works - [ ] Remove old `immich-storage` ArgoCD app ## Notes - 1Password Connect remains on Helm (future migration target) - Immich v2.6.0 warns the old timeline UI will be removed in v2.7.0 — switch if still using it
Replace the Helm chart deployment with plain kustomize manifests following
the Authentik pattern (separate deployments per component). Consolidate
the immich-storage ArgoCD app into the main immich app. Add no-helm-policy
doc establishing kustomize as the standard deployment mechanism.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The storage-provisioner is a bare Pod with no controller. If the node
restarts via Docker Desktop (rather than `minikube start`), kubelet
restores static pods but bare pods are lost. Detect this and re-run
`minikube start` to restore addons.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
eblume merged commit 0f1143a5bd into main 2026-04-04 12:09:41 -07:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
eblume/blumeops!324
No description provided.