Loading Dockerfile +8 −12 Original line number Diff line number Diff line Loading @@ -4,18 +4,17 @@ FROM alpine:${ALPINE_IMAGE_TAG} LABEL maintainer="info@redmic.es" ENV POSTGRES_PORT="5432" \ POSTGRES_PASS_FILE="/root/.pgpass" \ POSTGRES_DUMP_PATH="/tmp/backup" \ AWS_DEFAULT_REGION="eu-west-1" \ PUSHGATEWAY_HOST="pushgateway:9091" \ AWS_OUTPUT="json" ENV POSTGRES_USER=postgres \ POSTGRES_PORT=5432 \ POSTGRES_DUMP_PATH=/tmp/backup \ POSTGRES_PASS_FILE=/root/.pgpass \ AWS_DEFAULT_REGION=eu-west-1 \ PUSHGATEWAY_HOST=pushgateway:9091 \ AWS_OUTPUT=json COPY scripts / ARG POSTGRES_PASS_FILE="/root/.pgpass" \ POSTGRES_DUMP_PATH="/tmp/backup" \ CURL_VERSION=7.74.0-r1 \ ARG CURL_VERSION=7.74.0-r1 \ POSTGRESQL_CLIENT_VERSION=13.2-r0 \ BASH_VERSION=5.1.0-r0 Loading @@ -32,9 +31,6 @@ RUN apk update && \ ARG GLIBC_VERSION=2.33-r0 \ AWS_CLI_VERSION=2.0.30 ENV GLIBC_VERSION=${GLIBC_VERSION} \ AWS_CLI_VERSION=${AWS_CLI_VERSION} # hadolint ignore=DL3018 RUN curl -sL https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub -o /etc/apk/keys/sgerrand.rsa.pub && \ curl -sL "https://github.com/sgerrand/alpine-pkg-glibc/releases/download/${GLIBC_VERSION}/glibc-${GLIBC_VERSION}.apk" -o glibc.apk && \ Loading README.md +28 −13 Original line number Diff line number Diff line Loading @@ -5,21 +5,36 @@ Also sends metrics to Prometheus through Pushgateway.  ## Build arguments | Name | Description | |---------------------------|--------------------------------------| | ALPINE_IMAGE_TAG | Base Docker image tag | | CURL_VERSION | cURL dependency version | | POSTGRESQL_CLIENT_VERSION | PostgreSQL-client dependency version | | BASH_VERSION | Bash dependency version | | GLIBC_VERSION | glibc dependency version | | AWS_CLI_VERSION | AWS (cli v2) dependency version | ## Variables | Name | Description | Default | |-----------------------|-------------------------------|-------------------| |-----------------------|---------------------------------|----------------------| | POSTGRES_USER | Database username | postgres | | POSTGRES_PASSWORD | Database password | password | | POSTGRES_HOSTNAME | Database hostname | postgresql | | POSTGRES_PASSWORD | Database password | changeme | | POSTGRES_HOSTNAME | Database hostname | changeme | | POSTGRES_PORT | Database port | 5432 | | POSTGRES_DUMP_PATH | Temporal path | /tmp/backup | | BUCKET_BACKUP_DB | Bucket name for upload backup | | | AWS_ACCESS_KEY_ID | Credentials AWS | | | AWS_SECRET_ACCESS_KEY | Credentials AWS | | | AWS_DEFAULT_REGION | Region AWS | eu-west-1 | | PUSHGATEWAY_HOST | PushGateWay hostname | pushgateway:9091 | | PUSHGATEWAY_JOB | PushGateWay job name | POSTGRES_HOSTNAME | | GZIP | Compression ratio | -9 | | POSTGRES_PASS_FILE | PG credentials file path | /root/.pgpass | | DUMP_FILENAME | File name for uploads | db.dump | | BUCKET_BACKUP_DB | Bucket name for uploads | backup-db | | UPLOAD_ENDPOINT_URL | URL for uploads (S3-compatible) | | | AWS_ACCESS_KEY_ID | AWS credentials | changeme | | AWS_SECRET_ACCESS_KEY | AWS credentials | changeme | | AWS_DEFAULT_REGION | AWS region | eu-west-1 | | AWS_OUTPUT | AWS output format | json | | PUSHGATEWAY_HOST | Pushgateway hostname | pushgateway:9091 | | PUSHGATEWAY_JOB | Pushgateway job name | ${POSTGRES_HOSTNAME} | ## Metrics Loading deploy/.env +0 −3 Original line number Diff line number Diff line ALPINE_IMAGE_TAG=3.13 POSTGRES_PASS_FILE=/root/.pgpass POSTGRES_DUMP_PATH=/tmp/backup CURL_VERSION=7.74.0-r1 POSTGRESQL_CLIENT_VERSION=13.2-r0 BASH_VERSION=5.1.0-r0 Loading @@ -19,4 +17,3 @@ BUCKET_BACKUP_DB=backup-db AWS_OUTPUT=json PUSHGATEWAY_HOST=pushgateway:9091 PUSHGATEWAY_JOB=changeme deploy/docker-compose.tmpl.yml +5 −4 Original line number Diff line number Diff line Loading @@ -2,14 +2,12 @@ version: '3.5' services: backup-postgresql: image: ${BACKUP_POSTGRESQL_IMAGE_NAME:-registry.gitlab.com/redmic-project/postgres/backup-db}:${BACKUP_POSTGRESQL_IMAGE_TAG:-latest} image: ${BACKUP_POSTGRESQL_IMAGE_NAME:-registry.gitlab.com/redmic-project/postgres/backup-postgresql}:${BACKUP_POSTGRESQL_IMAGE_TAG:-latest} build: context: .. dockerfile: ${BACKUP_POSTGRESQL_DOCKERFILE:-Dockerfile} args: ALPINE_IMAGE_TAG: POSTGRES_PASS_FILE: POSTGRES_DUMP_PATH: CURL_VERSION: POSTGRESQL_CLIENT_VERSION: BASH_VERSION: Loading @@ -20,12 +18,15 @@ services: POSTGRES_PASSWORD: POSTGRES_HOSTNAME: POSTGRES_PORT: POSTGRES_DUMP_PATH: POSTGRES_PASS_FILE: DUMP_FILENAME: BUCKET_BACKUP_DB: UPLOAD_ENDPOINT_URL: AWS_ACCESS_KEY_ID: AWS_SECRET_ACCESS_KEY: AWS_DEFAULT_REGION: AWS_OUTPUT: UPLOAD_ENDPOINT_URL: PUSHGATEWAY_HOST: PUSHGATEWAY_JOB: networks: Loading Loading
Dockerfile +8 −12 Original line number Diff line number Diff line Loading @@ -4,18 +4,17 @@ FROM alpine:${ALPINE_IMAGE_TAG} LABEL maintainer="info@redmic.es" ENV POSTGRES_PORT="5432" \ POSTGRES_PASS_FILE="/root/.pgpass" \ POSTGRES_DUMP_PATH="/tmp/backup" \ AWS_DEFAULT_REGION="eu-west-1" \ PUSHGATEWAY_HOST="pushgateway:9091" \ AWS_OUTPUT="json" ENV POSTGRES_USER=postgres \ POSTGRES_PORT=5432 \ POSTGRES_DUMP_PATH=/tmp/backup \ POSTGRES_PASS_FILE=/root/.pgpass \ AWS_DEFAULT_REGION=eu-west-1 \ PUSHGATEWAY_HOST=pushgateway:9091 \ AWS_OUTPUT=json COPY scripts / ARG POSTGRES_PASS_FILE="/root/.pgpass" \ POSTGRES_DUMP_PATH="/tmp/backup" \ CURL_VERSION=7.74.0-r1 \ ARG CURL_VERSION=7.74.0-r1 \ POSTGRESQL_CLIENT_VERSION=13.2-r0 \ BASH_VERSION=5.1.0-r0 Loading @@ -32,9 +31,6 @@ RUN apk update && \ ARG GLIBC_VERSION=2.33-r0 \ AWS_CLI_VERSION=2.0.30 ENV GLIBC_VERSION=${GLIBC_VERSION} \ AWS_CLI_VERSION=${AWS_CLI_VERSION} # hadolint ignore=DL3018 RUN curl -sL https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub -o /etc/apk/keys/sgerrand.rsa.pub && \ curl -sL "https://github.com/sgerrand/alpine-pkg-glibc/releases/download/${GLIBC_VERSION}/glibc-${GLIBC_VERSION}.apk" -o glibc.apk && \ Loading
README.md +28 −13 Original line number Diff line number Diff line Loading @@ -5,21 +5,36 @@ Also sends metrics to Prometheus through Pushgateway.  ## Build arguments | Name | Description | |---------------------------|--------------------------------------| | ALPINE_IMAGE_TAG | Base Docker image tag | | CURL_VERSION | cURL dependency version | | POSTGRESQL_CLIENT_VERSION | PostgreSQL-client dependency version | | BASH_VERSION | Bash dependency version | | GLIBC_VERSION | glibc dependency version | | AWS_CLI_VERSION | AWS (cli v2) dependency version | ## Variables | Name | Description | Default | |-----------------------|-------------------------------|-------------------| |-----------------------|---------------------------------|----------------------| | POSTGRES_USER | Database username | postgres | | POSTGRES_PASSWORD | Database password | password | | POSTGRES_HOSTNAME | Database hostname | postgresql | | POSTGRES_PASSWORD | Database password | changeme | | POSTGRES_HOSTNAME | Database hostname | changeme | | POSTGRES_PORT | Database port | 5432 | | POSTGRES_DUMP_PATH | Temporal path | /tmp/backup | | BUCKET_BACKUP_DB | Bucket name for upload backup | | | AWS_ACCESS_KEY_ID | Credentials AWS | | | AWS_SECRET_ACCESS_KEY | Credentials AWS | | | AWS_DEFAULT_REGION | Region AWS | eu-west-1 | | PUSHGATEWAY_HOST | PushGateWay hostname | pushgateway:9091 | | PUSHGATEWAY_JOB | PushGateWay job name | POSTGRES_HOSTNAME | | GZIP | Compression ratio | -9 | | POSTGRES_PASS_FILE | PG credentials file path | /root/.pgpass | | DUMP_FILENAME | File name for uploads | db.dump | | BUCKET_BACKUP_DB | Bucket name for uploads | backup-db | | UPLOAD_ENDPOINT_URL | URL for uploads (S3-compatible) | | | AWS_ACCESS_KEY_ID | AWS credentials | changeme | | AWS_SECRET_ACCESS_KEY | AWS credentials | changeme | | AWS_DEFAULT_REGION | AWS region | eu-west-1 | | AWS_OUTPUT | AWS output format | json | | PUSHGATEWAY_HOST | Pushgateway hostname | pushgateway:9091 | | PUSHGATEWAY_JOB | Pushgateway job name | ${POSTGRES_HOSTNAME} | ## Metrics Loading
deploy/.env +0 −3 Original line number Diff line number Diff line ALPINE_IMAGE_TAG=3.13 POSTGRES_PASS_FILE=/root/.pgpass POSTGRES_DUMP_PATH=/tmp/backup CURL_VERSION=7.74.0-r1 POSTGRESQL_CLIENT_VERSION=13.2-r0 BASH_VERSION=5.1.0-r0 Loading @@ -19,4 +17,3 @@ BUCKET_BACKUP_DB=backup-db AWS_OUTPUT=json PUSHGATEWAY_HOST=pushgateway:9091 PUSHGATEWAY_JOB=changeme
deploy/docker-compose.tmpl.yml +5 −4 Original line number Diff line number Diff line Loading @@ -2,14 +2,12 @@ version: '3.5' services: backup-postgresql: image: ${BACKUP_POSTGRESQL_IMAGE_NAME:-registry.gitlab.com/redmic-project/postgres/backup-db}:${BACKUP_POSTGRESQL_IMAGE_TAG:-latest} image: ${BACKUP_POSTGRESQL_IMAGE_NAME:-registry.gitlab.com/redmic-project/postgres/backup-postgresql}:${BACKUP_POSTGRESQL_IMAGE_TAG:-latest} build: context: .. dockerfile: ${BACKUP_POSTGRESQL_DOCKERFILE:-Dockerfile} args: ALPINE_IMAGE_TAG: POSTGRES_PASS_FILE: POSTGRES_DUMP_PATH: CURL_VERSION: POSTGRESQL_CLIENT_VERSION: BASH_VERSION: Loading @@ -20,12 +18,15 @@ services: POSTGRES_PASSWORD: POSTGRES_HOSTNAME: POSTGRES_PORT: POSTGRES_DUMP_PATH: POSTGRES_PASS_FILE: DUMP_FILENAME: BUCKET_BACKUP_DB: UPLOAD_ENDPOINT_URL: AWS_ACCESS_KEY_ID: AWS_SECRET_ACCESS_KEY: AWS_DEFAULT_REGION: AWS_OUTPUT: UPLOAD_ENDPOINT_URL: PUSHGATEWAY_HOST: PUSHGATEWAY_JOB: networks: Loading