vagrant-proxyconf 1.5.2 → 2.0.1

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.
Files changed (72) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -0
  3. data/.travis.yml +11 -14
  4. data/CHANGELOG.md +38 -0
  5. data/Gemfile +28 -7
  6. data/LICENSE.txt +1 -1
  7. data/README.md +147 -18
  8. data/Rakefile +1 -27
  9. data/development/Dockerfile +45 -0
  10. data/development/README.md +2 -0
  11. data/development/Vagrantfile.example +185 -9
  12. data/development/install-c7.sh +46 -0
  13. data/development/install-debian.sh +55 -0
  14. data/development/tinyproxy.conf +333 -0
  15. data/lib/vagrant-proxyconf/action.rb +15 -7
  16. data/lib/vagrant-proxyconf/action/base.rb +47 -5
  17. data/lib/vagrant-proxyconf/action/configure_apt_proxy.rb +17 -0
  18. data/lib/vagrant-proxyconf/action/configure_chef_proxy.rb +32 -27
  19. data/lib/vagrant-proxyconf/action/configure_docker_proxy.rb +132 -14
  20. data/lib/vagrant-proxyconf/action/configure_env_proxy.rb +58 -11
  21. data/lib/vagrant-proxyconf/action/configure_git_proxy.rb +25 -9
  22. data/lib/vagrant-proxyconf/action/configure_npm_proxy.rb +14 -6
  23. data/lib/vagrant-proxyconf/action/configure_pear_proxy.rb +15 -8
  24. data/lib/vagrant-proxyconf/action/configure_svn_proxy.rb +15 -8
  25. data/lib/vagrant-proxyconf/action/configure_yum_proxy.rb +16 -0
  26. data/lib/vagrant-proxyconf/action/is_enabled.rb +18 -1
  27. data/lib/vagrant-proxyconf/cap/linux/chef_proxy_conf.rb +17 -0
  28. data/lib/vagrant-proxyconf/cap/linux/docker_proxy_conf.rb +2 -1
  29. data/lib/vagrant-proxyconf/cap/linux/yum_proxy_conf.rb +19 -0
  30. data/lib/vagrant-proxyconf/cap/util.rb +4 -5
  31. data/lib/vagrant-proxyconf/capability.rb +10 -0
  32. data/lib/vagrant-proxyconf/config.rb +20 -0
  33. data/lib/vagrant-proxyconf/config/chef_proxy.rb +25 -0
  34. data/lib/vagrant-proxyconf/config/docker_proxy.rb +25 -0
  35. data/lib/vagrant-proxyconf/config/git_proxy.rb +3 -0
  36. data/lib/vagrant-proxyconf/config/npm_proxy.rb +25 -0
  37. data/lib/vagrant-proxyconf/config/pear_proxy.rb +19 -0
  38. data/lib/vagrant-proxyconf/version.rb +1 -1
  39. data/locales/en.yml +38 -0
  40. data/resources/yum_config.awk +1 -0
  41. data/spec/spec_helper.rb +27 -9
  42. data/spec/unit/fixtures/docker_client_config_json_enabled_proxy +9 -0
  43. data/spec/unit/fixtures/docker_client_config_json_no_proxy +5 -0
  44. data/spec/unit/fixtures/etc_environment_only_http_proxy.conf +9 -0
  45. data/spec/unit/fixtures/yum_with_repository_and_proxy_containing_special_chars.conf +10 -0
  46. data/spec/unit/vagrant-proxyconf/action/base_spec.rb +191 -0
  47. data/spec/unit/vagrant-proxyconf/action/configure_apt_proxy_spec.rb +162 -0
  48. data/spec/unit/vagrant-proxyconf/action/configure_chef_proxy_spec.rb +32 -0
  49. data/spec/unit/vagrant-proxyconf/action/configure_docker_proxy_spec.rb +491 -0
  50. data/spec/unit/vagrant-proxyconf/action/configure_env_proxy_spec.rb +105 -4
  51. data/spec/unit/vagrant-proxyconf/action/configure_git_proxy_spec.rb +116 -0
  52. data/spec/unit/vagrant-proxyconf/action/configure_npm_proxy_spec.rb +67 -0
  53. data/spec/unit/vagrant-proxyconf/action/configure_pear_proxy_spec.rb +116 -0
  54. data/spec/unit/vagrant-proxyconf/action/configure_svn_proxy_spec.rb +85 -0
  55. data/spec/unit/vagrant-proxyconf/action/configure_yum_proxy_spec.rb +100 -0
  56. data/spec/unit/vagrant-proxyconf/action/is_enabled_spec.rb +162 -12
  57. data/spec/unit/vagrant-proxyconf/cap/linux/docker_proxy_conf_spec.rb +1 -1
  58. data/spec/unit/vagrant-proxyconf/cap/util_spec.rb +2 -2
  59. data/spec/unit/vagrant-proxyconf/config/key_mixin_spec.rb +1 -1
  60. data/spec/unit/vagrant-proxyconf/resources/yum_config_spec.rb +14 -0
  61. data/test/issues/180/.rspec +2 -0
  62. data/test/issues/180/Dockerfile +47 -0
  63. data/test/issues/180/README.md +31 -0
  64. data/test/issues/180/Rakefile +27 -0
  65. data/test/issues/180/Vagrantfile +31 -0
  66. data/test/issues/180/entrypoint.sh +50 -0
  67. data/test/issues/180/spec/default/redhat_spec.rb +15 -0
  68. data/test/issues/180/spec/docker_host/redhat_spec.rb +165 -0
  69. data/test/issues/180/spec/spec_helper.rb +43 -0
  70. data/test/issues/180/tinyproxy.conf +333 -0
  71. data/travis/before_install +26 -0
  72. metadata +44 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 57a68635cfc9a1ce7ad88b14d65ff04950f43b7b
