無料ではじめる
ページの一覧他のサービスからの移行

つかいかた

Markdown で開く

他のサービスからの移行

aikagi import.env 形式をまとめて読み込みます。先に結果だけを確かめてから書き込めます。

ファイルから

aikagi import .env

標準入力からも読めます。手元のファイルに平文を落とさずに済むので、別のコマンドの出力をそのまま流すときはこちらです。

aikagi import -

置き場所は、いま居るリポジトリの .aikagi.toml から決まります。-w -p -e--personal で指定することもできます。

先に確かめる

いきなり書き込ませずに、まず結果だけを見てください。何が増えて、何が更新され、何が飛ばされるかが出ます。

aikagi import .env --dry-run

すでに同じ名前がある鍵は、黙って飛ばします。入れ替えたいときだけ --overwrite を付けてください。

名前の付きかた

読み込んだキーは、そのままの綴りで 1 本ずつの鍵になります。フォルダに入れたいときは指定してください。

aikagi import .env --folder aws/prod --lowercase
--folder置き場所のフォルダ。省くと、その場所の根に入ります。
--lowercase名前を小文字に揃えます。エージェントに届く環境変数の名前は、どちらの綴りでも変わりません。

キーの名前にスラッシュは使えません。フォルダを勝手に生やさないためです。引っかかったら、その行を直してから読み込ませてください。

フォルダは環境変数の名前になります

フォルダに入れると、エージェントに届く環境変数の名前が変わります。環境変数の名前は、フォルダを含めた置き場所の全体から作られるためです。--folder aws/prod に入れた SECRET_KEY は、AWS_PROD_SECRET_KEY として届きます。

移行元がフォルダでアプリを分けているなら、その形をそのまま写さないでください。写すと、どのアプリも自分の環境変数を見つけられなくなります。移行元のフォルダ 1 つを、aikagi のプロジェクト 1 つにしてください。そのプロジェクトの根に入れれば、名前はそのままです。

aikagi import - -p web-app -e production

フォルダが役に立つのは、1 つのアプリの中で AWS_STRIPE_ のように頭を揃えたいときです。そのときは、頭の分を名前から外して、フォルダの名前に移してください。

覚書の引き継ぎ

キーの上に書いてある # の行は、そのまま覚書として引き継ぎます。行の末尾に書いたものも拾います。

# 請求に使うほう
STRIPE_SECRET_KEY=...

要らないときは --no-comments、全部を同じ一文で揃えたいときは --comment です。

aikagi import .env --comment "移行時に取り込み"

移行元とのつながりが切れるところ

読み込みの途中で、次の 2 つを注意として伝えます。値そのものは 1 文字も出しません。

  • 値に ${…} の参照が残っているとき。aikagi は書かれたままの文字列として持つので、移行元で効いていた参照は切れます。
  • 複数のキーが同じ値を持っているとき。移行元では「1 本の鍵と、それを指す参照」だったものが、こちらでは別々の鍵になります。

どちらも取り込み自体は進みます。読んだうえで、まとめ直すかどうかを決めてください。

同じキーがファイルの中に二度出てきたときは、あとに書いてあるほうを採ります。継ぎ足していった .env の意図はそちらにあるためです。

他の金庫から直接

手元に別のシークレット管理サービスのコマンドが入っているなら、その出力をパイプで渡せます。平文がファイルに残りません。

<そのサービスのコマンド> export --format dotenv | aikagi import -

そのコマンドを aikagi 側から呼んで、環境やフォルダを指定しながら移す道もあります。複数の環境をまとめて移すこともできます。綴りは aikagi import --help で確かめてください。

移したあと

入ったことは一覧で確かめられます。値は出ないので、名前と数を見てください。

aikagi ls --recursive

個人の保管庫に取り込んだ鍵をチームに配るときは、プロジェクトへ移してください。やりかたはワークスペースと環境にあります。