我正在尝试在发出wget调用之前设置代理:
file { "/etc/environment":
content => inline_template("
http_proxy=http://10.0.12.13:8080
https_proxy=http://10.0.12.13:8080")
}
问题在于我必须重新启动Puppet会话,以便正确加载环境。
我也尝试在exec语句中导出变量:
exec { "proxy-export-vars":
provider => "shell",
command => "export http_proxy=http://10.0.12.13:8080 && export https_proxy=http://10.0.12.13:8080",
}
问题是如何在不重启会话和puppet应用程序的情况下加载环境设置?
更新
WGET puppet plugin使用顶级作用域变量搜索代理设置。因此,诀窍是在顶级作用域中定义这些变量,即在节点定义之前。完整的工作代码:
$http_proxy = "http://10.0.12.13:8080"
$https_proxy = "http://10.0.12.13:8080"
node 'machine' {
# ...
}
从现在开始,WGET puppet插件将使用这些代理设置获取资源。
export
可能与provider => shell
一起使用,但你的第二点是正确的 - 导出这些值的 shell 将会迅速终止。 - Felix Frank