一个云原生秘钥管理系统
大家好,又见面了,我是 GitHub 精选君!
背景介绍
在开发、测试、构建应用过程中,我们经常会遇到一个问题,如何安全、方便地使用各种秘钥?现如今许多秘钥和敏感信息比如 token,AWS 密钥等都需要被保存在我们的开发环境中。往往我们为了方便,将这些信息导出环境变量或者硬编码在本地的 .env 文件,都可能会导致这敏感信息的泄露。多云秘钥管理更增加了复杂性,我们希望有一套工具,可以集中、安全地对各种密钥进行管理。
今天要给大家推荐一个 GitHub 开源项目 tellerops/teller,该项目在 GitHub 有超过 2.3k Star,用一句话介绍该项目就是:“Cloud native secrets management for developers - never leave your command line for secrets.”。
项目介绍
Teller
是一个开源的云原生秘钥管理系统,它可以在命令行终端使用,为开发者提供了简单便捷的工作流。它不仅可以用于你的本机环境,也能很好为你的团队提供流程和最佳实践。Teller
支持多种秘钥存储服务,如 Hashicorp Vault,AWS Secrets Manager,Google Secret Manager 等等。你可以使用 Teller
来优化你的环境,也可以为你的团队实施最佳实践。
以下是一个使用示例:
安装使用
Teller
可以通过 homebrew 进行安装:
$ brew tap spectralops/tap && brew install teller
然后可以使用 teller
或 tlr
在终端进行各项操作。
对于使用 Github Actions 的用户,你可以使用如下配置在 CI 安装 Teller:
- name: Setup Teller
uses: spectralops/setup-teller@v1
- name: Run a Teller task (show, scan, run, etc.)
run: teller run [args]
运行 teller new
,按照提示选择你需要的服务,它会为你生成 .teller.yml
文件。或者你可以根据下面的模板进行配置:
project: project_name
opts:
stage: development
# remove if you don't like the prompt
confirm: Are you sure you want to run in ?
providers:
# uses environment vars to configure
# https://github.com/hashicorp/vault/blob/api/v1.0.4/api/client.go#L28
hashicorp_vault:
env_sync:
path: secret/data//services/billing
# this will fuse vars with the below .env file
# use if you'd like to grab secrets from outside of the project tree
dotenv:
env_sync:
path: ~/billing.env.
进行配置后,你可以直接用以下命令运行代码:
$ teller run node src/server.js
Service is up.
Loaded configuration: Mailgun, SMTP
Port: 5050
项目推介
Teller
是一个由 Spectralops 开发和维护的开源项目,该公司在云原生环境下的开发工作流方面有着丰富的经验。项目目前在 Github 上有上千颗星,并维护活跃。如果你在寻找一个能够帮助你安全地管理各种密钥,提供云原生工作流的工具,可以试一下 Teller
!
以下是该项目 Star 趋势图(代表项目的活跃程度):
更多项目详情请查看如下链接。
开源项目地址:https://github.com/tellerops/teller
开源项目作者:tellerops
开源协议:Apache License 2.0
以下是参与项目建设的所有成员:
关注我们,一起探索有意思的开源项目。
更多精彩请扫码关注如下公众号。