feat(minecraft): add VolSync

Signed-off-by: JJGadgets <git@jjgadgets.tech>
This commit is contained in:
JJGadgets
2023-03-21 10:32:05 +08:00
parent 4e8f44a781
commit ba31232186
3 changed files with 49 additions and 6 deletions

View File

@@ -22,8 +22,8 @@ sops:
UmFEd0UveklMeHpwYmJWcG91cU4xUUUKYKm5ZiuBX5d4oadXp8mNt+v0MASMRbqT
k6WGNihbkfA5z8aLnx4vR7tA4ORv70s7ALXvzZCD0m/fMnG8e9ssdA==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2023-03-01T20:07:46Z"
mac: ENC[AES256_GCM,data:ld6s/JNovMl2hwM1eklrft2xcz37w2TL+6jMcRQbKbC+DMdO6dIsVbon2g5CRtXe1CJ+COYcJoNyv0OX+MKl3+80/qReO9nXyEmkvSYmKhaDg5LHS4PYb3bA2M9xcGFN+JbUDDujAJ86GAG6TRoy9ADs7UdtIz4F3OrbsgpOmIU=,iv:H5zvZeT+lPGRqTQUc5CLnSxfQgR5nl21uUTW/YilFLM=,tag:LHhQMA2uZnPqBfqAu+XcZg==,type:str]
lastmodified: "2023-03-21T01:37:24Z"
mac: ENC[AES256_GCM,data:mnUzVnyE6hjGwAW8uM596aItnIiIEk7P90b2com5+2bc0zqt4hDdsN20AP4R53mq6lEhZF2/uWeWwKOWghddfQ026M2rlI9D2fz9KVqSY3mz9qqQ39Heg//fQlgt5N+1OwsRhze2MayrstWvI47S4oy+ngZy+ns3ucFMsJxiovo=,iv:KqQp8y+ZhEkRCkSr4Yo3F3vEW+9C/Hp/gL1Irr0j+qU=,tag:0GIipHxk8XACpF3+Wgjl+w==,type:str]
pgp:
- created_at: "2023-02-26T18:12:43Z"
enc: |
@@ -61,8 +61,8 @@ sops:
UmFEd0UveklMeHpwYmJWcG91cU4xUUUKYKm5ZiuBX5d4oadXp8mNt+v0MASMRbqT
k6WGNihbkfA5z8aLnx4vR7tA4ORv70s7ALXvzZCD0m/fMnG8e9ssdA==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2023-03-01T20:07:46Z"
mac: ENC[AES256_GCM,data:ld6s/JNovMl2hwM1eklrft2xcz37w2TL+6jMcRQbKbC+DMdO6dIsVbon2g5CRtXe1CJ+COYcJoNyv0OX+MKl3+80/qReO9nXyEmkvSYmKhaDg5LHS4PYb3bA2M9xcGFN+JbUDDujAJ86GAG6TRoy9ADs7UdtIz4F3OrbsgpOmIU=,iv:H5zvZeT+lPGRqTQUc5CLnSxfQgR5nl21uUTW/YilFLM=,tag:LHhQMA2uZnPqBfqAu+XcZg==,type:str]
lastmodified: "2023-03-21T01:37:24Z"
mac: ENC[AES256_GCM,data:mnUzVnyE6hjGwAW8uM596aItnIiIEk7P90b2com5+2bc0zqt4hDdsN20AP4R53mq6lEhZF2/uWeWwKOWghddfQ026M2rlI9D2fz9KVqSY3mz9qqQ39Heg//fQlgt5N+1OwsRhze2MayrstWvI47S4oy+ngZy+ns3ucFMsJxiovo=,iv:KqQp8y+ZhEkRCkSr4Yo3F3vEW+9C/Hp/gL1Irr0j+qU=,tag:0GIipHxk8XACpF3+Wgjl+w==,type:str]
pgp:
- created_at: "2023-02-26T18:12:43Z"
enc: |
@@ -90,6 +90,10 @@ stringData:
CLOUDFLARE_API_KEY: ENC[AES256_GCM,data:IjhX7PRvlOrAZHhld4eUTnk0U6e+26ddBvDAzskqal68OKDhnYNGcQ==,iv:Jh+AZONqsY3nlpdG+mgwQNkHFTB38DOPCUhMZVHNIqI=,tag:PWRooXwDuDWZ8/oRfxKslA==,type:str]
SECRET_ZEROTIER_UI_USERNAME: ENC[AES256_GCM,data:n3lq4WdMRg==,iv:5jq1lh6am9O8L472YLhef4BRvokIYqmpNY4MTnkADIs=,tag:+rmMEwzNWfQLEsnoms1Erw==,type:str]
SECRET_ZEROTIER_UI_PASSWORD: ENC[AES256_GCM,data:e1bY9uZlLmKVKatA6SRcd0iO/78OnQbM,iv:tR01q+o6YMgLdEavGaZY+IHR1SF/6lo48zcebgr9SRE=,tag:kf6Qcd/VuYTePyBp5rPW8A==,type:str]
SECRET_VOLSYNC_B2_REPO: ENC[AES256_GCM,data:VZFF2zmZuMT6K35QTyaD+A==,iv:qw5BjEqDTWFD4La6FpCuNsNyQI5mgJd59tnxn54OaV4=,tag:AQvnxDADVS3wooW5QnfjaA==,type:str]
SECRET_VOLSYNC_B2_PASSWORD: ENC[AES256_GCM,data:W3qJMgDu/VR4eOMs2awQWjEjv6rQ32QfOgwj1DMwr0SBeJTS/1Wk5UX/GEgykbnL9GDDbamLutuolfD8jGvFFHBuwweeI0pUHS06AF6GfMxzl6VJJLntka+gvAmhH6QksO9+3go7+96tgOJksgQuEF+4wDg/tYTXs0popeUsb6pDs5Lj9oYbLUgGdrvCEfRoPOvJqyd9ADRkBsYzP+7L/mShg6lgNjgPjkbT+Q==,iv:/DRHZMbfgxTNSn/sJ+XXPX8Os361lF1jM0LBTzF2uLs=,tag:RDGb7/ugBe6JTIceDHn+8Q==,type:str]
SECRET_VOLSYNC_B2_ID: ENC[AES256_GCM,data:9OFGls1jFrge//H4SYZEOT6URbFwS0sGZg==,iv:F6E8w2G+XQfhAZ8m3rZzqAxBYJc94K4xEIr7ikHVIx0=,tag:h2gPHpGHdyCpUgm8pN9p9g==,type:str]
SECRET_VOLSYNC_B2_KEY: ENC[AES256_GCM,data:DQzuk3ClcjLW03TOKV5vW7BXA8wmX1xPxrUj/FkSgg==,iv:lTHZdi4ZfRzKXLrOybhrzxPvr1OqPeQN+hDNO8cB3ao=,tag:h4b0hl1EvCm76/zIeyYYKQ==,type:str]
sops:
kms: []
gcp_kms: []
@@ -105,8 +109,8 @@ sops:
UmFEd0UveklMeHpwYmJWcG91cU4xUUUKYKm5ZiuBX5d4oadXp8mNt+v0MASMRbqT
k6WGNihbkfA5z8aLnx4vR7tA4ORv70s7ALXvzZCD0m/fMnG8e9ssdA==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2023-03-01T20:07:46Z"
mac: ENC[AES256_GCM,data:ld6s/JNovMl2hwM1eklrft2xcz37w2TL+6jMcRQbKbC+DMdO6dIsVbon2g5CRtXe1CJ+COYcJoNyv0OX+MKl3+80/qReO9nXyEmkvSYmKhaDg5LHS4PYb3bA2M9xcGFN+JbUDDujAJ86GAG6TRoy9ADs7UdtIz4F3OrbsgpOmIU=,iv:H5zvZeT+lPGRqTQUc5CLnSxfQgR5nl21uUTW/YilFLM=,tag:LHhQMA2uZnPqBfqAu+XcZg==,type:str]
lastmodified: "2023-03-21T01:37:24Z"
mac: ENC[AES256_GCM,data:mnUzVnyE6hjGwAW8uM596aItnIiIEk7P90b2com5+2bc0zqt4hDdsN20AP4R53mq6lEhZF2/uWeWwKOWghddfQ026M2rlI9D2fz9KVqSY3mz9qqQ39Heg//fQlgt5N+1OwsRhze2MayrstWvI47S4oy+ngZy+ns3ucFMsJxiovo=,iv:KqQp8y+ZhEkRCkSr4Yo3F3vEW+9C/Hp/gL1Irr0j+qU=,tag:0GIipHxk8XACpF3+Wgjl+w==,type:str]
pgp:
- created_at: "2023-02-26T18:12:43Z"
enc: |

View File

@@ -308,6 +308,7 @@ spec:
dependsOn:
- name: biohazard-1-core-04-dns-internal
- name: biohazard-1-core-02-storage-rook-ceph
- name: biohazard-2-apps-volsync
---
apiVersion: kustomize.toolkit.fluxcd.io/v1beta2
kind: Kustomization
@@ -319,6 +320,7 @@ spec:
dependsOn:
- name: biohazard-1-core-04-dns-internal
- name: biohazard-1-core-02-storage-rook-ceph
- name: biohazard-2-apps-volsync
---
apiVersion: kustomize.toolkit.fluxcd.io/v1beta2
kind: Kustomization
@@ -360,6 +362,7 @@ spec:
- name: biohazard-1-core-02-storage-rook-ceph
- name: biohazard-1-core-04-dns-internal
- name: biohazard-1-core-05-ingress-nginx
- name: biohazard-2-apps-volsync
---
apiVersion: kustomize.toolkit.fluxcd.io/v1beta2
kind: Kustomization

View File

@@ -0,0 +1,36 @@
---
apiVersion: v1
kind: Secret
metadata:
name: minecraft-restic
namespace: minecraft
type: Opaque
stringData:
RESTIC_REPOSITORY: ${SECRET_VOLSYNC_B2_REPO}/minecraft
RESTIC_PASSWORD: ${SECRET_VOLSYNC_B2_PASSWORD}
B2_ACCOUNT_ID: ${SECRET_VOLSYNC_B2_ID}
B2_ACCOUNT_KEY: ${SECRET_VOLSYNC_B2_KEY}
---
apiVersion: volsync.backube/v1alpha1
kind: ReplicationSource
metadata:
name: minecraft-restic
namespace: minecraft
spec:
sourcePVC: minecraft-minecraft-datadir
trigger:
schedule: "0 6 * * *"
restic:
copyMethod: Snapshot
pruneIntervalDays: 14
repository: minecraft-restic
cacheCapacity: 2Gi
volumeSnapshotClassName: block
storageClassName: block
moverSecurityContext:
runAsUser: ${APP_UID_MINECRAFT}
runAsGroup: ${APP_UID_MINECRAFT}
fsGroup: ${APP_UID_MINECRAFT}
retain:
daily: 14
within: 7d