一个轻量级的工具,可以轻松地对仓库中的机密进行加密/解密
项目描述
Secrets Tool
这是一个小工具,可以帮助加密必须提交到Git仓库的机密。
它具有原生支持YAML文件部分加密的优势。这非常有用,因为它允许在文件内容加密的情况下查看YAML文件结构(你的PR审查员和diff工具会感谢你)
先决条件
- Python >= 3.7
- 安装以下包:
pip install ruamel.yaml cryptography
用法
该工具从.gitignore
文件中读取要加密/解密的文件列表。在那里,它只考虑被注释块包围的文件,如下例所示
# BEGIN ENCRYPTED
kaas-rubik-stage/values.yaml
# END ENCRYPTED
通过提供.gitignore
文件作为参数,并使用encrypt
或decrypt
命令来运行该工具
cd <REPOSITORY_ROOT>
python -m utils.secrets_tool k8s_helm/.gitignore encrypt
语法
该工具为所有类型的文件提供不同的加密处理程序。
yaml
用于工具使用的YAML文件,这些工具可以接受字符串前面的!decrypted
标签yamlcompat
用于不喜欢额外“加密标记”标签的工具。generic
用于所有其他文件类型。它加密整个文件。
所需的加密处理程序是从文件类型推断出来的 - 或者可以在gitignore文件中使用 # type:
提示明确指定
# BEGIN ENCRYPTED
kaas-rubik-stage/values.yaml
# type: yaml
kaas-rubik-stage/values2.txt
# END ENCRYPTED
yamlcompat
此加密处理程序可以加密单个YAML键,而无需依赖于YAML文件结构中的“可见解析器”更改。不是直接在文件中标记所需键,而是在.gitignore文件中使用 # data:
注释列出它们
# BEGIN ENCRYPTED
kaas-rubik-stage/values.yaml
# type: yamlcompat
# data: splunk.apiToken
# data: splunk.host
kaas-rubik-stage/values2.yaml
# END ENCRYPTED
警告 建议尽可能使用常规的YAML处理器。当使用yamlcompat模块时,您会将加密逻辑分散到多个文件中,这可能会导致错误(尤其是在包含未命名结构(如列表)的脆弱YAML文件中)。
项目详情
下载文件
下载您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源代码分发
secrets_tool-0.1.0.tar.gz (6.3 kB 查看哈希值)
构建分发
secrets_tool-0.1.0-py3-none-any.whl (7.8 kB 查看哈希值)
关闭
secrets_tool-0.1.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | cf7f0ce84375d06964228300e1811cb76de2528a708cc252ec33e1b93f48e9b9 |
|
MD5 | 9417d7cf70267159550d5908e7315977 |
|
BLAKE2b-256 | 4da416e267dc043fdd8f74f49eb91244d52a85f79c993eaf98ad6fffddf00374 |
关闭
secrets_tool-0.1.0-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b82a7ab01794074171970385e766957d4d0e95ccc2b2ca0e25b169c4fb383c66 |
|
MD5 | fd795f1cc718c855cc3a4dc515bb5ad5 |
|
BLAKE2b-256 | fd8999ce796967367bc273549ccdb042844815c0da55deddbcf53d2e0f835ba3 |