Deploy ImmichFrame with Argo CD
This commit is contained in:
@@ -6,14 +6,23 @@ container images and then commits the selected image tag here; it never receives
|
||||
## Repository layout
|
||||
|
||||
- `apps/immich-sync/` is the desired Kubernetes state for Immich Share Sync.
|
||||
- `apps/immichframe/` wraps the reusable ImmichFrame chart with this cluster's
|
||||
hostname, album selection, resources, and encrypted API credential.
|
||||
- `bootstrap/` contains Argo CD projects and Applications, including the
|
||||
upstream Sealed Secrets controller.
|
||||
- `scripts/update-immich-sync-image.sh` is the single image-promotion interface used by CI.
|
||||
- `scripts/update-immichframe-chart.sh` is the chart-promotion interface used
|
||||
by ImmichFrame chart CI.
|
||||
|
||||
The only canonical Immich Share Sync image version is `images[0].newTag` in
|
||||
`apps/immich-sync/kustomization.yaml`. The resource manifest deliberately omits a tag, and Kustomize supplies the
|
||||
immutable full Git SHA while rendering.
|
||||
|
||||
The only canonical ImmichFrame chart version is the `immichframe` dependency
|
||||
in `apps/immichframe/Chart.yaml`. Chart CI publishes a unique immutable version
|
||||
and commits that dependency update here. The chart owns the reusable workload
|
||||
shape; `apps/immichframe/values.yaml` owns only this cluster's choices.
|
||||
|
||||
## First-time setup
|
||||
|
||||
The cluster already runs Argo CD in the `argocd` namespace and exposes its UI at <https://cd.brunner.ninja>.
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: Application
|
||||
metadata:
|
||||
name: immichframe
|
||||
namespace: argocd
|
||||
spec:
|
||||
project: homelab
|
||||
source:
|
||||
repoURL: https://code.brunner.ninja/feedc0de/homelab-gitops.git
|
||||
targetRevision: main
|
||||
path: apps/immichframe
|
||||
destination:
|
||||
server: https://kubernetes.default.svc
|
||||
namespace: default
|
||||
syncPolicy:
|
||||
automated:
|
||||
enabled: true
|
||||
prune: false
|
||||
selfHeal: true
|
||||
@@ -23,3 +23,9 @@ kubectl --namespace argocd wait application/sealed-secrets \
|
||||
kubectl --namespace argocd wait application/sealed-secrets \
|
||||
--for=jsonpath='{.status.health.status}'=Healthy \
|
||||
--timeout=5m
|
||||
kubectl --namespace argocd wait application/immichframe \
|
||||
--for=jsonpath='{.status.sync.status}'=Synced \
|
||||
--timeout=5m
|
||||
kubectl --namespace argocd wait application/immichframe \
|
||||
--for=jsonpath='{.status.health.status}'=Healthy \
|
||||
--timeout=5m
|
||||
|
||||
@@ -5,3 +5,4 @@ resources:
|
||||
- platform-project.yaml
|
||||
- sealed-secrets.yaml
|
||||
- immich-sync.yaml
|
||||
- immichframe.yaml
|
||||
|
||||
Reference in New Issue
Block a user