pantheon-systems/terminus-secrets-plugin

此软件包已被废弃且不再维护。作者建议使用 pantheon-systems/terminus-secrets-manager-plugin 软件包。

Secrets - 一个允许操作用于 Quicksilver 的 'secrets' 文件的 Terminus 插件。

安装量: 485,946

依赖: 0

推荐者: 0

安全性: 0

星标: 22

关注者: 42

分支: 20

开放问题: 10

类型:terminus-plugin

1.3.1 2022-03-14 23:23 UTC

README

CircleCI Actively Maintained

Terminus v1.x Compatible Terminus v0.x Compatible

请参阅替代插件,Terminus Secrets Management Plugin,目前处于早期访问阶段,可作为可能的替代方案。

允许在 Pantheon 网站上使用 Quicksilver 的简单 secrets.json 文件进行操作的 Terminus 插件。

为 Terminus 1.x 添加了 'secrets' 命令,您可以使用它来添加、获取、删除和更新。对于与 Terminus 0.x 兼容的版本,请参阅 0.x 分支

请按照 Quicksilver 示例使用说明进行操作。

请注意,由于此插件管理的是网络附加存储中的简单 json 文件,文件系统同步操作将影响密钥。如果您的情况是在不同的环境中使用不同的密钥,则不应使用此方法。对于这种情况或对敏感密钥,我们建议使用 Lockr

背景

此插件将条目写入 ~/files/private/secrets.json 文件(注意:这指的是与用于存储您的 Quicksilver 脚本的 private 目录不同的 private 目录!)。这个文件是一个包含多个键的 JSON 文件,它不会包含在您的项目源代码中。'terminus secrets' 脚本将检索此文件,按请求修改它,然后将它写回 Pantheon 网站。

在可以使用此 Terminus 插件之前,必须在每个环境中创建 secrets.json 文件。要创建文件,请调用 secrets set 命令并添加一个密钥。这将自动在该环境中创建文件。

terminus secrets:set site.env key value

密钥目录在部署期间不会复制到 testlive(因为它没有在项目存储库中跟踪);因此,您必须为希望它们可用的每个环境单独设置密钥。

此外,请注意,您的密钥可能被文件系统同步操作覆盖。例如,如果在部署到 TEST 时选择“从 Live 拉取文件和数据库”,则将用 LIVE 中的密钥(或缺乏密钥)覆盖 TEST 环境。如果您打算将 secrets.json 用于生产,请确保在所有环境中设置相同的文件以避免混淆。

您可以在生产环境中创建所有密钥,然后复制到其他环境以复制密钥。

安装

有关安装帮助,请参阅 管理插件

Terminus 3.x 的安装

Terminus 现在已内置插件管理功能。

terminus self:plugin:install pantheon-systems/terminus-secrets-plugin

为Terminus 2.x安装

mkdir -p ~/.terminus/plugins
composer create-project -d ~/.terminus/plugins pantheon-systems/terminus-secrets-plugin:~1

配置

此插件使用无需配置。

用法

将“value”写入“sitename”的“test”环境中的“key”。

terminus secrets:set site.env key value

从“sitename”的“test”环境中删除“key”的秘密。

terminus secrets:delete site.env key

显示“sitename”的“test”环境中“key”的当前值。

terminus secrets:show site.env key

显示“sitename”的“test”环境中所有可用的key。

terminus secrets:list site.env

您可以通过传递--file选项给此terminus插件来将key读/写到名为非secrets.json的文件中;这在存储在不同环境中可能不同的配置key时非常有用,因为这可以防止您的特定环境文件被数据库和文件克隆操作覆盖。

有关Terminus和Terminus插件的更多信息,请参阅: https://pantheon.io/docs/terminus/plugins/

Terminus 0.x版本

此插件与Terminus 1.x和Terminus 0.x兼容。这是因为Terminus 1.x在src/Commands中搜索命令文件,而Terminus 0.x在Commands中搜索。通常,Terminus插件应该只支持Terminus的一个版本。建议使用分支1.x0.x来做到这一点。此规则的例外是那些通过git clone广泛安装在持续集成脚本中而未使用--branch指定的Terminus插件。在这种情况下,将两个版本放在同一分支上对于与这些脚本保持向后兼容性可能是有帮助的。

帮助

运行terminus list secrets以获取可用命令的完整列表。使用terminus help <command>获取有关单个命令的帮助。

提示

如果您需要为不同环境或开发环境与生产环境添加多个版本的key,请使用有助于列出key的命名结构将它们全部添加。

keyName_production: value
keyName_development: value

或者

keyName_multiDevName: value

JSON文件中没有key数组,因此所有key都在根目录下。