diff --git a/ansible/deploy-to-node.yaml b/ansible/deploy-to-node.yaml index e8cd9757..f1cfe001 100644 --- a/ansible/deploy-to-node.yaml +++ b/ansible/deploy-to-node.yaml @@ -73,8 +73,7 @@ "{{ lookup('ansible.builtin.env', 'AWS_ACCESS_KEY') }}" AWS_SECRET_ACCESS_KEY: "{{ lookup('ansible.builtin.env', 'AWS_SECRET_KEY') }}" - AWS_DEFAULT_REGION: - "{{ lookup('ansible.builtin.env', 'S3_REGION') }}" + AWS_DEFAULT_REGION: "{{ lookup('ansible.builtin.env', 'S3_REGION') }}" volumes: - "oasst-{{ stack_name }}-postgres-{{ item.name }}:/var/lib/postgresql/data" diff --git a/docker/Dockerfile.postgres b/docker/Dockerfile.postgres index b5b98c07..5c4aad80 100644 --- a/docker/Dockerfile.postgres +++ b/docker/Dockerfile.postgres @@ -7,3 +7,5 @@ RUN apt-get update && apt-get install -y unzip curl && rm -rf /var/lib/apt/lists RUN curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" RUN unzip -q awscliv2.zip RUN ./aws/install + +COPY ./backup_pg_to_s3.sh . diff --git a/docker/backup_pg_to_s3.sh b/docker/backup_pg_to_s3.sh new file mode 100755 index 00000000..86ef1691 --- /dev/null +++ b/docker/backup_pg_to_s3.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +set -e +set -x + +# filename with timestamp +filename="postgres-$(date +%Y-%m-%d_%H-%M-%S).sql" + +# perform pg_dump +pg_dump -U postgres postgres > /tmp/$filename + +# upload to s3 +aws s3 cp /tmp/$filename s3://$S3_BUCKET_NAME/$filename