diff --git a/ci/matrix.json b/ci/matrix.json index 2bf1780..3c96ac8 100644 --- a/ci/matrix.json +++ b/ci/matrix.json @@ -61,7 +61,7 @@ "context": "./docker/pg-backup", "dockerfile": "./docker/pg-backup/Dockerfile", "target": "build", - "tag": "1.5.0", + "tag": "1.6.0", "latest": false } }, @@ -72,7 +72,7 @@ "context": "./docker/pg-backup", "dockerfile": "./docker/pg-backup/Dockerfile", "target": "build", - "tag": "2.1.0", + "tag": "2.2.0", "latest": false } }, @@ -83,7 +83,7 @@ "context": "./docker/pg-backup", "dockerfile": "./docker/pg-backup/Dockerfile", "target": "build", - "tag": "3.1.0", + "tag": "3.2.0", "latest": true } }, @@ -94,7 +94,7 @@ "context": "./docker/s3-backup", "dockerfile": "./docker/s3-backup/Dockerfile", "target": "build", - "tag": "1.1.4", + "tag": "1.2.0", "latest": true } }, @@ -105,7 +105,7 @@ "context": "./docker/vault-backup", "dockerfile": "./docker/vault-backup/Dockerfile", "target": "build", - "tag": "1.3.0", + "tag": "1.4.0", "latest": true } } diff --git a/docker/pg-backup/backup.sh b/docker/pg-backup/backup.sh index 5fcbb40..e93aa9d 100755 --- a/docker/pg-backup/backup.sh +++ b/docker/pg-backup/backup.sh @@ -10,6 +10,7 @@ printf "Settings: > S3_ENDPOINT: ${S3_ENDPOINT} > S3_BUCKET_NAME: ${S3_BUCKET_NAME} > S3_BUCKET_PREFIX: ${S3_BUCKET_PREFIX} + > S3_PATH_STYLE: ${S3_PATH_STYLE} > RETENTION: ${RETENTION} > MC_EXTRA_ARGS: ${MC_EXTRA_ARGS}\n" @@ -17,7 +18,12 @@ printf "Settings: # Add s3 host to minio-cli printf "\n\nAdd minio alias\n\n" -mc ${MC_EXTRA_ARGS} alias set backup_host "${S3_ENDPOINT}" "${S3_ACCESS_KEY}" "${S3_SECRET_KEY}" +if [ "${S3_PATH_STYLE}" = "false" ]; then + mc ${MC_EXTRA_ARGS} alias set backup_host "$(echo ${S3_ENDPOINT} | sed -E 's|(https?://)([^.]+\.)(.+)|\1\3|')" "${S3_ACCESS_KEY}" "${S3_SECRET_KEY}" +else + mc ${MC_EXTRA_ARGS} alias set backup_host "${S3_ENDPOINT}" "${S3_ACCESS_KEY}" "${S3_SECRET_KEY}" +fi + # Start dump and stream to s3 printf "\n\nStart backup\n\n" @@ -27,6 +33,7 @@ PGPASSWORD="${DB_PASS}" pg_dump -Fc -U "${DB_USER}" -h "${DB_HOST}" -p "${DB_POR printf "\n\nBackup finished\n\n" + # Delete backups older than if [ ! -z "${RETENTION}" ]; then printf "\n\nDelete backups older than ${RETENTION} in '${S3_BUCKET_NAME}${S3_BUCKET_PREFIX:+/}${S3_BUCKET_PREFIX}'\n\n" diff --git a/docker/pg-backup/cronjob.yaml b/docker/pg-backup/cronjob.yaml index 951d3d8..48fcb40 100644 --- a/docker/pg-backup/cronjob.yaml +++ b/docker/pg-backup/cronjob.yaml @@ -14,6 +14,7 @@ data: S3_SECRET_KEY: "" S3_BUCKET_NAME: "" S3_BUCKET_PREFIX: "" + S3_PATH_STYLE: "" RETENTION: "" MC_EXTRA_ARGS: "" diff --git a/docker/s3-backup/backup.sh b/docker/s3-backup/backup.sh index 7476c30..fc1a5cf 100755 --- a/docker/s3-backup/backup.sh +++ b/docker/s3-backup/backup.sh @@ -7,14 +7,21 @@ printf "Settings: > TARGET_S3_ENDPOINT: ${TARGET_S3_ENDPOINT} > TARGET_S3_BUCKET_NAME: ${TARGET_S3_BUCKET_NAME} > TARGET_S3_BUCKET_PREFIX: ${TARGET_S3_BUCKET_PREFIX} + > S3_PATH_STYLE: ${S3_PATH_STYLE} > MC_EXTRA_ARGS: ${MC_EXTRA_ARGS}\n" # Add s3 host to minio-cli printf "\n\nAdd minio alias\n\n" -mc alias set source_host "${SOURCE_S3_ENDPOINT}" "${SOURCE_S3_ACCESS_KEY}" "${SOURCE_S3_SECRET_KEY}" -mc alias set target_host "${TARGET_S3_ENDPOINT}" "${TARGET_S3_ACCESS_KEY}" "${TARGET_S3_SECRET_KEY}" +if [ "${S3_PATH_STYLE}" = "false" ]; then + mc alias set source_host "$(echo ${SOURCE_S3_ENDPOINT} | sed -E 's|(https?://)([^.]+\.)(.+)|\1\3|')" "${SOURCE_S3_ACCESS_KEY}" "${SOURCE_S3_SECRET_KEY}" + mc alias set target_host "$(echo ${TARGET_S3_ENDPOINT} | sed -E 's|(https?://)([^.]+\.)(.+)|\1\3|')" "${TARGET_S3_ACCESS_KEY}" "${TARGET_S3_SECRET_KEY}" +else + mc alias set source_host "${SOURCE_S3_ENDPOINT}" "${SOURCE_S3_ACCESS_KEY}" "${SOURCE_S3_SECRET_KEY}" + mc alias set target_host "${TARGET_S3_ENDPOINT}" "${TARGET_S3_ACCESS_KEY}" "${TARGET_S3_SECRET_KEY}" +fi + # Start s3 bucket backup printf "\n\nStart backup\n\n" diff --git a/docker/s3-backup/cronjob.yaml b/docker/s3-backup/cronjob.yaml index 77fba4b..f310a4b 100644 --- a/docker/s3-backup/cronjob.yaml +++ b/docker/s3-backup/cronjob.yaml @@ -14,6 +14,7 @@ data: TARGET_S3_SECRET_KEY: "" TARGET_S3_BUCKET_NAME: "" TARGET_S3_BUCKET_PREFIX: "" + S3_PATH_STYLE: "" MC_EXTRA_ARGS: "" --- diff --git a/docker/vault-backup/backup.sh b/docker/vault-backup/backup.sh index 0b6b771..8ee94ea 100755 --- a/docker/vault-backup/backup.sh +++ b/docker/vault-backup/backup.sh @@ -8,6 +8,7 @@ printf "Settings: > S3_ENDPOINT: ${S3_ENDPOINT} > S3_BUCKET_NAME: ${S3_BUCKET_NAME} > S3_BUCKET_PREFIX: ${S3_BUCKET_PREFIX} + > S3_PATH_STYLE: ${S3_PATH_STYLE} > RETENTION: ${RETENTION} > MC_EXTRA_ARGS: ${MC_EXTRA_ARGS}\n" @@ -15,7 +16,12 @@ printf "Settings: # Add s3 host to minio-cli printf "\n\nAdd minio alias\n\n" -mc ${MC_EXTRA_ARGS} alias set backup_host "${S3_ENDPOINT}" "${S3_ACCESS_KEY}" "${S3_SECRET_KEY}" +if [ "${S3_PATH_STYLE}" = "false" ]; then + mc ${MC_EXTRA_ARGS} alias set backup_host "$(echo ${S3_ENDPOINT} | sed -E 's|(https?://)([^.]+\.)(.+)|\1\3|')" "${S3_ACCESS_KEY}" "${S3_SECRET_KEY}" +else + mc ${MC_EXTRA_ARGS} alias set backup_host "${S3_ENDPOINT}" "${S3_ACCESS_KEY}" "${S3_SECRET_KEY}" +fi + # Start dump and stream to s3 printf "\n\nStart backup\n\n" @@ -26,6 +32,7 @@ echo "${VAULT_TOKEN}" | vault login -address=${VAULT_ADDR} -non-interactive ${VA printf "\n\nBackup finished\n\n" + # Delete backups older than if [ ! -z "${RETENTION}" ]; then printf "\n\nDelete backups older than ${RETENTION} in '${S3_BUCKET_NAME}${S3_BUCKET_PREFIX:+/}${S3_BUCKET_PREFIX}'\n\n" diff --git a/docker/vault-backup/cronjob.yaml b/docker/vault-backup/cronjob.yaml index 95bcb57..63c5a4d 100644 --- a/docker/vault-backup/cronjob.yaml +++ b/docker/vault-backup/cronjob.yaml @@ -12,6 +12,7 @@ data: S3_SECRET_KEY: "" S3_BUCKET_NAME: "" S3_BUCKET_PREFIX: "" + S3_PATH_STYLE: "" RETENTION: "" MC_EXTRA_ARGS: ""