diff --git a/apps/minio/app.yaml b/apps/minio/app.yaml index 2cb2b0d..1eb0554 100644 --- a/apps/minio/app.yaml +++ b/apps/minio/app.yaml @@ -1,8 +1,8 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization -namespace: miniflux +namespace: minio metadata: - name: miniflux + name: minio resources: - app/00_namespace.yaml - app/10_sealedsecret.yaml diff --git a/apps/velero/app.yaml b/apps/velero/app.yaml new file mode 100644 index 0000000..93c84d6 --- /dev/null +++ b/apps/velero/app.yaml @@ -0,0 +1,9 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +namespace: velero +metadata: + name: velero +resources: + - app/00_namespace.yaml + - app/10_sealedsecret.yaml + - app/20_release.yaml diff --git a/apps/velero/app/00_namespace.yaml b/apps/velero/app/00_namespace.yaml new file mode 100644 index 0000000..94051ad --- /dev/null +++ b/apps/velero/app/00_namespace.yaml @@ -0,0 +1,6 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: velero + labels: + name: velero diff --git a/apps/velero/app/10_sealedsecret.yaml b/apps/velero/app/10_sealedsecret.yaml new file mode 100644 index 0000000..bad2d93 --- /dev/null +++ b/apps/velero/app/10_sealedsecret.yaml @@ -0,0 +1,16 @@ +--- +apiVersion: bitnami.com/v1alpha1 +kind: SealedSecret +metadata: + creationTimestamp: null + name: velero-secret + namespace: velero +spec: + encryptedData: + minio-credentials: AgCdRmoiTEbsD2cNux0Xu4BNASExBbrqhe3DbPpc8xmReIDLot0wyvGd4zBp21dsSskZQrij4K0ZoaYqHT/tq0FQKFaL9G+Z6+lGxXKxTIBf+HnFf35iM1g8Z1K9NIa1QLqr9aOoRHg3PPlmzSYDGNXGmR3fp4UwPFg7TUJOAoMvmV2hzNU9ZeZjfMOcUC+HpXlV8Q8r/u9dugyL4hBO24JTms1R+TF5uX2Kk6kJ7fHGDJpj63CVgjBjtROOlJ/rc2eqKTnKOE2ULZ4UVJZfIAlrxtA8wkXNoFy8hSiF2MzFLCLeFWyJBZZiGinVm56B5h+YaBU0lfj7cv8mKAHJQxomHJsgytbFcMb6debGkbih20w33O59p3JpPWmCKmfZuOPTEh1TK9W9RfH3o+UGlv1DF1EII1y9Q5qIEQOlVKe2Xa/5YH085lUVn+904MSV7spjTeupE2uzhiYuA38x1ZXQsxq46J05thK1Usldsk9y4EMdx0/P0veMtWT68ek2CXep3lKdS16B8JFnTunkDhOto/XECZW2qzgvE2X/Gnx3d1+xSfdZeKzByLbhSFr/Le/dIZEAgTFbltsmDPaxZjNNPmx6Ii+Y2B0sb8vJOp4ePnIkTVJ24WEl5DOkOeBzNfbquDQ4NuFL4Mz9K20+fFdMKYtjkdWTs1uhYRa+RJFrhm/BD/Lg1rCFrAU+39roOLhuIe4opmpm7wI0uizCl1+OB8QB8N7uguPodPFTCtbxLv1MpxNBvOzFL/O9s/dHPDqY22SqIvwOzeIHgmlukh5GJpRk0HzDOeY/e/tHicFDf/f0zkumWj8j2Z3N9R7Tc5pk9/kz1Cv0NQ== + template: + metadata: + creationTimestamp: null + name: velero-secret + namespace: velero + type: Opaque diff --git a/apps/velero/app/20_release.yaml b/apps/velero/app/20_release.yaml new file mode 100644 index 0000000..9f9b15f --- /dev/null +++ b/apps/velero/app/20_release.yaml @@ -0,0 +1,36 @@ +apiVersion: helm.toolkit.fluxcd.io/v2beta1 +kind: HelmRelease +metadata: + name: velero + namespace: velero +spec: + releaseName: velero + chart: + spec: + chart: velero + sourceRef: + kind: HelmRepository + name: vmware-tanzu + namespace: repos + interval: 60m + install: + remediation: + retries: 3 + values: + metrics: + serviceMonitor: + enabled: true + configuration: + backupStorageLocation: + - name: cluster-minio + provider: aws + bucket: velero-backup + default: true + credential: + name: velero-secret + key: minio-credentials + config: + region: minio + s3ForcePathStyle: "true" + s3Url: https://minio.trivernis.dev + diff --git a/cluster/apps.yaml b/cluster/apps.yaml index 2eb33df..fb1e329 100644 --- a/cluster/apps.yaml +++ b/cluster/apps.yaml @@ -320,3 +320,20 @@ spec: prune: true wait: true timeout: 5m0s +--- +apiVersion: kustomize.toolkit.fluxcd.io/v1 +kind: Kustomization +metadata: + name: apps-velero + namespace: flux-system +spec: + dependsOn: + - name: repos + interval: 5m + sourceRef: + kind: GitRepository + name: flux-system + path: ./apps/velero + prune: true + wait: true + timeout: 5m0s diff --git a/repos/vmware-tanzu.yaml b/repos/vmware-tanzu.yaml new file mode 100644 index 0000000..a75c448 --- /dev/null +++ b/repos/vmware-tanzu.yaml @@ -0,0 +1,8 @@ +apiVersion: source.toolkit.fluxcd.io/v1beta2 +kind: HelmRepository +metadata: + name: vmware-tanzu + namespace: repos +spec: + interval: 60m + url: https://vmware-tanzu.github.io/helm-charts/