2个不稳定版本

0.2.0 2023年12月30日
0.1.1 2023年12月25日
0.1.0 2023年12月25日

#594HTTP服务器


用于 chamber-cli

MIT 协议

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部署

在Railway上部署 已添加dockerfile以方便您使用。

dockerfile使用环境变量DATABASE_URLPORT

功能

  • 在自托管Web服务器中存储您的机密
  • 使用根密钥锁定和解锁您的实例
  • 使用AES-256-GCM加密您的机密
  • IAM系统,允许您通过角色白名单和权限级别锁定机密
  • 使用标签轻松分类您的机密
  • Postgres后端(未来将支持多个后端)
  • 用Rust编写

未来短期功能

  • 机密将被加密和签名

长期路线图

  • 日志/跟踪
  • SDK

Chamber如何工作

Chamber有几个可移动部件

  • 一个可以根据需要解锁和锁定的网络服务器
  • 一个命令行界面,作为当前与Chamber服务器交互的主要方式
  • 核心(包含存储数据、加密解密和其他杂项方法的方法)

Chamber有多安全?

请参阅SECURITY.md文件以获取完整说明。

对于TL;DR:如果您将其用于小型项目,则此服务相对安全。正在根据上述文件所述的内容进行工作以增强安全性。预计API将不稳定。

依赖项

~30–43MB
~808K SLoC