diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml index 2decaf4..646e22a 100644 --- a/.github/workflows/docker.yaml +++ b/.github/workflows/docker.yaml @@ -51,7 +51,7 @@ jobs: username: leon password: ${{ secrets.DOCKER_PAT }} - - name: Build and push - nomad-scale + - name: Build and push - ceph-rbd-backup uses: docker/build-push-action@v6 with: context: ./ceph-rbd-backup @@ -60,3 +60,29 @@ jobs: tags: | gitea.lol3r.com/leon/ceph-rbd-backup:latest gitea.lol3r.com/leon/ceph-rbd-backup:${{ gitea.sha }} + + gcp-backup-upload: + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + submodules: recursive + + - name: Log in to Gitea Container Registry + uses: docker/login-action@v3 + with: + registry: gitea.lol3r.com + username: leon + password: ${{ secrets.DOCKER_PAT }} + + - name: Build and push - gcp-backup-upload + uses: docker/build-push-action@v6 + with: + context: ./gcp-backup-upload + file: ./gcp-backup-upload/Dockerfile + push: true + tags: | + gitea.lol3r.com/leon/gcp-backup-upload:latest + gitea.lol3r.com/leon/gcp-backup-upload:${{ gitea.sha }} diff --git a/gcp-backup-upload/Dockerfile b/gcp-backup-upload/Dockerfile new file mode 100644 index 0000000..170df59 --- /dev/null +++ b/gcp-backup-upload/Dockerfile @@ -0,0 +1,5 @@ +FROM google/cloud-sdk:587.0.0 + +COPY script.sh /script.sh + +ENTRYPOINT ["/bin/bash", "/script.sh"] diff --git a/gcp-backup-upload/README.md b/gcp-backup-upload/README.md new file mode 100644 index 0000000..d1d5909 --- /dev/null +++ b/gcp-backup-upload/README.md @@ -0,0 +1,9 @@ +# GCP-Backup-Upload + +## Environment Variables +| Name | Default | Description | +|---|---|---| +| FILE_TO_TRIGGER | - | TODO | +| FILE_TO_BACKUP | - | TODO | +| BUCKET_URL | - | TODO | +| GCLOUD_KEY_FILE | - | TODO | diff --git a/gcp-backup-upload/script.sh b/gcp-backup-upload/script.sh new file mode 100644 index 0000000..f7344d1 --- /dev/null +++ b/gcp-backup-upload/script.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +set -euo pipefail + +until [ -f ${FILE_TO_TRIGGER} ] +do + sleep 5 +done + +gcloud auth activate-service-account --key-file ${GCLOUD_KEY_FILE}; + +gcloud storage cp ${FILE_TO_BACKUP} ${BUCKET_URL}/;