接続先と設定
接続先
既定の接続先は本番(prod)です。
| 接続先 | API のベース URL |
|---|---|
prod | 本番 API |
test | 既定値なし(TAGRU_API_URL で指定する) |
localhost | http://localhost:5555/api/v1 |
接続先は次の順で決まります。
- コマンドの
--target <name>(-t <name>) - 環境変数
TAGRU_TARGET tagru target <name>やtagru login --target <name>で保存した接続先prod
ログイン状態(トークン)と、tagru use で選んだワークスペースは、接続先ごとに別々に保存します。
環境変数
| 変数 | 内容 |
|---|---|
TAGRU_TARGET | 接続先(--target が優先、保存済みの設定より優先) |
TAGRU_API_URL | API のベース URL を上書きする(https 必須。http は localhost のみ) |
TAGRU_CONFIG_DIR | 設定ディレクトリを上書きする |
TAGRU_CREDENTIAL_STORE | file でトークンをキーチェーンではなくファイルに保存する |
設定ディレクトリ
$XDG_CONFIG_HOME/tagru(未設定なら~/.config/tagru)- Windows は
%APPDATA%\tagru TAGRU_CONFIG_DIRで上書きできます
設定ディレクトリには、既定の接続先と、接続先ごとに選んだワークスペースを config.json に保存します。
トークンの保存先
- OS のキーチェーン(macOS Keychain / Linux の Secret Service(libsecret)/ Windows Credential Manager)
- キーチェーンが使えない環境では、設定ディレクトリの
credentials.json(権限 600)に保存しますTAGRU_CREDENTIAL_STORE=fileで、キーチェーンを使わずファイルに保存します
アクセストークンの期限が切れたときは、保存済みのリフレッシュトークンで自動的に更新します。 複数のコマンドを同時に実行しても、更新は 1 つずつ行い、先に更新したコマンドのトークンをほかのコマンドも使います。 更新している間だけ、設定ディレクトリに refresh-<接続先>.lock を作ります(落ちたコマンドのものが残っていても、自動で取り直します)。 この仕組みは、1 台の PC の中で同時に実行する場合を前提にしています。設定ディレクトリを複数の PC で共有している(ネットワークドライブなど)と、ほかの PC のコマンドが動いているかを判定できないため、同時に実行しないでください。 Windows の実機では、まだ動作を確認していません。 tagru logout でサーバー側のトークンを失効させ、保存済みのトークンを削除します。