arcature
arcature is the high-level Application facade over the certified Arcature
subsystems. It assembles the HTTP kernel (Axum/Tower), Inertia adapter,
database, cache, storage, mail, jobs, auth, pages, and observability into a
single Application builder — while preserving the raw Axum/Tower escape
hatch for expert use.
What this crate owns
The Application builder, the request lifecycle (startup → serve → shutdown),
the pipeline assembly, the Resources container (typed subsystem handles),
and the #[arcature::main] runtime macro.
What this crate does not own
It does not reimplement any subsystem. Each subsystem lives in its own
crate (arcature-db, arcature-cache, etc.) and is optional behind a
feature flag. The facade wires them together; it does not replace them.
Quick start
use *;
With subsystems (feature flags):
use *;
use DbConfig;
async
Feature flags
| Feature | Subsystem |
|---|---|
macros |
#[arcature::main] |
inertia |
Inertia.js server adapter |
db |
PostgreSQL |
auth |
Session auth, Argon2id, CSRF, OAuth |
cache |
Valkey/Redis cache |
storage |
Object/file storage |
mail |
Email (SMTP) |
jobs |
Background jobs |
pages |
Special pages + maintenance |
api |
OpenAPI 3.1 + problem details |
observe |
Tracing/metrics + OpenTelemetry |
Documentation
- Architecture — locked stack and innovation areas
- Security model — security baseline
- Performance — performance constitution
- Dogfood app — LinkHub reference application
License
Apache License 2.0 (see workspace LICENSE).