Bascule shell runtime workspace — governed shell access layer for Substrate/Guildhouse FFC deployments. Crates: - bascule-agent: node agent with SSH server + command filtering - bascule-core: audit, grant engine, ceremony types, session - bascule-filter-core: log line filtering (stdio protocol) - bascule-gateway: OIDC auth, session management, SAT validation - bascule-node-agent: k8s DaemonSet agent (pod watcher, BPF manager) - bascule-proto: protobuf definitions - bascule-shell: governed SSH shell (commands, elevation, REPL) - bascule-tail: chronicle log tail + fanout - ceremony-engine: ceremony lifecycle (6 types + request/resolution) 172 tests passing. Implements SBS-SPEC-0001 shell model. Reference impl for SPEC-SHELLOPS-0001 Layer 1 (root shell).
69 lines
1.6 KiB
TOML
69 lines
1.6 KiB
TOML
[package]
|
|
name = "bascule-gateway"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
description = "Bascule governance gateway — cluster-side API gateway for governed access"
|
|
|
|
[[bin]]
|
|
name = "bascule-gateway"
|
|
path = "src/main.rs"
|
|
|
|
[dependencies]
|
|
bascule-core = { workspace = true }
|
|
bascule-proto = { workspace = true }
|
|
|
|
# Cross-workspace path deps — Guildhouse governance/ceremony primitives.
|
|
# Future: extract to standalone crates.
|
|
accord-core = { path = "../../guildhouse/services/accord-core" }
|
|
accord-opa = { path = "../../guildhouse/services/accord-opa" }
|
|
qm-core = { path = "../../guildhouse/services/qm-core" }
|
|
|
|
# Kubernetes
|
|
kube = { workspace = true }
|
|
k8s-openapi = { workspace = true }
|
|
|
|
# gRPC
|
|
tonic = { workspace = true }
|
|
prost = { workspace = true }
|
|
prost-types = { workspace = true }
|
|
|
|
# Auth
|
|
jsonwebtoken = { workspace = true }
|
|
reqwest = { workspace = true }
|
|
|
|
# Database
|
|
sqlx = { workspace = true }
|
|
|
|
# Session cache
|
|
dashmap = { workspace = true }
|
|
|
|
# Async
|
|
tokio = { workspace = true }
|
|
async-trait = { workspace = true }
|
|
|
|
# Serialization
|
|
serde = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
serde_json_canonicalizer = { workspace = true }
|
|
hex = { workspace = true }
|
|
sha2 = { workspace = true }
|
|
|
|
# Observability
|
|
tracing = { workspace = true }
|
|
tracing-subscriber = { workspace = true }
|
|
|
|
# HTTP (ceremony approval endpoints)
|
|
axum = { workspace = true }
|
|
tower-http = { workspace = true }
|
|
|
|
# Common
|
|
uuid = { workspace = true }
|
|
chrono = { workspace = true }
|
|
thiserror = { workspace = true }
|
|
anyhow = { workspace = true }
|
|
config = { workspace = true }
|
|
rustls = { workspace = true }
|
|
tokio-stream = "0.1"
|
|
|
|
[dev-dependencies]
|
|
tower = "0.5"
|