This commit is contained in:
2025-02-17 20:31:31 -06:00
parent e3bc94b203
commit 69e6998f3c
2 changed files with 73 additions and 50 deletions

View File

@@ -86,51 +86,62 @@ spec:
metadataPolicy: None metadataPolicy: None
property: token property: token
# --- ---
# apiVersion: external-secrets.io/v1beta1 apiVersion: external-secrets.io/v1beta1
# kind: ExternalSecret kind: ExternalSecret
# metadata: metadata:
# name: gitea-backup-s3 name: gitea-backup-s3
# namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
# labels: labels:
# app.kubernetes.io/name: gitea-backup-s3 app.kubernetes.io/name: gitea-backup-s3
# app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}
# app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion }}
# app.kubernetes.io/component: backup app.kubernetes.io/component: backup
# app.kubernetes.io/part-of: {{ .Release.Name }} app.kubernetes.io/part-of: {{ .Release.Name }}
# spec: spec:
# secretStoreRef: secretStoreRef:
# kind: ClusterSecretStore kind: ClusterSecretStore
# name: vault name: vault
# data: data:
# - secretKey: AWS_ACCESS_KEY_ID - secretKey: AWS_ACCESS_KEY_ID
# remoteRef: remoteRef:
# conversionStrategy: Default conversionStrategy: Default
# decodingStrategy: None decodingStrategy: None
# key: /digital-ocean/home-infra/gitea-backup key: /digital-ocean/home-infra/gitea-backup
# metadataPolicy: None metadataPolicy: None
# property: AWS_ACCESS_KEY_ID property: AWS_ACCESS_KEY_ID
# - secretKey: AWS_DEFAULT_REGION - secretKey: AWS_SECRET_ACCESS_KEY
# remoteRef: remoteRef:
# conversionStrategy: Default conversionStrategy: Default
# decodingStrategy: None decodingStrategy: None
# key: /digital-ocean/home-infra/gitea-backup key: /digital-ocean/home-infra/gitea-backup
# metadataPolicy: None metadataPolicy: None
# property: AWS_DEFAULT_REGION property: AWS_SECRET_ACCESS_KEY
# - secretKey: AWS_ENDPOINT_URL
# remoteRef: ---
# conversionStrategy: Default apiVersion: external-secrets.io/v1beta1
# decodingStrategy: None kind: ExternalSecret
# key: /digital-ocean/home-infra/gitea-backup metadata:
# metadataPolicy: None name: gitea-s3cmd-config
# property: AWS_ENDPOINT_URL namespace: {{ .Release.Namespace }}
# - secretKey: AWS_SECRET_ACCESS_KEY labels:
# remoteRef: app.kubernetes.io/name: gitea-s3cmd-s3
# conversionStrategy: Default app.kubernetes.io/instance: {{ .Release.Name }}
# decodingStrategy: None app.kubernetes.io/version: {{ .Chart.AppVersion }}
# key: /digital-ocean/home-infra/gitea-backup app.kubernetes.io/component: backup
# metadataPolicy: None app.kubernetes.io/part-of: {{ .Release.Name }}
# property: AWS_SECRET_ACCESS_KEY spec:
secretStoreRef:
kind: ClusterSecretStore
name: vault
data:
- secretKey: .s3cfg
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /cl01tl/gitea/backup
metadataPolicy: None
property: s3cfg
--- ---
apiVersion: external-secrets.io/v1beta1 apiVersion: external-secrets.io/v1beta1

View File

@@ -118,7 +118,7 @@ backup:
failedJobsHistory: 3 failedJobsHistory: 3
backoffLimit: 3 backoffLimit: 3
parallelism: 1 parallelism: 1
containers: initContainers:
backup: backup:
image: image:
repository: bitnami/kubectl repository: bitnami/kubectl
@@ -135,18 +135,18 @@ backup:
requests: requests:
cpu: 100m cpu: 100m
memory: 128Mi memory: 128Mi
containers:
s3: s3:
image: image:
repository: amazon/aws-cli repository: d3fk/s3cmd
tag: 2.24.0 tag: latest@sha256:ae12ef40440ee069dac63d98a3590da0e02acc56ea4f60e9e4c5353d585a9140
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
command: command:
- /bin/sh - /bin/sh
args: args:
- -ec - -ec
- | - |
until [ -f /opt/backup/gitea-backup.zip ]; do sleep 5; done; s3cmd put --no-check-md5 --no-check-certificate /opt/backup/gitea-backup.zip s3://gitea-backups-8ba8dae3674a2f53354c600e/cl01tl/cl01tl-gitea-backups/gitea-backup-$(date +"%Y%m%d-%H-%M").zip;
aws s3 cp /opt/backup/gitea-backup.zip s3://cl01tl-gitea-backups/gitea-backup-$(date +"%Y%m%d-%H-%M").zip;
mv /opt/backup/gitea-backup.zip /opt/backup/gitea-backup-$(date +"%Y%m%d-%H-%M").zip; mv /opt/backup/gitea-backup.zip /opt/backup/gitea-backup-$(date +"%Y%m%d-%H-%M").zip;
envFrom: envFrom:
- secretRef: - secretRef:
@@ -165,6 +165,17 @@ backup:
s3: s3:
- path: /opt/backup - path: /opt/backup
readOnly: false readOnly: false
s3cmd-config:
enabled: true
type: secret
name: gitea-s3cmd-config
advancedMounts:
backup:
s3:
- path: /root/.s3cfg
readOnly: true
mountPropagation: None
subPath: .s3cfg
postgres-17-cluster: postgres-17-cluster:
mode: recovery mode: recovery
cluster: cluster:
@@ -177,6 +188,7 @@ postgres-17-cluster:
recovery: recovery:
endpointURL: https://nyc3.digitaloceanspaces.com endpointURL: https://nyc3.digitaloceanspaces.com
destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/gitea/gitea-postgresql-17-cluster destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/gitea/gitea-postgresql-17-cluster
endpointCredentials: gitea-postgresql-17-cluster-backup-secret
recoveryIndex: 1 recoveryIndex: 1
backup: backup:
enabled: false enabled: false