2个不稳定版本
0.2.0 | 2023年12月30日 |
---|---|
0.1.1 | 2023年12月25日 |
0.1.0 |
|
#594 在 HTTP服务器
用于 chamber-cli
38KB
961 行
chamber:一个可自托管的SecretOps服务。
你有NIH综合症吗?我也是,这就是我创建这个Web服务的原因,这样我就可以避免使用Hashicorp Vault的复杂性。
用法
开始使用Chamber最简单的方法是通过CLI。您需要使用以下命令安装它
cargo install chamber-cli
然后您可以使用以下命令设置Chamber实例的URL:chamber website set [VALUE]
。
最初加载Web服务时,会自动为您生成一个根密钥,您可以在日志中找到它。您需要使用此密钥使用chamber unseal [VALUE]
来解密Web服务。
完成此操作后,您可以使用chamber keygen
生成一个chamber.bin
文件,并使用chamber upload
将新密钥文件上传到Web服务以重置您的密封密钥(和加密密钥)!
部署到Shuttle
要将此作为Shuttle服务部署,请运行以下命令
cargo shuttle init --from joshua-mo-143/chamber --subfolder chamber-server
您可能希望使用chamber keygen
生成一个新密钥文件并将其包含在项目根目录中。这将允许您在部署之间持久化密钥文件。计划支持shuttle-persist
以使密钥文件的持久化更容易。
Dockerfile部署
dockerfile使用环境变量DATABASE_URL
和PORT
。
功能
- 在自托管Web服务器中存储您的机密
- 使用根密钥锁定和解锁您的实例
- 使用AES-256-GCM加密您的机密
- IAM系统,允许您通过角色白名单和权限级别锁定机密
- 使用标签轻松分类您的机密
- Postgres后端(未来将支持多个后端)
- 用Rust编写
未来短期功能
- 机密将被加密和签名
长期路线图
- 日志/跟踪
- SDK
Chamber如何工作
Chamber有几个可移动部件
- 一个可以根据需要解锁和锁定的网络服务器
- 一个命令行界面,作为当前与Chamber服务器交互的主要方式
- 核心(包含存储数据、加密解密和其他杂项方法的方法)
Chamber有多安全?
请参阅SECURITY.md文件以获取完整说明。
对于TL;DR:如果您将其用于小型项目,则此服务相对安全。正在根据上述文件所述的内容进行工作以增强安全性。预计API将不稳定。
依赖项
~30–43MB
~808K SLoC