This is a project template for HTTP services. It aims to get you up and running with features expected on more opinionated web frameworks while you can keep control of the specific pieces.
- Be sure that you have cargo generate installed.
- Run the following command:
cargo generate dbofmmbt/rust_service_template- Logs
- tracing + opentelemetry
- Health check
- Simple
/healthendpoint
- Simple
- Trace Context extraction
axum_tracing_opentelemetryandopentelemetrypropagators did it.
- Config through e.g. yaml or TOML and env vars override
- Using
configfor that
- Using
- Basic setup for service/integration tests
- using
wiremock
- using
- Dockerfile
- Configured HTTP client
- request and response tracing
- Trace Context propagation
- Use Docker's buildkit to cache dependencies
- Evaluate addition of the
http_problemcrate, or something similar - Add endpoint to print information similar to actuator info
- Evaluate crates that generate OpenAPI schemas