From 7403edf7d59e3699715e156b4ce5bd1ad9a29837 Mon Sep 17 00:00:00 2001 From: Jeffrey Smeets Date: Sun, 16 Aug 2026 21:08:41 +0200 Subject: [PATCH] argocd: manage namespaces via manifests instead of CreateNamespace --- .../authentik/authentik-namespace.yaml | 4 +++ .../azure-ddns-namespace.yaml | 4 +++ applications/bentopdf/bentopdf-namespace.yaml | 4 +++ .../excalidraw/excalidraw-namespace.yaml | 4 +++ applications/gotify/gotify-namespace.yaml | 4 +++ applications/immich/immich-namespace.yaml | 4 +++ applications/it-tools/it-tools-namespace.yaml | 4 +++ applications/jellyfin/jellyfin-namespace.yaml | 4 +++ .../minio-aistor/minio-aistor-namespace.yaml | 4 +++ .../netbootxyz/netbootxyz-namespace.yaml | 4 +++ applications/outline/outline-namespace.yaml | 4 +++ applications/passbolt/passbolt-namespace.yaml | 4 +++ applications/pelican/pelican-namespace.yaml | 4 +++ applications/proxmox/proxmox-namespace.yaml | 4 +++ .../react-resume/resume-namespace.yaml | 4 +++ applications/searxng/searxng-namespace.yaml | 4 +++ .../technitium/technitium-namespace.yaml | 4 +++ applications/truenas/truenas-namespace.yaml | 4 +++ applications/unifi/unifi-namespace.yaml | 4 +++ .../uptime-kuma/uptime-kuma-namespace.yaml | 4 +++ .../victoria-metrics-namespace.yaml | 4 +++ applications/zipline/zipline-namespace.yaml | 4 +++ .../applications/authentik-application.yaml | 1 - .../applications/bentopdf-application.yaml | 1 - .../argocd/applications/ddns-application.yaml | 2 -- .../envoy-gateway-config-application.yaml | 1 - .../applications/excalidraw-application.yaml | 1 - .../applications/gitea-application.yaml | 1 - .../applications/gotify-application.yaml | 1 - .../applications/immich-application.yaml | 1 - .../applications/infisical-application.yaml | 1 - .../applications/intel-nfd-application.yaml | 2 -- .../applications/it-tools-application.yaml | 1 - .../applications/jellyfin-application.yaml | 2 -- .../minio-aistor-application.yaml | 2 -- .../applications/netbootxyz-application.yaml | 1 - .../applications/outline-application.yaml | 1 - .../applications/passbolt-application.yaml | 2 -- .../applications/pelican-application.yaml | 27 +++++++++++++++++++ .../applications/proxmox-application.yaml | 1 - .../reactive-resume-application.yaml | 1 - .../applications/searxng-application.yaml | 1 - .../applications/technitium-application.yaml | 1 - .../applications/truenas-application.yaml | 1 - .../applications/unifi-application.yaml | 1 - .../applications/uptime-kuma-application.yaml | 1 - .../victoria-metrics-application.yaml | 1 - .../applications/zipline-application.yaml | 2 -- .../envoy-gateway-namespace.yaml | 6 +++++ 49 files changed, 121 insertions(+), 31 deletions(-) create mode 100644 applications/authentik/authentik-namespace.yaml create mode 100644 applications/azure-ddns-python/azure-ddns-namespace.yaml create mode 100644 applications/bentopdf/bentopdf-namespace.yaml create mode 100644 applications/excalidraw/excalidraw-namespace.yaml create mode 100644 applications/gotify/gotify-namespace.yaml create mode 100644 applications/immich/immich-namespace.yaml create mode 100644 applications/it-tools/it-tools-namespace.yaml create mode 100644 applications/jellyfin/jellyfin-namespace.yaml create mode 100644 applications/minio-aistor/minio-aistor-namespace.yaml create mode 100644 applications/netbootxyz/netbootxyz-namespace.yaml create mode 100644 applications/outline/outline-namespace.yaml create mode 100644 applications/passbolt/passbolt-namespace.yaml create mode 100644 applications/pelican/pelican-namespace.yaml create mode 100644 applications/proxmox/proxmox-namespace.yaml create mode 100644 applications/react-resume/resume-namespace.yaml create mode 100644 applications/searxng/searxng-namespace.yaml create mode 100644 applications/technitium/technitium-namespace.yaml create mode 100644 applications/truenas/truenas-namespace.yaml create mode 100644 applications/unifi/unifi-namespace.yaml create mode 100644 applications/uptime-kuma/uptime-kuma-namespace.yaml create mode 100644 applications/victoria-metrics/victoria-metrics-namespace.yaml create mode 100644 applications/zipline/zipline-namespace.yaml create mode 100644 infra/argocd/applications/pelican-application.yaml create mode 100644 infra/envoy-gateway/envoy-gateway-namespace.yaml diff --git a/applications/authentik/authentik-namespace.yaml b/applications/authentik/authentik-namespace.yaml new file mode 100644 index 0000000..bb24d8d --- /dev/null +++ b/applications/authentik/authentik-namespace.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: authentik diff --git a/applications/azure-ddns-python/azure-ddns-namespace.yaml b/applications/azure-ddns-python/azure-ddns-namespace.yaml new file mode 100644 index 0000000..5f9901a --- /dev/null +++ b/applications/azure-ddns-python/azure-ddns-namespace.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: azure-ddns diff --git a/applications/bentopdf/bentopdf-namespace.yaml b/applications/bentopdf/bentopdf-namespace.yaml new file mode 100644 index 0000000..d504cca --- /dev/null +++ b/applications/bentopdf/bentopdf-namespace.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: bentopdf diff --git a/applications/excalidraw/excalidraw-namespace.yaml b/applications/excalidraw/excalidraw-namespace.yaml new file mode 100644 index 0000000..f0abe9a --- /dev/null +++ b/applications/excalidraw/excalidraw-namespace.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: excalidraw diff --git a/applications/gotify/gotify-namespace.yaml b/applications/gotify/gotify-namespace.yaml new file mode 100644 index 0000000..60e8db4 --- /dev/null +++ b/applications/gotify/gotify-namespace.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: gotify diff --git a/applications/immich/immich-namespace.yaml b/applications/immich/immich-namespace.yaml new file mode 100644 index 0000000..c796392 --- /dev/null +++ b/applications/immich/immich-namespace.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: immich diff --git a/applications/it-tools/it-tools-namespace.yaml b/applications/it-tools/it-tools-namespace.yaml new file mode 100644 index 0000000..b0e7bd9 --- /dev/null +++ b/applications/it-tools/it-tools-namespace.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: it-tools diff --git a/applications/jellyfin/jellyfin-namespace.yaml b/applications/jellyfin/jellyfin-namespace.yaml new file mode 100644 index 0000000..167a2cb --- /dev/null +++ b/applications/jellyfin/jellyfin-namespace.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: jellyfin diff --git a/applications/minio-aistor/minio-aistor-namespace.yaml b/applications/minio-aistor/minio-aistor-namespace.yaml new file mode 100644 index 0000000..a4fdf90 --- /dev/null +++ b/applications/minio-aistor/minio-aistor-namespace.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: minio-aistor diff --git a/applications/netbootxyz/netbootxyz-namespace.yaml b/applications/netbootxyz/netbootxyz-namespace.yaml new file mode 100644 index 0000000..f9afa04 --- /dev/null +++ b/applications/netbootxyz/netbootxyz-namespace.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: netbootxyz diff --git a/applications/outline/outline-namespace.yaml b/applications/outline/outline-namespace.yaml new file mode 100644 index 0000000..38f6387 --- /dev/null +++ b/applications/outline/outline-namespace.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: outline diff --git a/applications/passbolt/passbolt-namespace.yaml b/applications/passbolt/passbolt-namespace.yaml new file mode 100644 index 0000000..f8b7fbc --- /dev/null +++ b/applications/passbolt/passbolt-namespace.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: passbolt diff --git a/applications/pelican/pelican-namespace.yaml b/applications/pelican/pelican-namespace.yaml new file mode 100644 index 0000000..14666d0 --- /dev/null +++ b/applications/pelican/pelican-namespace.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: pelican diff --git a/applications/proxmox/proxmox-namespace.yaml b/applications/proxmox/proxmox-namespace.yaml new file mode 100644 index 0000000..88ea715 --- /dev/null +++ b/applications/proxmox/proxmox-namespace.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: proxmox diff --git a/applications/react-resume/resume-namespace.yaml b/applications/react-resume/resume-namespace.yaml new file mode 100644 index 0000000..afd8a69 --- /dev/null +++ b/applications/react-resume/resume-namespace.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: resume diff --git a/applications/searxng/searxng-namespace.yaml b/applications/searxng/searxng-namespace.yaml new file mode 100644 index 0000000..8739154 --- /dev/null +++ b/applications/searxng/searxng-namespace.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: searxng diff --git a/applications/technitium/technitium-namespace.yaml b/applications/technitium/technitium-namespace.yaml new file mode 100644 index 0000000..12454d6 --- /dev/null +++ b/applications/technitium/technitium-namespace.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: technitium diff --git a/applications/truenas/truenas-namespace.yaml b/applications/truenas/truenas-namespace.yaml new file mode 100644 index 0000000..156b59d --- /dev/null +++ b/applications/truenas/truenas-namespace.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: truenas diff --git a/applications/unifi/unifi-namespace.yaml b/applications/unifi/unifi-namespace.yaml new file mode 100644 index 0000000..203b17b --- /dev/null +++ b/applications/unifi/unifi-namespace.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: unifi diff --git a/applications/uptime-kuma/uptime-kuma-namespace.yaml b/applications/uptime-kuma/uptime-kuma-namespace.yaml new file mode 100644 index 0000000..92c7bb2 --- /dev/null +++ b/applications/uptime-kuma/uptime-kuma-namespace.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: uptime-kuma diff --git a/applications/victoria-metrics/victoria-metrics-namespace.yaml b/applications/victoria-metrics/victoria-metrics-namespace.yaml new file mode 100644 index 0000000..d8d0b8b --- /dev/null +++ b/applications/victoria-metrics/victoria-metrics-namespace.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: victoria-metrics diff --git a/applications/zipline/zipline-namespace.yaml b/applications/zipline/zipline-namespace.yaml new file mode 100644 index 0000000..14b98b8 --- /dev/null +++ b/applications/zipline/zipline-namespace.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: zipline diff --git a/infra/argocd/applications/authentik-application.yaml b/infra/argocd/applications/authentik-application.yaml index 63c6919..62c4f9c 100644 --- a/infra/argocd/applications/authentik-application.yaml +++ b/infra/argocd/applications/authentik-application.yaml @@ -19,5 +19,4 @@ spec: prune: true selfHeal: true syncOptions: - - CreateNamespace=true - ServerSideApply=true diff --git a/infra/argocd/applications/bentopdf-application.yaml b/infra/argocd/applications/bentopdf-application.yaml index 2d0f1f3..b2a99bc 100644 --- a/infra/argocd/applications/bentopdf-application.yaml +++ b/infra/argocd/applications/bentopdf-application.yaml @@ -18,4 +18,3 @@ spec: selfHeal: true syncOptions: - PruneLast=true - - CreateNamespace=true diff --git a/infra/argocd/applications/ddns-application.yaml b/infra/argocd/applications/ddns-application.yaml index fcfb9e1..a317789 100644 --- a/infra/argocd/applications/ddns-application.yaml +++ b/infra/argocd/applications/ddns-application.yaml @@ -16,5 +16,3 @@ spec: automated: prune: true selfHeal: true - syncOptions: - - CreateNamespace=true diff --git a/infra/argocd/applications/envoy-gateway-config-application.yaml b/infra/argocd/applications/envoy-gateway-config-application.yaml index 8a6a9a1..e235c41 100644 --- a/infra/argocd/applications/envoy-gateway-config-application.yaml +++ b/infra/argocd/applications/envoy-gateway-config-application.yaml @@ -22,6 +22,5 @@ spec: prune: true selfHeal: true syncOptions: - - CreateNamespace=true - PruneLast=true - ServerSideApply=true diff --git a/infra/argocd/applications/excalidraw-application.yaml b/infra/argocd/applications/excalidraw-application.yaml index cd91af9..bb944a5 100644 --- a/infra/argocd/applications/excalidraw-application.yaml +++ b/infra/argocd/applications/excalidraw-application.yaml @@ -19,5 +19,4 @@ spec: prune: true selfHeal: true syncOptions: - - CreateNamespace=true - PruneLast=true diff --git a/infra/argocd/applications/gitea-application.yaml b/infra/argocd/applications/gitea-application.yaml index bd49712..bae5e20 100644 --- a/infra/argocd/applications/gitea-application.yaml +++ b/infra/argocd/applications/gitea-application.yaml @@ -20,7 +20,6 @@ spec: selfHeal: true syncOptions: - Replace=true - - CreateNamespace=true - PruneLast=true ignoreDifferences: - group: "" diff --git a/infra/argocd/applications/gotify-application.yaml b/infra/argocd/applications/gotify-application.yaml index f5f179a..a4d5374 100644 --- a/infra/argocd/applications/gotify-application.yaml +++ b/infra/argocd/applications/gotify-application.yaml @@ -19,7 +19,6 @@ spec: prune: true selfHeal: true syncOptions: - - CreateNamespace=true - PruneLast=true ignoreDifferences: - group: "" diff --git a/infra/argocd/applications/immich-application.yaml b/infra/argocd/applications/immich-application.yaml index 9642c0d..192e938 100644 --- a/infra/argocd/applications/immich-application.yaml +++ b/infra/argocd/applications/immich-application.yaml @@ -19,6 +19,5 @@ spec: prune: true selfHeal: true syncOptions: - - CreateNamespace=true - ServerSideApply=true - PrunePropagationPolicy=foreground diff --git a/infra/argocd/applications/infisical-application.yaml b/infra/argocd/applications/infisical-application.yaml index 4f49b90..7db4b4d 100644 --- a/infra/argocd/applications/infisical-application.yaml +++ b/infra/argocd/applications/infisical-application.yaml @@ -22,6 +22,5 @@ spec: prune: true selfHeal: true syncOptions: - - CreateNamespace=true - ApplyOutOfSyncOnly=true - ServerSideApply=true diff --git a/infra/argocd/applications/intel-nfd-application.yaml b/infra/argocd/applications/intel-nfd-application.yaml index 1f98f1f..6250ce9 100644 --- a/infra/argocd/applications/intel-nfd-application.yaml +++ b/infra/argocd/applications/intel-nfd-application.yaml @@ -18,5 +18,3 @@ spec: automated: prune: true selfHeal: true - syncOptions: - - CreateNamespace=true diff --git a/infra/argocd/applications/it-tools-application.yaml b/infra/argocd/applications/it-tools-application.yaml index a0a848d..7b9ec00 100644 --- a/infra/argocd/applications/it-tools-application.yaml +++ b/infra/argocd/applications/it-tools-application.yaml @@ -20,5 +20,4 @@ spec: selfHeal: true syncOptions: - Replace=true - - CreateNamespace=true - PruneLast=true diff --git a/infra/argocd/applications/jellyfin-application.yaml b/infra/argocd/applications/jellyfin-application.yaml index 499eb06..8a2a71d 100644 --- a/infra/argocd/applications/jellyfin-application.yaml +++ b/infra/argocd/applications/jellyfin-application.yaml @@ -16,5 +16,3 @@ spec: automated: prune: true selfHeal: true - syncOptions: - - CreateNamespace=true diff --git a/infra/argocd/applications/minio-aistor-application.yaml b/infra/argocd/applications/minio-aistor-application.yaml index 032a6e2..eb7e09d 100644 --- a/infra/argocd/applications/minio-aistor-application.yaml +++ b/infra/argocd/applications/minio-aistor-application.yaml @@ -16,5 +16,3 @@ spec: automated: prune: true selfHeal: true - syncOptions: - - CreateNamespace=true diff --git a/infra/argocd/applications/netbootxyz-application.yaml b/infra/argocd/applications/netbootxyz-application.yaml index 0b54089..d963189 100644 --- a/infra/argocd/applications/netbootxyz-application.yaml +++ b/infra/argocd/applications/netbootxyz-application.yaml @@ -17,5 +17,4 @@ spec: prune: true selfHeal: true syncOptions: - - CreateNamespace=true - ServerSideApply=true diff --git a/infra/argocd/applications/outline-application.yaml b/infra/argocd/applications/outline-application.yaml index 1afc2ea..dfdfc77 100644 --- a/infra/argocd/applications/outline-application.yaml +++ b/infra/argocd/applications/outline-application.yaml @@ -19,6 +19,5 @@ spec: prune: true selfHeal: true syncOptions: - - CreateNamespace=true - ServerSideApply=true - PrunePropagationPolicy=foreground diff --git a/infra/argocd/applications/passbolt-application.yaml b/infra/argocd/applications/passbolt-application.yaml index 7053e70..8226d4b 100644 --- a/infra/argocd/applications/passbolt-application.yaml +++ b/infra/argocd/applications/passbolt-application.yaml @@ -18,5 +18,3 @@ spec: automated: prune: true selfHeal: true - syncOptions: - - CreateNamespace=true diff --git a/infra/argocd/applications/pelican-application.yaml b/infra/argocd/applications/pelican-application.yaml new file mode 100644 index 0000000..b04468e --- /dev/null +++ b/infra/argocd/applications/pelican-application.yaml @@ -0,0 +1,27 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: pelican + namespace: argocd +spec: + project: default + source: + repoURL: https://gitea.jsme.be/Jeffrey/Kubernetes-Manifests.git + path: applications/pelican + targetRevision: main + directory: + recurse: true + destination: + server: https://kubernetes.default.svc + namespace: pelican + syncPolicy: + automated: + prune: true + selfHeal: true + syncOptions: + - PruneLast=true + ignoreDifferences: + - group: "" + kind: PersistentVolumeClaim + jsonPointers: + - /spec/volumeName diff --git a/infra/argocd/applications/proxmox-application.yaml b/infra/argocd/applications/proxmox-application.yaml index c21b15a..861dbf7 100644 --- a/infra/argocd/applications/proxmox-application.yaml +++ b/infra/argocd/applications/proxmox-application.yaml @@ -17,5 +17,4 @@ spec: prune: true selfHeal: true syncOptions: - - CreateNamespace=true - ServerSideApply=true diff --git a/infra/argocd/applications/reactive-resume-application.yaml b/infra/argocd/applications/reactive-resume-application.yaml index 1ac3f11..99c97f4 100644 --- a/infra/argocd/applications/reactive-resume-application.yaml +++ b/infra/argocd/applications/reactive-resume-application.yaml @@ -19,5 +19,4 @@ spec: prune: true selfHeal: true syncOptions: - - CreateNamespace=true - ServerSideApply=true diff --git a/infra/argocd/applications/searxng-application.yaml b/infra/argocd/applications/searxng-application.yaml index 2ba171d..17d6b7d 100644 --- a/infra/argocd/applications/searxng-application.yaml +++ b/infra/argocd/applications/searxng-application.yaml @@ -19,7 +19,6 @@ spec: prune: true selfHeal: true syncOptions: - - CreateNamespace=true - PruneLast=true ignoreDifferences: - group: "" diff --git a/infra/argocd/applications/technitium-application.yaml b/infra/argocd/applications/technitium-application.yaml index 05f32d1..95ff494 100644 --- a/infra/argocd/applications/technitium-application.yaml +++ b/infra/argocd/applications/technitium-application.yaml @@ -20,5 +20,4 @@ spec: selfHeal: true syncOptions: - Replace=true - - CreateNamespace=true - PruneLast=true diff --git a/infra/argocd/applications/truenas-application.yaml b/infra/argocd/applications/truenas-application.yaml index a048c7f..511349b 100644 --- a/infra/argocd/applications/truenas-application.yaml +++ b/infra/argocd/applications/truenas-application.yaml @@ -20,5 +20,4 @@ spec: selfHeal: true syncOptions: - Replace=true - - CreateNamespace=true - PruneLast=true diff --git a/infra/argocd/applications/unifi-application.yaml b/infra/argocd/applications/unifi-application.yaml index fd6893d..cbd3b44 100644 --- a/infra/argocd/applications/unifi-application.yaml +++ b/infra/argocd/applications/unifi-application.yaml @@ -20,4 +20,3 @@ spec: selfHeal: true syncOptions: - ServerSideApply=true - - CreateNamespace=true diff --git a/infra/argocd/applications/uptime-kuma-application.yaml b/infra/argocd/applications/uptime-kuma-application.yaml index 9847bcf..276cb4f 100644 --- a/infra/argocd/applications/uptime-kuma-application.yaml +++ b/infra/argocd/applications/uptime-kuma-application.yaml @@ -19,5 +19,4 @@ spec: prune: true selfHeal: true syncOptions: - - CreateNamespace=true - PruneLast=true diff --git a/infra/argocd/applications/victoria-metrics-application.yaml b/infra/argocd/applications/victoria-metrics-application.yaml index 8e2b58e..78c3528 100644 --- a/infra/argocd/applications/victoria-metrics-application.yaml +++ b/infra/argocd/applications/victoria-metrics-application.yaml @@ -30,5 +30,4 @@ spec: prune: true selfHeal: true syncOptions: - - CreateNamespace=true - ServerSideApply=true diff --git a/infra/argocd/applications/zipline-application.yaml b/infra/argocd/applications/zipline-application.yaml index a776854..c43b80a 100644 --- a/infra/argocd/applications/zipline-application.yaml +++ b/infra/argocd/applications/zipline-application.yaml @@ -18,5 +18,3 @@ spec: automated: prune: true selfHeal: true - syncOptions: - - CreateNamespace=true diff --git a/infra/envoy-gateway/envoy-gateway-namespace.yaml b/infra/envoy-gateway/envoy-gateway-namespace.yaml new file mode 100644 index 0000000..6665503 --- /dev/null +++ b/infra/envoy-gateway/envoy-gateway-namespace.yaml @@ -0,0 +1,6 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: envoy-gateway + labels: + name: envoy-gateway