feat(colibri-vault): scaffold vault credential provision crate #85

Merged
clawdie merged 2 commits from feat/colibri-vault into main 2026-06-19 21:26:49 +02:00

2 commits

Author SHA1 Message Date
fa7fe1c42b fix(colibri-vault): correct field contract (name=KEY, not username=KEY)
Some checks failed
CI / rust (pull_request) Has been cancelled
CI / markdown (pull_request) Has been cancelled
- Bug: used login.username as env KEY; actual convention is item.name
- Add validate_key() — rejects non-[A-Z0-9_] chars (.env injection safeguard)
- Add parse test: key_from_item_name_not_username (would have caught this)
- Add test: validate_key_rejects_dangerous_chars
- Fix: unclosed delimiter brace from initial scaffold

Review: Claude (domedog) — caught both the contract bug and missing validation
2026-06-19 21:25:47 +02:00
3e1951762c feat(colibri-vault): scaffold vault credential provision crate
Some checks failed
CI / rust (pull_request) Has been cancelled
CI / markdown (pull_request) Has been cancelled
- lib.rs: provision() fetches Vaultwarden collection → jail .env
- Wraps existing bw CLI, does not reimplement Bitwarden protocol
- Fail-closed: no bw = error, no collection = error, empty = no-op
- Writes 0600 .env with KEY=VALUE pairs from login items + secure notes
- Workspace: added crates/colibri-vault (member #12)
2026-06-19 21:15:44 +02:00