feat: remove ArgoCD Image Updater, replaced by Forgejo webhook

Image promotion now handled by api-gw webhook endpoint
(/v1/webhooks/forgejo) which patches ArgoCD Application CRs
on Forgejo package push events (homelab-frontend PR #55).

- Delete Image Updater Application and values
- Remove argocd-image-updater.argoproj.io annotations from all apps
- Registry secrets kept (used by webhook digest queries + imagePullSecrets)
This commit is contained in:
2026-09-28 23:06:16 +08:00
parent 797e11ce11
commit bb24418a2e
7 changed files with 18 additions and 148 deletions
-33
View File
@@ -1,33 +0,0 @@
# ArgoCD Image Updater - auto-updates Application images from registry
# Watches forgejo.riotpiao.com for new image tags and updates Applications
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: argocd-image-updater
namespace: argocd
finalizers:
- resources-finalizer.argocd.argoproj.io
annotations:
argocd.argoproj.io/sync-wave: "1"
spec:
project: homelab
revisionHistoryLimit: 3
sources:
- repoURL: https://argoproj.github.io/argo-helm
chart: argocd-image-updater
targetRevision: "0.11.2"
helm:
valueFiles:
- $values/k8s/infra/argocd-image-updater/values.yaml
- repoURL: https://forgejo.riotpiao.com/riotpiao-poimen/homelab.git
targetRevision: main
ref: values
destination:
server: https://kubernetes.default.svc
namespace: argocd
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=false
+6 -21
View File
@@ -152,13 +152,8 @@ metadata:
namespace: argocd namespace: argocd
annotations: annotations:
argocd.argoproj.io/sync-wave: "3" argocd.argoproj.io/sync-wave: "3"
argocd-image-updater.argoproj.io/image-list: runner=forgejo.riotpiao.com/rock/forgejo-runner-golang # Image promotion: Forgejo package webhook → api-gw.
argocd-image-updater.argoproj.io/runner.update-strategy: newest-build # Replaced ArgoCD Image Updater (removed 2026-09-10).
argocd-image-updater.argoproj.io/runner.allow-tags: regexp:^[0-9a-f]{7}$|^latest$|^v[0-9]+$
argocd-image-updater.argoproj.io/runner.helm.image-name: runner.image.repository
argocd-image-updater.argoproj.io/runner.helm.image-tag: runner.image.tag
argocd-image-updater.argoproj.io/write-back-method: git
argocd-image-updater.argoproj.io/git-branch: main
spec: spec:
project: homelab project: homelab
source: source:
@@ -180,13 +175,8 @@ metadata:
namespace: argocd namespace: argocd
annotations: annotations:
argocd.argoproj.io/sync-wave: "3" argocd.argoproj.io/sync-wave: "3"
argocd-image-updater.argoproj.io/image-list: runner=forgejo.riotpiao.com/rock/forgejo-runner-node # Image promotion: Forgejo package webhook → api-gw.
argocd-image-updater.argoproj.io/runner.update-strategy: newest-build # Replaced ArgoCD Image Updater (removed 2026-09-10).
argocd-image-updater.argoproj.io/runner.allow-tags: regexp:^[0-9a-f]{7}$|^latest$|^v[0-9]+$
argocd-image-updater.argoproj.io/runner.helm.image-name: runner.image.repository
argocd-image-updater.argoproj.io/runner.helm.image-tag: runner.image.tag
argocd-image-updater.argoproj.io/write-back-method: git
argocd-image-updater.argoproj.io/git-branch: main
spec: spec:
project: homelab project: homelab
source: source:
@@ -211,13 +201,8 @@ metadata:
namespace: argocd namespace: argocd
annotations: annotations:
argocd.argoproj.io/sync-wave: "3" argocd.argoproj.io/sync-wave: "3"
argocd-image-updater.argoproj.io/image-list: runner=forgejo.riotpiao.com/rock/forgejo-runner-rust # Image promotion: Forgejo package webhook → api-gw.
argocd-image-updater.argoproj.io/runner.update-strategy: newest-build # Replaced ArgoCD Image Updater (removed 2026-09-10).
argocd-image-updater.argoproj.io/runner.allow-tags: regexp:^[0-9a-f]{7}$|^latest$|^v[0-9]+$
argocd-image-updater.argoproj.io/runner.helm.image-name: runner.image.repository
argocd-image-updater.argoproj.io/runner.helm.image-tag: runner.image.tag
argocd-image-updater.argoproj.io/write-back-method: git
argocd-image-updater.argoproj.io/git-branch: main
spec: spec:
project: homelab project: homelab
source: source:
+3 -5
View File
@@ -36,11 +36,9 @@ metadata:
app.kubernetes.io/component: gateway app.kubernetes.io/component: gateway
annotations: annotations:
argocd.argoproj.io/sync-wave: "7" argocd.argoproj.io/sync-wave: "7"
# ArgoCD Image Updater - auto-update on new image push # Image promotion: Forgejo package webhook → api-gw /v1/webhooks/forgejo
argocd-image-updater.argoproj.io/image-list: gw=forgejo.riotpiao.com/rock/api-gateway # → patches this Application's kustomize.images via k8s API.
argocd-image-updater.argoproj.io/gw.update-strategy: digest # Replaced ArgoCD Image Updater (removed 2026-09-10).
argocd-image-updater.argoproj.io/gw.allow-tags: regexp:^latest$
argocd-image-updater.argoproj.io/write-back-method: argocd
spec: spec:
project: homelab project: homelab
revisionHistoryLimit: 3 revisionHistoryLimit: 3
+2 -5
View File
@@ -246,11 +246,8 @@ metadata:
namespace: argocd namespace: argocd
annotations: annotations:
argocd.argoproj.io/sync-wave: "8" argocd.argoproj.io/sync-wave: "8"
# ArgoCD Image Updater - auto-update on new image push # Image promotion: Forgejo package webhook → api-gw.
argocd-image-updater.argoproj.io/image-list: app=forgejo.riotpiao.com/rock/portfolio # Replaced ArgoCD Image Updater (removed 2026-09-10).
argocd-image-updater.argoproj.io/app.update-strategy: digest
argocd-image-updater.argoproj.io/app.allow-tags: regexp:^latest$
argocd-image-updater.argoproj.io/write-back-method: argocd
spec: spec:
project: homelab project: homelab
source: source:
+4 -9
View File
@@ -27,15 +27,10 @@ metadata:
app.kubernetes.io/part-of: poimen app.kubernetes.io/part-of: poimen
annotations: annotations:
argocd.argoproj.io/sync-wave: "7" argocd.argoproj.io/sync-wave: "7"
# ── Image Updater ───────────────────────────────────────────────────────── # ── Image promotion ──────────────────────────────────────────────────────
argocd-image-updater.argoproj.io/image-list: "workflows=forgejo.riotpiao.com/riotpiao-poimen/poimen-workflows,memory=forgejo.riotpiao.com/riotpiao-poimen/poimen-memory,frontend=forgejo.riotpiao.com/riotpiao-poimen/poimen-frontend" # Forgejo package webhook → api-gw patches kustomize.images per source.
argocd-image-updater.argoproj.io/workflows.update-strategy: digest # Source index mapping: 0=workflows, 1=memory, 3=frontend.
argocd-image-updater.argoproj.io/workflows.allow-tags: regexp:^latest$ # Replaced ArgoCD Image Updater (removed 2026-09-10).
argocd-image-updater.argoproj.io/memory.update-strategy: digest
argocd-image-updater.argoproj.io/memory.allow-tags: regexp:^latest$
argocd-image-updater.argoproj.io/frontend.update-strategy: digest
argocd-image-updater.argoproj.io/frontend.allow-tags: regexp:^latest$
argocd-image-updater.argoproj.io/write-back-method: argocd
spec: spec:
project: homelab project: homelab
# Multi-source: each repo owns its own k8s manifests. # Multi-source: each repo owns its own k8s manifests.
+3 -5
View File
@@ -5,11 +5,9 @@ metadata:
namespace: argocd namespace: argocd
annotations: annotations:
argocd.argoproj.io/sync-wave: "7" argocd.argoproj.io/sync-wave: "7"
argocd-image-updater.argoproj.io/image-list: | # Image promotion: Forgejo package webhook → api-gw.
controller=ghcr.io/riotpiao-poimen/poimen-toolkit-controller # Tracks: poimen-toolkit-controller, pi-worker.
argocd-image-updater.argoproj.io/controller.update-strategy: digest # Replaced ArgoCD Image Updater (removed 2026-09-10).
argocd-image-updater.argoproj.io/controller.allow-tags: regexp:^latest$
argocd-image-updater.argoproj.io/write-back-method: argocd
spec: spec:
project: homelab project: homelab
source: source:
@@ -1,70 +0,0 @@
# ArgoCD Image Updater configuration
# Watches Forgejo registry and updates ArgoCD Applications with new image tags
config:
# Registry configuration - Forgejo allows anonymous pulls
registries:
- name: forgejo
api_url: https://forgejo.riotpiao.com
prefix: forgejo.riotpiao.com
default: true
insecure: false
# Log level
logLevel: debug
# ArgoCD API server
argocd:
grpcWeb: true
serverAddress: argocd-server.argocd.svc.cluster.local
insecure: true
plaintext: true
# Git write-back configuration (for multi-source Applications)
git:
# Commit author for image updates
user:
name: "ArgoCD Image Updater"
email: "[email protected]"
# Use SSH keys from ArgoCD's known hosts + credentials
# Image Updater inherits ArgoCD's git credentials (mounted via ArgoCD secret)
# Mount ArgoCD's git credentials for write-back
extraVolumes:
- name: argocd-ssh-known-hosts-cm
configMap:
name: argocd-ssh-known-hosts-cm
defaultMode: 0644
- name: argocd-gpg-keys-cm
configMap:
name: argocd-gpg-keys-cm
optional: true
defaultMode: 0644
- name: argocd-gpg-pubring
configMap:
name: argocd-gpg-pubring-cm
optional: true
defaultMode: 0644
extraVolumeMounts:
- name: argocd-ssh-known-hosts-cm
mountPath: /etc/ssh/ssh_known_hosts.d/argocd-ssh-known-hosts
subPath: ssh_known_hosts
- name: argocd-gpg-keys-cm
mountPath: /etc/gpg/source
- name: argocd-gpg-pubring
mountPath: /etc/gpg/pubring
# Extra environment variables
extraEnv:
- name: GIT_SSH_KNOWN_HOSTS_CONFIG_MAP_ENABLED
value: "true"
# Resources
resources:
requests:
cpu: 50m
memory: 64Mi
limits:
cpu: 200m
memory: 128Mi