Here’s what got us working with test-kitchen and kitchen-vagrant behind an HTTP proxy. Comments inline.
---
driver:
name: vagrant
driver_config:
# Allows fetching boxes if required
http_proxy: http://yourproxy.example.com:80
https_proxy: https://yourproxy.example.com:80
# This vagrantfiles callout is needed because of
# https://github.com/test-kitchen/test-kitchen/issues/821
# You should check that issue to see if this is still required.
vagrantfiles:
- your-site-specific-vagrantfile-block.rb
network:
- ["private_network", {ip: "192.168.1.2"}]
provisioner:
name: chef_zero
# Allows fetching Omnibus Chef installer if required
http_proxy: http://yourproxy.example.com:80
https_proxy: http://yourproxy.example.com:80
platforms:
- name: centos-6.7
suites:
- name: default
run_list:
- recipe[things::default]
attributes:
chef-client:
# Allows your Chef run to fetch stuff it requires
config:
http_proxy: "http://yourproxy.example.com:80"
https_proxy: "http://yourproxy.example.com:80"
And finally your-site-specific-vagrantfile-block.rb, your custom Vagrantfile piece that is merged in via the vagrantfiles directive in your YAML file:
unless Vagrant.has_plugin?("vagrant-proxyconf")
raise "Missing required plugin 'vagrant-proxyconf', run `vagrant plugin install vagrant-proxyconf`"
end
Vagrant.configure(2) do |config|
# Allows busser gem and deps to be fetched as required
config.proxy.http = "#{ENV['http_proxy']}"
config.proxy.https = "#{ENV['https_proxy']}"
config.proxy.no_proxy = "localhost,127.0.0.1"
end