2024-02-05 / syui

api , northflank

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に残っていないかチェックしておきましょう。