- Single Application syncs 3 independent repos - All deploy to poimen namespace - Image Updater tracks all 3 services (7-char SHA tags) - Auto-sync: prune + selfHeal enabled
47 lines
1.6 KiB
YAML
47 lines
1.6 KiB
YAML
apiVersion: argoproj.io/v1alpha1
|
|
kind: Application
|
|
metadata:
|
|
name: poimen
|
|
namespace: argocd
|
|
annotations:
|
|
argocd.argoproj.io/sync-wave: "7"
|
|
# Image Updater: auto-update on new image push (SHA tag filter)
|
|
argocd-image-updater.argoproj.io/image-list: |\
|
|
memory=forgejo.riotpiao.com/rock/poimen-memory\
|
|
workflows=forgejo.riotpiao.com/rock/poimen-workflows\
|
|
frontend=forgejo.riotpiao.com/rock/poimen-frontend
|
|
argocd-image-updater.argoproj.io/memory.update-strategy: newest-build
|
|
argocd-image-updater.argoproj.io/memory.allow-tags: regexp:^[0-9a-f]{7}$
|
|
argocd-image-updater.argoproj.io/workflows.update-strategy: newest-build
|
|
argocd-image-updater.argoproj.io/workflows.allow-tags: regexp:^[0-9a-f]{7}$
|
|
argocd-image-updater.argoproj.io/frontend.update-strategy: newest-build
|
|
argocd-image-updater.argoproj.io/frontend.allow-tags: regexp:^[0-9a-f]{7}$
|
|
argocd-image-updater.argoproj.io/write-back-method: argocd
|
|
spec:
|
|
project: homelab
|
|
sources:
|
|
- repoURL: https://forgejo.riotpiao.com/rock/poimen-memory.git
|
|
targetRevision: main
|
|
path: k8s/argocd
|
|
- repoURL: https://forgejo.riotpiao.com/rock/poimen-workflows.git
|
|
targetRevision: main
|
|
path: k8s/argocd
|
|
- repoURL: https://forgejo.riotpiao.com/rock/poimen-frontend.git
|
|
targetRevision: main
|
|
path: k8s/argocd
|
|
destination:
|
|
server: https://kubernetes.default.svc
|
|
namespace: poimen
|
|
syncPolicy:
|
|
automated:
|
|
prune: true
|
|
selfHeal: true
|
|
syncOptions:
|
|
- CreateNamespace=true
|
|
retry:
|
|
limit: 5
|
|
backoff:
|
|
duration: 5s
|
|
factor: 2
|
|
maxDuration: 3m
|