防火墙后面的Puppet vcsrepo?

时间:2013-04-10 23:38:23

标签: git github puppet

尝试使用puppet中的vcsrepo模块为devstack安装GIT存储库。使用https://github.com/ ...但是在防火墙后面。有一个代理服务器可用于http,https和FTP访问Internet。

使用此模块时,有没有办法包含代理?我在vcsrepo中找不到任何似乎有用的东西。如果需要,愿意调整(破解)模块。

2 个答案:

答案 0 :(得分:1)

您可以查看模块vcsrepo / lib / puppet / provider / vcsrepo / git.rb

位于文件底部附近:

def git_with_identity(*args)

在上面一行中添加以下内容:

if @resource.value(:http_proxy)
    ENV['http_proxy'] = @resource.value(:http_proxy)
    ENV['https_proxy'] = @resource.value(:http_proxy)
end

接下来编辑vcsrepo / lib / puppet / type / vcsrepo.rb - 在最后一次结束之前添加:

 newparam :http_proxy do
 desc "http proxy to use to communicate with the outside world"
end

现在在你的木偶清单中你可以添加http_proxy var:

vcsrepo { '/var/www/blash':
            ensure => present,
            provider => git,
            http_proxy => 'http://prxy.local:8080',
            require => Class['git-core'],
            source => 'http://github.com/blah/blah.git';
    }

答案 1 :(得分:1)

我能够在不修改vcsrepo代码的情况下解决这个问题。 相反,我在root的主目录中创建了一个.gitconfig文件,该文件指定了https / http协议的代理信息。