From 68dc426e53c6672857ada699ebc532f51fb3b407 Mon Sep 17 00:00:00 2001 From: Story Crater Bot <19826264+Riotpiaole@users.noreply.github.com> Date: Tue, 18 Aug 2026 15:08:01 -0700 Subject: [PATCH] feat(argocd): phase2 app-of-apps for 19 workloads + AppProject sourceRepos fix --- k8s/argocd/apps/0-minio.yaml | 99 +++++++++++++++++++++++++ k8s/argocd/apps/1-wave-1.yaml | 136 ++++++++++++++++++++++++++++++++++ k8s/argocd/apps/2-wave-2.yaml | 114 ++++++++++++++++++++++++++++ k8s/argocd/apps/3-wave-3.yaml | 45 +++++++++++ terraform/argocd-bootstrap.tf | 5 +- 5 files changed, 396 insertions(+), 3 deletions(-) create mode 100644 k8s/argocd/apps/0-minio.yaml create mode 100644 k8s/argocd/apps/1-wave-1.yaml create mode 100644 k8s/argocd/apps/2-wave-2.yaml create mode 100644 k8s/argocd/apps/3-wave-3.yaml diff --git a/k8s/argocd/apps/0-minio.yaml b/k8s/argocd/apps/0-minio.yaml new file mode 100644 index 0000000..7b33729 --- /dev/null +++ b/k8s/argocd/apps/0-minio.yaml @@ -0,0 +1,99 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: minio + namespace: argocd + annotations: + argocd.argoproj.io/sync-wave: "0" +spec: + project: homelab + source: + repoURL: https://forgejo.riotpiao.homelab.com/riotpiao.com/homelab.git + targetRevision: main + path: k8s/storage + directory: + recurse: false + destination: + server: https://kubernetes.default.svc + namespace: storage + syncPolicy: + automated: + prune: true + selfHeal: true + syncOptions: + - CreateNamespace=true +--- +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: strimzi-operator + namespace: argocd + annotations: + argocd.argoproj.io/sync-wave: "0" +spec: + project: homelab + source: + repoURL: https://forgejo.riotpiao.homelab.com/riotpiao.com/homelab.git + targetRevision: main + path: k8s/sqs + directory: + recurse: false + destination: + server: https://kubernetes.default.svc + namespace: sqs + syncPolicy: + automated: + prune: true + selfHeal: true + syncOptions: + - CreateNamespace=true +--- +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: kmsvc-redis + namespace: argocd + annotations: + argocd.argoproj.io/sync-wave: "0" +spec: + project: homelab + source: + repoURL: https://forgejo.riotpiao.homelab.com/riotpiao.com/homelab.git + targetRevision: main + path: k8s/sqs + directory: + recurse: false + destination: + server: https://kubernetes.default.svc + namespace: sqs + syncPolicy: + automated: + prune: true + selfHeal: true + syncOptions: + - CreateNamespace=true +--- +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: prometheus + namespace: argocd + annotations: + argocd.argoproj.io/sync-wave: "0" +spec: + project: homelab + source: + repoURL: https://forgejo.riotpiao.homelab.com/riotpiao.com/homelab.git + targetRevision: main + path: k8s/monitoring + directory: + recurse: false + destination: + server: https://kubernetes.default.svc + namespace: monitoring + syncPolicy: + automated: + prune: true + selfHeal: true + syncOptions: + - CreateNamespace=true diff --git a/k8s/argocd/apps/1-wave-1.yaml b/k8s/argocd/apps/1-wave-1.yaml new file mode 100644 index 0000000..5dfa29b --- /dev/null +++ b/k8s/argocd/apps/1-wave-1.yaml @@ -0,0 +1,136 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: vault + namespace: argocd + annotations: + argocd.argoproj.io/sync-wave: "1" +spec: + project: homelab + source: + repoURL: https://forgejo.riotpiao.homelab.com/riotpiao.com/homelab.git + targetRevision: main + path: k8s/talos-iam + directory: + recurse: false + destination: + server: https://kubernetes.default.svc + namespace: iam + syncPolicy: + automated: + prune: true + selfHeal: true +--- +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: loki + namespace: argocd + annotations: + argocd.argoproj.io/sync-wave: "1" +spec: + project: homelab + source: + repoURL: https://forgejo.riotpiao.homelab.com/riotpiao.com/homelab.git + targetRevision: main + path: k8s/logging + directory: + recurse: false + destination: + server: https://kubernetes.default.svc + namespace: logging + syncPolicy: + automated: + prune: true + selfHeal: true +--- +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: cloudnative-pg + namespace: argocd + annotations: + argocd.argoproj.io/sync-wave: "1" +spec: + project: homelab + source: + repoURL: https://forgejo.riotpiao.homelab.com/riotpiao.com/homelab.git + targetRevision: main + path: k8s/ddb + directory: + recurse: false + destination: + server: https://kubernetes.default.svc + namespace: ddb + syncPolicy: + automated: + prune: true + selfHeal: true +--- +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: authentik + namespace: argocd + annotations: + argocd.argoproj.io/sync-wave: "1" +spec: + project: homelab + source: + repoURL: https://forgejo.riotpiao.homelab.com/riotpiao.com/homelab.git + targetRevision: main + path: k8s/talos-iam + directory: + recurse: false + destination: + server: https://kubernetes.default.svc + namespace: iam + syncPolicy: + syncOptions: + - CreateNamespace=true +--- +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: temporal + namespace: argocd + annotations: + argocd.argoproj.io/sync-wave: "1" +spec: + project: homelab + source: + repoURL: https://forgejo.riotpiao.homelab.com/riotpiao.com/homelab.git + targetRevision: main + path: k8s/temporal + directory: + recurse: false + destination: + server: https://kubernetes.default.svc + namespace: temporal + syncPolicy: + automated: + prune: true + selfHeal: true +--- +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: kafka-cluster + namespace: argocd + annotations: + argocd.argoproj.io/sync-wave: "1" +spec: + project: homelab + source: + repoURL: https://forgejo.riotpiao.homelab.com/riotpiao.com/homelab.git + targetRevision: main + path: k8s/sqs + directory: + recurse: false + destination: + server: https://kubernetes.default.svc + namespace: sqs + syncPolicy: + automated: + prune: true + selfHeal: true diff --git a/k8s/argocd/apps/2-wave-2.yaml b/k8s/argocd/apps/2-wave-2.yaml new file mode 100644 index 0000000..4fcd0b4 --- /dev/null +++ b/k8s/argocd/apps/2-wave-2.yaml @@ -0,0 +1,114 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: queue-crd + namespace: argocd + annotations: + argocd.argoproj.io/sync-wave: "2" +spec: + project: homelab + source: + repoURL: https://forgejo.riotpiao.homelab.com/riotpiao.com/homelab.git + targetRevision: main + path: k8s/sqs + directory: + recurse: false + destination: + server: https://kubernetes.default.svc + namespace: sqs + syncPolicy: + automated: + prune: true + selfHeal: true +--- +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: management-service + namespace: argocd + annotations: + argocd.argoproj.io/sync-wave: "2" +spec: + project: homelab + source: + repoURL: https://forgejo.riotpiao.homelab.com/riotpiao.com/homelab.git + targetRevision: main + path: k8s/sqs + directory: + recurse: false + destination: + server: https://kubernetes.default.svc + namespace: sqs + syncPolicy: + automated: + prune: true + selfHeal: true +--- +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: grafana + namespace: argocd + annotations: + argocd.argoproj.io/sync-wave: "2" +spec: + project: homelab + source: + repoURL: https://forgejo.riotpiao.homelab.com/riotpiao.com/homelab.git + targetRevision: main + path: k8s/logging + directory: + recurse: false + destination: + server: https://kubernetes.default.svc + namespace: logging + syncPolicy: + automated: + prune: true + selfHeal: true +--- +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: promtail + namespace: argocd + annotations: + argocd.argoproj.io/sync-wave: "2" +spec: + project: homelab + source: + repoURL: https://forgejo.riotpiao.homelab.com/riotpiao.com/homelab.git + targetRevision: main + path: k8s/logging + directory: + recurse: false + destination: + server: https://kubernetes.default.svc + namespace: logging + syncPolicy: + automated: + prune: true + selfHeal: true +--- +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: forgejo + namespace: argocd + annotations: + argocd.argoproj.io/sync-wave: "2" +spec: + project: homelab + source: + repoURL: https://forgejo.riotpiao.homelab.com/riotpiao.com/homelab.git + targetRevision: main + path: k8s/talos-ci-cd + directory: + recurse: false + destination: + server: https://kubernetes.default.svc + namespace: cicd + syncPolicy: + automated: + prune: true + selfHeal: true diff --git a/k8s/argocd/apps/3-wave-3.yaml b/k8s/argocd/apps/3-wave-3.yaml new file mode 100644 index 0000000..5e8b417 --- /dev/null +++ b/k8s/argocd/apps/3-wave-3.yaml @@ -0,0 +1,45 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: forgejo-runner + namespace: argocd + annotations: + argocd.argoproj.io/sync-wave: "3" +spec: + project: homelab + source: + repoURL: https://forgejo.riotpiao.homelab.com/riotpiao.com/homelab.git + targetRevision: main + path: k8s/talos-ci-cd + directory: + recurse: false + destination: + server: https://kubernetes.default.svc + namespace: cicd + syncPolicy: + automated: + prune: true + selfHeal: true +--- +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: portainer + namespace: argocd + annotations: + argocd.argoproj.io/sync-wave: "3" +spec: + project: homelab + source: + repoURL: https://forgejo.riotpiao.homelab.com/riotpiao.com/homelab.git + targetRevision: main + path: k8s/portainer + directory: + recurse: false + destination: + server: https://kubernetes.default.svc + namespace: dashboard + syncPolicy: + automated: + prune: true + selfHeal: true diff --git a/terraform/argocd-bootstrap.tf b/terraform/argocd-bootstrap.tf index 0756816..4e47af7 100644 --- a/terraform/argocd-bootstrap.tf +++ b/terraform/argocd-bootstrap.tf @@ -52,8 +52,7 @@ resource "helm_release" "argocd" { ] depends_on = [ - kubernetes_namespace.argocd, - kubernetes_manifest.wildcard_cert + kubernetes_namespace.argocd ] lifecycle { @@ -73,7 +72,7 @@ resource "kubernetes_manifest" "argocd_project" { } spec = { sourceRepos = [ - "https://forgejo.forge.riotpiao.homelab.com/rock/*" + "https://forgejo.riotpiao.homelab.com/riotpiao.com/*" ] destinations = [ {