#remote #web-services #service #web #config #web-server

bin+lib cadre

cadre 是一个简单、自托管的、高性能的远程配置服务

9个版本 (4个破坏性更新)

0.5.4 2022年11月7日
0.5.3 2022年8月9日
0.5.2 2022年7月13日
0.4.0 2022年6月29日
0.1.0 2022年6月28日

#215#web-services

每月28次下载

MIT 许可证

32KB
680

cadre: 配置应用程序


cadre

高性能、简单易用的最小远程配置服务。

配置由S3支持,通过可读的Web界面进行更新,并持久化到磁盘上的文件。支持多个环境,并通过JSON Web API访问。此外,cadre 的设置非常简单:只需运行一个包含整个应用程序的二进制文件,并传入S3存储桶名称。

Web服务器是用Rust编写的,在消费级MacBook Pro上可以轻松支持每秒超过80,000个HTTP/2请求,使用 vegeta 进行测试。它还可以水平扩展。

模板语法

模板值具有以 * 字符为前缀的键。这些值在请求时解析。

  • aws:<NAME>: 存储在 AWS Secrets Manager 中的JSON秘密。为了性能,服务器将秘密缓存最多一分钟。

模板中所有字段的解析都是递归的。此外,您可以可选地指定一个 默认模板,在请求配置时与所选模板合并。

部署

运行 cargo install cadre 并使用 cadre 命令。我们还提供 ghcr.io/modal-labs/cadre 的Docker镜像,该镜像在每个发布时自动从本仓库中的Dockerfile构建。

要执行新版本发布,请检查您是否有权限访问此GitHub仓库以及crates.io上的cadre存储库,然后只需运行一个命令:cargo release

作者

该库是由Modal团队开发的。

依赖项

~41–56MB
~1M SLoC