feat(join-hive): capture vault creds and pull provider keys on first boot #95
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "joinhive-cred-capture"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Workstream A of the next ISO rebuild. The booted XFCE "Join Hive" flow now collects the 3 Vaultwarden bootstrap values and pulls the provider keys, rather than only warning when they're missing.
Step
[2/4]now:provider.envlacksBW_*, prompt forBW_CLIENTID/BW_CLIENTSECRET/BW_PASSWORD(secret + password read with echo off) and upsert them intoprovider.env(root-owned0600). Pressing Enter at the first prompt skips — the manual floor is intact.clawdie-vault-fetchwithprovider.envas both the bootstrap source and--write-envtarget → pullsDEEPSEEK_API_KEY(and any otheragent-secrets).service colibri_daemon restartso the daemon loads the new keys — which triggers the Pi auto-spawn from #137.Security: secrets never hit process arguments — values stay in shell variables and a
0600temp under~/.cache/clawdie;provider.envis read/written viamdo. The upsert preserves the endpoint line and other keys.Verified locally:
sh -nclean; the upsert/merge core tested in isolation — exactly oneBW_CLIENTIDline, endpoint + existing keys preserved, and special characters (/ + = ! space) in the secret/password survive verbatim.Design note:
provider.envstays the single secret store — the daemon's vault provisioning and the existingprovider_env_has_bw_credscheck already assume that (no separate~/.config/vault-bootstrap.env).For Hermes on the live image: confirm the end-to-end on real hardware — boot → Join Hive → enter 3 BW values → DeepSeek pulled into
provider.env→ daemon restart →colibri list-agentsshows the auto-spawned Pi. (Needsbw,mdo, and Tailscale reachability tovault.smilepowered.org.)Next: Workstream C (stage
external-mcp.json+rc.confdefaults incl.COLIBRI_AUTOSPAWN_PI=YES).🤖 Generated with Claude Code