1
0
hugo/content/blog/2024-02-05-api.md
2024-04-23 22:21:26 +09:00

1.1 KiB

+++ date = "2024-02-05" tags = ["api","northflank"] title = "northflankのvolumeをbackupする" slug = "api" +++

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://$TOKEN@github.com/$USER/$REPO
git add .
git commit -m backup
git push origin main
git remote rm origin

この場合、volumeにdeploy-keyを置いてgit@github.comでアクセスするよりtokenでアクセスしたほうが良いでしょう。

ただし、tokenの場合は$REPO/.git/configに残っていないかチェックしておきましょう。