Commit f6f6a644 authored by Pedro Eduardo Trujillo's avatar Pedro Eduardo Trujillo
Browse files

Corrige imagen por defecto, revisa variables

Se actualiza el nombre por defecto de la imagen Docker, que conservaba
restos del antiguo nombre original del proyecto.

Limpia Dockerfile de elementos innecesarios.

Se añaden nuevas variables y se eliminan otras, describiendo su uso
también en el readme del proyecto.
parent 0fa4af85
Loading
Loading
Loading
Loading
+8 −12
Original line number Diff line number Diff line
@@ -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

@@ -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 && \
+28 −13
Original line number Diff line number Diff line
@@ -5,21 +5,36 @@ Also sends metrics to Prometheus through Pushgateway.

![alt schema-db](images/schema-backup-db.png)

## 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

+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
@@ -19,4 +17,3 @@ BUCKET_BACKUP_DB=backup-db
AWS_OUTPUT=json

PUSHGATEWAY_HOST=pushgateway:9091
PUSHGATEWAY_JOB=changeme
+5 −4
Original line number Diff line number Diff line
@@ -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:
@@ -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: