From ad0be77431aad06348c776dcd2732ba9d58f6648 Mon Sep 17 00:00:00 2001 From: Sheogorath <sheogorath@shivering-isles.com> Date: Sat, 24 Feb 2024 18:12:47 +0100 Subject: [PATCH] refactor(infrastructure): Rework directory structure for infrastructure This patch reworks how the infrastructure setup is organised to provide more flexibility when maintaining multiple clusters with the same repository as well as resolving various bootstrapping issues. The new structure will move various overwrites into the cluster-specific infrastructure directory, mimicking the apps directory. Currently it's quite split between infrastructure and the cluster directory. --- clusters/k8s01/infrastructure.yaml | 4 +- infrastructure/{ => base}/calico/README.md | 0 .../calico/felix-configuration.yaml | 0 .../{ => base}/calico/kustomization.yaml | 0 .../{ => base}/cert-manager/README.md | 0 .../{ => base}/cert-manager/alerts.yaml | 0 .../cert-manager/dashboards/cert-manager.json | 0 .../cert-manager/kustomization.yaml | 0 .../{ => base}/cert-manager/namespace.yaml | 0 .../cert-manager/networkpolicy-patch.yaml | 0 .../cert-manager/networkpolicy.yaml | 0 .../{ => base}/cert-manager/release.yaml | 0 .../{ => base}/cert-manager/repository.yaml | 0 .../{ => base}/cert-manager/self-signed.yaml | 0 .../dashboard/kubernetes-dashboard.yaml | 0 .../{ => base}/dashboard/kustomization.yaml | 0 .../{ => base}/dashboard/namespace.yaml | 0 .../{ => base}/drivers/amd-gpu.yaml | 0 .../{ => base}/drivers/kustomization.yaml | 0 .../{ => base}/drivers/namespace.yaml | 0 .../firewall/controller-config.yaml | 0 .../{ => base}/firewall/ingress-base.yaml | 0 .../firewall/ingress-control-plane.yaml | 0 .../{ => base}/firewall/ingress-metallb.yaml | 0 .../firewall/ingress-monitoring.yaml | 0 .../{ => base}/firewall/ingress-worker.yaml | 0 .../{ => base}/firewall/kustomization.yaml | 0 .../{ => base}/flux-system/alerts.yaml | 0 .../{ => base}/flux-system/kustomization.yaml | 0 .../monitoring/dashboards/cluster.json | 0 .../monitoring/dashboards/control-plane.json | 0 .../monitoring/dashboards/logs.json | 0 .../flux-system/monitoring/kustomization.yaml | 0 .../flux-system/monitoring/networkpolicy.yaml | 0 .../flux-system/monitoring/podmonitor.yaml | 0 .../{ => base}/flux-system/tf-controller.yaml | 0 .../{ => base}/kube-system/README.md | 0 .../{ => base}/kube-system/descheduler.yaml | 0 .../{ => base}/kube-system/kustomization.yaml | 0 .../kube-system/metrics-server.yaml | 0 .../kube-system/poddisruptionbudget.yaml | 0 .../{ => base}/kube-system/quorum.yaml | 0 .../kube-system/snapshot-controller.yaml | 0 infrastructure/{ => base}/longhorn/README.md | 0 .../longhorn/dashboards/longhorn.json | 0 .../{ => base}/longhorn/hotfix-7183.yaml | 0 .../{ => base}/longhorn/kustomization.yaml | 0 .../{ => base}/longhorn/monitoring.yaml | 0 .../{ => base}/longhorn/namespace.yaml | 0 .../{ => base}/longhorn/networkpolicy.yaml | 0 .../{ => base}/longhorn/release.yaml | 0 .../{ => base}/longhorn/repository.yaml | 0 .../{ => base}/longhorn/snapshot.yaml | 0 infrastructure/{ => base}/metallb/README.md | 0 .../metallb/dashboards/metallb.json | 0 .../{ => base}/metallb/kustomization.yaml | 0 .../{ => base}/metallb/namespace.yaml | 0 .../{ => base}/metallb/networkpolicy.yaml | 0 .../{ => base}/metallb/release.yaml | 0 .../{ => base}/metallb/repository.yaml | 0 .../{ => base}/monitoring/README.md | 0 .../monitoring/calico-networkpolicy.yaml | 0 .../dashboards/cluster-cpu-check.json | 0 ...kubernetes-persistent-volumes-cluster.json | 0 .../monitoring/dashboards/sloth-details.json | 0 .../dashboards/sloth-high-level.json | 0 .../monitoring/json-exporter-monitor.yaml | 0 .../{ => base}/monitoring/kustomization.yaml | 0 .../{ => base}/monitoring/namespace.yaml | 0 .../{ => base}/monitoring/networkpolicy.yaml | 0 .../{ => base}/monitoring/release.yaml | 0 .../{ => base}/monitoring/repository.yaml | 0 .../{ => base}/monitoring/sloth.yaml | 0 .../{ => base}/nginx-system/README.md | 0 .../{ => base}/nginx-system/base-config.yaml | 0 .../nginx-system/dashboards/nginx.json | 0 .../{ => base}/nginx-system/external.yaml | 0 .../{ => base}/nginx-system/internal.yaml | 0 .../nginx-system/kustomization.yaml | 0 .../{ => base}/nginx-system/namespace.yaml | 0 .../{ => base}/nginx-system/repository.yaml | 0 .../{ => base}/node-features/README.md | 0 .../node-features/kustomization.yaml | 0 .../{ => base}/node-features/namespace.yaml | 0 .../{ => base}/node-features/release.yaml | 0 .../{ => base}/node-features/repository.yaml | 0 .../dashboards/postgresql-database.json | 0 .../{ => base}/postgres/kustomization.yaml | 0 .../{ => base}/postgres/namespace.yaml | 0 .../{ => base}/postgres/podmonitor.yaml | 0 .../{ => base}/postgres/prometheusrules.yaml | 0 .../{ => base}/postgres/release.yaml | 0 .../{ => base}/postgres/repository.yaml | 0 .../redis/dashboards/redis-operator.json | 0 .../{ => base}/redis/kustomization.yaml | 0 .../{ => base}/redis/namespace.yaml | 0 infrastructure/{ => base}/redis/release.yaml | 0 .../{ => base}/redis/repository.yaml | 0 .../{ => base}/system-upgrades/README.md | 0 .../system-upgrades/calver-server.yaml | 0 .../fedora/fedora-autoupdate.yaml} | 6 --- .../fedora}/fedora-system-upgrade.yaml | 0 .../fedora-temperature-management.yaml | 0 .../system-upgrades/fedora/kustomization.yaml | 7 +++ .../{ => base}/system-upgrades/kubelet.yaml | 0 .../system-upgrades/kubernetes.yaml | 0 .../{ => base}/system-upgrades/kured.yaml | 0 .../system-upgrades/kustomization.yaml | 9 ++-- .../system-upgrades/longhorn-lvm.yaml | 0 .../system-upgrades/longhorn-setup.yaml | 0 .../vpa/admissioncontroller-patch.yaml | 0 .../{ => base}/vpa/certificate.yaml | 0 .../{ => base}/vpa/deployment-patch.yaml | 0 .../{ => base}/vpa/kustomization.yaml | 0 infrastructure/{ => base}/vpa/namespace.yaml | 0 infrastructure/k8s01/kustomization.yaml | 18 ++++++++ infrastructure/kustomization.yaml | 18 -------- .../system-upgrades/disable-syslog.yaml | 43 ------------------- 118 files changed, 32 insertions(+), 73 deletions(-) rename infrastructure/{ => base}/calico/README.md (100%) rename infrastructure/{ => base}/calico/felix-configuration.yaml (100%) rename infrastructure/{ => base}/calico/kustomization.yaml (100%) rename infrastructure/{ => base}/cert-manager/README.md (100%) rename infrastructure/{ => base}/cert-manager/alerts.yaml (100%) rename infrastructure/{ => base}/cert-manager/dashboards/cert-manager.json (100%) rename infrastructure/{ => base}/cert-manager/kustomization.yaml (100%) rename infrastructure/{ => base}/cert-manager/namespace.yaml (100%) rename infrastructure/{ => base}/cert-manager/networkpolicy-patch.yaml (100%) rename infrastructure/{ => base}/cert-manager/networkpolicy.yaml (100%) rename infrastructure/{ => base}/cert-manager/release.yaml (100%) rename infrastructure/{ => base}/cert-manager/repository.yaml (100%) rename infrastructure/{ => base}/cert-manager/self-signed.yaml (100%) rename infrastructure/{ => base}/dashboard/kubernetes-dashboard.yaml (100%) rename infrastructure/{ => base}/dashboard/kustomization.yaml (100%) rename infrastructure/{ => base}/dashboard/namespace.yaml (100%) rename infrastructure/{ => base}/drivers/amd-gpu.yaml (100%) rename infrastructure/{ => base}/drivers/kustomization.yaml (100%) rename infrastructure/{ => base}/drivers/namespace.yaml (100%) rename infrastructure/{ => base}/firewall/controller-config.yaml (100%) rename infrastructure/{ => base}/firewall/ingress-base.yaml (100%) rename infrastructure/{ => base}/firewall/ingress-control-plane.yaml (100%) rename infrastructure/{ => base}/firewall/ingress-metallb.yaml (100%) rename infrastructure/{ => base}/firewall/ingress-monitoring.yaml (100%) rename infrastructure/{ => base}/firewall/ingress-worker.yaml (100%) rename infrastructure/{ => base}/firewall/kustomization.yaml (100%) rename infrastructure/{ => base}/flux-system/alerts.yaml (100%) rename infrastructure/{ => base}/flux-system/kustomization.yaml (100%) rename infrastructure/{ => base}/flux-system/monitoring/dashboards/cluster.json (100%) rename infrastructure/{ => base}/flux-system/monitoring/dashboards/control-plane.json (100%) rename infrastructure/{ => base}/flux-system/monitoring/dashboards/logs.json (100%) rename infrastructure/{ => base}/flux-system/monitoring/kustomization.yaml (100%) rename infrastructure/{ => base}/flux-system/monitoring/networkpolicy.yaml (100%) rename infrastructure/{ => base}/flux-system/monitoring/podmonitor.yaml (100%) rename infrastructure/{ => base}/flux-system/tf-controller.yaml (100%) rename infrastructure/{ => base}/kube-system/README.md (100%) rename infrastructure/{ => base}/kube-system/descheduler.yaml (100%) rename infrastructure/{ => base}/kube-system/kustomization.yaml (100%) rename infrastructure/{ => base}/kube-system/metrics-server.yaml (100%) rename infrastructure/{ => base}/kube-system/poddisruptionbudget.yaml (100%) rename infrastructure/{ => base}/kube-system/quorum.yaml (100%) rename infrastructure/{ => base}/kube-system/snapshot-controller.yaml (100%) rename infrastructure/{ => base}/longhorn/README.md (100%) rename infrastructure/{ => base}/longhorn/dashboards/longhorn.json (100%) rename infrastructure/{ => base}/longhorn/hotfix-7183.yaml (100%) rename infrastructure/{ => base}/longhorn/kustomization.yaml (100%) rename infrastructure/{ => base}/longhorn/monitoring.yaml (100%) rename infrastructure/{ => base}/longhorn/namespace.yaml (100%) rename infrastructure/{ => base}/longhorn/networkpolicy.yaml (100%) rename infrastructure/{ => base}/longhorn/release.yaml (100%) rename infrastructure/{ => base}/longhorn/repository.yaml (100%) rename infrastructure/{ => base}/longhorn/snapshot.yaml (100%) rename infrastructure/{ => base}/metallb/README.md (100%) rename infrastructure/{ => base}/metallb/dashboards/metallb.json (100%) rename infrastructure/{ => base}/metallb/kustomization.yaml (100%) rename infrastructure/{ => base}/metallb/namespace.yaml (100%) rename infrastructure/{ => base}/metallb/networkpolicy.yaml (100%) rename infrastructure/{ => base}/metallb/release.yaml (100%) rename infrastructure/{ => base}/metallb/repository.yaml (100%) rename infrastructure/{ => base}/monitoring/README.md (100%) rename infrastructure/{ => base}/monitoring/calico-networkpolicy.yaml (100%) rename infrastructure/{ => base}/monitoring/dashboards/cluster-cpu-check.json (100%) rename infrastructure/{ => base}/monitoring/dashboards/kubernetes-persistent-volumes-cluster.json (100%) rename infrastructure/{ => base}/monitoring/dashboards/sloth-details.json (100%) rename infrastructure/{ => base}/monitoring/dashboards/sloth-high-level.json (100%) rename infrastructure/{ => base}/monitoring/json-exporter-monitor.yaml (100%) rename infrastructure/{ => base}/monitoring/kustomization.yaml (100%) rename infrastructure/{ => base}/monitoring/namespace.yaml (100%) rename infrastructure/{ => base}/monitoring/networkpolicy.yaml (100%) rename infrastructure/{ => base}/monitoring/release.yaml (100%) rename infrastructure/{ => base}/monitoring/repository.yaml (100%) rename infrastructure/{ => base}/monitoring/sloth.yaml (100%) rename infrastructure/{ => base}/nginx-system/README.md (100%) rename infrastructure/{ => base}/nginx-system/base-config.yaml (100%) rename infrastructure/{ => base}/nginx-system/dashboards/nginx.json (100%) rename infrastructure/{ => base}/nginx-system/external.yaml (100%) rename infrastructure/{ => base}/nginx-system/internal.yaml (100%) rename infrastructure/{ => base}/nginx-system/kustomization.yaml (100%) rename infrastructure/{ => base}/nginx-system/namespace.yaml (100%) rename infrastructure/{ => base}/nginx-system/repository.yaml (100%) rename infrastructure/{ => base}/node-features/README.md (100%) rename infrastructure/{ => base}/node-features/kustomization.yaml (100%) rename infrastructure/{ => base}/node-features/namespace.yaml (100%) rename infrastructure/{ => base}/node-features/release.yaml (100%) rename infrastructure/{ => base}/node-features/repository.yaml (100%) rename infrastructure/{ => base}/postgres/dashboards/postgresql-database.json (100%) rename infrastructure/{ => base}/postgres/kustomization.yaml (100%) rename infrastructure/{ => base}/postgres/namespace.yaml (100%) rename infrastructure/{ => base}/postgres/podmonitor.yaml (100%) rename infrastructure/{ => base}/postgres/prometheusrules.yaml (100%) rename infrastructure/{ => base}/postgres/release.yaml (100%) rename infrastructure/{ => base}/postgres/repository.yaml (100%) rename infrastructure/{ => base}/redis/dashboards/redis-operator.json (100%) rename infrastructure/{ => base}/redis/kustomization.yaml (100%) rename infrastructure/{ => base}/redis/namespace.yaml (100%) rename infrastructure/{ => base}/redis/release.yaml (100%) rename infrastructure/{ => base}/redis/repository.yaml (100%) rename infrastructure/{ => base}/system-upgrades/README.md (100%) rename infrastructure/{ => base}/system-upgrades/calver-server.yaml (100%) rename infrastructure/{system-upgrades/fedora.yaml => base/system-upgrades/fedora/fedora-autoupdate.yaml} (87%) rename infrastructure/{system-upgrades => base/system-upgrades/fedora}/fedora-system-upgrade.yaml (100%) rename infrastructure/{system-upgrades => base/system-upgrades/fedora}/fedora-temperature-management.yaml (100%) create mode 100644 infrastructure/base/system-upgrades/fedora/kustomization.yaml rename infrastructure/{ => base}/system-upgrades/kubelet.yaml (100%) rename infrastructure/{ => base}/system-upgrades/kubernetes.yaml (100%) rename infrastructure/{ => base}/system-upgrades/kured.yaml (100%) rename infrastructure/{ => base}/system-upgrades/kustomization.yaml (59%) rename infrastructure/{ => base}/system-upgrades/longhorn-lvm.yaml (100%) rename infrastructure/{ => base}/system-upgrades/longhorn-setup.yaml (100%) rename infrastructure/{ => base}/vpa/admissioncontroller-patch.yaml (100%) rename infrastructure/{ => base}/vpa/certificate.yaml (100%) rename infrastructure/{ => base}/vpa/deployment-patch.yaml (100%) rename infrastructure/{ => base}/vpa/kustomization.yaml (100%) rename infrastructure/{ => base}/vpa/namespace.yaml (100%) create mode 100644 infrastructure/k8s01/kustomization.yaml delete mode 100644 infrastructure/kustomization.yaml delete mode 100644 infrastructure/system-upgrades/disable-syslog.yaml diff --git a/clusters/k8s01/infrastructure.yaml b/clusters/k8s01/infrastructure.yaml index b213f4b91..651a4694a 100644 --- a/clusters/k8s01/infrastructure.yaml +++ b/clusters/k8s01/infrastructure.yaml @@ -10,5 +10,5 @@ spec: sourceRef: kind: GitRepository name: flux-system - path: ./infrastructure - prune: true + path: ./infrastructure/k8s01 + prune: false diff --git a/infrastructure/calico/README.md b/infrastructure/base/calico/README.md similarity index 100% rename from infrastructure/calico/README.md rename to infrastructure/base/calico/README.md diff --git a/infrastructure/calico/felix-configuration.yaml b/infrastructure/base/calico/felix-configuration.yaml similarity index 100% rename from infrastructure/calico/felix-configuration.yaml rename to infrastructure/base/calico/felix-configuration.yaml diff --git a/infrastructure/calico/kustomization.yaml b/infrastructure/base/calico/kustomization.yaml similarity index 100% rename from infrastructure/calico/kustomization.yaml rename to infrastructure/base/calico/kustomization.yaml diff --git a/infrastructure/cert-manager/README.md b/infrastructure/base/cert-manager/README.md similarity index 100% rename from infrastructure/cert-manager/README.md rename to infrastructure/base/cert-manager/README.md diff --git a/infrastructure/cert-manager/alerts.yaml b/infrastructure/base/cert-manager/alerts.yaml similarity index 100% rename from infrastructure/cert-manager/alerts.yaml rename to infrastructure/base/cert-manager/alerts.yaml diff --git a/infrastructure/cert-manager/dashboards/cert-manager.json b/infrastructure/base/cert-manager/dashboards/cert-manager.json similarity index 100% rename from infrastructure/cert-manager/dashboards/cert-manager.json rename to infrastructure/base/cert-manager/dashboards/cert-manager.json diff --git a/infrastructure/cert-manager/kustomization.yaml b/infrastructure/base/cert-manager/kustomization.yaml similarity index 100% rename from infrastructure/cert-manager/kustomization.yaml rename to infrastructure/base/cert-manager/kustomization.yaml diff --git a/infrastructure/cert-manager/namespace.yaml b/infrastructure/base/cert-manager/namespace.yaml similarity index 100% rename from infrastructure/cert-manager/namespace.yaml rename to infrastructure/base/cert-manager/namespace.yaml diff --git a/infrastructure/cert-manager/networkpolicy-patch.yaml b/infrastructure/base/cert-manager/networkpolicy-patch.yaml similarity index 100% rename from infrastructure/cert-manager/networkpolicy-patch.yaml rename to infrastructure/base/cert-manager/networkpolicy-patch.yaml diff --git a/infrastructure/cert-manager/networkpolicy.yaml b/infrastructure/base/cert-manager/networkpolicy.yaml similarity index 100% rename from infrastructure/cert-manager/networkpolicy.yaml rename to infrastructure/base/cert-manager/networkpolicy.yaml diff --git a/infrastructure/cert-manager/release.yaml b/infrastructure/base/cert-manager/release.yaml similarity index 100% rename from infrastructure/cert-manager/release.yaml rename to infrastructure/base/cert-manager/release.yaml diff --git a/infrastructure/cert-manager/repository.yaml b/infrastructure/base/cert-manager/repository.yaml similarity index 100% rename from infrastructure/cert-manager/repository.yaml rename to infrastructure/base/cert-manager/repository.yaml diff --git a/infrastructure/cert-manager/self-signed.yaml b/infrastructure/base/cert-manager/self-signed.yaml similarity index 100% rename from infrastructure/cert-manager/self-signed.yaml rename to infrastructure/base/cert-manager/self-signed.yaml diff --git a/infrastructure/dashboard/kubernetes-dashboard.yaml b/infrastructure/base/dashboard/kubernetes-dashboard.yaml similarity index 100% rename from infrastructure/dashboard/kubernetes-dashboard.yaml rename to infrastructure/base/dashboard/kubernetes-dashboard.yaml diff --git a/infrastructure/dashboard/kustomization.yaml b/infrastructure/base/dashboard/kustomization.yaml similarity index 100% rename from infrastructure/dashboard/kustomization.yaml rename to infrastructure/base/dashboard/kustomization.yaml diff --git a/infrastructure/dashboard/namespace.yaml b/infrastructure/base/dashboard/namespace.yaml similarity index 100% rename from infrastructure/dashboard/namespace.yaml rename to infrastructure/base/dashboard/namespace.yaml diff --git a/infrastructure/drivers/amd-gpu.yaml b/infrastructure/base/drivers/amd-gpu.yaml similarity index 100% rename from infrastructure/drivers/amd-gpu.yaml rename to infrastructure/base/drivers/amd-gpu.yaml diff --git a/infrastructure/drivers/kustomization.yaml b/infrastructure/base/drivers/kustomization.yaml similarity index 100% rename from infrastructure/drivers/kustomization.yaml rename to infrastructure/base/drivers/kustomization.yaml diff --git a/infrastructure/drivers/namespace.yaml b/infrastructure/base/drivers/namespace.yaml similarity index 100% rename from infrastructure/drivers/namespace.yaml rename to infrastructure/base/drivers/namespace.yaml diff --git a/infrastructure/firewall/controller-config.yaml b/infrastructure/base/firewall/controller-config.yaml similarity index 100% rename from infrastructure/firewall/controller-config.yaml rename to infrastructure/base/firewall/controller-config.yaml diff --git a/infrastructure/firewall/ingress-base.yaml b/infrastructure/base/firewall/ingress-base.yaml similarity index 100% rename from infrastructure/firewall/ingress-base.yaml rename to infrastructure/base/firewall/ingress-base.yaml diff --git a/infrastructure/firewall/ingress-control-plane.yaml b/infrastructure/base/firewall/ingress-control-plane.yaml similarity index 100% rename from infrastructure/firewall/ingress-control-plane.yaml rename to infrastructure/base/firewall/ingress-control-plane.yaml diff --git a/infrastructure/firewall/ingress-metallb.yaml b/infrastructure/base/firewall/ingress-metallb.yaml similarity index 100% rename from infrastructure/firewall/ingress-metallb.yaml rename to infrastructure/base/firewall/ingress-metallb.yaml diff --git a/infrastructure/firewall/ingress-monitoring.yaml b/infrastructure/base/firewall/ingress-monitoring.yaml similarity index 100% rename from infrastructure/firewall/ingress-monitoring.yaml rename to infrastructure/base/firewall/ingress-monitoring.yaml diff --git a/infrastructure/firewall/ingress-worker.yaml b/infrastructure/base/firewall/ingress-worker.yaml similarity index 100% rename from infrastructure/firewall/ingress-worker.yaml rename to infrastructure/base/firewall/ingress-worker.yaml diff --git a/infrastructure/firewall/kustomization.yaml b/infrastructure/base/firewall/kustomization.yaml similarity index 100% rename from infrastructure/firewall/kustomization.yaml rename to infrastructure/base/firewall/kustomization.yaml diff --git a/infrastructure/flux-system/alerts.yaml b/infrastructure/base/flux-system/alerts.yaml similarity index 100% rename from infrastructure/flux-system/alerts.yaml rename to infrastructure/base/flux-system/alerts.yaml diff --git a/infrastructure/flux-system/kustomization.yaml b/infrastructure/base/flux-system/kustomization.yaml similarity index 100% rename from infrastructure/flux-system/kustomization.yaml rename to infrastructure/base/flux-system/kustomization.yaml diff --git a/infrastructure/flux-system/monitoring/dashboards/cluster.json b/infrastructure/base/flux-system/monitoring/dashboards/cluster.json similarity index 100% rename from infrastructure/flux-system/monitoring/dashboards/cluster.json rename to infrastructure/base/flux-system/monitoring/dashboards/cluster.json diff --git a/infrastructure/flux-system/monitoring/dashboards/control-plane.json b/infrastructure/base/flux-system/monitoring/dashboards/control-plane.json similarity index 100% rename from infrastructure/flux-system/monitoring/dashboards/control-plane.json rename to infrastructure/base/flux-system/monitoring/dashboards/control-plane.json diff --git a/infrastructure/flux-system/monitoring/dashboards/logs.json b/infrastructure/base/flux-system/monitoring/dashboards/logs.json similarity index 100% rename from infrastructure/flux-system/monitoring/dashboards/logs.json rename to infrastructure/base/flux-system/monitoring/dashboards/logs.json diff --git a/infrastructure/flux-system/monitoring/kustomization.yaml b/infrastructure/base/flux-system/monitoring/kustomization.yaml similarity index 100% rename from infrastructure/flux-system/monitoring/kustomization.yaml rename to infrastructure/base/flux-system/monitoring/kustomization.yaml diff --git a/infrastructure/flux-system/monitoring/networkpolicy.yaml b/infrastructure/base/flux-system/monitoring/networkpolicy.yaml similarity index 100% rename from infrastructure/flux-system/monitoring/networkpolicy.yaml rename to infrastructure/base/flux-system/monitoring/networkpolicy.yaml diff --git a/infrastructure/flux-system/monitoring/podmonitor.yaml b/infrastructure/base/flux-system/monitoring/podmonitor.yaml similarity index 100% rename from infrastructure/flux-system/monitoring/podmonitor.yaml rename to infrastructure/base/flux-system/monitoring/podmonitor.yaml diff --git a/infrastructure/flux-system/tf-controller.yaml b/infrastructure/base/flux-system/tf-controller.yaml similarity index 100% rename from infrastructure/flux-system/tf-controller.yaml rename to infrastructure/base/flux-system/tf-controller.yaml diff --git a/infrastructure/kube-system/README.md b/infrastructure/base/kube-system/README.md similarity index 100% rename from infrastructure/kube-system/README.md rename to infrastructure/base/kube-system/README.md diff --git a/infrastructure/kube-system/descheduler.yaml b/infrastructure/base/kube-system/descheduler.yaml similarity index 100% rename from infrastructure/kube-system/descheduler.yaml rename to infrastructure/base/kube-system/descheduler.yaml diff --git a/infrastructure/kube-system/kustomization.yaml b/infrastructure/base/kube-system/kustomization.yaml similarity index 100% rename from infrastructure/kube-system/kustomization.yaml rename to infrastructure/base/kube-system/kustomization.yaml diff --git a/infrastructure/kube-system/metrics-server.yaml b/infrastructure/base/kube-system/metrics-server.yaml similarity index 100% rename from infrastructure/kube-system/metrics-server.yaml rename to infrastructure/base/kube-system/metrics-server.yaml diff --git a/infrastructure/kube-system/poddisruptionbudget.yaml b/infrastructure/base/kube-system/poddisruptionbudget.yaml similarity index 100% rename from infrastructure/kube-system/poddisruptionbudget.yaml rename to infrastructure/base/kube-system/poddisruptionbudget.yaml diff --git a/infrastructure/kube-system/quorum.yaml b/infrastructure/base/kube-system/quorum.yaml similarity index 100% rename from infrastructure/kube-system/quorum.yaml rename to infrastructure/base/kube-system/quorum.yaml diff --git a/infrastructure/kube-system/snapshot-controller.yaml b/infrastructure/base/kube-system/snapshot-controller.yaml similarity index 100% rename from infrastructure/kube-system/snapshot-controller.yaml rename to infrastructure/base/kube-system/snapshot-controller.yaml diff --git a/infrastructure/longhorn/README.md b/infrastructure/base/longhorn/README.md similarity index 100% rename from infrastructure/longhorn/README.md rename to infrastructure/base/longhorn/README.md diff --git a/infrastructure/longhorn/dashboards/longhorn.json b/infrastructure/base/longhorn/dashboards/longhorn.json similarity index 100% rename from infrastructure/longhorn/dashboards/longhorn.json rename to infrastructure/base/longhorn/dashboards/longhorn.json diff --git a/infrastructure/longhorn/hotfix-7183.yaml b/infrastructure/base/longhorn/hotfix-7183.yaml similarity index 100% rename from infrastructure/longhorn/hotfix-7183.yaml rename to infrastructure/base/longhorn/hotfix-7183.yaml diff --git a/infrastructure/longhorn/kustomization.yaml b/infrastructure/base/longhorn/kustomization.yaml similarity index 100% rename from infrastructure/longhorn/kustomization.yaml rename to infrastructure/base/longhorn/kustomization.yaml diff --git a/infrastructure/longhorn/monitoring.yaml b/infrastructure/base/longhorn/monitoring.yaml similarity index 100% rename from infrastructure/longhorn/monitoring.yaml rename to infrastructure/base/longhorn/monitoring.yaml diff --git a/infrastructure/longhorn/namespace.yaml b/infrastructure/base/longhorn/namespace.yaml similarity index 100% rename from infrastructure/longhorn/namespace.yaml rename to infrastructure/base/longhorn/namespace.yaml diff --git a/infrastructure/longhorn/networkpolicy.yaml b/infrastructure/base/longhorn/networkpolicy.yaml similarity index 100% rename from infrastructure/longhorn/networkpolicy.yaml rename to infrastructure/base/longhorn/networkpolicy.yaml diff --git a/infrastructure/longhorn/release.yaml b/infrastructure/base/longhorn/release.yaml similarity index 100% rename from infrastructure/longhorn/release.yaml rename to infrastructure/base/longhorn/release.yaml diff --git a/infrastructure/longhorn/repository.yaml b/infrastructure/base/longhorn/repository.yaml similarity index 100% rename from infrastructure/longhorn/repository.yaml rename to infrastructure/base/longhorn/repository.yaml diff --git a/infrastructure/longhorn/snapshot.yaml b/infrastructure/base/longhorn/snapshot.yaml similarity index 100% rename from infrastructure/longhorn/snapshot.yaml rename to infrastructure/base/longhorn/snapshot.yaml diff --git a/infrastructure/metallb/README.md b/infrastructure/base/metallb/README.md similarity index 100% rename from infrastructure/metallb/README.md rename to infrastructure/base/metallb/README.md diff --git a/infrastructure/metallb/dashboards/metallb.json b/infrastructure/base/metallb/dashboards/metallb.json similarity index 100% rename from infrastructure/metallb/dashboards/metallb.json rename to infrastructure/base/metallb/dashboards/metallb.json diff --git a/infrastructure/metallb/kustomization.yaml b/infrastructure/base/metallb/kustomization.yaml similarity index 100% rename from infrastructure/metallb/kustomization.yaml rename to infrastructure/base/metallb/kustomization.yaml diff --git a/infrastructure/metallb/namespace.yaml b/infrastructure/base/metallb/namespace.yaml similarity index 100% rename from infrastructure/metallb/namespace.yaml rename to infrastructure/base/metallb/namespace.yaml diff --git a/infrastructure/metallb/networkpolicy.yaml b/infrastructure/base/metallb/networkpolicy.yaml similarity index 100% rename from infrastructure/metallb/networkpolicy.yaml rename to infrastructure/base/metallb/networkpolicy.yaml diff --git a/infrastructure/metallb/release.yaml b/infrastructure/base/metallb/release.yaml similarity index 100% rename from infrastructure/metallb/release.yaml rename to infrastructure/base/metallb/release.yaml diff --git a/infrastructure/metallb/repository.yaml b/infrastructure/base/metallb/repository.yaml similarity index 100% rename from infrastructure/metallb/repository.yaml rename to infrastructure/base/metallb/repository.yaml diff --git a/infrastructure/monitoring/README.md b/infrastructure/base/monitoring/README.md similarity index 100% rename from infrastructure/monitoring/README.md rename to infrastructure/base/monitoring/README.md diff --git a/infrastructure/monitoring/calico-networkpolicy.yaml b/infrastructure/base/monitoring/calico-networkpolicy.yaml similarity index 100% rename from infrastructure/monitoring/calico-networkpolicy.yaml rename to infrastructure/base/monitoring/calico-networkpolicy.yaml diff --git a/infrastructure/monitoring/dashboards/cluster-cpu-check.json b/infrastructure/base/monitoring/dashboards/cluster-cpu-check.json similarity index 100% rename from infrastructure/monitoring/dashboards/cluster-cpu-check.json rename to infrastructure/base/monitoring/dashboards/cluster-cpu-check.json diff --git a/infrastructure/monitoring/dashboards/kubernetes-persistent-volumes-cluster.json b/infrastructure/base/monitoring/dashboards/kubernetes-persistent-volumes-cluster.json similarity index 100% rename from infrastructure/monitoring/dashboards/kubernetes-persistent-volumes-cluster.json rename to infrastructure/base/monitoring/dashboards/kubernetes-persistent-volumes-cluster.json diff --git a/infrastructure/monitoring/dashboards/sloth-details.json b/infrastructure/base/monitoring/dashboards/sloth-details.json similarity index 100% rename from infrastructure/monitoring/dashboards/sloth-details.json rename to infrastructure/base/monitoring/dashboards/sloth-details.json diff --git a/infrastructure/monitoring/dashboards/sloth-high-level.json b/infrastructure/base/monitoring/dashboards/sloth-high-level.json similarity index 100% rename from infrastructure/monitoring/dashboards/sloth-high-level.json rename to infrastructure/base/monitoring/dashboards/sloth-high-level.json diff --git a/infrastructure/monitoring/json-exporter-monitor.yaml b/infrastructure/base/monitoring/json-exporter-monitor.yaml similarity index 100% rename from infrastructure/monitoring/json-exporter-monitor.yaml rename to infrastructure/base/monitoring/json-exporter-monitor.yaml diff --git a/infrastructure/monitoring/kustomization.yaml b/infrastructure/base/monitoring/kustomization.yaml similarity index 100% rename from infrastructure/monitoring/kustomization.yaml rename to infrastructure/base/monitoring/kustomization.yaml diff --git a/infrastructure/monitoring/namespace.yaml b/infrastructure/base/monitoring/namespace.yaml similarity index 100% rename from infrastructure/monitoring/namespace.yaml rename to infrastructure/base/monitoring/namespace.yaml diff --git a/infrastructure/monitoring/networkpolicy.yaml b/infrastructure/base/monitoring/networkpolicy.yaml similarity index 100% rename from infrastructure/monitoring/networkpolicy.yaml rename to infrastructure/base/monitoring/networkpolicy.yaml diff --git a/infrastructure/monitoring/release.yaml b/infrastructure/base/monitoring/release.yaml similarity index 100% rename from infrastructure/monitoring/release.yaml rename to infrastructure/base/monitoring/release.yaml diff --git a/infrastructure/monitoring/repository.yaml b/infrastructure/base/monitoring/repository.yaml similarity index 100% rename from infrastructure/monitoring/repository.yaml rename to infrastructure/base/monitoring/repository.yaml diff --git a/infrastructure/monitoring/sloth.yaml b/infrastructure/base/monitoring/sloth.yaml similarity index 100% rename from infrastructure/monitoring/sloth.yaml rename to infrastructure/base/monitoring/sloth.yaml diff --git a/infrastructure/nginx-system/README.md b/infrastructure/base/nginx-system/README.md similarity index 100% rename from infrastructure/nginx-system/README.md rename to infrastructure/base/nginx-system/README.md diff --git a/infrastructure/nginx-system/base-config.yaml b/infrastructure/base/nginx-system/base-config.yaml similarity index 100% rename from infrastructure/nginx-system/base-config.yaml rename to infrastructure/base/nginx-system/base-config.yaml diff --git a/infrastructure/nginx-system/dashboards/nginx.json b/infrastructure/base/nginx-system/dashboards/nginx.json similarity index 100% rename from infrastructure/nginx-system/dashboards/nginx.json rename to infrastructure/base/nginx-system/dashboards/nginx.json diff --git a/infrastructure/nginx-system/external.yaml b/infrastructure/base/nginx-system/external.yaml similarity index 100% rename from infrastructure/nginx-system/external.yaml rename to infrastructure/base/nginx-system/external.yaml diff --git a/infrastructure/nginx-system/internal.yaml b/infrastructure/base/nginx-system/internal.yaml similarity index 100% rename from infrastructure/nginx-system/internal.yaml rename to infrastructure/base/nginx-system/internal.yaml diff --git a/infrastructure/nginx-system/kustomization.yaml b/infrastructure/base/nginx-system/kustomization.yaml similarity index 100% rename from infrastructure/nginx-system/kustomization.yaml rename to infrastructure/base/nginx-system/kustomization.yaml diff --git a/infrastructure/nginx-system/namespace.yaml b/infrastructure/base/nginx-system/namespace.yaml similarity index 100% rename from infrastructure/nginx-system/namespace.yaml rename to infrastructure/base/nginx-system/namespace.yaml diff --git a/infrastructure/nginx-system/repository.yaml b/infrastructure/base/nginx-system/repository.yaml similarity index 100% rename from infrastructure/nginx-system/repository.yaml rename to infrastructure/base/nginx-system/repository.yaml diff --git a/infrastructure/node-features/README.md b/infrastructure/base/node-features/README.md similarity index 100% rename from infrastructure/node-features/README.md rename to infrastructure/base/node-features/README.md diff --git a/infrastructure/node-features/kustomization.yaml b/infrastructure/base/node-features/kustomization.yaml similarity index 100% rename from infrastructure/node-features/kustomization.yaml rename to infrastructure/base/node-features/kustomization.yaml diff --git a/infrastructure/node-features/namespace.yaml b/infrastructure/base/node-features/namespace.yaml similarity index 100% rename from infrastructure/node-features/namespace.yaml rename to infrastructure/base/node-features/namespace.yaml diff --git a/infrastructure/node-features/release.yaml b/infrastructure/base/node-features/release.yaml similarity index 100% rename from infrastructure/node-features/release.yaml rename to infrastructure/base/node-features/release.yaml diff --git a/infrastructure/node-features/repository.yaml b/infrastructure/base/node-features/repository.yaml similarity index 100% rename from infrastructure/node-features/repository.yaml rename to infrastructure/base/node-features/repository.yaml diff --git a/infrastructure/postgres/dashboards/postgresql-database.json b/infrastructure/base/postgres/dashboards/postgresql-database.json similarity index 100% rename from infrastructure/postgres/dashboards/postgresql-database.json rename to infrastructure/base/postgres/dashboards/postgresql-database.json diff --git a/infrastructure/postgres/kustomization.yaml b/infrastructure/base/postgres/kustomization.yaml similarity index 100% rename from infrastructure/postgres/kustomization.yaml rename to infrastructure/base/postgres/kustomization.yaml diff --git a/infrastructure/postgres/namespace.yaml b/infrastructure/base/postgres/namespace.yaml similarity index 100% rename from infrastructure/postgres/namespace.yaml rename to infrastructure/base/postgres/namespace.yaml diff --git a/infrastructure/postgres/podmonitor.yaml b/infrastructure/base/postgres/podmonitor.yaml similarity index 100% rename from infrastructure/postgres/podmonitor.yaml rename to infrastructure/base/postgres/podmonitor.yaml diff --git a/infrastructure/postgres/prometheusrules.yaml b/infrastructure/base/postgres/prometheusrules.yaml similarity index 100% rename from infrastructure/postgres/prometheusrules.yaml rename to infrastructure/base/postgres/prometheusrules.yaml diff --git a/infrastructure/postgres/release.yaml b/infrastructure/base/postgres/release.yaml similarity index 100% rename from infrastructure/postgres/release.yaml rename to infrastructure/base/postgres/release.yaml diff --git a/infrastructure/postgres/repository.yaml b/infrastructure/base/postgres/repository.yaml similarity index 100% rename from infrastructure/postgres/repository.yaml rename to infrastructure/base/postgres/repository.yaml diff --git a/infrastructure/redis/dashboards/redis-operator.json b/infrastructure/base/redis/dashboards/redis-operator.json similarity index 100% rename from infrastructure/redis/dashboards/redis-operator.json rename to infrastructure/base/redis/dashboards/redis-operator.json diff --git a/infrastructure/redis/kustomization.yaml b/infrastructure/base/redis/kustomization.yaml similarity index 100% rename from infrastructure/redis/kustomization.yaml rename to infrastructure/base/redis/kustomization.yaml diff --git a/infrastructure/redis/namespace.yaml b/infrastructure/base/redis/namespace.yaml similarity index 100% rename from infrastructure/redis/namespace.yaml rename to infrastructure/base/redis/namespace.yaml diff --git a/infrastructure/redis/release.yaml b/infrastructure/base/redis/release.yaml similarity index 100% rename from infrastructure/redis/release.yaml rename to infrastructure/base/redis/release.yaml diff --git a/infrastructure/redis/repository.yaml b/infrastructure/base/redis/repository.yaml similarity index 100% rename from infrastructure/redis/repository.yaml rename to infrastructure/base/redis/repository.yaml diff --git a/infrastructure/system-upgrades/README.md b/infrastructure/base/system-upgrades/README.md similarity index 100% rename from infrastructure/system-upgrades/README.md rename to infrastructure/base/system-upgrades/README.md diff --git a/infrastructure/system-upgrades/calver-server.yaml b/infrastructure/base/system-upgrades/calver-server.yaml similarity index 100% rename from infrastructure/system-upgrades/calver-server.yaml rename to infrastructure/base/system-upgrades/calver-server.yaml diff --git a/infrastructure/system-upgrades/fedora.yaml b/infrastructure/base/system-upgrades/fedora/fedora-autoupdate.yaml similarity index 87% rename from infrastructure/system-upgrades/fedora.yaml rename to infrastructure/base/system-upgrades/fedora/fedora-autoupdate.yaml index a608a9eae..948dc486d 100644 --- a/infrastructure/system-upgrades/fedora.yaml +++ b/infrastructure/base/system-upgrades/fedora/fedora-autoupdate.yaml @@ -35,12 +35,6 @@ spec: operator: In values: - "true" - - key: feature.node.kubernetes.io/system-os_release.VERSION_ID.major - operator: In - values: - - "37" - - "38" - - "39" serviceAccountName: system-upgrade-executer secrets: - name: fedora-dnf-upgrade diff --git a/infrastructure/system-upgrades/fedora-system-upgrade.yaml b/infrastructure/base/system-upgrades/fedora/fedora-system-upgrade.yaml similarity index 100% rename from infrastructure/system-upgrades/fedora-system-upgrade.yaml rename to infrastructure/base/system-upgrades/fedora/fedora-system-upgrade.yaml diff --git a/infrastructure/system-upgrades/fedora-temperature-management.yaml b/infrastructure/base/system-upgrades/fedora/fedora-temperature-management.yaml similarity index 100% rename from infrastructure/system-upgrades/fedora-temperature-management.yaml rename to infrastructure/base/system-upgrades/fedora/fedora-temperature-management.yaml diff --git a/infrastructure/base/system-upgrades/fedora/kustomization.yaml b/infrastructure/base/system-upgrades/fedora/kustomization.yaml new file mode 100644 index 000000000..d3f32a1a6 --- /dev/null +++ b/infrastructure/base/system-upgrades/fedora/kustomization.yaml @@ -0,0 +1,7 @@ +apiVersion: kustomize.config.k8s.io/v1alpha1 +kind: Component + +resources: + - fedora-autoupdate.yaml + - fedora-system-upgrade.yaml + - fedora-temperature-management.yaml \ No newline at end of file diff --git a/infrastructure/system-upgrades/kubelet.yaml b/infrastructure/base/system-upgrades/kubelet.yaml similarity index 100% rename from infrastructure/system-upgrades/kubelet.yaml rename to infrastructure/base/system-upgrades/kubelet.yaml diff --git a/infrastructure/system-upgrades/kubernetes.yaml b/infrastructure/base/system-upgrades/kubernetes.yaml similarity index 100% rename from infrastructure/system-upgrades/kubernetes.yaml rename to infrastructure/base/system-upgrades/kubernetes.yaml diff --git a/infrastructure/system-upgrades/kured.yaml b/infrastructure/base/system-upgrades/kured.yaml similarity index 100% rename from infrastructure/system-upgrades/kured.yaml rename to infrastructure/base/system-upgrades/kured.yaml diff --git a/infrastructure/system-upgrades/kustomization.yaml b/infrastructure/base/system-upgrades/kustomization.yaml similarity index 59% rename from infrastructure/system-upgrades/kustomization.yaml rename to infrastructure/base/system-upgrades/kustomization.yaml index 0c1ba4a7f..e693c8c02 100644 --- a/infrastructure/system-upgrades/kustomization.yaml +++ b/infrastructure/base/system-upgrades/kustomization.yaml @@ -4,11 +4,12 @@ namespace: system-upgrade resources: - calver-server.yaml - kured.yaml - - fedora.yaml + - fedora-autoupdate.yaml - kubernetes.yaml - kubelet.yaml - longhorn-lvm.yaml - longhorn-setup.yaml - - fedora-temperature-management.yaml - - fedora-system-upgrade.yaml - - ../../shared/networkpolicies/allow-from-same-namespace.yaml \ No newline at end of file + - ../../shared/networkpolicies/allow-from-same-namespace.yaml + +components: + - fedora \ No newline at end of file diff --git a/infrastructure/system-upgrades/longhorn-lvm.yaml b/infrastructure/base/system-upgrades/longhorn-lvm.yaml similarity index 100% rename from infrastructure/system-upgrades/longhorn-lvm.yaml rename to infrastructure/base/system-upgrades/longhorn-lvm.yaml diff --git a/infrastructure/system-upgrades/longhorn-setup.yaml b/infrastructure/base/system-upgrades/longhorn-setup.yaml similarity index 100% rename from infrastructure/system-upgrades/longhorn-setup.yaml rename to infrastructure/base/system-upgrades/longhorn-setup.yaml diff --git a/infrastructure/vpa/admissioncontroller-patch.yaml b/infrastructure/base/vpa/admissioncontroller-patch.yaml similarity index 100% rename from infrastructure/vpa/admissioncontroller-patch.yaml rename to infrastructure/base/vpa/admissioncontroller-patch.yaml diff --git a/infrastructure/vpa/certificate.yaml b/infrastructure/base/vpa/certificate.yaml similarity index 100% rename from infrastructure/vpa/certificate.yaml rename to infrastructure/base/vpa/certificate.yaml diff --git a/infrastructure/vpa/deployment-patch.yaml b/infrastructure/base/vpa/deployment-patch.yaml similarity index 100% rename from infrastructure/vpa/deployment-patch.yaml rename to infrastructure/base/vpa/deployment-patch.yaml diff --git a/infrastructure/vpa/kustomization.yaml b/infrastructure/base/vpa/kustomization.yaml similarity index 100% rename from infrastructure/vpa/kustomization.yaml rename to infrastructure/base/vpa/kustomization.yaml diff --git a/infrastructure/vpa/namespace.yaml b/infrastructure/base/vpa/namespace.yaml similarity index 100% rename from infrastructure/vpa/namespace.yaml rename to infrastructure/base/vpa/namespace.yaml diff --git a/infrastructure/k8s01/kustomization.yaml b/infrastructure/k8s01/kustomization.yaml new file mode 100644 index 000000000..efca821c8 --- /dev/null +++ b/infrastructure/k8s01/kustomization.yaml @@ -0,0 +1,18 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - ../base/kube-system + - ../base/node-features + - ../base/drivers + - ../base/system-upgrades + - ../base/firewall + - ../base/metallb + - ../base/cert-manager + - ../base/nginx-system + - ../base/longhorn + - ../base/monitoring + - ../base/flux-system + - ../base/postgres + - ../base/redis + - ../base/dashboard + - ../base/vpa diff --git a/infrastructure/kustomization.yaml b/infrastructure/kustomization.yaml deleted file mode 100644 index 90de65edb..000000000 --- a/infrastructure/kustomization.yaml +++ /dev/null @@ -1,18 +0,0 @@ -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -resources: - - kube-system - - node-features - - drivers - - system-upgrades - - firewall - - metallb - - cert-manager - - nginx-system - - longhorn - - monitoring - - flux-system - - postgres - - redis - - dashboard - - vpa diff --git a/infrastructure/system-upgrades/disable-syslog.yaml b/infrastructure/system-upgrades/disable-syslog.yaml deleted file mode 100644 index 1abfcae8f..000000000 --- a/infrastructure/system-upgrades/disable-syslog.yaml +++ /dev/null @@ -1,43 +0,0 @@ ---- -apiVersion: v1 -kind: Secret -metadata: - name: disable-syslog - namespace: system-upgrade -type: Opaque -stringData: - upgrade.sh: | - #!/bin/sh - set -e - set -x - secrets="$(dirname $0)" - systemctl mask rsyslog.service - systemctl stop rsyslog.service ---- -apiVersion: upgrade.cattle.io/v1 -kind: Plan -metadata: - name: disable-syslog - namespace: system-upgrade -spec: - concurrency: 1 - nodeSelector: - matchExpressions: - - key: feature.node.kubernetes.io/system-os_release.ID - operator: In - values: - - "fedora" - - key: feature.node.kubernetes.io/system-os_release.VERSION_ID.major - operator: In - values: - - "36" - - "37" - serviceAccountName: system-upgrade-executer - secrets: - - name: disable-syslog - path: /host/run/system-upgrade/secrets/disable-syslog - version: "1.0.0" - upgrade: - image: quay.io/fedora/fedora:39 - command: ["chroot", "/host"] - args: ["sh", "/run/system-upgrade/secrets/disable-syslog/upgrade.sh"] -- GitLab