infra/scripts/workstation
Viktor Barzin d105713ae7
All checks were successful
ci/woodpecker/push/default Pipeline was successful
fix(workstation): claude-auth-sync must merge, not overwrite, the shared Vault path
cas_backup did `vault kv put secret/workstation/claude-users/<user>`, a full
KV-v2 replace that rewrote the document with only its 3 OAuth keys. Because
`homelab vault setup` co-locates the user's vaultwarden_* credentials on that
same path, every six-hourly sync silently deleted them — so `homelab vault`
reported "not configured" within hours of each setup. (Reported as: homelab
vault "keeps getting reset / logged out", set up 3 times.)

Switch the backup to a merge: `kv patch -method=rw` (read+update, needs no
`patch` capability) when the path exists, and `kv put` only to create it on the
first backup. Add a regression test with a fake vault asserting a pre-existing
sibling key survives a backup, and document the merge requirement in the
renewal runbook.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-26 08:33:41 +00:00
..
claude-hooks workstation: harden memory hooks — prune dead plugin refs + homelab-CLI-only store 2026-06-22 09:24:42 +00:00
claude-skills t3-provision-users: vendor agent skills + per-user install_skills (emo) 2026-06-23 09:23:37 +00:00
playwright workstation: per-user playwright browser MCP for all users, reproducible from git 2026-06-16 20:33:47 +00:00
skel workstation: put ~/.local/bin on PATH so the launcher finds native claude 2026-06-15 17:20:03 +00:00
.gitignore fix: restore tree dropped by 6d224861; land stem95su gdrive-sync (10m) [ci skip] 2026-06-09 08:45:33 +00:00
claude-auth-sync.sh fix(workstation): claude-auth-sync must merge, not overwrite, the shared Vault path 2026-06-26 08:33:41 +00:00
managed-settings.json fix(workstation): carry OS/sudo authz policy into managed-settings source + multi-tenancy doc 2026-06-26 08:25:33 +00:00
packages.txt workstation: switch devvm OOM backstop from systemd-oomd to earlyoom 2026-06-22 10:39:16 +00:00
roster.yaml workstation: per-user code_layout — workspace puts project repos under ~/code (ancamilea + tripit) 2026-06-10 18:05:31 +00:00
roster_engine.py workstation: per-user playwright browser MCP for all users, reproducible from git 2026-06-16 20:33:47 +00:00
setup-devvm.sh feat(devvm): install Bitwarden CLI for homelab vault 2026-06-24 10:29:57 +00:00
test_roster_engine.py workstation: per-user playwright browser MCP for all users, reproducible from git 2026-06-16 20:33:47 +00:00