Skip to content

Commit 3cb0686

Browse files
committed
pg16 for AWS
1 parent 59a7610 commit 3cb0686

File tree

2 files changed

+8
-30
lines changed

2 files changed

+8
-30
lines changed

Dockerfile

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,12 @@
11
FROM alpine:3.18
22

3-
RUN apk add --update \
4-
python3 \
5-
curl \
6-
which \
7-
bash
8-
9-
RUN curl -sSL https://sdk.cloud.google.com | bash
10-
11-
ENV PATH $PATH:/root/google-cloud-sdk/bin
12-
133
RUN apk update \
14-
&& apk --no-cache add dumb-init postgresql15-client curl
4+
&& apk --no-cache add dumb-init postgresql-client curl aws-cli
155

166
RUN curl -L https://github.com/odise/go-cron/releases/download/v0.0.7/go-cron-linux.gz | zcat > /usr/local/bin/go-cron && chmod +x /usr/local/bin/go-cron
177

188
COPY entrypoint.sh .
199
COPY backup.sh .
2010

2111
ENTRYPOINT ["/usr/bin/dumb-init", "--"]
22-
CMD ["sh", "entrypoint.sh"]
12+
CMD ["sh", "entrypoint.sh"]

backup.sh

Lines changed: 6 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -48,41 +48,28 @@ case "${PG_BACKUP_ACTION:-dump}" in
4848
AWS_ARGS="--endpoint-url ${S3_ENDPOINT}"
4949
fi
5050

51-
# Google Cloud Auth
52-
echo "Authenticating to Google Cloud..."
53-
echo $S3_SECRET_ACCESS_KEY | base64 -d > /key.json
54-
gcloud auth activate-service-account --key-file /key.json --project "$S3_ACCESS_KEY_ID" -q
55-
5651
# env vars needed for aws tools
5752
export AWS_ACCESS_KEY_ID=$S3_ACCESS_KEY_ID
5853
export AWS_SECRET_ACCESS_KEY=$S3_SECRET_ACCESS_KEY
5954
export AWS_DEFAULT_REGION=$S3_REGION
6055

61-
# Define a cleanup function
62-
cleanup() {
63-
echo "Cleaning up..."
64-
rm -f dump.backup
65-
}
66-
67-
# Set a trap to call the cleanup function when the script exits
68-
trap cleanup EXIT
69-
7056
# TODO: check if database is fresh
7157
echo "Snapshotting $POSTGRES_DB database"
7258
pg_dump -Fc $POSTGRES_HOST_OPTS $POSTGRES_DB > dump.backup
59+
aws configure set default.s3.multipart_chunksize 16MB
7360

7461
if [ "${PRIVATE_BACKUP}" == "true" ] || [ "${PRIVATE_BACKUP}" == "1" ]; then
7562
echo "Rotating old snapshot"
76-
gsutil cp gs://$S3_BUCKET/$S3_PATH/$S3_FILENAME.backup gs://$S3_BUCKET/$S3_PATH/$S3_FILENAME.old.backup || true
63+
aws $AWS_ARGS s3 cp s3://$S3_BUCKET/$S3_PATH/$S3_FILENAME.backup s3://$S3_BUCKET/$S3_PATH/$S3_FILENAME.old.backup --acl private || true
7764

7865
echo "Uploading fresh private snapshot to $S3_BUCKET/$S3_PATH/$S3_FILENAME"
79-
cat dump.backup | gsutil cp - gs://$S3_BUCKET/$S3_PATH/$S3_FILENAME.backup || exit 2
66+
cat dump.backup | aws $AWS_ARGS s3 cp - s3://$S3_BUCKET/$S3_PATH/$S3_FILENAME.backup --acl private || exit 2
8067
else
8168
echo "Rotating old snapshot"
82-
gsutil cp -a public-read gs://$S3_BUCKET/$S3_PATH/$S3_FILENAME.backup gs://$S3_BUCKET/$S3_PATH/$S3_FILENAME.old.backup || true
69+
aws $AWS_ARGS s3 cp s3://$S3_BUCKET/$S3_PATH/$S3_FILENAME.backup s3://$S3_BUCKET/$S3_PATH/$S3_FILENAME.old.backup --acl public-read || true
8370

8471
echo "Uploading fresh public snapshot to $S3_BUCKET/$S3_PATH/$S3_FILENAME"
85-
cat dump.backup | gsutil cp -a public-read - gs://$S3_BUCKET/$S3_PATH/$S3_FILENAME.backup || exit 2
72+
cat dump.backup | aws $AWS_ARGS s3 cp - s3://$S3_BUCKET/$S3_PATH/$S3_FILENAME.backup --acl public-read || exit 2
8673
fi
8774

8875
echo "Snapshot uploaded successfully, removing local file"
@@ -106,3 +93,4 @@ case "${PG_BACKUP_ACTION:-dump}" in
10693
pg_restore -v -d $POSTGRES_DB $POSTGRES_HOST_OPTS dump.backup
10794
;;
10895
esac
96+

0 commit comments

Comments
 (0)