From e42a9ba6c6e2d9d15587a54c9ef40e130713382d Mon Sep 17 00:00:00 2001 From: Karan Parashar Date: Thu, 5 Nov 2026 20:16:35 +0530 Subject: [PATCH] chore(add-ons): Add Argo CD Image Updater --- .../argocd-image-updater/kustomization.yaml | 4 ++ .../argocd-image-updater/networkpolicy.yaml | 37 +++++++++++++++++++ argocd-apps/add-ons/argocd-image-updater.yaml | 35 ++++++++++++++++++ argocd-apps/add-ons/kustomization.yaml | 1 + 4 files changed, 77 insertions(+) create mode 100644 add-ons/argocd-image-updater/kustomization.yaml create mode 100644 add-ons/argocd-image-updater/networkpolicy.yaml create mode 100644 argocd-apps/add-ons/argocd-image-updater.yaml diff --git a/add-ons/argocd-image-updater/kustomization.yaml b/add-ons/argocd-image-updater/kustomization.yaml new file mode 100644 index 0000000..b90ff79 --- /dev/null +++ b/add-ons/argocd-image-updater/kustomization.yaml @@ -0,0 +1,4 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - networkpolicy.yaml diff --git a/add-ons/argocd-image-updater/networkpolicy.yaml b/add-ons/argocd-image-updater/networkpolicy.yaml new file mode 100644 index 0000000..65bf81d --- /dev/null +++ b/add-ons/argocd-image-updater/networkpolicy.yaml @@ -0,0 +1,37 @@ +# DNS, the API, and container registries over HTTPS; kubelet probes the +# health port +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: argocd-image-updater + namespace: argocd +spec: + egress: + - ports: + - port: 53 + protocol: UDP + - port: 53 + protocol: TCP + to: + - namespaceSelector: + matchLabels: + kubernetes.io/metadata.name: kube-system + podSelector: + matchLabels: + k8s-app: kube-dns + - ports: + - port: 6443 + protocol: TCP + - ports: + - port: 443 + protocol: TCP + ingress: + - ports: + - port: 8081 + protocol: TCP + podSelector: + matchLabels: + app.kubernetes.io/name: argocd-image-updater + policyTypes: + - Ingress + - Egress diff --git a/argocd-apps/add-ons/argocd-image-updater.yaml b/argocd-apps/add-ons/argocd-image-updater.yaml new file mode 100644 index 0000000..62a268d --- /dev/null +++ b/argocd-apps/add-ons/argocd-image-updater.yaml @@ -0,0 +1,35 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + annotations: + argocd.argoproj.io/client-side-apply-migration-manager: argocd-controller + argocd.argoproj.io/sync-wave: "1" + name: argocd-image-updater + namespace: argocd +spec: + destination: + namespace: argocd + server: https://kubernetes.default.svc + project: default + sources: + - chart: argocd-image-updater + repoURL: https://argoproj.github.io/argo-helm + targetRevision: 1.4.0 + helm: + values: | + resources: + limits: + cpu: 200m + memory: 256Mi + requests: + cpu: 10m + memory: 64Mi + - path: add-ons/argocd-image-updater + repoURL: https://gitea.whyredfire.dev/whyredfire/gitops.git + targetRevision: main + syncPolicy: + automated: + prune: true + selfHeal: true + syncOptions: + - ServerSideApply=true diff --git a/argocd-apps/add-ons/kustomization.yaml b/argocd-apps/add-ons/kustomization.yaml index f222c2f..55ae8a9 100644 --- a/argocd-apps/add-ons/kustomization.yaml +++ b/argocd-apps/add-ons/kustomization.yaml @@ -3,6 +3,7 @@ kind: Kustomization resources: - alloy.yaml - argocd-dashboard.yaml + - argocd-image-updater.yaml - authentik.yaml - cert-manager.yaml - cnpg.yaml