bascule-oss/docs/quickstart.md
Tyler King 6eb2de5dc0 docs: update all documentation for management API + dashboard
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>
2026-04-05 17:17:18 -04:00

1.4 KiB

Quick Start

Option 1: Build from Source

git clone https://github.com/your-org/bascule.git
cd bascule
cargo build --release -p bascule-server
./target/release/bascule --config config/bascule.example.toml

In another terminal:

ssh -p 2222 localhost

Option 2: Container Mode

# Build a curated shell image
docker build -t bascule-shell:k8s-ops images/k8s-ops/

# Create a config
cat > my-config.toml << 'TOML'
listen_addr = "0.0.0.0:2222"

[auth]
mode = "accept-all"    # For testing only!

[container]
image = "bascule-shell:k8s-ops"
ephemeral = true
hardened = true
TOML

./target/release/bascule --config my-config.toml

Option 3: Proxy Mode

cat > proxy-config.toml << 'TOML'
listen_addr = "0.0.0.0:2222"

[auth]
mode = "accept-all"

[proxy]
target_host = "192.168.1.100"
target_port = 22
target_key_path = "/path/to/key"
accept_target_host_key = true
TOML

./target/release/bascule --config proxy-config.toml

Management API

The management API starts automatically on port 9090:

# Check server health
curl http://localhost:9090/api/health

# View active sessions
curl http://localhost:9090/api/sessions

# Aggregate stats
curl http://localhost:9090/api/stats

Next Steps