Updated 9 files to reflect: Management API (axum, port 9090) — embedded in bascule-server Dioxus dashboard components (WASM web target) 6 crates in workspace (was 4) README.md: Added Management API + Dashboard features section Added dashboard row to comparison table docs/architecture.md: Updated diagram showing dual-listener architecture Added Management API section explaining Arc<SessionStore> sharing Updated crate table (6 crates) docs/configuration.md: Added [dashboard] config section reference docs/observability.md: Added Management API monitoring section with curl examples docs/quickstart.md: Added Management API quick start section docs/comparison.md: Added dashboard and TPM attestation rows CLAUDE.md + CONTRIBUTING.md: Updated crate lists and feature flags config/bascule.example.toml: Added [dashboard] section All 17 README links verified valid. Build clean. Signed-off-by: Tyler King <tking@guildhouse.dev>
2.1 KiB
2.1 KiB
Contributing to Bascule
Development Setup
git clone https://github.com/your-org/bascule.git
cd bascule
cargo build --all
cargo test --all
Architecture
Bascule is a Rust workspace:
| Crate | Purpose |
|---|---|
bascule-core |
Library — SSH server, auth, PTY, proxy, container, hooks, store |
bascule-server |
Binary — SSH proxy + management API (axum) |
bascule-auth-agent-id |
Optional — Entra Agent ID auth |
bascule-shell |
Binary — Identity-aware login shell with TPM |
bascule-dashboard |
Library — Dioxus UI components |
bascule-dashboard-web |
Binary — WASM web dashboard target |
Testing
cargo test --all
Code Style
cargo fmtbefore committingcargo clippymust pass- No
unwrap()in production code - All public items need doc comments
Pull Request Process
- Create a feature branch
- Ensure
make cipasses - Update docs if adding features
- Submit PR against
main
Commit Messages
Format: type: description
Types: feat, fix, docs, chore, refactor, test
Developer Certificate of Origin (DCO)
All contributions must be signed off under the Developer Certificate of Origin (DCO Version 1.1).
Every commit must include a Signed-off-by line:
git commit -s -m "feat: my contribution"
# Result includes: Signed-off-by: Your Name <your.email@example.com>
What DCO means
- You certify you have the right to submit the contribution
- Your contribution is licensed under Apache 2.0
- You retain copyright to your contribution
- You do NOT assign ownership to Guildhouse
Corporate contributions
If contributing on behalf of your employer, ensure your employer permits the contribution under Apache 2.0.
Why DCO (not CLA)
- DCO doesn't assign rights — you keep your copyright
- DCO is lightweight — one line per commit, no legal review
- DCO is standard — used by Linux, Kubernetes, CNCF projects
See GOVERNANCE.md for the full IP and dispute resolution framework.
License
By contributing, you agree your contributions are licensed under Apache 2.0.