From 96363ed7cae7401fe4be13152aef9805c801eeed Mon Sep 17 00:00:00 2001 From: GigiaJ Date: Wed, 3 Dec 2025 01:36:46 -0600 Subject: [PATCH] Add Velero --- src/main/k8s/services/velero/service.cljs | 55 +++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 src/main/k8s/services/velero/service.cljs diff --git a/src/main/k8s/services/velero/service.cljs b/src/main/k8s/services/velero/service.cljs new file mode 100644 index 0000000..50c8193 --- /dev/null +++ b/src/main/k8s/services/velero/service.cljs @@ -0,0 +1,55 @@ +(ns k8s.services.velero.service) + +(def config + {:stack [:vault:prepare :k8s:secret :k8s:chart] + :app-namespace "velero" + :app-name "velero" + + :k8s:secret-opts + {:metadata {:name "velero-s3-creds"} + :stringData {"cloud" '(str "[default]\n" + "aws_access_key_id = " s3-access-key "\n" + "aws_secret_access_key = " s3-secret-key)}} + + :k8s:chart-opts + {:repositoryOpts {:repo 'repo} + :chart "velero" + :version "5.1.0" + + :values + {:deployNodeAgent true + + :configuration + {:backupStorageLocation + [{:name "default" + :provider "aws" + :bucket 's3-bucket-name + :config {:region 's3-region + :s3ForcePathStyle true + :s3Url 's3-url}}] + + :volumeSnapshotLocation + [{:name "default" + :provider "aws" + :config {:region 's3-region}}]} + + + :credentials {:useSecret true + :existingSecret "velero-s3-creds"} + + :initContainers + [{:name "velero-plugin-for-aws" + :image "velero/velero-plugin-for-aws:v1.8.0" + :volumeMounts [{:mountPath "/target" :name "plugins"}]}] + + :defaultVolumesToFsBackup true + + :nodeAgent {:resources {:requests {:cpu "50m" :memory "64Mi"} + :limits {:cpu "1000m" :memory "1Gi"}}} + + :schedules + {:daily-backup + {:disabled false + :schedule "0 4 * * *" + :template {:ttl "720h" + :includedNamespaces ["matrix" "generic" "home" "nextcloud"]}}}}}}) \ No newline at end of file