キー
キーは名前と値の組です。キーの一覧では、名前の列の右に環境ごとの値の列が並びます。Web の画面でも CLI でも、同じキーを同じ名前で扱います。
追加する
見出しの右の「追加」ボタンを押すと、「キー」「フォルダ」「.env を読み込む」が表示されます。どれを選んでも、いま開いているフォルダが追加先の初期値になります。「キー」は、n キーか、コマンドパレット(⌘K)の「キーを追加」でも開けます。
1 つだけすぐに追加する場合は、表の最終行に名前と値を入力して Enter を押します。名前の確認は「キー」のダイアログと同じです。名前は英字で始め、英数字・_・- を使えます。
既にある名前では追加できません(「同じ名前のキーがあります」と表示されます)。値を変える場合は、その行の値を編集してください。前の値は履歴に残り、いつでも前の版に戻せます。
値を表示する・コピーする
値の列は伏せ字で表示されます。セルを押すと、その時点でサーバから値を取得して表示します。もう一度押すと伏せ字に戻り、取得した値はブラウザからも消えます。
表示もコピーも、値の取得として記録されます。1 行を表示すると 1 件、見出しの「すべて表示」で全行を表示すると行数分の記録が残ります。誰がいつどのキーの値を見たかは監査ログで確認できます。
値を書き換える
書き込み権限があれば、値を表示したセルでそのまま書き換えられます。保存すると新しい版が作られ、前の値は履歴に残ります。
編集を始めるときは必ず現在の値を読み込みます。そのため、空欄のまま保存して値を消してしまうことはありません。
フォルダ
フォルダは、キーの名前に含まれる / で決まります。aws/dev/access_key_id という名前で保存すると、aws フォルダの中の dev フォルダに入ります。「追加」の「フォルダ」から、空のフォルダを先に作ることもできます。入力欄には現在のフォルダの位置が入っているので、続けて名前を入力します。作ったフォルダは空でも残り、空の間は表の「…」から削除できます。
一覧ではフォルダの行が先に並び、押すとそのフォルダに移動します。表の上に現在のフォルダの位置が表示され、そこから上のフォルダに戻れます。
キーの名前やフォルダは、行の「…」の「名前・場所を変更」で変えられます。openai/api_key を stripe/api_key に変えると、キーは stripe フォルダに移ります。すべての環境の値が一緒に移り、履歴と自分だけの値も引き継がれます。複数のキーをまとめて移す場合は、行を選んで「移動」を押します。フォルダの名前は、そのフォルダを開いた状態で表の「…」から変えられます。
値を環境変数として渡すときの変数名は、サーバがキーの名前から作ります。openai/api_key なら OPENAI_API_KEY です。一覧の各行には、この環境変数名が大きく表示され、/ 区切りの名前がその下に小さく表示されます。
自分だけの値
共有しているキーでも、自分の端末では別の値を使いたい場合があります。行の右端の人のアイコンを押すと、その行に自分用の値の入力欄が開きます。保存すると、あなたが値を取得するときだけ、この値が使われます。
自分だけの値を設定した行は、アイコンに色が付きます。同じ欄の「解除」を押すと、共有の値に戻ります。共有の値は書き換わらず、他のメンバーにも影響しません。
自分だけの値には版がありません。履歴とコメントは共有の値にだけ付きます。自分だけの値の使用・設定・解除は監査ログに記録され、その記録は本人にだけ表示されます。
履歴と、前の版への戻し方
行のメニューから履歴を開くと、版の番号・日時・更新した人・コメントが表示されます。履歴に値は表示されません。
「戻す」を押すと、その版の値で新しい版が作られます。履歴は消えないため、戻した後でさらに別の版に戻すこともできます。
削除する
行のメニューから削除します。確認は行の中に表示されます。キーを削除すると履歴も一緒に消え、元に戻せません。
CLI で操作する
同じ操作は CLI でもできます。値は標準入力から渡してください。引数に書くと、値がシェルの履歴に残ります。
aikagi ls --recursive
aikagi get openai/api_key
aikagi set openai/api_key
aikagi history openai/api_key
aikagi rollback openai/api_key --version 3
aikagi rm openai/api_key
aikagi set openai/api_key --mine
aikagi rm openai/api_key --mine操作の対象になるワークスペース・プロジェクト・環境は、作業中のリポジトリの .aikagi.toml で決まります。--mine を付けると、共有の値ではなく自分だけの値を設定・解除します。詳しくは CLI を参照してください。