Skip to content

test: fully-automated integration run against disposable Vaultwarden#2

Open
bsorescu wants to merge 1 commit into
ashebanow:bitwarden-providerfrom
bsorescu:feat/vaultwarden-ci-harness
Open

test: fully-automated integration run against disposable Vaultwarden#2
bsorescu wants to merge 1 commit into
ashebanow:bitwarden-providerfrom
bsorescu:feat/vaultwarden-ci-harness

Conversation

@bsorescu

Copy link
Copy Markdown

Implements the FUTURE WORK plan from the header of tests/bitwarden_integration.sh: a fully-automated run against a disposable local Vaultwarden — no real vault, no repository secrets, works on fork PRs.

Pipeline (tests/vaultwarden_harness.sh):

  1. vaultwarden/server container (volatile storage) + Caddy TLS proxy — the 2026+ bw CLI refuses plain http:// servers, so an internal self-signed cert is required (NODE_TLS_REJECT_UNAUTHORIZED=0 scoped to the fixture run only).
  2. Fixture account registered via the identity API — tests/vaultwarden_bootstrap.py implements the client-side registration crypto bw doesn't expose (PBKDF2 master key → HKDF stretch → EncString type 2 protected sym key → RSA keypair). Fixture credentials are committable constants, not secrets.
  3. bw CLI pointed at the disposable server through an isolated BITWARDENCLI_APPDATA_DIR — the developer's real bw config is untouched.
  4. tests/bitwarden_integration.sh runs unchanged.

Verified: cold-start end-to-end on macOS + colima — full suite 19/19 PASSED, automatic container/network/tempdir cleanup on exit (--keep to inspect).

A GitHub Actions job wiring this up should be a ~20-line follow-up once the provider lands.

🤖 Generated with Claude Code

Implements the FUTURE WORK plan from bitwarden_integration.sh:
vaultwarden + caddy TLS proxy (the 2026+ bw CLI refuses plain http
servers, so an internal self-signed cert is required), fixture account
registered via the identity API (vaultwarden_bootstrap.py implements the
client-side registration crypto bw doesn't expose), bw CLI isolated via
BITWARDENCLI_APPDATA_DIR so the developer's real config is untouched.
No repository secrets needed; works on fork PRs.

Verified locally: full bitwarden_integration.sh suite 19/19 PASSED
end-to-end from a cold start (containers, registration, login, suite,
cleanup) on macOS + colima.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015CDSY4yJXvof9Am8acxzHf
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant