diff --git a/kubernetes/kube-nas/apps/kube-tools/kustomization.yaml b/kubernetes/kube-nas/apps/kube-tools/kustomization.yaml index ce1370c89..f8593c0e9 100644 --- a/kubernetes/kube-nas/apps/kube-tools/kustomization.yaml +++ b/kubernetes/kube-nas/apps/kube-tools/kustomization.yaml @@ -5,3 +5,4 @@ kind: Kustomization resources: - ./namespace.yaml - ./reloader/flux-sync.yaml + - ./snapshot-controller/flux-sync.yaml diff --git a/kubernetes/kube-nas/apps/kube-tools/snapshot-controller/app/helm-release.yaml b/kubernetes/kube-nas/apps/kube-tools/snapshot-controller/app/helm-release.yaml new file mode 100644 index 000000000..f4d1400bb --- /dev/null +++ b/kubernetes/kube-nas/apps/kube-tools/snapshot-controller/app/helm-release.yaml @@ -0,0 +1,32 @@ +--- +# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/helm.toolkit.fluxcd.io/helmrelease_v2.json +apiVersion: helm.toolkit.fluxcd.io/v2 +kind: HelmRelease +metadata: + name: snapshot-controller +spec: + interval: 30m + chart: + spec: + chart: snapshot-controller + version: 4.0.0 + sourceRef: + kind: HelmRepository + name: piraeus-charts + namespace: flux-system + install: + crds: CreateReplace + remediation: + retries: 3 + upgrade: + cleanupOnFail: true + crds: CreateReplace + remediation: + strategy: rollback + retries: 3 + values: + controller: + replicaCount: 1 + serviceMonitor: + # todo add service monitor when prometheus is installed + create: faLse diff --git a/kubernetes/kube-nas/apps/kube-tools/snapshot-controller/app/kustomization.yaml b/kubernetes/kube-nas/apps/kube-tools/snapshot-controller/app/kustomization.yaml new file mode 100644 index 000000000..f02b6a024 --- /dev/null +++ b/kubernetes/kube-nas/apps/kube-tools/snapshot-controller/app/kustomization.yaml @@ -0,0 +1,7 @@ +--- +# yaml-language-server: $schema=https://json.schemastore.org/kustomization +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +namespace: kube-system +resources: + - ./helm-release.yaml diff --git a/kubernetes/kube-nas/apps/kube-tools/snapshot-controller/flux-sync.yaml b/kubernetes/kube-nas/apps/kube-tools/snapshot-controller/flux-sync.yaml new file mode 100644 index 000000000..69680ec78 --- /dev/null +++ b/kubernetes/kube-nas/apps/kube-tools/snapshot-controller/flux-sync.yaml @@ -0,0 +1,17 @@ +--- +# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/kustomize.toolkit.fluxcd.io/kustomization_v1.json +apiVersion: kustomize.toolkit.fluxcd.io/v1 +kind: Kustomization +metadata: + name: snapshot-controller + namespace: flux-system + labels: + substitution.flux.home.arpa/enabled: "true" +spec: + interval: 10m + path: ./kubernetes/kube-nas/apps/kube-tools/snapshot-controller/app + prune: true + sourceRef: + kind: GitRepository + name: home-ops + wait: true