gpt4 book ai didi

ruby - 如何使用公共(public) babushka dep 管理安全文件?

转载 作者:太空宇宙 更新时间:2023-11-03 16:06:30 25 4
gpt4 key购买 nike

我想像 The Conversation 一样分享我的头巾:https://github.com/conversation/babushka-deps

但是,我使用 Chef 管理 SSL 证书和 SSH key 。现在这些文件直接在我的厨师配置中,但由于我想分享我的 babushka 配置,所以我不能把它们放在那里。

babushka 中是否有处理安全的、存储库外文件的好方法?

最佳答案

这是我目前正在做的事情。没有内置方法,但可以通过一些脚本来完成。

如果您在远程系统上运行 deps,比如从 shell 脚本,那么我会向脚本添加一个命令以首先将私有(private)数据同步到位:

rsync -taP private/ user@host:~/private/
ssh user@host 'babushka "server configured"'

这是最简单的情况,但很快就会变得困惑。相反,我正在用 babushka 本身做这种事情,以便根据 deps 描述整个过程。

我有一个 dep 有几个小的帮助方法,用于在远程机器上安装 babushka,然后在它上面运行任意 dep。这允许您编写依赖于远程运行结果的本地 dep,有效地将 babushka 嵌套在其自身中。

它还不够通用,无法合并到核心中(并且需要重构),但它运行良好。如果您想同时试一试,请看这里:

https://github.com/conversation/babushka-deps/blob/master/provision.rb#L123-131

使用此方法,您可以将参数传递给每个远程运行。这使得提供私有(private)数据变得容易,例如您的私钥,或用于设置您的网络服务器等的 SSL 证书。

(请注意,虽然参数值被记录到本地和远程框上的 ~/.babushka/logs/dep-name,因此“私有(private)”假设两者上的相关用户帐户都是可信的。)

关于ruby - 如何使用公共(public) babushka dep 管理安全文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12631456/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com