4
- data.tar.gz: 182af0796244d4b82b6eb6cc9338b2cc3212361b
3
+ metadata.gz: 89c3334da0f5ca851a92f23dc388327d47dee03a
4
+ data.tar.gz: 743404cd2300188be2c8fccf0dda4894b2ba8523
5
5
  SHA512:
6
- metadata.gz: 31c746c218e6f4f65e9b3cbe88c09b7ca4d0e2efe472193d4571c60b531ad0241d76d55579a00673b08d9d543bf5eacfe6a9800e0baa6326408a344eda6b0e0b
7
- data.tar.gz: 12fc3b6db9dc5511dcba1f21b0e77d1f796c734613420cd3c4b5672a0b10a6cec7131138c203d839c05a21235b092077ca842465f4bdca1142f8a22b28445209
6
+ metadata.gz: 2298453a51c191d77e4b927ac5be44d4d15aff00fce6a14a4c532dfb85587f7686966ae374f538583fb3ece529724990e902be06af337979f54b0cf3af5c70af
7
+ data.tar.gz: 375908939f9f242efcd9d4e3b41a610017be5b9e55680d4e09b71620561f55750d0de9508b257c7c8c271881835f28703d3ecfb6113bdbd9922ffd6f14bec728
data/.gitignore CHANGED
@@ -1,6 +1,8 @@
1
1
  /.bundle
2
2
  /.yardoc
3
+ .vagrant
3
4
  /Gemfile.lock
4
5
  /doc
5
6
  /tmp
6
7
  vagrant-proxyconf-*.gem
8
+ /vendor
data/.travis.yml CHANGED
@@ -2,24 +2,21 @@ language: ruby
2
2
  cache: bundler
3
3
  sudo: false
4
4
 
5
- before_install:
6
- - rvm @global do gem uninstall bundler --all --executables
7
- - gem uninstall bundler --all --executables
8
- - gem install bundler --version '~> 1.5.2'
9
- - bundle --version
5
+ before_install: ./travis/before_install
10
6
  bundler_args: --without=development
11
7
 
12
- rvm: 2.0.0
13
- env: VAGRANT_VERSION=v1.7.2
8
+ env:
9
+ global:
10
+ - NOKOGIRI_USE_SYSTEM_LIBRARIES=true
11
+
12
+ rvm: 2.4.4
14
13
  matrix:
15
14
  include:
