About rust-deployable-service
rust-deployable-service is a skill for moving Rust services from local development to repeatable container or cloud deployments. It covers configuration, reproducible builds, Docker images, and health checks.
Key features
- 01Inspect service and deployment inputs
- 02Separate build-time and runtime configuration
- 03Create multi-stage Docker builds
- 04Account for SQLx offline checks
- 05Add health and readiness checks
Use cases
- 01Preparing a Rust service for container deployment
- 02Managing deployment configuration and secrets
- 03Building with checked-in SQLx metadata
- 04Verifying a Docker image before delivery
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ lvtd-llc/ skills --skill rust-deployable-serviceAfter installing, type/rust-deployable-servicein Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
agents/openai.yamlreferences/configuration.mddocker-rust.mdscripts/docker-preflight.shDetails
From the project READMERust Deployable Service
Use this skill when a Rust service needs to move from local development to a repeatable container or cloud deployment. Keep runtime configuration explicit, builds reproducible, and health checks boring.
Core Workflow
- Inspect
Cargo.toml, workspace layout,Dockerfile,.dockerignore, config files, migrations,.sqlx/, CI, and deployment docs. - Identify the binary entrypoint and runtime dependencies: database, Redis, external APIs, TLS roots, static files, templates, migrations, and config.
- Separate build-time and runtime configuration. Never bake production secrets into images.
- Use hierarchical config with environment overrides for deployment-specific values.
- Use a multi-stage Docker build and copy only the runtime binary and needed assets into the final image.
- Account for SQLx query checking. Use
SQLX_OFFLINE=truewith checked-in.sqlx/metadata or provide a build-time database intentionally. - Add health and readiness checks that match real dependencies.
- Run the bundled Docker preflight or the repository's equivalent CI command.
Configuration Rules
Read references/configuration.md when adding config files, environment
variables, or secret handling.
- Keep local defaults convenient and production defaults conservative.
- Validate config at startup before binding the server when possible.
- Store secrets in environment variables or the deployment secret manager.
- Avoid reading environment variables deep inside handlers or repositories.
Docker Rules
Read references/docker-rust.md before changing Docker builds.
- Use dependency caching deliberately; avoid invalidating the whole build on every source edit when practical.
- Use
--lockedfor release builds if the repo commitsCargo.lock. - Include CA certificates when outbound HTTPS is required.
- Copy migrations, templates, and static assets only if the binary needs them at runtime.
- Run as a non-root user when the deployment platform supports it.
Verification
Run from the Rust project root when Docker is part of the delivery path:
path/to/rust-deployable-service/scripts/docker-preflight.sh
The script builds an image. It only runs a smoke command when
RUST_DEPLOY_SMOKE_COMMAND is set, because services often need environment and
infrastructure to start successfully.
Reference Files
references/configuration.md: typed config loading, overrides, validation, and secrets.references/docker-rust.md: multi-stage builds, SQLx offline builds, runtime assets, and image checks.