Skip to content

Backup

Backup #45

Workflow file for this run

name: Backup
on:
schedule:
- cron: '33 3 * * *'
workflow_dispatch: { }
permissions:
contents: read
jobs:
build:
name: Build
runs-on: "ubuntu-latest"
permissions:
id-token: write
contents: read
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Import Secrets
if: env.ACT != 'true'
id: secrets
uses: hashicorp/vault-action@v3.0.0
with:
exportToken: true
exportEnv: true
method: jwt
url: ${{ secrets.VAULT_ADDR }}
role: cicd
secrets: |
kv/data/cicd/r2 endpoint | SRC_S3_HOST ;
kv/data/cicd/r2 access_key_id | SRC_S3_ACCESS_KEY ;
kv/data/cicd/r2 secret_access_key | SRC_S3_SECRET_KEY ;
kv/data/cicd/minio endpoint | DST_S3_HOST ;
kv/data/cicd/minio access_key_id | DST_S3_ACCESS_KEY ;
kv/data/cicd/minio secret_access_key | DST_S3_SECRET_KEY ;
- name: Backup
run: |
set -ex -o pipefail
curl https://dl.min.io/client/mc/release/linux-amd64/mc \
--create-dirs -s \
-o $HOME/minio-binaries/mc
chmod +x $HOME/minio-binaries/mc
export PATH=$PATH:$HOME/minio-binaries/
mc --version
set +x
mc alias set src ${SRC_S3_HOST} ${SRC_S3_ACCESS_KEY} ${SRC_S3_SECRET_KEY}
mc alias set dst ${DST_S3_HOST} ${DST_S3_ACCESS_KEY} ${DST_S3_SECRET_KEY}
set -x
mc mirror src/pg-dump-to-s3 dst/pg-dump-to-s3 --overwrite
mc mirror src/vault-backend dst/vault-backend --overwrite