diff --git a/apps/application-set.yaml b/apps/application-set.yaml index 9e4ae18..6d6c565 100644 --- a/apps/application-set.yaml +++ b/apps/application-set.yaml @@ -22,17 +22,13 @@ spec: spec: project: applications source: - plugin: - name: kustomize-build-with-helm repoURL: https://github.com/vehagn/homelab targetRevision: HEAD path: '{{ path }}' destination: name: in-cluster - namespace: '{{ path.basename }}' + namespace: argocd syncPolicy: automated: selfHeal: true - prune: true - syncOptions: - - CreateNamespace=true + prune: true \ No newline at end of file diff --git a/apps/media/application-set.yaml b/apps/media/application-set.yaml new file mode 100644 index 0000000..fd9460b --- /dev/null +++ b/apps/media/application-set.yaml @@ -0,0 +1,38 @@ +apiVersion: argoproj.io/v1alpha1 +kind: ApplicationSet +metadata: + name: media + namespace: argocd + labels: + dev.stonegarden: media +spec: + generators: + - git: + repoURL: https://github.com/vehagn/homelab + revision: HEAD + directories: + - path: apps/media/* + template: + metadata: + name: '{{ path.basename }}' + labels: + dev.stonegarden: application + finalizers: + - resources-finalizer.argocd.argoproj.io + spec: + project: media + source: + plugin: + name: kustomize-build-with-helm + repoURL: https://github.com/vehagn/homelab + targetRevision: HEAD + path: '{{ path }}' + destination: + name: in-cluster + namespace: '{{ path.basename }}' + syncPolicy: + automated: + selfHeal: true + prune: true + syncOptions: + - CreateNamespace=true diff --git a/apps/arr/auth-secret.yaml b/apps/media/arr/auth-secret.yaml similarity index 100% rename from apps/arr/auth-secret.yaml rename to apps/media/arr/auth-secret.yaml diff --git a/apps/arr/common-values.yaml b/apps/media/arr/common-values.yaml similarity index 100% rename from apps/arr/common-values.yaml rename to apps/media/arr/common-values.yaml diff --git a/apps/arr/kustomization.yaml b/apps/media/arr/kustomization.yaml similarity index 98% rename from apps/arr/kustomization.yaml rename to apps/media/arr/kustomization.yaml index 3f61eb7..be6d62e 100644 --- a/apps/arr/kustomization.yaml +++ b/apps/media/arr/kustomization.yaml @@ -17,7 +17,7 @@ configMapGenerator: - TZ="Europe/Oslo" helmGlobals: - chartHome: ../../charts + chartHome: ../../../charts helmCharts: - name: application diff --git a/apps/jellyfin/deployment.yaml b/apps/media/jellyfin/deployment.yaml similarity index 100% rename from apps/jellyfin/deployment.yaml rename to apps/media/jellyfin/deployment.yaml diff --git a/apps/jellyfin/ingress.yaml b/apps/media/jellyfin/ingress.yaml similarity index 100% rename from apps/jellyfin/ingress.yaml rename to apps/media/jellyfin/ingress.yaml diff --git a/apps/jellyfin/kustomization.yaml b/apps/media/jellyfin/kustomization.yaml similarity index 100% rename from apps/jellyfin/kustomization.yaml rename to apps/media/jellyfin/kustomization.yaml diff --git a/apps/jellyfin/pv-jellyfin-config.yaml b/apps/media/jellyfin/pv-jellyfin-config.yaml similarity index 100% rename from apps/jellyfin/pv-jellyfin-config.yaml rename to apps/media/jellyfin/pv-jellyfin-config.yaml diff --git a/apps/jellyfin/pv-jellyfin-media.yaml b/apps/media/jellyfin/pv-jellyfin-media.yaml similarity index 100% rename from apps/jellyfin/pv-jellyfin-media.yaml rename to apps/media/jellyfin/pv-jellyfin-media.yaml diff --git a/apps/jellyfin/pvc-jellyfin-config.yaml b/apps/media/jellyfin/pvc-jellyfin-config.yaml similarity index 100% rename from apps/jellyfin/pvc-jellyfin-config.yaml rename to apps/media/jellyfin/pvc-jellyfin-config.yaml diff --git a/apps/jellyfin/pvc-jellyfin-media.yaml b/apps/media/jellyfin/pvc-jellyfin-media.yaml similarity index 100% rename from apps/jellyfin/pvc-jellyfin-media.yaml rename to apps/media/jellyfin/pvc-jellyfin-media.yaml diff --git a/apps/jellyfin/service.yaml b/apps/media/jellyfin/service.yaml similarity index 100% rename from apps/jellyfin/service.yaml rename to apps/media/jellyfin/service.yaml diff --git a/apps/media/kustomization.yaml b/apps/media/kustomization.yaml new file mode 100644 index 0000000..7d5929f --- /dev/null +++ b/apps/media/kustomization.yaml @@ -0,0 +1,10 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +namespace: argocd +commonLabels: + dev.stonegarden: app-management + app.kubernetes.io/managed-by: argocd + +resources: + - project.yaml + - application-set.yaml diff --git a/apps/plex/deployment.yaml b/apps/media/plex/deployment.yaml similarity index 100% rename from apps/plex/deployment.yaml rename to apps/media/plex/deployment.yaml diff --git a/apps/plex/ingress.yaml b/apps/media/plex/ingress.yaml similarity index 100% rename from apps/plex/ingress.yaml rename to apps/media/plex/ingress.yaml diff --git a/apps/plex/kustomization.yaml b/apps/media/plex/kustomization.yaml similarity index 100% rename from apps/plex/kustomization.yaml rename to apps/media/plex/kustomization.yaml diff --git a/apps/plex/pv-plex-config.yaml b/apps/media/plex/pv-plex-config.yaml similarity index 100% rename from apps/plex/pv-plex-config.yaml rename to apps/media/plex/pv-plex-config.yaml diff --git a/apps/plex/pv-plex-media.yaml b/apps/media/plex/pv-plex-media.yaml similarity index 100% rename from apps/plex/pv-plex-media.yaml rename to apps/media/plex/pv-plex-media.yaml diff --git a/apps/plex/pvc-plex-config.yaml b/apps/media/plex/pvc-plex-config.yaml similarity index 100% rename from apps/plex/pvc-plex-config.yaml rename to apps/media/plex/pvc-plex-config.yaml diff --git a/apps/plex/pvc-plex-media.yaml b/apps/media/plex/pvc-plex-media.yaml similarity index 100% rename from apps/plex/pvc-plex-media.yaml rename to apps/media/plex/pvc-plex-media.yaml diff --git a/apps/plex/service.yaml b/apps/media/plex/service.yaml similarity index 100% rename from apps/plex/service.yaml rename to apps/media/plex/service.yaml diff --git a/apps/media/project.yaml b/apps/media/project.yaml new file mode 100644 index 0000000..0609bd6 --- /dev/null +++ b/apps/media/project.yaml @@ -0,0 +1,22 @@ +apiVersion: argoproj.io/v1alpha1 +kind: AppProject +metadata: + name: media + namespace: argocd +spec: + sourceNamespaces: + - '*' + sourceRepos: + - 'https://github.com/vehagn/*' + destinations: + - namespace: 'argocd' + server: '*' + - namespace: 'arr' + server: '*' + - namespace: 'jellyfin' + server: '*' + - namespace: 'plex' + server: '*' + clusterResourceWhitelist: + - group: '*' + kind: '*' \ No newline at end of file diff --git a/apps/project.yaml b/apps/project.yaml index ff13629..1472465 100644 --- a/apps/project.yaml +++ b/apps/project.yaml @@ -11,24 +11,6 @@ spec: destinations: - namespace: 'argocd' server: '*' - - namespace: 'arr' - server: '*' - - namespace: 'blog' - server: '*' - - namespace: 'cuda-test' - server: '*' - - namespace: 'home-assistant' - server: '*' - - namespace: 'jellyfin' - server: '*' - - namespace: 'plex' - server: '*' - - namespace: 'stonegarden' - server: '*' - - namespace: 'whoami' - server: '*' - - namespace: 'test' - server: '*' clusterResourceWhitelist: - group: '*' kind: '*' \ No newline at end of file diff --git a/apps/public/application-set.yaml b/apps/public/application-set.yaml new file mode 100644 index 0000000..90010e9 --- /dev/null +++ b/apps/public/application-set.yaml @@ -0,0 +1,38 @@ +apiVersion: argoproj.io/v1alpha1 +kind: ApplicationSet +metadata: + name: public + namespace: argocd + labels: + dev.stonegarden: application +spec: + generators: + - git: + repoURL: https://github.com/vehagn/homelab + revision: HEAD + directories: + - path: apps/public/* + template: + metadata: + name: '{{ path.basename }}' + labels: + dev.stonegarden: public + finalizers: + - resources-finalizer.argocd.argoproj.io + spec: + project: public + source: + plugin: + name: kustomize-build-with-helm + repoURL: https://github.com/vehagn/homelab + targetRevision: HEAD + path: '{{ path }}' + destination: + name: in-cluster + namespace: '{{ path.basename }}' + syncPolicy: + automated: + selfHeal: true + prune: true + syncOptions: + - CreateNamespace=true diff --git a/apps/blog/kustomization.yaml b/apps/public/blog/kustomization.yaml similarity index 89% rename from apps/blog/kustomization.yaml rename to apps/public/blog/kustomization.yaml index 8fb94d4..0a3fd35 100644 --- a/apps/blog/kustomization.yaml +++ b/apps/public/blog/kustomization.yaml @@ -8,7 +8,7 @@ resources: - remark42 helmGlobals: - chartHome: ../../charts + chartHome: ../../../charts helmCharts: - name: application diff --git a/apps/blog/remark42/config/env-remark42 b/apps/public/blog/remark42/config/env-remark42 similarity index 100% rename from apps/blog/remark42/config/env-remark42 rename to apps/public/blog/remark42/config/env-remark42 diff --git a/apps/blog/remark42/deployment.yaml b/apps/public/blog/remark42/deployment.yaml similarity index 100% rename from apps/blog/remark42/deployment.yaml rename to apps/public/blog/remark42/deployment.yaml diff --git a/apps/blog/remark42/ingress-route.yaml b/apps/public/blog/remark42/ingress-route.yaml similarity index 100% rename from apps/blog/remark42/ingress-route.yaml rename to apps/public/blog/remark42/ingress-route.yaml diff --git a/apps/blog/remark42/kustomization.yaml b/apps/public/blog/remark42/kustomization.yaml similarity index 100% rename from apps/blog/remark42/kustomization.yaml rename to apps/public/blog/remark42/kustomization.yaml diff --git a/apps/blog/remark42/pv.yaml b/apps/public/blog/remark42/pv.yaml similarity index 100% rename from apps/blog/remark42/pv.yaml rename to apps/public/blog/remark42/pv.yaml diff --git a/apps/blog/remark42/pvc.yaml b/apps/public/blog/remark42/pvc.yaml similarity index 100% rename from apps/blog/remark42/pvc.yaml rename to apps/public/blog/remark42/pvc.yaml diff --git a/apps/blog/remark42/secret-github.yaml b/apps/public/blog/remark42/secret-github.yaml similarity index 100% rename from apps/blog/remark42/secret-github.yaml rename to apps/public/blog/remark42/secret-github.yaml diff --git a/apps/blog/remark42/secret-google.yaml b/apps/public/blog/remark42/secret-google.yaml similarity index 100% rename from apps/blog/remark42/secret-google.yaml rename to apps/public/blog/remark42/secret-google.yaml diff --git a/apps/blog/remark42/secret-remark42.yaml b/apps/public/blog/remark42/secret-remark42.yaml similarity index 100% rename from apps/blog/remark42/secret-remark42.yaml rename to apps/public/blog/remark42/secret-remark42.yaml diff --git a/apps/blog/remark42/service.yaml b/apps/public/blog/remark42/service.yaml similarity index 100% rename from apps/blog/remark42/service.yaml rename to apps/public/blog/remark42/service.yaml diff --git a/apps/blog/values.yaml b/apps/public/blog/values.yaml similarity index 100% rename from apps/blog/values.yaml rename to apps/public/blog/values.yaml diff --git a/apps/public/kustomization.yaml b/apps/public/kustomization.yaml new file mode 100644 index 0000000..7d5929f --- /dev/null +++ b/apps/public/kustomization.yaml @@ -0,0 +1,10 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +namespace: argocd +commonLabels: + dev.stonegarden: app-management + app.kubernetes.io/managed-by: argocd + +resources: + - project.yaml + - application-set.yaml diff --git a/apps/public/project.yaml b/apps/public/project.yaml new file mode 100644 index 0000000..056e657 --- /dev/null +++ b/apps/public/project.yaml @@ -0,0 +1,20 @@ +apiVersion: argoproj.io/v1alpha1 +kind: AppProject +metadata: + name: public + namespace: argocd +spec: + sourceNamespaces: + - '*' + sourceRepos: + - 'https://github.com/vehagn/*' + destinations: + - namespace: 'argocd' + server: '*' + - namespace: 'blog' + server: '*' + - namespace: 'stonegarden' + server: '*' + clusterResourceWhitelist: + - group: '*' + kind: '*' \ No newline at end of file diff --git a/apps/stonegarden/deployment.yaml b/apps/public/stonegarden/deployment.yaml similarity index 100% rename from apps/stonegarden/deployment.yaml rename to apps/public/stonegarden/deployment.yaml diff --git a/apps/stonegarden/ingress.yaml b/apps/public/stonegarden/ingress.yaml similarity index 100% rename from apps/stonegarden/ingress.yaml rename to apps/public/stonegarden/ingress.yaml diff --git a/apps/stonegarden/kustomization.yaml b/apps/public/stonegarden/kustomization.yaml similarity index 100% rename from apps/stonegarden/kustomization.yaml rename to apps/public/stonegarden/kustomization.yaml diff --git a/apps/stonegarden/service.yaml b/apps/public/stonegarden/service.yaml similarity index 100% rename from apps/stonegarden/service.yaml rename to apps/public/stonegarden/service.yaml diff --git a/apps/test/application-set.yaml b/apps/test/application-set.yaml new file mode 100644 index 0000000..4464271 --- /dev/null +++ b/apps/test/application-set.yaml @@ -0,0 +1,38 @@ +apiVersion: argoproj.io/v1alpha1 +kind: ApplicationSet +metadata: + name: test + namespace: argocd + labels: + dev.stonegarden: test +spec: + generators: + - git: + repoURL: https://github.com/vehagn/homelab + revision: HEAD + directories: + - path: apps/test/* + template: + metadata: + name: '{{ path.basename }}' + labels: + dev.stonegarden: test + finalizers: + - resources-finalizer.argocd.argoproj.io + spec: + project: test + source: + plugin: + name: kustomize-build-with-helm + repoURL: https://github.com/vehagn/homelab + targetRevision: HEAD + path: '{{ path }}' + destination: + name: in-cluster + namespace: '{{ path.basename }}' + syncPolicy: + automated: + selfHeal: false + prune: true + syncOptions: + - CreateNamespace=true diff --git a/apps/test/auth-secret.yaml b/apps/test/auth-secret.yaml deleted file mode 100644 index 5d6ba5e..0000000 --- a/apps/test/auth-secret.yaml +++ /dev/null @@ -1,18 +0,0 @@ -apiVersion: bitnami.com/v1alpha1 -kind: SealedSecret -metadata: - name: traefik-forward-auth-secrets - namespace: test -spec: - encryptedData: - google-client-id: AgBISp5+p/nhYXY5C+lUM94vAH58Mt/P/i60gEt97rUcLnaumNujQRQOtqlCKpMvCuFrwskFZ8saHLUBoLuqhxELhgbT9GEClxkh3VnLQ+oafEE7jKfPknAHlr/rWwyXqJZYt/F4BtMmLeWiUbqB/GwC3ZeVgGEXidVVBYa6FLCM18fwXbJCP3PrmGnPbLprRuqA59YKgi03onyxfDcgeG85+ZvAoB1DlBTex1k1t2OvH+6GTiLbSYVYBA5gLZKTTz8RCWdGclYHlPVsc0vyoqA33WPIF+eqYh6WLJMNl4YdvwZuajm+jyp7UEZEpTOE53wVUn7dHxJnjUIx976l2PlveFdgJqXjcVk+alMdY5PtjTdILIaqoNATHXs1KWydFFUidxhcVoUhbg3fZzPhJWTv5C3WNYDzMVKQA261L6R8EYdKl34Lj+6N9EVAlegTnH/KpUxUJ6aExZQUr1jJJ/UqhRuFZljaDqKImPgNrCkfmrCWaUui6wmFAhS5Xq1ci5teqemHnvS5QKJFcHTlK7xCwyo1P0Iq/CDkOndBlH5vSrZM6qkOU8dOGa37KpUMw4koSWaxfTTJ9EMjb3AY5ghgsemhDK7ciwjx6wkFQ3miJzHbkUnj5qEe57hRfh6i5+nhFj/295S+5Ed+Jgo6nadpvuoKNCPD32edUzHBRWesQJI/l0Ap45BiYepAwEmSOYioFpFh00CZxd02ztRU2CPM7bNrfco8F+V1knKBo+js52Bkql8BFxNXnlkOK1DjwaVQ/1hCgGHUkcHFhGI5AOKeUVllRS9g4So= - google-client-secret: AgCQGkxbEAZGSZP1zBlHqzxLCii/NOnNU/HosQEanERb0q7FcAoUJxkx5tZcxDif2/oMxZPuk70Soi9+vS7WObjODC5PKGjBOr3XtmaS6egvB+Mjb2L7iWFaCY5Nmd+Pl2C/HsKqhDMenj/Pv/h2Uj0SBDA0XhHSk0N6skmQVmcdc2mC03G1qJymIvYfgNR5uPfFfwFOleKom7QvdoPb/o7YdD/y7InnNHJw5kM6+2fxqNtZboFa17IM95T3+ZHblqqelucEmYjZyVE3+vq9v0blMB/dGBFDtHqRvjoIbo55VjTdAz4eOcfU+pUd4o4NjdddLOJ+tlkOIVVLpgce+yWU7RSn4F+r1cviOCioC1WT7daa2w8VfKjVRyFoV1bZ+ZaVqVyiZ6r2d0NCcZIH8KZ91I38nTWdDC58MJAZGmWqHgaJibYY0XMHnqM0xOTT/A6myJmezbDyXojjfVUit6Safzu5X8EOo/eQDVfxVJ/0/G6X6vKTJQhIxF06NXezCMoOSEi9fg2dxIIocj5G24K2TeTZGSfiz6CTZdkLnRSArdzJajzfSxEaVasxS1/BWixvDsn8lFByE+zd7d0kuIRlKmgyDYUTYb3Qy1zZT3n95YeLZkZw/l1HriUJ+34DWpUrM/L/xOcblr9UZ/70L5zkL1yNHbG6rseTnBn0Ob7TPc8CD5wSqNAhBqO3XaYlD0yumebtx7Pjlvpy6niRYAZkxA/w3Bwh+hrIN5mLvIXwms4hzA== - secret: AgCLFUQ8e/hSn8EtWqxf6tEheYS8e+pHRX77VKWh/+RNpcE8Ja7h/11zPOjFesmqSkydO2ZVdWk35MZ7LU1D/XhRycx3x6fWdrgWkZIEK38sWohnPvDREZ69diHROV8uf4khhWj9hM0gYS/6zPzqbZBNdysPmneWy/F0ofc5kShvMJrABBI1p7+MPakvaYFOBNP4y+cAwGd7HgES7juSNpDo0IwMGhBs5SavGZZyLPiapmzgnJ5bP7g+5tHnIXz0D17I+3HZ2nKAzhNRUUB4cw37iYMYavi35A5S1RpzReK+8D2SKNiszz2fYAbL7yl3lV9NW+VZkQwCVPtUbMS0Ifcv6+0YxBJW9Qrafdduxkon8YnUffEDS1cI7LG5h7uPP9nnb4xMSFf6RW7til1q7nfYtfQW0WnolYqw5R9TS7ogO8F2FZCwD03n6bRf9pIPbEDQE/iHe6kYiHH6TpTpsIS/geRL5x8inufoZZdGPUSwot97gqwv8myeC5JsnwYAqaCZb5J6Mx/7s4efvCHW+mGoFTCM8FZ8exnE1h5wgI4BrhqcOVIeFTeQY1/nYazgx1iMQw3kJ6JUcfdw9Li6EmxEn1mJEUuFsB3wyxzKi8gktLSisEzaNI767lRyAuEp+DMD7wF4UKDRSnq5MdqfG6TkQ5Gs4G7eXbPRv9FLnHEsmTtVUmZtEoakMguevYLTUPH8nl00 - template: - metadata: - annotations: - sealedsecrets.bitnami.com/managed: "true" - name: traefik-forward-auth-secrets - namespace: test - type: Opaque - diff --git a/apps/cuda-test/kustomization.yaml b/apps/test/cuda-test/kustomization.yaml similarity index 100% rename from apps/cuda-test/kustomization.yaml rename to apps/test/cuda-test/kustomization.yaml diff --git a/apps/cuda-test/pod.yaml b/apps/test/cuda-test/pod.yaml similarity index 100% rename from apps/cuda-test/pod.yaml rename to apps/test/cuda-test/pod.yaml diff --git a/apps/test/kustomization.yaml b/apps/test/kustomization.yaml index 21af25a..7d5929f 100644 --- a/apps/test/kustomization.yaml +++ b/apps/test/kustomization.yaml @@ -1,12 +1,10 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization +namespace: argocd commonLabels: + dev.stonegarden: app-management app.kubernetes.io/managed-by: argocd - app.kubernetes.io/part-of: test resources: - - auth-secret.yaml - - app1.yaml - - app2.yaml - - app3.yaml - - auth.yaml \ No newline at end of file + - project.yaml + - application-set.yaml diff --git a/apps/test/project.yaml b/apps/test/project.yaml new file mode 100644 index 0000000..830ca7a --- /dev/null +++ b/apps/test/project.yaml @@ -0,0 +1,22 @@ +apiVersion: argoproj.io/v1alpha1 +kind: AppProject +metadata: + name: test + namespace: argocd +spec: + sourceNamespaces: + - '*' + sourceRepos: + - 'https://github.com/vehagn/*' + destinations: + - namespace: 'argocd' + server: '*' + - namespace: 'cuda-test' + server: '*' + - namespace: 'whoami' + server: '*' + - namespace: 'test-apps' + server: '*' + clusterResourceWhitelist: + - group: '*' + kind: '*' \ No newline at end of file diff --git a/apps/test/app1.yaml b/apps/test/test-apps/app1.yaml similarity index 83% rename from apps/test/app1.yaml rename to apps/test/test-apps/app1.yaml index 4a2854c..f5f1d6d 100644 --- a/apps/test/app1.yaml +++ b/apps/test/test-apps/app1.yaml @@ -6,7 +6,7 @@ metadata: finalizers: - resources-finalizer.argocd.argoproj.io spec: - project: applications + project: test source: repoURL: https://github.com/vehagn/homelab path: charts/application @@ -15,9 +15,9 @@ spec: name: app1 replicas: 3 valueFiles: - - ../../apps/test/common-values.yaml + - ../../apps/test/test-apps/common-values.yaml destination: - namespace: test + namespace: test-apps name: in-cluster syncPolicy: automated: diff --git a/apps/test/app2.yaml b/apps/test/test-apps/app2.yaml similarity index 84% rename from apps/test/app2.yaml rename to apps/test/test-apps/app2.yaml index 54b3a25..fafaba6 100644 --- a/apps/test/app2.yaml +++ b/apps/test/test-apps/app2.yaml @@ -6,7 +6,7 @@ metadata: finalizers: - resources-finalizer.argocd.argoproj.io spec: - project: applications + project: test sources: - repoURL: https://github.com/vehagn/homelab path: charts/application @@ -15,11 +15,11 @@ spec: - name: name value: app2 valueFiles: - - $values/apps/test/common-values.yaml + - $values/apps/test/test-apps/common-values.yaml - repoURL: https://github.com/vehagn/homelab ref: values destination: - namespace: test + namespace: test-apps name: in-cluster syncPolicy: automated: diff --git a/apps/test/app3.yaml b/apps/test/test-apps/app3.yaml similarity index 84% rename from apps/test/app3.yaml rename to apps/test/test-apps/app3.yaml index 615c86d..5dbfaf2 100644 --- a/apps/test/app3.yaml +++ b/apps/test/test-apps/app3.yaml @@ -6,7 +6,7 @@ metadata: finalizers: - resources-finalizer.argocd.argoproj.io spec: - project: applications + project: test sources: - repoURL: https://github.com/vehagn/homelab path: charts/application @@ -15,11 +15,11 @@ spec: - name: name value: app3 valueFiles: - - $values/apps/test/common-values.yaml + - $values/apps/test/test-apps/common-values.yaml - repoURL: https://github.com/vehagn/homelab ref: values destination: - namespace: test + namespace: test-apps name: in-cluster syncPolicy: automated: diff --git a/apps/test/test-apps/auth-secret.yaml b/apps/test/test-apps/auth-secret.yaml new file mode 100644 index 0000000..ef0c032 --- /dev/null +++ b/apps/test/test-apps/auth-secret.yaml @@ -0,0 +1,15 @@ +apiVersion: bitnami.com/v1alpha1 +kind: SealedSecret +metadata: + name: traefik-forward-auth-secrets + namespace: test-apps +spec: + template: + metadata: + name: traefik-forward-auth-secrets + namespace: test-apps + type: Opaque + encryptedData: + google-client-id: AgCLNh+hqwvz7fXIJkhRRU1xAWcctnYH4NNTSEiFe4P1waIp8/rp06XUw3dBzazX37bkBuObJHf3RfgIg4J0NQjjuh0kZ35LOxdu3iJteXsHmZKFZBsFpr8nQp2nve4qFpA9I+0/ZlgYRroIBktoL3v76TjdbdyI9pu37wBHRX2vBNoDxT1uMrygGN0ZmIfK9d63Cba6CM0mnWyPWye1+0n4P9tqNTFE3sE8gaAZYouff0qOCJDCBNLOC1Ji7gRRAsITqRs5xbp3zmcLj8xjqp1Llc0Mq+yBchromDF5SCTpnncO2O4K5rVTuFSZM6Bpp9Se1n21dd0L5wT/ghj4uqX4brb6XvxcT5+ssanC4bBww9wK/eTSfYrRfbjBWzildMmaghIrMnAHIcQc3FXTgE+cT841Z2fC9ZsijkV8yvVoj5PRZixu0Z5JwREyegJAJGFyMEFUyjyR6U1gKVlhDoFPGQmJ14HxiIZ00XqHkEHj7OojZjga4ZlzAZ2ds+tqPy2Va3Kd7y8nGO0R7O4leK+m1vik7iWddVQNSENRswTdESds/SdsJ0+z9dtseiaQTxWcVF2JcBFDOYbFZm9W1soSTlw6wpJF+mjMaV1k62SxV/0rF+WVaDxhKXcTnVJg1TlFiuOiHdEc/gHrdzo9yDOjTtda+to5YofqS6LWOxZXTZVIAcWXcF/mRNzSZxlJwnASjQ7HJFLpU4S/592dgI2W+PKG1MuaLANrxRmJVgGQF6X35K6t9PzMlmWlwB7kur5/PkKhCLSWIQcpS+9JqYGS21Cmd92yacw= + google-client-secret: AgB7LWzyNdo9dQ+k1d3clj5JNZ1HCU9czRAbnNiGrHgRXwqnDqVgkVoZE3nb+0n7ZQpVr2LRkYJ82kLQ5qNV5Da2bk+0u8nPOYQPjujqZSwumcmXAPZIs7WvVAEoOlufppIgFfuIumrvX1H12Xg9et3r1ayypodqDIVVUu6KgyNtuwzEKm2Yrl6UFoxYbv3as1KijOtAY9THyGRn3pXN53Vos94wzqa5v2gPZIh9ZVYX4bNIJK4j7BLnbETihqpSz2MYmgASf9QfeHMuaxJHq3+nmhS/Oa2huR7Y1CmPVCoPh6WEdiTcE8HPxl5Fp32HGVRaRs4Co/Z/o3QVEXIbmbOoMPnNDbMGtwRUUw0woyMGKpXCr5cLrkKbU1ZVXYGiz2JJwXXedAFmL/lUUUAGkI4sj2sbuHdbXtO+hNtE8K0h+H0HeXApN0m+ts7aKQfIVs9CdK2Ez5wq6k8M3z7APRTYhCXHyjxiHU3LveHahaifFoIetLSUf7WpoTw4qhtdlgnQXEKOot+xV4WdiHWq1PjmS91Wo9al1RPMK+r8eHjSz076S+sRbP3/fzJTFppF/4s5e+6AybobDo08KLRZfO7+q5eaym1I/AmoNl/7EkS7S4LDljHemx1s3bsvW2ropZiGMVfdAGhIz5bSHxHjMZmXYwZmZqWhYWykrFvnm5VJYuOV3410IPAToDx4hgflDqsMRkL+Qm96ZA2lt4Hy74Bj1LKQ6CF+rahTEMmzED3R4mKcaw== + secret: AgCWqoG6xWgWxGmHJPgCAkJoXL27EHyU22giP9lrqXLy/FSdQMJpxY2g/o9Eb/c8rhAHU3tT6vQ3PSP9EzHqLdp6v085XricKQmqZfa9yLYgV65jJJLelIZKbkCE6YAWKlGmsIPd7jskexSdufKboAMjih8y0cF7w0ubnxZVvLAVQT1zU4c/7yQObDFFJ0Le++lPc8eTZphopPjellsx9i19tDQa/5PvexiAbOw740Mq6GKQxZtTJVwpkW6jZ+cc5vGRQp39FP/RiisCyK7wcUGuLW6c8vt8EWiHnsPfImcNaC/DkQFJhsM5w6mHXeZ99uniVauh77jwPm5bR3eT4Qj6NfBOrE4uMaIiwIakt/W+X/AdW4trvajo31uGIr3jdi/csEJmsOGX02/YKyZvDWKkgJMyW2+YwAJwQdzQhXQe0yhSxHfIIbAYIiTSUCTlOS+EgGF80uUWXQzl6WqXW+99CtjgR6fm26si+ZgLpuR5h+75SwmkASgdPb4MnEwCE72of79Ow25weVX68Mbe8HR7GJzQvtMFriRA+TvkHrHHpi2gqVxR68olMyrBdsj774IFV6Vtc5K3sMsWZcdpOIXkaNf7w2ns26PCe7QuZuFnav3i2gW5v3rKCQ+jhazTN3v4mojB5/+smTzrjPZrwU+7e+AsWreIUo/k+4Jk8lsk2WEWlHVtMAu7iojLnfF0ep+Zh5at diff --git a/apps/test/auth-values.yaml b/apps/test/test-apps/auth-values.yaml similarity index 86% rename from apps/test/auth-values.yaml rename to apps/test/test-apps/auth-values.yaml index ea51d63..d649213 100644 --- a/apps/test/auth-values.yaml +++ b/apps/test/test-apps/auth-values.yaml @@ -1,5 +1,5 @@ name: auth -namespace: test +namespace: test-apps authOnly: true auth: cookieDomain: stonegarden.dev diff --git a/apps/test/auth.yaml b/apps/test/test-apps/auth.yaml similarity index 83% rename from apps/test/auth.yaml rename to apps/test/test-apps/auth.yaml index f058adc..55e0276 100644 --- a/apps/test/auth.yaml +++ b/apps/test/test-apps/auth.yaml @@ -6,17 +6,17 @@ metadata: finalizers: - resources-finalizer.argocd.argoproj.io spec: - project: applications + project: test sources: - repoURL: https://github.com/vehagn/homelab path: charts/application helm: valueFiles: - - $values/apps/test/auth-values.yaml + - $values/apps/test/test-apps/auth-values.yaml - repoURL: https://github.com/vehagn/homelab ref: values destination: - namespace: test + namespace: test-apps name: in-cluster syncPolicy: automated: diff --git a/apps/test/common-values.yaml b/apps/test/test-apps/common-values.yaml similarity index 83% rename from apps/test/common-values.yaml rename to apps/test/test-apps/common-values.yaml index 690a6c5..b24f241 100644 --- a/apps/test/common-values.yaml +++ b/apps/test/test-apps/common-values.yaml @@ -1,5 +1,5 @@ name: app -namespace: test +namespace: test-apps image: name: containous/whoami service: diff --git a/apps/test/test-apps/kustomization.yaml b/apps/test/test-apps/kustomization.yaml new file mode 100644 index 0000000..21af25a --- /dev/null +++ b/apps/test/test-apps/kustomization.yaml @@ -0,0 +1,12 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +commonLabels: + app.kubernetes.io/managed-by: argocd + app.kubernetes.io/part-of: test + +resources: + - auth-secret.yaml + - app1.yaml + - app2.yaml + - app3.yaml + - auth.yaml \ No newline at end of file diff --git a/apps/whoami/ingress-route.yaml b/apps/test/whoami/ingress-route.yaml similarity index 100% rename from apps/whoami/ingress-route.yaml rename to apps/test/whoami/ingress-route.yaml diff --git a/apps/whoami/ingress.yaml b/apps/test/whoami/ingress.yaml similarity index 100% rename from apps/whoami/ingress.yaml rename to apps/test/whoami/ingress.yaml diff --git a/apps/whoami/issuer.yaml b/apps/test/whoami/issuer.yaml similarity index 100% rename from apps/whoami/issuer.yaml rename to apps/test/whoami/issuer.yaml diff --git a/apps/whoami/kustomization.yaml b/apps/test/whoami/kustomization.yaml similarity index 100% rename from apps/whoami/kustomization.yaml rename to apps/test/whoami/kustomization.yaml diff --git a/apps/whoami/traefik-forward-auth/auth-secret.yaml b/apps/test/whoami/traefik-forward-auth/auth-secret.yaml similarity index 100% rename from apps/whoami/traefik-forward-auth/auth-secret.yaml rename to apps/test/whoami/traefik-forward-auth/auth-secret.yaml diff --git a/apps/whoami/traefik-forward-auth/configs/traefik-forward-auth.ini b/apps/test/whoami/traefik-forward-auth/configs/traefik-forward-auth.ini similarity index 100% rename from apps/whoami/traefik-forward-auth/configs/traefik-forward-auth.ini rename to apps/test/whoami/traefik-forward-auth/configs/traefik-forward-auth.ini diff --git a/apps/whoami/traefik-forward-auth/deployment.yaml b/apps/test/whoami/traefik-forward-auth/deployment.yaml similarity index 100% rename from apps/whoami/traefik-forward-auth/deployment.yaml rename to apps/test/whoami/traefik-forward-auth/deployment.yaml diff --git a/apps/whoami/traefik-forward-auth/kustomization.yaml b/apps/test/whoami/traefik-forward-auth/kustomization.yaml similarity index 100% rename from apps/whoami/traefik-forward-auth/kustomization.yaml rename to apps/test/whoami/traefik-forward-auth/kustomization.yaml diff --git a/apps/whoami/traefik-forward-auth/middleware.yaml b/apps/test/whoami/traefik-forward-auth/middleware.yaml similarity index 100% rename from apps/whoami/traefik-forward-auth/middleware.yaml rename to apps/test/whoami/traefik-forward-auth/middleware.yaml diff --git a/apps/whoami/traefik-forward-auth/service.yaml b/apps/test/whoami/traefik-forward-auth/service.yaml similarity index 100% rename from apps/whoami/traefik-forward-auth/service.yaml rename to apps/test/whoami/traefik-forward-auth/service.yaml diff --git a/apps/whoami/whoami/deployment.yaml b/apps/test/whoami/whoami/deployment.yaml similarity index 100% rename from apps/whoami/whoami/deployment.yaml rename to apps/test/whoami/whoami/deployment.yaml diff --git a/apps/whoami/whoami/kustomization.yaml b/apps/test/whoami/whoami/kustomization.yaml similarity index 100% rename from apps/whoami/whoami/kustomization.yaml rename to apps/test/whoami/whoami/kustomization.yaml diff --git a/apps/whoami/whoami/service.yaml b/apps/test/whoami/whoami/service.yaml similarity index 100% rename from apps/whoami/whoami/service.yaml rename to apps/test/whoami/whoami/service.yaml diff --git a/apps/utility/application-set.yaml b/apps/utility/application-set.yaml new file mode 100644 index 0000000..09251db --- /dev/null +++ b/apps/utility/application-set.yaml @@ -0,0 +1,38 @@ +apiVersion: argoproj.io/v1alpha1 +kind: ApplicationSet +metadata: + name: utility + namespace: argocd + labels: + dev.stonegarden: utility +spec: + generators: + - git: + repoURL: https://github.com/vehagn/homelab + revision: HEAD + directories: + - path: apps/utility/* + template: + metadata: + name: '{{ path.basename }}' + labels: + dev.stonegarden: utility + finalizers: + - resources-finalizer.argocd.argoproj.io + spec: + project: utility + source: + plugin: + name: kustomize-build-with-helm + repoURL: https://github.com/vehagn/homelab + targetRevision: HEAD + path: '{{ path }}' + destination: + name: in-cluster + namespace: '{{ path.basename }}' + syncPolicy: + automated: + selfHeal: true + prune: true + syncOptions: + - CreateNamespace=true diff --git a/apps/home-assistant/deployment.yaml b/apps/utility/home-assistant/deployment.yaml similarity index 100% rename from apps/home-assistant/deployment.yaml rename to apps/utility/home-assistant/deployment.yaml diff --git a/apps/home-assistant/ingress.yaml b/apps/utility/home-assistant/ingress.yaml similarity index 100% rename from apps/home-assistant/ingress.yaml rename to apps/utility/home-assistant/ingress.yaml diff --git a/apps/home-assistant/kustomization.yaml b/apps/utility/home-assistant/kustomization.yaml similarity index 100% rename from apps/home-assistant/kustomization.yaml rename to apps/utility/home-assistant/kustomization.yaml diff --git a/apps/home-assistant/pv-hass-config.yaml b/apps/utility/home-assistant/pv-hass-config.yaml similarity index 100% rename from apps/home-assistant/pv-hass-config.yaml rename to apps/utility/home-assistant/pv-hass-config.yaml diff --git a/apps/home-assistant/pvc-hass-config.yaml b/apps/utility/home-assistant/pvc-hass-config.yaml similarity index 100% rename from apps/home-assistant/pvc-hass-config.yaml rename to apps/utility/home-assistant/pvc-hass-config.yaml diff --git a/apps/home-assistant/service.yaml b/apps/utility/home-assistant/service.yaml similarity index 100% rename from apps/home-assistant/service.yaml rename to apps/utility/home-assistant/service.yaml diff --git a/apps/utility/kustomization.yaml b/apps/utility/kustomization.yaml new file mode 100644 index 0000000..7d5929f --- /dev/null +++ b/apps/utility/kustomization.yaml @@ -0,0 +1,10 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +namespace: argocd +commonLabels: + dev.stonegarden: app-management + app.kubernetes.io/managed-by: argocd + +resources: + - project.yaml + - application-set.yaml diff --git a/apps/utility/project.yaml b/apps/utility/project.yaml new file mode 100644 index 0000000..6aa8e5d --- /dev/null +++ b/apps/utility/project.yaml @@ -0,0 +1,18 @@ +apiVersion: argoproj.io/v1alpha1 +kind: AppProject +metadata: + name: utility + namespace: argocd +spec: + sourceNamespaces: + - '*' + sourceRepos: + - 'https://github.com/vehagn/*' + destinations: + - namespace: 'argocd' + server: '*' + - namespace: 'home-assistant' + server: '*' + clusterResourceWhitelist: + - group: '*' + kind: '*' \ No newline at end of file