【发布时间】:2025-12-17 07:45:01
【问题描述】:
我正在编写一个自定义的 Asterisk 厨师食谱,我需要在其中运行此脚本
bash 'create asterisk keys' do
user 'root'
cwd File.dirname(source_path)
code <<-EOH
cd asterisk-#{node.version}*
./contrib/scripts/ast_tls_cert -C #{node.host} -O "#{node.box_name}" -d #{node.keys_dir}
EOH
action :nothing
end
这个ast_tls_cert 脚本会要求输入几个密码,但是当我通过 vagrant 运行它时,由于永远不会输入密码,因此永远不会生成密钥。有没有办法告诉厨师如果脚本需要用户输入才能使用一些 ENV 变量作为值?我真的不需要它停下来向用户询问输入。实际上,我宁愿它不这样做。我只想指定一些值并告诉它使用该值。
【问题讨论】:
-
诚然that script 只是一个方便的openssl 包装器。您可以直接调用 openssl 命令(这将启用 -passin 和 -passout 命令行选项)。或者你甚至可以在一个 ruby_block 中使用 ruby 和 OpenSSL Module
标签: vagrant chef-infra asterisk cookbook