16
- - env: VAGRANT_VERSION=v1.6.5
17
- - env: VAGRANT_VERSION=v1.5.4
18
- - env: VAGRANT_VERSION=v1.4.3
19
- - env: VAGRANT_VERSION=v1.3.5
20
- rvm: 1.9.3
21
- - env: VAGRANT_VERSION=v1.2.7
22
- rvm: 1.9.3
15
+ - env: VAGRANT_VERSION=v2.2.2
16
+ - env: VAGRANT_VERSION=v2.1.5
17
+ - env: VAGRANT_VERSION=v2.0.4
18
+ - env: VAGRANT_VERSION=v1.9.8
19
+ rvm: 2.3.4
23
20
  - env: VAGRANT_VERSION=master
24
21
  allow_failures:
25
22
  - env: VAGRANT_VERSION=master
data/CHANGELOG.md CHANGED
@@ -1,3 +1,41 @@
1
+ # 2.0.2 / _Not released yet_
2
+
3
+ # 2.0.1 / 2019-03-31
4
+
5
+ Improvements:
6
+
7
+ - Check for existence of HTTP_PROXY and HTTPS_PROXY environment variables.
8
+ If neither are set this plugin is automatically disabled.
9
+ - Correctly uses the Tempfile pattern now via commit. 8ee2a2bb146aeb9fb1b27c80814e9000eff34aa1
10
+
11
+ Bug fixes:
12
+ - Docker proxy conf not set the first time the provisioner is used (trusty64) - #155
13
+ - Proxy doesn't work for Docker with systemd - #172
14
+ - Provisioning of docker fails - #180
15
+ - Docker provider: Guest-specific operations were attempted on a machine that is not ready for guest communication. - #181
16
+ - Provisioning of docker fails issue 180. - #182
17
+ - vagrant-proxyconf running on Win10 and provisioning with Docker. - #186
18
+ - Cannot force to write but without configuration. - #188
19
+
20
+ # 2.0.0 / 2019-01-03
21
+
22
+ Improvements:
23
+
24
+ - Significant refactor to support disabling a proxy. Now when `config.proxy.enabled = false` all supporting proxies will be uncofigured.
25
+ - Added new tests for new features.
26
+ - Updated README.md to reflect new behavior.
27
+ - Cleaned up travis builds to support newere versions of vagrant.
28
+
29
+ Features:
30
+ - Added new configuration parameter for `skipping` configuring a disabled or enabled proxy.
31
+
32
+ Bug Fixes:
33
+
34
+ - Disable proxy settings in provisioned box ([GH-167][])
35
+ - unable to disable proxy for chef provisioners ([GH-118][])
36
+ - Proxy remains enabled after updating config ([GH-87][])
37
+
38
+
1
39
  # 1.5.2 / 2015-10-01
2
40
 
3
41
  Improvements:
data/Gemfile CHANGED
@@ -1,22 +1,43 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
+ #### Added due to https://groups.google.com/forum/#!topic/vagrant-up/J8J6LmhzBqM/discussion
4
+ embedded_locations = %w(/Applications/Vagrant/embedded /opt/vagrant/embedded)
5
+
6
+ embedded_locations.each do |p|
7
+ ENV['VAGRANT_INSTALLER_EMBEDDED_DIR'] = p if File.directory?(p)
8
+ end
9
+
10
+ unless ENV.key?('VAGRANT_INSTALLER_EMBEDDED_DIR')
11
+ $stderr.puts "Couldn't find a packaged install of vagrant, and we need this"
12
+ $stderr.puts 'in order to make use of the RubyEncoder libraries.'
13
+ $stderr.puts 'I looked in:'
14
+ embedded_locations.each do |p|
15
+ $stderr.puts " #{p}"
16
+ end
17
+ end
18
+ #### End Added due to https://groups.google.com/forum/#!topic/vagrant-up/J8J6LmhzBqM/discussion
19
+
3
20
  gem 'vagrant',
4
- git: 'https://github.com/mitchellh/vagrant.git',
5
- ref: ENV.fetch('VAGRANT_VERSION', 'v1.7.2')
21
+ git: 'https://github.com/mitchellh/vagrant.git',
22
+ ref: ENV.fetch('VAGRANT_VERSION', 'v2.2.2')
6
23
 
7
- gem 'cane', '~> 2.6'
8
- gem 'coveralls', require: false
9
24
  gem 'rake'
10
25
  gem 'rspec', '~> 3.1'
11
26
  gem 'rspec-its', '~> 1.0'
12
- gem 'tailor', '~> 1.4'
13
27
 
14
28
  group :development do
