gpt4 book ai didi

vagrant - 有没有办法保护 Vagrant 配置的代理用户/密码?

转载 作者:行者123 更新时间:2023-12-04 18:09:47 25 4
gpt4 key购买 nike

我正在使用 Vagrant 处理几个用例,并且一直难以想出一个很好的解决方案来以优雅的方式处理公司代理。在我最初的 Vagrantfile 中,我最终得到了 apt.conf 的这个配置

user = 'me'
pwd = 'mypwd'
config.vm.provision :shell, :inline => "echo 'Acquire::http::Proxy \"http://#{user}:#{pwd}@proxy.corp.com:3210\";' >> /etc/apt/apt.conf"
config.vm.provision :shell, :inline => "echo 'Acquire::https::Proxy \"http://#{user}:#{pwd}@proxy.corp.com:3210\";' >> /etc/apt/apt.conf"
config.vm.provision :shell, :inline => "echo 'Acquire::socks::Proxy \"http://#{user}:#{pwd}@proxy.corp.com:3128\";' >> /etc/apt/apt.conf"

显然,我想避免将我的用户/密码存储在 Vagrantfile 中,因为我打算将其置于版本控制之下。我的下一个尝试是使用 highline 插件从 Vagrantfile 中进行提示,但这会导致提示出现在每个 vagrant 命令期间,而不仅仅是在 init 期间(当此配置适用时)。

我会以错误的方式解决这个问题吗?如果是这样,还有哪些其他选项可用于处理非常适合 Vagrant 模型的代理配置?

最佳答案

您可以通过以下方式执行此操作:

创建一个名为 proxy.yml 的文件并将其添加到您的 .gitignore这样它就不会被提交。

然后在你的 Vagrantfile 里面你可以有这样的事情:

if File.exist?("proxy.yml")
require 'yaml'
proxy = YAML::load(File.open('proxy.yml'))
config.vm.provision :shell, :inline => "echo 'Acquire::http::Proxy \"http://#{proxy['user']}:#{proxy['pass']}@proxy.corp.com:3210\";' >> /etc/apt/apt.conf"
end
proxy.yml的内容将是:
user: "username"
pass: "password"

关于vagrant - 有没有办法保护 Vagrant 配置的代理用户/密码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17154532/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com