From af4329eb7c00d196240246b5972cb2395c879c7b Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Sat, 8 Jun 2024 16:09:20 +0200 Subject: [PATCH] Stack v2: Refactoring to use the argo-cd-apps chart (#5368) * feat(argo-cd): Stack v2 using argo-cd-apps Signed-off-by: Nicolas Lamirault --- .../apps/aws/staging/chaos/annotations.yaml | 37 ------- .../argocd/apps/aws/staging/chaos/labels.yaml | 30 ------ .../aws/staging/chaos/litmus-chaos-aws.yaml | 62 ------------ .../apps/aws/staging/chaos/litmus-chaos.yaml | 62 ------------ .../apps/aws/staging/core/annotations.yaml | 37 ------- .../apps/aws/staging/core/argo-events.yaml | 62 ------------ .../apps/aws/staging/core/argo-rollouts.yaml | 62 ------------ .../apps/aws/staging/core/argo-workflows.yaml | 62 ------------ .../aws/staging/core/aws-ebs-csi-driver.yaml | 64 ------------ .../aws/staging/core/aws-efs-csi-driver.yaml | 64 ------------ .../aws/staging/core/aws-fsx-csi-driver.yaml | 64 ------------ .../core/aws-load-balancer-controller.yaml | 64 ------------ .../core/aws-node-terminaison-hander.yaml | 64 ------------ .../apps/aws/staging/core/karpenter.yaml | 65 ------------ .../apps/aws/staging/core/kustomization.yaml | 37 ------- .../argocd/apps/aws/staging/core/labels.yaml | 29 ------ .../apps/aws/staging/core/metrics-server.yaml | 64 ------------ .../apps/aws/staging/core/sealed-secrets.yaml | 64 ------------ .../core/secrets-store-csi-driver-aws.yaml | 64 ------------ .../core/secrets-store-csi-driver.yaml | 64 ------------ .../aws/staging/networking/annotations.yaml | 37 ------- .../aws/staging/networking/external-dns.yaml | 62 ------------ .../apps/aws/staging/networking/labels.yaml | 29 ------ .../staging/observability/annotations.yaml | 37 ------- .../aws/staging/observability/grafana.yaml | 62 ------------ .../observability/kube-prometheus-stack.yaml | 64 ------------ .../staging/observability/kustomization.yaml | 33 ------- .../aws/staging/observability/labels.yaml | 29 ------ .../apps/aws/staging/observability/loki.yaml | 62 ------------ .../staging/observability/monitoring-aws.yaml | 62 ------------ .../apps/aws/staging/observability/tempo.yaml | 62 ------------ .../argocd/apps/aws/staging/system/keda.yaml | 62 ------------ .../argocd/apps/aws/staging/system/keptn.yaml | 62 ------------ .../apps/aws/staging/system/labels.yaml | 29 ------ .../argocd/apps/base/chaos/annotations.yaml | 33 ------- .../apps/base/chaos/applicationset.yaml | 72 -------------- gitops/argocd/apps/base/chaos/labels.yaml | 31 ------ gitops/argocd/apps/base/core/annotations.yaml | 33 ------- .../argocd/apps/base/core/applicationset.yaml | 72 -------------- gitops/argocd/apps/base/core/labels.yaml | 31 ------ gitops/argocd/apps/base/demo/annotations.yaml | 33 ------- .../argocd/apps/base/demo/applicationset.yaml | 72 -------------- .../argocd/apps/base/demo/kustomization.yaml | 25 ----- gitops/argocd/apps/base/demo/labels.yaml | 31 ------ .../apps/base/networking/annotations.yaml | 33 ------- .../apps/base/networking/applicationset.yaml | 72 -------------- .../apps/base/networking/kustomization.yaml | 25 ----- .../argocd/apps/base/networking/labels.yaml | 31 ------ .../apps/base/observability/annotations.yaml | 33 ------- .../base/observability/applicationset.yaml | 72 -------------- .../base/observability/kustomization.yaml | 25 ----- .../apps/base/observability/labels.yaml | 31 ------ .../apps/base/security/annotations.yaml | 33 ------- .../apps/base/security/applicationset.yaml | 72 -------------- .../apps/base/security/kustomization.yaml | 25 ----- gitops/argocd/apps/base/security/labels.yaml | 31 ------ .../argocd/apps/base/storage/annotations.yaml | 33 ------- .../apps/base/storage/applicationset.yaml | 72 -------------- .../apps/base/storage/kustomization.yaml | 25 ----- gitops/argocd/apps/base/storage/labels.yaml | 31 ------ .../argocd/apps/base/system/annotations.yaml | 33 ------- .../apps/base/system/applicationset.yaml | 72 -------------- .../apps/base/system/kustomization.yaml | 25 ----- gitops/argocd/apps/base/system/labels.yaml | 31 ------ .../argocd/apps/base/tools/annotations.yaml | 33 ------- .../apps/base/tools/applicationset.yaml | 73 -------------- .../argocd/apps/base/tools/kustomization.yaml | 25 ----- gitops/argocd/apps/base/tools/labels.yaml | 31 ------ .../kustomization.yaml => chaos/Chart.yaml} | 19 ++-- .../argocd/apps/chaos/values-aws-staging.yaml | 53 ++++++++++ .../argocd/apps/chaos/values-k3s-homelab.yaml | 53 ++++++++++ gitops/argocd/apps/chaos/values.yaml | 85 ++++++++++++++++ .../kustomization.yaml => core/Chart.yaml} | 17 ++-- .../argocd/apps/core/values-aws-staging.yaml | 98 +++++++++++++++++++ .../argocd/apps/core/values-k3s-homelab.yaml | 80 +++++++++++++++ gitops/argocd/apps/core/values.yaml | 85 ++++++++++++++++ .../kustomization.yaml => demo/Chart.yaml} | 17 ++-- .../argocd/apps/demo/values-aws-staging.yaml | 59 +++++++++++ .../argocd/apps/demo/values-k3s-homelab.yaml | 59 +++++++++++ gitops/argocd/apps/demo/values.yaml | 85 ++++++++++++++++ .../apps/k3s/homelab/chaos/annotations.yaml | 33 ------- .../k3s/homelab/chaos/applicationset.yaml | 39 -------- .../apps/k3s/homelab/chaos/kustomization.yaml | 27 ----- .../argocd/apps/k3s/homelab/chaos/labels.yaml | 28 ------ .../apps/k3s/homelab/core/annotations.yaml | 33 ------- .../apps/k3s/homelab/core/applicationset.yaml | 66 ------------- .../apps/k3s/homelab/core/kustomization.yaml | 27 ----- .../argocd/apps/k3s/homelab/core/labels.yaml | 28 ------ .../apps/k3s/homelab/demo/annotations.yaml | 33 ------- .../apps/k3s/homelab/demo/applicationset.yaml | 45 --------- .../apps/k3s/homelab/demo/kustomization.yaml | 27 ----- .../argocd/apps/k3s/homelab/demo/labels.yaml | 28 ------ .../k3s/homelab/networking/annotations.yaml | 33 ------- .../homelab/networking/applicationset.yaml | 48 --------- .../k3s/homelab/networking/kustomization.yaml | 27 ----- .../apps/k3s/homelab/networking/labels.yaml | 28 ------ .../homelab/observability/annotations.yaml | 33 ------- .../homelab/observability/applicationset.yaml | 75 -------------- .../homelab/observability/kustomization.yaml | 27 ----- .../k3s/homelab/observability/labels.yaml | 28 ------ .../k3s/homelab/security/annotations.yaml | 33 ------- .../k3s/homelab/security/applicationset.yaml | 63 ------------ .../k3s/homelab/security/kustomization.yaml | 27 ----- .../apps/k3s/homelab/security/labels.yaml | 28 ------ .../apps/k3s/homelab/storage/annotations.yaml | 33 ------- .../k3s/homelab/storage/applicationset.yaml | 36 ------- .../k3s/homelab/storage/kustomization.yaml | 27 ----- .../apps/k3s/homelab/storage/labels.yaml | 28 ------ .../apps/k3s/homelab/system/annotations.yaml | 33 ------- .../k3s/homelab/system/applicationset.yaml | 54 ---------- .../k3s/homelab/system/kustomization.yaml | 27 ----- .../apps/k3s/homelab/system/labels.yaml | 28 ------ .../apps/k3s/homelab/tools/annotations.yaml | 33 ------- .../k3s/homelab/tools/applicationset.yaml | 48 --------- .../apps/k3s/homelab/tools/kustomization.yaml | 27 ----- .../argocd/apps/k3s/homelab/tools/labels.yaml | 28 ------ .../apps/kind/local/core/argo-events.yaml | 58 ----------- .../apps/kind/local/core/argo-rollouts.yaml | 58 ----------- .../apps/kind/local/core/argo-workflows.yaml | 58 ----------- .../apps/kind/local/core/kustomization.yaml | 28 ------ .../argocd/apps/kind/local/core/labels.yaml | 29 ------ .../apps/kind/local/core/metrics-server.yaml | 58 ----------- .../apps/kind/local/core/sealed-secrets.yaml | 58 ----------- .../apps/kind/local/networking/cilium.yaml | 58 ----------- .../kind/local/networking/kustomization.yaml | 24 ----- .../apps/kind/local/networking/labels.yaml | 29 ------ .../kind/local/observability/grafana.yaml | 58 ----------- .../observability/kube-prometheus-stack.yaml | 60 ------------ .../local/observability/kustomization.yaml | 32 ------ .../apps/kind/local/observability/labels.yaml | 29 ------ .../argocd/apps/kind/local/system/keda.yaml | 58 ----------- .../apps/kind/local/system/kustomization.yaml | 28 ------ .../argocd/apps/kind/local/system/labels.yaml | 29 ------ .../Chart.yaml} | 18 ++-- .../apps/networking/values-aws-staging.yaml | 62 ++++++++++++ .../apps/networking/values-k3s-homelab.yaml | 62 ++++++++++++ gitops/argocd/apps/networking/values.yaml | 85 ++++++++++++++++ gitops/argocd/apps/observability/Chart.yaml | 26 +++++ .../observability/values-aws-staging.yaml | 89 +++++++++++++++++ .../observability/values-k3s-homelab.yaml | 89 +++++++++++++++++ gitops/argocd/apps/observability/values.yaml | 85 ++++++++++++++++ gitops/argocd/apps/security/Chart.yaml | 26 +++++ .../apps/security/values-aws-staging.yaml | 77 +++++++++++++++ .../apps/security/values-k3s-homelab.yaml | 77 +++++++++++++++ gitops/argocd/apps/security/values.yaml | 85 ++++++++++++++++ gitops/argocd/apps/system/Chart.yaml | 26 +++++ .../apps/system/values-aws-staging.yaml | 59 +++++++++++ .../apps/system/values-k3s-homelab.yaml | 68 +++++++++++++ gitops/argocd/apps/system/values.yaml | 85 ++++++++++++++++ .../kustomization.yaml => tools/Chart.yaml} | 17 ++-- .../argocd/apps/tools/values-aws-staging.yaml | 62 ++++++++++++ .../argocd/apps/tools/values-k3s-homelab.yaml | 62 ++++++++++++ gitops/argocd/apps/tools/values.yaml | 85 ++++++++++++++++ gitops/argocd/bootstrap/argo-cd | 1 - gitops/argocd/stacks/Chart.yaml | 3 +- gitops/argocd/stacks/templates/apps.yaml | 4 +- .../stacks/values-aws-staging-core.yaml | 10 +- .../stacks/values-aws-staging-networking.yaml | 10 +- .../values-aws-staging-observability.yaml | 10 +- .../stacks/values-aws-staging-system.yaml | 10 +- .../stacks/values-k3s-homelab-chaos.yaml | 10 +- .../stacks/values-k3s-homelab-core.yaml | 10 +- .../stacks/values-k3s-homelab-demo.yaml | 10 +- .../stacks/values-k3s-homelab-networking.yaml | 10 +- .../values-k3s-homelab-observability.yaml | 10 +- .../stacks/values-k3s-homelab-security.yaml | 10 +- .../stacks/values-k3s-homelab-storage.yaml | 10 +- .../stacks/values-k3s-homelab-system.yaml | 10 +- .../stacks/values-k3s-homelab-tools.yaml | 10 +- .../argocd/stacks/values-kind-local-core.yaml | 10 +- .../stacks/values-kind-local-networking.yaml | 10 +- .../values-kind-local-observability.yaml | 10 +- gitops/argocd/stacks/values.yaml | 9 +- 173 files changed, 1989 insertions(+), 5374 deletions(-) delete mode 100644 gitops/argocd/apps/aws/staging/chaos/annotations.yaml delete mode 100644 gitops/argocd/apps/aws/staging/chaos/labels.yaml delete mode 100644 gitops/argocd/apps/aws/staging/chaos/litmus-chaos-aws.yaml delete mode 100644 gitops/argocd/apps/aws/staging/chaos/litmus-chaos.yaml delete mode 100644 gitops/argocd/apps/aws/staging/core/annotations.yaml delete mode 100644 gitops/argocd/apps/aws/staging/core/argo-events.yaml delete mode 100644 gitops/argocd/apps/aws/staging/core/argo-rollouts.yaml delete mode 100644 gitops/argocd/apps/aws/staging/core/argo-workflows.yaml delete mode 100644 gitops/argocd/apps/aws/staging/core/aws-ebs-csi-driver.yaml delete mode 100644 gitops/argocd/apps/aws/staging/core/aws-efs-csi-driver.yaml delete mode 100644 gitops/argocd/apps/aws/staging/core/aws-fsx-csi-driver.yaml delete mode 100644 gitops/argocd/apps/aws/staging/core/aws-load-balancer-controller.yaml delete mode 100644 gitops/argocd/apps/aws/staging/core/aws-node-terminaison-hander.yaml delete mode 100644 gitops/argocd/apps/aws/staging/core/karpenter.yaml delete mode 100644 gitops/argocd/apps/aws/staging/core/kustomization.yaml delete mode 100644 gitops/argocd/apps/aws/staging/core/labels.yaml delete mode 100644 gitops/argocd/apps/aws/staging/core/metrics-server.yaml delete mode 100644 gitops/argocd/apps/aws/staging/core/sealed-secrets.yaml delete mode 100644 gitops/argocd/apps/aws/staging/core/secrets-store-csi-driver-aws.yaml delete mode 100644 gitops/argocd/apps/aws/staging/core/secrets-store-csi-driver.yaml delete mode 100644 gitops/argocd/apps/aws/staging/networking/annotations.yaml delete mode 100644 gitops/argocd/apps/aws/staging/networking/external-dns.yaml delete mode 100644 gitops/argocd/apps/aws/staging/networking/labels.yaml delete mode 100644 gitops/argocd/apps/aws/staging/observability/annotations.yaml delete mode 100644 gitops/argocd/apps/aws/staging/observability/grafana.yaml delete mode 100644 gitops/argocd/apps/aws/staging/observability/kube-prometheus-stack.yaml delete mode 100644 gitops/argocd/apps/aws/staging/observability/kustomization.yaml delete mode 100644 gitops/argocd/apps/aws/staging/observability/labels.yaml delete mode 100644 gitops/argocd/apps/aws/staging/observability/loki.yaml delete mode 100644 gitops/argocd/apps/aws/staging/observability/monitoring-aws.yaml delete mode 100644 gitops/argocd/apps/aws/staging/observability/tempo.yaml delete mode 100644 gitops/argocd/apps/aws/staging/system/keda.yaml delete mode 100644 gitops/argocd/apps/aws/staging/system/keptn.yaml delete mode 100644 gitops/argocd/apps/aws/staging/system/labels.yaml delete mode 100644 gitops/argocd/apps/base/chaos/annotations.yaml delete mode 100644 gitops/argocd/apps/base/chaos/applicationset.yaml delete mode 100644 gitops/argocd/apps/base/chaos/labels.yaml delete mode 100644 gitops/argocd/apps/base/core/annotations.yaml delete mode 100644 gitops/argocd/apps/base/core/applicationset.yaml delete mode 100644 gitops/argocd/apps/base/core/labels.yaml delete mode 100644 gitops/argocd/apps/base/demo/annotations.yaml delete mode 100644 gitops/argocd/apps/base/demo/applicationset.yaml delete mode 100644 gitops/argocd/apps/base/demo/kustomization.yaml delete mode 100644 gitops/argocd/apps/base/demo/labels.yaml delete mode 100644 gitops/argocd/apps/base/networking/annotations.yaml delete mode 100644 gitops/argocd/apps/base/networking/applicationset.yaml delete mode 100644 gitops/argocd/apps/base/networking/kustomization.yaml delete mode 100644 gitops/argocd/apps/base/networking/labels.yaml delete mode 100644 gitops/argocd/apps/base/observability/annotations.yaml delete mode 100644 gitops/argocd/apps/base/observability/applicationset.yaml delete mode 100644 gitops/argocd/apps/base/observability/kustomization.yaml delete mode 100644 gitops/argocd/apps/base/observability/labels.yaml delete mode 100644 gitops/argocd/apps/base/security/annotations.yaml delete mode 100644 gitops/argocd/apps/base/security/applicationset.yaml delete mode 100644 gitops/argocd/apps/base/security/kustomization.yaml delete mode 100644 gitops/argocd/apps/base/security/labels.yaml delete mode 100644 gitops/argocd/apps/base/storage/annotations.yaml delete mode 100644 gitops/argocd/apps/base/storage/applicationset.yaml delete mode 100644 gitops/argocd/apps/base/storage/kustomization.yaml delete mode 100644 gitops/argocd/apps/base/storage/labels.yaml delete mode 100644 gitops/argocd/apps/base/system/annotations.yaml delete mode 100644 gitops/argocd/apps/base/system/applicationset.yaml delete mode 100644 gitops/argocd/apps/base/system/kustomization.yaml delete mode 100644 gitops/argocd/apps/base/system/labels.yaml delete mode 100644 gitops/argocd/apps/base/tools/annotations.yaml delete mode 100644 gitops/argocd/apps/base/tools/applicationset.yaml delete mode 100644 gitops/argocd/apps/base/tools/kustomization.yaml delete mode 100644 gitops/argocd/apps/base/tools/labels.yaml rename gitops/argocd/apps/{aws/staging/system/kustomization.yaml => chaos/Chart.yaml} (78%) create mode 100644 gitops/argocd/apps/chaos/values-aws-staging.yaml create mode 100644 gitops/argocd/apps/chaos/values-k3s-homelab.yaml create mode 100644 gitops/argocd/apps/chaos/values.yaml rename gitops/argocd/apps/{aws/staging/networking/kustomization.yaml => core/Chart.yaml} (78%) create mode 100644 gitops/argocd/apps/core/values-aws-staging.yaml create mode 100644 gitops/argocd/apps/core/values-k3s-homelab.yaml create mode 100644 gitops/argocd/apps/core/values.yaml rename gitops/argocd/apps/{base/core/kustomization.yaml => demo/Chart.yaml} (78%) create mode 100644 gitops/argocd/apps/demo/values-aws-staging.yaml create mode 100644 gitops/argocd/apps/demo/values-k3s-homelab.yaml create mode 100644 gitops/argocd/apps/demo/values.yaml delete mode 100644 gitops/argocd/apps/k3s/homelab/chaos/annotations.yaml delete mode 100644 gitops/argocd/apps/k3s/homelab/chaos/applicationset.yaml delete mode 100644 gitops/argocd/apps/k3s/homelab/chaos/kustomization.yaml delete mode 100644 gitops/argocd/apps/k3s/homelab/chaos/labels.yaml delete mode 100644 gitops/argocd/apps/k3s/homelab/core/annotations.yaml delete mode 100644 gitops/argocd/apps/k3s/homelab/core/applicationset.yaml delete mode 100644 gitops/argocd/apps/k3s/homelab/core/kustomization.yaml delete mode 100644 gitops/argocd/apps/k3s/homelab/core/labels.yaml delete mode 100644 gitops/argocd/apps/k3s/homelab/demo/annotations.yaml delete mode 100644 gitops/argocd/apps/k3s/homelab/demo/applicationset.yaml delete mode 100644 gitops/argocd/apps/k3s/homelab/demo/kustomization.yaml delete mode 100644 gitops/argocd/apps/k3s/homelab/demo/labels.yaml delete mode 100644 gitops/argocd/apps/k3s/homelab/networking/annotations.yaml delete mode 100644 gitops/argocd/apps/k3s/homelab/networking/applicationset.yaml delete mode 100644 gitops/argocd/apps/k3s/homelab/networking/kustomization.yaml delete mode 100644 gitops/argocd/apps/k3s/homelab/networking/labels.yaml delete mode 100644 gitops/argocd/apps/k3s/homelab/observability/annotations.yaml delete mode 100644 gitops/argocd/apps/k3s/homelab/observability/applicationset.yaml delete mode 100644 gitops/argocd/apps/k3s/homelab/observability/kustomization.yaml delete mode 100644 gitops/argocd/apps/k3s/homelab/observability/labels.yaml delete mode 100644 gitops/argocd/apps/k3s/homelab/security/annotations.yaml delete mode 100644 gitops/argocd/apps/k3s/homelab/security/applicationset.yaml delete mode 100644 gitops/argocd/apps/k3s/homelab/security/kustomization.yaml delete mode 100644 gitops/argocd/apps/k3s/homelab/security/labels.yaml delete mode 100644 gitops/argocd/apps/k3s/homelab/storage/annotations.yaml delete mode 100644 gitops/argocd/apps/k3s/homelab/storage/applicationset.yaml delete mode 100644 gitops/argocd/apps/k3s/homelab/storage/kustomization.yaml delete mode 100644 gitops/argocd/apps/k3s/homelab/storage/labels.yaml delete mode 100644 gitops/argocd/apps/k3s/homelab/system/annotations.yaml delete mode 100644 gitops/argocd/apps/k3s/homelab/system/applicationset.yaml delete mode 100644 gitops/argocd/apps/k3s/homelab/system/kustomization.yaml delete mode 100644 gitops/argocd/apps/k3s/homelab/system/labels.yaml delete mode 100644 gitops/argocd/apps/k3s/homelab/tools/annotations.yaml delete mode 100644 gitops/argocd/apps/k3s/homelab/tools/applicationset.yaml delete mode 100644 gitops/argocd/apps/k3s/homelab/tools/kustomization.yaml delete mode 100644 gitops/argocd/apps/k3s/homelab/tools/labels.yaml delete mode 100644 gitops/argocd/apps/kind/local/core/argo-events.yaml delete mode 100644 gitops/argocd/apps/kind/local/core/argo-rollouts.yaml delete mode 100644 gitops/argocd/apps/kind/local/core/argo-workflows.yaml delete mode 100644 gitops/argocd/apps/kind/local/core/kustomization.yaml delete mode 100644 gitops/argocd/apps/kind/local/core/labels.yaml delete mode 100644 gitops/argocd/apps/kind/local/core/metrics-server.yaml delete mode 100644 gitops/argocd/apps/kind/local/core/sealed-secrets.yaml delete mode 100644 gitops/argocd/apps/kind/local/networking/cilium.yaml delete mode 100644 gitops/argocd/apps/kind/local/networking/kustomization.yaml delete mode 100644 gitops/argocd/apps/kind/local/networking/labels.yaml delete mode 100644 gitops/argocd/apps/kind/local/observability/grafana.yaml delete mode 100644 gitops/argocd/apps/kind/local/observability/kube-prometheus-stack.yaml delete mode 100644 gitops/argocd/apps/kind/local/observability/kustomization.yaml delete mode 100644 gitops/argocd/apps/kind/local/observability/labels.yaml delete mode 100644 gitops/argocd/apps/kind/local/system/keda.yaml delete mode 100644 gitops/argocd/apps/kind/local/system/kustomization.yaml delete mode 100644 gitops/argocd/apps/kind/local/system/labels.yaml rename gitops/argocd/apps/{aws/staging/chaos/kustomization.yaml => networking/Chart.yaml} (77%) create mode 100644 gitops/argocd/apps/networking/values-aws-staging.yaml create mode 100644 gitops/argocd/apps/networking/values-k3s-homelab.yaml create mode 100644 gitops/argocd/apps/networking/values.yaml create mode 100644 gitops/argocd/apps/observability/Chart.yaml create mode 100644 gitops/argocd/apps/observability/values-aws-staging.yaml create mode 100644 gitops/argocd/apps/observability/values-k3s-homelab.yaml create mode 100644 gitops/argocd/apps/observability/values.yaml create mode 100644 gitops/argocd/apps/security/Chart.yaml create mode 100644 gitops/argocd/apps/security/values-aws-staging.yaml create mode 100644 gitops/argocd/apps/security/values-k3s-homelab.yaml create mode 100644 gitops/argocd/apps/security/values.yaml create mode 100644 gitops/argocd/apps/system/Chart.yaml create mode 100644 gitops/argocd/apps/system/values-aws-staging.yaml create mode 100644 gitops/argocd/apps/system/values-k3s-homelab.yaml create mode 100644 gitops/argocd/apps/system/values.yaml rename gitops/argocd/apps/{base/chaos/kustomization.yaml => tools/Chart.yaml} (78%) create mode 100644 gitops/argocd/apps/tools/values-aws-staging.yaml create mode 100644 gitops/argocd/apps/tools/values-k3s-homelab.yaml create mode 100644 gitops/argocd/apps/tools/values.yaml delete mode 120000 gitops/argocd/bootstrap/argo-cd diff --git a/gitops/argocd/apps/aws/staging/chaos/annotations.yaml b/gitops/argocd/apps/aws/staging/chaos/annotations.yaml deleted file mode 100644 index 16759d853a..0000000000 --- a/gitops/argocd/apps/aws/staging/chaos/annotations.yaml +++ /dev/null @@ -1,37 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: builtin -kind: AnnotationsTransformer -metadata: - name: annotations -annotations: - notifications.argoproj.io/subscribe.on-deployed.slack: portefaix-homelab-gitops - notifications.argoproj.io/subscribe.on-degraded.slack: portefaix-homelab-gitops - notifications.argoproj.io/subscribe.on-sync-succeeded.slack: portefaix-homelab-gitops - notifications.argoproj.io/subscribe.on-sync-running.slack: portefaix-homelab-gitops - notifications.argoproj.io/subscribe.on-sync-failed: portefaix-homelab-gitops - notifications.argoproj.io/subscribe.on-sync-status-unknown: portefaix-homelab-gitops - a8r.io/description: Argo-CD Chaos Engineering applications - a8r.io/owner: portefaix - a8r.io/bugs: https://github.com/portefaix/portefaix/issues - a8s.io/repository: https://github.com/portefaix/portefaix/tree/master/gitops/argocd/apps/k3s/homelab/chaos - a8r.io/documentation: https://github.com/portefaix/portefaix/blob/master/README.md - a8r.io/support: https://github.com/portefaix/portefaix/issues -fieldSpecs: -- path: metadata/annotations - create: true diff --git a/gitops/argocd/apps/aws/staging/chaos/labels.yaml b/gitops/argocd/apps/aws/staging/chaos/labels.yaml deleted file mode 100644 index b4f838df42..0000000000 --- a/gitops/argocd/apps/aws/staging/chaos/labels.yaml +++ /dev/null @@ -1,30 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: builtin -kind: LabelTransformer -metadata: - name: labels -labels: - app.kubernetes.io/component: argo-cd-application - app.kubernetes.io/managed-by: kustomize - app.kubernetes.io/version: v1.0.0 - portefaix.xyz/stack: chaos - portefaix.xyz/version: v0.54.0 -fieldSpecs: -- path: metadata/labels - create: true diff --git a/gitops/argocd/apps/aws/staging/chaos/litmus-chaos-aws.yaml b/gitops/argocd/apps/aws/staging/chaos/litmus-chaos-aws.yaml deleted file mode 100644 index d61b7e3a1f..0000000000 --- a/gitops/argocd/apps/aws/staging/chaos/litmus-chaos-aws.yaml +++ /dev/null @@ -1,62 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: litmus-chaos-aws - annotations: - # https://argo-cd.readthedocs.io/en/stable/operator-manual/high_availability/#webhook-and-manifest-paths-annotation - argocd.argoproj.io/manifest-generate-paths: /gitops/argocd/charts/litmus/litmus-chaos-aws - notifications.argoproj.io/subscribe.grafana: litmus-chaos-aws - finalizers: - - resources-finalizer.argocd.argoproj.io - labels: - app.kubernetes.io/name: litmus-chaos-aws - app.kubernetes.io/instance: litmus-chaos-aws-argocd-app - app.kubernetes.io/part-of: litmus-chaos -spec: - destination: - namespace: litmus-chaos - server: https://kubernetes.default.svc - project: portefaix-k3s-homelab - source: - path: gitops/argocd/charts/litmus/litmus-chaos-aws - repoURL: https://github.com/portefaix/portefaix-kubernetes.git - targetRevision: master - helm: - skipCrds: true - valueFiles: - - values.yaml - - values-k3s-homelab.yaml - syncPolicy: - automated: - prune: true - selfHeal: true - allowEmpty: false - syncOptions: - - CreateNamespace=true - - Validate=false - - SkipDryRunOnMissingResource=true - - ApplyOutOfSyncOnly=true - # - ServerSideApply=true - # retry: - # limit: 5 - # backoff: - # duration: 5s - # factor: 2 - # maxDuration: 3m0s diff --git a/gitops/argocd/apps/aws/staging/chaos/litmus-chaos.yaml b/gitops/argocd/apps/aws/staging/chaos/litmus-chaos.yaml deleted file mode 100644 index 36c67ed4e4..0000000000 --- a/gitops/argocd/apps/aws/staging/chaos/litmus-chaos.yaml +++ /dev/null @@ -1,62 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: litmus-chaos - annotations: - # https://argo-cd.readthedocs.io/en/stable/operator-manual/high_availability/#webhook-and-manifest-paths-annotation - argocd.argoproj.io/manifest-generate-paths: /gitops/argocd/charts/litmus/litmus-chaos - notifications.argoproj.io/subscribe.grafana: litmus-chaos - finalizers: - - resources-finalizer.argocd.argoproj.io - labels: - app.kubernetes.io/name: litmus-chaos - app.kubernetes.io/instance: litmus-chaos-argocd-app - app.kubernetes.io/part-of: litmus-chaos -spec: - destination: - namespace: litmus-chaos - server: https://kubernetes.default.svc - project: portefaix-k3s-homelab - source: - path: gitops/argocd/charts/litmus/litmus-chaos - repoURL: https://github.com/portefaix/portefaix-kubernetes.git - targetRevision: master - helm: - skipCrds: true - valueFiles: - - values.yaml - - values-k3s-homelab.yaml - syncPolicy: - automated: - prune: true - selfHeal: true - allowEmpty: false - syncOptions: - - CreateNamespace=true - - Validate=false - - SkipDryRunOnMissingResource=true - - ApplyOutOfSyncOnly=true - # - ServerSideApply=true - # retry: - # limit: 5 - # backoff: - # duration: 5s - # factor: 2 - # maxDuration: 3m0s diff --git a/gitops/argocd/apps/aws/staging/core/annotations.yaml b/gitops/argocd/apps/aws/staging/core/annotations.yaml deleted file mode 100644 index abc26d99db..0000000000 --- a/gitops/argocd/apps/aws/staging/core/annotations.yaml +++ /dev/null @@ -1,37 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: builtin -kind: AnnotationsTransformer -metadata: - name: annotations -annotations: - notifications.argoproj.io/subscribe.on-deployed.slack: portefaix-aws-staging-gitops - notifications.argoproj.io/subscribe.on-degraded.slack: portefaix-aws-staging-gitops - notifications.argoproj.io/subscribe.on-sync-succeeded.slack: portefaix-aws-staging-gitops - notifications.argoproj.io/subscribe.on-sync-running.slack: portefaix-aws-staging-gitops - notifications.argoproj.io/subscribe.on-sync-failed: portefaix-aws-staging-gitops - notifications.argoproj.io/subscribe.on-sync-status-unknown: portefaix-aws-staging-gitops - a8r.io/description: Argo-CD Tools application - a8r.io/owner: portefaix - a8r.io/bugs: https://github.com/portefaix/portefaix/issues - a8s.io/repository: https://github.com/portefaix/portefaix/tree/master/gitops/argocd/apps/aws/staging/core - a8r.io/documentation: https://github.com/portefaix/portefaix/blob/master/README.md - a8r.io/support: https://github.com/portefaix/portefaix/issues -fieldSpecs: -- path: metadata/annotations - create: true diff --git a/gitops/argocd/apps/aws/staging/core/argo-events.yaml b/gitops/argocd/apps/aws/staging/core/argo-events.yaml deleted file mode 100644 index 9df91dd5fa..0000000000 --- a/gitops/argocd/apps/aws/staging/core/argo-events.yaml +++ /dev/null @@ -1,62 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: argo-events - annotations: - # https://argo-cd.readthedocs.io/en/stable/operator-manual/high_availability/#webhook-and-manifest-paths-annotation - argocd.argoproj.io/manifest-generate-paths: /gitops/argocd/charts/gitops/argo-events - notifications.argoproj.io/subscribe.grafana: argo-events - finalizers: - - resources-finalizer.argocd.argoproj.io - labels: - app.kubernetes.io/name: argo-events - app.kubernetes.io/instance: argo-events-argocd-app - app.kubernetes.io/component: argo-tools - app.kubernetes.io/part-of: argo-events -spec: - destination: - namespace: gitops - server: https://kubernetes.default.svc - project: portefaix-aws-staging - source: - path: gitops/argocd/charts/gitops/argo-events - repoURL: https://github.com/portefaix/portefaix-kubernetes.git - targetRevision: master - helm: - valueFiles: - - values.yaml - - values-aws-staging.yaml - syncPolicy: - automated: - prune: true - selfHeal: true - allowEmpty: false - syncOptions: - - CreateNamespace=true - - Validate=false - - SkipDryRunOnMissingResource=true - - ApplyOutOfSyncOnly=true - - ServerSideApply=true - # retry: - # limit: 5 - # backoff: - # duration: 5s - # factor: 2 - # maxDuration: 3m0s diff --git a/gitops/argocd/apps/aws/staging/core/argo-rollouts.yaml b/gitops/argocd/apps/aws/staging/core/argo-rollouts.yaml deleted file mode 100644 index 128324597a..0000000000 --- a/gitops/argocd/apps/aws/staging/core/argo-rollouts.yaml +++ /dev/null @@ -1,62 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: argo-rollouts - annotations: - # https://argo-cd.readthedocs.io/en/stable/operator-manual/high_availability/#webhook-and-manifest-paths-annotation - argocd.argoproj.io/manifest-generate-paths: /gitops/argocd/charts/gitops/argo-rollouts - notifications.argoproj.io/subscribe.grafana: argo-rollouts - finalizers: - - resources-finalizer.argocd.argoproj.io - labels: - app.kubernetes.io/name: argo-rollouts - app.kubernetes.io/instance: argo-rollouts-argocd-app - app.kubernetes.io/component: argo-tools - app.kubernetes.io/part-of: argo-rollouts -spec: - destination: - namespace: gitops - server: https://kubernetes.default.svc - project: portefaix-aws-staging - source: - path: gitops/argocd/charts/gitops/argo-rollouts - repoURL: https://github.com/portefaix/portefaix-kubernetes.git - targetRevision: master - helm: - valueFiles: - - values.yaml - - values-aws-staging.yaml - syncPolicy: - automated: - prune: true - selfHeal: true - allowEmpty: false - syncOptions: - - CreateNamespace=true - - Validate=false - - SkipDryRunOnMissingResource=true - - ApplyOutOfSyncOnly=true - - ServerSideApply=true - # retry: - # limit: 5 - # backoff: - # duration: 5s - # factor: 2 - # maxDuration: 3m0s diff --git a/gitops/argocd/apps/aws/staging/core/argo-workflows.yaml b/gitops/argocd/apps/aws/staging/core/argo-workflows.yaml deleted file mode 100644 index d066a6a944..0000000000 --- a/gitops/argocd/apps/aws/staging/core/argo-workflows.yaml +++ /dev/null @@ -1,62 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: argo-workflows - annotations: - # https://argo-cd.readthedocs.io/en/stable/operator-manual/high_availability/#webhook-and-manifest-paths-annotation - argocd.argoproj.io/manifest-generate-paths: /gitops/argocd/charts/gitops/argo-workflows - notifications.argoproj.io/subscribe.grafana: argo-workflows - finalizers: - - resources-finalizer.argocd.argoproj.io - labels: - app.kubernetes.io/name: argo-workflows - app.kubernetes.io/instance: argo-workflows-argocd-app - app.kubernetes.io/component: argo-tools - app.kubernetes.io/part-of: argo-workflows -spec: - destination: - namespace: gitops - server: https://kubernetes.default.svc - project: portefaix-aws-staging - source: - path: gitops/argocd/charts/gitops/argo-workflows - repoURL: https://github.com/portefaix/portefaix-kubernetes.git - targetRevision: master - helm: - valueFiles: - - values.yaml - - values-aws-staging.yaml - syncPolicy: - automated: - prune: true - selfHeal: true - allowEmpty: false - syncOptions: - - CreateNamespace=true - - Validate=false - - SkipDryRunOnMissingResource=true - - ApplyOutOfSyncOnly=true - - ServerSideApply=true - # retry: - # limit: 5 - # backoff: - # duration: 5s - # factor: 2 - # maxDuration: 3m0s diff --git a/gitops/argocd/apps/aws/staging/core/aws-ebs-csi-driver.yaml b/gitops/argocd/apps/aws/staging/core/aws-ebs-csi-driver.yaml deleted file mode 100644 index 47619ab002..0000000000 --- a/gitops/argocd/apps/aws/staging/core/aws-ebs-csi-driver.yaml +++ /dev/null @@ -1,64 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: aws-ebs-csi-driver - annotations: - # https://argo-cd.readthedocs.io/en/stable/operator-manual/high_availability/#webhook-and-manifest-paths-annotation - argocd.argoproj.io/manifest-generate-paths: /gitops/argocd/charts/kube-system/aws-ebs-csi-driver - notifications.argoproj.io/subscribe.grafana: aws-ebs-csi-driver - finalizers: - - resources-finalizer.argocd.argoproj.io - labels: - app.kubernetes.io/name: aws-ebs-csi-driver - app.kubernetes.io/instance: aws-ebs-csi-driver-argocd-app - app.kubernetes.io/component: csi-driver - app.kubernetes.io/part-of: aws-ebs-csi-driver - app.kubernetes.io/managed-by: kustomize - portefaix.xyz/version: v0.54.0 -spec: - destination: - namespace: kube-system - server: https://kubernetes.default.svc - project: portefaix-aws-staging - source: - path: gitops/argocd/charts/kube-system/aws-ebs-csi-driver - repoURL: https://github.com/portefaix/portefaix-kubernetes.git - targetRevision: master - helm: - valueFiles: - - values.yaml - - values-aws-staging.yaml - syncPolicy: - automated: - prune: true - selfHeal: true - allowEmpty: false - syncOptions: - - CreateNamespace=true - - Validate=false - - SkipDryRunOnMissingResource=true - - ApplyOutOfSyncOnly=true - - ServerSideApply=true - # retry: - # limit: 5 - # backoff: - # duration: 5s - # factor: 2 - # maxDuration: 3m0s diff --git a/gitops/argocd/apps/aws/staging/core/aws-efs-csi-driver.yaml b/gitops/argocd/apps/aws/staging/core/aws-efs-csi-driver.yaml deleted file mode 100644 index b5f4a2adba..0000000000 --- a/gitops/argocd/apps/aws/staging/core/aws-efs-csi-driver.yaml +++ /dev/null @@ -1,64 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: aws-efs-csi-driver - annotations: - # https://argo-cd.readthedocs.io/en/stable/operator-manual/high_availability/#webhook-and-manifest-paths-annotation - argocd.argoproj.io/manifest-generate-paths: /gitops/argocd/charts/kube-system/aws-efs-csi-driver - notifications.argoproj.io/subscribe.grafana: aws-efs-csi-driver - finalizers: - - resources-finalizer.argocd.argoproj.io - labels: - app.kubernetes.io/name: aws-efs-csi-driver - app.kubernetes.io/instance: aws-efs-csi-driver-argocd-app - app.kubernetes.io/component: csi-driver - app.kubernetes.io/part-of: aws-efs-csi-driver - app.kubernetes.io/managed-by: kustomize - portefaix.xyz/version: v0.54.0 -spec: - destination: - namespace: kube-system - server: https://kubernetes.default.svc - project: portefaix-aws-staging - source: - path: gitops/argocd/charts/kube-system/aws-efs-csi-driver - repoURL: https://github.com/portefaix/portefaix-kubernetes.git - targetRevision: master - helm: - valueFiles: - - values.yaml - - values-aws-staging.yaml - syncPolicy: - automated: - prune: true - selfHeal: true - allowEmpty: false - syncOptions: - - CreateNamespace=true - - Validate=false - - SkipDryRunOnMissingResource=true - - ApplyOutOfSyncOnly=true - - ServerSideApply=true - # retry: - # limit: 5 - # backoff: - # duration: 5s - # factor: 2 - # maxDuration: 3m0s diff --git a/gitops/argocd/apps/aws/staging/core/aws-fsx-csi-driver.yaml b/gitops/argocd/apps/aws/staging/core/aws-fsx-csi-driver.yaml deleted file mode 100644 index 8fc651caa6..0000000000 --- a/gitops/argocd/apps/aws/staging/core/aws-fsx-csi-driver.yaml +++ /dev/null @@ -1,64 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: aws-fsx-csi-driver - annotations: - # https://argo-cd.readthedocs.io/en/stable/operator-manual/high_availability/#webhook-and-manifest-paths-annotation - argocd.argoproj.io/manifest-generate-paths: /gitops/argocd/charts/kube-system/aws-fsx-csi-driver - notifications.argoproj.io/subscribe.grafana: aws-fsx-csi-driver - finalizers: - - resources-finalizer.argocd.argoproj.io - labels: - app.kubernetes.io/name: aws-fsx-csi-driver - app.kubernetes.io/instance: aws-fsx-csi-driver-argocd-app - app.kubernetes.io/component: csi-driver - app.kubernetes.io/part-of: aws-fsx-csi-driver - app.kubernetes.io/managed-by: kustomize - portefaix.xyz/version: v0.54.0 -spec: - destination: - namespace: kube-system - server: https://kubernetes.default.svc - project: portefaix-aws-staging - source: - path: gitops/argocd/charts/kube-system/aws-fsx-csi-driver - repoURL: https://github.com/portefaix/portefaix-kubernetes.git - targetRevision: master - helm: - valueFiles: - - values.yaml - - values-aws-staging.yaml - syncPolicy: - automated: - prune: true - selfHeal: true - allowEmpty: false - syncOptions: - - CreateNamespace=true - - Validate=false - - SkipDryRunOnMissingResource=true - - ApplyOutOfSyncOnly=true - - ServerSideApply=true - # retry: - # limit: 5 - # backoff: - # duration: 5s - # factor: 2 - # maxDuration: 3m0s diff --git a/gitops/argocd/apps/aws/staging/core/aws-load-balancer-controller.yaml b/gitops/argocd/apps/aws/staging/core/aws-load-balancer-controller.yaml deleted file mode 100644 index fa983ac59e..0000000000 --- a/gitops/argocd/apps/aws/staging/core/aws-load-balancer-controller.yaml +++ /dev/null @@ -1,64 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: aws-load-balancer-controller - annotations: - # https://argo-cd.readthedocs.io/en/stable/operator-manual/high_availability/#webhook-and-manifest-paths-annotation - argocd.argoproj.io/manifest-generate-paths: /gitops/argocd/charts/kube-system/aws-load-balancer-controller - notifications.argoproj.io/subscribe.grafana: aws-load-balancer-controller - finalizers: - - resources-finalizer.argocd.argoproj.io - labels: - app.kubernetes.io/name: aws-load-balancer-controller - app.kubernetes.io/instance: aws-load-balancer-controller-argocd-app - app.kubernetes.io/component: load-balancer-controller - app.kubernetes.io/part-of: aws-load-balancer-controller - app.kubernetes.io/managed-by: kustomize - portefaix.xyz/version: v0.54.0 -spec: - destination: - namespace: kube-system - server: https://kubernetes.default.svc - project: portefaix-aws-staging - source: - path: gitops/argocd/charts/kube-system/aws-load-balancer-controller - repoURL: https://github.com/portefaix/portefaix-kubernetes.git - targetRevision: master - helm: - valueFiles: - - values.yaml - - values-aws-staging.yaml - syncPolicy: - automated: - prune: true - selfHeal: true - allowEmpty: false - syncOptions: - - CreateNamespace=true - - Validate=false - - SkipDryRunOnMissingResource=true - - ApplyOutOfSyncOnly=true - - ServerSideApply=true - # retry: - # limit: 5 - # backoff: - # duration: 5s - # factor: 2 - # maxDuration: 3m0s diff --git a/gitops/argocd/apps/aws/staging/core/aws-node-terminaison-hander.yaml b/gitops/argocd/apps/aws/staging/core/aws-node-terminaison-hander.yaml deleted file mode 100644 index 2a85da6b73..0000000000 --- a/gitops/argocd/apps/aws/staging/core/aws-node-terminaison-hander.yaml +++ /dev/null @@ -1,64 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: aws-node-terminaison-hander - annotations: - # https://argo-cd.readthedocs.io/en/stable/operator-manual/high_availability/#webhook-and-manifest-paths-annotation - argocd.argoproj.io/manifest-generate-paths: /gitops/argocd/charts/kube-system/aws-node-terminaison-hander - notifications.argoproj.io/subscribe.grafana: aws-node-terminaison-hander - finalizers: - - resources-finalizer.argocd.argoproj.io - labels: - app.kubernetes.io/name: aws-node-terminaison-hander - app.kubernetes.io/instance: aws-node-terminaison-hander-argocd-app - app.kubernetes.io/component: node-controller - app.kubernetes.io/part-of: aws-node-terminaison-hander - app.kubernetes.io/managed-by: kustomize - portefaix.xyz/version: v0.54.0 -spec: - destination: - namespace: kube-system - server: https://kubernetes.default.svc - project: portefaix-aws-staging - source: - path: gitops/argocd/charts/kube-system/aws-node-terminaison-hander - repoURL: https://github.com/portefaix/portefaix-kubernetes.git - targetRevision: master - helm: - valueFiles: - - values.yaml - - values-aws-staging.yaml - syncPolicy: - automated: - prune: true - selfHeal: true - allowEmpty: false - syncOptions: - - CreateNamespace=true - - Validate=false - - SkipDryRunOnMissingResource=true - - ApplyOutOfSyncOnly=true - - ServerSideApply=true - # retry: - # limit: 5 - # backoff: - # duration: 5s - # factor: 2 - # maxDuration: 3m0s diff --git a/gitops/argocd/apps/aws/staging/core/karpenter.yaml b/gitops/argocd/apps/aws/staging/core/karpenter.yaml deleted file mode 100644 index f2c5ba5e67..0000000000 --- a/gitops/argocd/apps/aws/staging/core/karpenter.yaml +++ /dev/null @@ -1,65 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: karpenter - annotations: - # https://argo-cd.readthedocs.io/en/stable/operator-manual/high_availability/#webhook-and-manifest-paths-annotation - argocd.argoproj.io/manifest-generate-paths: /gitops/argocd/charts/kube-system/karpenter - notifications.argoproj.io/subscribe.grafana: karpenter - finalizers: - - resources-finalizer.argocd.argoproj.io - labels: - app.kubernetes.io/name: cluster-autoscaler - app.kubernetes.io/instance: argocd-cluster-autoscaler-apps - app.kubernetes.io/component: node-controller - app.kubernetes.io/version: v1.0.0 - app.kubernetes.io/part-of: cluster-autoscaler - app.kubernetes.io/managed-by: kustomize - portefaix.xyz/version: v0.54.0 -spec: - destination: - namespace: kube-system - server: https://kubernetes.default.svc - project: portefaix-aws-staging - source: - path: gitops/argocd/charts/kube-system/karpenter - repoURL: https://github.com/portefaix/portefaix-kubernetes.git - targetRevision: master - helm: - valueFiles: - - values.yaml - - values-aws-staging.yaml - syncPolicy: - automated: - prune: true - selfHeal: true - allowEmpty: false - syncOptions: - - CreateNamespace=true - - Validate=false - - SkipDryRunOnMissingResource=true - - ApplyOutOfSyncOnly=true - - ServerSideApply=true - # retry: - # limit: 5 - # backoff: - # duration: 5s - # factor: 2 - # maxDuration: 3m0s diff --git a/gitops/argocd/apps/aws/staging/core/kustomization.yaml b/gitops/argocd/apps/aws/staging/core/kustomization.yaml deleted file mode 100644 index 1cdf4978cb..0000000000 --- a/gitops/argocd/apps/aws/staging/core/kustomization.yaml +++ /dev/null @@ -1,37 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -namespace: gitops -transformers: -- annotations.yaml -- labels.yaml -resources: -- aws-ebs-csi-driver.yaml -- aws-efs-csi-driver.yaml -- aws-fsx-csi-driver.yaml -- aws-load-balancer-controller.yaml -- aws-node-terminaison-hander.yaml -- karpenter.yaml -- secrets-store-csi-driver.yaml -- secrets-store-csi-driver-aws.yaml -- metrics-server.yaml -- sealed-secrets.yaml -- argo-events.yaml -- argo-rollouts.yaml -- argo-workflows.yaml diff --git a/gitops/argocd/apps/aws/staging/core/labels.yaml b/gitops/argocd/apps/aws/staging/core/labels.yaml deleted file mode 100644 index b4395bef63..0000000000 --- a/gitops/argocd/apps/aws/staging/core/labels.yaml +++ /dev/null @@ -1,29 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: builtin -kind: LabelTransformer -metadata: - name: labels -labels: - app.kubernetes.io/version: v1.0.0 - app.kubernetes.io/managed-by: kustomize - portefaix.xyz/version: v0.54.0 - portefaix.xyz/stack: core -fieldSpecs: -- path: metadata/labels - create: true diff --git a/gitops/argocd/apps/aws/staging/core/metrics-server.yaml b/gitops/argocd/apps/aws/staging/core/metrics-server.yaml deleted file mode 100644 index 6069d018be..0000000000 --- a/gitops/argocd/apps/aws/staging/core/metrics-server.yaml +++ /dev/null @@ -1,64 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: metrics-server - annotations: - # https://argo-cd.readthedocs.io/en/stable/operator-manual/high_availability/#webhook-and-manifest-paths-annotation - argocd.argoproj.io/manifest-generate-paths: /gitops/argocd/charts/kube-system/metrics-server - notifications.argoproj.io/subscribe.grafana: metrics-server - finalizers: - - resources-finalizer.argocd.argoproj.io - labels: - app.kubernetes.io/name: metrics-server - app.kubernetes.io/instance: metrics-server-argocd-app - app.kubernetes.io/component: metrics - app.kubernetes.io/part-of: metrics-server - app.kubernetes.io/managed-by: kustomize - portefaix.xyz/version: v0.54.0 -spec: - destination: - namespace: kube-system - server: https://kubernetes.default.svc - project: portefaix-aws-staging - source: - path: gitops/argocd/charts/kube-system/metrics-server - repoURL: https://github.com/portefaix/portefaix-kubernetes.git - targetRevision: master - helm: - valueFiles: - - values.yaml - - values-aws-staging.yaml - syncPolicy: - automated: - prune: true - selfHeal: true - allowEmpty: false - syncOptions: - - CreateNamespace=true - - Validate=false - - SkipDryRunOnMissingResource=true - - ApplyOutOfSyncOnly=true - - ServerSideApply=true - # retry: - # limit: 5 - # backoff: - # duration: 5s - # factor: 2 - # maxDuration: 3m0s diff --git a/gitops/argocd/apps/aws/staging/core/sealed-secrets.yaml b/gitops/argocd/apps/aws/staging/core/sealed-secrets.yaml deleted file mode 100644 index 5730042c41..0000000000 --- a/gitops/argocd/apps/aws/staging/core/sealed-secrets.yaml +++ /dev/null @@ -1,64 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: sealed-secrets - annotations: - # https://argo-cd.readthedocs.io/en/stable/operator-manual/high_availability/#webhook-and-manifest-paths-annotation - argocd.argoproj.io/manifest-generate-paths: /gitops/argocd/charts/kube-system/sealed-secrets - notifications.argoproj.io/subscribe.grafana: sealed-secrets - finalizers: - - resources-finalizer.argocd.argoproj.io - labels: - app.kubernetes.io/name: sealed-secrets - app.kubernetes.io/instance: sealed-secrets-argocd-app - app.kubernetes.io/component: secrets-controller - app.kubernetes.io/part-of: sealed-secrets - app.kubernetes.io/managed-by: kustomize - portefaix.xyz/version: v0.54.0 -spec: - destination: - namespace: kube-system - server: https://kubernetes.default.svc - project: portefaix-aws-staging - source: - path: gitops/argocd/charts/kube-system/sealed-secrets - repoURL: https://github.com/portefaix/portefaix-kubernetes.git - targetRevision: master - helm: - valueFiles: - - values.yaml - - values-aws-staging.yaml - syncPolicy: - automated: - prune: true - selfHeal: true - allowEmpty: false - syncOptions: - - CreateNamespace=true - - Validate=false - - SkipDryRunOnMissingResource=true - - ApplyOutOfSyncOnly=true - - ServerSideApply=true - # retry: - # limit: 5 - # backoff: - # duration: 5s - # factor: 2 - # maxDuration: 3m0s diff --git a/gitops/argocd/apps/aws/staging/core/secrets-store-csi-driver-aws.yaml b/gitops/argocd/apps/aws/staging/core/secrets-store-csi-driver-aws.yaml deleted file mode 100644 index 92e6ac93e7..0000000000 --- a/gitops/argocd/apps/aws/staging/core/secrets-store-csi-driver-aws.yaml +++ /dev/null @@ -1,64 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: secrets-store-csi-driver-aws - annotations: - # https://argo-cd.readthedocs.io/en/stable/operator-manual/high_availability/#webhook-and-manifest-paths-annotation - argocd.argoproj.io/manifest-generate-paths: /gitops/argocd/charts/kube-system/secrets-store-csi-driver-aws - notifications.argoproj.io/subscribe.grafana: secrets-store-csi-driver-aws - finalizers: - - resources-finalizer.argocd.argoproj.io - labels: - app.kubernetes.io/name: secrets-store-csi-driver-aws - app.kubernetes.io/instance: secrets-store-csi-driver-aws-argocd-app - app.kubernetes.io/component: csi-driver - app.kubernetes.io/part-of: secrets-store-csi-driver-aws - app.kubernetes.io/managed-by: kustomize - portefaix.xyz/version: v0.54.0 -spec: - destination: - namespace: kube-system - server: https://kubernetes.default.svc - project: portefaix-aws-staging - source: - path: gitops/argocd/charts/kube-system/secrets-store-csi-driver-aws - repoURL: https://github.com/portefaix/portefaix-kubernetes.git - targetRevision: master - helm: - valueFiles: - - values.yaml - - values-aws-staging.yaml - syncPolicy: - automated: - prune: true - selfHeal: true - allowEmpty: false - syncOptions: - - CreateNamespace=true - - Validate=false - - SkipDryRunOnMissingResource=true - - ApplyOutOfSyncOnly=true - - ServerSideApply=true - # retry: - # limit: 5 - # backoff: - # duration: 5s - # factor: 2 - # maxDuration: 3m0s diff --git a/gitops/argocd/apps/aws/staging/core/secrets-store-csi-driver.yaml b/gitops/argocd/apps/aws/staging/core/secrets-store-csi-driver.yaml deleted file mode 100644 index 96bd42cfbc..0000000000 --- a/gitops/argocd/apps/aws/staging/core/secrets-store-csi-driver.yaml +++ /dev/null @@ -1,64 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: secrets-store-csi-driver - annotations: - # https://argo-cd.readthedocs.io/en/stable/operator-manual/high_availability/#webhook-and-manifest-paths-annotation - argocd.argoproj.io/manifest-generate-paths: /gitops/argocd/charts/kube-system/secrets-store-csi-driver - notifications.argoproj.io/subscribe.grafana: secrets-store-csi-driver - finalizers: - - resources-finalizer.argocd.argoproj.io - labels: - app.kubernetes.io/name: secrets-store-csi-driver - app.kubernetes.io/instance: secrets-store-csi-driver-argocd-app - app.kubernetes.io/component: csi-driver - app.kubernetes.io/part-of: secrets-store-csi-driver - app.kubernetes.io/managed-by: kustomize - portefaix.xyz/version: v0.54.0 -spec: - destination: - namespace: kube-system - server: https://kubernetes.default.svc - project: portefaix-aws-staging - source: - path: gitops/argocd/charts/kube-system/secrets-store-csi-driver - repoURL: https://github.com/portefaix/portefaix-kubernetes.git - targetRevision: master - helm: - valueFiles: - - values.yaml - - values-aws-staging.yaml - syncPolicy: - automated: - prune: true - selfHeal: true - allowEmpty: false - syncOptions: - - CreateNamespace=true - - Validate=false - - SkipDryRunOnMissingResource=true - - ApplyOutOfSyncOnly=true - - ServerSideApply=true - # retry: - # limit: 5 - # backoff: - # duration: 5s - # factor: 2 - # maxDuration: 3m0s diff --git a/gitops/argocd/apps/aws/staging/networking/annotations.yaml b/gitops/argocd/apps/aws/staging/networking/annotations.yaml deleted file mode 100644 index 7d5586f5c9..0000000000 --- a/gitops/argocd/apps/aws/staging/networking/annotations.yaml +++ /dev/null @@ -1,37 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: builtin -kind: AnnotationsTransformer -metadata: - name: annotations -annotations: - notifications.argoproj.io/subscribe.on-deployed.slack: portefaix-aws-staging-gitops - notifications.argoproj.io/subscribe.on-degraded.slack: portefaix-aws-staging-gitops - notifications.argoproj.io/subscribe.on-sync-succeeded.slack: portefaix-aws-staging-gitops - notifications.argoproj.io/subscribe.on-sync-running.slack: portefaix-aws-staging-gitops - notifications.argoproj.io/subscribe.on-sync-failed: portefaix-aws-staging-gitops - notifications.argoproj.io/subscribe.on-sync-status-unknown: portefaix-aws-staging-gitops - a8r.io/description: Argo-CD Networking application - a8r.io/owner: portefaix - a8r.io/bugs: https://github.com/portefaix/portefaix/issues - a8s.io/repository: https://github.com/portefaix/portefaix/tree/master/gitops/argocd/apps/k3s/homelab/networking - a8r.io/documentation: https://github.com/portefaix/portefaix/blob/master/README.md - a8r.io/support: https://github.com/portefaix/portefaix/issues -fieldSpecs: -- path: metadata/annotations - create: true diff --git a/gitops/argocd/apps/aws/staging/networking/external-dns.yaml b/gitops/argocd/apps/aws/staging/networking/external-dns.yaml deleted file mode 100644 index 00e9f623e6..0000000000 --- a/gitops/argocd/apps/aws/staging/networking/external-dns.yaml +++ /dev/null @@ -1,62 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: external-dns - annotations: - # https://argo-cd.readthedocs.io/en/stable/operator-manual/high_availability/#webhook-and-manifest-paths-annotation - argocd.argoproj.io/manifest-generate-paths: /gitops/argocd/charts/dns/external-dns - notifications.argoproj.io/subscribe.grafana: external-dns - finalizers: - - resources-finalizer.argocd.argoproj.io - labels: - app.kubernetes.io/name: external-dns - app.kubernetes.io/instance: external-dns-argocd-app - app.kubernetes.io/component: autoscaling - app.kubernetes.io/part-of: external-dns -spec: - destination: - namespace: external-dns - server: https://kubernetes.default.svc - project: portefaix-aws-staging - source: - path: gitops/argocd/charts/dns/external-dns - repoURL: https://github.com/portefaix/portefaix-kubernetes.git - targetRevision: master - helm: - valueFiles: - - values.yaml - - values-aws-staging.yaml - syncPolicy: - automated: - prune: true - selfHeal: true - allowEmpty: false - syncOptions: - - CreateNamespace=true - - Validate=false - - SkipDryRunOnMissingResource=true - - ApplyOutOfSyncOnly=true - - ServerSideApply=true - # retry: - # limit: 5 - # backoff: - # duration: 5s - # factor: 2 - # maxDuration: 3m0s diff --git a/gitops/argocd/apps/aws/staging/networking/labels.yaml b/gitops/argocd/apps/aws/staging/networking/labels.yaml deleted file mode 100644 index 45080dc2a0..0000000000 --- a/gitops/argocd/apps/aws/staging/networking/labels.yaml +++ /dev/null @@ -1,29 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: builtin -kind: LabelTransformer -metadata: - name: labels -labels: - app.kubernetes.io/version: v1.0.0 - app.kubernetes.io/managed-by: kustomize - portefaix.xyz/version: v0.54.0 - portefaix.xyz/stack: networking -fieldSpecs: -- path: metadata/labels - create: true diff --git a/gitops/argocd/apps/aws/staging/observability/annotations.yaml b/gitops/argocd/apps/aws/staging/observability/annotations.yaml deleted file mode 100644 index f3f79f7a11..0000000000 --- a/gitops/argocd/apps/aws/staging/observability/annotations.yaml +++ /dev/null @@ -1,37 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: builtin -kind: AnnotationsTransformer -metadata: - name: annotations -annotations: - notifications.argoproj.io/subscribe.on-deployed.slack: portefaix-aws-staging-gitops - notifications.argoproj.io/subscribe.on-degraded.slack: portefaix-aws-staging-gitops - notifications.argoproj.io/subscribe.on-sync-succeeded.slack: portefaix-aws-staging-gitops - notifications.argoproj.io/subscribe.on-sync-running.slack: portefaix-aws-staging-gitops - notifications.argoproj.io/subscribe.on-sync-failed: portefaix-aws-staging-gitops - notifications.argoproj.io/subscribe.on-sync-status-unknown: portefaix-aws-staging-gitops - a8r.io/description: Argo-CD Observability application - a8r.io/owner: portefaix - a8r.io/bugs: https://github.com/portefaix/portefaix/issues - a8s.io/repository: https://github.com/portefaix/portefaix/tree/master/gitops/argocd/apps/aws/staging/observability - a8r.io/documentation: https://github.com/portefaix/portefaix/blob/master/README.md - a8r.io/support: https://github.com/portefaix/portefaix/issues -fieldSpecs: -- path: metadata/annotations - create: true diff --git a/gitops/argocd/apps/aws/staging/observability/grafana.yaml b/gitops/argocd/apps/aws/staging/observability/grafana.yaml deleted file mode 100644 index 6c837c0536..0000000000 --- a/gitops/argocd/apps/aws/staging/observability/grafana.yaml +++ /dev/null @@ -1,62 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: grafana - annotations: - # https://argo-cd.readthedocs.io/en/stable/operator-manual/high_availability/#webhook-and-manifest-paths-annotation - argocd.argoproj.io/manifest-generate-paths: /gitops/argocd/charts/monitoring/grafana - notifications.argoproj.io/subscribe.grafana: grafana - finalizers: - - resources-finalizer.argocd.argoproj.io - labels: - app.kubernetes.io/name: grafana - app.kubernetes.io/instance: grafana-argocd-app - app.kubernetes.io/component: monitoring - app.kubernetes.io/part-of: grafana -spec: - destination: - namespace: monitoring - server: https://kubernetes.default.svc - project: portefaix-aws-staging - source: - path: gitops/argocd/charts/monitoring/grafana - repoURL: https://github.com/portefaix/portefaix-kubernetes.git - targetRevision: master - helm: - valueFiles: - - values.yaml - - values-aws-staging.yaml - syncPolicy: - automated: - prune: true - selfHeal: true - allowEmpty: false - syncOptions: - - CreateNamespace=true - - Validate=false - - SkipDryRunOnMissingResource=true - - ApplyOutOfSyncOnly=true - - ServerSideApply=true - # retry: - # limit: 5 - # backoff: - # duration: 5s - # factor: 2 - # maxDuration: 3m0s diff --git a/gitops/argocd/apps/aws/staging/observability/kube-prometheus-stack.yaml b/gitops/argocd/apps/aws/staging/observability/kube-prometheus-stack.yaml deleted file mode 100644 index 7a1f3448e0..0000000000 --- a/gitops/argocd/apps/aws/staging/observability/kube-prometheus-stack.yaml +++ /dev/null @@ -1,64 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: kube-prometheus-stack - annotations: - # https://argo-cd.readthedocs.io/en/stable/operator-manual/high_availability/#webhook-and-manifest-paths-annotation - argocd.argoproj.io/manifest-generate-paths: /gitops/argocd/charts/monitoring/kube-prometheus-stack - notifications.argoproj.io/subscribe.grafana: kube-prometheus-stack - finalizers: - - resources-finalizer.argocd.argoproj.io - labels: - app.kubernetes.io/name: kube-prometheus-stack - app.kubernetes.io/instance: kube-prometheus-stack-argocd-app - app.kubernetes.io/component: monitoring - app.kubernetes.io/part-of: kube-prometheus-stack -spec: - destination: - namespace: monitoring - server: https://kubernetes.default.svc - project: portefaix-aws-staging - source: - path: gitops/argocd/charts/monitoring/kube-prometheus-stack - repoURL: https://github.com/portefaix/portefaix-kubernetes.git - targetRevision: master - helm: - skipCrds: true - valueFiles: - - values.yaml - - values-aws-staging.yaml - # - secrets+age-import:///helm-secrets-private-keys/age.agekey?values-aws-staging-secret.yaml - syncPolicy: - automated: - prune: true - selfHeal: true - allowEmpty: false - syncOptions: - - CreateNamespace=true - - Validate=false - - SkipDryRunOnMissingResource=true - - ApplyOutOfSyncOnly=true - - ServerSideApply=true - # retry: - # limit: 5 - # backoff: - # duration: 5s - # factor: 2 - # maxDuration: 3m0s diff --git a/gitops/argocd/apps/aws/staging/observability/kustomization.yaml b/gitops/argocd/apps/aws/staging/observability/kustomization.yaml deleted file mode 100644 index 61a8d9a8f0..0000000000 --- a/gitops/argocd/apps/aws/staging/observability/kustomization.yaml +++ /dev/null @@ -1,33 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -namespace: gitops -transformers: -- annotations.yaml -- labels.yaml -resources: -# Monitoring -- kube-prometheus-stack.yaml -- grafana.yaml -# Logging -- loki.yaml -# Tracing -- tempo.yaml -# AWS -- monitoring-aws.yaml diff --git a/gitops/argocd/apps/aws/staging/observability/labels.yaml b/gitops/argocd/apps/aws/staging/observability/labels.yaml deleted file mode 100644 index 7569840282..0000000000 --- a/gitops/argocd/apps/aws/staging/observability/labels.yaml +++ /dev/null @@ -1,29 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: builtin -kind: LabelTransformer -metadata: - name: labels -labels: - app.kubernetes.io/version: v1.0.0 - app.kubernetes.io/managed-by: kustomize - portefaix.xyz/version: v0.54.0 - portefaix.xyz/stack: observability -fieldSpecs: -- path: metadata/labels - create: true diff --git a/gitops/argocd/apps/aws/staging/observability/loki.yaml b/gitops/argocd/apps/aws/staging/observability/loki.yaml deleted file mode 100644 index ba40570927..0000000000 --- a/gitops/argocd/apps/aws/staging/observability/loki.yaml +++ /dev/null @@ -1,62 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: loki - annotations: - # https://argo-cd.readthedocs.io/en/stable/operator-manual/high_availability/#webhook-and-manifest-paths-annotation - argocd.argoproj.io/manifest-generate-paths: /gitops/argocd/charts/logging/loki - notifications.argoproj.io/subscribe.grafana: loki - finalizers: - - resources-finalizer.argocd.argoproj.io - labels: - app.kubernetes.io/name: loki - app.kubernetes.io/instance: loki-argocd-app - app.kubernetes.io/component: logging - app.kubernetes.io/part-of: loki -spec: - destination: - namespace: logging - server: https://kubernetes.default.svc - project: portefaix-aws-staging - source: - path: gitops/argocd/charts/logging/loki - repoURL: https://github.com/portefaix/portefaix-kubernetes.git - targetRevision: master - helm: - valueFiles: - - values.yaml - - values-aws-staging.yaml - syncPolicy: - automated: - prune: true - selfHeal: true - allowEmpty: false - syncOptions: - - CreateNamespace=true - - Validate=false - - SkipDryRunOnMissingResource=true - - ApplyOutOfSyncOnly=true - - ServerSideApply=true - # retry: - # limit: 5 - # backoff: - # duration: 5s - # factor: 2 - # maxDuration: 3m0s diff --git a/gitops/argocd/apps/aws/staging/observability/monitoring-aws.yaml b/gitops/argocd/apps/aws/staging/observability/monitoring-aws.yaml deleted file mode 100644 index ec0fa3e46b..0000000000 --- a/gitops/argocd/apps/aws/staging/observability/monitoring-aws.yaml +++ /dev/null @@ -1,62 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: monitoring-aws - annotations: - # https://argo-cd.readthedocs.io/en/stable/operator-manual/high_availability/#webhook-and-manifest-paths-annotation - argocd.argoproj.io/manifest-generate-paths: /gitops/argocd/charts/monitoring/monitoring-aws - notifications.argoproj.io/subscribe.grafana: monitoring-aws - finalizers: - - resources-finalizer.argocd.argoproj.io - labels: - app.kubernetes.io/name: monitoring-aws - app.kubernetes.io/instance: monitoring-aws-argocd-app - app.kubernetes.io/component: monitoring - app.kubernetes.io/part-of: monitoring-aws -spec: - destination: - namespace: monitoring - server: https://kubernetes.default.svc - project: portefaix-aws-staging - source: - path: gitops/argocd/charts/monitoring/monitoring-aws - repoURL: https://github.com/portefaix/portefaix-kubernetes.git - targetRevision: master - helm: - valueFiles: - - values.yaml - - values-aws-staging.yaml - syncPolicy: - automated: - prune: true - selfHeal: true - allowEmpty: false - syncOptions: - - CreateNamespace=true - - Validate=false - - SkipDryRunOnMissingResource=true - - ApplyOutOfSyncOnly=true - - ServerSideApply=true - # retry: - # limit: 5 - # backoff: - # duration: 5s - # factor: 2 - # maxDuration: 3m0s diff --git a/gitops/argocd/apps/aws/staging/observability/tempo.yaml b/gitops/argocd/apps/aws/staging/observability/tempo.yaml deleted file mode 100644 index ae6e5e0d63..0000000000 --- a/gitops/argocd/apps/aws/staging/observability/tempo.yaml +++ /dev/null @@ -1,62 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: tempo - annotations: - # https://argo-cd.readthedocs.io/en/stable/operator-manual/high_availability/#webhook-and-manifest-paths-annotation - argocd.argoproj.io/manifest-generate-paths: /gitops/argocd/charts/tracing/tempo - notifications.argoproj.io/subscribe.grafana: tempo - finalizers: - - resources-finalizer.argocd.argoproj.io - labels: - app.kubernetes.io/name: tempo - app.kubernetes.io/instance: tempo-argocd-app - app.kubernetes.io/component: tracing - app.kubernetes.io/part-of: tempo -spec: - destination: - namespace: logging - server: https://kubernetes.default.svc - project: portefaix-aws-staging - source: - path: gitops/argocd/charts/logging/tempo - repoURL: https://github.com/portefaix/portefaix-kubernetes.git - targetRevision: master - helm: - valueFiles: - - values.yaml - - values-aws-staging.yaml - syncPolicy: - automated: - prune: true - selfHeal: true - allowEmpty: false - syncOptions: - - CreateNamespace=true - - Validate=false - - SkipDryRunOnMissingResource=true - - ApplyOutOfSyncOnly=true - - ServerSideApply=true - # retry: - # limit: 5 - # backoff: - # duration: 5s - # factor: 2 - # maxDuration: 3m0s diff --git a/gitops/argocd/apps/aws/staging/system/keda.yaml b/gitops/argocd/apps/aws/staging/system/keda.yaml deleted file mode 100644 index 330d6426d9..0000000000 --- a/gitops/argocd/apps/aws/staging/system/keda.yaml +++ /dev/null @@ -1,62 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: keda - annotations: - # https://argo-cd.readthedocs.io/en/stable/operator-manual/high_availability/#webhook-and-manifest-paths-annotation - argocd.argoproj.io/manifest-generate-paths: /gitops/argocd/charts/keda - notifications.argoproj.io/subscribe.grafana: keda - finalizers: - - resources-finalizer.argocd.argoproj.io - labels: - app.kubernetes.io/name: keda - app.kubernetes.io/instance: keda-argocd-app - app.kubernetes.io/component: autoscaling - app.kubernetes.io/part-of: keda -spec: - destination: - namespace: keda - server: https://kubernetes.default.svc - project: portefaix-aws-staging - source: - path: gitops/argocd/charts/keda/keda - repoURL: https://github.com/portefaix/portefaix-kubernetes.git - targetRevision: master - helm: - valueFiles: - - values.yaml - - values-aws-staging.yaml - syncPolicy: - automated: - prune: true - selfHeal: true - allowEmpty: false - syncOptions: - - CreateNamespace=true - - Validate=false - - SkipDryRunOnMissingResource=true - - ApplyOutOfSyncOnly=true - - ServerSideApply=true - # retry: - # limit: 5 - # backoff: - # duration: 5s - # factor: 2 - # maxDuration: 3m0s diff --git a/gitops/argocd/apps/aws/staging/system/keptn.yaml b/gitops/argocd/apps/aws/staging/system/keptn.yaml deleted file mode 100644 index f0e1750859..0000000000 --- a/gitops/argocd/apps/aws/staging/system/keptn.yaml +++ /dev/null @@ -1,62 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: keptn - annotations: - # https://argo-cd.readthedocs.io/en/stable/operator-manual/high_availability/#webhook-and-manifest-paths-annotation - argocd.argoproj.io/manifest-generate-paths: /gitops/argocd/charts/keptn/keptn - notifications.argoproj.io/subscribe.grafana: keptn - finalizers: - - resources-finalizer.argocd.argoproj.io - labels: - app.kubernetes.io/name: keptn - app.kubernetes.io/instance: keptn-argocd-app - app.kubernetes.io/component: autoscaling - app.kubernetes.io/part-of: keptn -spec: - destination: - namespace: keptn - server: https://kubernetes.default.svc - project: portefaix-aws-staging - source: - path: gitops/argocd/charts/keptn/keptn - repoURL: https://github.com/portefaix/portefaix-kubernetes.git - targetRevision: master - helm: - valueFiles: - - values.yaml - - values-aws-staging.yaml - syncPolicy: - automated: - prune: true - selfHeal: true - allowEmpty: false - syncOptions: - - CreateNamespace=true - - Validate=false - - SkipDryRunOnMissingResource=true - - ApplyOutOfSyncOnly=true - - ServerSideApply=true - # retry: - # limit: 5 - # backoff: - # duration: 5s - # factor: 2 - # maxDuration: 3m0s diff --git a/gitops/argocd/apps/aws/staging/system/labels.yaml b/gitops/argocd/apps/aws/staging/system/labels.yaml deleted file mode 100644 index b2411799ed..0000000000 --- a/gitops/argocd/apps/aws/staging/system/labels.yaml +++ /dev/null @@ -1,29 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: builtin -kind: LabelTransformer -metadata: - name: labels -labels: - app.kubernetes.io/version: v1.0.0 - app.kubernetes.io/managed-by: kustomize - portefaix.xyz/version: v0.54.0 - portefaix.xyz/stack: system -fieldSpecs: -- path: metadata/labels - create: true diff --git a/gitops/argocd/apps/base/chaos/annotations.yaml b/gitops/argocd/apps/base/chaos/annotations.yaml deleted file mode 100644 index de13ccbb73..0000000000 --- a/gitops/argocd/apps/base/chaos/annotations.yaml +++ /dev/null @@ -1,33 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: builtin -kind: AnnotationsTransformer -metadata: - name: annotations -annotations: - a8r.io/description: Argo-CD Chaos Engineering applications - a8r.io/owner: portefaix - a8r.io/bugs: https://github.com/portefaix/portefaix/issues - a8s.io/repository: https://github.com/portefaix/portefaix/tree/master/gitops/argocd/apps/k3s/homelab/chaos - a8r.io/documentation: https://github.com/portefaix/portefaix/blob/master/README.md - a8r.io/support: https://github.com/portefaix/portefaix/issues -fieldSpecs: -- path: metadata/annotations - create: true -- path: spec/template/metadata/annotations - create: true diff --git a/gitops/argocd/apps/base/chaos/applicationset.yaml b/gitops/argocd/apps/base/chaos/applicationset.yaml deleted file mode 100644 index a5ea4fea1c..0000000000 --- a/gitops/argocd/apps/base/chaos/applicationset.yaml +++ /dev/null @@ -1,72 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: argoproj.io/v1alpha1 -kind: ApplicationSet -metadata: - name: chaos - labels: - app.kubernetes.io/name: chaos - app.kubernetes.io/instance: chaos-argocd-applicationset - app.kubernetes.io/component: argocd-applicationset - app.kubernetes.io/part-of: chaos-argocd -spec: - generators: - - list: - elements: [] - template: - metadata: - name: "{{appName}}" - annotations: - # https://argo-cd.readthedocs.io/en/stable/operator-manual/high_availability/#webhook-and-manifest-paths-annotation - argocd.argoproj.io/manifest-generate-paths: "/gitops/argocd/charts/{{namespace}}/{{appName}}" - finalizers: - - resources-finalizer.argocd.argoproj.io - labels: - app.kubernetes.io/name: "{{appName}}" - app.kubernetes.io/instance: "{{appName}}-argocd-application" - app.kubernetes.io/component: argocd-application - app.kubernetes.io/part-of: "{{appName}}-argocd" - spec: - destination: - namespace: "{{namespace}}" - server: https://kubernetes.default.svc - project: portefaix-base - source: - repoURL: https://github.com/portefaix/portefaix-kubernetes.git - targetRevision: "{{targetRevision}}" - path: "gitops/argocd/charts/{{namespace}}/{{appName}}" - helm: - valueFiles: - - values.yaml - syncPolicy: - # automated: - # prune: true - # selfHeal: true - # allowEmpty: false - syncOptions: - - CreateNamespace=true - - Validate=false - - SkipDryRunOnMissingResource=true - - ApplyOutOfSyncOnly=true - # - ServerSideApply=true - # retry: - # limit: 5 - # backoff: - # duration: 5s - # factor: 2 - # maxDuration: 3m0s diff --git a/gitops/argocd/apps/base/chaos/labels.yaml b/gitops/argocd/apps/base/chaos/labels.yaml deleted file mode 100644 index a79cdca32b..0000000000 --- a/gitops/argocd/apps/base/chaos/labels.yaml +++ /dev/null @@ -1,31 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: builtin -kind: LabelTransformer -metadata: - name: labels -labels: - app.kubernetes.io/managed-by: kustomize - app.kubernetes.io/version: v1.0.0 - portefaix.xyz/stack: chaos - portefaix.xyz/version: v0.54.0 -fieldSpecs: -- path: metadata/labels - create: true -- path: spec/template/metadata/labels - create: true diff --git a/gitops/argocd/apps/base/core/annotations.yaml b/gitops/argocd/apps/base/core/annotations.yaml deleted file mode 100644 index d1ee8a8ced..0000000000 --- a/gitops/argocd/apps/base/core/annotations.yaml +++ /dev/null @@ -1,33 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: builtin -kind: AnnotationsTransformer -metadata: - name: annotations -annotations: - a8r.io/description: Argo-CD Core application - a8r.io/owner: portefaix - a8r.io/bugs: https://github.com/portefaix/portefaix/issues - a8s.io/repository: https://github.com/portefaix/portefaix/tree/master/gitops/argocd/apps/k3s/homelab/core - a8r.io/documentation: https://github.com/portefaix/portefaix/blob/master/README.md - a8r.io/support: https://github.com/portefaix/portefaix/issues -fieldSpecs: -- path: metadata/annotations - create: true -- path: spec/template/metadata/annotations - create: true diff --git a/gitops/argocd/apps/base/core/applicationset.yaml b/gitops/argocd/apps/base/core/applicationset.yaml deleted file mode 100644 index 71fee44959..0000000000 --- a/gitops/argocd/apps/base/core/applicationset.yaml +++ /dev/null @@ -1,72 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: argoproj.io/v1alpha1 -kind: ApplicationSet -metadata: - name: core - labels: - app.kubernetes.io/name: core - app.kubernetes.io/instance: core-argocd-applicationset - app.kubernetes.io/component: argocd-applicationset - app.kubernetes.io/part-of: core-argocd -spec: - generators: - - list: - elements: [] - template: - metadata: - name: "{{appName}}" - annotations: - # https://argo-cd.readthedocs.io/en/stable/operator-manual/high_availability/#webhook-and-manifest-paths-annotation - argocd.argoproj.io/manifest-generate-paths: "/{{path}}" - finalizers: - - resources-finalizer.argocd.argoproj.io - labels: - app.kubernetes.io/name: "{{appName}}" - app.kubernetes.io/instance: "{{appName}}-argocd-application" - app.kubernetes.io/component: argocd-application - app.kubernetes.io/part-of: "{{appName}}-argocd" - spec: - destination: - namespace: "{{namespace}}" - server: https://kubernetes.default.svc - project: portefaix-base - source: - repoURL: https://github.com/portefaix/portefaix-kubernetes.git - targetRevision: "{{targetRevision}}" - path: "gitops/argocd/charts/{{namespace}}/{{appName}}" - helm: - valueFiles: - - values.yaml - syncPolicy: - # automated: - # prune: true - # selfHeal: true - # allowEmpty: false - syncOptions: - - CreateNamespace=true - - Validate=false - - SkipDryRunOnMissingResource=true - - ApplyOutOfSyncOnly=true - # - ServerSideApply=true - # retry: - # limit: 5 - # backoff: - # duration: 5s - # factor: 2 - # maxDuration: 3m0s diff --git a/gitops/argocd/apps/base/core/labels.yaml b/gitops/argocd/apps/base/core/labels.yaml deleted file mode 100644 index 5fa24af944..0000000000 --- a/gitops/argocd/apps/base/core/labels.yaml +++ /dev/null @@ -1,31 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: builtin -kind: LabelTransformer -metadata: - name: labels -labels: - app.kubernetes.io/managed-by: kustomize - app.kubernetes.io/version: v1.0.0 - portefaix.xyz/stack: core - portefaix.xyz/version: v0.54.0 -fieldSpecs: -- path: metadata/labels - create: true -- path: spec/template/metadata/labels - create: true diff --git a/gitops/argocd/apps/base/demo/annotations.yaml b/gitops/argocd/apps/base/demo/annotations.yaml deleted file mode 100644 index 1d83bf64e5..0000000000 --- a/gitops/argocd/apps/base/demo/annotations.yaml +++ /dev/null @@ -1,33 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: builtin -kind: AnnotationsTransformer -metadata: - name: annotations -annotations: - a8r.io/description: Argo-CD Demo application - a8r.io/owner: portefaix - a8r.io/bugs: https://github.com/portefaix/portefaix/issues - a8s.io/repository: https://github.com/portefaix/portefaix/tree/master/gitops/argocd/apps/k3s/homelab/core - a8r.io/documentation: https://github.com/portefaix/portefaix/blob/master/README.md - a8r.io/support: https://github.com/portefaix/portefaix/issues -fieldSpecs: -- path: metadata/annotations - create: true -- path: spec/template/metadata/annotations - create: true diff --git a/gitops/argocd/apps/base/demo/applicationset.yaml b/gitops/argocd/apps/base/demo/applicationset.yaml deleted file mode 100644 index 7d073604df..0000000000 --- a/gitops/argocd/apps/base/demo/applicationset.yaml +++ /dev/null @@ -1,72 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: argoproj.io/v1alpha1 -kind: ApplicationSet -metadata: - name: demo - labels: - app.kubernetes.io/name: demo - app.kubernetes.io/instance: demo-argocd-applicationset - app.kubernetes.io/component: argocd-applicationset - app.kubernetes.io/part-of: demo-argocd -spec: - generators: - - list: - elements: [] - template: - metadata: - name: "{{appName}}" - annotations: - # https://argo-cd.readthedocs.io/en/stable/operator-manual/high_availability/#webhook-and-manifest-paths-annotation - argocd.argoproj.io/manifest-generate-paths: "/{{path}}" - finalizers: - - resources-finalizer.argocd.argoproj.io - labels: - app.kubernetes.io/name: "{{appName}}" - app.kubernetes.io/instance: "{{appName}}-argocd-application" - app.kubernetes.io/component: argocd-application - app.kubernetes.io/part-of: "{{appName}}-argocd" - spec: - destination: - namespace: "{{namespace}}" - server: https://kubernetes.default.svc - project: portefaix-base - source: - repoURL: https://github.com/portefaix/portefaix-kubernetes.git - targetRevision: "{{targetRevision}}" - path: "gitops/argocd/charts/{{namespace}}/{{appName}}" - helm: - valueFiles: - - values.yaml - syncPolicy: - # automated: - # prune: true - # selfHeal: true - # allowEmpty: false - syncOptions: - - CreateNamespace=true - - Validate=false - - SkipDryRunOnMissingResource=true - - ApplyOutOfSyncOnly=true - # - ServerSideApply=true - # retry: - # limit: 5 - # backoff: - # duration: 5s - # factor: 2 - # maxDuration: 3m0s diff --git a/gitops/argocd/apps/base/demo/kustomization.yaml b/gitops/argocd/apps/base/demo/kustomization.yaml deleted file mode 100644 index e46c8c3efc..0000000000 --- a/gitops/argocd/apps/base/demo/kustomization.yaml +++ /dev/null @@ -1,25 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -namespace: gitops -transformers: -- annotations.yaml -- labels.yaml -resources: -- applicationset.yaml diff --git a/gitops/argocd/apps/base/demo/labels.yaml b/gitops/argocd/apps/base/demo/labels.yaml deleted file mode 100644 index c81fdd3bfc..0000000000 --- a/gitops/argocd/apps/base/demo/labels.yaml +++ /dev/null @@ -1,31 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: builtin -kind: LabelTransformer -metadata: - name: labels -labels: - app.kubernetes.io/managed-by: kustomize - app.kubernetes.io/version: v1.0.0 - portefaix.xyz/stack: demo - portefaix.xyz/version: v0.54.0 -fieldSpecs: -- path: metadata/labels - create: true -- path: spec/template/metadata/labels - create: true diff --git a/gitops/argocd/apps/base/networking/annotations.yaml b/gitops/argocd/apps/base/networking/annotations.yaml deleted file mode 100644 index 4489a41550..0000000000 --- a/gitops/argocd/apps/base/networking/annotations.yaml +++ /dev/null @@ -1,33 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: builtin -kind: AnnotationsTransformer -metadata: - name: annotations -annotations: - a8r.io/description: Argo-CD Networking application - a8r.io/owner: portefaix - a8r.io/bugs: https://github.com/portefaix/portefaix/issues - a8s.io/repository: https://github.com/portefaix/portefaix/tree/master/gitops/argocd/apps/k3s/homelab/networking - a8r.io/documentation: https://github.com/portefaix/portefaix/blob/master/README.md - a8r.io/support: https://github.com/portefaix/portefaix/issues -fieldSpecs: -- path: metadata/annotations - create: true -- path: spec/template/metadata/annotations - create: true diff --git a/gitops/argocd/apps/base/networking/applicationset.yaml b/gitops/argocd/apps/base/networking/applicationset.yaml deleted file mode 100644 index b3c407c6bb..0000000000 --- a/gitops/argocd/apps/base/networking/applicationset.yaml +++ /dev/null @@ -1,72 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: argoproj.io/v1alpha1 -kind: ApplicationSet -metadata: - name: networking - labels: - app.kubernetes.io/name: networking - app.kubernetes.io/instance: networking-argocd-applicationset - app.kubernetes.io/component: argocd-applicationset - app.kubernetes.io/part-of: networking-argocd -spec: - generators: - - list: - elements: [] - template: - metadata: - name: "{{appName}}" - annotations: - # https://argo-cd.readthedocs.io/en/stable/operator-manual/high_availability/#webhook-and-manifest-paths-annotation - argocd.argoproj.io/manifest-generate-paths: "/{{path}}" - finalizers: - - resources-finalizer.argocd.argoproj.io - labels: - app.kubernetes.io/name: "{{appName}}" - app.kubernetes.io/instance: "{{appName}}-argocd-application" - app.kubernetes.io/component: argocd-application - app.kubernetes.io/part-of: "{{appName}}-argocd" - spec: - destination: - namespace: "{{namespace}}" - server: https://kubernetes.default.svc - project: portefaix-base - source: - repoURL: https://github.com/portefaix/portefaix-kubernetes.git - targetRevision: "{{targetRevision}}" - path: "gitops/argocd/charts/{{namespace}}/{{appName}}" - helm: - valueFiles: - - values.yaml - syncPolicy: - # automated: - # prune: true - # selfHeal: true - # allowEmpty: false - syncOptions: - - CreateNamespace=true - - Validate=false - - SkipDryRunOnMissingResource=true - - ApplyOutOfSyncOnly=true - # - ServerSideApply=true - # retry: - # limit: 5 - # backoff: - # duration: 5s - # factor: 2 - # maxDuration: 3m0s diff --git a/gitops/argocd/apps/base/networking/kustomization.yaml b/gitops/argocd/apps/base/networking/kustomization.yaml deleted file mode 100644 index e46c8c3efc..0000000000 --- a/gitops/argocd/apps/base/networking/kustomization.yaml +++ /dev/null @@ -1,25 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -namespace: gitops -transformers: -- annotations.yaml -- labels.yaml -resources: -- applicationset.yaml diff --git a/gitops/argocd/apps/base/networking/labels.yaml b/gitops/argocd/apps/base/networking/labels.yaml deleted file mode 100644 index c8317cfb95..0000000000 --- a/gitops/argocd/apps/base/networking/labels.yaml +++ /dev/null @@ -1,31 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: builtin -kind: LabelTransformer -metadata: - name: labels -labels: - app.kubernetes.io/managed-by: kustomize - app.kubernetes.io/version: v1.0.0 - portefaix.xyz/stack: networking - portefaix.xyz/version: v0.54.0 -fieldSpecs: -- path: metadata/labels - create: true -- path: spec/template/metadata/labels - create: true diff --git a/gitops/argocd/apps/base/observability/annotations.yaml b/gitops/argocd/apps/base/observability/annotations.yaml deleted file mode 100644 index 5c1b690d89..0000000000 --- a/gitops/argocd/apps/base/observability/annotations.yaml +++ /dev/null @@ -1,33 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: builtin -kind: AnnotationsTransformer -metadata: - name: annotations -annotations: - a8r.io/description: Argo-CD Observability application - a8r.io/owner: portefaix - a8r.io/bugs: https://github.com/portefaix/portefaix/issues - a8s.io/repository: https://github.com/portefaix/portefaix/tree/master/gitops/argocd/apps/k3s/homelab/observability - a8r.io/documentation: https://github.com/portefaix/portefaix/blob/master/README.md - a8r.io/support: https://github.com/portefaix/portefaix/issues -fieldSpecs: -- path: metadata/annotations - create: true -- path: spec/template/metadata/annotations - create: true diff --git a/gitops/argocd/apps/base/observability/applicationset.yaml b/gitops/argocd/apps/base/observability/applicationset.yaml deleted file mode 100644 index 1526a416c3..0000000000 --- a/gitops/argocd/apps/base/observability/applicationset.yaml +++ /dev/null @@ -1,72 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: argoproj.io/v1alpha1 -kind: ApplicationSet -metadata: - name: observability - labels: - app.kubernetes.io/name: observability - app.kubernetes.io/instance: observability-argocd-applicationset - app.kubernetes.io/component: argocd-applicationset - app.kubernetes.io/part-of: observability-argocd -spec: - generators: - - list: - elements: [] - template: - metadata: - name: "{{appName}}" - annotations: - # https://argo-cd.readthedocs.io/en/stable/operator-manual/high_availability/#webhook-and-manifest-paths-annotation - argocd.argoproj.io/manifest-generate-paths: "/{{path}}" - finalizers: - - resources-finalizer.argocd.argoproj.io - labels: - app.kubernetes.io/name: "{{appName}}" - app.kubernetes.io/instance: "{{appName}}-argocd-application" - app.kubernetes.io/component: argocd-application - app.kubernetes.io/part-of: "{{appName}}-argocd" - spec: - destination: - namespace: "{{namespace}}" - server: https://kubernetes.default.svc - project: portefaix-base - source: - repoURL: https://github.com/portefaix/portefaix-kubernetes.git - targetRevision: "{{targetRevision}}" - path: "gitops/argocd/charts/{{namespace}}/{{appName}}" - helm: - valueFiles: - - values.yaml - syncPolicy: - # automated: - # prune: true - # selfHeal: true - # allowEmpty: false - syncOptions: - - CreateNamespace=true - - Validate=false - - SkipDryRunOnMissingResource=true - - ApplyOutOfSyncOnly=true - # - ServerSideApply=true - # retry: - # limit: 5 - # backoff: - # duration: 5s - # factor: 2 - # maxDuration: 3m0s diff --git a/gitops/argocd/apps/base/observability/kustomization.yaml b/gitops/argocd/apps/base/observability/kustomization.yaml deleted file mode 100644 index e46c8c3efc..0000000000 --- a/gitops/argocd/apps/base/observability/kustomization.yaml +++ /dev/null @@ -1,25 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -namespace: gitops -transformers: -- annotations.yaml -- labels.yaml -resources: -- applicationset.yaml diff --git a/gitops/argocd/apps/base/observability/labels.yaml b/gitops/argocd/apps/base/observability/labels.yaml deleted file mode 100644 index 2fb819a49d..0000000000 --- a/gitops/argocd/apps/base/observability/labels.yaml +++ /dev/null @@ -1,31 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: builtin -kind: LabelTransformer -metadata: - name: labels -labels: - app.kubernetes.io/managed-by: kustomize - app.kubernetes.io/version: v1.0.0 - portefaix.xyz/stack: observability - portefaix.xyz/version: v0.54.0 -fieldSpecs: -- path: metadata/labels - create: true -- path: spec/template/metadata/labels - create: true diff --git a/gitops/argocd/apps/base/security/annotations.yaml b/gitops/argocd/apps/base/security/annotations.yaml deleted file mode 100644 index 63785b7c57..0000000000 --- a/gitops/argocd/apps/base/security/annotations.yaml +++ /dev/null @@ -1,33 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: builtin -kind: AnnotationsTransformer -metadata: - name: annotations -annotations: - a8r.io/description: Argo-CD Security application - a8r.io/owner: portefaix - a8r.io/bugs: https://github.com/portefaix/portefaix/issues - a8s.io/repository: https://github.com/portefaix/portefaix/tree/master/gitops/argocd/apps/k3s/homelab/security - a8r.io/documentation: https://github.com/portefaix/portefaix/blob/master/README.md - a8r.io/support: https://github.com/portefaix/portefaix/issues -fieldSpecs: -- path: metadata/annotations - create: true -- path: spec/template/metadata/annotations - create: true diff --git a/gitops/argocd/apps/base/security/applicationset.yaml b/gitops/argocd/apps/base/security/applicationset.yaml deleted file mode 100644 index e6ed437f26..0000000000 --- a/gitops/argocd/apps/base/security/applicationset.yaml +++ /dev/null @@ -1,72 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: argoproj.io/v1alpha1 -kind: ApplicationSet -metadata: - name: security - labels: - app.kubernetes.io/name: security - app.kubernetes.io/instance: security-argocd-applicationset - app.kubernetes.io/component: argocd-applicationset - app.kubernetes.io/part-of: security-argocd -spec: - generators: - - list: - elements: [] - template: - metadata: - name: "{{appName}}" - annotations: - # https://argo-cd.readthedocs.io/en/stable/operator-manual/high_availability/#webhook-and-manifest-paths-annotation - argocd.argoproj.io/manifest-generate-paths: "/{{path}}" - finalizers: - - resources-finalizer.argocd.argoproj.io - labels: - app.kubernetes.io/name: "{{appName}}" - app.kubernetes.io/instance: "{{appName}}-argocd-application" - app.kubernetes.io/component: argocd-application - app.kubernetes.io/part-of: "{{appName}}-argocd" - spec: - destination: - namespace: "{{namespace}}" - server: https://kubernetes.default.svc - project: portefaix-base - source: - repoURL: https://github.com/portefaix/portefaix-kubernetes.git - targetRevision: "{{targetRevision}}" - path: "gitops/argocd/charts/{{namespace}}/{{appName}}" - helm: - valueFiles: - - values.yaml - syncPolicy: - # automated: - # prune: true - # selfHeal: true - # allowEmpty: false - syncOptions: - - CreateNamespace=true - - Validate=false - - SkipDryRunOnMissingResource=true - - ApplyOutOfSyncOnly=true - # - ServerSideApply=true - # retry: - # limit: 5 - # backoff: - # duration: 5s - # factor: 2 - # maxDuration: 3m0s diff --git a/gitops/argocd/apps/base/security/kustomization.yaml b/gitops/argocd/apps/base/security/kustomization.yaml deleted file mode 100644 index e46c8c3efc..0000000000 --- a/gitops/argocd/apps/base/security/kustomization.yaml +++ /dev/null @@ -1,25 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -namespace: gitops -transformers: -- annotations.yaml -- labels.yaml -resources: -- applicationset.yaml diff --git a/gitops/argocd/apps/base/security/labels.yaml b/gitops/argocd/apps/base/security/labels.yaml deleted file mode 100644 index 8b35c33b0f..0000000000 --- a/gitops/argocd/apps/base/security/labels.yaml +++ /dev/null @@ -1,31 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: builtin -kind: LabelTransformer -metadata: - name: labels -labels: - app.kubernetes.io/managed-by: kustomize - app.kubernetes.io/version: v1.0.0 - portefaix.xyz/stack: security - portefaix.xyz/version: v0.54.0 -fieldSpecs: -- path: metadata/labels - create: true -- path: spec/template/metadata/labels - create: true diff --git a/gitops/argocd/apps/base/storage/annotations.yaml b/gitops/argocd/apps/base/storage/annotations.yaml deleted file mode 100644 index fd2b5d4400..0000000000 --- a/gitops/argocd/apps/base/storage/annotations.yaml +++ /dev/null @@ -1,33 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: builtin -kind: AnnotationsTransformer -metadata: - name: annotations -annotations: - a8r.io/description: Argo-CD Storage application - a8r.io/owner: portefaix - a8r.io/bugs: https://github.com/portefaix/portefaix/issues - a8s.io/repository: https://github.com/portefaix/portefaix/tree/master/gitops/argocd/apps/k3s/homelab/storage - a8r.io/documentation: https://github.com/portefaix/portefaix/blob/master/README.md - a8r.io/support: https://github.com/portefaix/portefaix/issues -fieldSpecs: -- path: metadata/annotations - create: true -- path: spec/template/metadata/annotations - create: true diff --git a/gitops/argocd/apps/base/storage/applicationset.yaml b/gitops/argocd/apps/base/storage/applicationset.yaml deleted file mode 100644 index 755e863652..0000000000 --- a/gitops/argocd/apps/base/storage/applicationset.yaml +++ /dev/null @@ -1,72 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: argoproj.io/v1alpha1 -kind: ApplicationSet -metadata: - name: storage - labels: - app.kubernetes.io/name: storage - app.kubernetes.io/instance: storage-argocd-applicationset - app.kubernetes.io/component: argocd-applicationset - app.kubernetes.io/part-of: storage-argocd -spec: - generators: - - list: - elements: [] - template: - metadata: - name: "{{appName}}" - annotations: - # https://argo-cd.readthedocs.io/en/stable/operator-manual/high_availability/#webhook-and-manifest-paths-annotation - argocd.argoproj.io/manifest-generate-paths: "/{{path}}" - finalizers: - - resources-finalizer.argocd.argoproj.io - labels: - app.kubernetes.io/name: "{{appName}}" - app.kubernetes.io/instance: "{{appName}}-argocd-application" - app.kubernetes.io/component: argocd-application - app.kubernetes.io/part-of: "{{appName}}-argocd" - spec: - destination: - namespace: "{{namespace}}" - server: https://kubernetes.default.svc - project: portefaix-base - source: - repoURL: https://github.com/portefaix/portefaix-kubernetes.git - targetRevision: "{{targetRevision}}" - path: "gitops/argocd/charts/{{namespace}}/{{appName}}" - helm: - valueFiles: - - values.yaml - syncPolicy: - # automated: - # prune: true - # selfHeal: true - # allowEmpty: false - syncOptions: - - CreateNamespace=true - - Validate=false - - SkipDryRunOnMissingResource=true - - ApplyOutOfSyncOnly=true - # - ServerSideApply=true - # retry: - # limit: 5 - # backoff: - # duration: 5s - # factor: 2 - # maxDuration: 3m0s diff --git a/gitops/argocd/apps/base/storage/kustomization.yaml b/gitops/argocd/apps/base/storage/kustomization.yaml deleted file mode 100644 index e46c8c3efc..0000000000 --- a/gitops/argocd/apps/base/storage/kustomization.yaml +++ /dev/null @@ -1,25 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -namespace: gitops -transformers: -- annotations.yaml -- labels.yaml -resources: -- applicationset.yaml diff --git a/gitops/argocd/apps/base/storage/labels.yaml b/gitops/argocd/apps/base/storage/labels.yaml deleted file mode 100644 index ef454afbfd..0000000000 --- a/gitops/argocd/apps/base/storage/labels.yaml +++ /dev/null @@ -1,31 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: builtin -kind: LabelTransformer -metadata: - name: labels -labels: - app.kubernetes.io/managed-by: kustomize - app.kubernetes.io/version: v1.0.0 - portefaix.xyz/stack: system - portefaix.xyz/version: v0.54.0 -fieldSpecs: -- path: metadata/labels - create: true -- path: spec/template/metadata/labels - create: true diff --git a/gitops/argocd/apps/base/system/annotations.yaml b/gitops/argocd/apps/base/system/annotations.yaml deleted file mode 100644 index 4d722aa2b1..0000000000 --- a/gitops/argocd/apps/base/system/annotations.yaml +++ /dev/null @@ -1,33 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: builtin -kind: AnnotationsTransformer -metadata: - name: annotations -annotations: - a8r.io/description: Argo-CD System application - a8r.io/owner: portefaix - a8r.io/bugs: https://github.com/portefaix/portefaix/issues - a8s.io/repository: https://github.com/portefaix/portefaix/tree/master/gitops/argocd/apps/k3s/homelab/system - a8r.io/documentation: https://github.com/portefaix/portefaix/blob/master/README.md - a8r.io/support: https://github.com/portefaix/portefaix/issues -fieldSpecs: -- path: metadata/annotations - create: true -- path: spec/template/metadata/annotations - create: true diff --git a/gitops/argocd/apps/base/system/applicationset.yaml b/gitops/argocd/apps/base/system/applicationset.yaml deleted file mode 100644 index f5f2620966..0000000000 --- a/gitops/argocd/apps/base/system/applicationset.yaml +++ /dev/null @@ -1,72 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: argoproj.io/v1alpha1 -kind: ApplicationSet -metadata: - name: system - labels: - app.kubernetes.io/name: system - app.kubernetes.io/instance: system-argocd-applicationset - app.kubernetes.io/component: argocd-applicationset - app.kubernetes.io/part-of: system-argocd -spec: - generators: - - list: - elements: [] - template: - metadata: - name: "{{appName}}" - annotations: - # https://argo-cd.readthedocs.io/en/stable/operator-manual/high_availability/#webhook-and-manifest-paths-annotation - argocd.argoproj.io/manifest-generate-paths: "/{{path}}" - finalizers: - - resources-finalizer.argocd.argoproj.io - labels: - app.kubernetes.io/name: "{{appName}}" - app.kubernetes.io/instance: "{{appName}}-argocd-application" - app.kubernetes.io/component: argocd-application - app.kubernetes.io/part-of: "{{appName}}-argocd" - spec: - destination: - namespace: "{{namespace}}" - server: https://kubernetes.default.svc - project: portefaix-base - source: - repoURL: https://github.com/portefaix/portefaix-kubernetes.git - targetRevision: "{{targetRevision}}" - path: "gitops/argocd/charts/{{namespace}}/{{appName}}" - helm: - valueFiles: - - values.yaml - syncPolicy: - # automated: - # prune: true - # selfHeal: true - # allowEmpty: false - syncOptions: - - CreateNamespace=true - - Validate=false - - SkipDryRunOnMissingResource=true - - ApplyOutOfSyncOnly=true - # - ServerSideApply=true - # retry: - # limit: 5 - # backoff: - # duration: 5s - # factor: 2 - # maxDuration: 3m0s diff --git a/gitops/argocd/apps/base/system/kustomization.yaml b/gitops/argocd/apps/base/system/kustomization.yaml deleted file mode 100644 index e46c8c3efc..0000000000 --- a/gitops/argocd/apps/base/system/kustomization.yaml +++ /dev/null @@ -1,25 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -namespace: gitops -transformers: -- annotations.yaml -- labels.yaml -resources: -- applicationset.yaml diff --git a/gitops/argocd/apps/base/system/labels.yaml b/gitops/argocd/apps/base/system/labels.yaml deleted file mode 100644 index ef454afbfd..0000000000 --- a/gitops/argocd/apps/base/system/labels.yaml +++ /dev/null @@ -1,31 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: builtin -kind: LabelTransformer -metadata: - name: labels -labels: - app.kubernetes.io/managed-by: kustomize - app.kubernetes.io/version: v1.0.0 - portefaix.xyz/stack: system - portefaix.xyz/version: v0.54.0 -fieldSpecs: -- path: metadata/labels - create: true -- path: spec/template/metadata/labels - create: true diff --git a/gitops/argocd/apps/base/tools/annotations.yaml b/gitops/argocd/apps/base/tools/annotations.yaml deleted file mode 100644 index f5cd333071..0000000000 --- a/gitops/argocd/apps/base/tools/annotations.yaml +++ /dev/null @@ -1,33 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: builtin -kind: AnnotationsTransformer -metadata: - name: annotations -annotations: - a8r.io/description: Argo-CD Tools application - a8r.io/owner: portefaix - a8r.io/bugs: https://github.com/portefaix/portefaix/issues - a8s.io/repository: https://github.com/portefaix/portefaix/tree/master/gitops/argocd/apps/k3s/homelab/tools - a8r.io/documentation: https://github.com/portefaix/portefaix/blob/master/README.md - a8r.io/support: https://github.com/portefaix/portefaix/issues -fieldSpecs: -- path: metadata/annotations - create: true -- path: spec/template/metadata/annotations - create: true diff --git a/gitops/argocd/apps/base/tools/applicationset.yaml b/gitops/argocd/apps/base/tools/applicationset.yaml deleted file mode 100644 index 244cc6e569..0000000000 --- a/gitops/argocd/apps/base/tools/applicationset.yaml +++ /dev/null @@ -1,73 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: argoproj.io/v1alpha1 -kind: ApplicationSet -metadata: - name: tools - labels: - app.kubernetes.io/name: tools - app.kubernetes.io/instance: tools-argocd-applicationset - app.kubernetes.io/component: argocd-applicationset - app.kubernetes.io/part-of: tools-argocd -spec: - generators: - - list: - elements: - - appName: [] - template: - metadata: - name: "{{appName}}" - annotations: - # https://argo-cd.readthedocs.io/en/stable/operator-manual/high_availability/#webhook-and-manifest-paths-annotation - argocd.argoproj.io/manifest-generate-paths: "/{{path}}" - finalizers: - - resources-finalizer.argocd.argoproj.io - labels: - app.kubernetes.io/name: "{{appName}}" - app.kubernetes.io/instance: "{{appName}}-argocd-application" - app.kubernetes.io/component: argocd-application - app.kubernetes.io/part-of: "{{appName}}-argocd" - spec: - destination: - namespace: "{{namespace}}" - server: https://kubernetes.default.svc - project: portefaix-base - source: - repoURL: https://github.com/portefaix/portefaix-kubernetes.git - targetRevision: "{{targetRevision}}" - path: "gitops/argocd/charts/{{namespace}}/{{appName}}" - helm: - valueFiles: - - values.yaml - syncPolicy: - # automated: - # prune: true - # selfHeal: true - # allowEmpty: false - syncOptions: - - CreateNamespace=true - - Validate=false - - SkipDryRunOnMissingResource=true - - ApplyOutOfSyncOnly=true - # - ServerSideApply=true - # retry: - # limit: 5 - # backoff: - # duration: 5s - # factor: 2 - # maxDuration: 3m0s diff --git a/gitops/argocd/apps/base/tools/kustomization.yaml b/gitops/argocd/apps/base/tools/kustomization.yaml deleted file mode 100644 index e46c8c3efc..0000000000 --- a/gitops/argocd/apps/base/tools/kustomization.yaml +++ /dev/null @@ -1,25 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -namespace: gitops -transformers: -- annotations.yaml -- labels.yaml -resources: -- applicationset.yaml diff --git a/gitops/argocd/apps/base/tools/labels.yaml b/gitops/argocd/apps/base/tools/labels.yaml deleted file mode 100644 index ef454afbfd..0000000000 --- a/gitops/argocd/apps/base/tools/labels.yaml +++ /dev/null @@ -1,31 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: builtin -kind: LabelTransformer -metadata: - name: labels -labels: - app.kubernetes.io/managed-by: kustomize - app.kubernetes.io/version: v1.0.0 - portefaix.xyz/stack: system - portefaix.xyz/version: v0.54.0 -fieldSpecs: -- path: metadata/labels - create: true -- path: spec/template/metadata/labels - create: true diff --git a/gitops/argocd/apps/aws/staging/system/kustomization.yaml b/gitops/argocd/apps/chaos/Chart.yaml similarity index 78% rename from gitops/argocd/apps/aws/staging/system/kustomization.yaml rename to gitops/argocd/apps/chaos/Chart.yaml index 4e3cfb9fb9..54c1313d7b 100644 --- a/gitops/argocd/apps/aws/staging/system/kustomization.yaml +++ b/gitops/argocd/apps/chaos/Chart.yaml @@ -15,13 +15,12 @@ # # SPDX-License-Identifier: Apache-2.0 -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -namespace: gitops -transformers: -- labels.yaml -resources: -# Autoscaling -- keda.yaml -# Delivery -- keptn.yaml +apiVersion: v2 +type: application +name: chaos +version: 1.0.0 +appVersion: 1.0.0 +dependencies: +- name: argocd-apps + repository: https://argoproj.github.io/argo-helm + version: 2.0.0 diff --git a/gitops/argocd/apps/chaos/values-aws-staging.yaml b/gitops/argocd/apps/chaos/values-aws-staging.yaml new file mode 100644 index 0000000000..09ca8819cb --- /dev/null +++ b/gitops/argocd/apps/chaos/values-aws-staging.yaml @@ -0,0 +1,53 @@ +--- +# Copyright (C) Nicolas Lamirault +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 + +argocd-apps: + applicationsets: + chaos: + additionalLabels: + portefaix.xyz/env: staging + additionalAnnotations: {} + generators: + - list: + elements: + - appName: litmus-chaos + namespace: litmus + targetRevision: master + # - appName: chaos-mesh + # namespace: chaos-mesh + # targetRevision: master + template: + metadata: + annotations: + argocd.argoproj.io/manifest-generate-paths: '/{{path}}' + notifications.argoproj.io/subscribe.on-degraded.slack: portefaix-staging-gitops + notifications.argoproj.io/subscribe.on-deployed.slack: portefaix-staging-gitops + notifications.argoproj.io/subscribe.on-sync-failed: portefaix-staging-gitops + notifications.argoproj.io/subscribe.on-sync-running.slack: portefaix-staging-gitops + notifications.argoproj.io/subscribe.on-sync-status-unknown: portefaix-staging-gitops + notifications.argoproj.io/subscribe.on-sync-succeeded.slack: portefaix-staging-gitops + finalizers: + - resources-finalizer.argocd.argoproj.io + labels: + portefaix.xyz/env: staging + spec: + project: portefaix-aws-staging + source: + helm: + valueFiles: + - values.yaml + - values-aws-staging.yaml diff --git a/gitops/argocd/apps/chaos/values-k3s-homelab.yaml b/gitops/argocd/apps/chaos/values-k3s-homelab.yaml new file mode 100644 index 0000000000..25a374994c --- /dev/null +++ b/gitops/argocd/apps/chaos/values-k3s-homelab.yaml @@ -0,0 +1,53 @@ +--- +# Copyright (C) Nicolas Lamirault +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 + +argocd-apps: + applicationsets: + chaos: + additionalLabels: + portefaix.xyz/env: homelab + additionalAnnotations: {} + generators: + - list: + elements: + - appName: litmus-chaos + namespace: litmus + targetRevision: master + # - appName: chaos-mesh + # namespace: chaos-mesh + # targetRevision: master + template: + metadata: + annotations: + argocd.argoproj.io/manifest-generate-paths: '/{{path}}' + notifications.argoproj.io/subscribe.on-degraded.slack: portefaix-homelab-gitops + notifications.argoproj.io/subscribe.on-deployed.slack: portefaix-homelab-gitops + notifications.argoproj.io/subscribe.on-sync-failed: portefaix-homelab-gitops + notifications.argoproj.io/subscribe.on-sync-running.slack: portefaix-homelab-gitops + notifications.argoproj.io/subscribe.on-sync-status-unknown: portefaix-homelab-gitops + notifications.argoproj.io/subscribe.on-sync-succeeded.slack: portefaix-homelab-gitops + finalizers: + - resources-finalizer.argocd.argoproj.io + labels: + portefaix.xyz/env: homelab + spec: + project: portefaix-k3s-homelab + source: + helm: + valueFiles: + - values.yaml + - values-k3s-homelab.yaml diff --git a/gitops/argocd/apps/chaos/values.yaml b/gitops/argocd/apps/chaos/values.yaml new file mode 100644 index 0000000000..35a207634d --- /dev/null +++ b/gitops/argocd/apps/chaos/values.yaml @@ -0,0 +1,85 @@ +--- +# Copyright (C) Nicolas Lamirault +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 + +argocd-apps: + applicationsets: + chaos: + additionalAnnotations: + a8r.io/bugs: 'https://github.com/portefaix/portefaix/issues' + a8r.io/description: Argo-CD Chaos application + a8r.io/documentation: 'https://github.com/portefaix/portefaix/blob/master/README.md' + a8r.io/owner: portefaix + a8r.io/support: 'https://github.com/portefaix/portefaix/issues' + a8s.io/repository: >- + https://github.com/portefaix/portefaix/tree/master/gitops/argocd/apps/chaos + additionalLabels: + app.kubernetes.io/component: argocd-applicationset + app.kubernetes.io/instance: chaos-argocd-applicationset + app.kubernetes.io/managed-by: helm + app.kubernetes.io/name: chaos + app.kubernetes.io/part-of: chaos-argocd + app.kubernetes.io/version: v1.0.0 + portefaix.xyz/stack: chaos + portefaix.xyz/version: v0.54.0 + generators: + - list: + elements: [] + template: + metadata: + name: "{{appName}}" + annotations: + # https://argo-cd.readthedocs.io/en/stable/operator-manual/high_availability/#webhook-and-manifest-paths-annotation + argocd.argoproj.io/manifest-generate-paths: "/{{path}}" + labels: + app.kubernetes.io/component: argocd-application + app.kubernetes.io/instance: "{{appName}}-argocd-application" + app.kubernetes.io/managed-by: helm + app.kubernetes.io/name: "{{appName}}" + app.kubernetes.io/part-of: "{{appName}}-argocd" + app.kubernetes.io/version: v1.0.0 + portefaix.xyz/stack: chaos + portefaix.xyz/version: v0.54.0 + finalizers: + - resources-finalizer.argocd.argoproj.io + spec: + destination: + namespace: "{{namespace}}" + server: https://kubernetes.default.svc + source: + repoURL: https://github.com/portefaix/portefaix-kubernetes.git + targetRevision: "{{targetRevision}}" + path: "gitops/argocd/charts/{{namespace}}/{{appName}}" + helm: + valueFiles: + - values.yaml + syncPolicy: + # automated: + # prune: true + # selfHeal: true + # allowEmpty: false + syncOptions: + - CreateNamespace=true + - Validate=false + - SkipDryRunOnMissingResource=true + - ApplyOutOfSyncOnly=true + # - ServerSideApply=true + # retry: + # limit: 5 + # backoff: + # duration: 5s + # factor: 2 + # maxDuration: 3m0s diff --git a/gitops/argocd/apps/aws/staging/networking/kustomization.yaml b/gitops/argocd/apps/core/Chart.yaml similarity index 78% rename from gitops/argocd/apps/aws/staging/networking/kustomization.yaml rename to gitops/argocd/apps/core/Chart.yaml index ad46cd0476..f97791fd0e 100644 --- a/gitops/argocd/apps/aws/staging/networking/kustomization.yaml +++ b/gitops/argocd/apps/core/Chart.yaml @@ -15,11 +15,12 @@ # # SPDX-License-Identifier: Apache-2.0 -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -namespace: gitops -transformers: -- annotations.yaml -- labels.yaml -resources: -- external-dns.yaml +apiVersion: v2 +type: application +name: core +version: 1.0.0 +appVersion: 1.0.0 +dependencies: +- name: argocd-apps + repository: https://argoproj.github.io/argo-helm + version: 2.0.0 diff --git a/gitops/argocd/apps/core/values-aws-staging.yaml b/gitops/argocd/apps/core/values-aws-staging.yaml new file mode 100644 index 0000000000..2de241ab7f --- /dev/null +++ b/gitops/argocd/apps/core/values-aws-staging.yaml @@ -0,0 +1,98 @@ +--- +# Copyright (C) Nicolas Lamirault +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 + +argocd-apps: + applicationsets: + core: + additionalLabels: + portefaix.xyz/env: staging + additionalAnnotations: {} + generators: + - list: + elements: + - appName: crds + namespace: crds + targetRevision: master + - appName: aws-ebs-csi-driver + namespace: kube-system + targetRevision: master + - appName: aws-efs-csi-driver + namespace: kube-system + targetRevision: master + - appName: aws-fsx-csi-driver + namespace: kube-system + targetRevision: master + - appName: aws-load-balancer-controller + namespace: kube-system + targetRevision: master + - appName: aws-node-terminaison-hander + namespace: kube-system + targetRevision: master + - appName: karpenter + namespace: kube-system + targetRevision: master + - appName: secrets-store-csi-driver-aws + namespace: kube-system + targetRevision: master + - appName: secrets-store-csi-driver + namespace: kube-system + targetRevision: master + - appName: metrics-server + namespace: kube-system + targetRevision: master + - appName: sealed-secrets + namespace: kube-system + targetRevision: master + - appName: external-secrets + namespace: kube-system + targetRevision: master + - appName: argo-cd + namespace: gitops + targetRevision: master + - appName: argo-workflows + namespace: gitops + targetRevision: master + - appName: argo-rollouts + namespace: gitops + targetRevision: master + - appName: argo-events + namespace: gitops + targetRevision: master + - appName: kargo + namespace: gitops + targetRevision: master + template: + metadata: + annotations: + argocd.argoproj.io/manifest-generate-paths: '/{{path}}' + notifications.argoproj.io/subscribe.on-degraded.slack: portefaix-staging-gitops + notifications.argoproj.io/subscribe.on-deployed.slack: portefaix-staging-gitops + notifications.argoproj.io/subscribe.on-sync-failed: portefaix-staging-gitops + notifications.argoproj.io/subscribe.on-sync-running.slack: portefaix-staging-gitops + notifications.argoproj.io/subscribe.on-sync-status-unknown: portefaix-staging-gitops + notifications.argoproj.io/subscribe.on-sync-succeeded.slack: portefaix-staging-gitops + finalizers: + - resources-finalizer.argocd.argoproj.io + labels: + portefaix.xyz/env: staging + spec: + project: portefaix-aws-staging + source: + helm: + valueFiles: + - values.yaml + - values-aws-staging.yaml diff --git a/gitops/argocd/apps/core/values-k3s-homelab.yaml b/gitops/argocd/apps/core/values-k3s-homelab.yaml new file mode 100644 index 0000000000..1e66eb93f4 --- /dev/null +++ b/gitops/argocd/apps/core/values-k3s-homelab.yaml @@ -0,0 +1,80 @@ +--- +# Copyright (C) Nicolas Lamirault +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 + +argocd-apps: + applicationsets: + core: + additionalLabels: + portefaix.xyz/env: homelab + additionalAnnotations: {} + generators: + - list: + elements: + - appName: crds + namespace: crds + targetRevision: master + - appName: cilium + namespace: kube-system + targetRevision: master + - appName: metrics-server + namespace: kube-system + targetRevision: master + - appName: sealed-secrets + namespace: kube-system + targetRevision: master + - appName: external-secrets + namespace: kube-system + targetRevision: master + - appName: nfs-subdir-external-provisioner + namespace: kube-system + targetRevision: master + - appName: argo-cd + namespace: gitops + targetRevision: master + - appName: argo-workflows + namespace: gitops + targetRevision: master + - appName: argo-rollouts + namespace: gitops + targetRevision: master + - appName: argo-events + namespace: gitops + targetRevision: master + - appName: kargo + namespace: gitops + targetRevision: master + template: + metadata: + annotations: + argocd.argoproj.io/manifest-generate-paths: '/{{path}}' + notifications.argoproj.io/subscribe.on-degraded.slack: portefaix-homelab-gitops + notifications.argoproj.io/subscribe.on-deployed.slack: portefaix-homelab-gitops + notifications.argoproj.io/subscribe.on-sync-failed: portefaix-homelab-gitops + notifications.argoproj.io/subscribe.on-sync-running.slack: portefaix-homelab-gitops + notifications.argoproj.io/subscribe.on-sync-status-unknown: portefaix-homelab-gitops + notifications.argoproj.io/subscribe.on-sync-succeeded.slack: portefaix-homelab-gitops + finalizers: + - resources-finalizer.argocd.argoproj.io + labels: + portefaix.xyz/env: homelab + spec: + project: portefaix-k3s-homelab + source: + helm: + valueFiles: + - values.yaml + - values-k3s-homelab.yaml diff --git a/gitops/argocd/apps/core/values.yaml b/gitops/argocd/apps/core/values.yaml new file mode 100644 index 0000000000..65baf4d01f --- /dev/null +++ b/gitops/argocd/apps/core/values.yaml @@ -0,0 +1,85 @@ +--- +# Copyright (C) Nicolas Lamirault +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 + +argocd-apps: + applicationsets: + core: + additionalAnnotations: + a8r.io/bugs: 'https://github.com/portefaix/portefaix/issues' + a8r.io/description: Argo-CD Core application + a8r.io/documentation: 'https://github.com/portefaix/portefaix/blob/master/README.md' + a8r.io/owner: portefaix + a8r.io/support: 'https://github.com/portefaix/portefaix/issues' + a8s.io/repository: >- + https://github.com/portefaix/portefaix/tree/master/gitops/argocd/apps/core + additionalLabels: + app.kubernetes.io/component: argocd-applicationset + app.kubernetes.io/instance: core-argocd-applicationset + app.kubernetes.io/managed-by: helm + app.kubernetes.io/name: core + app.kubernetes.io/part-of: core-argocd + app.kubernetes.io/version: v1.0.0 + portefaix.xyz/stack: core + portefaix.xyz/version: v0.54.0 + generators: + - list: + elements: [] + template: + metadata: + name: "{{appName}}" + annotations: + # https://argo-cd.readthedocs.io/en/stable/operator-manual/high_availability/#webhook-and-manifest-paths-annotation + argocd.argoproj.io/manifest-generate-paths: "/{{path}}" + labels: + app.kubernetes.io/component: argocd-application + app.kubernetes.io/instance: "{{appName}}-argocd-application" + app.kubernetes.io/managed-by: helm + app.kubernetes.io/name: "{{appName}}" + app.kubernetes.io/part-of: "{{appName}}-argocd" + app.kubernetes.io/version: v1.0.0 + portefaix.xyz/stack: core + portefaix.xyz/version: v0.54.0 + finalizers: + - resources-finalizer.argocd.argoproj.io + spec: + destination: + namespace: "{{namespace}}" + server: https://kubernetes.default.svc + source: + repoURL: https://github.com/portefaix/portefaix-kubernetes.git + targetRevision: "{{targetRevision}}" + path: "gitops/argocd/charts/{{namespace}}/{{appName}}" + helm: + valueFiles: + - values.yaml + syncPolicy: + # automated: + # prune: true + # selfHeal: true + # allowEmpty: false + syncOptions: + - CreateNamespace=true + - Validate=false + - SkipDryRunOnMissingResource=true + - ApplyOutOfSyncOnly=true + # - ServerSideApply=true + # retry: + # limit: 5 + # backoff: + # duration: 5s + # factor: 2 + # maxDuration: 3m0s diff --git a/gitops/argocd/apps/base/core/kustomization.yaml b/gitops/argocd/apps/demo/Chart.yaml similarity index 78% rename from gitops/argocd/apps/base/core/kustomization.yaml rename to gitops/argocd/apps/demo/Chart.yaml index e46c8c3efc..84bacddaf3 100644 --- a/gitops/argocd/apps/base/core/kustomization.yaml +++ b/gitops/argocd/apps/demo/Chart.yaml @@ -15,11 +15,12 @@ # # SPDX-License-Identifier: Apache-2.0 -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -namespace: gitops -transformers: -- annotations.yaml -- labels.yaml -resources: -- applicationset.yaml +apiVersion: v2 +type: application +name: demo +version: 1.0.0 +appVersion: 1.0.0 +dependencies: +- name: argocd-apps + repository: https://argoproj.github.io/argo-helm + version: 2.0.0 diff --git a/gitops/argocd/apps/demo/values-aws-staging.yaml b/gitops/argocd/apps/demo/values-aws-staging.yaml new file mode 100644 index 0000000000..c55dcbe50a --- /dev/null +++ b/gitops/argocd/apps/demo/values-aws-staging.yaml @@ -0,0 +1,59 @@ +--- +# Copyright (C) Nicolas Lamirault +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 + +argocd-apps: + applicationsets: + demo: + additionalLabels: + portefaix.xyz/env: staging + additionalAnnotations: {} + generators: + - list: + elements: + - appName: podinfo-dev + namespace: demo + targetRevision: master + - appName: podinfo-uat + namespace: demo + targetRevision: master + - appName: podinfo-prod + namespace: demo + targetRevision: master + - appName: pizza-dev + namespace: demo-dev + targetRevision: master + template: + metadata: + annotations: + argocd.argoproj.io/manifest-generate-paths: '/{{path}}' + notifications.argoproj.io/subscribe.on-degraded.slack: portefaix-staging-gitops + notifications.argoproj.io/subscribe.on-deployed.slack: portefaix-staging-gitops + notifications.argoproj.io/subscribe.on-sync-failed: portefaix-staging-gitops + notifications.argoproj.io/subscribe.on-sync-running.slack: portefaix-staging-gitops + notifications.argoproj.io/subscribe.on-sync-status-unknown: portefaix-staging-gitops + notifications.argoproj.io/subscribe.on-sync-succeeded.slack: portefaix-staging-gitops + finalizers: + - resources-finalizer.argocd.argoproj.io + labels: + portefaix.xyz/env: staging + spec: + project: portefaix-aws-staging + source: + helm: + valueFiles: + - values.yaml + - values-aws-staging.yaml diff --git a/gitops/argocd/apps/demo/values-k3s-homelab.yaml b/gitops/argocd/apps/demo/values-k3s-homelab.yaml new file mode 100644 index 0000000000..80eb405ae9 --- /dev/null +++ b/gitops/argocd/apps/demo/values-k3s-homelab.yaml @@ -0,0 +1,59 @@ +--- +# Copyright (C) Nicolas Lamirault +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 + +argocd-apps: + applicationsets: + demo: + additionalLabels: + portefaix.xyz/env: homelab + additionalAnnotations: {} + generators: + - list: + elements: + - appName: podinfo-dev + namespace: demo + targetRevision: master + - appName: podinfo-uat + namespace: demo + targetRevision: master + - appName: podinfo-prod + namespace: demo + targetRevision: master + - appName: pizza-dev + namespace: demo-dev + targetRevision: master + template: + metadata: + annotations: + argocd.argoproj.io/manifest-generate-paths: '/{{path}}' + notifications.argoproj.io/subscribe.on-degraded.slack: portefaix-homelab-gitops + notifications.argoproj.io/subscribe.on-deployed.slack: portefaix-homelab-gitops + notifications.argoproj.io/subscribe.on-sync-failed: portefaix-homelab-gitops + notifications.argoproj.io/subscribe.on-sync-running.slack: portefaix-homelab-gitops + notifications.argoproj.io/subscribe.on-sync-status-unknown: portefaix-homelab-gitops + notifications.argoproj.io/subscribe.on-sync-succeeded.slack: portefaix-homelab-gitops + finalizers: + - resources-finalizer.argocd.argoproj.io + labels: + portefaix.xyz/env: homelab + spec: + project: portefaix-k3s-homelab + source: + helm: + valueFiles: + - values.yaml + - values-k3s-homelab.yaml diff --git a/gitops/argocd/apps/demo/values.yaml b/gitops/argocd/apps/demo/values.yaml new file mode 100644 index 0000000000..7be863f018 --- /dev/null +++ b/gitops/argocd/apps/demo/values.yaml @@ -0,0 +1,85 @@ +--- +# Copyright (C) Nicolas Lamirault +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 + +argocd-apps: + applicationsets: + demo: + additionalAnnotations: + a8r.io/bugs: 'https://github.com/portefaix/portefaix/issues' + a8r.io/description: Argo-CD Demo application + a8r.io/documentation: 'https://github.com/portefaix/portefaix/blob/master/README.md' + a8r.io/owner: portefaix + a8r.io/support: 'https://github.com/portefaix/portefaix/issues' + a8s.io/repository: >- + https://github.com/portefaix/portefaix/tree/master/gitops/argocd/apps/demo + additionalLabels: + app.kubernetes.io/component: argocd-applicationset + app.kubernetes.io/instance: demo-argocd-applicationset + app.kubernetes.io/managed-by: helm + app.kubernetes.io/name: demo + app.kubernetes.io/part-of: demo-argocd + app.kubernetes.io/version: v1.0.0 + portefaix.xyz/stack: demo + portefaix.xyz/version: v0.54.0 + generators: + - list: + elements: [] + template: + metadata: + name: "{{appName}}" + annotations: + # https://argo-cd.readthedocs.io/en/stable/operator-manual/high_availability/#webhook-and-manifest-paths-annotation + argocd.argoproj.io/manifest-generate-paths: "/{{path}}" + labels: + app.kubernetes.io/component: argocd-application + app.kubernetes.io/instance: "{{appName}}-argocd-application" + app.kubernetes.io/managed-by: helm + app.kubernetes.io/name: "{{appName}}" + app.kubernetes.io/part-of: "{{appName}}-argocd" + app.kubernetes.io/version: v1.0.0 + portefaix.xyz/stack: demo + portefaix.xyz/version: v0.54.0 + finalizers: + - resources-finalizer.argocd.argoproj.io + spec: + destination: + namespace: "{{namespace}}" + server: https://kubernetes.default.svc + source: + repoURL: https://github.com/portefaix/portefaix-kubernetes.git + targetRevision: "{{targetRevision}}" + path: "gitops/argocd/charts/{{namespace}}/{{appName}}" + helm: + valueFiles: + - values.yaml + syncPolicy: + # automated: + # prune: true + # selfHeal: true + # allowEmpty: false + syncOptions: + - CreateNamespace=true + - Validate=false + - SkipDryRunOnMissingResource=true + - ApplyOutOfSyncOnly=true + # - ServerSideApply=true + # retry: + # limit: 5 + # backoff: + # duration: 5s + # factor: 2 + # maxDuration: 3m0s diff --git a/gitops/argocd/apps/k3s/homelab/chaos/annotations.yaml b/gitops/argocd/apps/k3s/homelab/chaos/annotations.yaml deleted file mode 100644 index d7a7cb30ae..0000000000 --- a/gitops/argocd/apps/k3s/homelab/chaos/annotations.yaml +++ /dev/null @@ -1,33 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: builtin -kind: AnnotationsTransformer -metadata: - name: annotations -annotations: - notifications.argoproj.io/subscribe.on-deployed.slack: portefaix-homelab-gitops - notifications.argoproj.io/subscribe.on-degraded.slack: portefaix-homelab-gitops - notifications.argoproj.io/subscribe.on-sync-succeeded.slack: portefaix-homelab-gitops - notifications.argoproj.io/subscribe.on-sync-running.slack: portefaix-homelab-gitops - notifications.argoproj.io/subscribe.on-sync-failed: portefaix-homelab-gitops - notifications.argoproj.io/subscribe.on-sync-status-unknown: portefaix-homelab-gitops -fieldSpecs: -- path: metadata/annotations - create: true -- path: spec/template/metadata/annotations - create: true diff --git a/gitops/argocd/apps/k3s/homelab/chaos/applicationset.yaml b/gitops/argocd/apps/k3s/homelab/chaos/applicationset.yaml deleted file mode 100644 index 0239fac186..0000000000 --- a/gitops/argocd/apps/k3s/homelab/chaos/applicationset.yaml +++ /dev/null @@ -1,39 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: argoproj.io/v1alpha1 -kind: ApplicationSet -metadata: - name: chaos -spec: - generators: - - list: - elements: - - appName: litmus-chaos - namespace: litmus - targetRevision: master - # - appName: chaos-mesh - # namespace: chaos-mesh - # targetRevision: master - template: - spec: - project: portefaix-k3s-homelab - source: - helm: - valueFiles: - - values.yaml - - values-k3s-homelab.yaml diff --git a/gitops/argocd/apps/k3s/homelab/chaos/kustomization.yaml b/gitops/argocd/apps/k3s/homelab/chaos/kustomization.yaml deleted file mode 100644 index b3cd2fb655..0000000000 --- a/gitops/argocd/apps/k3s/homelab/chaos/kustomization.yaml +++ /dev/null @@ -1,27 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -namespace: gitops -transformers: -- annotations.yaml -- labels.yaml -resources: -- ../../../base/chaos -patchesStrategicMerge: -- applicationset.yaml diff --git a/gitops/argocd/apps/k3s/homelab/chaos/labels.yaml b/gitops/argocd/apps/k3s/homelab/chaos/labels.yaml deleted file mode 100644 index ed997c9911..0000000000 --- a/gitops/argocd/apps/k3s/homelab/chaos/labels.yaml +++ /dev/null @@ -1,28 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: builtin -kind: LabelTransformer -metadata: - name: labels -labels: - portefaix.xyz/env: homelab -fieldSpecs: -- path: metadata/labels - create: true -- path: spec/template/metadata/labels - create: true diff --git a/gitops/argocd/apps/k3s/homelab/core/annotations.yaml b/gitops/argocd/apps/k3s/homelab/core/annotations.yaml deleted file mode 100644 index d7a7cb30ae..0000000000 --- a/gitops/argocd/apps/k3s/homelab/core/annotations.yaml +++ /dev/null @@ -1,33 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: builtin -kind: AnnotationsTransformer -metadata: - name: annotations -annotations: - notifications.argoproj.io/subscribe.on-deployed.slack: portefaix-homelab-gitops - notifications.argoproj.io/subscribe.on-degraded.slack: portefaix-homelab-gitops - notifications.argoproj.io/subscribe.on-sync-succeeded.slack: portefaix-homelab-gitops - notifications.argoproj.io/subscribe.on-sync-running.slack: portefaix-homelab-gitops - notifications.argoproj.io/subscribe.on-sync-failed: portefaix-homelab-gitops - notifications.argoproj.io/subscribe.on-sync-status-unknown: portefaix-homelab-gitops -fieldSpecs: -- path: metadata/annotations - create: true -- path: spec/template/metadata/annotations - create: true diff --git a/gitops/argocd/apps/k3s/homelab/core/applicationset.yaml b/gitops/argocd/apps/k3s/homelab/core/applicationset.yaml deleted file mode 100644 index 23724f680e..0000000000 --- a/gitops/argocd/apps/k3s/homelab/core/applicationset.yaml +++ /dev/null @@ -1,66 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: argoproj.io/v1alpha1 -kind: ApplicationSet -metadata: - name: core -spec: - generators: - - list: - elements: - - appName: crds - namespace: crds - targetRevision: master - - appName: cilium - namespace: kube-system - targetRevision: master - - appName: metrics-server - namespace: kube-system - targetRevision: master - - appName: sealed-secrets - namespace: kube-system - targetRevision: master - - appName: external-secrets - namespace: kube-system - targetRevision: master - - appName: nfs-subdir-external-provisioner - namespace: kube-system - targetRevision: master - - appName: argo-cd - namespace: gitops - targetRevision: master - - appName: argo-workflows - namespace: gitops - targetRevision: master - - appName: argo-rollouts - namespace: gitops - targetRevision: master - - appName: argo-events - namespace: gitops - targetRevision: master - - appName: kargo - namespace: gitops - targetRevision: master - template: - spec: - project: portefaix-k3s-homelab - source: - helm: - valueFiles: - - values.yaml - - values-k3s-homelab.yaml diff --git a/gitops/argocd/apps/k3s/homelab/core/kustomization.yaml b/gitops/argocd/apps/k3s/homelab/core/kustomization.yaml deleted file mode 100644 index f3ccc7db64..0000000000 --- a/gitops/argocd/apps/k3s/homelab/core/kustomization.yaml +++ /dev/null @@ -1,27 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -namespace: gitops -transformers: -- annotations.yaml -- labels.yaml -resources: -- ../../../base/core -patchesStrategicMerge: -- applicationset.yaml diff --git a/gitops/argocd/apps/k3s/homelab/core/labels.yaml b/gitops/argocd/apps/k3s/homelab/core/labels.yaml deleted file mode 100644 index ed997c9911..0000000000 --- a/gitops/argocd/apps/k3s/homelab/core/labels.yaml +++ /dev/null @@ -1,28 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: builtin -kind: LabelTransformer -metadata: - name: labels -labels: - portefaix.xyz/env: homelab -fieldSpecs: -- path: metadata/labels - create: true -- path: spec/template/metadata/labels - create: true diff --git a/gitops/argocd/apps/k3s/homelab/demo/annotations.yaml b/gitops/argocd/apps/k3s/homelab/demo/annotations.yaml deleted file mode 100644 index d7a7cb30ae..0000000000 --- a/gitops/argocd/apps/k3s/homelab/demo/annotations.yaml +++ /dev/null @@ -1,33 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: builtin -kind: AnnotationsTransformer -metadata: - name: annotations -annotations: - notifications.argoproj.io/subscribe.on-deployed.slack: portefaix-homelab-gitops - notifications.argoproj.io/subscribe.on-degraded.slack: portefaix-homelab-gitops - notifications.argoproj.io/subscribe.on-sync-succeeded.slack: portefaix-homelab-gitops - notifications.argoproj.io/subscribe.on-sync-running.slack: portefaix-homelab-gitops - notifications.argoproj.io/subscribe.on-sync-failed: portefaix-homelab-gitops - notifications.argoproj.io/subscribe.on-sync-status-unknown: portefaix-homelab-gitops -fieldSpecs: -- path: metadata/annotations - create: true -- path: spec/template/metadata/annotations - create: true diff --git a/gitops/argocd/apps/k3s/homelab/demo/applicationset.yaml b/gitops/argocd/apps/k3s/homelab/demo/applicationset.yaml deleted file mode 100644 index be80726cf5..0000000000 --- a/gitops/argocd/apps/k3s/homelab/demo/applicationset.yaml +++ /dev/null @@ -1,45 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: argoproj.io/v1alpha1 -kind: ApplicationSet -metadata: - name: demo -spec: - generators: - - list: - elements: - - appName: podinfo-dev - namespace: demo - targetRevision: master - - appName: podinfo-uat - namespace: demo - targetRevision: master - - appName: podinfo-prod - namespace: demo - targetRevision: master - - appName: pizza-dev - namespace: demo-dev - targetRevision: master - template: - spec: - project: portefaix-k3s-homelab - source: - helm: - valueFiles: - - values.yaml - - values-k3s-homelab.yaml diff --git a/gitops/argocd/apps/k3s/homelab/demo/kustomization.yaml b/gitops/argocd/apps/k3s/homelab/demo/kustomization.yaml deleted file mode 100644 index 76f2c6022b..0000000000 --- a/gitops/argocd/apps/k3s/homelab/demo/kustomization.yaml +++ /dev/null @@ -1,27 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -namespace: gitops -transformers: -- annotations.yaml -- labels.yaml -resources: -- ../../../base/demo -patchesStrategicMerge: -- applicationset.yaml diff --git a/gitops/argocd/apps/k3s/homelab/demo/labels.yaml b/gitops/argocd/apps/k3s/homelab/demo/labels.yaml deleted file mode 100644 index ed997c9911..0000000000 --- a/gitops/argocd/apps/k3s/homelab/demo/labels.yaml +++ /dev/null @@ -1,28 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: builtin -kind: LabelTransformer -metadata: - name: labels -labels: - portefaix.xyz/env: homelab -fieldSpecs: -- path: metadata/labels - create: true -- path: spec/template/metadata/labels - create: true diff --git a/gitops/argocd/apps/k3s/homelab/networking/annotations.yaml b/gitops/argocd/apps/k3s/homelab/networking/annotations.yaml deleted file mode 100644 index d7a7cb30ae..0000000000 --- a/gitops/argocd/apps/k3s/homelab/networking/annotations.yaml +++ /dev/null @@ -1,33 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: builtin -kind: AnnotationsTransformer -metadata: - name: annotations -annotations: - notifications.argoproj.io/subscribe.on-deployed.slack: portefaix-homelab-gitops - notifications.argoproj.io/subscribe.on-degraded.slack: portefaix-homelab-gitops - notifications.argoproj.io/subscribe.on-sync-succeeded.slack: portefaix-homelab-gitops - notifications.argoproj.io/subscribe.on-sync-running.slack: portefaix-homelab-gitops - notifications.argoproj.io/subscribe.on-sync-failed: portefaix-homelab-gitops - notifications.argoproj.io/subscribe.on-sync-status-unknown: portefaix-homelab-gitops -fieldSpecs: -- path: metadata/annotations - create: true -- path: spec/template/metadata/annotations - create: true diff --git a/gitops/argocd/apps/k3s/homelab/networking/applicationset.yaml b/gitops/argocd/apps/k3s/homelab/networking/applicationset.yaml deleted file mode 100644 index 6e635fffbc..0000000000 --- a/gitops/argocd/apps/k3s/homelab/networking/applicationset.yaml +++ /dev/null @@ -1,48 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: argoproj.io/v1alpha1 -kind: ApplicationSet -metadata: - name: networking -spec: - generators: - - list: - elements: - - appName: ingress-nginx - namespace: ingress-system - targetRevision: master - - appName: envoy-gateway - namespace: api-gateway - targetRevision: master - - appName: external-dns - namespace: dns - targetRevision: master - - appName: cloudflare-tunnel - namespace: dns - targetRevision: master - - appName: nats - namespace: messaging - targetRevision: master - template: - spec: - project: portefaix-k3s-homelab - source: - helm: - valueFiles: - - values.yaml - - values-k3s-homelab.yaml diff --git a/gitops/argocd/apps/k3s/homelab/networking/kustomization.yaml b/gitops/argocd/apps/k3s/homelab/networking/kustomization.yaml deleted file mode 100644 index 4dd0397fdb..0000000000 --- a/gitops/argocd/apps/k3s/homelab/networking/kustomization.yaml +++ /dev/null @@ -1,27 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -namespace: gitops -transformers: -- annotations.yaml -- labels.yaml -resources: -- ../../../base/networking -patchesStrategicMerge: -- applicationset.yaml diff --git a/gitops/argocd/apps/k3s/homelab/networking/labels.yaml b/gitops/argocd/apps/k3s/homelab/networking/labels.yaml deleted file mode 100644 index ed997c9911..0000000000 --- a/gitops/argocd/apps/k3s/homelab/networking/labels.yaml +++ /dev/null @@ -1,28 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: builtin -kind: LabelTransformer -metadata: - name: labels -labels: - portefaix.xyz/env: homelab -fieldSpecs: -- path: metadata/labels - create: true -- path: spec/template/metadata/labels - create: true diff --git a/gitops/argocd/apps/k3s/homelab/observability/annotations.yaml b/gitops/argocd/apps/k3s/homelab/observability/annotations.yaml deleted file mode 100644 index d7a7cb30ae..0000000000 --- a/gitops/argocd/apps/k3s/homelab/observability/annotations.yaml +++ /dev/null @@ -1,33 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: builtin -kind: AnnotationsTransformer -metadata: - name: annotations -annotations: - notifications.argoproj.io/subscribe.on-deployed.slack: portefaix-homelab-gitops - notifications.argoproj.io/subscribe.on-degraded.slack: portefaix-homelab-gitops - notifications.argoproj.io/subscribe.on-sync-succeeded.slack: portefaix-homelab-gitops - notifications.argoproj.io/subscribe.on-sync-running.slack: portefaix-homelab-gitops - notifications.argoproj.io/subscribe.on-sync-failed: portefaix-homelab-gitops - notifications.argoproj.io/subscribe.on-sync-status-unknown: portefaix-homelab-gitops -fieldSpecs: -- path: metadata/annotations - create: true -- path: spec/template/metadata/annotations - create: true diff --git a/gitops/argocd/apps/k3s/homelab/observability/applicationset.yaml b/gitops/argocd/apps/k3s/homelab/observability/applicationset.yaml deleted file mode 100644 index 5f157482bc..0000000000 --- a/gitops/argocd/apps/k3s/homelab/observability/applicationset.yaml +++ /dev/null @@ -1,75 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: argoproj.io/v1alpha1 -kind: ApplicationSet -metadata: - name: observability -spec: - generators: - - list: - elements: - - appName: grafana-operator - namespace: observability - targetRevision: master - # - appName: grafana - # namespace: observability - # targetRevision: master - - appName: kube-prometheus-stack - namespace: monitoring - targetRevision: master - - appName: mimir - namespace: monitoring - targetRevision: master - - appName: loki - namespace: logging - targetRevision: master - - appName: tempo - namespace: tracing - targetRevision: master - - appName: blackbox-exporter - namespace: monitoring - targetRevision: master - - appName: alloy - namespace: opentelemetry - targetRevision: master - - appName: beyla - namespace: opentelemetry - targetRevision: master - - appName: quickwit - namespace: opentelemetry - targetRevision: master - - appName: datadog - namespace: opentelemetry - targetRevision: master - - appName: pyroscope - namespace: profiling - targetRevision: master - - appName: pyrra - namespace: reliability - targetRevision: master - - appName: retina - namespace: kube-system - targetRevision: master - template: - spec: - project: portefaix-k3s-homelab - source: - helm: - valueFiles: - - values.yaml - - values-k3s-homelab.yaml diff --git a/gitops/argocd/apps/k3s/homelab/observability/kustomization.yaml b/gitops/argocd/apps/k3s/homelab/observability/kustomization.yaml deleted file mode 100644 index d4c6f3994e..0000000000 --- a/gitops/argocd/apps/k3s/homelab/observability/kustomization.yaml +++ /dev/null @@ -1,27 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -namespace: gitops -transformers: -- annotations.yaml -- labels.yaml -resources: -- ../../../base/observability -patchesStrategicMerge: -- applicationset.yaml diff --git a/gitops/argocd/apps/k3s/homelab/observability/labels.yaml b/gitops/argocd/apps/k3s/homelab/observability/labels.yaml deleted file mode 100644 index ed997c9911..0000000000 --- a/gitops/argocd/apps/k3s/homelab/observability/labels.yaml +++ /dev/null @@ -1,28 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: builtin -kind: LabelTransformer -metadata: - name: labels -labels: - portefaix.xyz/env: homelab -fieldSpecs: -- path: metadata/labels - create: true -- path: spec/template/metadata/labels - create: true diff --git a/gitops/argocd/apps/k3s/homelab/security/annotations.yaml b/gitops/argocd/apps/k3s/homelab/security/annotations.yaml deleted file mode 100644 index d7a7cb30ae..0000000000 --- a/gitops/argocd/apps/k3s/homelab/security/annotations.yaml +++ /dev/null @@ -1,33 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: builtin -kind: AnnotationsTransformer -metadata: - name: annotations -annotations: - notifications.argoproj.io/subscribe.on-deployed.slack: portefaix-homelab-gitops - notifications.argoproj.io/subscribe.on-degraded.slack: portefaix-homelab-gitops - notifications.argoproj.io/subscribe.on-sync-succeeded.slack: portefaix-homelab-gitops - notifications.argoproj.io/subscribe.on-sync-running.slack: portefaix-homelab-gitops - notifications.argoproj.io/subscribe.on-sync-failed: portefaix-homelab-gitops - notifications.argoproj.io/subscribe.on-sync-status-unknown: portefaix-homelab-gitops -fieldSpecs: -- path: metadata/annotations - create: true -- path: spec/template/metadata/annotations - create: true diff --git a/gitops/argocd/apps/k3s/homelab/security/applicationset.yaml b/gitops/argocd/apps/k3s/homelab/security/applicationset.yaml deleted file mode 100644 index 2168688264..0000000000 --- a/gitops/argocd/apps/k3s/homelab/security/applicationset.yaml +++ /dev/null @@ -1,63 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: argoproj.io/v1alpha1 -kind: ApplicationSet -metadata: - name: security -spec: - generators: - - list: - elements: - - appName: authentik - namespace: identity - targetRevision: master - - appName: dex - namespace: identity - targetRevision: master - - appName: kyverno - namespace: kyverno - targetRevision: master - - appName: kyverno-reporter - namespace: kyverno - targetRevision: master - - appName: sbom-operator - namespace: security - targetRevision: master - - appName: trivy-operator - namespace: security - targetRevision: master - - appName: vault - namespace: security - targetRevision: master - - appName: tetragon - namespace: security - targetRevision: master - - appName: falco - namespace: security - targetRevision: master - - appName: paralus - namespace: zerotrust - targetRevision: feat/paralus - template: - spec: - project: portefaix-k3s-homelab - source: - helm: - valueFiles: - - values.yaml - - values-k3s-homelab.yaml diff --git a/gitops/argocd/apps/k3s/homelab/security/kustomization.yaml b/gitops/argocd/apps/k3s/homelab/security/kustomization.yaml deleted file mode 100644 index 607bd403f5..0000000000 --- a/gitops/argocd/apps/k3s/homelab/security/kustomization.yaml +++ /dev/null @@ -1,27 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -namespace: gitops -transformers: -- annotations.yaml -- labels.yaml -resources: -- ../../../base/security -patchesStrategicMerge: -- applicationset.yaml diff --git a/gitops/argocd/apps/k3s/homelab/security/labels.yaml b/gitops/argocd/apps/k3s/homelab/security/labels.yaml deleted file mode 100644 index ed997c9911..0000000000 --- a/gitops/argocd/apps/k3s/homelab/security/labels.yaml +++ /dev/null @@ -1,28 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: builtin -kind: LabelTransformer -metadata: - name: labels -labels: - portefaix.xyz/env: homelab -fieldSpecs: -- path: metadata/labels - create: true -- path: spec/template/metadata/labels - create: true diff --git a/gitops/argocd/apps/k3s/homelab/storage/annotations.yaml b/gitops/argocd/apps/k3s/homelab/storage/annotations.yaml deleted file mode 100644 index d7a7cb30ae..0000000000 --- a/gitops/argocd/apps/k3s/homelab/storage/annotations.yaml +++ /dev/null @@ -1,33 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: builtin -kind: AnnotationsTransformer -metadata: - name: annotations -annotations: - notifications.argoproj.io/subscribe.on-deployed.slack: portefaix-homelab-gitops - notifications.argoproj.io/subscribe.on-degraded.slack: portefaix-homelab-gitops - notifications.argoproj.io/subscribe.on-sync-succeeded.slack: portefaix-homelab-gitops - notifications.argoproj.io/subscribe.on-sync-running.slack: portefaix-homelab-gitops - notifications.argoproj.io/subscribe.on-sync-failed: portefaix-homelab-gitops - notifications.argoproj.io/subscribe.on-sync-status-unknown: portefaix-homelab-gitops -fieldSpecs: -- path: metadata/annotations - create: true -- path: spec/template/metadata/annotations - create: true diff --git a/gitops/argocd/apps/k3s/homelab/storage/applicationset.yaml b/gitops/argocd/apps/k3s/homelab/storage/applicationset.yaml deleted file mode 100644 index 97fb8fffb2..0000000000 --- a/gitops/argocd/apps/k3s/homelab/storage/applicationset.yaml +++ /dev/null @@ -1,36 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: argoproj.io/v1alpha1 -kind: ApplicationSet -metadata: - name: storage -spec: - generators: - - list: - elements: [] - # - appName: longhorn - # namespace: storage - # targetRevision: master - template: - spec: - project: portefaix-k3s-homelab - source: - helm: - valueFiles: - - values.yaml - - values-k3s-homelab.yaml diff --git a/gitops/argocd/apps/k3s/homelab/storage/kustomization.yaml b/gitops/argocd/apps/k3s/homelab/storage/kustomization.yaml deleted file mode 100644 index 0b0d1cb799..0000000000 --- a/gitops/argocd/apps/k3s/homelab/storage/kustomization.yaml +++ /dev/null @@ -1,27 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -namespace: gitops -transformers: -- annotations.yaml -- labels.yaml -resources: -- ../../../base/storage -patchesStrategicMerge: -- applicationset.yaml diff --git a/gitops/argocd/apps/k3s/homelab/storage/labels.yaml b/gitops/argocd/apps/k3s/homelab/storage/labels.yaml deleted file mode 100644 index ed997c9911..0000000000 --- a/gitops/argocd/apps/k3s/homelab/storage/labels.yaml +++ /dev/null @@ -1,28 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: builtin -kind: LabelTransformer -metadata: - name: labels -labels: - portefaix.xyz/env: homelab -fieldSpecs: -- path: metadata/labels - create: true -- path: spec/template/metadata/labels - create: true diff --git a/gitops/argocd/apps/k3s/homelab/system/annotations.yaml b/gitops/argocd/apps/k3s/homelab/system/annotations.yaml deleted file mode 100644 index d7a7cb30ae..0000000000 --- a/gitops/argocd/apps/k3s/homelab/system/annotations.yaml +++ /dev/null @@ -1,33 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: builtin -kind: AnnotationsTransformer -metadata: - name: annotations -annotations: - notifications.argoproj.io/subscribe.on-deployed.slack: portefaix-homelab-gitops - notifications.argoproj.io/subscribe.on-degraded.slack: portefaix-homelab-gitops - notifications.argoproj.io/subscribe.on-sync-succeeded.slack: portefaix-homelab-gitops - notifications.argoproj.io/subscribe.on-sync-running.slack: portefaix-homelab-gitops - notifications.argoproj.io/subscribe.on-sync-failed: portefaix-homelab-gitops - notifications.argoproj.io/subscribe.on-sync-status-unknown: portefaix-homelab-gitops -fieldSpecs: -- path: metadata/annotations - create: true -- path: spec/template/metadata/annotations - create: true diff --git a/gitops/argocd/apps/k3s/homelab/system/applicationset.yaml b/gitops/argocd/apps/k3s/homelab/system/applicationset.yaml deleted file mode 100644 index a25cccf7e7..0000000000 --- a/gitops/argocd/apps/k3s/homelab/system/applicationset.yaml +++ /dev/null @@ -1,54 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: argoproj.io/v1alpha1 -kind: ApplicationSet -metadata: - name: system -spec: - generators: - - list: - elements: - - appName: cert-manager - namespace: cert-manager - targetRevision: master - - appName: cloudnativepg - namespace: database - targetRevision: master - - appName: descheduler - namespace: kube-system - targetRevision: master - # - appName: keda - # namespace: keda - # targetRevision: master - # - appName: keptn - # namespace: keptn - # targetRevision: master - - appName: kured - namespace: kube-system - targetRevision: master - - appName: node-problem-detector - namespace: kube-system - targetRevision: master - template: - spec: - project: portefaix-k3s-homelab - source: - helm: - valueFiles: - - values.yaml - - values-k3s-homelab.yaml diff --git a/gitops/argocd/apps/k3s/homelab/system/kustomization.yaml b/gitops/argocd/apps/k3s/homelab/system/kustomization.yaml deleted file mode 100644 index ff15e10e71..0000000000 --- a/gitops/argocd/apps/k3s/homelab/system/kustomization.yaml +++ /dev/null @@ -1,27 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -namespace: gitops -transformers: -- annotations.yaml -- labels.yaml -resources: -- ../../../base/system -patchesStrategicMerge: -- applicationset.yaml diff --git a/gitops/argocd/apps/k3s/homelab/system/labels.yaml b/gitops/argocd/apps/k3s/homelab/system/labels.yaml deleted file mode 100644 index ed997c9911..0000000000 --- a/gitops/argocd/apps/k3s/homelab/system/labels.yaml +++ /dev/null @@ -1,28 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: builtin -kind: LabelTransformer -metadata: - name: labels -labels: - portefaix.xyz/env: homelab -fieldSpecs: -- path: metadata/labels - create: true -- path: spec/template/metadata/labels - create: true diff --git a/gitops/argocd/apps/k3s/homelab/tools/annotations.yaml b/gitops/argocd/apps/k3s/homelab/tools/annotations.yaml deleted file mode 100644 index d7a7cb30ae..0000000000 --- a/gitops/argocd/apps/k3s/homelab/tools/annotations.yaml +++ /dev/null @@ -1,33 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: builtin -kind: AnnotationsTransformer -metadata: - name: annotations -annotations: - notifications.argoproj.io/subscribe.on-deployed.slack: portefaix-homelab-gitops - notifications.argoproj.io/subscribe.on-degraded.slack: portefaix-homelab-gitops - notifications.argoproj.io/subscribe.on-sync-succeeded.slack: portefaix-homelab-gitops - notifications.argoproj.io/subscribe.on-sync-running.slack: portefaix-homelab-gitops - notifications.argoproj.io/subscribe.on-sync-failed: portefaix-homelab-gitops - notifications.argoproj.io/subscribe.on-sync-status-unknown: portefaix-homelab-gitops -fieldSpecs: -- path: metadata/annotations - create: true -- path: spec/template/metadata/annotations - create: true diff --git a/gitops/argocd/apps/k3s/homelab/tools/applicationset.yaml b/gitops/argocd/apps/k3s/homelab/tools/applicationset.yaml deleted file mode 100644 index b1513bff2c..0000000000 --- a/gitops/argocd/apps/k3s/homelab/tools/applicationset.yaml +++ /dev/null @@ -1,48 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: argoproj.io/v1alpha1 -kind: ApplicationSet -metadata: - name: tools -spec: - generators: - - list: - elements: - - appName: homepage - namespace: home - targetRevision: master - - appName: k8sgpt - namespace: ai - targetRevision: master - # - appName: opencost - # namespace: finops - # targetRevision: master - # - appName: openfeature-demo - # namespace: openfeature - # targetRevision: master - # - appName: openfeature-operator - # namespace: openfeature - # targetRevision: master - template: - spec: - project: portefaix-k3s-homelab - source: - helm: - valueFiles: - - values.yaml - - values-k3s-homelab.yaml diff --git a/gitops/argocd/apps/k3s/homelab/tools/kustomization.yaml b/gitops/argocd/apps/k3s/homelab/tools/kustomization.yaml deleted file mode 100644 index ecb8ed2d4d..0000000000 --- a/gitops/argocd/apps/k3s/homelab/tools/kustomization.yaml +++ /dev/null @@ -1,27 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -namespace: gitops -transformers: -- annotations.yaml -- labels.yaml -resources: -- ../../../base/tools -patchesStrategicMerge: -- applicationset.yaml diff --git a/gitops/argocd/apps/k3s/homelab/tools/labels.yaml b/gitops/argocd/apps/k3s/homelab/tools/labels.yaml deleted file mode 100644 index ed997c9911..0000000000 --- a/gitops/argocd/apps/k3s/homelab/tools/labels.yaml +++ /dev/null @@ -1,28 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: builtin -kind: LabelTransformer -metadata: - name: labels -labels: - portefaix.xyz/env: homelab -fieldSpecs: -- path: metadata/labels - create: true -- path: spec/template/metadata/labels - create: true diff --git a/gitops/argocd/apps/kind/local/core/argo-events.yaml b/gitops/argocd/apps/kind/local/core/argo-events.yaml deleted file mode 100644 index b1ea4c3405..0000000000 --- a/gitops/argocd/apps/kind/local/core/argo-events.yaml +++ /dev/null @@ -1,58 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: argo-events - finalizers: - - resources-finalizer.argocd.argoproj.io - labels: - app.kubernetes.io/name: argo-events - app.kubernetes.io/instance: argo-events-argocd-app - app.kubernetes.io/component: argo-tools - app.kubernetes.io/part-of: argo-events -spec: - destination: - namespace: gitops - server: https://kubernetes.default.svc - project: portefaix-kind-local - source: - path: gitops/argocd/charts/argocd/argo-events - repoURL: https://github.com/portefaix/portefaix-kubernetes.git - targetRevision: master - helm: - valueFiles: - - values.yaml - - values-kind-local.yaml - syncPolicy: - automated: - prune: true - selfHeal: true - allowEmpty: false - syncOptions: - - CreateNamespace=true - - Validate=false - - SkipDryRunOnMissingResource=true - - ApplyOutOfSyncOnly=true - - ServerSideApply=true - # retry: - # limit: 5 - # backoff: - # duration: 5s - # factor: 2 - # maxDuration: 3m0s diff --git a/gitops/argocd/apps/kind/local/core/argo-rollouts.yaml b/gitops/argocd/apps/kind/local/core/argo-rollouts.yaml deleted file mode 100644 index 94c3d34f02..0000000000 --- a/gitops/argocd/apps/kind/local/core/argo-rollouts.yaml +++ /dev/null @@ -1,58 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: argo-rollouts - finalizers: - - resources-finalizer.argocd.argoproj.io - labels: - app.kubernetes.io/name: argo-rollouts - app.kubernetes.io/instance: argo-rollouts-argocd-app - app.kubernetes.io/component: argo-tools - app.kubernetes.io/part-of: argo-rollouts -spec: - destination: - namespace: gitops - server: https://kubernetes.default.svc - project: portefaix-kind-local - source: - path: gitops/argocd/charts/argocd/argo-rollouts - repoURL: https://github.com/portefaix/portefaix-kubernetes.git - targetRevision: master - helm: - valueFiles: - - values.yaml - - values-kind-local.yaml - syncPolicy: - automated: - prune: true - selfHeal: true - allowEmpty: false - syncOptions: - - CreateNamespace=true - - Validate=false - - SkipDryRunOnMissingResource=true - - ApplyOutOfSyncOnly=true - - ServerSideApply=true - # retry: - # limit: 5 - # backoff: - # duration: 5s - # factor: 2 - # maxDuration: 3m0s diff --git a/gitops/argocd/apps/kind/local/core/argo-workflows.yaml b/gitops/argocd/apps/kind/local/core/argo-workflows.yaml deleted file mode 100644 index c799e5d9ba..0000000000 --- a/gitops/argocd/apps/kind/local/core/argo-workflows.yaml +++ /dev/null @@ -1,58 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: argo-workflows - finalizers: - - resources-finalizer.argocd.argoproj.io - labels: - app.kubernetes.io/name: argo-workflows - app.kubernetes.io/instance: argo-workflows-argocd-app - app.kubernetes.io/component: argo-tools - app.kubernetes.io/part-of: argo-workflows -spec: - destination: - namespace: gitops - server: https://kubernetes.default.svc - project: portefaix-kind-local - source: - path: gitops/argocd/charts/argocd/argo-workflows - repoURL: https://github.com/portefaix/portefaix-kubernetes.git - targetRevision: master - helm: - valueFiles: - - values.yaml - - values-kind-local.yaml - syncPolicy: - automated: - prune: true - selfHeal: true - allowEmpty: false - syncOptions: - - CreateNamespace=true - - Validate=false - - SkipDryRunOnMissingResource=true - - ApplyOutOfSyncOnly=true - - ServerSideApply=true - # retry: - # limit: 5 - # backoff: - # duration: 5s - # factor: 2 - # maxDuration: 3m0s diff --git a/gitops/argocd/apps/kind/local/core/kustomization.yaml b/gitops/argocd/apps/kind/local/core/kustomization.yaml deleted file mode 100644 index d6b8dca3d0..0000000000 --- a/gitops/argocd/apps/kind/local/core/kustomization.yaml +++ /dev/null @@ -1,28 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -namespace: gitops -transformers: -- labels.yaml -resources: -- metrics-server.yaml -- sealed-secrets.yaml -- argo-events.yaml -- argo-rollouts.yaml -- argo-workflows.yaml diff --git a/gitops/argocd/apps/kind/local/core/labels.yaml b/gitops/argocd/apps/kind/local/core/labels.yaml deleted file mode 100644 index b4395bef63..0000000000 --- a/gitops/argocd/apps/kind/local/core/labels.yaml +++ /dev/null @@ -1,29 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: builtin -kind: LabelTransformer -metadata: - name: labels -labels: - app.kubernetes.io/version: v1.0.0 - app.kubernetes.io/managed-by: kustomize - portefaix.xyz/version: v0.54.0 - portefaix.xyz/stack: core -fieldSpecs: -- path: metadata/labels - create: true diff --git a/gitops/argocd/apps/kind/local/core/metrics-server.yaml b/gitops/argocd/apps/kind/local/core/metrics-server.yaml deleted file mode 100644 index 62a41b34dd..0000000000 --- a/gitops/argocd/apps/kind/local/core/metrics-server.yaml +++ /dev/null @@ -1,58 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: metrics-server - finalizers: - - resources-finalizer.argocd.argoproj.io - labels: - app.kubernetes.io/name: metrics-server - app.kubernetes.io/instance: metrics-server-argocd-app - app.kubernetes.io/component: metrics - app.kubernetes.io/part-of: metrics-server -spec: - destination: - namespace: kube-system - server: https://kubernetes.default.svc - project: portefaix-kind-local - source: - path: gitops/argocd/charts/kube-system/metrics-server - repoURL: https://github.com/portefaix/portefaix-kubernetes.git - targetRevision: master - helm: - valueFiles: - - values.yaml - - values-kind-local.yaml - syncPolicy: - automated: - prune: true - selfHeal: true - allowEmpty: false - syncOptions: - - CreateNamespace=true - - Validate=false - - SkipDryRunOnMissingResource=true - - ApplyOutOfSyncOnly=true - - ServerSideApply=true - # retry: - # limit: 5 - # backoff: - # duration: 5s - # factor: 2 - # maxDuration: 3m0s diff --git a/gitops/argocd/apps/kind/local/core/sealed-secrets.yaml b/gitops/argocd/apps/kind/local/core/sealed-secrets.yaml deleted file mode 100644 index 41213db624..0000000000 --- a/gitops/argocd/apps/kind/local/core/sealed-secrets.yaml +++ /dev/null @@ -1,58 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: sealed-secrets - finalizers: - - resources-finalizer.argocd.argoproj.io - labels: - app.kubernetes.io/name: sealed-secrets - app.kubernetes.io/instance: sealed-secrets-argocd-app - app.kubernetes.io/component: secrets-controller - app.kubernetes.io/part-of: sealed-secrets -spec: - destination: - namespace: kube-system - server: https://kubernetes.default.svc - project: portefaix-kind-local - source: - path: gitops/argocd/charts/kube-system/sealed-secrets - repoURL: https://github.com/portefaix/portefaix-kubernetes.git - targetRevision: master - helm: - valueFiles: - - values.yaml - - values-kind-local.yaml - syncPolicy: - automated: - prune: true - selfHeal: true - allowEmpty: false - syncOptions: - - CreateNamespace=true - - Validate=false - - SkipDryRunOnMissingResource=true - - ApplyOutOfSyncOnly=true - - ServerSideApply=true - # retry: - # limit: 5 - # backoff: - # duration: 5s - # factor: 2 - # maxDuration: 3m0s diff --git a/gitops/argocd/apps/kind/local/networking/cilium.yaml b/gitops/argocd/apps/kind/local/networking/cilium.yaml deleted file mode 100644 index af54e8c911..0000000000 --- a/gitops/argocd/apps/kind/local/networking/cilium.yaml +++ /dev/null @@ -1,58 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: cilium - finalizers: - - resources-finalizer.argocd.argoproj.io - labels: - app.kubernetes.io/name: cilium - app.kubernetes.io/instance: cilium-argocd-app - app.kubernetes.io/component: networking - app.kubernetes.io/part-of: cilium -spec: - destination: - namespace: kube-system - server: https://kubernetes.default.svc - project: portefaix-kind-local - source: - path: gitops/argocd/charts/kube-system/cilium - repoURL: https://github.com/portefaix/portefaix-kubernetes.git - targetRevision: master - helm: - valueFiles: - - values.yaml - - values-kind-local.yaml - syncPolicy: - automated: - prune: true - selfHeal: true - allowEmpty: false - syncOptions: - - CreateNamespace=true - - Validate=false - - SkipDryRunOnMissingResource=true - - ApplyOutOfSyncOnly=true - - ServerSideApply=true - # retry: - # limit: 5 - # backoff: - # duration: 5s - # factor: 2 - # maxDuration: 3m0s diff --git a/gitops/argocd/apps/kind/local/networking/kustomization.yaml b/gitops/argocd/apps/kind/local/networking/kustomization.yaml deleted file mode 100644 index 7ecc9fb5cb..0000000000 --- a/gitops/argocd/apps/kind/local/networking/kustomization.yaml +++ /dev/null @@ -1,24 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -namespace: gitops -transformers: -- labels.yaml -resources: -- cilium.yaml diff --git a/gitops/argocd/apps/kind/local/networking/labels.yaml b/gitops/argocd/apps/kind/local/networking/labels.yaml deleted file mode 100644 index 45080dc2a0..0000000000 --- a/gitops/argocd/apps/kind/local/networking/labels.yaml +++ /dev/null @@ -1,29 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: builtin -kind: LabelTransformer -metadata: - name: labels -labels: - app.kubernetes.io/version: v1.0.0 - app.kubernetes.io/managed-by: kustomize - portefaix.xyz/version: v0.54.0 - portefaix.xyz/stack: networking -fieldSpecs: -- path: metadata/labels - create: true diff --git a/gitops/argocd/apps/kind/local/observability/grafana.yaml b/gitops/argocd/apps/kind/local/observability/grafana.yaml deleted file mode 100644 index 7dc94bc09c..0000000000 --- a/gitops/argocd/apps/kind/local/observability/grafana.yaml +++ /dev/null @@ -1,58 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: grafana - finalizers: - - resources-finalizer.argocd.argoproj.io - labels: - app.kubernetes.io/name: grafana - app.kubernetes.io/instance: grafana-argocd-app - app.kubernetes.io/component: monitoring - app.kubernetes.io/part-of: grafana -spec: - destination: - namespace: monitoring - server: https://kubernetes.default.svc - project: portefaix-kind-local - source: - path: gitops/argocd/charts/monitoring/grafana - repoURL: https://github.com/portefaix/portefaix-kubernetes.git - targetRevision: master - helm: - valueFiles: - - values.yaml - - values-kind-local.yaml - syncPolicy: - automated: - prune: true - selfHeal: true - allowEmpty: false - syncOptions: - - CreateNamespace=true - - Validate=false - - SkipDryRunOnMissingResource=true - - ApplyOutOfSyncOnly=true - - ServerSideApply=true - # retry: - # limit: 5 - # backoff: - # duration: 5s - # factor: 2 - # maxDuration: 3m0s diff --git a/gitops/argocd/apps/kind/local/observability/kube-prometheus-stack.yaml b/gitops/argocd/apps/kind/local/observability/kube-prometheus-stack.yaml deleted file mode 100644 index 1f3b528a48..0000000000 --- a/gitops/argocd/apps/kind/local/observability/kube-prometheus-stack.yaml +++ /dev/null @@ -1,60 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: kube-prometheus-stack - finalizers: - - resources-finalizer.argocd.argoproj.io - labels: - app.kubernetes.io/name: kube-prometheus-stack - app.kubernetes.io/instance: kube-prometheus-stack-argocd-app - app.kubernetes.io/component: monitoring - app.kubernetes.io/part-of: kube-prometheus-stack -spec: - destination: - namespace: monitoring - server: https://kubernetes.default.svc - project: portefaix-kind-local - source: - path: gitops/argocd/charts/monitoring/kube-prometheus-stack - repoURL: https://github.com/portefaix/portefaix-kubernetes.git - targetRevision: master - helm: - skipCrds: true - valueFiles: - - values.yaml - - values-kind-local.yaml - # - secrets+age-import:///helm-secrets-private-keys/age.agekey?values-kind-local-secret.yaml - syncPolicy: - automated: - prune: true - selfHeal: true - allowEmpty: false - syncOptions: - - CreateNamespace=true - - Validate=false - - SkipDryRunOnMissingResource=true - - ApplyOutOfSyncOnly=true - - ServerSideApply=true - # retry: - # limit: 5 - # backoff: - # duration: 5s - # factor: 2 - # maxDuration: 3m0s diff --git a/gitops/argocd/apps/kind/local/observability/kustomization.yaml b/gitops/argocd/apps/kind/local/observability/kustomization.yaml deleted file mode 100644 index 59cc9222fb..0000000000 --- a/gitops/argocd/apps/kind/local/observability/kustomization.yaml +++ /dev/null @@ -1,32 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -namespace: gitops -transformers: -- labels.yaml -resources: -# Monitoring -# - thanos-objstore-config.yaml -- kube-prometheus-stack.yaml -- grafana.yaml -# Logging -# - loki.yaml -# - vector.yaml -# Tracing -# - tempo.yaml diff --git a/gitops/argocd/apps/kind/local/observability/labels.yaml b/gitops/argocd/apps/kind/local/observability/labels.yaml deleted file mode 100644 index 7569840282..0000000000 --- a/gitops/argocd/apps/kind/local/observability/labels.yaml +++ /dev/null @@ -1,29 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: builtin -kind: LabelTransformer -metadata: - name: labels -labels: - app.kubernetes.io/version: v1.0.0 - app.kubernetes.io/managed-by: kustomize - portefaix.xyz/version: v0.54.0 - portefaix.xyz/stack: observability -fieldSpecs: -- path: metadata/labels - create: true diff --git a/gitops/argocd/apps/kind/local/system/keda.yaml b/gitops/argocd/apps/kind/local/system/keda.yaml deleted file mode 100644 index ebd78f002a..0000000000 --- a/gitops/argocd/apps/kind/local/system/keda.yaml +++ /dev/null @@ -1,58 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: keda - finalizers: - - resources-finalizer.argocd.argoproj.io - labels: - app.kubernetes.io/name: keda - app.kubernetes.io/instance: keda-argocd-app - app.kubernetes.io/component: autoscaling - app.kubernetes.io/part-of: keda -spec: - destination: - namespace: keda - server: https://kubernetes.default.svc - project: portefaix-kind-local - source: - path: gitops/argocd/charts/keda/keda - repoURL: https://github.com/portefaix/portefaix-kubernetes.git - targetRevision: master - helm: - valueFiles: - - values.yaml - - values-kind-local.yaml - syncPolicy: - automated: - prune: true - selfHeal: true - allowEmpty: false - syncOptions: - - CreateNamespace=true - - Validate=false - - SkipDryRunOnMissingResource=true - - ApplyOutOfSyncOnly=true - - ServerSideApply=true - # retry: - # limit: 5 - # backoff: - # duration: 5s - # factor: 2 - # maxDuration: 3m0s diff --git a/gitops/argocd/apps/kind/local/system/kustomization.yaml b/gitops/argocd/apps/kind/local/system/kustomization.yaml deleted file mode 100644 index 60a3bc59a8..0000000000 --- a/gitops/argocd/apps/kind/local/system/kustomization.yaml +++ /dev/null @@ -1,28 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -namespace: gitops -transformers: -- labels.yaml -resources: -# Backup -# - velero.yaml -# Autoscaling -- keda.yaml -# - karpenter.yaml diff --git a/gitops/argocd/apps/kind/local/system/labels.yaml b/gitops/argocd/apps/kind/local/system/labels.yaml deleted file mode 100644 index b2411799ed..0000000000 --- a/gitops/argocd/apps/kind/local/system/labels.yaml +++ /dev/null @@ -1,29 +0,0 @@ ---- -# Copyright (C) Nicolas Lamirault -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -apiVersion: builtin -kind: LabelTransformer -metadata: - name: labels -labels: - app.kubernetes.io/version: v1.0.0 - app.kubernetes.io/managed-by: kustomize - portefaix.xyz/version: v0.54.0 - portefaix.xyz/stack: system -fieldSpecs: -- path: metadata/labels - create: true diff --git a/gitops/argocd/apps/aws/staging/chaos/kustomization.yaml b/gitops/argocd/apps/networking/Chart.yaml similarity index 77% rename from gitops/argocd/apps/aws/staging/chaos/kustomization.yaml rename to gitops/argocd/apps/networking/Chart.yaml index fdac644ad3..174f18ce71 100644 --- a/gitops/argocd/apps/aws/staging/chaos/kustomization.yaml +++ b/gitops/argocd/apps/networking/Chart.yaml @@ -15,12 +15,12 @@ # # SPDX-License-Identifier: Apache-2.0 -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -namespace: gitops -transformers: -- annotations.yaml -- labels.yaml -resources: -- litmus-chaos.yaml -- litmus-chaos-aws.yaml +apiVersion: v2 +type: application +name: networking +version: 1.0.0 +appVersion: 1.0.0 +dependencies: +- name: argocd-apps + repository: https://argoproj.github.io/argo-helm + version: 2.0.0 diff --git a/gitops/argocd/apps/networking/values-aws-staging.yaml b/gitops/argocd/apps/networking/values-aws-staging.yaml new file mode 100644 index 0000000000..4b08b03e9f --- /dev/null +++ b/gitops/argocd/apps/networking/values-aws-staging.yaml @@ -0,0 +1,62 @@ +--- +# Copyright (C) Nicolas Lamirault +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 + +argocd-apps: + applicationsets: + networking: + additionalLabels: + portefaix.xyz/env: staging + additionalAnnotations: {} + generators: + - list: + elements: + - appName: ingress-nginx + namespace: ingress-system + targetRevision: master + - appName: envoy-gateway + namespace: api-gateway + targetRevision: master + - appName: external-dns + namespace: dns + targetRevision: master + - appName: cloudflare-tunnel + namespace: dns + targetRevision: master + - appName: nats + namespace: messaging + targetRevision: master + template: + metadata: + annotations: + argocd.argoproj.io/manifest-generate-paths: '/{{path}}' + notifications.argoproj.io/subscribe.on-degraded.slack: portefaix-staging-gitops + notifications.argoproj.io/subscribe.on-deployed.slack: portefaix-staging-gitops + notifications.argoproj.io/subscribe.on-sync-failed: portefaix-staging-gitops + notifications.argoproj.io/subscribe.on-sync-running.slack: portefaix-staging-gitops + notifications.argoproj.io/subscribe.on-sync-status-unknown: portefaix-staging-gitops + notifications.argoproj.io/subscribe.on-sync-succeeded.slack: portefaix-staging-gitops + finalizers: + - resources-finalizer.argocd.argoproj.io + labels: + portefaix.xyz/env: staging + spec: + project: portefaix-aws-staging + source: + helm: + valueFiles: + - values.yaml + - values-aws-staging.yaml diff --git a/gitops/argocd/apps/networking/values-k3s-homelab.yaml b/gitops/argocd/apps/networking/values-k3s-homelab.yaml new file mode 100644 index 0000000000..6f6650037f --- /dev/null +++ b/gitops/argocd/apps/networking/values-k3s-homelab.yaml @@ -0,0 +1,62 @@ +--- +# Copyright (C) Nicolas Lamirault +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 + +argocd-apps: + applicationsets: + networking: + additionalLabels: + portefaix.xyz/env: homelab + additionalAnnotations: {} + generators: + - list: + elements: + - appName: ingress-nginx + namespace: ingress-system + targetRevision: master + - appName: envoy-gateway + namespace: api-gateway + targetRevision: master + - appName: external-dns + namespace: dns + targetRevision: master + - appName: cloudflare-tunnel + namespace: dns + targetRevision: master + - appName: nats + namespace: messaging + targetRevision: master + template: + metadata: + annotations: + argocd.argoproj.io/manifest-generate-paths: '/{{path}}' + notifications.argoproj.io/subscribe.on-degraded.slack: portefaix-homelab-gitops + notifications.argoproj.io/subscribe.on-deployed.slack: portefaix-homelab-gitops + notifications.argoproj.io/subscribe.on-sync-failed: portefaix-homelab-gitops + notifications.argoproj.io/subscribe.on-sync-running.slack: portefaix-homelab-gitops + notifications.argoproj.io/subscribe.on-sync-status-unknown: portefaix-homelab-gitops + notifications.argoproj.io/subscribe.on-sync-succeeded.slack: portefaix-homelab-gitops + finalizers: + - resources-finalizer.argocd.argoproj.io + labels: + portefaix.xyz/env: homelab + spec: + project: portefaix-k3s-homelab + source: + helm: + valueFiles: + - values.yaml + - values-k3s-homelab.yaml diff --git a/gitops/argocd/apps/networking/values.yaml b/gitops/argocd/apps/networking/values.yaml new file mode 100644 index 0000000000..be6196536a --- /dev/null +++ b/gitops/argocd/apps/networking/values.yaml @@ -0,0 +1,85 @@ +--- +# Copyright (C) Nicolas Lamirault +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 + +argocd-apps: + applicationsets: + networking: + additionalAnnotations: + a8r.io/bugs: 'https://github.com/portefaix/portefaix/issues' + a8r.io/description: Argo-CD Networking application + a8r.io/documentation: 'https://github.com/portefaix/portefaix/blob/master/README.md' + a8r.io/owner: portefaix + a8r.io/support: 'https://github.com/portefaix/portefaix/issues' + a8s.io/repository: >- + https://github.com/portefaix/portefaix/tree/master/gitops/argocd/apps/networking + additionalLabels: + app.kubernetes.io/component: argocd-applicationset + app.kubernetes.io/instance: networking-argocd-applicationset + app.kubernetes.io/managed-by: helm + app.kubernetes.io/name: networking + app.kubernetes.io/part-of: networking-argocd + app.kubernetes.io/version: v1.0.0 + portefaix.xyz/stack: networking + portefaix.xyz/version: v0.54.0 + generators: + - list: + elements: [] + template: + metadata: + name: "{{appName}}" + annotations: + # https://argo-cd.readthedocs.io/en/stable/operator-manual/high_availability/#webhook-and-manifest-paths-annotation + argocd.argoproj.io/manifest-generate-paths: "/{{path}}" + labels: + app.kubernetes.io/component: argocd-application + app.kubernetes.io/instance: "{{appName}}-argocd-application" + app.kubernetes.io/managed-by: helm + app.kubernetes.io/name: "{{appName}}" + app.kubernetes.io/part-of: "{{appName}}-argocd" + app.kubernetes.io/version: v1.0.0 + portefaix.xyz/stack: networking + portefaix.xyz/version: v0.54.0 + finalizers: + - resources-finalizer.argocd.argoproj.io + spec: + destination: + namespace: "{{namespace}}" + server: https://kubernetes.default.svc + source: + repoURL: https://github.com/portefaix/portefaix-kubernetes.git + targetRevision: "{{targetRevision}}" + path: "gitops/argocd/charts/{{namespace}}/{{appName}}" + helm: + valueFiles: + - values.yaml + syncPolicy: + # automated: + # prune: true + # selfHeal: true + # allowEmpty: false + syncOptions: + - CreateNamespace=true + - Validate=false + - SkipDryRunOnMissingResource=true + - ApplyOutOfSyncOnly=true + # - ServerSideApply=true + # retry: + # limit: 5 + # backoff: + # duration: 5s + # factor: 2 + # maxDuration: 3m0s diff --git a/gitops/argocd/apps/observability/Chart.yaml b/gitops/argocd/apps/observability/Chart.yaml new file mode 100644 index 0000000000..9fe979a825 --- /dev/null +++ b/gitops/argocd/apps/observability/Chart.yaml @@ -0,0 +1,26 @@ +--- +# Copyright (C) Nicolas Lamirault +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 + +apiVersion: v2 +type: application +name: observability +version: 1.0.0 +appVersion: 1.0.0 +dependencies: +- name: argocd-apps + repository: https://argoproj.github.io/argo-helm + version: 2.0.0 diff --git a/gitops/argocd/apps/observability/values-aws-staging.yaml b/gitops/argocd/apps/observability/values-aws-staging.yaml new file mode 100644 index 0000000000..3bf1e0bfb8 --- /dev/null +++ b/gitops/argocd/apps/observability/values-aws-staging.yaml @@ -0,0 +1,89 @@ +--- +# Copyright (C) Nicolas Lamirault +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 + +argocd-apps: + applicationsets: + observability: + additionalLabels: + portefaix.xyz/env: staging + additionalAnnotations: {} + generators: + - list: + elements: + - appName: grafana-operator + namespace: observability + targetRevision: master + # - appName: grafana + # namespace: observability + # targetRevision: master + - appName: kube-prometheus-stack + namespace: monitoring + targetRevision: master + - appName: mimir + namespace: monitoring + targetRevision: master + - appName: loki + namespace: logging + targetRevision: master + - appName: tempo + namespace: tracing + targetRevision: master + - appName: blackbox-exporter + namespace: monitoring + targetRevision: master + - appName: alloy + namespace: opentelemetry + targetRevision: master + - appName: beyla + namespace: opentelemetry + targetRevision: master + - appName: quickwit + namespace: opentelemetry + targetRevision: master + - appName: datadog + namespace: opentelemetry + targetRevision: master + - appName: pyroscope + namespace: profiling + targetRevision: master + - appName: pyrra + namespace: reliability + targetRevision: master + - appName: retina + namespace: kube-system + targetRevision: master + template: + metadata: + annotations: + argocd.argoproj.io/manifest-generate-paths: '/{{path}}' + notifications.argoproj.io/subscribe.on-degraded.slack: portefaix-staging-gitops + notifications.argoproj.io/subscribe.on-deployed.slack: portefaix-staging-gitops + notifications.argoproj.io/subscribe.on-sync-failed: portefaix-staging-gitops + notifications.argoproj.io/subscribe.on-sync-running.slack: portefaix-staging-gitops + notifications.argoproj.io/subscribe.on-sync-status-unknown: portefaix-staging-gitops + notifications.argoproj.io/subscribe.on-sync-succeeded.slack: portefaix-staging-gitops + finalizers: + - resources-finalizer.argocd.argoproj.io + labels: + portefaix.xyz/env: staging + spec: + project: portefaix-aws-staging + source: + helm: + valueFiles: + - values.yaml + - values-aws-staging.yaml diff --git a/gitops/argocd/apps/observability/values-k3s-homelab.yaml b/gitops/argocd/apps/observability/values-k3s-homelab.yaml new file mode 100644 index 0000000000..019f03dda6 --- /dev/null +++ b/gitops/argocd/apps/observability/values-k3s-homelab.yaml @@ -0,0 +1,89 @@ +--- +# Copyright (C) Nicolas Lamirault +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 + +argocd-apps: + applicationsets: + observability: + additionalLabels: + portefaix.xyz/env: homelab + additionalAnnotations: {} + generators: + - list: + elements: + - appName: grafana-operator + namespace: observability + targetRevision: master + # - appName: grafana + # namespace: observability + # targetRevision: master + - appName: kube-prometheus-stack + namespace: monitoring + targetRevision: master + - appName: mimir + namespace: monitoring + targetRevision: master + - appName: loki + namespace: logging + targetRevision: master + - appName: tempo + namespace: tracing + targetRevision: master + - appName: blackbox-exporter + namespace: monitoring + targetRevision: master + - appName: alloy + namespace: opentelemetry + targetRevision: master + - appName: beyla + namespace: opentelemetry + targetRevision: master + - appName: quickwit + namespace: opentelemetry + targetRevision: master + - appName: datadog + namespace: opentelemetry + targetRevision: master + - appName: pyroscope + namespace: profiling + targetRevision: master + - appName: pyrra + namespace: reliability + targetRevision: master + - appName: retina + namespace: kube-system + targetRevision: master + template: + metadata: + annotations: + argocd.argoproj.io/manifest-generate-paths: '/{{path}}' + notifications.argoproj.io/subscribe.on-degraded.slack: portefaix-homelab-gitops + notifications.argoproj.io/subscribe.on-deployed.slack: portefaix-homelab-gitops + notifications.argoproj.io/subscribe.on-sync-failed: portefaix-homelab-gitops + notifications.argoproj.io/subscribe.on-sync-running.slack: portefaix-homelab-gitops + notifications.argoproj.io/subscribe.on-sync-status-unknown: portefaix-homelab-gitops + notifications.argoproj.io/subscribe.on-sync-succeeded.slack: portefaix-homelab-gitops + finalizers: + - resources-finalizer.argocd.argoproj.io + labels: + portefaix.xyz/env: homelab + spec: + project: portefaix-k3s-homelab + source: + helm: + valueFiles: + - values.yaml + - values-k3s-homelab.yaml diff --git a/gitops/argocd/apps/observability/values.yaml b/gitops/argocd/apps/observability/values.yaml new file mode 100644 index 0000000000..9075bb7b9f --- /dev/null +++ b/gitops/argocd/apps/observability/values.yaml @@ -0,0 +1,85 @@ +--- +# Copyright (C) Nicolas Lamirault +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 + +argocd-apps: + applicationsets: + observability: + additionalAnnotations: + a8r.io/bugs: 'https://github.com/portefaix/portefaix/issues' + a8r.io/description: Argo-CD Observability application + a8r.io/documentation: 'https://github.com/portefaix/portefaix/blob/master/README.md' + a8r.io/owner: portefaix + a8r.io/support: 'https://github.com/portefaix/portefaix/issues' + a8s.io/repository: >- + https://github.com/portefaix/portefaix/tree/master/gitops/argocd/apps/observability + additionalLabels: + app.kubernetes.io/component: argocd-applicationset + app.kubernetes.io/instance: observability-argocd-applicationset + app.kubernetes.io/managed-by: helm + app.kubernetes.io/name: observability + app.kubernetes.io/part-of: observability-argocd + app.kubernetes.io/version: v1.0.0 + portefaix.xyz/stack: observability + portefaix.xyz/version: v0.54.0 + generators: + - list: + elements: [] + template: + metadata: + name: "{{appName}}" + annotations: + # https://argo-cd.readthedocs.io/en/stable/operator-manual/high_availability/#webhook-and-manifest-paths-annotation + argocd.argoproj.io/manifest-generate-paths: "/{{path}}" + labels: + app.kubernetes.io/component: argocd-application + app.kubernetes.io/instance: "{{appName}}-argocd-application" + app.kubernetes.io/managed-by: helm + app.kubernetes.io/name: "{{appName}}" + app.kubernetes.io/part-of: "{{appName}}-argocd" + app.kubernetes.io/version: v1.0.0 + portefaix.xyz/stack: observability + portefaix.xyz/version: v0.54.0 + finalizers: + - resources-finalizer.argocd.argoproj.io + spec: + destination: + namespace: "{{namespace}}" + server: https://kubernetes.default.svc + source: + repoURL: https://github.com/portefaix/portefaix-kubernetes.git + targetRevision: "{{targetRevision}}" + path: "gitops/argocd/charts/{{namespace}}/{{appName}}" + helm: + valueFiles: + - values.yaml + syncPolicy: + # automated: + # prune: true + # selfHeal: true + # allowEmpty: false + syncOptions: + - CreateNamespace=true + - Validate=false + - SkipDryRunOnMissingResource=true + - ApplyOutOfSyncOnly=true + # - ServerSideApply=true + # retry: + # limit: 5 + # backoff: + # duration: 5s + # factor: 2 + # maxDuration: 3m0s diff --git a/gitops/argocd/apps/security/Chart.yaml b/gitops/argocd/apps/security/Chart.yaml new file mode 100644 index 0000000000..46a6d0b15f --- /dev/null +++ b/gitops/argocd/apps/security/Chart.yaml @@ -0,0 +1,26 @@ +--- +# Copyright (C) Nicolas Lamirault +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 + +apiVersion: v2 +type: application +name: security +version: 1.0.0 +appVersion: 1.0.0 +dependencies: +- name: argocd-apps + repository: https://argoproj.github.io/argo-helm + version: 2.0.0 diff --git a/gitops/argocd/apps/security/values-aws-staging.yaml b/gitops/argocd/apps/security/values-aws-staging.yaml new file mode 100644 index 0000000000..3a2f0d0d99 --- /dev/null +++ b/gitops/argocd/apps/security/values-aws-staging.yaml @@ -0,0 +1,77 @@ +--- +# Copyright (C) Nicolas Lamirault +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 + +argocd-apps: + applicationsets: + security: + additionalLabels: + portefaix.xyz/env: staging + additionalAnnotations: {} + generators: + - list: + elements: + - appName: authentik + namespace: identity + targetRevision: master + - appName: dex + namespace: identity + targetRevision: master + - appName: kyverno + namespace: kyverno + targetRevision: master + - appName: kyverno-reporter + namespace: kyverno + targetRevision: master + - appName: sbom-operator + namespace: security + targetRevision: master + - appName: trivy-operator + namespace: security + targetRevision: master + - appName: vault + namespace: security + targetRevision: master + - appName: tetragon + namespace: security + targetRevision: master + - appName: falco + namespace: security + targetRevision: master + - appName: paralus + namespace: zerotrust + targetRevision: master + template: + metadata: + annotations: + argocd.argoproj.io/manifest-generate-paths: '/{{path}}' + notifications.argoproj.io/subscribe.on-degraded.slack: portefaix-staging-gitops + notifications.argoproj.io/subscribe.on-deployed.slack: portefaix-staging-gitops + notifications.argoproj.io/subscribe.on-sync-failed: portefaix-staging-gitops + notifications.argoproj.io/subscribe.on-sync-running.slack: portefaix-staging-gitops + notifications.argoproj.io/subscribe.on-sync-status-unknown: portefaix-staging-gitops + notifications.argoproj.io/subscribe.on-sync-succeeded.slack: portefaix-staging-gitops + finalizers: + - resources-finalizer.argocd.argoproj.io + labels: + portefaix.xyz/env: staging + spec: + project: portefaix-aws-staging + source: + helm: + valueFiles: + - values.yaml + - values-aws-staging.yaml diff --git a/gitops/argocd/apps/security/values-k3s-homelab.yaml b/gitops/argocd/apps/security/values-k3s-homelab.yaml new file mode 100644 index 0000000000..7983d40200 --- /dev/null +++ b/gitops/argocd/apps/security/values-k3s-homelab.yaml @@ -0,0 +1,77 @@ +--- +# Copyright (C) Nicolas Lamirault +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 + +argocd-apps: + applicationsets: + security: + additionalLabels: + portefaix.xyz/env: homelab + additionalAnnotations: {} + generators: + - list: + elements: + - appName: authentik + namespace: identity + targetRevision: master + - appName: dex + namespace: identity + targetRevision: master + - appName: kyverno + namespace: kyverno + targetRevision: master + - appName: kyverno-reporter + namespace: kyverno + targetRevision: master + - appName: sbom-operator + namespace: security + targetRevision: master + - appName: trivy-operator + namespace: security + targetRevision: master + - appName: vault + namespace: security + targetRevision: master + - appName: tetragon + namespace: security + targetRevision: master + - appName: falco + namespace: security + targetRevision: master + - appName: paralus + namespace: zerotrust + targetRevision: feat/paralus + template: + metadata: + annotations: + argocd.argoproj.io/manifest-generate-paths: '/{{path}}' + notifications.argoproj.io/subscribe.on-degraded.slack: portefaix-homelab-gitops + notifications.argoproj.io/subscribe.on-deployed.slack: portefaix-homelab-gitops + notifications.argoproj.io/subscribe.on-sync-failed: portefaix-homelab-gitops + notifications.argoproj.io/subscribe.on-sync-running.slack: portefaix-homelab-gitops + notifications.argoproj.io/subscribe.on-sync-status-unknown: portefaix-homelab-gitops + notifications.argoproj.io/subscribe.on-sync-succeeded.slack: portefaix-homelab-gitops + finalizers: + - resources-finalizer.argocd.argoproj.io + labels: + portefaix.xyz/env: homelab + spec: + project: portefaix-k3s-homelab + source: + helm: + valueFiles: + - values.yaml + - values-k3s-homelab.yaml diff --git a/gitops/argocd/apps/security/values.yaml b/gitops/argocd/apps/security/values.yaml new file mode 100644 index 0000000000..8240a02095 --- /dev/null +++ b/gitops/argocd/apps/security/values.yaml @@ -0,0 +1,85 @@ +--- +# Copyright (C) Nicolas Lamirault +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 + +argocd-apps: + applicationsets: + security: + additionalAnnotations: + a8r.io/bugs: 'https://github.com/portefaix/portefaix/issues' + a8r.io/description: Argo-CD Security application + a8r.io/documentation: 'https://github.com/portefaix/portefaix/blob/master/README.md' + a8r.io/owner: portefaix + a8r.io/support: 'https://github.com/portefaix/portefaix/issues' + a8s.io/repository: >- + https://github.com/portefaix/portefaix/tree/master/gitops/argocd/apps/security + additionalLabels: + app.kubernetes.io/component: argocd-applicationset + app.kubernetes.io/instance: security-argocd-applicationset + app.kubernetes.io/managed-by: helm + app.kubernetes.io/name: security + app.kubernetes.io/part-of: security-argocd + app.kubernetes.io/version: v1.0.0 + portefaix.xyz/stack: security + portefaix.xyz/version: v0.54.0 + generators: + - list: + elements: [] + template: + metadata: + name: "{{appName}}" + annotations: + # https://argo-cd.readthedocs.io/en/stable/operator-manual/high_availability/#webhook-and-manifest-paths-annotation + argocd.argoproj.io/manifest-generate-paths: "/{{path}}" + labels: + app.kubernetes.io/component: argocd-application + app.kubernetes.io/instance: "{{appName}}-argocd-application" + app.kubernetes.io/managed-by: helm + app.kubernetes.io/name: "{{appName}}" + app.kubernetes.io/part-of: "{{appName}}-argocd" + app.kubernetes.io/version: v1.0.0 + portefaix.xyz/stack: security + portefaix.xyz/version: v0.54.0 + finalizers: + - resources-finalizer.argocd.argoproj.io + spec: + destination: + namespace: "{{namespace}}" + server: https://kubernetes.default.svc + source: + repoURL: https://github.com/portefaix/portefaix-kubernetes.git + targetRevision: "{{targetRevision}}" + path: "gitops/argocd/charts/{{namespace}}/{{appName}}" + helm: + valueFiles: + - values.yaml + syncPolicy: + # automated: + # prune: true + # selfHeal: true + # allowEmpty: false + syncOptions: + - CreateNamespace=true + - Validate=false + - SkipDryRunOnMissingResource=true + - ApplyOutOfSyncOnly=true + # - ServerSideApply=true + # retry: + # limit: 5 + # backoff: + # duration: 5s + # factor: 2 + # maxDuration: 3m0s diff --git a/gitops/argocd/apps/system/Chart.yaml b/gitops/argocd/apps/system/Chart.yaml new file mode 100644 index 0000000000..e6e7509282 --- /dev/null +++ b/gitops/argocd/apps/system/Chart.yaml @@ -0,0 +1,26 @@ +--- +# Copyright (C) Nicolas Lamirault +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 + +apiVersion: v2 +type: application +name: system +version: 1.0.0 +appVersion: 1.0.0 +dependencies: +- name: argocd-apps + repository: https://argoproj.github.io/argo-helm + version: 2.0.0 diff --git a/gitops/argocd/apps/system/values-aws-staging.yaml b/gitops/argocd/apps/system/values-aws-staging.yaml new file mode 100644 index 0000000000..4cd5797027 --- /dev/null +++ b/gitops/argocd/apps/system/values-aws-staging.yaml @@ -0,0 +1,59 @@ +--- +# Copyright (C) Nicolas Lamirault +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 + +argocd-apps: + applicationsets: + system: + additionalLabels: + portefaix.xyz/env: staging + additionalAnnotations: {} + generators: + - list: + elements: + - appName: cert-manager + namespace: cert-manager + targetRevision: master + - appName: cloudnativepg + namespace: database + targetRevision: master + # - appName: keda + # namespace: keda + # targetRevision: master + # - appName: keptn + # namespace: keptn + # targetRevision: master + template: + metadata: + annotations: + argocd.argoproj.io/manifest-generate-paths: '/{{path}}' + notifications.argoproj.io/subscribe.on-degraded.slack: portefaix-staging-gitops + notifications.argoproj.io/subscribe.on-deployed.slack: portefaix-staging-gitops + notifications.argoproj.io/subscribe.on-sync-failed: portefaix-staging-gitops + notifications.argoproj.io/subscribe.on-sync-running.slack: portefaix-staging-gitops + notifications.argoproj.io/subscribe.on-sync-status-unknown: portefaix-staging-gitops + notifications.argoproj.io/subscribe.on-sync-succeeded.slack: portefaix-staging-gitops + finalizers: + - resources-finalizer.argocd.argoproj.io + labels: + portefaix.xyz/env: staging + spec: + project: portefaix-aws-staging + source: + helm: + valueFiles: + - values.yaml + - values-aws-staging.yaml diff --git a/gitops/argocd/apps/system/values-k3s-homelab.yaml b/gitops/argocd/apps/system/values-k3s-homelab.yaml new file mode 100644 index 0000000000..75be4067a8 --- /dev/null +++ b/gitops/argocd/apps/system/values-k3s-homelab.yaml @@ -0,0 +1,68 @@ +--- +# Copyright (C) Nicolas Lamirault +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 + +argocd-apps: + applicationsets: + system: + additionalLabels: + portefaix.xyz/env: homelab + additionalAnnotations: {} + generators: + - list: + elements: + - appName: cert-manager + namespace: cert-manager + targetRevision: master + - appName: cloudnativepg + namespace: database + targetRevision: master + - appName: descheduler + namespace: kube-system + targetRevision: master + # - appName: keda + # namespace: keda + # targetRevision: master + # - appName: keptn + # namespace: keptn + # targetRevision: master + - appName: kured + namespace: kube-system + targetRevision: master + - appName: node-problem-detector + namespace: kube-system + targetRevision: master + template: + metadata: + annotations: + argocd.argoproj.io/manifest-generate-paths: '/{{path}}' + notifications.argoproj.io/subscribe.on-degraded.slack: portefaix-homelab-gitops + notifications.argoproj.io/subscribe.on-deployed.slack: portefaix-homelab-gitops + notifications.argoproj.io/subscribe.on-sync-failed: portefaix-homelab-gitops + notifications.argoproj.io/subscribe.on-sync-running.slack: portefaix-homelab-gitops + notifications.argoproj.io/subscribe.on-sync-status-unknown: portefaix-homelab-gitops + notifications.argoproj.io/subscribe.on-sync-succeeded.slack: portefaix-homelab-gitops + finalizers: + - resources-finalizer.argocd.argoproj.io + labels: + portefaix.xyz/env: homelab + spec: + project: portefaix-k3s-homelab + source: + helm: + valueFiles: + - values.yaml + - values-k3s-homelab.yaml diff --git a/gitops/argocd/apps/system/values.yaml b/gitops/argocd/apps/system/values.yaml new file mode 100644 index 0000000000..64804d1d03 --- /dev/null +++ b/gitops/argocd/apps/system/values.yaml @@ -0,0 +1,85 @@ +--- +# Copyright (C) Nicolas Lamirault +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 + +argocd-apps: + applicationsets: + system: + additionalAnnotations: + a8r.io/bugs: 'https://github.com/portefaix/portefaix/issues' + a8r.io/description: Argo-CD System application + a8r.io/documentation: 'https://github.com/portefaix/portefaix/blob/master/README.md' + a8r.io/owner: portefaix + a8r.io/support: 'https://github.com/portefaix/portefaix/issues' + a8s.io/repository: >- + https://github.com/portefaix/portefaix/tree/master/gitops/argocd/apps/system + additionalLabels: + app.kubernetes.io/component: argocd-applicationset + app.kubernetes.io/instance: system-argocd-applicationset + app.kubernetes.io/managed-by: helm + app.kubernetes.io/name: system + app.kubernetes.io/part-of: system-argocd + app.kubernetes.io/version: v1.0.0 + portefaix.xyz/stack: system + portefaix.xyz/version: v0.54.0 + generators: + - list: + elements: [] + template: + metadata: + name: "{{appName}}" + annotations: + # https://argo-cd.readthedocs.io/en/stable/operator-manual/high_availability/#webhook-and-manifest-paths-annotation + argocd.argoproj.io/manifest-generate-paths: "/{{path}}" + labels: + app.kubernetes.io/component: argocd-application + app.kubernetes.io/instance: "{{appName}}-argocd-application" + app.kubernetes.io/managed-by: helm + app.kubernetes.io/name: "{{appName}}" + app.kubernetes.io/part-of: "{{appName}}-argocd" + app.kubernetes.io/version: v1.0.0 + portefaix.xyz/stack: system + portefaix.xyz/version: v0.54.0 + finalizers: + - resources-finalizer.argocd.argoproj.io + spec: + destination: + namespace: "{{namespace}}" + server: https://kubernetes.default.svc + source: + repoURL: https://github.com/portefaix/portefaix-kubernetes.git + targetRevision: "{{targetRevision}}" + path: "gitops/argocd/charts/{{namespace}}/{{appName}}" + helm: + valueFiles: + - values.yaml + syncPolicy: + # automated: + # prune: true + # selfHeal: true + # allowEmpty: false + syncOptions: + - CreateNamespace=true + - Validate=false + - SkipDryRunOnMissingResource=true + - ApplyOutOfSyncOnly=true + # - ServerSideApply=true + # retry: + # limit: 5 + # backoff: + # duration: 5s + # factor: 2 + # maxDuration: 3m0s diff --git a/gitops/argocd/apps/base/chaos/kustomization.yaml b/gitops/argocd/apps/tools/Chart.yaml similarity index 78% rename from gitops/argocd/apps/base/chaos/kustomization.yaml rename to gitops/argocd/apps/tools/Chart.yaml index e46c8c3efc..74265af036 100644 --- a/gitops/argocd/apps/base/chaos/kustomization.yaml +++ b/gitops/argocd/apps/tools/Chart.yaml @@ -15,11 +15,12 @@ # # SPDX-License-Identifier: Apache-2.0 -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -namespace: gitops -transformers: -- annotations.yaml -- labels.yaml -resources: -- applicationset.yaml +apiVersion: v2 +type: application +name: tools +version: 1.0.0 +appVersion: 1.0.0 +dependencies: +- name: argocd-apps + repository: https://argoproj.github.io/argo-helm + version: 2.0.0 diff --git a/gitops/argocd/apps/tools/values-aws-staging.yaml b/gitops/argocd/apps/tools/values-aws-staging.yaml new file mode 100644 index 0000000000..74d7b1feb9 --- /dev/null +++ b/gitops/argocd/apps/tools/values-aws-staging.yaml @@ -0,0 +1,62 @@ +--- +# Copyright (C) Nicolas Lamirault +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 + +argocd-apps: + applicationsets: + tools: + additionalLabels: + portefaix.xyz/env: staging + additionalAnnotations: {} + generators: + - list: + elements: + - appName: homepage + namespace: home + targetRevision: master + - appName: k8sgpt + namespace: ai + targetRevision: master + # - appName: opencost + # namespace: finops + # targetRevision: master + # - appName: openfeature-demo + # namespace: openfeature + # targetRevision: master + # - appName: openfeature-operator + # namespace: openfeature + # targetRevision: master + template: + metadata: + annotations: + argocd.argoproj.io/manifest-generate-paths: '/{{path}}' + notifications.argoproj.io/subscribe.on-degraded.slack: portefaix-staging-gitops + notifications.argoproj.io/subscribe.on-deployed.slack: portefaix-staging-gitops + notifications.argoproj.io/subscribe.on-sync-failed: portefaix-staging-gitops + notifications.argoproj.io/subscribe.on-sync-running.slack: portefaix-staging-gitops + notifications.argoproj.io/subscribe.on-sync-status-unknown: portefaix-staging-gitops + notifications.argoproj.io/subscribe.on-sync-succeeded.slack: portefaix-staging-gitops + finalizers: + - resources-finalizer.argocd.argoproj.io + labels: + portefaix.xyz/env: staging + spec: + project: portefaix-aws-staging + source: + helm: + valueFiles: + - values.yaml + - values-aws-staging.yaml diff --git a/gitops/argocd/apps/tools/values-k3s-homelab.yaml b/gitops/argocd/apps/tools/values-k3s-homelab.yaml new file mode 100644 index 0000000000..22bc7d7c84 --- /dev/null +++ b/gitops/argocd/apps/tools/values-k3s-homelab.yaml @@ -0,0 +1,62 @@ +--- +# Copyright (C) Nicolas Lamirault +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 + +argocd-apps: + applicationsets: + tools: + additionalLabels: + portefaix.xyz/env: homelab + additionalAnnotations: {} + generators: + - list: + elements: + - appName: homepage + namespace: home + targetRevision: master + - appName: k8sgpt + namespace: ai + targetRevision: master + # - appName: opencost + # namespace: finops + # targetRevision: master + # - appName: openfeature-demo + # namespace: openfeature + # targetRevision: master + # - appName: openfeature-operator + # namespace: openfeature + # targetRevision: master + template: + metadata: + annotations: + argocd.argoproj.io/manifest-generate-paths: '/{{path}}' + notifications.argoproj.io/subscribe.on-degraded.slack: portefaix-homelab-gitops + notifications.argoproj.io/subscribe.on-deployed.slack: portefaix-homelab-gitops + notifications.argoproj.io/subscribe.on-sync-failed: portefaix-homelab-gitops + notifications.argoproj.io/subscribe.on-sync-running.slack: portefaix-homelab-gitops + notifications.argoproj.io/subscribe.on-sync-status-unknown: portefaix-homelab-gitops + notifications.argoproj.io/subscribe.on-sync-succeeded.slack: portefaix-homelab-gitops + finalizers: + - resources-finalizer.argocd.argoproj.io + labels: + portefaix.xyz/env: homelab + spec: + project: portefaix-k3s-homelab + source: + helm: + valueFiles: + - values.yaml + - values-k3s-homelab.yaml diff --git a/gitops/argocd/apps/tools/values.yaml b/gitops/argocd/apps/tools/values.yaml new file mode 100644 index 0000000000..cb149d094e --- /dev/null +++ b/gitops/argocd/apps/tools/values.yaml @@ -0,0 +1,85 @@ +--- +# Copyright (C) Nicolas Lamirault +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 + +argocd-apps: + applicationsets: + tools: + additionalAnnotations: + a8r.io/bugs: 'https://github.com/portefaix/portefaix/issues' + a8r.io/description: Argo-CD Tools application + a8r.io/documentation: 'https://github.com/portefaix/portefaix/blob/master/README.md' + a8r.io/owner: portefaix + a8r.io/support: 'https://github.com/portefaix/portefaix/issues' + a8s.io/repository: >- + https://github.com/portefaix/portefaix/tree/master/gitops/argocd/apps/tools + additionalLabels: + app.kubernetes.io/component: argocd-applicationset + app.kubernetes.io/instance: tools-argocd-applicationset + app.kubernetes.io/managed-by: helm + app.kubernetes.io/name: tools + app.kubernetes.io/part-of: tools-argocd + app.kubernetes.io/version: v1.0.0 + portefaix.xyz/stack: tools + portefaix.xyz/version: v0.54.0 + generators: + - list: + elements: [] + template: + metadata: + name: "{{appName}}" + annotations: + # https://argo-cd.readthedocs.io/en/stable/operator-manual/high_availability/#webhook-and-manifest-paths-annotation + argocd.argoproj.io/manifest-generate-paths: "/{{path}}" + labels: + app.kubernetes.io/component: argocd-application + app.kubernetes.io/instance: "{{appName}}-argocd-application" + app.kubernetes.io/managed-by: helm + app.kubernetes.io/name: "{{appName}}" + app.kubernetes.io/part-of: "{{appName}}-argocd" + app.kubernetes.io/version: v1.0.0 + portefaix.xyz/stack: tools + portefaix.xyz/version: v0.54.0 + finalizers: + - resources-finalizer.argocd.argoproj.io + spec: + destination: + namespace: "{{namespace}}" + server: https://kubernetes.default.svc + source: + repoURL: https://github.com/portefaix/portefaix-kubernetes.git + targetRevision: "{{targetRevision}}" + path: "gitops/argocd/charts/{{namespace}}/{{appName}}" + helm: + valueFiles: + - values.yaml + syncPolicy: + # automated: + # prune: true + # selfHeal: true + # allowEmpty: false + syncOptions: + - CreateNamespace=true + - Validate=false + - SkipDryRunOnMissingResource=true + - ApplyOutOfSyncOnly=true + # - ServerSideApply=true + # retry: + # limit: 5 + # backoff: + # duration: 5s + # factor: 2 + # maxDuration: 3m0s diff --git a/gitops/argocd/bootstrap/argo-cd b/gitops/argocd/bootstrap/argo-cd deleted file mode 120000 index b6df20acab..0000000000 --- a/gitops/argocd/bootstrap/argo-cd +++ /dev/null @@ -1 +0,0 @@ -../charts/gitops/argo-cd \ No newline at end of file diff --git a/gitops/argocd/stacks/Chart.yaml b/gitops/argocd/stacks/Chart.yaml index 995acd223d..73dac5fe4b 100644 --- a/gitops/argocd/stacks/Chart.yaml +++ b/gitops/argocd/stacks/Chart.yaml @@ -19,5 +19,6 @@ apiVersion: v2 name: stack description: Stack for the Portefaix project type: application -version: 1.0.0 +version: 2.0.0 appVersion: 1.0.0 +dependencies: [] diff --git a/gitops/argocd/stacks/templates/apps.yaml b/gitops/argocd/stacks/templates/apps.yaml index b5728702da..e81cb6cffa 100644 --- a/gitops/argocd/stacks/templates/apps.yaml +++ b/gitops/argocd/stacks/templates/apps.yaml @@ -33,9 +33,11 @@ spec: server: {{ .Values.stack.destination.server }} project: {{ .Values.project.name }} source: - path: {{ .Values.stack.source.path }} + path: {{ .Values.stack.path }}/{{ .Values.stack.name }} repoURL: {{ .Values.stack.source.repoURL }} targetRevision: {{ .Values.stack.source.targetRevision }} + helm: + {{- toYaml .Values.stack.source.helm | nindent 6 }} syncPolicy: automated: prune: true diff --git a/gitops/argocd/stacks/values-aws-staging-core.yaml b/gitops/argocd/stacks/values-aws-staging-core.yaml index 64b45afe64..2b8a960889 100644 --- a/gitops/argocd/stacks/values-aws-staging-core.yaml +++ b/gitops/argocd/stacks/values-aws-staging-core.yaml @@ -20,14 +20,12 @@ project: name: portefaix-aws-staging stack: - destination: - namespace: gitops - server: https://kubernetes.default.svc name: core source: - path: gitops/argocd/apps/aws/staging/core - repoURL: https://github.com/portefaix/portefaix-kubernetes.git - targetRevision: master + helm: + valueFiles: + - values.yaml + - values-aws-staging.yaml notifications: slack: diff --git a/gitops/argocd/stacks/values-aws-staging-networking.yaml b/gitops/argocd/stacks/values-aws-staging-networking.yaml index f7f23f6d6e..453c021ca8 100644 --- a/gitops/argocd/stacks/values-aws-staging-networking.yaml +++ b/gitops/argocd/stacks/values-aws-staging-networking.yaml @@ -19,14 +19,12 @@ project: name: portefaix-aws-staging stack: - destination: - namespace: gitops - server: https://kubernetes.default.svc name: networking source: - path: gitops/argocd/apps/aws/staging/networking - repoURL: https://github.com/portefaix/portefaix-kubernetes.git - targetRevision: master + helm: + valueFiles: + - values.yaml + - values-aws-staging.yaml notifications: slack: diff --git a/gitops/argocd/stacks/values-aws-staging-observability.yaml b/gitops/argocd/stacks/values-aws-staging-observability.yaml index b9a60e4239..2a578cf27c 100644 --- a/gitops/argocd/stacks/values-aws-staging-observability.yaml +++ b/gitops/argocd/stacks/values-aws-staging-observability.yaml @@ -19,14 +19,12 @@ project: name: portefaix-aws-staging stack: - destination: - namespace: gitops - server: https://kubernetes.default.svc name: observability source: - path: gitops/argocd/apps/aws/staging/observability - repoURL: https://github.com/portefaix/portefaix-kubernetes.git - targetRevision: master + helm: + valueFiles: + - values.yaml + - values-aws-staging.yaml notifications: slack: diff --git a/gitops/argocd/stacks/values-aws-staging-system.yaml b/gitops/argocd/stacks/values-aws-staging-system.yaml index 24333b2dd7..479b6d61b8 100644 --- a/gitops/argocd/stacks/values-aws-staging-system.yaml +++ b/gitops/argocd/stacks/values-aws-staging-system.yaml @@ -19,14 +19,12 @@ project: name: portefaix-aws-staging stack: - destination: - namespace: gitops - server: https://kubernetes.default.svc name: system source: - path: gitops/argocd/apps/aws/staging/system - repoURL: https://github.com/portefaix/portefaix-kubernetes.git - targetRevision: master + helm: + valueFiles: + - values.yaml + - values-aws-staging.yaml notifications: slack: diff --git a/gitops/argocd/stacks/values-k3s-homelab-chaos.yaml b/gitops/argocd/stacks/values-k3s-homelab-chaos.yaml index 1450b12286..a9f6ed04ad 100644 --- a/gitops/argocd/stacks/values-k3s-homelab-chaos.yaml +++ b/gitops/argocd/stacks/values-k3s-homelab-chaos.yaml @@ -19,14 +19,12 @@ project: name: portefaix-k3s-homelab stack: - destination: - namespace: gitops - server: https://kubernetes.default.svc name: chaos source: - path: gitops/argocd/apps/k3s/homelab/chaos - repoURL: https://github.com/portefaix/portefaix-kubernetes.git - targetRevision: master + helm: + valueFiles: + - values.yaml + - values-k3s-homelab.yaml notifications: slack: diff --git a/gitops/argocd/stacks/values-k3s-homelab-core.yaml b/gitops/argocd/stacks/values-k3s-homelab-core.yaml index ed02ff023d..cd84bdfe70 100644 --- a/gitops/argocd/stacks/values-k3s-homelab-core.yaml +++ b/gitops/argocd/stacks/values-k3s-homelab-core.yaml @@ -20,14 +20,12 @@ project: name: portefaix-k3s-homelab stack: - destination: - namespace: gitops - server: https://kubernetes.default.svc name: core source: - path: gitops/argocd/apps/k3s/homelab/core - repoURL: https://github.com/portefaix/portefaix-kubernetes.git - targetRevision: master + helm: + valueFiles: + - values.yaml + - values-k3s-homelab.yaml notifications: slack: diff --git a/gitops/argocd/stacks/values-k3s-homelab-demo.yaml b/gitops/argocd/stacks/values-k3s-homelab-demo.yaml index bd0ac1e07c..82587f8ac6 100644 --- a/gitops/argocd/stacks/values-k3s-homelab-demo.yaml +++ b/gitops/argocd/stacks/values-k3s-homelab-demo.yaml @@ -19,14 +19,12 @@ project: name: portefaix-k3s-homelab stack: - destination: - namespace: gitops - server: https://kubernetes.default.svc name: demo source: - path: gitops/argocd/apps/k3s/homelab/demo - repoURL: https://github.com/portefaix/portefaix-kubernetes.git - targetRevision: master + helm: + valueFiles: + - values.yaml + - values-k3s-homelab.yaml notifications: slack: diff --git a/gitops/argocd/stacks/values-k3s-homelab-networking.yaml b/gitops/argocd/stacks/values-k3s-homelab-networking.yaml index 365355729a..aafb2a0a09 100644 --- a/gitops/argocd/stacks/values-k3s-homelab-networking.yaml +++ b/gitops/argocd/stacks/values-k3s-homelab-networking.yaml @@ -19,14 +19,12 @@ project: name: portefaix-k3s-homelab stack: - destination: - namespace: gitops - server: https://kubernetes.default.svc name: networking source: - path: gitops/argocd/apps/k3s/homelab/networking - repoURL: https://github.com/portefaix/portefaix-kubernetes.git - targetRevision: master + helm: + valueFiles: + - values.yaml + - values-k3s-homelab.yaml notifications: slack: diff --git a/gitops/argocd/stacks/values-k3s-homelab-observability.yaml b/gitops/argocd/stacks/values-k3s-homelab-observability.yaml index 6266e857e2..a561ac3d14 100644 --- a/gitops/argocd/stacks/values-k3s-homelab-observability.yaml +++ b/gitops/argocd/stacks/values-k3s-homelab-observability.yaml @@ -19,14 +19,12 @@ project: name: portefaix-k3s-homelab stack: - destination: - namespace: gitops - server: https://kubernetes.default.svc name: observability source: - path: gitops/argocd/apps/k3s/homelab/observability - repoURL: https://github.com/portefaix/portefaix-kubernetes.git - targetRevision: master + helm: + valueFiles: + - values.yaml + - values-k3s-homelab.yaml notifications: slack: diff --git a/gitops/argocd/stacks/values-k3s-homelab-security.yaml b/gitops/argocd/stacks/values-k3s-homelab-security.yaml index 4f4af62415..5a04913a5f 100644 --- a/gitops/argocd/stacks/values-k3s-homelab-security.yaml +++ b/gitops/argocd/stacks/values-k3s-homelab-security.yaml @@ -19,14 +19,12 @@ project: name: portefaix-k3s-homelab stack: - destination: - namespace: gitops - server: https://kubernetes.default.svc name: security source: - path: gitops/argocd/apps/k3s/homelab/security - repoURL: https://github.com/portefaix/portefaix-kubernetes.git - targetRevision: master + helm: + valueFiles: + - values.yaml + - values-k3s-homelab.yaml notifications: slack: diff --git a/gitops/argocd/stacks/values-k3s-homelab-storage.yaml b/gitops/argocd/stacks/values-k3s-homelab-storage.yaml index 26a1971718..5be1401afe 100644 --- a/gitops/argocd/stacks/values-k3s-homelab-storage.yaml +++ b/gitops/argocd/stacks/values-k3s-homelab-storage.yaml @@ -19,14 +19,12 @@ project: name: portefaix-k3s-homelab stack: - destination: - namespace: gitops - server: https://kubernetes.default.svc name: storage source: - path: gitops/argocd/apps/k3s/homelab/storage - repoURL: https://github.com/portefaix/portefaix-kubernetes.git - targetRevision: master + helm: + valueFiles: + - values.yaml + - values-k3s-homelab.yaml notifications: slack: diff --git a/gitops/argocd/stacks/values-k3s-homelab-system.yaml b/gitops/argocd/stacks/values-k3s-homelab-system.yaml index 5d2093c0d5..bb0052ec80 100644 --- a/gitops/argocd/stacks/values-k3s-homelab-system.yaml +++ b/gitops/argocd/stacks/values-k3s-homelab-system.yaml @@ -19,14 +19,12 @@ project: name: portefaix-k3s-homelab stack: - destination: - namespace: gitops - server: https://kubernetes.default.svc name: system source: - path: gitops/argocd/apps/k3s/homelab/system - repoURL: https://github.com/portefaix/portefaix-kubernetes.git - targetRevision: master + helm: + valueFiles: + - values.yaml + - values-k3s-homelab.yaml notifications: slack: diff --git a/gitops/argocd/stacks/values-k3s-homelab-tools.yaml b/gitops/argocd/stacks/values-k3s-homelab-tools.yaml index 92c151a12c..287209ec61 100644 --- a/gitops/argocd/stacks/values-k3s-homelab-tools.yaml +++ b/gitops/argocd/stacks/values-k3s-homelab-tools.yaml @@ -19,14 +19,12 @@ project: name: portefaix-k3s-homelab stack: - destination: - namespace: gitops - server: https://kubernetes.default.svc name: tools source: - path: gitops/argocd/apps/k3s/homelab/tools - repoURL: https://github.com/portefaix/portefaix-kubernetes.git - targetRevision: master + helm: + valueFiles: + - values.yaml + - values-k3s-homelab.yaml notifications: slack: diff --git a/gitops/argocd/stacks/values-kind-local-core.yaml b/gitops/argocd/stacks/values-kind-local-core.yaml index d30168ab9a..a637101009 100644 --- a/gitops/argocd/stacks/values-kind-local-core.yaml +++ b/gitops/argocd/stacks/values-kind-local-core.yaml @@ -20,14 +20,12 @@ project: name: portefaix-kind-local stack: - destination: - namespace: gitops - server: https://kubernetes.default.svc name: core source: - path: gitops/argocd/apps/kind/local/core - repoURL: https://github.com/portefaix/portefaix-kubernetes.git - targetRevision: master + helm: + valueFiles: + - values.yaml + - values-kind-local.yaml notifications: slack: diff --git a/gitops/argocd/stacks/values-kind-local-networking.yaml b/gitops/argocd/stacks/values-kind-local-networking.yaml index c14ab078e3..07886218d8 100644 --- a/gitops/argocd/stacks/values-kind-local-networking.yaml +++ b/gitops/argocd/stacks/values-kind-local-networking.yaml @@ -19,14 +19,12 @@ project: name: portefaix-kind-local stack: - destination: - namespace: gitops - server: https://kubernetes.default.svc name: networking source: - path: gitops/argocd/apps/kind/local/networking - repoURL: https://github.com/portefaix/portefaix-kubernetes.git - targetRevision: master + helm: + valueFiles: + - values.yaml + - values-kind-local.yaml notifications: slack: diff --git a/gitops/argocd/stacks/values-kind-local-observability.yaml b/gitops/argocd/stacks/values-kind-local-observability.yaml index 6db655273e..76c44994e2 100644 --- a/gitops/argocd/stacks/values-kind-local-observability.yaml +++ b/gitops/argocd/stacks/values-kind-local-observability.yaml @@ -19,14 +19,12 @@ project: name: portefaix-kind-local stack: - destination: - namespace: gitops - server: https://kubernetes.default.svc name: observability source: - path: gitops/argocd/apps/kind/local/observability - repoURL: https://github.com/portefaix/portefaix-kubernetes.git - targetRevision: master + helm: + valueFiles: + - values.yaml + - values-kind-local.yaml notifications: slack: diff --git a/gitops/argocd/stacks/values.yaml b/gitops/argocd/stacks/values.yaml index ba100ee581..c933ee79f8 100644 --- a/gitops/argocd/stacks/values.yaml +++ b/gitops/argocd/stacks/values.yaml @@ -21,6 +21,13 @@ project: customLabels: portefaix.xyz/version: v0.54.0 -stack: {} +stack: + path: gitops/argocd/apps + destination: + namespace: gitops + server: https://kubernetes.default.svc + source: + repoURL: https://github.com/portefaix/portefaix-kubernetes.git + targetRevision: feat/argo-apps notifications: {}