From cdf16acc0b99bc11b62d45dbe05959d7994fe5da Mon Sep 17 00:00:00 2001 From: Daniel Muehlbachler-Pietrzykowski Date: Fri, 27 Oct 2023 16:53:02 +0200 Subject: [PATCH] feat: move to flux --- .github/workflows/pipeline.yml | 47 +- .github/workflows/pr.yml | 43 +- .gitignore | 1 + .pre-commit-config.yaml | 6 +- .sops.yaml | 3 +- .versionrc.json | 7 - .yamllint | 14 + README.md | 65 +-- app-of-apps/applications.yaml | 64 +++ app-of-apps/core.yaml | 63 +++ app-of-apps/home-assistant.yaml | 64 +++ app-of-apps/infrastructure.yaml | 61 +++ app-of-apps/kustomization.yaml | 10 + app-of-apps/repository.yaml | 15 + app-of-apps/values-dev.yaml | 3 - app-of-apps/values-prod.yaml | 8 - app-of-apps/values.yaml | 43 -- .../extensions}/configmap.yaml | 161 ++++--- .../adguard/extensions/kustomization.yaml | 6 + applications/adguard/kustomization.yaml | 13 + applications/adguard/kustomizeconfig.yml | 7 + .../adguard/templates/extensions.yaml | 12 + applications/adguard/templates/release.yaml | 21 + .../adguard/templates/repository.yaml | 8 + applications/adguard/values.yaml | 123 +++++ .../applications/values-development.yaml | 4 - .../applications/values-production.yaml | 10 - applications/applications/values.yaml | 72 --- applications/charts/adguard/.helmignore | 23 - applications/charts/adguard/Chart.lock | 6 - applications/charts/adguard/Chart.yaml | 19 - .../charts/adguard/values-production.yaml | 27 -- applications/charts/adguard/values.yaml | 151 ------- applications/charts/coredns/.helmignore | 23 - applications/charts/coredns/Chart.lock | 9 - applications/charts/coredns/Chart.yaml | 22 - .../charts/coredns/values-production.yaml | 4 - applications/charts/coredns/values.yaml | 86 ---- applications/charts/dnsmasq/.helmignore | 23 - applications/charts/dnsmasq/Chart.lock | 6 - applications/charts/dnsmasq/Chart.yaml | 19 - .../charts/dnsmasq/templates/configmap.yaml | 43 -- .../charts/dnsmasq/values-production.yaml | 7 - applications/charts/dnsmasq/values.yaml | 208 --------- .../charts/external-dns-coredns/.helmignore | 23 - .../charts/external-dns-coredns/Chart.lock | 6 - .../charts/external-dns-coredns/Chart.yaml | 19 - .../values-production.yaml | 5 - .../charts/external-dns-coredns/values.yaml | 31 -- .../charts/external-services/.helmignore | 23 - .../charts/external-services/Chart.yaml | 14 - .../external-services/templates/endpoint.yaml | 14 - .../external-services/templates/ingress.yaml | 25 -- .../external-services/templates/service.yaml | 17 - .../external-services/values-production.yaml | 21 - .../charts/external-services/values.yaml | 72 --- applications/charts/grafana/.helmignore | 23 - applications/charts/grafana/Chart.lock | 6 - applications/charts/grafana/Chart.yaml | 19 - .../charts/grafana/values-production.yaml | 11 - applications/charts/minio/.helmignore | 23 - applications/charts/minio/Chart.lock | 6 - applications/charts/minio/Chart.yaml | 19 - .../external-secret-buildkite-agent-user.yaml | 17 - .../external-secret-minio-root-user.yaml | 22 - .../charts/minio/values-production.yaml | 30 -- applications/charts/minio/values.yaml | 76 ---- .../coredns/extensions/kustomization.yaml | 6 + .../coredns/extensions}/service.yaml | 4 +- .../coredns/coredns/kustomization.yaml | 13 + .../coredns/coredns/kustomizeconfig.yaml | 7 + .../coredns/coredns/templates/extensions.yaml | 12 + .../coredns/coredns/templates/release.yaml | 21 + .../coredns/coredns/templates/repository.yaml | 8 + applications/coredns/coredns/values.yaml | 51 +++ applications/coredns/etcd/kustomization.yaml | 12 + .../coredns/etcd/kustomizeconfig.yaml | 7 + .../coredns/etcd/templates/release.yaml | 21 + .../coredns/etcd/templates/repository.yaml | 8 + applications/coredns/etcd/values.yaml | 29 ++ .../coredns/external-dns/kustomization.yaml | 12 + .../coredns/external-dns/kustomizeconfig.yaml | 7 + .../external-dns/templates/release.yaml | 21 + .../external-dns/templates/repository.yaml | 8 + applications/coredns/external-dns/values.yaml | 30 ++ applications/coredns/kustomization.yaml | 7 + .../dnsmasq/extensions/configmap.yaml | 62 +++ .../dnsmasq/extensions/kustomization.yaml | 6 + applications/dnsmasq/kustomization.yaml | 13 + applications/dnsmasq/kustomizeconfig.yml | 7 + .../dnsmasq/templates/extensions.yaml | 12 + applications/dnsmasq/templates/release.yaml | 21 + .../dnsmasq/templates/repository.yaml | 8 + applications/dnsmasq/values.yaml | 81 ++++ .../external-services/kustomization.yaml | 9 + .../external-services/templates/endpoint.yaml | 101 +++++ .../external-services/templates/ingress.yaml | 206 +++++++++ .../templates/namespace.yaml | 5 + .../external-services/templates/service.yaml | 125 ++++++ .../extensions}/external-secret-admin.yaml | 4 +- .../extensions}/external-secret-oidc.yaml | 12 +- .../grafana/extensions/kustomization.yaml | 7 + applications/grafana/kustomization.yaml | 13 + applications/grafana/kustomizeconfig.yml | 7 + .../grafana/templates/extensions.yaml | 12 + applications/grafana/templates/release.yaml | 21 + .../grafana/templates/repository.yaml | 8 + applications/{charts => }/grafana/values.yaml | 8 +- applications/kustomization.yaml | 10 + core/applications/values-development.yaml | 4 - core/applications/values-production.yaml | 9 - core/applications/values.yaml | 43 -- .../extensions}/external-secret-google.yaml | 2 +- .../extensions/kustomization.yaml | 6 + .../issuers/home-muehlbachler-io.yaml | 22 + .../issuers/internal-muehlbachler-io.yaml | 22 + core/cert-manager/issuers/kustomization.yaml | 7 + core/cert-manager/kustomization.yaml | 14 + core/cert-manager/kustomizeconfig.yaml | 7 + core/cert-manager/templates/extensions.yaml | 12 + core/cert-manager/templates/issuers.yaml | 12 + core/cert-manager/templates/release.yaml | 21 + core/cert-manager/templates/repository.yaml | 8 + core/cert-manager/values.yaml | 32 ++ core/charts/cert-manager/.helmignore | 23 - core/charts/cert-manager/Chart.lock | 6 - core/charts/cert-manager/Chart.yaml | 19 - .../cert-manager/templates/clusterissuer.yaml | 24 - .../cert-manager/values-production.yaml | 1 - core/charts/cert-manager/values.yaml | 47 -- core/charts/external-dns-google/.helmignore | 23 - core/charts/external-dns-google/Chart.lock | 6 - core/charts/external-dns-google/Chart.yaml | 19 - .../values-production.yaml | 5 - core/charts/external-dns-google/values.yaml | 32 -- core/charts/traefik/.helmignore | 23 - core/charts/traefik/Chart.lock | 6 - core/charts/traefik/Chart.yaml | 19 - core/charts/traefik/values-production.yaml | 8 - core/charts/traefik/values.yaml | 42 -- .../extensions}/external-secret-google.yaml | 2 +- .../extensions/kustomization.yaml | 6 + core/external-dns/kustomization.yaml | 13 + core/external-dns/kustomizeconfig.yaml | 7 + core/external-dns/templates/extensions.yaml | 12 + core/external-dns/templates/release.yaml | 21 + core/external-dns/templates/repository.yaml | 8 + core/external-dns/values.yaml | 31 ++ core/kustomization.yaml | 7 + ct.yml | 26 -- .../applications/values-development.yaml | 4 - .../applications/values-production.yaml | 10 - home-assistant/applications/values.yaml | 70 --- .../charts/ecowitt2mqtt/.helmignore | 23 - home-assistant/charts/ecowitt2mqtt/Chart.lock | 6 - home-assistant/charts/ecowitt2mqtt/Chart.yaml | 19 - .../ecowitt2mqtt/values-production.yaml | 8 - .../charts/ecowitt2mqtt/values.yaml | 55 --- home-assistant/charts/emqx/.helmignore | 23 - home-assistant/charts/emqx/Chart.lock | 6 - home-assistant/charts/emqx/Chart.yaml | 19 - .../charts/emqx/values-production.yaml | 25 -- home-assistant/charts/emqx/values.yaml | 50 --- .../charts/home-assistant/.helmignore | 23 - .../charts/home-assistant/Chart.lock | 6 - .../charts/home-assistant/Chart.yaml | 19 - .../templates/configmap-git.yaml | 7 - .../home-assistant/values-production.yaml | 18 - .../charts/home-assistant/values.yaml | 132 ------ home-assistant/charts/node-red/.helmignore | 23 - home-assistant/charts/node-red/Chart.lock | 6 - home-assistant/charts/node-red/Chart.yaml | 19 - .../charts/node-red/values-production.yaml | 18 - home-assistant/charts/node-red/values.yaml | 285 ------------ home-assistant/charts/ring-mqtt/.helmignore | 23 - home-assistant/charts/ring-mqtt/Chart.lock | 6 - home-assistant/charts/ring-mqtt/Chart.yaml | 19 - .../ring-mqtt/templates/configmap-git.yaml | 7 - .../charts/ring-mqtt/values-production.yaml | 1 - home-assistant/charts/ring-mqtt/values.yaml | 162 ------- home-assistant/charts/telegraf/.helmignore | 23 - home-assistant/charts/telegraf/Chart.lock | 6 - home-assistant/charts/telegraf/Chart.yaml | 19 - .../charts/telegraf/values-production.yaml | 2 - home-assistant/charts/telegraf/values.yaml | 115 ----- home-assistant/charts/zwave/.helmignore | 23 - home-assistant/charts/zwave/Chart.lock | 6 - home-assistant/charts/zwave/Chart.yaml | 19 - .../zwave/templates/_backup_restore.tpl | 31 -- .../charts/zwave/values-production.yaml | 18 - home-assistant/charts/zwave/values.yaml | 141 ------ .../ecowitt2mqtt/kustomization.yaml | 12 + .../ecowitt2mqtt/kustomizeconfig.yml | 7 + .../ecowitt2mqtt/templates/release.yaml | 21 + .../ecowitt2mqtt/templates/repository.yaml | 8 + home-assistant/ecowitt2mqtt/values.yaml | 54 +++ .../extensions}/external-secret-emqx.yaml | 2 +- .../emqx/extensions/kustomization.yaml | 7 + .../extensions}/service-mqtt.yaml | 6 +- home-assistant/emqx/kustomization.yaml | 13 + home-assistant/emqx/kustomizeconfig.yml | 7 + home-assistant/emqx/templates/extensions.yaml | 12 + home-assistant/emqx/templates/release.yaml | 21 + home-assistant/emqx/templates/repository.yaml | 8 + home-assistant/emqx/values.yaml | 42 ++ .../extensions/configmap-git.yaml | 7 + .../extensions}/configmap-scripts.yaml | 0 .../extensions}/external-secret-backup.yaml | 6 +- .../extensions}/external-secret-gcp.yaml | 2 +- .../extensions/kustomization.yaml | 9 + .../home-assistant/kustomization.yaml | 13 + .../home-assistant/kustomizeconfig.yml | 7 + .../home-assistant/templates/extensions.yaml | 12 + .../home-assistant/templates/release.yaml | 21 + .../home-assistant/templates/repository.yaml | 8 + home-assistant/home-assistant/values.yaml | 127 ++++++ home-assistant/kustomization.yaml | 12 + .../extensions}/configmap-config.yaml | 50 ++- .../extensions}/configmap-scripts.yaml | 2 +- .../extensions}/external-secret-backup.yaml | 12 +- .../external-secret-credentials.yaml | 14 +- .../node-red/extensions/kustomization.yaml | 10 + .../extensions}/restore-job.yaml | 4 +- home-assistant/node-red/kustomization.yaml | 13 + home-assistant/node-red/kustomizeconfig.yml | 7 + .../node-red/templates/extensions.yaml | 12 + .../node-red/templates/release.yaml | 21 + .../node-red/templates/repository.yaml | 8 + home-assistant/node-red/values.yaml | 200 +++++++++ .../ring-mqtt/extensions/configmap-git.yaml | 7 + .../extensions}/configmap-scripts.yaml | 0 .../extensions}/external-secret-backup.yaml | 6 +- .../extensions}/external-secret-gcp.yaml | 2 +- .../ring-mqtt/extensions/kustomization.yaml | 9 + home-assistant/ring-mqtt/kustomization.yaml | 13 + home-assistant/ring-mqtt/kustomizeconfig.yml | 7 + .../ring-mqtt/templates/extensions.yaml | 12 + .../ring-mqtt/templates/release.yaml | 21 + .../ring-mqtt/templates/repository.yaml | 8 + home-assistant/ring-mqtt/values.yaml | 159 +++++++ .../configmap-grafana-datasources.yaml | 6 +- .../extensions}/configmap-plugin-config.yaml | 0 .../extensions}/configmap-scripts.yaml | 0 .../configmap-telegraf-config.yaml | 10 +- ...nal-secret-grafana-datasource-secrets.yaml | 12 +- ...ternal-secret-plugin-kinesis-firehose.yaml | 8 +- .../external-secret-remote-token.yaml | 2 +- .../telegraf/extensions/kustomization.yaml | 13 + .../extensions}/rbac-grafana.yaml | 0 home-assistant/telegraf/kustomization.yaml | 13 + home-assistant/telegraf/kustomizeconfig.yml | 7 + .../telegraf/templates/extensions.yaml | 12 + .../telegraf/templates/release.yaml | 21 + .../telegraf/templates/repository.yaml | 8 + home-assistant/telegraf/values.yaml | 106 +++++ .../extensions}/configmap-scripts.yaml | 4 +- .../extensions}/external-secret-backup.yaml | 10 +- .../extensions}/external-secret-network.yaml | 2 +- .../extensions}/external-secret-session.yaml | 2 +- .../zwave/extensions/kustomization.yaml | 11 + .../extensions}/rbac-backup.yaml | 2 +- .../extensions}/restore-job.yaml | 2 +- home-assistant/zwave/kustomization.yaml | 13 + home-assistant/zwave/kustomizeconfig.yml | 7 + .../zwave/templates/extensions.yaml | 12 + home-assistant/zwave/templates/release.yaml | 21 + .../zwave/templates/repository.yaml | 8 + home-assistant/zwave/values.yaml | 138 ++++++ .../applications/values-development.yaml | 12 - .../applications/values-production.yaml | 9 - infrastructure/applications/values.yaml | 85 ---- infrastructure/charts/argocd/.helmignore | 23 - infrastructure/charts/argocd/Chart.lock | 6 - infrastructure/charts/argocd/Chart.yaml | 19 - .../external-secret-notifications.yaml | 43 -- .../charts/argocd/values-production.yaml | 42 -- infrastructure/charts/argocd/values.yaml | 425 ------------------ infrastructure/charts/cilium/.helmignore | 23 - infrastructure/charts/cilium/Chart.lock | 6 - infrastructure/charts/cilium/Chart.yaml | 19 - .../charts/cilium/values-production.yaml | 3 - infrastructure/charts/cilium/values.yaml | 33 -- .../charts/csi-nfs-driver/.helmignore | 23 - .../charts/csi-nfs-driver/Chart.lock | 6 - .../charts/csi-nfs-driver/Chart.yaml | 19 - .../templates/nfs-mount-options.yaml | 8 - .../templates/storageclass.yaml | 17 - .../csi-nfs-driver/values-production.yaml | 1 - .../charts/csi-nfs-driver/values.yaml | 55 --- .../charts/external-secrets/.helmignore | 23 - .../charts/external-secrets/Chart.lock | 6 - .../charts/external-secrets/Chart.yaml | 19 - .../external-secrets/values-production.yaml | 1 - .../charts/external-secrets/values.yaml | 27 -- infrastructure/charts/longhorn/.helmignore | 23 - infrastructure/charts/longhorn/Chart.lock | 6 - infrastructure/charts/longhorn/Chart.yaml | 19 - .../charts/longhorn/values-production.yaml | 6 - infrastructure/charts/longhorn/values.yaml | 40 -- infrastructure/charts/metallb/.helmignore | 23 - infrastructure/charts/metallb/Chart.lock | 6 - infrastructure/charts/metallb/Chart.yaml | 19 - .../charts/metallb/values-production.yaml | 28 -- infrastructure/charts/metallb/values.yaml | 28 -- infrastructure/cilium/kustomization.yaml | 12 + infrastructure/cilium/kustomizeconfig.yaml | 7 + infrastructure/cilium/templates/release.yaml | 21 + .../cilium/templates/repository.yaml | 8 + infrastructure/cilium/values.yaml | 32 ++ .../extensions/kustomization.yaml | 7 + .../extensions/secrets/kustomization.yaml | 8 + .../extensions/stores/cert-manager.yaml} | 0 .../extensions/stores/external-dns.yaml} | 0 .../extensions/stores/grafana.yaml} | 0 .../extensions/stores/home-assistant.yaml} | 0 .../extensions/stores/kustomization.yaml | 8 + .../external-secrets/kustomization.yaml | 13 + .../external-secrets/kustomizeconfig.yaml | 7 + .../templates/extensions.yaml | 14 + .../external-secrets/templates/release.yaml | 21 + .../templates/repository.yaml | 8 + infrastructure/external-secrets/values.yaml | 26 ++ infrastructure/kustomization.yaml | 10 + .../kustomization.yaml | 11 - .../secret-generator.yml | 16 - .../secret-doppler-auth-argocd.enc.yml | 21 - .../secret-doppler-auth-cert-manager.enc.yml | 21 - .../secret-doppler-auth-external-dns.enc.yml | 21 - .../secret-doppler-auth-grafana.enc.yml | 21 - ...secret-doppler-auth-home-assistant.enc.yml | 21 - .../secrets/secret-doppler-auth-minio.enc.yml | 21 - .../external-secrets-stores/stores/argocd.yml | 14 - .../external-secrets-stores/stores/minio.yml | 14 - .../longhorn/extensions/kustomization.yaml | 6 + .../extensions/storageclass.yaml} | 0 infrastructure/longhorn/kustomization.yaml | 13 + infrastructure/longhorn/kustomizeconfig.yaml | 7 + .../longhorn/templates/extensions.yaml | 12 + .../longhorn/templates/release.yaml | 21 + .../longhorn/templates/repository.yaml | 8 + infrastructure/longhorn/values.yaml | 37 ++ .../extensions}/ip-address-pool.yaml | 7 +- .../metallb/extensions/kustomization.yaml | 7 + .../extensions}/l2-advertisement.yaml | 4 +- infrastructure/metallb/kustomization.yaml | 13 + infrastructure/metallb/kustomizeconfig.yaml | 7 + .../metallb/templates/extensions.yaml | 12 + infrastructure/metallb/templates/release.yaml | 21 + .../metallb/templates/repository.yaml | 8 + infrastructure/metallb/values.yaml | 21 + .../traefik/extensions}/ingress.yaml | 8 +- .../traefik/extensions/kustomization.yaml | 6 + infrastructure/traefik/kustomization.yaml | 13 + infrastructure/traefik/kustomizeconfig.yaml | 7 + .../traefik/templates/extensions.yaml | 12 + infrastructure/traefik/templates/release.yaml | 21 + .../traefik/templates/repository.yaml | 8 + infrastructure/traefik/values.yaml | 36 ++ library/charts/applications/.helmignore | 23 - library/charts/applications/Chart.yaml | 17 - .../applications/templates/application.yaml | 61 --- .../charts/applications/templates/project.yml | 23 - .../applications/values-production.yaml | 8 - library/charts/applications/values.yaml | 27 -- renovate.json | 13 +- 365 files changed, 3861 insertions(+), 4997 deletions(-) delete mode 100644 .versionrc.json create mode 100644 .yamllint create mode 100644 app-of-apps/applications.yaml create mode 100644 app-of-apps/core.yaml create mode 100644 app-of-apps/home-assistant.yaml create mode 100644 app-of-apps/infrastructure.yaml create mode 100644 app-of-apps/kustomization.yaml create mode 100644 app-of-apps/repository.yaml delete mode 100644 app-of-apps/values-dev.yaml delete mode 100644 app-of-apps/values-prod.yaml delete mode 100644 app-of-apps/values.yaml rename applications/{charts/adguard/templates => adguard/extensions}/configmap.yaml (61%) create mode 100644 applications/adguard/extensions/kustomization.yaml create mode 100644 applications/adguard/kustomization.yaml create mode 100644 applications/adguard/kustomizeconfig.yml create mode 100644 applications/adguard/templates/extensions.yaml create mode 100644 applications/adguard/templates/release.yaml create mode 100644 applications/adguard/templates/repository.yaml create mode 100644 applications/adguard/values.yaml delete mode 100644 applications/applications/values-development.yaml delete mode 100644 applications/applications/values-production.yaml delete mode 100644 applications/applications/values.yaml delete mode 100644 applications/charts/adguard/.helmignore delete mode 100644 applications/charts/adguard/Chart.lock delete mode 100644 applications/charts/adguard/Chart.yaml delete mode 100644 applications/charts/adguard/values-production.yaml delete mode 100644 applications/charts/adguard/values.yaml delete mode 100644 applications/charts/coredns/.helmignore delete mode 100644 applications/charts/coredns/Chart.lock delete mode 100644 applications/charts/coredns/Chart.yaml delete mode 100644 applications/charts/coredns/values-production.yaml delete mode 100644 applications/charts/coredns/values.yaml delete mode 100644 applications/charts/dnsmasq/.helmignore delete mode 100644 applications/charts/dnsmasq/Chart.lock delete mode 100644 applications/charts/dnsmasq/Chart.yaml delete mode 100644 applications/charts/dnsmasq/templates/configmap.yaml delete mode 100644 applications/charts/dnsmasq/values-production.yaml delete mode 100644 applications/charts/dnsmasq/values.yaml delete mode 100644 applications/charts/external-dns-coredns/.helmignore delete mode 100644 applications/charts/external-dns-coredns/Chart.lock delete mode 100644 applications/charts/external-dns-coredns/Chart.yaml delete mode 100644 applications/charts/external-dns-coredns/values-production.yaml delete mode 100644 applications/charts/external-dns-coredns/values.yaml delete mode 100644 applications/charts/external-services/.helmignore delete mode 100644 applications/charts/external-services/Chart.yaml delete mode 100644 applications/charts/external-services/templates/endpoint.yaml delete mode 100644 applications/charts/external-services/templates/ingress.yaml delete mode 100644 applications/charts/external-services/templates/service.yaml delete mode 100644 applications/charts/external-services/values-production.yaml delete mode 100644 applications/charts/external-services/values.yaml delete mode 100644 applications/charts/grafana/.helmignore delete mode 100644 applications/charts/grafana/Chart.lock delete mode 100644 applications/charts/grafana/Chart.yaml delete mode 100644 applications/charts/grafana/values-production.yaml delete mode 100644 applications/charts/minio/.helmignore delete mode 100644 applications/charts/minio/Chart.lock delete mode 100644 applications/charts/minio/Chart.yaml delete mode 100644 applications/charts/minio/templates/external-secret-buildkite-agent-user.yaml delete mode 100644 applications/charts/minio/templates/external-secret-minio-root-user.yaml delete mode 100644 applications/charts/minio/values-production.yaml delete mode 100644 applications/charts/minio/values.yaml create mode 100644 applications/coredns/coredns/extensions/kustomization.yaml rename applications/{charts/coredns/templates => coredns/coredns/extensions}/service.yaml (77%) create mode 100644 applications/coredns/coredns/kustomization.yaml create mode 100644 applications/coredns/coredns/kustomizeconfig.yaml create mode 100644 applications/coredns/coredns/templates/extensions.yaml create mode 100644 applications/coredns/coredns/templates/release.yaml create mode 100644 applications/coredns/coredns/templates/repository.yaml create mode 100644 applications/coredns/coredns/values.yaml create mode 100644 applications/coredns/etcd/kustomization.yaml create mode 100644 applications/coredns/etcd/kustomizeconfig.yaml create mode 100644 applications/coredns/etcd/templates/release.yaml create mode 100644 applications/coredns/etcd/templates/repository.yaml create mode 100644 applications/coredns/etcd/values.yaml create mode 100644 applications/coredns/external-dns/kustomization.yaml create mode 100644 applications/coredns/external-dns/kustomizeconfig.yaml create mode 100644 applications/coredns/external-dns/templates/release.yaml create mode 100644 applications/coredns/external-dns/templates/repository.yaml create mode 100644 applications/coredns/external-dns/values.yaml create mode 100644 applications/coredns/kustomization.yaml create mode 100644 applications/dnsmasq/extensions/configmap.yaml create mode 100644 applications/dnsmasq/extensions/kustomization.yaml create mode 100644 applications/dnsmasq/kustomization.yaml create mode 100644 applications/dnsmasq/kustomizeconfig.yml create mode 100644 applications/dnsmasq/templates/extensions.yaml create mode 100644 applications/dnsmasq/templates/release.yaml create mode 100644 applications/dnsmasq/templates/repository.yaml create mode 100644 applications/dnsmasq/values.yaml create mode 100644 applications/external-services/kustomization.yaml create mode 100644 applications/external-services/templates/endpoint.yaml create mode 100644 applications/external-services/templates/ingress.yaml create mode 100644 applications/external-services/templates/namespace.yaml create mode 100644 applications/external-services/templates/service.yaml rename applications/{charts/grafana/templates => grafana/extensions}/external-secret-admin.yaml (85%) rename applications/{charts/grafana/templates => grafana/extensions}/external-secret-oidc.yaml (80%) create mode 100644 applications/grafana/extensions/kustomization.yaml create mode 100644 applications/grafana/kustomization.yaml create mode 100644 applications/grafana/kustomizeconfig.yml create mode 100644 applications/grafana/templates/extensions.yaml create mode 100644 applications/grafana/templates/release.yaml create mode 100644 applications/grafana/templates/repository.yaml rename applications/{charts => }/grafana/values.yaml (89%) create mode 100644 applications/kustomization.yaml delete mode 100644 core/applications/values-development.yaml delete mode 100644 core/applications/values-production.yaml delete mode 100644 core/applications/values.yaml rename core/{charts/cert-manager/templates => cert-manager/extensions}/external-secret-google.yaml (90%) create mode 100644 core/cert-manager/extensions/kustomization.yaml create mode 100644 core/cert-manager/issuers/home-muehlbachler-io.yaml create mode 100644 core/cert-manager/issuers/internal-muehlbachler-io.yaml create mode 100644 core/cert-manager/issuers/kustomization.yaml create mode 100644 core/cert-manager/kustomization.yaml create mode 100644 core/cert-manager/kustomizeconfig.yaml create mode 100644 core/cert-manager/templates/extensions.yaml create mode 100644 core/cert-manager/templates/issuers.yaml create mode 100644 core/cert-manager/templates/release.yaml create mode 100644 core/cert-manager/templates/repository.yaml create mode 100644 core/cert-manager/values.yaml delete mode 100644 core/charts/cert-manager/.helmignore delete mode 100644 core/charts/cert-manager/Chart.lock delete mode 100644 core/charts/cert-manager/Chart.yaml delete mode 100644 core/charts/cert-manager/templates/clusterissuer.yaml delete mode 100644 core/charts/cert-manager/values-production.yaml delete mode 100644 core/charts/cert-manager/values.yaml delete mode 100644 core/charts/external-dns-google/.helmignore delete mode 100644 core/charts/external-dns-google/Chart.lock delete mode 100644 core/charts/external-dns-google/Chart.yaml delete mode 100644 core/charts/external-dns-google/values-production.yaml delete mode 100644 core/charts/external-dns-google/values.yaml delete mode 100644 core/charts/traefik/.helmignore delete mode 100644 core/charts/traefik/Chart.lock delete mode 100644 core/charts/traefik/Chart.yaml delete mode 100644 core/charts/traefik/values-production.yaml delete mode 100644 core/charts/traefik/values.yaml rename core/{charts/external-dns-google/templates => external-dns/extensions}/external-secret-google.yaml (90%) create mode 100644 core/external-dns/extensions/kustomization.yaml create mode 100644 core/external-dns/kustomization.yaml create mode 100644 core/external-dns/kustomizeconfig.yaml create mode 100644 core/external-dns/templates/extensions.yaml create mode 100644 core/external-dns/templates/release.yaml create mode 100644 core/external-dns/templates/repository.yaml create mode 100644 core/external-dns/values.yaml create mode 100644 core/kustomization.yaml delete mode 100644 ct.yml delete mode 100644 home-assistant/applications/values-development.yaml delete mode 100644 home-assistant/applications/values-production.yaml delete mode 100644 home-assistant/applications/values.yaml delete mode 100644 home-assistant/charts/ecowitt2mqtt/.helmignore delete mode 100644 home-assistant/charts/ecowitt2mqtt/Chart.lock delete mode 100644 home-assistant/charts/ecowitt2mqtt/Chart.yaml delete mode 100644 home-assistant/charts/ecowitt2mqtt/values-production.yaml delete mode 100644 home-assistant/charts/ecowitt2mqtt/values.yaml delete mode 100644 home-assistant/charts/emqx/.helmignore delete mode 100644 home-assistant/charts/emqx/Chart.lock delete mode 100644 home-assistant/charts/emqx/Chart.yaml delete mode 100644 home-assistant/charts/emqx/values-production.yaml delete mode 100644 home-assistant/charts/emqx/values.yaml delete mode 100644 home-assistant/charts/home-assistant/.helmignore delete mode 100644 home-assistant/charts/home-assistant/Chart.lock delete mode 100644 home-assistant/charts/home-assistant/Chart.yaml delete mode 100644 home-assistant/charts/home-assistant/templates/configmap-git.yaml delete mode 100644 home-assistant/charts/home-assistant/values-production.yaml delete mode 100644 home-assistant/charts/home-assistant/values.yaml delete mode 100644 home-assistant/charts/node-red/.helmignore delete mode 100644 home-assistant/charts/node-red/Chart.lock delete mode 100644 home-assistant/charts/node-red/Chart.yaml delete mode 100644 home-assistant/charts/node-red/values-production.yaml delete mode 100644 home-assistant/charts/node-red/values.yaml delete mode 100644 home-assistant/charts/ring-mqtt/.helmignore delete mode 100644 home-assistant/charts/ring-mqtt/Chart.lock delete mode 100644 home-assistant/charts/ring-mqtt/Chart.yaml delete mode 100644 home-assistant/charts/ring-mqtt/templates/configmap-git.yaml delete mode 100644 home-assistant/charts/ring-mqtt/values-production.yaml delete mode 100644 home-assistant/charts/ring-mqtt/values.yaml delete mode 100644 home-assistant/charts/telegraf/.helmignore delete mode 100644 home-assistant/charts/telegraf/Chart.lock delete mode 100644 home-assistant/charts/telegraf/Chart.yaml delete mode 100644 home-assistant/charts/telegraf/values-production.yaml delete mode 100644 home-assistant/charts/telegraf/values.yaml delete mode 100644 home-assistant/charts/zwave/.helmignore delete mode 100644 home-assistant/charts/zwave/Chart.lock delete mode 100644 home-assistant/charts/zwave/Chart.yaml delete mode 100644 home-assistant/charts/zwave/templates/_backup_restore.tpl delete mode 100644 home-assistant/charts/zwave/values-production.yaml delete mode 100644 home-assistant/charts/zwave/values.yaml create mode 100644 home-assistant/ecowitt2mqtt/kustomization.yaml create mode 100644 home-assistant/ecowitt2mqtt/kustomizeconfig.yml create mode 100644 home-assistant/ecowitt2mqtt/templates/release.yaml create mode 100644 home-assistant/ecowitt2mqtt/templates/repository.yaml create mode 100644 home-assistant/ecowitt2mqtt/values.yaml rename home-assistant/{charts/emqx/templates => emqx/extensions}/external-secret-emqx.yaml (90%) create mode 100644 home-assistant/emqx/extensions/kustomization.yaml rename home-assistant/{charts/emqx/templates => emqx/extensions}/service-mqtt.yaml (73%) create mode 100644 home-assistant/emqx/kustomization.yaml create mode 100644 home-assistant/emqx/kustomizeconfig.yml create mode 100644 home-assistant/emqx/templates/extensions.yaml create mode 100644 home-assistant/emqx/templates/release.yaml create mode 100644 home-assistant/emqx/templates/repository.yaml create mode 100644 home-assistant/emqx/values.yaml create mode 100644 home-assistant/home-assistant/extensions/configmap-git.yaml rename home-assistant/{charts/home-assistant/templates => home-assistant/extensions}/configmap-scripts.yaml (100%) rename home-assistant/{charts/home-assistant/templates => home-assistant/extensions}/external-secret-backup.yaml (84%) rename home-assistant/{charts/home-assistant/templates => home-assistant/extensions}/external-secret-gcp.yaml (91%) create mode 100644 home-assistant/home-assistant/extensions/kustomization.yaml create mode 100644 home-assistant/home-assistant/kustomization.yaml create mode 100644 home-assistant/home-assistant/kustomizeconfig.yml create mode 100644 home-assistant/home-assistant/templates/extensions.yaml create mode 100644 home-assistant/home-assistant/templates/release.yaml create mode 100644 home-assistant/home-assistant/templates/repository.yaml create mode 100644 home-assistant/home-assistant/values.yaml create mode 100644 home-assistant/kustomization.yaml rename home-assistant/{charts/node-red/templates => node-red/extensions}/configmap-config.yaml (94%) rename home-assistant/{charts/node-red/templates => node-red/extensions}/configmap-scripts.yaml (96%) rename home-assistant/{charts/node-red/templates => node-red/extensions}/external-secret-backup.yaml (80%) rename home-assistant/{charts/node-red/templates => node-red/extensions}/external-secret-credentials.yaml (80%) create mode 100644 home-assistant/node-red/extensions/kustomization.yaml rename home-assistant/{charts/node-red/templates => node-red/extensions}/restore-job.yaml (90%) create mode 100644 home-assistant/node-red/kustomization.yaml create mode 100644 home-assistant/node-red/kustomizeconfig.yml create mode 100644 home-assistant/node-red/templates/extensions.yaml create mode 100644 home-assistant/node-red/templates/release.yaml create mode 100644 home-assistant/node-red/templates/repository.yaml create mode 100644 home-assistant/node-red/values.yaml create mode 100644 home-assistant/ring-mqtt/extensions/configmap-git.yaml rename home-assistant/{charts/ring-mqtt/templates => ring-mqtt/extensions}/configmap-scripts.yaml (100%) rename home-assistant/{charts/ring-mqtt/templates => ring-mqtt/extensions}/external-secret-backup.yaml (84%) rename home-assistant/{charts/ring-mqtt/templates => ring-mqtt/extensions}/external-secret-gcp.yaml (90%) create mode 100644 home-assistant/ring-mqtt/extensions/kustomization.yaml create mode 100644 home-assistant/ring-mqtt/kustomization.yaml create mode 100644 home-assistant/ring-mqtt/kustomizeconfig.yml create mode 100644 home-assistant/ring-mqtt/templates/extensions.yaml create mode 100644 home-assistant/ring-mqtt/templates/release.yaml create mode 100644 home-assistant/ring-mqtt/templates/repository.yaml create mode 100644 home-assistant/ring-mqtt/values.yaml rename home-assistant/{charts/telegraf/templates => telegraf/extensions}/configmap-grafana-datasources.yaml (88%) rename home-assistant/{charts/telegraf/templates => telegraf/extensions}/configmap-plugin-config.yaml (100%) rename home-assistant/{charts/telegraf/templates => telegraf/extensions}/configmap-scripts.yaml (100%) rename home-assistant/{charts/telegraf/templates => telegraf/extensions}/configmap-telegraf-config.yaml (81%) rename home-assistant/{charts/telegraf/templates => telegraf/extensions}/external-secret-grafana-datasource-secrets.yaml (81%) rename home-assistant/{charts/telegraf/templates => telegraf/extensions}/external-secret-plugin-kinesis-firehose.yaml (83%) rename home-assistant/{charts/telegraf/templates => telegraf/extensions}/external-secret-remote-token.yaml (90%) create mode 100644 home-assistant/telegraf/extensions/kustomization.yaml rename home-assistant/{charts/telegraf/templates => telegraf/extensions}/rbac-grafana.yaml (100%) create mode 100644 home-assistant/telegraf/kustomization.yaml create mode 100644 home-assistant/telegraf/kustomizeconfig.yml create mode 100644 home-assistant/telegraf/templates/extensions.yaml create mode 100644 home-assistant/telegraf/templates/release.yaml create mode 100644 home-assistant/telegraf/templates/repository.yaml create mode 100644 home-assistant/telegraf/values.yaml rename home-assistant/{charts/zwave/templates => zwave/extensions}/configmap-scripts.yaml (94%) rename home-assistant/{charts/zwave/templates => zwave/extensions}/external-secret-backup.yaml (81%) rename home-assistant/{charts/zwave/templates => zwave/extensions}/external-secret-network.yaml (90%) rename home-assistant/{charts/zwave/templates => zwave/extensions}/external-secret-session.yaml (90%) create mode 100644 home-assistant/zwave/extensions/kustomization.yaml rename home-assistant/{charts/zwave/templates => zwave/extensions}/rbac-backup.yaml (85%) rename home-assistant/{charts/zwave/templates => zwave/extensions}/restore-job.yaml (91%) create mode 100644 home-assistant/zwave/kustomization.yaml create mode 100644 home-assistant/zwave/kustomizeconfig.yml create mode 100644 home-assistant/zwave/templates/extensions.yaml create mode 100644 home-assistant/zwave/templates/release.yaml create mode 100644 home-assistant/zwave/templates/repository.yaml create mode 100644 home-assistant/zwave/values.yaml delete mode 100644 infrastructure/applications/values-development.yaml delete mode 100644 infrastructure/applications/values-production.yaml delete mode 100644 infrastructure/applications/values.yaml delete mode 100644 infrastructure/charts/argocd/.helmignore delete mode 100644 infrastructure/charts/argocd/Chart.lock delete mode 100644 infrastructure/charts/argocd/Chart.yaml delete mode 100644 infrastructure/charts/argocd/templates/external-secret-notifications.yaml delete mode 100644 infrastructure/charts/argocd/values-production.yaml delete mode 100644 infrastructure/charts/argocd/values.yaml delete mode 100644 infrastructure/charts/cilium/.helmignore delete mode 100644 infrastructure/charts/cilium/Chart.lock delete mode 100644 infrastructure/charts/cilium/Chart.yaml delete mode 100644 infrastructure/charts/cilium/values-production.yaml delete mode 100644 infrastructure/charts/cilium/values.yaml delete mode 100644 infrastructure/charts/csi-nfs-driver/.helmignore delete mode 100644 infrastructure/charts/csi-nfs-driver/Chart.lock delete mode 100644 infrastructure/charts/csi-nfs-driver/Chart.yaml delete mode 100644 infrastructure/charts/csi-nfs-driver/templates/nfs-mount-options.yaml delete mode 100644 infrastructure/charts/csi-nfs-driver/templates/storageclass.yaml delete mode 100644 infrastructure/charts/csi-nfs-driver/values-production.yaml delete mode 100644 infrastructure/charts/csi-nfs-driver/values.yaml delete mode 100644 infrastructure/charts/external-secrets/.helmignore delete mode 100644 infrastructure/charts/external-secrets/Chart.lock delete mode 100644 infrastructure/charts/external-secrets/Chart.yaml delete mode 100644 infrastructure/charts/external-secrets/values-production.yaml delete mode 100644 infrastructure/charts/external-secrets/values.yaml delete mode 100644 infrastructure/charts/longhorn/.helmignore delete mode 100644 infrastructure/charts/longhorn/Chart.lock delete mode 100644 infrastructure/charts/longhorn/Chart.yaml delete mode 100644 infrastructure/charts/longhorn/values-production.yaml delete mode 100644 infrastructure/charts/longhorn/values.yaml delete mode 100644 infrastructure/charts/metallb/.helmignore delete mode 100644 infrastructure/charts/metallb/Chart.lock delete mode 100644 infrastructure/charts/metallb/Chart.yaml delete mode 100644 infrastructure/charts/metallb/values-production.yaml delete mode 100644 infrastructure/charts/metallb/values.yaml create mode 100644 infrastructure/cilium/kustomization.yaml create mode 100644 infrastructure/cilium/kustomizeconfig.yaml create mode 100644 infrastructure/cilium/templates/release.yaml create mode 100644 infrastructure/cilium/templates/repository.yaml create mode 100644 infrastructure/cilium/values.yaml create mode 100644 infrastructure/external-secrets/extensions/kustomization.yaml create mode 100644 infrastructure/external-secrets/extensions/secrets/kustomization.yaml rename infrastructure/{kustomizations/external-secrets-stores/stores/cert-manager.yml => external-secrets/extensions/stores/cert-manager.yaml} (100%) rename infrastructure/{kustomizations/external-secrets-stores/stores/external-dns.yml => external-secrets/extensions/stores/external-dns.yaml} (100%) rename infrastructure/{kustomizations/external-secrets-stores/stores/grafana.yml => external-secrets/extensions/stores/grafana.yaml} (100%) rename infrastructure/{kustomizations/external-secrets-stores/stores/home-assistant.yml => external-secrets/extensions/stores/home-assistant.yaml} (100%) create mode 100644 infrastructure/external-secrets/extensions/stores/kustomization.yaml create mode 100644 infrastructure/external-secrets/kustomization.yaml create mode 100644 infrastructure/external-secrets/kustomizeconfig.yaml create mode 100644 infrastructure/external-secrets/templates/extensions.yaml create mode 100644 infrastructure/external-secrets/templates/release.yaml create mode 100644 infrastructure/external-secrets/templates/repository.yaml create mode 100644 infrastructure/external-secrets/values.yaml create mode 100644 infrastructure/kustomization.yaml delete mode 100644 infrastructure/kustomizations/external-secrets-stores/kustomization.yaml delete mode 100644 infrastructure/kustomizations/external-secrets-stores/secret-generator.yml delete mode 100644 infrastructure/kustomizations/external-secrets-stores/secrets/secret-doppler-auth-argocd.enc.yml delete mode 100644 infrastructure/kustomizations/external-secrets-stores/secrets/secret-doppler-auth-cert-manager.enc.yml delete mode 100644 infrastructure/kustomizations/external-secrets-stores/secrets/secret-doppler-auth-external-dns.enc.yml delete mode 100644 infrastructure/kustomizations/external-secrets-stores/secrets/secret-doppler-auth-grafana.enc.yml delete mode 100644 infrastructure/kustomizations/external-secrets-stores/secrets/secret-doppler-auth-home-assistant.enc.yml delete mode 100644 infrastructure/kustomizations/external-secrets-stores/secrets/secret-doppler-auth-minio.enc.yml delete mode 100644 infrastructure/kustomizations/external-secrets-stores/stores/argocd.yml delete mode 100644 infrastructure/kustomizations/external-secrets-stores/stores/minio.yml create mode 100644 infrastructure/longhorn/extensions/kustomization.yaml rename infrastructure/{charts/longhorn/templates/storageclass-longhorn.yaml => longhorn/extensions/storageclass.yaml} (100%) create mode 100644 infrastructure/longhorn/kustomization.yaml create mode 100644 infrastructure/longhorn/kustomizeconfig.yaml create mode 100644 infrastructure/longhorn/templates/extensions.yaml create mode 100644 infrastructure/longhorn/templates/release.yaml create mode 100644 infrastructure/longhorn/templates/repository.yaml create mode 100644 infrastructure/longhorn/values.yaml rename infrastructure/{charts/metallb/templates => metallb/extensions}/ip-address-pool.yaml (51%) create mode 100644 infrastructure/metallb/extensions/kustomization.yaml rename infrastructure/{charts/metallb/templates => metallb/extensions}/l2-advertisement.yaml (62%) create mode 100644 infrastructure/metallb/kustomization.yaml create mode 100644 infrastructure/metallb/kustomizeconfig.yaml create mode 100644 infrastructure/metallb/templates/extensions.yaml create mode 100644 infrastructure/metallb/templates/release.yaml create mode 100644 infrastructure/metallb/templates/repository.yaml create mode 100644 infrastructure/metallb/values.yaml rename {core/charts/traefik/templates => infrastructure/traefik/extensions}/ingress.yaml (61%) create mode 100644 infrastructure/traefik/extensions/kustomization.yaml create mode 100644 infrastructure/traefik/kustomization.yaml create mode 100644 infrastructure/traefik/kustomizeconfig.yaml create mode 100644 infrastructure/traefik/templates/extensions.yaml create mode 100644 infrastructure/traefik/templates/release.yaml create mode 100644 infrastructure/traefik/templates/repository.yaml create mode 100644 infrastructure/traefik/values.yaml delete mode 100644 library/charts/applications/.helmignore delete mode 100644 library/charts/applications/Chart.yaml delete mode 100644 library/charts/applications/templates/application.yaml delete mode 100644 library/charts/applications/templates/project.yml delete mode 100644 library/charts/applications/values-production.yaml delete mode 100644 library/charts/applications/values.yaml diff --git a/.github/workflows/pipeline.yml b/.github/workflows/pipeline.yml index 1aef2d7c..bb229883 100644 --- a/.github/workflows/pipeline.yml +++ b/.github/workflows/pipeline.yml @@ -7,56 +7,15 @@ on: - main workflow_dispatch: -env: - HELM_EXPERIMENTAL_OCI: true - jobs: - conform: - runs-on: ubuntu-latest - name: Conform - - steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 - with: - fetch-depth: 0 - - - uses: siderolabs/conform@v0.1.0-alpha.27 - with: - token: ${{ secrets.GITHUB_TOKEN }} - lint: runs-on: ubuntu-latest - name: Lint Charts - strategy: - max-parallel: 12 - matrix: - python-version: ["3.11"] - helm-version: ["3.13.0"] - yamale-version: ["4.0.4"] - directory: - - applications - - core - - home-assistant - - infrastructure - - library + name: Lint steps: - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 with: fetch-depth: 0 - - uses: yokawasa/action-setup-kube-tools@v0.9.3 - with: - setup-tools: helm - helm: ${{ matrix.helm-version }} - - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - - uses: helm/chart-testing-action@v2.4.0 - with: - yamale_version: ${{ matrix.yamale-version }} - - - name: Lint all charts - run: ct lint --all --chart-dirs ${{ matrix.directory }}/charts --config ${{ github.workspace }}/ct.yml + - run: | + yamllint . diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 09895cdb..9cb0d72d 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -4,9 +4,6 @@ name: Pull Request on: pull_request: -env: - HELM_EXPERIMENTAL_OCI: true - jobs: conform: runs-on: ubuntu-latest @@ -23,46 +20,12 @@ jobs: lint: runs-on: ubuntu-latest - name: Lint Charts - strategy: - max-parallel: 12 - matrix: - python-version: ["3.11"] - helm-version: ["3.13.0"] - yamale-version: ["4.0.4"] - directory: - - applications - - core - - home-assistant - - infrastructure - - library + name: Lint steps: - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 with: fetch-depth: 0 - - uses: yokawasa/action-setup-kube-tools@v0.9.3 - with: - setup-tools: helm - helm: ${{ matrix.helm-version }} - - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - - uses: helm/chart-testing-action@v2.4.0 - with: - yamale_version: ${{ matrix.yamale-version }} - - - name: List changed charts - id: list-changed - run: | - changed=$(ct list-changed --chart-dirs ${{ matrix.directory }}/charts --config ${{ github.workspace }}/ct.yml) - if [[ -n "$changed" ]]; then - echo "changed=true" >> ${GITHUB_OUTPUT} - fi - - - name: Lint changed charts - if: steps.list-changed.outputs.changed == 'true' - run: ct lint --chart-dirs ${{ matrix.directory }}/charts --config ${{ github.workspace }}/ct.yml + - run: | + yamllint . diff --git a/.gitignore b/.gitignore index 153d7e00..ad9a8323 100644 --- a/.gitignore +++ b/.gitignore @@ -33,3 +33,4 @@ TODO.md !**/secret-*.enc.yml !**/secret-generator.yaml !**/secret-generator.yml +local.env diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 5f0ca0cc..6b314408 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -7,7 +7,7 @@ repos: stages: - commit-msg - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v4.4.0 + rev: v4.5.0 hooks: - id: check-json - id: check-merge-conflict @@ -17,12 +17,12 @@ repos: - id: destroyed-symlinks - id: detect-aws-credentials args: [ - "--allow-missing-credentials" + "--allow-missing-credentials" ] - id: detect-private-key - id: trailing-whitespace args: [ - "--markdown-linebreak-ext=md" + "--markdown-linebreak-ext=md" ] # - id: no-commit-to-branch # args: [ diff --git a/.sops.yaml b/.sops.yaml index a63090b9..e78446a5 100644 --- a/.sops.yaml +++ b/.sops.yaml @@ -1,3 +1,4 @@ +--- creation_rules: - - unencrypted_regex: "^(apiVersion|metadata|kind|type)$" + - encrypted_regex: ^(data|stringData)$ gcp_kms: projects/tuxnet-385112/locations/europe/keyRings/infrastructure-encryption/cryptoKeys/infrastructure-encryption diff --git a/.versionrc.json b/.versionrc.json deleted file mode 100644 index 495359c2..00000000 --- a/.versionrc.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "releaseCommitMessageFormat": "chore(release): release {{currentTag}} [skip ci] [release]", - "tagPrefix": "v", - "bumpFiles": [], - "packageFiles": [], - "header": "# Changelog\n\n" -} diff --git a/.yamllint b/.yamllint new file mode 100644 index 00000000..d51cb28a --- /dev/null +++ b/.yamllint @@ -0,0 +1,14 @@ +--- +extends: default + +ignore: + - secret-*.enc.yml + +rules: + line-length: + max: 300 + comments: + min-spaces-from-content: 1 + truthy: + ignore: + - .github/ diff --git a/README.md b/README.md index 38934607..c6cfc21e 100644 --- a/README.md +++ b/README.md @@ -1,48 +1,36 @@ # Homelab: Kubernetes Home Cluster - Applications -[![Build status](https://img.shields.io/github/actions/workflow/status/muhlba91/homelab-kubernetes-home-applications/pipeline.yml?style=for-the-badge)](https://github.com/muhlba91/homelab-kubernetes-home-applications/actions/workflows/pipeline.yml) -[![License](https://img.shields.io/github/license/muhlba91/homelab-kubernetes-home-applications?style=for-the-badge)](LICENSE.md) +[![Build status](https://img.shields.io/github/actions/workflow/status/muhlba91/homelab-home-cluster-applications/pipeline.yml?style=for-the-badge)](https://github.com/muhlba91/homelab-home-cluster-applications/actions/workflows/pipeline.yml) +[![License](https://img.shields.io/github/license/muhlba91/homelab-home-cluster-applications?style=for-the-badge)](LICENSE.md) -This repository contains applications deployed on the `home-cluster` via [ArgoCD](https://argo-cd.readthedocs.io/en/stable/) using [GitOps](https://opengitops.dev). +This repository contains applications deployed on the `home-cluster` via [Flux](https://fluxcd.io) using [GitOps](https://opengitops.dev). --- ## Bootstrapping -A Kubernetes cluster needs to be bootstrapped with the [Cilium CNI](https://cilium.io) and ArgoCD with an `Application` pointing to this repository. +A Kubernetes cluster needs to be bootstrapped with the [Cilium CNI](https://cilium.io) and Flux pointing to this repository. -For [ksops](https://github.com/viaduct-ai/kustomize-sops) and ArgoCD to decrypt the initial secrets for configuring the [External Secrets Operator](http://external-secrets.io) using [Doppler](http://doppler.com), a [Google Cloud Service Account](https://cloud.google.com/docs/authentication#service-accounts) with access to the correct KMS key needs to be set in the `argocd` namespace. You can check out [`infrastructure/charts/argocd/values.yaml`](infrastructure/charts/argocd/values.yaml) on how this secret is passed to ArgoCD. +For [ksops](https://github.com/viaduct-ai/kustomize-sops) and ArgoCD to decrypt the initial secrets for configuring the [External Secrets Operator](http://external-secrets.io) using [Doppler](http://doppler.com), a [Google Cloud Service Account](https://cloud.google.com/docs/authentication#service-accounts) with access to the correct KMS key needs to be set in the `flux` namespace. -ArgoCD will then manage Cilium, itself, and all applications as defined in this repository. +***Attention:*** some applications will be automatically deployed, others not (yet). --- -## ArgoCD App-of-Apps +## App-of-Apps -The repository layout follows ArgoCD's [app-of-apps pattern](https://argo-cd.readthedocs.io/en/stable/operator-manual/cluster-bootstrapping/). +The repository follows the app-of-apps pattern. -The first ArgoCD `Application` being defined needs to reference [`app-of-apps/values.yaml`](app-of-apps/values.yaml) and the environment specific `values-.yaml` files. +The first Flux `Kustomization` being defined needs to reference [`app-of-apps/`](app-of-apps/). -These are bootstrapping the main ArgoCD projects and applications, referring to the respective `/applications/values[-].yaml` files: +These are bootstrapping the main Flux applications, referring to the respective `/applications/` kosutomizations: -- [`infrastructure`](#infrastructure): core cluster infrastructure, like Cilium and ArgoCD -- [`core`](#core-applications): core applications, like [cert-manager](http://cert-manager.io) and [traefik](https://traefik.io) +- [`infrastructure`](#infrastructure): core cluster infrastructure +- [`core`](#core-applications): core applications - [`applications`](#user-applications): (user) applications running on the cluster/network - [`home-assistant`](#home-assistant): [Home Assistant](http://home-assistant.io) related applications -Each of these applications follows the app-of-apps pattern again using subcharts defined in the respective `charts` directory. - -### Additional Helm Value Files - -In addition to the included `values[-