何が起きるか
runtime.inject() は機密の置き場(.env / age / OpenBao)の値をそのままプロセスの環境変数へ載せる。置き場に DEVBASE_ACCOUNT_GROUP が入っていると、volume.manager.resolve_account_group()(プロセスの環境変数を読む)が決めるボリュームのグループがその値に変わる。
範囲外とした理由
#184 の受け入れ条件 4 は「置き場に書いた値でグループ(要求するパス)が変わらない」ことで、ボリュームの側のグループの決め方は PLAN56 の前提 2 で変えないと決めている。注入の対象から DEVBASE_ACCOUNT_GROUP を外すかどうかは、version: 1 の挙動を変えるため別に判断する。
見つけた経緯
#184 の利用者向け文書を書く担当が、runtime.inject のコードを読んで気づいた(実行しての確認はしていない)。文書には「置き場には書かない。書くと止まることがある」と記載した。
🤖 Generated with Claude Code
進行
モード: standard / 作業ツリー: .worktrees/fix/plan62-inject-account-group / 計画: issues/PLAN62_inject-account-group.md
何が起きるか
runtime.inject()は機密の置き場(.env/ age / OpenBao)の値をそのままプロセスの環境変数へ載せる。置き場にDEVBASE_ACCOUNT_GROUPが入っていると、volume.manager.resolve_account_group()(プロセスの環境変数を読む)が決めるボリュームのグループがその値に変わる。envがグループを宣言していれば、ラッパーのsourceが後から上書きするので起きない$DEVBASE_ROOT/envでの宣言や、宣言が無いプロジェクトでは起きうるversion: 1(今の設定)でも同じ経路がある。PLAN56(機密ストアのチーム共通と個人単位の置き場を、アカウントグループ(nyle / with / kkg)ごとに分ける #182 / feat: 機密ストアの置き場をアカウントグループごとに分ける (PLAN56) #184)のlayout: groupでは、機密の置き場のグループはファイルだけから決めるため、この場合はup/scaleがボリュームとのグループの食い違いで止まる範囲外とした理由
#184 の受け入れ条件 4 は「置き場に書いた値でグループ(要求するパス)が変わらない」ことで、ボリュームの側のグループの決め方は PLAN56 の前提 2 で変えないと決めている。注入の対象から
DEVBASE_ACCOUNT_GROUPを外すかどうかは、version: 1の挙動を変えるため別に判断する。見つけた経緯
#184 の利用者向け文書を書く担当が、
runtime.injectのコードを読んで気づいた(実行しての確認はしていない)。文書には「置き場には書かない。書くと止まることがある」と記載した。🤖 Generated with Claude Code
進行
モード: standard / 作業ツリー:
.worktrees/fix/plan62-inject-account-group/ 計画:issues/PLAN62_inject-account-group.md