From dc0f50266ab7e81cd3e200cb46fe38a11e80f3b6 Mon Sep 17 00:00:00 2001
From: Sheogorath <sheogorath@shivering-isles.com>
Date: Sun, 7 Jan 2024 02:32:47 +0100
Subject: [PATCH] feat(kube-system): Add snapshot-controller

---
 .../kube-system/snapshot-controller-crds.yaml | 31 +++++++++++++++++++
 bootstrap/kustomization.yaml                  |  5 ---
 infrastructure/kube-system/kustomization.yaml |  1 +
 .../kube-system/snapshot-controller.yaml      | 16 ++++++++++
 4 files changed, 48 insertions(+), 5 deletions(-)
 create mode 100644 bootstrap/kube-system/snapshot-controller-crds.yaml
 delete mode 100644 bootstrap/kustomization.yaml
 create mode 100644 infrastructure/kube-system/snapshot-controller.yaml

diff --git a/bootstrap/kube-system/snapshot-controller-crds.yaml b/bootstrap/kube-system/snapshot-controller-crds.yaml
new file mode 100644
index 000000000..0f70a13a3
--- /dev/null
+++ b/bootstrap/kube-system/snapshot-controller-crds.yaml
@@ -0,0 +1,31 @@
+---
+apiVersion: source.toolkit.fluxcd.io/v1beta1
+kind: GitRepository
+metadata:
+  name: external-snapshotter
+  namespace: kube-system
+spec:
+  interval: 24h
+  ref:
+    tag: v6.2.1
+  url: https://github.com/kubernetes-csi/external-snapshotter.git
+  ignore: |
+    # exclude all
+    /*
+    # Only pull the relevant manifests
+    !/deploy/kubernetes/snapshot-controller
+    !/client/config/crd
+---
+apiVersion: kustomize.toolkit.fluxcd.io/v1beta2
+kind: Kustomization
+metadata:
+  name: external-snapshotter-crd
+  namespace: kube-system
+spec:
+  interval: 10m0s
+  path: ./client/config/crd
+  prune: true
+  sourceRef:
+    kind: GitRepository
+    name: external-snapshotter
+    namespace: kube-system
\ No newline at end of file
diff --git a/bootstrap/kustomization.yaml b/bootstrap/kustomization.yaml
deleted file mode 100644
index 0e7ca24a2..000000000
--- a/bootstrap/kustomization.yaml
+++ /dev/null
@@ -1,5 +0,0 @@
-apiVersion: kustomize.config.k8s.io/v1beta1
-kind: Kustomization
-resources:
-  - calico
-  - system-upgrades
diff --git a/infrastructure/kube-system/kustomization.yaml b/infrastructure/kube-system/kustomization.yaml
index bc66966b3..6032f0c6f 100644
--- a/infrastructure/kube-system/kustomization.yaml
+++ b/infrastructure/kube-system/kustomization.yaml
@@ -6,4 +6,5 @@ resources:
   - quorum.yaml
   - descheduler.yaml
   - metrics-server.yaml
+  - snapshot-controller.yaml
   - ../../shared/networkpolicies/allow-from-all-namespaces.yaml
diff --git a/infrastructure/kube-system/snapshot-controller.yaml b/infrastructure/kube-system/snapshot-controller.yaml
new file mode 100644
index 000000000..dd74edf05
--- /dev/null
+++ b/infrastructure/kube-system/snapshot-controller.yaml
@@ -0,0 +1,16 @@
+---
+apiVersion: kustomize.toolkit.fluxcd.io/v1beta2
+kind: Kustomization
+metadata:
+  name: external-snapshotter
+  namespace: kube-system
+spec:
+  interval: 10m0s
+  path: ./deploy/kubernetes/snapshot-controller
+  prune: true
+  sourceRef:
+    kind: GitRepository
+    name: external-snapshotter
+    namespace: kube-system
+  dependsOn:
+    - name: external-snapshotter-crd
-- 
GitLab