diff --git a/infrastructure/controllers/kustomization.yaml b/infrastructure/controllers/kustomization.yaml index 8f94222..d40ee8f 100644 --- a/infrastructure/controllers/kustomization.yaml +++ b/infrastructure/controllers/kustomization.yaml @@ -7,6 +7,7 @@ resources: - cloudnative-pg.yaml # - rook.yaml - ./node-feature-discovery + - ./velero - https://raw.githubusercontent.com/dragonflydb/dragonfly-operator/refs/tags/v1.1.8/manifests/dragonfly-operator.yaml - https://github.com/piraeusdatastore/piraeus-operator//config/default?ref=v2.7.1 - https://github.com/kubernetes-csi/external-snapshotter//client/config/crd?ref=v8.2.0 diff --git a/infrastructure/controllers/velero/helm_release.yaml b/infrastructure/controllers/velero/helm_release.yaml new file mode 100644 index 0000000..4df4b42 --- /dev/null +++ b/infrastructure/controllers/velero/helm_release.yaml @@ -0,0 +1,39 @@ +apiVersion: helm.toolkit.fluxcd.io/v2 +kind: HelmRelease +metadata: + name: velero +spec: + chart: + spec: + chart: velero + reconcileStrategy: ChartVersion + sourceRef: + kind: HelmRepository + name: velero + version: 8.3.0 + interval: 1m0s + values: + credentials: + existingSecret: minio-credentials + configuration: + features: EnableCSI + backupStorageLocation: + - name: minio + provider: aws + bucket: titan-testing-backup + default: true + config: + region: minio + s3ForcePathStyle: true + s3Url: https://minio.huizinga.dev + checksumAlgorithm: "" + volumeSnapshotLocation: + - name: csi + provider: csi + default: true + initContainers: + - name: velero-plugin-for-aws + image: velero/velero-plugin-for-aws:v1.11.1 + volumeMounts: + - name: plugins + mountPath: /target diff --git a/infrastructure/controllers/velero/helm_repository.yaml b/infrastructure/controllers/velero/helm_repository.yaml new file mode 100644 index 0000000..da9fccb --- /dev/null +++ b/infrastructure/controllers/velero/helm_repository.yaml @@ -0,0 +1,7 @@ +apiVersion: source.toolkit.fluxcd.io/v1 +kind: HelmRepository +metadata: + name: velero +spec: + interval: 1m0s + url: https://vmware-tanzu.github.io/helm-charts diff --git a/infrastructure/controllers/velero/kustomization.yaml b/infrastructure/controllers/velero/kustomization.yaml new file mode 100644 index 0000000..492485d --- /dev/null +++ b/infrastructure/controllers/velero/kustomization.yaml @@ -0,0 +1,8 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +namespace: velero +resources: + - ./namespace.yaml + - ./helm_repository.yaml + - ./minio-credentials.yaml + - ./helm_release.yaml diff --git a/infrastructure/controllers/velero/minio-credentials.yaml b/infrastructure/controllers/velero/minio-credentials.yaml new file mode 100644 index 0000000..ce91a55 --- /dev/null +++ b/infrastructure/controllers/velero/minio-credentials.yaml @@ -0,0 +1,59 @@ +apiVersion: v1 +kind: Secret +metadata: + name: minio-credentials +type: Opaque +stringData: + cloud: ENC[AES256_GCM,data:IzMq0prcgddDBEncz3Pzfi9QMPbC1ycK0FLdc5eVWJa2zv1ro/DmoEJ1BGWxoKgkpQ7ApM9lcO2x8CeU2oAvmpkZg6feKWsFuonzEoBbhZ4sOhIkb2KZMu/p5+Tznk+dD7bxqQ==,iv:5WPjhx+53/sDJz11aFqoBQtyhBBQuljzZtqb/8rX8Fc=,tag:n9ZMjsW7QY1XkK8TwpndtA==,type:str] +sops: + kms: [] + gcp_kms: [] + azure_kv: [] + hc_vault: [] + age: [] + lastmodified: "2025-01-31T22:07:06Z" + mac: ENC[AES256_GCM,data:34QXny0VIWueqX564KqrWzsidZuiu5L7hIdRcYzLcHl1kErggCrtHZBLm/twOzDq37vRvVIW+NN2KehARDM8V2oxOYvP8yQ5zyUYDNaDIU/y5ncH2/OEcdz5hszZ5ja0YhDMq5eLGjX5HOe0ZdNSCxfLKwYaHZguL0x0mOHu2ME=,iv:W/ee9mhUS+uvJ7t5Vmy3FiibjcB0d0/RJjTX6/4kv/U=,tag:tj4DAw5r+q+/P2FqABlTvg==,type:str] + pgp: + - created_at: "2025-01-31T22:07:06Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA7pKPTYH5bqOAQ/+KIbhK8gBzGEoeG6qCGDRx7kdn3bCw+V7AUOupm4uFjbL + JP54juvgsA0DMKFRAmQy7V48aKPjICrM1DCDcdREi+39KhBmWIPy6bduzgo+fbQQ + 2dqRUI7zwEibheS+5tYw798lTPewcC6CuU0tk9Fxe258njGDOooFusExayCynT4A + 0xo8852PxMR+uAt7SEWs45VWfPp40PyBpmESiyGBojJXR2LKD6frjY3bLlLOPH4o + c765R43j4jKiRGK2Ju1t98l3ULsYXFQxeLbMdTkHKPr3WqNLSIoIXFpJJm66HD2L + 0S7mH3neuQH1X8KYERkLVTf3O3fH+BUAPBbtVMmHMvnkJYLNJneNVU/aN/jy3cIl + yn6QXYOjKrK2kyRLUXDslxzPHFKIgSea4CUTLEALbBxsEEVK0+CwVKg6KUcqV73k + 6CyYsvq9DE5eQEhW7j04uUQ9Av7IKlnYBQzLd6HoIPRODWEXQgmyaC/+PyRaJCVN + QV+Hcdsu6FFDCmJV2DzuUepGNaAOY0VWiwI3eBLx0KWrhjjyrgiM0+52r9HNcvnY + Ww+f0oTNPIhn8rY/58Y9hp+CyG+1Gl4YIa8O/E1nl4yfuyBtaFLKiW2UUfSgcKU7 + UYEBXEuIgTSWPQ3w0+Ds3FtBr2/Gnokvn41SwMCjOWaExj/ZsW96Eg+Jxi7r8wLU + aAEJAhCFTA77/ein9b6HfXDKdiDoT8sOpIHb+cUtNizYQsPiSTNYHv2LGeUVuVUT + MTzC2zkNaVYkNyYeUHuUTu4oiLtL4TNTG8YTL9e1OzyEWUYYUSL4uf+UdTeYAw1U + Pb3W8FffiHYi + =67bE + -----END PGP MESSAGE----- + fp: 1E0CF38FF7C9ADAED58B436ABA4A3D3607E5BA8E + - created_at: "2025-01-31T22:07:06Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA51kG++kLewoAQ/+OOL6njV26u5BJUsEmN1mc+qydN9PlDDasquQCd1NmRQ3 + 6d6DaL9WAZsuSY1T9ZnfVtNAHCs96ULYChjAmFBZsvRLYR39j5oAkhvHsx8KsBU0 + s0w/wCwhSWUHPt340W7bBibVGju+/2Hxr/A6kUnx7ph9XYzipqyjgKd8uA0zK8Zc + behvfOYDnXPtKxV4Il9k9SIN6CFlyqQxFrzVh49PHrsGi34rxLoYhtdCftQwEDio + Mt9pUh0lBEqvjei+7FnYw4hNhthDA40ZXJxbilgtGyx8lpujnS5ePTtbw/4THqnZ + yFMchKluesKcxTs8xKTd3J3zQZC7poIcvPrW/KH8nAYq4amkacSneJTK2+qZFJNe + RKmqlmDdKptx5R1FICElxin+a6rZIwR3ht67hFIo+dV5KCFsdModKeLdi1wuitls + 9Wspk71LSqtDC0HzGEPogyrBE3coRT6P9zZ8qvGWC7Uealz2VXqwweOzNy36iczc + cjPi0KMVIjmXUYBnBwmu2egTeZNuHynFjG0Fa0qKs5zWBmK6SzUrpODkZv0NwTMi + gQy5vX/dnY+dCdQcg0ustXZwUPmJLJ2BHgMe4LdWQVDypiW2hOcRJguLOAEzxD46 + 2qofIhjb6RF2KOw2y3kK6lB0rt4oNvR9dQt5wxeF+jlOHfWTJq04ihz8plH31unS + XgEmqCXwOIFONYkcjSMTGQaepL+tZUl0zriRT+/XwEW8cksDid/7Y2k0T4uvmLYg + 7Xzsw0zucpYW+OHyO8lyNjY8EVrMofP2YX5R522rbkinaiy4Rylbn7qUVJjLtw8= + =yHcd + -----END PGP MESSAGE----- + fp: 49F10679C425233EFB4B1B6F9D641BEFA42DEC28 + encrypted_regex: ^(data|stringData)$ + version: 3.9.1 diff --git a/infrastructure/controllers/velero/namespace.yaml b/infrastructure/controllers/velero/namespace.yaml new file mode 100644 index 0000000..b442fae --- /dev/null +++ b/infrastructure/controllers/velero/namespace.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: velero