使用 Vagrant 和 Puppet 的代理

使用 Vagrant 和 Puppet 的代理

我正在尝试运行一个 puppet 清单,它依赖于目标机器是否具有代理设置来访问互联网。

我无法按照 Puppet 建议的那样传递 http_proxy_host(我相信这是一个错误?)。

我曾尝试在我的 Debian 机器上更新 .bashrc(通过 puppet 清单),但我不确定如何第一次就完成设置。

相反,我相信解决方案是设置/传递环境变量 http_proxy,但是我不确定如何/在哪里使用 Vagrant 来做到这一点。

https://groups.google.com/d/msg/puppet-users/2aivOoYHwZ0/rjRkJx1zdjQJ建议使用像这样的包装器......

#!/bin/bash
export http_proxy=my.proxy
puppet apply "$@"

我不是 100% 确定在哪里可以做到这一点,或者这是否是最好的解决方案。

当然,我不是唯一一个尝试使用 Vagrant/Puppet 和 Proxies 的人?

答案1

尝试像这样设置你的代理:

#!/bin/bash
export http_proxy=http://my.proxy:3128
puppet apply "$@"

答案2

我在 Vagrantfile 中使用 shell 配置程序Puppet 提供者:

config.vm.provision :shell, :inline => "echo 'export http_proxy=http://proxy.company.com:3128' >> /etc/profile.d/proxy.sh"

答案3

我有点偏见,但我建议使用vagrant-proxyconf插件。要配置所有 Vagrant 机器,您可以使用$HOME/.vagrant.d/Vagrantfile或环境变量。这样您就不需要修改所有项目特定的 Vagrantfile。

例子:

Vagrant.configure("2") do |config|
  config.proxy.http  = "http://my.proxy:3128"
  config.proxy.https = "http://my.proxy:3128"
  # other configuration...
end

相关内容