pub fn router<S: WorkflowStore>(state: Arc<WorkflowCtx<S>>) -> RouterExpand description
Build the workflow HTTP API router.
Three tiers, all under /api/v1/engine/workflow/*:
- Authenticated — workflows, schedules, namespaces, activities,
tasks, workers, queues, events. Authentication + authorization
happens at the engine layer (via [
assay_auth::gate] inassay_engine::server); the workflow router itself carries no gate. (Theworkflow.api_keyssurface was retired in plan-15 slice 3 — auth tokens come from the auth module now.) - Public — health, version. Always unauthenticated so Kubernetes probes, load balancers, and third-party monitors can reach them without a bearer token.
- OpenAPI —
openapi.json+docsHTML. Always public.
The standalone serve* entry points were removed in plan-15
slice 2 — workflow now only runs inside assay-engine, which owns
the listener, the auth gate, and the surrounding state.