mirror of
https://github.com/garraflavatra/docker-volume-s3-backup.git
synced 2025-05-17 13:14:38 +00:00
use build args instead of templating
This commit is contained in:
parent
563c0fdbdf
commit
31f3a471bc
@ -1,6 +1,7 @@
|
||||
FROM alpine:{alpine_version}
|
||||
ARG ALPINE_VERSION
|
||||
FROM alpine:${ALPINE_VERSION}
|
||||
|
||||
ADD install.sh install.sh
|
||||
ADD src/install.sh install.sh
|
||||
RUN sh install.sh && rm install.sh
|
||||
|
||||
ENV POSTGRES_DATABASE ''
|
||||
@ -19,8 +20,8 @@ ENV S3_S3V4 'no'
|
||||
ENV SCHEDULE ''
|
||||
ENV PASSPHRASE ''
|
||||
|
||||
ADD run.sh run.sh
|
||||
ADD backup.sh backup.sh
|
||||
ADD restore.sh restore.sh
|
||||
ADD src/run.sh run.sh
|
||||
ADD src/backup.sh backup.sh
|
||||
ADD src/restore.sh restore.sh
|
||||
|
||||
CMD ["sh", "run.sh"]
|
17
hooks/build
Executable file
17
hooks/build
Executable file
@ -0,0 +1,17 @@
|
||||
#!/bin/bash
|
||||
set -eux
|
||||
|
||||
declare -A arr
|
||||
arr[9]=3.6
|
||||
arr[10]=3.8
|
||||
arr[11]=3.10
|
||||
arr[12]=edge
|
||||
|
||||
|
||||
for i in "${!arr[@]}"; do
|
||||
docker build \
|
||||
--build-arg "ALPINE_VERSION=${arr[$i]}" \
|
||||
--tag "postgres-backup-s3:$i" \
|
||||
.
|
||||
done
|
||||
|
10
hooks/push
Executable file
10
hooks/push
Executable file
@ -0,0 +1,10 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -eux
|
||||
|
||||
pg_versions=(9 10 11 12)
|
||||
|
||||
for pg_ver in ${pg_versions[@]}; do
|
||||
docker tag postgres-backup-s3:$pg_ver $DOCKER_REPO:$pg_ver
|
||||
docker push $DOCKER_REPO:$pg_ver
|
||||
done
|
25
render.py
25
render.py
@ -1,25 +0,0 @@
|
||||
#!/usr/bin/python3
|
||||
|
||||
VERSIONS = (
|
||||
('9', '3.6'),
|
||||
('10', '3.8'),
|
||||
('11', '3.10'),
|
||||
('12', 'edge'),
|
||||
)
|
||||
|
||||
|
||||
def render(postgres_version, alpine_version):
|
||||
with open(f'template.Dockerfile') as f:
|
||||
template = f.read()
|
||||
|
||||
rendered = template.format(alpine_version=alpine_version)
|
||||
|
||||
with open(f'src/{postgres_version}.Dockerfile', 'w') as f:
|
||||
f.write('# This file is generated from template.Dockerfile. Do not edit it directly.\n')
|
||||
f.write('###########################################################################\n\n')
|
||||
f.write(rendered)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
for versions in VERSIONS:
|
||||
render(*versions)
|
@ -1,29 +0,0 @@
|
||||
# This file is generated from template.Dockerfile. Do not edit it directly.
|
||||
###########################################################################
|
||||
|
||||
FROM alpine:3.8
|
||||
|
||||
ADD install.sh install.sh
|
||||
RUN sh install.sh && rm install.sh
|
||||
|
||||
ENV POSTGRES_DATABASE ''
|
||||
ENV POSTGRES_HOST ''
|
||||
ENV POSTGRES_PORT 5432
|
||||
ENV POSTGRES_USER ''
|
||||
ENV POSTGRES_PASSWORD ''
|
||||
ENV PGDUMP_EXTRA_OPTS ''
|
||||
ENV S3_ACCESS_KEY_ID ''
|
||||
ENV S3_SECRET_ACCESS_KEY ''
|
||||
ENV S3_BUCKET ''
|
||||
ENV S3_REGION 'us-west-1'
|
||||
ENV S3_PATH 'backup'
|
||||
ENV S3_ENDPOINT ''
|
||||
ENV S3_S3V4 'no'
|
||||
ENV SCHEDULE ''
|
||||
ENV PASSPHRASE ''
|
||||
|
||||
ADD run.sh run.sh
|
||||
ADD backup.sh backup.sh
|
||||
ADD restore.sh restore.sh
|
||||
|
||||
CMD ["sh", "run.sh"]
|
@ -1,29 +0,0 @@
|
||||
# This file is generated from template.Dockerfile. Do not edit it directly.
|
||||
###########################################################################
|
||||
|
||||
FROM alpine:3.10
|
||||
|
||||
ADD install.sh install.sh
|
||||
RUN sh install.sh && rm install.sh
|
||||
|
||||
ENV POSTGRES_DATABASE ''
|
||||
ENV POSTGRES_HOST ''
|
||||
ENV POSTGRES_PORT 5432
|
||||
ENV POSTGRES_USER ''
|
||||
ENV POSTGRES_PASSWORD ''
|
||||
ENV PGDUMP_EXTRA_OPTS ''
|
||||
ENV S3_ACCESS_KEY_ID ''
|
||||
ENV S3_SECRET_ACCESS_KEY ''
|
||||
ENV S3_BUCKET ''
|
||||
ENV S3_REGION 'us-west-1'
|
||||
ENV S3_PATH 'backup'
|
||||
ENV S3_ENDPOINT ''
|
||||
ENV S3_S3V4 'no'
|
||||
ENV SCHEDULE ''
|
||||
ENV PASSPHRASE ''
|
||||
|
||||
ADD run.sh run.sh
|
||||
ADD backup.sh backup.sh
|
||||
ADD restore.sh restore.sh
|
||||
|
||||
CMD ["sh", "run.sh"]
|
@ -1,29 +0,0 @@
|
||||
# This file is generated from template.Dockerfile. Do not edit it directly.
|
||||
###########################################################################
|
||||
|
||||
FROM alpine:edge
|
||||
|
||||
ADD install.sh install.sh
|
||||
RUN sh install.sh && rm install.sh
|
||||
|
||||
ENV POSTGRES_DATABASE ''
|
||||
ENV POSTGRES_HOST ''
|
||||
ENV POSTGRES_PORT 5432
|
||||
ENV POSTGRES_USER ''
|
||||
ENV POSTGRES_PASSWORD ''
|
||||
ENV PGDUMP_EXTRA_OPTS ''
|
||||
ENV S3_ACCESS_KEY_ID ''
|
||||
ENV S3_SECRET_ACCESS_KEY ''
|
||||
ENV S3_BUCKET ''
|
||||
ENV S3_REGION 'us-west-1'
|
||||
ENV S3_PATH 'backup'
|
||||
ENV S3_ENDPOINT ''
|
||||
ENV S3_S3V4 'no'
|
||||
ENV SCHEDULE ''
|
||||
ENV PASSPHRASE ''
|
||||
|
||||
ADD run.sh run.sh
|
||||
ADD backup.sh backup.sh
|
||||
ADD restore.sh restore.sh
|
||||
|
||||
CMD ["sh", "run.sh"]
|
@ -1,29 +0,0 @@
|
||||
# This file is generated from template.Dockerfile. Do not edit it directly.
|
||||
###########################################################################
|
||||
|
||||
FROM alpine:3.6
|
||||
|
||||
ADD install.sh install.sh
|
||||
RUN sh install.sh && rm install.sh
|
||||
|
||||
ENV POSTGRES_DATABASE ''
|
||||
ENV POSTGRES_HOST ''
|
||||
ENV POSTGRES_PORT 5432
|
||||
ENV POSTGRES_USER ''
|
||||
ENV POSTGRES_PASSWORD ''
|
||||
ENV PGDUMP_EXTRA_OPTS ''
|
||||
ENV S3_ACCESS_KEY_ID ''
|
||||
ENV S3_SECRET_ACCESS_KEY ''
|
||||
ENV S3_BUCKET ''
|
||||
ENV S3_REGION 'us-west-1'
|
||||
ENV S3_PATH 'backup'
|
||||
ENV S3_ENDPOINT ''
|
||||
ENV S3_S3V4 'no'
|
||||
ENV SCHEDULE ''
|
||||
ENV PASSPHRASE ''
|
||||
|
||||
ADD run.sh run.sh
|
||||
ADD backup.sh backup.sh
|
||||
ADD restore.sh restore.sh
|
||||
|
||||
CMD ["sh", "run.sh"]
|
@ -1,6 +1,6 @@
|
||||
#! /bin/sh
|
||||
|
||||
set -e
|
||||
set -eux
|
||||
set -o pipefail
|
||||
|
||||
apk update
|
||||
@ -11,8 +11,8 @@ apk add postgresql-client
|
||||
# install gpg
|
||||
apk add gnupg
|
||||
|
||||
# install s3 tools
|
||||
apk add python3
|
||||
apk add py3-pip # separate package on edge only
|
||||
pip3 install awscli
|
||||
|
||||
# install go-cron
|
||||
|
Loading…
x
Reference in New Issue
Block a user