From da674ef259f8153e375c45ac6191842903a82ddc Mon Sep 17 00:00:00 2001 From: auricom <27022259+auricom@users.noreply.github.com> Date: Sat, 15 Jul 2023 10:06:50 +0200 Subject: [PATCH] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20jellyseer=20volsync?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jellyseer/app/backups/kustomization.yaml | 7 --- .../app/backups/replicationsource.yaml | 25 ---------- .../jellyseer/app/backups/restic.sops.yaml | 35 ------------- .../default/jellyseer/app/kustomization.yaml | 2 +- .../apps/default/jellyseer/app/volsync.yaml | 49 +++++++++++++++++++ 5 files changed, 50 insertions(+), 68 deletions(-) delete mode 100644 kubernetes/apps/default/jellyseer/app/backups/kustomization.yaml delete mode 100644 kubernetes/apps/default/jellyseer/app/backups/replicationsource.yaml delete mode 100644 kubernetes/apps/default/jellyseer/app/backups/restic.sops.yaml create mode 100644 kubernetes/apps/default/jellyseer/app/volsync.yaml diff --git a/kubernetes/apps/default/jellyseer/app/backups/kustomization.yaml b/kubernetes/apps/default/jellyseer/app/backups/kustomization.yaml deleted file mode 100644 index 57bca902d..000000000 --- a/kubernetes/apps/default/jellyseer/app/backups/kustomization.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -# yaml-language-server: $schema=https://json.schemastore.org/kustomization -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -resources: - - ./replicationsource.yaml - - ./restic.sops.yaml diff --git a/kubernetes/apps/default/jellyseer/app/backups/replicationsource.yaml b/kubernetes/apps/default/jellyseer/app/backups/replicationsource.yaml deleted file mode 100644 index 40f4696da..000000000 --- a/kubernetes/apps/default/jellyseer/app/backups/replicationsource.yaml +++ /dev/null @@ -1,25 +0,0 @@ ---- -# yaml-language-server: $schema=https://kubernetes-schemas.devbu.io/replicationsource_v1alpha1.json -apiVersion: volsync.backube/v1alpha1 -kind: ReplicationSource -metadata: - name: jellyseer - namespace: default -spec: - sourcePVC: jellyseer-config - trigger: - schedule: "0 0 * * *" - restic: - copyMethod: Snapshot - pruneIntervalDays: 10 - repository: jellyseer-restic - cacheCapacity: 2Gi - volumeSnapshotClassName: csi-ceph-blockpool - storageClassName: rook-ceph-block - moverSecurityContext: - runAsUser: 1000 - runAsGroup: 1000 - fsGroup: 1000 - retain: - daily: 10 - within: 3d diff --git a/kubernetes/apps/default/jellyseer/app/backups/restic.sops.yaml b/kubernetes/apps/default/jellyseer/app/backups/restic.sops.yaml deleted file mode 100644 index ded8236b8..000000000 --- a/kubernetes/apps/default/jellyseer/app/backups/restic.sops.yaml +++ /dev/null @@ -1,35 +0,0 @@ -apiVersion: v1 -kind: Secret -metadata: - name: jellyseer-restic - namespace: default -type: Opaque -stringData: - #ENC[AES256_GCM,data:WTM0Lkqp+sxjbUgkNzAVZQnC5g==,iv:4y8R8GpLy2Ogh3Lt3v6ibVbJF7jy8K1BOGi+ONt7S5c=,tag:wRhEBfRNHp0PBvIjM60iSA==,type:comment] - RESTIC_REPOSITORY: ENC[AES256_GCM,data:5F8kdeH1b4nG7enN+iVgUsUZoCCNtul1EItkZi8T1ZwuSAbJUVCACY616PRd+IPp59F3okD8buBd4sg=,iv:pQTWVo5sO8y4sKqSvSrzBK6khuPIZPCCgAFOsmUVpWE=,tag:QMVMhK4DaevP6v7feKG0+g==,type:str] - #ENC[AES256_GCM,data:cRvGVeuDnEbJs01G+Und5ls1EgaC9Q2vj61IE/2R,iv:qSjv4bGEX9QWABhXgnCJsoj0p1kjgYaQwQX0Oyu9RHk=,tag:x8i1WXbAvdpC+Iv8pn/drw==,type:comment] - RESTIC_PASSWORD: ENC[AES256_GCM,data:6VI/lJQFZg6hu5r0SqNAKQAQGYY=,iv:UYRMnkHB4jsXcV1tyLDTAqh6dxsd18hYWsDoSpjJarA=,tag:d6hgK6LSgu7vZbLfquKcyA==,type:str] - #ENC[AES256_GCM,data:YIIHR5DwXv3YE9fFvNSAfrm47ZsshZMcY31LbaJ4gwXo0yOOHe6qDEc=,iv:axSMsvrIOkJFlErvw9fcAwLNSEWDh6mUU6dWZu6icIo=,tag:MDNlk43vcI9S4o6tMiWVmw==,type:comment] - #ENC[AES256_GCM,data:8Wspw6gPIPBsumfRS/5dlZrAQQqBJEDMgcpip4a3HCfHq8SeVDv4Gl0j3hyZqUsP5af8nN69Y/9bas7z1hnIERkrb8DqYg==,iv:WqCz9vBfg1JxUEpd97J37YztSW3HkcOHa6nIJI4VK8I=,tag:+LxnOzGidF39ojPKSOrVsg==,type:comment] - AWS_ACCESS_KEY_ID: ENC[AES256_GCM,data:I9vuuPEGS6A135zwKUNXvSIAjwk=,iv:dByy2WuuhO6OluWXYRwkdMutK33yKwOcWkR9hvY5bsg=,tag:xHU7Hbx+sxuZ9CRymA55JQ==,type:str] - AWS_SECRET_ACCESS_KEY: ENC[AES256_GCM,data:kRdbENGS1F32JzkvktYkbfhMGBSrUpFSfyCdIpJwLOc+/2TyHAMrxA==,iv:Q+UKNT9aRo+A0KWu/FiST/4bOQKTOBJKHhpP8JXD3ao=,tag:7VE8lx2QAdNutcUj5kMNNA==,type:str] -sops: - kms: [] - gcp_kms: [] - azure_kv: [] - hc_vault: [] - age: - - recipient: age1hhurqwmfvl9m3vh3hk8urulfzcdsrep2ax2neazqt435yhpamu3qj20asg - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA4RE9wTDZVRlExcnVKYjVZ - THNtblNXbGlSUitoS0FYV2k3dlg3aWZEMWxjCmZETUFGSnR0c3JZU2FHNnFneHdB - TEdlYjJTcjNsSDQ0dmgvNWlnNWo4TWMKLS0tIGR2Q25heThUUGliY0ZicDNra1FN - dGppaVJiME1FQnkzdVJOeTZMcjhYWE0KBrGQAYun1Zs3oyHWQ8iGvmF4hheP3md4 - 3/Lc9CqEC+V1lT9On8ivEBethjt528vCyVMM5pLMRBEO6CMjlNhJ+g== - -----END AGE ENCRYPTED FILE----- - lastmodified: "2022-12-28T15:30:10Z" - mac: ENC[AES256_GCM,data:lyZmYX4mAjgnKwJiQHi0+jKjXgEl2q7d9hIysAFnZECJM5c2ObrTTzWBSgEzgqgBUA0E01X7AJYGM7/psNCljm1k4a3taXtTpy+5Yn7hd65k2B5nt1im9awwXKXhxayMXFsaVwIglIzW5UfsJ5mVmoGYC+6vVi7teVfhziqps6w=,iv:lmA7+RA+2kR3mJ1Pdv5FLx0+FHa8Ve7i8erItKWBncA=,tag:TMMhypGTeE6FxqO4EO8qhg==,type:str] - pgp: [] - encrypted_regex: ^(data|stringData)$ - version: 3.7.3 diff --git a/kubernetes/apps/default/jellyseer/app/kustomization.yaml b/kubernetes/apps/default/jellyseer/app/kustomization.yaml index b71b75551..39fd93644 100644 --- a/kubernetes/apps/default/jellyseer/app/kustomization.yaml +++ b/kubernetes/apps/default/jellyseer/app/kustomization.yaml @@ -4,6 +4,6 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization namespace: default resources: - - ./backups - ./helmrelease.yaml + - ./volsync.yaml - ./volume.yaml diff --git a/kubernetes/apps/default/jellyseer/app/volsync.yaml b/kubernetes/apps/default/jellyseer/app/volsync.yaml new file mode 100644 index 000000000..ec5e02416 --- /dev/null +++ b/kubernetes/apps/default/jellyseer/app/volsync.yaml @@ -0,0 +1,49 @@ +--- +# yaml-language-server: $schema=https://kubernetes-schemas.devbu.io/external-secrets.io/externalsecret_v1beta1.json +apiVersion: external-secrets.io/v1beta1 +kind: ExternalSecret +metadata: + name: jellyseer-restic + namespace: default +spec: + secretStoreRef: + kind: ClusterSecretStore + name: onepassword-connect + target: + name: jellyseer-restic-secret + creationPolicy: Owner + template: + engineVersion: v2 + data: + RESTIC_REPOSITORY: '{{ .REPOSITORY_TEMPLATE }}/jellyseer' + RESTIC_PASSWORD: '{{ .RESTIC_PASSWORD }}' + AWS_ACCESS_KEY_ID: '{{ .AWS_ACCESS_KEY_ID }}' + AWS_SECRET_ACCESS_KEY: '{{ .AWS_SECRET_ACCESS_KEY }}' + dataFrom: + - extract: + key: volsync-restic-template +--- +# yaml-language-server: $schema=https://kubernetes-schemas.devbu.io/volsync.backube/replicationsource_v1alpha1.json +apiVersion: volsync.backube/v1alpha1 +kind: ReplicationSource +metadata: + name: jellyseer + namespace: default +spec: + sourcePVC: jellyseer-config + trigger: + schedule: "0 7 * * *" + restic: + copyMethod: Snapshot + pruneIntervalDays: 7 + repository: jellyseer-restic-secret + cacheCapacity: 10Gi + volumeSnapshotClassName: csi-ceph-blockpool + storageClassName: rook-ceph-block + moverSecurityContext: + runAsUser: 1000 + runAsGroup: 1000 + fsGroup: 1000 + retain: + daily: 7 + within: 3d