Skip to content

Commit

Permalink
fix: backupcommand for mariadb-dbaas
Browse files Browse the repository at this point in the history
  • Loading branch information
shreddedbacon committed Oct 3, 2023
1 parent f3c6aa5 commit 1a3516f
Show file tree
Hide file tree
Showing 4 changed files with 37 additions and 32 deletions.
43 changes: 31 additions & 12 deletions internal/templating/backups/template_prebackuppod.go
Original file line number Diff line number Diff line change
Expand Up @@ -250,18 +250,29 @@ type PreBackupPods map[string]string

// this is just the first run at doing this, once the service template generator is introduced, this will need to be re-evaluated
var preBackupPodSpecs = PreBackupPods{
"mariadb-dbaas": `backupCommand: >-
"mariadb-dbaas": `backupCommand: >
/bin/sh -c "if [ ! -z $BACKUP_DB_READREPLICAS ]; then
BACKUP_DB_HOST=$(echo $BACKUP_DB_READREPLICAS | cut -d ',' -f1)
fi && dump=$(mktemp) && mysqldump --max-allowed-packet=500M --events
--routines --quick --add-locks --no-autocommit --single-transaction
--no-create-db --no-data -h $BACKUP_DB_HOST -u $BACKUP_DB_USERNAME
-p$BACKUP_DB_PASSWORD $BACKUP_DB_DATABASE > $dump && mysqldump
--max-allowed-packet=500M --events --routines --quick --add-locks
--no-autocommit --single-transaction --no-create-db
--ignore-table=$BACKUP_DB_DATABASE.watchdog --no-create-info -h
$BACKUP_DB_HOST -u $BACKUP_DB_USERNAME -p$BACKUP_DB_PASSWORD
$BACKUP_DB_DATABASE >> $dump && cat $dump && rm $dump"
BACKUP_DB_HOST=$(echo $BACKUP_DB_READREPLICAS | cut -d ',' -f1);
fi &&
dump=$(mktemp)
&& mysqldump --max-allowed-packet=500M --events --routines --quick
--add-locks --no-autocommit --single-transaction --no-create-db
--no-data --no-tablespaces
-h $BACKUP_DB_HOST
-u $BACKUP_DB_USERNAME
-p$BACKUP_DB_PASSWORD
$BACKUP_DB_DATABASE
> $dump
&& mysqldump --max-allowed-packet=500M --events --routines --quick
--add-locks --no-autocommit --single-transaction --no-create-db
--ignore-table=$BACKUP_DB_DATABASE.watchdog
--no-create-info --no-tablespaces --skip-triggers
-h $BACKUP_DB_HOST
-u $BACKUP_DB_USERNAME
-p$BACKUP_DB_PASSWORD
$BACKUP_DB_DATABASE
>> $dump
&& cat $dump && rm $dump"
fileExtension: .{{ .Name }}.sql
pod:
spec:
Expand Down Expand Up @@ -293,7 +304,15 @@ pod:
image: imagecache.amazeeio.cloud/amazeeio/alpine-mysql-client
imagePullPolicy: Always
name: {{ .Name }}-prebackuppod`,
"postgres-dbaas": `backupCommand: /bin/sh -c "if [ ! -z $BACKUP_DB_READREPLICAS ]; then BACKUP_DB_HOST=$(echo $BACKUP_DB_READREPLICAS | cut -d ',' -f1); fi && PGPASSWORD=$BACKUP_DB_PASSWORD pg_dump --host=$BACKUP_DB_HOST --port=$BACKUP_DB_PORT --dbname=$BACKUP_DB_NAME --username=$BACKUP_DB_USERNAME --format=t -w"
"postgres-dbaas": `backupCommand: >
/bin/sh -c "if [ ! -z $BACKUP_DB_READREPLICAS ]; then
BACKUP_DB_HOST=$(echo $BACKUP_DB_READREPLICAS | cut -d ',' -f1);
fi && PGPASSWORD=$BACKUP_DB_PASSWORD pg_dump
--host=$BACKUP_DB_HOST
--port=$BACKUP_DB_PORT
--dbname=$BACKUP_DB_NAME
--username=$BACKUP_DB_USERNAME
--format=t -w"
fileExtension: .{{ .Name }}.tar
pod:
spec:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,8 @@ metadata:
prebackuppod: mariadb-database
name: mariadb-database-prebackuppod
spec:
backupCommand: /bin/sh -c "if [ ! -z $BACKUP_DB_READREPLICAS ]; then BACKUP_DB_HOST=$(echo
$BACKUP_DB_READREPLICAS | cut -d ',' -f1) fi && dump=$(mktemp) && mysqldump --max-allowed-packet=500M
--events --routines --quick --add-locks --no-autocommit --single-transaction --no-create-db
--no-data -h $BACKUP_DB_HOST -u $BACKUP_DB_USERNAME -p$BACKUP_DB_PASSWORD $BACKUP_DB_DATABASE
> $dump && mysqldump --max-allowed-packet=500M --events --routines --quick --add-locks
--no-autocommit --single-transaction --no-create-db --ignore-table=$BACKUP_DB_DATABASE.watchdog
--no-create-info -h $BACKUP_DB_HOST -u $BACKUP_DB_USERNAME -p$BACKUP_DB_PASSWORD
$BACKUP_DB_DATABASE >> $dump && cat $dump && rm $dump"
backupCommand: |
/bin/sh -c "if [ ! -z $BACKUP_DB_READREPLICAS ]; then BACKUP_DB_HOST=$(echo $BACKUP_DB_READREPLICAS | cut -d ',' -f1); fi && dump=$(mktemp) && mysqldump --max-allowed-packet=500M --events --routines --quick --add-locks --no-autocommit --single-transaction --no-create-db --no-data --no-tablespaces -h $BACKUP_DB_HOST -u $BACKUP_DB_USERNAME -p$BACKUP_DB_PASSWORD $BACKUP_DB_DATABASE > $dump && mysqldump --max-allowed-packet=500M --events --routines --quick --add-locks --no-autocommit --single-transaction --no-create-db --ignore-table=$BACKUP_DB_DATABASE.watchdog --no-create-info --no-tablespaces --skip-triggers -h $BACKUP_DB_HOST -u $BACKUP_DB_USERNAME -p$BACKUP_DB_PASSWORD $BACKUP_DB_DATABASE >> $dump && cat $dump && rm $dump"
fileExtension: .mariadb-database.sql
pod:
metadata: {}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,8 @@ metadata:
prebackuppod: postgres-database
name: postgres-database-prebackuppod
spec:
backupCommand: /bin/sh -c "if [ ! -z $BACKUP_DB_READREPLICAS ]; then BACKUP_DB_HOST=$(echo
$BACKUP_DB_READREPLICAS | cut -d ',' -f1); fi && PGPASSWORD=$BACKUP_DB_PASSWORD
pg_dump --host=$BACKUP_DB_HOST --port=$BACKUP_DB_PORT --dbname=$BACKUP_DB_NAME
--username=$BACKUP_DB_USERNAME --format=t -w"
backupCommand: |
/bin/sh -c "if [ ! -z $BACKUP_DB_READREPLICAS ]; then BACKUP_DB_HOST=$(echo $BACKUP_DB_READREPLICAS | cut -d ',' -f1); fi && PGPASSWORD=$BACKUP_DB_PASSWORD pg_dump --host=$BACKUP_DB_HOST --port=$BACKUP_DB_PORT --dbname=$BACKUP_DB_NAME --username=$BACKUP_DB_USERNAME --format=t -w"
fileExtension: .postgres-database.tar
pod:
metadata: {}
Expand Down
10 changes: 2 additions & 8 deletions test-resources/template-backups/test1-results/prebackuppods.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,8 @@ metadata:
prebackuppod: mariadb
name: mariadb-prebackuppod
spec:
backupCommand: /bin/sh -c "if [ ! -z $BACKUP_DB_READREPLICAS ]; then BACKUP_DB_HOST=$(echo
$BACKUP_DB_READREPLICAS | cut -d ',' -f1) fi && dump=$(mktemp) && mysqldump --max-allowed-packet=500M
--events --routines --quick --add-locks --no-autocommit --single-transaction --no-create-db
--no-data -h $BACKUP_DB_HOST -u $BACKUP_DB_USERNAME -p$BACKUP_DB_PASSWORD $BACKUP_DB_DATABASE
> $dump && mysqldump --max-allowed-packet=500M --events --routines --quick --add-locks
--no-autocommit --single-transaction --no-create-db --ignore-table=$BACKUP_DB_DATABASE.watchdog
--no-create-info -h $BACKUP_DB_HOST -u $BACKUP_DB_USERNAME -p$BACKUP_DB_PASSWORD
$BACKUP_DB_DATABASE >> $dump && cat $dump && rm $dump"
backupCommand: |
/bin/sh -c "if [ ! -z $BACKUP_DB_READREPLICAS ]; then BACKUP_DB_HOST=$(echo $BACKUP_DB_READREPLICAS | cut -d ',' -f1); fi && dump=$(mktemp) && mysqldump --max-allowed-packet=500M --events --routines --quick --add-locks --no-autocommit --single-transaction --no-create-db --no-data --no-tablespaces -h $BACKUP_DB_HOST -u $BACKUP_DB_USERNAME -p$BACKUP_DB_PASSWORD $BACKUP_DB_DATABASE > $dump && mysqldump --max-allowed-packet=500M --events --routines --quick --add-locks --no-autocommit --single-transaction --no-create-db --ignore-table=$BACKUP_DB_DATABASE.watchdog --no-create-info --no-tablespaces --skip-triggers -h $BACKUP_DB_HOST -u $BACKUP_DB_USERNAME -p$BACKUP_DB_PASSWORD $BACKUP_DB_DATABASE >> $dump && cat $dump && rm $dump"
fileExtension: .mariadb.sql
pod:
metadata: {}
Expand Down

0 comments on commit 1a3516f

Please sign in to comment.