Backend Rust
Cargo workspace at splick-backend-rust. It exists so a bounded context can move from Spring to Axum without changing Kong paths, Postgres schemas, or stream names. Health matches the Java probe shape GET /actuator/health.
The top-level README still says the relay is the first and only candidate. That text is stale. services/ contains an Axum binary per context, and a search of those sources shows no todo!() or unimplemented!() stubs. Judge readiness by contract tests and by a single writer per schema, not by the README.
Layout
splick-backend-rust/
Cargo.toml
crates/ shared libraries
services/ one binary per context
Dockerfile multi-stage, selects the binary
Makefile
Prerequisites: Rust 1.82 or newer. cargo check --workspace is the first smoke test. Copy .env.example to a gitignored .env. The example file documents relay and communication ports; other services read SERVER_PORT or PORT, DATABASE_URL, and REDIS_URL.
Cutover rule
Point Kong at the Rust upstream for one service only after:
- Flyway history matches the Java schema (the Rust service must not invent a divergent migration).
- The Java process for that context is stopped.
- The Java relay is stopped if the Rust relay is the publisher, or the reverse. Never both.
See Java to Rust and crates.