From 1126521fdb1a592f3f50346fcfaf0fdd0629b5fb Mon Sep 17 00:00:00 2001 From: Joseph Hanson Date: Tue, 28 Nov 2023 00:20:47 -0600 Subject: [PATCH] Adding snapshot controller --- kubernetes/apps/system/kustomization.yaml | 1 + .../snapshot-controller/app/helmrelease.yaml | 31 +++++++++++++++++++ .../app/kustomization.yaml | 7 +++++ .../system/snapshot-controller/app/pki.yaml | 17 ++++++++++ .../apps/system/snapshot-controller/ks.yaml | 22 +++++++++++++ 5 files changed, 78 insertions(+) create mode 100644 kubernetes/apps/system/snapshot-controller/app/helmrelease.yaml create mode 100644 kubernetes/apps/system/snapshot-controller/app/kustomization.yaml create mode 100644 kubernetes/apps/system/snapshot-controller/app/pki.yaml create mode 100644 kubernetes/apps/system/snapshot-controller/ks.yaml diff --git a/kubernetes/apps/system/kustomization.yaml b/kubernetes/apps/system/kustomization.yaml index 5865ebb..51ed971 100644 --- a/kubernetes/apps/system/kustomization.yaml +++ b/kubernetes/apps/system/kustomization.yaml @@ -7,5 +7,6 @@ resources: - ./namespace.yaml # Flux-Kustomizations - ./democratic-csi/ks.yaml + - ./snapshot-controller/ks.yaml - ./reloader/ks.yaml - ./kubelet-csr-approver/ks.yaml diff --git a/kubernetes/apps/system/snapshot-controller/app/helmrelease.yaml b/kubernetes/apps/system/snapshot-controller/app/helmrelease.yaml new file mode 100644 index 0000000..4bb4509 --- /dev/null +++ b/kubernetes/apps/system/snapshot-controller/app/helmrelease.yaml @@ -0,0 +1,31 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/fluxcd-community/flux2-schemas/main/helmrelease-helm-v2beta1.json +apiVersion: helm.toolkit.fluxcd.io/v2beta1 +kind: HelmRelease +metadata: + name: snapshot-controller +spec: + interval: 30m + chart: + spec: + chart: snapshot-controller + version: 2.0.3 + sourceRef: + kind: HelmRepository + name: piraeus + namespace: flux-system + interval: 30m + install: + crds: CreateReplace + upgrade: + crds: CreateReplace + values: + controller: + serviceMonitor: + create: true + webhook: + enabled: true + tls: + certManagerIssuerRef: + name: snapshot-controller-webhook-ca + kind: Issuer diff --git a/kubernetes/apps/system/snapshot-controller/app/kustomization.yaml b/kubernetes/apps/system/snapshot-controller/app/kustomization.yaml new file mode 100644 index 0000000..20a0b59 --- /dev/null +++ b/kubernetes/apps/system/snapshot-controller/app/kustomization.yaml @@ -0,0 +1,7 @@ +--- +# yaml-language-server: $schema=https://json.schemastore.org/kustomization.json +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - ./pki.yaml + - ./helmrelease.yaml diff --git a/kubernetes/apps/system/snapshot-controller/app/pki.yaml b/kubernetes/apps/system/snapshot-controller/app/pki.yaml new file mode 100644 index 0000000..a2bb49e --- /dev/null +++ b/kubernetes/apps/system/snapshot-controller/app/pki.yaml @@ -0,0 +1,17 @@ +--- +# yaml-language-server: $schema=https://ks.hsn.dev/cert-manager.io/issuer_v1.json +apiVersion: cert-manager.io/v1 +kind: Issuer +metadata: + name: snapshot-controller-webhook-selfsign +spec: + selfSigned: {} +--- +# yaml-language-server: $schema=https://ks.hsn.dev/cert-manager.io/issuer_v1.json +apiVersion: cert-manager.io/v1 +kind: Issuer +metadata: + name: snapshot-controller-webhook-ca +spec: + ca: + secretName: snapshot-controller-webhook-ca diff --git a/kubernetes/apps/system/snapshot-controller/ks.yaml b/kubernetes/apps/system/snapshot-controller/ks.yaml new file mode 100644 index 0000000..53edd27 --- /dev/null +++ b/kubernetes/apps/system/snapshot-controller/ks.yaml @@ -0,0 +1,22 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/fluxcd-community/flux2-schemas/main/kustomization-kustomize-v1.json +apiVersion: kustomize.toolkit.fluxcd.io/v1 +kind: Kustomization +metadata: + name: &appname snapshot-controller + namespace: flux-system +spec: + targetNamespace: system-controllers + commonMetadata: + labels: + app.kubernetes.io/name: *appname + interval: 10m + path: "./kubernetes/main/apps/system-controllers/snapshot-controller/app" + prune: true + sourceRef: + kind: GitRepository + name: valinor + wait: true + timeout: 2m + dependsOn: + - name: cert-manager