Browse Source

Add ScheduledBackup object to caduser

master
Fábio Kaiser Rauber 2 weeks ago
parent
commit
d4fcf9cf6b
  1. 12
      charts/caduser/v0.1.0/questions.yaml
  2. 31
      charts/caduser/v0.1.0/templates/postgresql-scheduled-backup.yaml
  3. 8
      charts/caduser/v0.1.0/values.yaml

12
charts/caduser/v0.1.0/questions.yaml

@ -225,6 +225,18 @@ questions:
- "snappy" - "snappy"
- "none" - "none"
required: false required: false
- variable: postgresql.backup.schedule.immediate
default: true
description: "Executar backup imediato quando o ScheduledBackup for criado?"
label: "Backup Imediato"
type: boolean
required: false
- variable: postgresql.backup.schedule.cron
default: "0 0 2 * * *"
description: "Agendamento de backup em cron (segundo minuto hora dia mês dia-da-semana). Padrão: 2:00 AM diariamente"
label: "Agendamento (Cron)"
type: string
required: false
# Memcached # Memcached
- variable: memcached.enabled - variable: memcached.enabled

31
charts/caduser/v0.1.0/templates/postgresql-scheduled-backup.yaml

@ -0,0 +1,31 @@
{{- if and .Values.postgresql.enabled .Values.postgresql.backup.enabled }}
apiVersion: postgresql.cnpg.io/v1
kind: ScheduledBackup
metadata:
name: {{ .Values.postgresql.clusterName }}-scheduled-backup
namespace: {{ .Release.Namespace }}
labels:
{{- include "caduser.labels" . | nindent 4 }}
spec:
# Run an immediate backup when the ScheduledBackup is created
immediate: {{ .Values.postgresql.backup.schedule.immediate }}
# Schedule backups using cron expression
schedule: {{ .Values.postgresql.backup.schedule.cron | quote }}
# Use Barman Cloud plugin for backups
method: plugin
# Configure the Barman Cloud plugin
pluginConfiguration:
name: barman-cloud.cloudnative-pg.io
parameters:
barmanObjectName: {{ .Values.postgresql.clusterName }}
# Reference to the PostgreSQL cluster
cluster:
name: {{ .Values.postgresql.clusterName }}
# Set the cluster as the owner of the backup resources
backupOwnerReference: cluster
{{- end }}

8
charts/caduser/v0.1.0/values.yaml

@ -129,6 +129,14 @@ postgresql:
compression: gzip compression: gzip
jobs: 2 jobs: 2
# Scheduled backup configuration
schedule:
# Run an immediate backup when the ScheduledBackup is created
immediate: true
# Cron schedule for regular backups (every day at 2 AM)
# Format: second minute hour day month day-of-week
cron: "0 0 2 * * *"
memcached: memcached:
enabled: true enabled: true
image: image:

Loading…
Cancel
Save