From 49b21cde52df9b40f35cf1a25b7c03c54c4c667c Mon Sep 17 00:00:00 2001
From: Remy Moll <me@moll.re>
Date: Sun, 31 Mar 2024 19:37:18 +0200
Subject: [PATCH] proper backup config

---
 .../{base => cronjobs-base}/cronjob.yaml       |  0
 .../{base => cronjobs-base}/kustomization.yaml |  0
 .../applying.md                                |  0
 .../backup/kustomization.yaml                  |  2 +-
 .../backup/restic-commands.yaml                |  0
 .../prune/kustomization.yaml                   |  2 +-
 .../prune/restic-commands.yaml                 |  0
 .../backup/{common => }/kustomization.yaml     | 12 ++++++++++--
 infrastructure/backup/namespace.yaml           |  4 ++++
 infrastructure/backup/{common => }/pvc.yaml    |  0
 .../rclone-config.sealedsecret.yaml            |  0
 .../restic-password.sealedsecret.yaml          |  0
 ...ommon.application.yaml => application.yaml} |  4 ++--
 .../backup/backup.application.yaml             | 18 ------------------
 kluster-deployments/backup/kustomization.yaml  |  5 +----
 .../backup/postgres.backup.application.yaml    | 18 ------------------
 .../backup/prune.application.yaml              | 18 ------------------
 17 files changed, 19 insertions(+), 64 deletions(-)
 rename infrastructure/backup/{base => cronjobs-base}/cronjob.yaml (100%)
 rename infrastructure/backup/{base => cronjobs-base}/kustomization.yaml (100%)
 rename infrastructure/backup/{overlays => cronjobs-overlays}/applying.md (100%)
 rename infrastructure/backup/{overlays => cronjobs-overlays}/backup/kustomization.yaml (95%)
 rename infrastructure/backup/{overlays => cronjobs-overlays}/backup/restic-commands.yaml (100%)
 rename infrastructure/backup/{overlays => cronjobs-overlays}/prune/kustomization.yaml (94%)
 rename infrastructure/backup/{overlays => cronjobs-overlays}/prune/restic-commands.yaml (100%)
 rename infrastructure/backup/{common => }/kustomization.yaml (50%)
 create mode 100644 infrastructure/backup/namespace.yaml
 rename infrastructure/backup/{common => }/pvc.yaml (100%)
 rename infrastructure/backup/{common => }/rclone-config.sealedsecret.yaml (100%)
 rename infrastructure/backup/{common => }/restic-password.sealedsecret.yaml (100%)
 rename kluster-deployments/backup/{common.application.yaml => application.yaml} (83%)
 delete mode 100644 kluster-deployments/backup/backup.application.yaml
 delete mode 100644 kluster-deployments/backup/postgres.backup.application.yaml
 delete mode 100644 kluster-deployments/backup/prune.application.yaml

diff --git a/infrastructure/backup/base/cronjob.yaml b/infrastructure/backup/cronjobs-base/cronjob.yaml
similarity index 100%
rename from infrastructure/backup/base/cronjob.yaml
rename to infrastructure/backup/cronjobs-base/cronjob.yaml
diff --git a/infrastructure/backup/base/kustomization.yaml b/infrastructure/backup/cronjobs-base/kustomization.yaml
similarity index 100%
rename from infrastructure/backup/base/kustomization.yaml
rename to infrastructure/backup/cronjobs-base/kustomization.yaml
diff --git a/infrastructure/backup/overlays/applying.md b/infrastructure/backup/cronjobs-overlays/applying.md
similarity index 100%
rename from infrastructure/backup/overlays/applying.md
rename to infrastructure/backup/cronjobs-overlays/applying.md
diff --git a/infrastructure/backup/overlays/backup/kustomization.yaml b/infrastructure/backup/cronjobs-overlays/backup/kustomization.yaml
similarity index 95%
rename from infrastructure/backup/overlays/backup/kustomization.yaml
rename to infrastructure/backup/cronjobs-overlays/backup/kustomization.yaml
index 64d3fcc..25708b0 100644
--- a/infrastructure/backup/overlays/backup/kustomization.yaml
+++ b/infrastructure/backup/cronjobs-overlays/backup/kustomization.yaml
@@ -4,7 +4,7 @@ kind: Kustomization
 namespace: backup
 # nameSuffix: -backup
 resources:
