2

我不知道为什么我在互联网上找不到任何关于此的信息。

我基本上想编写一个提示用户输入他们的 github 用户名/密码的配方,然后发布到 github API 以添加一个 ssh 密钥。

我确信我可以使用普通的 ruby​​ 方法(即获取)提示用户,但考虑到厨师提供的所有实用程序,这似乎并不自然。

有人可以告诉我提示用户输入以存储在 vars 中供以后使用的“厨师”方式吗?

我想首先输出一些指令供用户阅读,然后获取用户名,然后是密码,我想出于安全原因,密码不应该在他们键入时显示在控制台上

4

2 回答 2

4

我会说厨师不是为这样的用户输入而制作的。

您可能会使用在主厨运行的编译阶段执行的 ruby​​ 代码,但我建议如下:

环境变量中读取它怎么样?

于 2013-11-03T15:16:25.310 回答
1

感觉超级脏,但这确实有效。也许可以调整一些东西,让它感觉更干净一些:

文件“/tmp/ans”做
  puts "输入有用的东西!"
  内容 ::STDIN.readline
结尾

你可以应用这样的配方chef-apply,注意使用Vagrant是行不通的。

不过,我建议以不同的方式进行。另一种方法是不直接调用 chef,而是通过包装脚本。这可以从用户那里读取数据并将其写入一个 json 文件,然后通过-j PATH, --json-attributes PATH参数将其提供给厨师(参见chef-solo 参数)。

于 2013-11-03T19:19:25.803 回答