# cadre: _configure apps_
cadre
High-performance, minimal remote configuration service that's extremely simple
to set up and use.
Configuration is backed by S3, updated from a human-readable web interface and
persisted to a file on disk. Multiple environments are supported and accessible
from a JSON web API. Plus, `cadre` is really easy to set up: just run a single
binary that contains the entire application, passing in an S3 bucket name.
The web server is written in Rust and can easily support over 80,000 HTTP/2
requests per second running on a consumer MacBook Pro, tested using
[vegeta](https://github.com/tsenart/vegeta). It's also horizontally scalable.
## Template Syntax
Template values have keys that are prefixed with the `*` character. These values
are resolved at request-time.
- `aws:`: A JSON secret stored in
[AWS Secrets Manager](https://aws.amazon.com/secrets-manager/). For
performance, secrets are cached by the server for up to a minute.
All resolution of fields within templates is recursive. Additionally, you can
optionally specify a _default template_, which is merged with the selected
template whenever a configuration is requested.
## Deployment
Run the `cargo install cadre` and use the `cadre` command. We also offer a
Docker image at `ghcr.io/modal-labs/cadre`, which is automatically built from
the Dockerfile in this repository on each release.
To perform a new release, check that you have write access to this GitHub
repository and the `cadre` crate on crates.io, then just run a single command:
[`cargo release`](https://github.com/crate-ci/cargo-release).
## Authors
This library is created by the team behind [Modal](https://modal.com/).
- Luis Capelo ([@luiscape](https://twitter.com/luiscape)) – [Modal](https://modal.com/)
- Eric Zhang ([@ekzhang1](https://twitter.com/ekzhang1)) – [Modal](https://modal.com/)