15
29
  gem 'guard-rspec'
30
+ gem 'pry'
31
+ gem 'rb-readline'
16
32
  gem 'redcarpet'
17
- gem 'yard', '~> 0.8'
33
+ gem 'serverspec'
34
+ gem 'yard', '~> 0.9.11'
18
35
  end
19
36
 
37
+ # when testing our plugin we need to make sure some vagrant plugins are installed
38
+ # however, the syntax `Vagrant.require_plugin 'vagrant-proxyconf' was deprecated
39
+ # and this is the future for using testing vagrant behind bundler.
40
+ # https://stackoverflow.com/questions/19492738/demand-a-vagrant-plugin-within-the-vagrantfile
20
41
  group :plugins do
21
- gem 'vagrant-proxyconf', path: '.'
42
+ gem 'vagrant-proxyconf', path: __dir__
22
43
  end
data/LICENSE.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License
2
2
 
3
- Copyright (c) 2013-2015 Teemu Matilainen <teemu.matilainen@iki.fi>
3
+ Copyright (c) 2013-2017 Teemu Matilainen <teemu.matilainen@iki.fi>
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -1,18 +1,11 @@
1
1
  # Proxy Configuration Plugin for Vagrant
2
2
 
3
3
  <span class="badges">
4
- [![Gem Version](https://badge.fury.io/rb/vagrant-proxyconf.png)][gem]
5
- [![Build Status](https://travis-ci.org/tmatilai/vagrant-proxyconf.png?branch=master)][travis]
6
- [![Dependency Status](https://gemnasium.com/tmatilai/vagrant-proxyconf.png)][gemnasium]
7
- [![Code Climate](https://codeclimate.com/github/tmatilai/vagrant-proxyconf.png)][codeclimate]
8
- [![Coverage Status](https://coveralls.io/repos/tmatilai/vagrant-proxyconf/badge.png)][coveralls]
9
- </span>
10
4
 
11
- [gem]: https://rubygems.org/gems/vagrant-proxyconf
12
- [travis]: https://travis-ci.org/tmatilai/vagrant-proxyconf
13
- [gemnasium]: https://gemnasium.com/tmatilai/vagrant-proxyconf
14
- [codeclimate]: https://codeclimate.com/github/tmatilai/vagrant-proxyconf
15
- [coveralls]: https://coveralls.io/r/tmatilai/vagrant-proxyconf
5
+ [![Gem Version](https://badge.fury.io/rb/vagrant-proxyconf.png)](https://rubygems.org/gems/vagrant-proxyconf)
6
+ [![Build Status](https://travis-ci.org/tmatilai/vagrant-proxyconf.svg?branch=master)](https://travis-ci.org/tmatilai/vagrant-proxyconf)
7
+
8
+ </span>
16
9
 
17
10
  A [Vagrant](http://www.vagrantup.com/) plugin that configures the virtual machine to use specified proxies. This is useful for example in case you are behind a corporate proxy server, or you have a caching proxy (for example [polipo](https://github.com/tmatilai/polipo-box)).
18
11
 
@@ -125,12 +118,12 @@ VAGRANT_HTTP_PROXY="http://proxy.example.com:8080" vagrant up
125
118
 
126
119
  ### Disabling the plugin
127
120
 
128
- The plugin can be totally skipped by setting `config.proxy.enabled` to `false` or empty string (`""`).
129
- This can be useful to for example disable it for some provider.
130
- Specific applications can be skipped by setting `config.proxy.enabled` to
131
- a hash( like `{ svn: false }`).
132
- This disabling keeps proxy configurations for applications on the guest.
133
- The configurations must be cleared before disabling if needed.
121
+ New Behavior Warning: Setting the plugin to disabled now unconfigures all or specific proxies.
122
+
123
+ The plugin can be disabled by setting `config.proxy.enabled` to `false` or empty string (`""`).
124
+ This can be also be used to disable a proxy for some provider.
125
+ Specific applications can be disabled by setting `config.proxy.enabled` to
126
+ a hash( like `{ svn: false }` or `{ svn: {enabled: false} }`).
134
127
 
135
128
  ```ruby
136
129
  config.proxy.enabled # => all applications enabled(default)
@@ -141,6 +134,53 @@ config.proxy.enabled = "" # => all applications disabled
141
134
  config.proxy.enabled = false # => all applications disabled
142
135
  ```
143
136
 
137
+ ### Skipping the plugin
138
+
139
+ The plugin can also be skipped from applying/removing the proxy configuration for a specific provider.
140
+
141
+ #### When the plugin is disabled as in the following example:
142
+
143
+ ```
144
+ {
145
+ :apt => {
146
+ :enabled => false,
147
+ :skip => true,
148
+ },
149
+ :svn => {
150
+ :enabled => false,
151
+ :skip => true,
152
+ },
153
+ }
154
+ ```
155
+
156
+ The plugin is disabled, but `skip = true` means that no proxy configuration will be removed so the system
157
+ will remain in it's most recent state. This can be useful if you just want to skip over specific provider
158
+ being configured or unconfigured.
159
+
160
+
161
+ #### When the plugin is enabled as in the following example:
162
+
163
+ ```
164
+ {
165
+ :apt => {
166
+ :enabled => true,
167
+ :skip => false,
168
+ },
169
+ :svn => {
170
+ :enabled => true,
171
+ :skip => true,
172
+ },
173
+ }
174
+ ```
175
+
176
+ The plugin is enabled, but `skip = true` means that no proxy configuration will be applied so the system
177
+ will remain in it's most recent state. This can be useful if you just want to skip over specific provider
178
+ being configured or unconfigured.
179
+
180
+ In the example above the `apt` proxy will be enabled and proxy configuration will be applied, but the
181
+ `svn` proxy even though it's enabled will be skipped.
182
+
183
+
144
184
  #### Example Vagrantfile
145
185
 
146
186
  ```ruby
@@ -186,12 +226,36 @@ end
186
226
  #### Environment variables
187
227
  These also override the Vagrantfile configuration. To disable or remove the proxy use "DIRECT" or an empty value.
188
228
 
189
- For example to spin up a VM, run:
229
+ For example to spin up a VM and set the APT proxy to `http://proxy.example.com:8080, run:
190
230
 
191
231
  ```sh
192
232
  VAGRANT_APT_HTTP_PROXY="http://proxy.example.com:8080" vagrant up
193
233
  ```
194
234
 
235
+ | Provider | Environment Variable | Descrption | Precendence |
236
+ |-----------|------------------------------|-------------------------------|-------------|
237
+ | apt | `VAGRANT_APT_HTTP_PROXY` | Configures APT http proxy | Highest |
238
+ | | `VAGRANT_APT_HTTPS_PROXY` | Configures APT https proxy | Highest |
239
+ | | `VAGRANT_APT_FTP_PROXY` | Configures APT ftp proxy | Highest |
240
+ | chef | `VAGRANT_CHEF_HTTP_PROXY` | Configures CHEF http proxy | Highest |
241
+ | | `VAGRANT_CHEF_HTTPS_PROXY` | Configures CHEF https proxy | Highest |
242
+ | | `VAGRANT_CHEF_NO_PROXY` | Configures CHEF no proxy | Highest |
243
+ | docker | `VAGRANT_DOCKER_HTTP_PROXY` | Configuers DOCKER http proxy | Highest |
244
+ | | `VAGRANT_DOCKER_HTTPS_PROXY` | Configures DOCKER https proxy | Highest |
245
+ | | `VAGRANT_DOCKER_NO_PROXY` | Configures DOCKER no proxy | Highest |
246
+ | env | `VAGRANT_ENV_HTTP_PROXY` | Configures ENV http proxy | Highest |
247
+ | | `VAGRANT_ENV_HTTPS_PROXY` | Configures ENV https proxy | Highest |
248
+ | | `VAGRANT_ENV_FTP_PROXY` | Configures ENV FTP proxy | Highest |
249
+ | | `VAGRANT_ENV_NO_PROXY` | Configures ENV no proxy | Highest |
250
+ | git | `VAGRANT_GIT_HTTP_PROXY` | Configures GIT http proxy | Highest |
251
+ | | `VAGRANT_GIT_HTTPS_PROXY` | Configures GIT https proxy | Highest |
252
+ | npm | `VAGRANT_NPM_HTTP_PROXY` | Configures NPM http proxy | Highest |
253
+ | | `VAGRANT_NPM_HTTPS_PROXY` | Configures NPM https proxy | Highest |
254
+ | | `VAGRANT_NPM_NO_PROXY` | Configures NPM no proxy | Highest |
255
+ | pear | `VAGRANT_PEAR_HTTP_PROXY` | Configures PEAR http proxy | Highest |
256
+ | svn | `VAGRANT_SVN_HTTP_PROXY` | Configures SVN http proxy | Highest |
257
+ | | `VAGRANT_SVN_NO_PROXY` | Configures SVN no proxy | Highest |
258
+ | yum | `VAGRANT_YUM_HTTP_PROXY` | Configures YUM http proxy | Highest |
195
259
 
196
260
  ## Related plugins and projects
197
261
 
@@ -201,3 +265,68 @@ VAGRANT_APT_HTTP_PROXY="http://proxy.example.com:8080" vagrant up
201
265
  a Vagrant setup for [polipo](http://www.pps.univ-paris-diderot.fr/~jch/software/polipo/) caching web proxy.
202
266
  * [vagrant-cachier](https://github.com/fgrehm/vagrant-cachier)<br/>
203
267
  An excellent Vagrant plugin that shares various cache directories among similar VM instances. Should work fine together with vagrant-proxyconf.
268
+
269
+
270
+ ## Installing a pre-release version
271
+
272
+ * A [released](https://rubygems.org/gems/vagrant-proxyconf) pre-release version:
273
+
274
+ ```
275
+ vagrant plugin install --plugin-source https://rubygems.org/ --plugin-prerelease vagrant-proxyconf
276
+ ```
277
+
278
+ * Development version from git repository:
279
+
280
+ ```
281
+ git clone https://github.com/tmatilai/vagrant-proxyconf.git
282
+ cd vagrant-proxyconf
283
+
284
+ # Optionally check out other than the master branch
285
+ git checkout <branch>
286
+
287
+ # If you don't have Ruby installed, you can use <path/to/vagrant>/embedded/bin/gem>.
288
+ # If you have Docker you can use the Ruby image:
289
+ # docker run -it --rm -v ${PWD}:/usr/src/myapp -w /usr/src/myapp ruby:2.6 gem build vagrant-proxyconf.gemspec
290
+ gem build vagrant-proxyconf.gemspec
291
+
292
+ vagrant plugin install vagrant-proxyconf-*.gem
293
+ ```
294
+
295
+ Paths to Vagrant's embedded gem:
296
+ * Linux: `/opt/vagrant/embedded/bin/gem`
297
+ * OS X: `/Applications/Vagrant/embedded/bin/gem`
298
+
299
+
300
+ ## Development Known Issues
301
+
302
+
303
+ ### When running `bundle exec vagrant status` I get `Encoded files can't be read outside of the Vagrant installer.`
304
+
305
+ ```
306
+ $ bundle exec vagrant status
307
+ Vagrant failed to initialize at a very early stage:
308
+
309
+ The plugins failed to load properly. The error message given is
310
+ shown below.
311
+
312
+ Encoded files can't be read outside of the Vagrant installer.
313
+ ```
314
+
315
+ The solution is to add this to the Gemfile
316
+
317
+ ```
318
+ embedded_locations = %w(/Applications/Vagrant/embedded /opt/vagrant/embedded)
319
+
320
+ embedded_locations.each do |p|
321
+ ENV['VAGRANT_INSTALLER_EMBEDDED_DIR'] = p if File.directory?(p)
322
+ end
323
+
324
+ unless ENV.key?('VAGRANT_INSTALLER_EMBEDDED_DIR')
325
+ $stderr.puts "Couldn't find a packaged install of vagrant, and we need this"
326
+ $stderr.puts 'in order to make use of the RubyEncoder libraries.'
327
+ $stderr.puts 'I looked in:'
328
+ embedded_locations.each do |p|
329
+ $stderr.puts " #{p}"
330
+ end
331
+ end
332
+ ```
data/Rakefile CHANGED
@@ -1,9 +1,7 @@
1
1
  require 'bundler/gem_tasks'
2
- require 'cane/rake_task'
3
2
  require 'rspec/core/rake_task'
4
- require 'tailor/rake_task'
5
3
 
6
- task :default => [:test, :quality]
4
+ task :default => :test
7
5
 
8
6
  # Remove 'install' task as the gem is installed to Vagrant, not to system
9
7
  Rake::Task[:install].clear
@@ -17,30 +15,6 @@ desc "Run all tests"
17
15
  task :test => ['test:unit']
18
16
  task :spec => :test
19
17
 
20
- Tailor::RakeTask.new do |task|
21
- task.file_set('lib/**/*.rb', 'code') do |style|
22
- style.allow_unnecessary_double_quotes false, level: :off
23
- style.max_line_length 100, level: :warn
24
- style.max_line_length 140, level: :error
25
- end
26
- task.file_set('spec/**/*.rb', 'tests') do |style|
27
- style.allow_unnecessary_double_quotes false, level: :off
28
- style.max_line_length 120, level: :warn
29
- # allow vertical alignment of `let(:foo) { block }` blocks
30
- style.spaces_before_lbrace 1, level: :off
31
- style.indentation_spaces 2, level: :off
32
- end
33
- end
34
-
35
- Cane::RakeTask.new(:cane) do |task|
36
- task.abc_max = 16
37
- task.style_measure = 140
38
- task.options[:color] = true
39
- end
40
-
41
- desc 'Run all quality tasks'
42
- task :quality => [:cane, :tailor]
43
-
44
18
  desc "Update gh-pages"
45
19
  task 'gh-pages' do
46
20
  require 'tmpdir'
@@ -0,0 +1,45 @@
1
+ # https://gist.github.com/codylane/6ebee3595a02f57d35c325db4e102c55
2
+ FROM centos:7
3
+
4
+ EXPOSE 22
5
+
6
+ RUN yum clean all && \
7
+ yum makecache fast && \
8
+ yum -y install \
9
+ curl \
10
+ device-mapper-persistent-data \
11
+ git \
12
+ initscripts \
13
+ lvm2 \
14
+ openssh-clients \
15
+ openssh-server \
16
+ rsync \
17
+ sudo \
18
+ wget \
19
+ yum-utils \
20
+ xfsprogs && \
21
+ yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo && \
22
+ yum clean expire-cache && \
23
+ yum install -y docker-ce && \
24
+ /usr/sbin/sshd-keygen && \
25
+ getent passwd vagrant || useradd -m -d /home/vagrant -s /bin/bash vagrant && \
26
+ echo "vagrant:vagrant" | chpasswd && \
27
+ mkdir -p /etc/sudoers.d && \
28
+ echo 'Defaults:vagrant !requiretty' > /etc/sudoers.d/vagrant && \
29
+ echo 'vagrant ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers.d/vagrant && \
30
+ chmod 0440 /etc/sudoers.d/vagrant && \
31
+ visudo -cf /etc/sudoers.d/vagrant && \
32
+ mkdir -p /var/run/sshd && \
33
+ mkdir -p /home/vagrant/.ssh && \
34
+ touch /home/vagrant/.ssh/authorized_keys
35
+
36
+ VOLUME [ "/sys/fs/cgroup" ]
37
+
38
+ RUN grep -q 'OHlnVYCzRdK8jlqm8tehUc9c9WhQ==' /home/vagrant/.ssh/authorized_keys || echo "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NF8iallvQVp22WDkTkyrtvp9eWW6A8YVr+kz4TjGYe7gHzIw+niNltGEFHzD8+v1I2YJ6oXevct1YeS0o9HZyN1Q9qgCgzUFtdOKLv6IedplqoPkcmF0aYet2PkEDo3MlTBckFXPITAMzF8dJSIFo9D8HfdOV0IAdx4O7PtixWKn5y2hMNG0zQPyUecp4pzC6kivAIhyfHilFR61RGL+GPXQ2MWZWFYbAGjyiYJnAmCP3NOTd0jMZEnDkbUvxhMmBYSdETk1rRgm+R4LOzFUGaHqHDLKLX+FIPKcF96hrucXzcWyLbIbEgE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ==" >> /home/vagrant/.ssh/authorized_keys && \
39
+ chmod 0600 /home/vagrant/.ssh/authorized_keys && \
40
+ chown vagrant:vagrant /home/vagrant/.ssh/authorized_keys
41
+
42
+ # -e write logs to stderr
43
+ # -D run in foreground
44
+ # CMD ["/usr/sbin/sshd", "-e", "-D"]
45
+ CMD ["/usr/sbin/init"]