#key-value-store #aws-kms #encryption-key #secret #s3 #cli

bin+lib nitor-vault

加密 AWS 键值存储实用程序

15 个不稳定版本 (5 个重大变更)

0.6.2 2024 年 5 月 16 日
0.6.0 2024 年 3 月 25 日
0.3.0 2023 年 7 月 29 日
0.2.0 2023 年 3 月 8 日

#446数据库接口

Apache-2.0

32KB
678

nitor-vault

Rust CLI 和库,用于使用 AWS KMS 密钥进行客户端加密来加密键和值。

Usage: vault [OPTIONS] [COMMAND]

Commands:
  delete, -d, --delete  Delete an existing key from the store
  describe, --describe  Describe CloudFormation stack parameters for current configuration
  exists, -e, --exists  Check if a key exists
  all, -a, --all        List available secrets
  lookup, -l, --lookup  Print secret value for given key
  store, -s, --store    Store a new key-value pair
  info, -i, --info      Print region and stack information
  help                  Print this message or the help of the given subcommand(s)

Options:
  -b, --bucket <BUCKET>            Override the bucket name [env: VAULT_BUCKET=]
  -k, --key-arn <KEY_ARN>          Override the KMS key arn for storing or looking up [env: VAULT_KEY=]
  -r, --region <REGION>            Specify AWS region for the bucket [env: AWS_REGION=]
      --vault-stack <VAULT_STACK>  Optional CloudFormation stack to lookup key and bucket [env: VAULT_STACK=]
  -h, --help                       Print help (see more with '--help')
  -V, --version                    Print version

可以通过设置环境变量 NO_COLOR=1 来禁用 ANSI 颜色输出。

构建

使用 Shell 脚本

./build.sh

注意:也适用于 Windows,请使用 Git for Windows Bash 来运行。

从终端手动构建

# debug
cargo build
cargo run
# release
cargo build --release
cargo run --release
# pass arguments
cargo run --release -- --help

根据使用的构建配置文件,Cargo 会将可执行文件输出到以下位置:

rust/target/debug/vault
rust/target/release/vault

安装

您可以使用 cargo install 在本地安装发布版二进制文件。

使用 Shell 脚本

./install.sh

该脚本调用 cargo install 并检查路径中的二进制文件。如果您直接运行该命令,请注意,您需要指定包含 Cargo.toml 的目录的路径。从仓库根目录开始,您会这样做:

cargo install --path rust/

Cargo 将默认将二进制文件放置在 $HOME/.cargo/bin 下,如果您没有将其添加到 PATH 中,请将其添加,这样通过 Cargo 安装的二进制文件就可以被找到。

如果您在运行 vault 时仍然得到另一个版本,您需要将 cargo 二进制文件路径 $HOME/.cargo/bin 首先放在路径中。

格式化代码

使用 rustfmt

cargo fmt

检查代码

使用 Clippy

cargo clippy
cargo clippy --fix

更新依赖项

cargo update

依赖项

~51MB
~706K SLoC