-  - ../../base
+  - ../../cronjobs-base
   # - ./restic-commands.yaml
 
 
diff --git a/infrastructure/backup/overlays/backup/restic-commands.yaml b/infrastructure/backup/cronjobs-overlays/backup/restic-commands.yaml
similarity index 100%
rename from infrastructure/backup/overlays/backup/restic-commands.yaml
rename to infrastructure/backup/cronjobs-overlays/backup/restic-commands.yaml
diff --git a/infrastructure/backup/overlays/prune/kustomization.yaml b/infrastructure/backup/cronjobs-overlays/prune/kustomization.yaml
similarity index 94%
rename from infrastructure/backup/overlays/prune/kustomization.yaml
rename to infrastructure/backup/cronjobs-overlays/prune/kustomization.yaml
index 4f3afb5..db7d8bf 100644
--- a/infrastructure/backup/overlays/prune/kustomization.yaml
+++ b/infrastructure/backup/cronjobs-overlays/prune/kustomization.yaml
@@ -3,7 +3,7 @@ kind: Kustomization
 
 namespace: backup
 resources:
-  - ../../base
+  - ../../cronjobs-base
 
 
 # patch the cronjob args field:
diff --git a/infrastructure/backup/overlays/prune/restic-commands.yaml b/infrastructure/backup/cronjobs-overlays/prune/restic-commands.yaml
similarity index 100%
rename from infrastructure/backup/overlays/prune/restic-commands.yaml
rename to infrastructure/backup/cronjobs-overlays/prune/restic-commands.yaml
diff --git a/infrastructure/backup/common/kustomization.yaml b/infrastructure/backup/kustomization.yaml
similarity index 50%
rename from infrastructure/backup/common/kustomization.yaml
rename to infrastructure/backup/kustomization.yaml
index 74e6078..e0275ee 100644
--- a/infrastructure/backup/common/kustomization.yaml
+++ b/infrastructure/backup/kustomization.yaml
@@ -1,6 +1,14 @@
 apiVersion: kustomize.config.k8s.io/v1beta1
+
 kind: Kustomization
+
+namespace: backup
+
 resources:
-  - rclone-config.sealedsecret.yaml
+  - namespace.yaml
+  - pvc.yaml
   - restic-password.sealedsecret.yaml
-  - pvc.yaml
\ No newline at end of file
+  - rclone-config.sealedsecret.yaml
+  - rclone-gcloud.deployment.yaml
+  - cronjobs-overlays/prune/
+  - cronjobs-overlays/backup/
diff --git a/infrastructure/backup/namespace.yaml b/infrastructure/backup/namespace.yaml
new file mode 100644
index 0000000..3900a62
--- /dev/null
+++ b/infrastructure/backup/namespace.yaml
@@ -0,0 +1,4 @@
+apiVersion: v1
+kind: Namespace
+metadata:
+  name: placeholder
\ No newline at end of file
diff --git a/infrastructure/backup/common/pvc.yaml b/infrastructure/backup/pvc.yaml
similarity index 100%
rename from infrastructure/backup/common/pvc.yaml
rename to infrastructure/backup/pvc.yaml
diff --git a/infrastructure/backup/common/rclone-config.sealedsecret.yaml b/infrastructure/backup/rclone-config.sealedsecret.yaml
similarity index 100%
rename from infrastructure/backup/common/rclone-config.sealedsecret.yaml
rename to infrastructure/backup/rclone-config.sealedsecret.yaml
diff --git a/infrastructure/backup/common/restic-password.sealedsecret.yaml b/infrastructure/backup/restic-password.sealedsecret.yaml
similarity index 100%
rename from infrastructure/backup/common/restic-password.sealedsecret.yaml
rename to infrastructure/backup/restic-password.sealedsecret.yaml
diff --git a/kluster-deployments/backup/common.application.yaml b/kluster-deployments/backup/application.yaml
similarity index 83%
rename from kluster-deployments/backup/common.application.yaml
rename to kluster-deployments/backup/application.yaml
index 9f97acf..b728939 100644
--- a/kluster-deployments/backup/common.application.yaml
+++ b/kluster-deployments/backup/application.yaml
@@ -1,14 +1,14 @@
 apiVersion: argoproj.io/v1alpha1
 kind: Application
 metadata:
