vagrant-proxyconf 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +4 -0
- data/.travis.yml +3 -0
- data/CHANGELOG.md +5 -0
- data/Gemfile +12 -0
- data/Guardfile +5 -0
- data/LICENSE.txt +21 -0
- data/README.md +49 -0
- data/Rakefile +28 -0
- data/lib/vagrant-proxyconf.rb +4 -0
- data/lib/vagrant-proxyconf/action.rb +1 -0
- data/lib/vagrant-proxyconf/action/configure_apt_proxy.rb +53 -0
- data/lib/vagrant-proxyconf/apt_proxy_config.rb +88 -0
- data/lib/vagrant-proxyconf/cap/debian/apt_proxy_conf.rb +13 -0
- data/lib/vagrant-proxyconf/plugin.rb +26 -0
- data/lib/vagrant-proxyconf/version.rb +5 -0
- data/spec/spec_helper.rb +10 -0
- data/spec/unit/support/shared/apt_proxy_config.rb +103 -0
- data/spec/unit/vagrant-proxyconf/apt_proxy_config_spec.rb +34 -0
- data/vagrant-proxyconf.gemspec +20 -0
- metadata +74 -0
data/.gitignore
ADDED
data/.travis.yml
ADDED
data/CHANGELOG.md
ADDED
data/Gemfile
ADDED
data/Guardfile
ADDED
data/LICENSE.txt
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
The MIT License
|
2
|
+
|
3
|
+
Copyright (c) 2013 Teemu Matilainen <teemu.matilainen@iki.fi>
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
7
|
+
in the Software without restriction, including without limitation the rights
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
10
|
+
furnished to do so, subject to the following conditions:
|
11
|
+
|
12
|
+
The above copyright notice and this permission notice shall be included in
|
13
|
+
all copies or substantial portions of the Software.
|
14
|
+
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
21
|
+
THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,49 @@
|
|
1
|
+
# Vagrant Proxy Configuration Plugin
|
2
|
+
|
3
|
+
[][gem]
|
4
|
+
[][travis]
|
5
|
+
[][gemnasium]
|
6
|
+
[][codeclimate]
|
7
|
+
|
8
|
+
[gem]: https://rubygems.org/gems/vagrant-proxyconf
|
9
|
+
[travis]: https://travis-ci.org/tmatilai/vagrant-proxyconf
|
10
|
+
[gemnasium]: https://gemnasium.com/tmatilai/vagrant-proxyconf
|
11
|
+
[codeclimate]: https://codeclimate.com/github/tmatilai/vagrant-proxyconf
|
12
|
+
|
13
|
+
A [Vagrant](http://www.vagrantup.com/) 1.1+ plugin that configures the virtual machine to use specified proxies for package managers etc.
|
14
|
+
|
15
|
+
At this state we support:
|
16
|
+
|
17
|
+
- [APT](http://en.wikipedia.org/wiki/Advanced_Packaging_Tool) proxy/cacher
|
18
|
+
|
19
|
+
Support is planned for other package managers (at least yum).
|
20
|
+
|
21
|
+
## Usage
|
22
|
+
|
23
|
+
Install using standard Vagrant 1.1+ plugin installation method:
|
24
|
+
```sh
|
25
|
+
vagrant plugin install vagrant-proxyconf
|
26
|
+
```
|
27
|
+
|
28
|
+
### Apt
|
29
|
+
|
30
|
+
The proxy for Apt can be specified in the Vagrantfile:
|
31
|
+
```ruby
|
32
|
+
Vagrant.configure("2") do |config|
|
33
|
+
|
34
|
+
config.apt_proxy.http = "192.168.33.1:3142"
|
35
|
+
|
36
|
+
# ... other stuff
|
37
|
+
end
|
38
|
+
```
|
39
|
+
|
40
|
+
The proxy can be specified as an IP address, name or full URL, with optional port (defaults to 3142).
|
41
|
+
|
42
|
+
You can also use `APT_PROXY_HTTP` and `APT_PROXY_HTTPS` environment variables. These override the Vagrantfile configuration. To disable or remove the proxy use "DIRECT" or an empty value.
|
43
|
+
|
44
|
+
Proxy settings will be written to _/etc/apt/apt.conf.d/01proxy_ on the guest.
|
45
|
+
|
46
|
+
## Related plugins and projects
|
47
|
+
|
48
|
+
- [vagrant-cachier](https://github.com/fgrehm/vagrant-cachier)
|
49
|
+
- [vagrant-proxy](https://github.com/clintoncwolfe/vagrant-proxy)
|
data/Rakefile
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'bundler/gem_tasks'
|
2
|
+
require 'rspec/core/rake_task'
|
3
|
+
require 'tailor/rake_task'
|
4
|
+
|
5
|
+
task :default => [:test, :tailor]
|
6
|
+
|
7
|
+
# Remove 'install' task as the gem is installed to Vagrant, not to system
|
8
|
+
Rake::Task[:install].clear
|
9
|
+
|
10
|
+
namespace :test do
|
11
|
+
RSpec::Core::RakeTask.new('unit') do |task|
|
12
|
+
task.pattern = 'spec/unit/**/*_spec.rb'
|
13
|
+
end
|
14
|
+
end
|
15
|
+
desc "Run all tests"
|
16
|
+
task :test => ['test:unit']
|
17
|
+
|
18
|
+
Tailor::RakeTask.new do |task|
|
19
|
+
task.file_set('lib/**/*.rb', 'code') do |style|
|
20
|
+
style.max_line_length 100, level: :warn
|
21
|
+
style.max_line_length 140, level: :error
|
22
|
+
end
|
23
|
+
task.file_set('spec/**/*.rb', 'tests') do |style|
|
24
|
+
style.max_line_length 120, level: :warn
|
25
|
+
# allow vertical alignment of `let(:foo) { block }` blocks
|
26
|
+
style.spaces_before_lbrace 1, level: :off
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
require_relative 'action/configure_apt_proxy'
|
@@ -0,0 +1,53 @@
|
|
1
|
+
require 'tempfile'
|
2
|
+
|
3
|
+
module VagrantPlugins
|
4
|
+
module ProxyConf
|
5
|
+
class Action
|
6
|
+
class ConfigureAptProxy
|
7
|
+
attr_reader :logger
|
8
|
+
|
9
|
+
def initialize(app, env)
|
10
|
+
@app = app
|
11
|
+
@logger = Log4r::Logger.new('vagrant::proxyconf::action::configure_apt_proxy')
|
12
|
+
end
|
13
|
+
|
14
|
+
def call(env)
|
15
|
+
@app.call env
|
16
|
+
|
17
|
+
proxy_config = env[:machine].config.apt_proxy
|
18
|
+
if !proxy_config.enabled?
|
19
|
+
logger.debug "apt_proxy not enabled or configured"
|
20
|
+
elsif !proxy_conf_capability?(env[:machine])
|
21
|
+
env[:ui].info "Skipping Apt proxy config as the machine does not support it"
|
22
|
+
else
|
23
|
+
env[:ui].info "Configuring proxy for Apt..."
|
24
|
+
write_apt_proxy_conf(env[:machine], proxy_config)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
def write_apt_proxy_conf(machine, config)
|
29
|
+
logger.debug "Configuration:\n#{config}"
|
30
|
+
|
31
|
+
temp = Tempfile.new("vagrant")
|
32
|
+
temp.binmode
|
33
|
+
temp.write(config)
|
34
|
+
temp.close
|
35
|
+
|
36
|
+
machine.communicate.tap do |comm|
|
37
|
+
comm.upload(temp.path, "/tmp/vagrant-apt-proxy-conf")
|
38
|
+
comm.sudo("cat /tmp/vagrant-apt-proxy-conf > #{proxy_conf_path(machine)}")
|
39
|
+
comm.sudo("rm /tmp/vagrant-apt-proxy-conf")
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
def proxy_conf_capability?(machine)
|
44
|
+
machine.guest.capability?(:apt_proxy_conf)
|
45
|
+
end
|
46
|
+
|
47
|
+
def proxy_conf_path(machine)
|
48
|
+
machine.guest.capability(:apt_proxy_conf)
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1,88 @@
|
|
1
|
+
require 'vagrant'
|
2
|
+
|
3
|
+
module VagrantPlugins
|
4
|
+
module ProxyConf
|
5
|
+
class AptProxyConfig < Vagrant.plugin('2', :config)
|
6
|
+
# HTTP proxy for Apt
|
7
|
+
attr_accessor :http
|
8
|
+
|
9
|
+
# HTTPS proxy for Apt
|
10
|
+
attr_accessor :https
|
11
|
+
|
12
|
+
def initialize
|
13
|
+
@http = UNSET_VALUE
|
14
|
+
@https = UNSET_VALUE
|
15
|
+
end
|
16
|
+
|
17
|
+
def finalize!
|
18
|
+
@http = override_from_env_var('http', @http)
|
19
|
+
@http = nil if @http == UNSET_VALUE
|
20
|
+
|
21
|
+
@https = override_from_env_var('https', @https)
|
22
|
+
@https = nil if @https == UNSET_VALUE
|
23
|
+
end
|
24
|
+
|
25
|
+
def enabled?
|
26
|
+
!http.nil? || !https.nil?
|
27
|
+
end
|
28
|
+
|
29
|
+
# @return [String] the full configuration stanza
|
30
|
+
def to_s
|
31
|
+
"#{config_for('http')}#{config_for('https')}"
|
32
|
+
end
|
33
|
+
|
34
|
+
private
|
35
|
+
|
36
|
+
def override_from_env_var(proto, default)
|
37
|
+
ENV.fetch("APT_PROXY_#{proto.upcase}", default)
|
38
|
+
end
|
39
|
+
|
40
|
+
def config_for(proto)
|
41
|
+
ConfigValue.new(proto, send(proto.to_sym))
|
42
|
+
end
|
43
|
+
|
44
|
+
class ConfigValue
|
45
|
+
|
46
|
+
attr_reader :proto, :value
|
47
|
+
|
48
|
+
# @param proto [String] the protocol ("http", "https")
|
49
|
+
# @param value [Object] the configuration value
|
50
|
+
def initialize(proto, value)
|
51
|
+
@proto = proto
|
52
|
+
@value = value
|
53
|
+
end
|
54
|
+
|
55
|
+
# @return [String] the full Apt configuration line
|
56
|
+
def to_s
|
57
|
+
set? ? %Q{Acquire::#{proto}::Proxy "#{proxy_uri}";\n} : ""
|
58
|
+
end
|
59
|
+
|
60
|
+
private
|
61
|
+
|
62
|
+
def set?
|
63
|
+
value && !value.empty?
|
64
|
+
end
|
65
|
+
|
66
|
+
def direct?
|
67
|
+
value.upcase == "DIRECT"
|
68
|
+
end
|
69
|
+
|
70
|
+
def proxy_uri
|
71
|
+
direct? ? "DIRECT" : "#{prefix}#{value}#{suffix}"
|
72
|
+
end
|
73
|
+
|
74
|
+
def prefix
|
75
|
+
"#{proto}://" if value !~ %r{^.*://}
|
76
|
+
end
|
77
|
+
|
78
|
+
def suffix
|
79
|
+
":#{default_port}" if value !~ %r{:\d+$}
|
80
|
+
end
|
81
|
+
|
82
|
+
def default_port
|
83
|
+
3142
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
require 'vagrant'
|
2
|
+
|
3
|
+
module VagrantPlugins
|
4
|
+
module ProxyConf
|
5
|
+
class Plugin < Vagrant.plugin('2')
|
6
|
+
name 'vagrant-proxyconf'
|
7
|
+
|
8
|
+
config('apt_proxy') do
|
9
|
+
require_relative 'apt_proxy_config'
|
10
|
+
AptProxyConfig
|
11
|
+
end
|
12
|
+
|
13
|
+
guest_capability 'debian', 'apt_proxy_conf' do
|
14
|
+
require_relative 'cap/debian/apt_proxy_conf'
|
15
|
+
Cap::Debian::AptProxyConf
|
16
|
+
end
|
17
|
+
|
18
|
+
proxyconf_action_hook = lambda do |hook|
|
19
|
+
require_relative 'action'
|
20
|
+
hook.after Vagrant::Action::Builtin::Provision, Action::ConfigureAptProxy
|
21
|
+
end
|
22
|
+
action_hook 'proxyconf-machine-up', :machine_action_up, &proxyconf_action_hook
|
23
|
+
action_hook 'proxyconf-machine-reload', :machine_action_reload, &proxyconf_action_hook
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,103 @@
|
|
1
|
+
def config_with(options)
|
2
|
+
instance.tap do |c|
|
3
|
+
options.each_pair { |k, v| c.send("#{k}=".to_sym, v) }
|
4
|
+
c.finalize!
|
5
|
+
end
|
6
|
+
end
|
7
|
+
|
8
|
+
def conf_line(proto, name, port = 3142)
|
9
|
+
if name == :direct
|
10
|
+
%Q{Acquire::#{proto}::Proxy "DIRECT";\n}
|
11
|
+
else
|
12
|
+
%Q{Acquire::#{proto}::Proxy "#{proto}://#{name}:#{port}";\n}
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
def conf_line_pattern(proto, name, port = 3142)
|
17
|
+
"^#{Regexp.escape(conf_line(proto, name, port))}"
|
18
|
+
end
|
19
|
+
|
20
|
+
shared_examples "apt proxy config" do |proto|
|
21
|
+
context "#{proto} proxy" do
|
22
|
+
|
23
|
+
context "with ip" do
|
24
|
+
subject { config_with(proto => "10.1.2.3") }
|
25
|
+
its(:enabled?) { should be_true }
|
26
|
+
its(:to_s) { should eq conf_line(proto, "10.1.2.3") }
|
27
|
+
end
|
28
|
+
|
29
|
+
context "with name" do
|
30
|
+
subject { config_with(proto => "proxy.example.com") }
|
31
|
+
its(:enabled?) { should be_true }
|
32
|
+
its(:to_s) { should eq conf_line(proto, "proxy.example.com") }
|
33
|
+
end
|
34
|
+
|
35
|
+
context "with name and port" do
|
36
|
+
subject { config_with(proto => "acng:8080") }
|
37
|
+
its(:enabled?) { should be_true }
|
38
|
+
its(:to_s) { should eq conf_line(proto, "acng", 8080) }
|
39
|
+
end
|
40
|
+
|
41
|
+
context "with protocol and name" do
|
42
|
+
subject { config_with(proto => "#{proto}://proxy.foo.tld") }
|
43
|
+
its(:enabled?) { should be_true }
|
44
|
+
its(:to_s) { should eq conf_line(proto, "proxy.foo.tld") }
|
45
|
+
end
|
46
|
+
|
47
|
+
context "with protocol and name and port" do
|
48
|
+
subject { config_with(proto => "#{proto}://prism.nsa.gov:666") }
|
49
|
+
its(:enabled?) { should be_true }
|
50
|
+
its(:to_s) { should eq conf_line(proto, "prism.nsa.gov", 666) }
|
51
|
+
end
|
52
|
+
|
53
|
+
["DIRECT", "direct"].each do |direct|
|
54
|
+
context "with #{direct.inspect}" do
|
55
|
+
subject { config_with(proto => direct) }
|
56
|
+
its(:enabled?) { should be_true }
|
57
|
+
its(:to_s) { should eq conf_line(proto, :direct) }
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
[false, ""].each do |unset|
|
62
|
+
context "with #{unset.inspect}" do
|
63
|
+
subject { config_with(proto => unset) }
|
64
|
+
its(:enabled?) { should be_true }
|
65
|
+
its(:to_s) { should eq "" }
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
context "with nil" do
|
70
|
+
subject { config_with(proto => nil) }
|
71
|
+
its(:enabled?) { should be_false }
|
72
|
+
its(:to_s) { should eq "" }
|
73
|
+
end
|
74
|
+
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
shared_examples "apt proxy env var" do |var, proto|
|
79
|
+
context var do
|
80
|
+
let(:conf) { config_with(http: "acng:8080", https: "ssl-proxy:8443") }
|
81
|
+
|
82
|
+
it "sets #{proto} proxy" do
|
83
|
+
ENV[var] = "myproxy"
|
84
|
+
expect(conf.to_s).to match conf_line_pattern(proto, "myproxy")
|
85
|
+
end
|
86
|
+
|
87
|
+
it "does not set other proxies" do
|
88
|
+
ENV[var] = "myproxy:2345"
|
89
|
+
conf = config_with({})
|
90
|
+
expect(conf.to_s).to eq conf_line(proto, "myproxy", 2345)
|
91
|
+
end
|
92
|
+
|
93
|
+
it "sets empty configuration" do
|
94
|
+
ENV[var] = ""
|
95
|
+
expect(conf.to_s).to_not match %r{#{proto}://}
|
96
|
+
end
|
97
|
+
|
98
|
+
it "sets direct configuration" do
|
99
|
+
ENV[var] = "direct"
|
100
|
+
expect(conf.to_s).to match conf_line_pattern(proto, :direct)
|
101
|
+
end
|
102
|
+
end
|
103
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'unit/support/shared/apt_proxy_config'
|
3
|
+
require 'vagrant-proxyconf/apt_proxy_config'
|
4
|
+
|
5
|
+
describe VagrantPlugins::ProxyConf::AptProxyConfig do
|
6
|
+
let(:instance) { described_class.new }
|
7
|
+
|
8
|
+
before :each do
|
9
|
+
# Ensure tests are not affected by environment variables
|
10
|
+
%w[APT_PROXY_HTTP APT_PROXY_HTTPS].each { |k| ENV.delete(k) }
|
11
|
+
end
|
12
|
+
|
13
|
+
context "defaults" do
|
14
|
+
subject { config_with({}) }
|
15
|
+
its(:enabled?) { should be_false }
|
16
|
+
its(:to_s) { should eq "" }
|
17
|
+
end
|
18
|
+
|
19
|
+
include_examples "apt proxy config", "http"
|
20
|
+
include_examples "apt proxy config", "https"
|
21
|
+
|
22
|
+
context "with both http and https proxies" do
|
23
|
+
subject { config_with(http: "10.2.3.4", https: "ssl-proxy:8443") }
|
24
|
+
its(:enabled?) { should be_true }
|
25
|
+
its(:to_s) { should match conf_line_pattern("http", "10.2.3.4") }
|
26
|
+
its(:to_s) { should match conf_line_pattern("https", "ssl-proxy", 8443) }
|
27
|
+
end
|
28
|
+
|
29
|
+
context "with env var" do
|
30
|
+
include_examples "apt proxy env var", "APT_PROXY_HTTP", "http"
|
31
|
+
include_examples "apt proxy env var", "APT_PROXY_HTTPS", "https"
|
32
|
+
end
|
33
|
+
|
34
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'vagrant-proxyconf/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "vagrant-proxyconf"
|
8
|
+
spec.version = VagrantPlugins::ProxyConf::VERSION
|
9
|
+
spec.authors = ["Teemu Matilainen"]
|
10
|
+
spec.email = ["teemu.matilainen@iki.fi"]
|
11
|
+
spec.description = "A Vagrant Plugin that configures the virtual machine to use proxies"
|
12
|
+
spec.summary = spec.description
|
13
|
+
spec.homepage = "https://github.com/tmatilai/vagrant-proxyconf"
|
14
|
+
spec.license = "MIT"
|
15
|
+
|
16
|
+
spec.files = `git ls-files`.split($/)
|
17
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
|
+
spec.require_paths = ["lib"]
|
20
|
+
end
|
metadata
ADDED
@@ -0,0 +1,74 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: vagrant-proxyconf
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Teemu Matilainen
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2013-06-27 00:00:00.000000000 Z
|
13
|
+
dependencies: []
|
14
|
+
description: A Vagrant Plugin that configures the virtual machine to use proxies
|
15
|
+
email:
|
16
|
+
- teemu.matilainen@iki.fi
|
17
|
+
executables: []
|
18
|
+
extensions: []
|
19
|
+
extra_rdoc_files: []
|
20
|
+
files:
|
21
|
+
- .gitignore
|
22
|
+
- .travis.yml
|
23
|
+
- CHANGELOG.md
|
24
|
+
- Gemfile
|
25
|
+
- Guardfile
|
26
|
+
- LICENSE.txt
|
27
|
+
- README.md
|
28
|
+
- Rakefile
|
29
|
+
- lib/vagrant-proxyconf.rb
|
30
|
+
- lib/vagrant-proxyconf/action.rb
|
31
|
+
- lib/vagrant-proxyconf/action/configure_apt_proxy.rb
|
32
|
+
- lib/vagrant-proxyconf/apt_proxy_config.rb
|
33
|
+
- lib/vagrant-proxyconf/cap/debian/apt_proxy_conf.rb
|
34
|
+
- lib/vagrant-proxyconf/plugin.rb
|
35
|
+
- lib/vagrant-proxyconf/version.rb
|
36
|
+
- spec/spec_helper.rb
|
37
|
+
- spec/unit/support/shared/apt_proxy_config.rb
|
38
|
+
- spec/unit/vagrant-proxyconf/apt_proxy_config_spec.rb
|
39
|
+
- vagrant-proxyconf.gemspec
|
40
|
+
homepage: https://github.com/tmatilai/vagrant-proxyconf
|
41
|
+
licenses:
|
42
|
+
- MIT
|
43
|
+
post_install_message:
|
44
|
+
rdoc_options: []
|
45
|
+
require_paths:
|
46
|
+
- lib
|
47
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
48
|
+
none: false
|
49
|
+
requirements:
|
50
|
+
- - ! '>='
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: '0'
|
53
|
+
segments:
|
54
|
+
- 0
|
55
|
+
hash: -4265757349911692365
|
56
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
segments:
|
63
|
+
- 0
|
64
|
+
hash: -4265757349911692365
|
65
|
+
requirements: []
|
66
|
+
rubyforge_project:
|
67
|
+
rubygems_version: 1.8.23
|
68
|
+
signing_key:
|
69
|
+
specification_version: 3
|
70
|
+
summary: A Vagrant Plugin that configures the virtual machine to use proxies
|
71
|
+
test_files:
|
72
|
+
- spec/spec_helper.rb
|
73
|
+
- spec/unit/support/shared/apt_proxy_config.rb
|
74
|
+
- spec/unit/vagrant-proxyconf/apt_proxy_config_spec.rb
|