northflankのvolumeをbackupする
northflank
のapiではvolumeをexportする方法が用意されてないみたいなので、これを自動化する必要があります。
# https://northflank.com/docs/v1/api/volumes/get-volume
$ northflank get volume
# https://northflank.com/docs/v1/api/volumes/update-volume
$ northflank update volume
具体的にはgit
のprivate-repoを使用します。
$ northflank exec service --project $PROJECT --service $SERVICE --cmd "/data/backup.sh $TOKEN"
#!/bin/bash
TOKEN=$1
git config --global user.email $MAIL
git config --global user.name $USER
cd /data/$REPO
git remote add origin https://[email protected]/$USER/$REPO
git add .
git commit -m backup
git push origin main
git remote rm origin
この場合、volumeにdeploy-keyを置いて[email protected]
でアクセスするよりtokenでアクセスしたほうが良いでしょう。
ただし、tokenの場合は$REPO/.git/config
に残っていないかチェックしておきましょう。