-  name: restic-commons-application
+  name: backup-application
   namespace: argocd
 spec:
   project: infrastructure
   source:
     repoURL: ssh://git@git.kluster.moll.re:2222/remoll/k3s-infra.git
     targetRevision: main
-    path: infrastructure/backup/common
+    path: infrastructure/backup/
   destination:
     server: https://kubernetes.default.svc
     namespace: backup
diff --git a/kluster-deployments/backup/backup.application.yaml b/kluster-deployments/backup/backup.application.yaml
deleted file mode 100644
index 9ceae31..0000000
--- a/kluster-deployments/backup/backup.application.yaml
+++ /dev/null
@@ -1,18 +0,0 @@
-apiVersion: argoproj.io/v1alpha1
-kind: Application
-metadata:
-  name: restic-backup-application
-  namespace: argocd
-spec:
-  project: infrastructure
-  source:
-    repoURL: ssh://git@git.kluster.moll.re:2222/remoll/k3s-infra.git
-    targetRevision: main
-    path: infrastructure/backup/overlays/backup
-  destination:
-    server: https://kubernetes.default.svc
-    namespace: backup
-  syncPolicy:
-    automated:
-      prune: true
-      selfHeal: true
\ No newline at end of file
diff --git a/kluster-deployments/backup/kustomization.yaml b/kluster-deployments/backup/kustomization.yaml
index ee77eda..977dcfe 100644
--- a/kluster-deployments/backup/kustomization.yaml
+++ b/kluster-deployments/backup/kustomization.yaml
@@ -1,7 +1,4 @@
 apiVersion: kustomize.config.k8s.io/v1beta1
 kind: Kustomization
 resources:
-  - common.application.yaml
-  - backup.application.yaml
-  - prune.application.yaml
-  - postgres.backup.application.yaml
+  - application.yaml
diff --git a/kluster-deployments/backup/postgres.backup.application.yaml b/kluster-deployments/backup/postgres.backup.application.yaml
deleted file mode 100644
index b9cf2ab..0000000
--- a/kluster-deployments/backup/postgres.backup.application.yaml
+++ /dev/null
@@ -1,18 +0,0 @@
-apiVersion: argoproj.io/v1alpha1
-kind: Application
-metadata:
-  name: postgres-backup-application
-  namespace: argocd
-spec:
-  project: infrastructure
-  source:
-    repoURL: ssh://git@git.kluster.moll.re:2222/remoll/k3s-infra.git
-    targetRevision: main
-    path: infrastructure/backup/postgres
-  destination:
-    server: https://kubernetes.default.svc
-    namespace: backup
-  syncPolicy:
-    automated:
-      prune: true
-      selfHeal: true
\ No newline at end of file
diff --git a/kluster-deployments/backup/prune.application.yaml b/kluster-deployments/backup/prune.application.yaml
deleted file mode 100644
index 3be18ca..0000000
--- a/kluster-deployments/backup/prune.application.yaml
+++ /dev/null
@@ -1,18 +0,0 @@
-apiVersion: argoproj.io/v1alpha1
-kind: Application
-metadata:
-  name: restic-prune-application
-  namespace: argocd
-spec:
-  project: infrastructure
-  source:
-    repoURL: ssh://git@git.kluster.moll.re:2222/remoll/k3s-infra.git
-    targetRevision: main
-    path: infrastructure/backup/overlays/prune
-  destination:
-    server: https://kubernetes.default.svc
-    namespace: backup
-  syncPolicy:
-    automated:
-      prune: true
-      selfHeal: true
\ No newline at end of file