Define scoped Forgejo native backup on the Scaleway primary
Assistant: codex Assistant-Model: gpt-6-astra Assistant-Session: 01a06ecb-456a-71c2-b41e-0755d336e883
This commit is contained in:
parent
63b5d6d426
commit
978383fadb
6 changed files with 188 additions and 2 deletions
20
helm/forgejo-db-backup-networkpolicies.yaml
Normal file
20
helm/forgejo-db-backup-networkpolicies.yaml
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
apiVersion: networking.k8s.io/v1
|
||||
kind: NetworkPolicy
|
||||
metadata:
|
||||
name: allow-backup-egress-forgejo-db
|
||||
namespace: databases
|
||||
spec:
|
||||
podSelector:
|
||||
matchLabels:
|
||||
cnpg.io/cluster: forgejo-db
|
||||
policyTypes: [Egress]
|
||||
egress:
|
||||
- ports:
|
||||
- {port: 443, protocol: TCP}
|
||||
- to:
|
||||
- namespaceSelector:
|
||||
matchLabels:
|
||||
kubernetes.io/metadata.name: kube-system
|
||||
ports:
|
||||
- {port: 53, protocol: UDP}
|
||||
- {port: 53, protocol: TCP}
|
||||
14
helm/forgejo-db-backup.yaml
Normal file
14
helm/forgejo-db-backup.yaml
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
apiVersion: postgresql.cnpg.io/v1
|
||||
kind: ScheduledBackup
|
||||
metadata:
|
||||
name: forgejo-db-daily
|
||||
namespace: databases
|
||||
labels:
|
||||
cnpg.io/cluster: forgejo-db
|
||||
spec:
|
||||
schedule: "0 35 2 * * *"
|
||||
backupOwnerReference: self
|
||||
cluster:
|
||||
name: forgejo-db
|
||||
immediate: true
|
||||
method: barmanObjectStore
|
||||
|
|
@ -4,7 +4,7 @@
|
|||
#
|
||||
# Apply: KUBECONFIG=~/.kube/config-hosteurope make forgejo-db-deploy
|
||||
# Status: make forgejo-db-status
|
||||
# Backup: make forgejo-backup (pg_dump + forgejo dump → Nextcloud; docs/forgejo-backup.md)
|
||||
# Primary: Scaleway Barman + WAL. Secondary: make forgejo-backup (Nextcloud + age).
|
||||
#
|
||||
# Pre-condition: forgejo-db-credentials Secret in databases namespace.
|
||||
# See helm/forgejo-db-secret.sops.yaml.template
|
||||
|
|
@ -49,4 +49,22 @@ spec:
|
|||
database: forgejo
|
||||
owner: forgejo
|
||||
secret:
|
||||
name: forgejo-db-credentials
|
||||
name: forgejo-db-credentials
|
||||
backup:
|
||||
retentionPolicy: 30d
|
||||
barmanObjectStore:
|
||||
destinationPath: s3://railiance-platform-pg-backup/platform-pg/forgejo-db/
|
||||
endpointURL: https://s3.nl-ams.scw.cloud
|
||||
s3Credentials:
|
||||
accessKeyId:
|
||||
name: platform-pg-backup-s3
|
||||
key: ACCESS_KEY_ID
|
||||
secretAccessKey:
|
||||
name: platform-pg-backup-s3
|
||||
key: ACCESS_SECRET_KEY
|
||||
wal:
|
||||
compression: gzip
|
||||
maxParallel: 2
|
||||
data:
|
||||
compression: gzip
|
||||
jobs: 2
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue