cadre

Crates.iocadre
lib.rscadre
version0.5.4
sourcesrc
created_at2022-06-28 22:03:36.475965
updated_at2022-11-07 18:28:24.223133
descriptionCadre is a simple, self-hosted, high-performance remote configuration service.
homepage
repositoryhttps://github.com/modal-labs/cadre
max_upload_size
id615056
size92,061
Akshat Bubna (aksh-at)

documentation

https://docs.rs/cadre

README

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. 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:<NAME>: A JSON secret stored in AWS 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.

Authors

This library is created by the team behind Modal.

Commit count: 105

cargo fmt