landrush 1.2.0 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (62) hide show
  1. checksums.yaml +5 -5
  2. data/.rubocop.yml +2 -0
  3. data/.rubocop_todo.yml +100 -12
  4. data/.travis.yml +1 -2
  5. data/CHANGELOG.md +11 -0
  6. data/Gemfile +11 -11
  7. data/README.adoc +8 -1
  8. data/Rakefile +3 -3
  9. data/appveyor.yml +3 -1
  10. data/doc/Development.adoc +24 -19
  11. data/doc/Usage.adoc +17 -6
  12. data/features/dns_resolution.feature +3 -0
  13. data/features/docker_provider.feature +32 -0
  14. data/features/support/env.rb +2 -2
  15. data/landrush.gemspec +3 -3
  16. data/lib/landrush.rb +1 -0
  17. data/lib/landrush/action/common.rb +7 -2
  18. data/lib/landrush/action/redirect_dns.rb +3 -0
  19. data/lib/landrush/action/setup.rb +16 -12
  20. data/lib/landrush/action/teardown.rb +2 -0
  21. data/lib/landrush/cap/guest/all/read_host_visible_ip_address.rb +2 -2
  22. data/lib/landrush/cap/guest/linux/add_iptables_rule.rb +2 -2
  23. data/lib/landrush/cap/guest/linux/configured_dns_servers.rb +1 -0
  24. data/lib/landrush/cap/guest/linux/redirect_dns.rb +1 -1
  25. data/lib/landrush/cap/guest/suse/add_iptables_rule.rb +2 -2
  26. data/lib/landrush/cap/host/arch/dnsmasq_installed.rb +11 -0
  27. data/lib/landrush/cap/host/arch/install_dnsmasq.rb +16 -0
  28. data/lib/landrush/cap/host/arch/restart_dnsmasq.rb +21 -0
  29. data/lib/landrush/cap/host/darwin/configure_visibility_on_host.rb +21 -18
  30. data/lib/landrush/cap/host/debian/host.rb +1 -0
  31. data/lib/landrush/cap/host/linux/configure_visibility_on_host.rb +5 -3
  32. data/lib/landrush/cap/host/linux/create_dnsmasq_config.rb +3 -0
  33. data/lib/landrush/cap/host/redhat/restart_dnsmasq.rb +8 -2
  34. data/lib/landrush/cap/host/ubuntu/host.rb +1 -0
  35. data/lib/landrush/cap/host/windows/configure_visibility_on_host.rb +14 -6
  36. data/lib/landrush/command.rb +18 -3
  37. data/lib/landrush/config.rb +6 -2
  38. data/lib/landrush/dns_server.rb +82 -0
  39. data/lib/landrush/plugin.rb +18 -0
  40. data/lib/landrush/server.rb +147 -205
  41. data/lib/landrush/start_server.rb +1 -1
  42. data/lib/landrush/store.rb +53 -24
  43. data/lib/landrush/util/dnsmasq.rb +10 -0
  44. data/lib/landrush/util/process_helper.rb +16 -16
  45. data/lib/landrush/util/retry.rb +1 -0
  46. data/lib/landrush/version.rb +1 -1
  47. data/test/landrush/action/setup_test.rb +8 -7
  48. data/test/landrush/action/teardown_test.rb +5 -5
  49. data/test/landrush/cap/guest/linux/redirect_dns_test.rb +1 -1
  50. data/test/landrush/cap/host/darwin/configure_visibility_on_host_test.rb +10 -6
  51. data/test/landrush/cap/host/linux/configure_visibility_on_host_test.rb +1 -1
  52. data/test/landrush/cap/host/windows/configure_visibility_on_host_test.rb +35 -4
  53. data/test/landrush/issues/255.rb +55 -55
  54. data/test/landrush/parallel_store_use_test.rb +50 -0
  55. data/test/landrush/server_test.rb +6 -17
  56. data/test/landrush/store_test.rb +8 -8
  57. data/test/landrush/util/dnsmasq_test.rb +42 -0
  58. data/test/support/create_fake_working_dir.rb +3 -2
  59. data/test/support/delete_fake_working_dir.rb +1 -1
  60. data/test/support/test_server_daemon.rb +1 -1
  61. data/test/test_helper.rb +6 -8
  62. metadata +42 -17
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: fc436bab040df9eb7c4b2d72c6dbed5d939e07da
4
- data.tar.gz: d152964c54984aa6a4b93fe968a2dc66cb361105
2
+ SHA256:
3
+ metadata.gz: 5d8b8d3d76cf287d4cd432d2d702842b5efb3b672cd6c25fec249b76d989eb34
4
+ data.tar.gz: '09b16732791cb9d9d1112f1695dff95fb317ad35c07c2878c1011fb8918c5c4d'
5
5
  SHA512:
6
- metadata.gz: e036f50d31cbe851b787a7ca37de97550a8e2e1dc2abafb7b936bc50150675cc9419675740c13f9fbbbe409b7a29085cd1f5ca5388175cac0082ba0b270ca821
7
- data.tar.gz: 048b080367798a7cf2f684b1f2fabd18b936c27bc6a80e4db3a3740c5e8056a37d4cdd8cb49acbd27ac7e385b5d3463835d21bb952036b4a92b0e052cccbf45d
6
+ metadata.gz: f28250855875dff56af42a8a6c0470f94b9d1cc01661ecca63cba5f2ce4f2bb1f2df7895d48ac5df67cf46357b6bdaf06527eb8fe2abd94c86c79b2d9b0a5045
7
+ data.tar.gz: 51a1f6a0cc73405ba8913d72fa29ed98180e70eef38b456c8c7d28c025079eb22937984be94ed105e8442f8c355dc8a51fdebbb3272d2b1adb8d2f687f77727e
@@ -6,3 +6,5 @@ AllCops:
6
6
  - 'vendor/**/*'
7
7
  - 'tmp/**/*'
8
8
 
9
+ Style/FrozenStringLiteralComment:
10
+ Enabled: false
@@ -1,6 +1,6 @@
1
1
  # This configuration was generated by
2
2
  # `rubocop --auto-gen-config`
3
- # on 2016-10-04 22:36:56 +0200 using RuboCop version 0.38.0.
3
+ # on 2018-08-31 16:33:52 +0200 using RuboCop version 0.58.2.
4
4
  # The point is for the user to remove these configuration records
5
5
  # one by one as the offenses are removed from the code base.
6
6
  # Note that changes in the inspected code, or installation of new
@@ -10,31 +10,65 @@
10
10
  Metrics/AbcSize:
11
11
  Max: 47
12
12
 
13
+ # Offense count: 13
14
+ # Configuration parameters: CountComments, ExcludedMethods.
15
+ # ExcludedMethods: refine
16
+ Metrics/BlockLength:
17
+ Max: 89
18
+
13
19
  # Offense count: 3
14
20
  # Configuration parameters: CountComments.
15
21
  Metrics/ClassLength:
16
- Max: 218
22
+ Max: 200
23
+ Exclude:
24
+ - 'lib/landrush/server.rb'
17
25
 
18
26
  # Offense count: 3
19
27
  Metrics/CyclomaticComplexity:
20
- Max: 12
21
-
22
- # Offense count: 144
23
- # Configuration parameters: AllowHeredoc, AllowURI, URISchemes.
24
- # URISchemes: http, https
25
- Metrics/LineLength:
26
- Max: 154
28
+ Max: 11
29
+ Exclude:
30
+ - 'lib/landrush/command.rb'
27
31
 
28
- # Offense count: 14
32
+ # Offense count: 13
29
33
  # Configuration parameters: CountComments.
30
34
  Metrics/MethodLength:
31
35
  Max: 29
32
36
 
33
37
  # Offense count: 3
34
38
  Metrics/PerceivedComplexity:
35
- Max: 14
39
+ Max: 12
40
+ Exclude:
41
+ - 'lib/landrush/command.rb'
36
42
 
37
- # Offense count: 32
43
+ # Offense count: 9
44
+ # Configuration parameters: Blacklist.
45
+ # Blacklist: (?-mix:(^|\s)(EO[A-Z]{1}|END)(\s|$))
46
+ Naming/HeredocDelimiterNaming:
47
+ Exclude:
48
+ - 'lib/landrush/cap/host/arch/restart_dnsmasq.rb'
49
+ - 'lib/landrush/cap/host/darwin/configure_visibility_on_host.rb'
50
+ - 'lib/landrush/cap/host/linux/create_dnsmasq_config.rb'
51
+ - 'lib/landrush/cap/host/redhat/restart_dnsmasq.rb'
52
+ - 'lib/landrush/cap/host/suse/restart_dnsmasq.rb'
53
+ - 'lib/landrush/command.rb'
54
+ - 'test/landrush/cap/host/darwin/configure_visibility_on_host_test.rb'
55
+ - 'test/landrush/cap/host/linux/configure_visibility_on_host_test.rb'
56
+
57
+ # Offense count: 1
58
+ # Configuration parameters: EnforcedStyleForLeadingUnderscores.
59
+ # SupportedStylesForLeadingUnderscores: disallowed, required, optional
60
+ Naming/MemoizedInstanceVariableName:
61
+ Exclude:
62
+ - 'test/test_helper.rb'
63
+
64
+ # Offense count: 2
65
+ # Cop supports --auto-correct.
66
+ Performance/RegexpMatch:
67
+ Exclude:
68
+ - 'lib/landrush/action/setup.rb'
69
+ - 'lib/landrush/dns_server.rb'
70
+
71
+ # Offense count: 41
38
72
  Style/Documentation:
39
73
  Enabled: false
40
74
 
@@ -44,3 +78,57 @@ Style/DoubleNegation:
44
78
  - 'lib/landrush/config.rb'
45
79
  - 'lib/landrush/server.rb'
46
80
 
81
+ # Offense count: 2
82
+ # Configuration parameters: MinBodyLength.
83
+ Style/GuardClause:
84
+ Exclude:
85
+ - 'lib/landrush/action/install_prerequisites.rb'
86
+ - 'lib/landrush/action/setup.rb'
87
+
88
+ # Offense count: 5
89
+ # Cop supports --auto-correct.
90
+ Style/IfUnlessModifier:
91
+ Exclude:
92
+ - 'lib/landrush/cap/guest/linux/configured_dns_servers.rb'
93
+ - 'lib/landrush/cap/host/windows/configure_visibility_on_host.rb'
94
+ - 'lib/landrush/config.rb'
95
+ - 'lib/landrush/plugin.rb'
96
+ - 'lib/landrush/server.rb'
97
+
98
+ # Offense count: 3
99
+ Style/MultipleComparison:
100
+ Exclude:
101
+ - 'lib/landrush/command.rb'
102
+
103
+ # Offense count: 2
104
+ # Cop supports --auto-correct.
105
+ # Configuration parameters: AutoCorrect, EnforcedStyle.
106
+ # SupportedStyles: predicate, comparison
107
+ Style/NumericPredicate:
108
+ Exclude:
109
+ - 'spec/**/*'
110
+ - 'lib/landrush/store.rb'
111
+ - 'lib/landrush/util/process_helper.rb'
112
+
113
+ # Offense count: 1
114
+ # Cop supports --auto-correct.
115
+ Style/RedundantBegin:
116
+ Exclude:
117
+ - 'lib/landrush/cap/host/windows/configure_visibility_on_host.rb'
118
+
119
+ # Offense count: 4
120
+ # Cop supports --auto-correct.
121
+ # Configuration parameters: ConvertCodeThatCanStartToReturnNil, Whitelist.
122
+ # Whitelist: present?, blank?, presence, try, try!
123
+ Style/SafeNavigation:
124
+ Exclude:
125
+ - 'lib/landrush/cap/host/darwin/configure_visibility_on_host.rb'
126
+ - 'lib/landrush/cap/host/linux/create_dnsmasq_config.rb'
127
+ - 'lib/landrush/cap/host/windows/configure_visibility_on_host.rb'
128
+ - 'lib/landrush/server.rb'
129
+
130
+ # Offense count: 161
131
+ # Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
132
+ # URISchemes: http, https
133
+ Metrics/LineLength:
134
+ Max: 154
@@ -2,8 +2,7 @@ language: ruby
2
2
 
3
3
  before_install:
4
4
  - rvm gemset use global
5
- - gem uninstall bundler -Iax --version '<1.14'
6
- - gem install bundler -v 1.12.5
5
+ - gem install bundler -v 1.16.4
7
6
 
8
7
  script:
9
8
  - bundle exec rake clean rubocop test install TESTOPTS='--verbose'
@@ -1,3 +1,14 @@
1
+ ## [1.3.0] - 2018-09-19
2
+
3
+ - Issue [#177](https://github.com/vagrant-landrush/landrush/issues/177) - Allow multiple TLD kind/feature priority/major
4
+ - Issue [#329](https://github.com/vagrant-landrush/landrush/issues/329) - Update dev docs component/documentation kind/task priority/major
5
+ - Issue [#304](https://github.com/vagrant-landrush/landrush/issues/304) - Concurrency issue when nodes are brought up in parallel kind/bug priority/major
6
+ - Issue [#261](https://github.com/vagrant-landrush/landrush/issues/261) - Example shown in README results in error component/documentation kind/bug priority/minor
7
+ - Issue [#274](https://github.com/vagrant-landrush/landrush/issues/274) - Host DNS configuration should consider NetworkManager on Fedora kind/bug priority/major resolution/duplicate
8
+ - Issue [#71](https://github.com/vagrant-landrush/landrush/issues/71) - Support for docker provider in vagrant 1.6 kind/feature priority/major
9
+ - Issue [#324](https://github.com/vagrant-landrush/landrush/issues/324) - Upgrade dev environment component/build kind/task priority/major
10
+ - Issue [#297](https://github.com/vagrant-landrush/landrush/issues/297) - Support Arch Linux as host kind/feature
11
+
1
12
  ## [1.2.0] - 2016-12-07
2
13
 
3
14
  - Issue [#298](https://github.com/vagrant-landrush/landrush/issues/298) - Travis CI used wrong Bundler version
data/Gemfile CHANGED
@@ -6,18 +6,18 @@ group :plugins do
6
6
  end
7
7
 
8
8
  group :development do
9
- gem 'vagrant',
10
- git: 'https://github.com/mitchellh/vagrant.git',
11
- ref: 'v1.8.6'
12
- gem 'rake', '~> 10'
13
- gem 'rubocop', '~> 0.38.0'
9
+ gem 'aruba', '~> 0.13'
10
+ gem 'asciidoctor'
14
11
  gem 'byebug'
15
- gem 'mocha'
16
- gem 'minitest'
17
12
  gem 'cucumber', '~> 2.1'
18
- gem 'aruba', '~> 0.13'
19
- gem 'komenda', '~> 0.1.6'
20
- gem 'guard-rake'
21
13
  gem 'guard-livereload', '~> 2.5', require: false
22
- gem 'asciidoctor'
14
+ gem 'guard-rake'
15
+ gem 'komenda', '~> 0.1.6'
16
+ gem 'minitest'
17
+ gem 'mocha'
18
+ gem 'rake', '~> 10'
19
+ gem 'rubocop'
20
+ gem 'vagrant',
21
+ git: 'https://github.com/mitchellh/vagrant.git',
22
+ ref: 'v2.1.2'
23
23
  end
@@ -12,6 +12,13 @@ It spins up a small DNS server and redirects DNS traffic from your VMs
12
12
  to use it, automatically registering/unregistering IP addresses of
13
13
  guests as they come up and go down.
14
14
 
15
+ [NOTE]
16
+ ====
17
+ This project is currently _unmaintained_ and looking for maintainers! Anybody interested in helping out please contact @hferentschik.
18
+
19
+ I'd be happy to help coach anybody who wants to drop in and pick up the maintainer role for this plugin!
20
+ ====
21
+
15
22
  '''
16
23
  toc::[]
17
24
  '''
@@ -52,7 +59,7 @@ A Landrush example configuration could look like this:
52
59
 
53
60
  ....
54
61
  Vagrant.configure("2") do |config|
55
- config.vm.box = "hashicorp/precise64"
62
+ config.vm.box = "ubuntu/xenial64"
56
63
 
57
64
  config.landrush.enabled = true
58
65
 
data/Rakefile CHANGED
@@ -37,9 +37,9 @@ rule '.html' => '.adoc' do |t|
37
37
  Asciidoctor.convert_file t.source, to_dir: 'build/html'
38
38
  end
39
39
 
40
- task default: [
41
- :rubocop,
42
- :test
40
+ task default: %i[
41
+ rubocop
42
+ test
43
43
  ]
44
44
 
45
45
  task :generate_diagrams do
@@ -4,12 +4,14 @@ version: "{build}"
4
4
  branches:
5
5
  only:
6
6
  - master
7
+ init:
8
+ - git config --global core.autocrlf true
7
9
  install:
8
10
  - set PATH=C:\Ruby22\bin;%PATH%
9
11
  - ruby --version
10
12
  - gem --version
11
13
  - gem uninstall -x bundler
12
- - gem install bundler -v 1.12.5
14
+ - gem install bundler -v 1.16.4
13
15
  - bundler --version
14
16
  - bundle install
15
17
  build_script:
@@ -2,21 +2,20 @@
2
2
  :toc:
3
3
  :toc-placement!:
4
4
 
5
- The following should get you started on setting up your development environment. As a prerequisite you will need a Ruby 2.2 environment. We
6
- recommend to use https://rvm.io/[RVM] to create an isolated development
7
- environment. On Windows the http://rubyinstaller.org/[RubyInstaller for
8
- Windows] is probably the easiest way to get started. In this case you
9
- will need the http://rubyinstaller.org/add-ons/devkit/[DevKit] as well.
5
+ The following should get you started on setting up your development environment.
6
+ As a prerequisite you will need a Ruby environment (Ruby version >= 2.2, 2.5 recommended).
7
+ We recommend to use https://rvm.io/[RVM] to create an isolated development environment.
8
+ On Windows the http://rubyinstaller.org/[RubyInstaller for Windows] is probably the easiest way to get started.
9
+ In this case you will need the http://rubyinstaller.org/add-ons/devkit/[DevKit] as well.
10
10
 
11
11
  '''
12
12
  toc::[]
13
13
  '''
14
14
 
15
- Once you have a working Ruby environment it is time to
16
- https://help.github.com/articles/fork-a-repo/[fork] the repository. Refer to the link:../CONTRIBUTING.adoc[Contributing] guide for more information.
15
+ Once you have a working Ruby environment it is time to https://help.github.com/articles/fork-a-repo/[fork] the repository.
16
+ Refer to the link:../CONTRIBUTING.adoc[Contributing] guide for more information.
17
17
 
18
- The following sections list the most important commands you will need for
19
- development.
18
+ The following sections list the most important commands you will need for development.
20
19
 
21
20
  == Setup
22
21
 
@@ -25,11 +24,13 @@ development.
25
24
  ....
26
25
  $ gem install bundler
27
26
  ....
27
+
28
28
  * Install dependencies:
29
29
  +
30
30
  ....
31
31
  $ bundle install
32
32
  ....
33
+
33
34
  * Get a list of all available build tasks:
34
35
  +
35
36
  ....
@@ -39,8 +40,9 @@ $ bundle exec rake -T
39
40
  * Build the Landrush gem:
40
41
  +
41
42
  ....
42
- $ bundle exec rake install
43
+ $ bundle exec rake build
43
44
  ....
45
+
44
46
  * Clean all generated files:
45
47
  +
46
48
  ....
@@ -54,11 +56,18 @@ $ bundle exec rake clean clobber
54
56
  ....
55
57
  $ bundle exec rake test
56
58
  ....
59
+
60
+ TIP: The unit tests utilize https://github.com/seattlerb/minitest[minitest] as test harness.
61
+ Tests are mainly written in Spec style.
62
+ To make testing simpler, each test will be configured against a newly created temporary working directly which will be deleted on teardown.
63
+ Refer to https://github.com/vagrant-landrush/landrush/blob/master/test/test_helper.rb#L173[test_helper.rb] to see how this setup and teardown works.
64
+
57
65
  * Run a single test file:
58
66
  +
59
67
  ....
60
68
  $ bundle exec rake test TEST=<path to test file>
61
69
  ....
70
+
62
71
  * Run cucumber/aruba acceptance tests:
63
72
  +
64
73
  ....
@@ -66,10 +75,9 @@ $ bundle exec rake features
66
75
  ....
67
76
 
68
77
  NOTE: The acceptance tests currently work only for OS X, out of the box.
69
- On Linux, one has to manually configure the host visibility for the
70
- TLD _landrush-acceptance-test_. See *Linux* in the *Visibility on the Host* section of the link:Usage.adoc[Usage guide]. On Windows,
71
- the acceptance tests won't work due to a bug in
72
- https://github.com/cucumber/aruba/issues/387[Aruba].
78
+ On Linux, one has to manually configure the host visibility for the TLD _landrush-acceptance-test_.
79
+ See *Linux* in the *Visibility on the Host* section of the link:Usage.adoc[Usage guide].
80
+ On Windows, the acceptance tests won't work due to a bug in https://github.com/cucumber/aruba/issues/387[Aruba].
73
81
 
74
82
  * Run a single cucumber/aruba acceptance tests:
75
83
  +
@@ -82,7 +90,7 @@ $ bundle exec rake features FEATURE=features/<feature-filename>.feature
82
90
  The documentation of this plugin is written in http://asciidoctor.org[Asciidoc]. If you need some syntax help,
83
91
  refer to the http://asciidoctor.org/docs/asciidoc-syntax-quick-reference/[AsciiDoc Syntax Quick Reference].
84
92
 
85
- To build the documentation you can execute
93
+ To build the documentation you can execute:
86
94
 
87
95
  ----
88
96
  $ bundle exec rake html
@@ -91,16 +99,13 @@ $ bundle exec rake html
91
99
  which will build the HTML documentation into the folder _build/html_.
92
100
 
93
101
  The source code also contains a link:../Guardfile[Guardfile] for the https://github.com/guard/guard[Guard] library.
94
- You can execute
102
+ You can execute:
95
103
 
96
104
  ----
97
105
  $ bundle exec guard
98
106
  ----
99
107
 
100
108
  and your HTML documentation will be automatically updated on each change to an Asciidoc source file.
101
- https://github.com/guard/guard-livereload[Live reload] is also enabled, so you just need to install the right
102
- http://livereload.com/extensions/#installing-sections[LiveReload Safari/Chrome/Firefox extension] and your
103
- browser can refresh the page each time you save a change to your Asciidoc files.
104
109
 
105
110
  == Misc
106
111
 
@@ -148,15 +148,15 @@ To disable this functionality:
148
148
  config.landrush.host_redirect_dns = false
149
149
  ....
150
150
 
151
- * OS X
151
+ * macOS
152
152
  +
153
- If you are on an OS X host, we use a nice trick to unobtrusively add a
153
+ If you are on an macOS host, we use a nice trick to unobtrusively add a
154
154
  secondary DNS server only for specific domains. During startup Landrush automatically adds
155
155
  a file into `/etc/resolver` that points
156
156
  lookups for hostnames ending in your `config.landrush.tld` domain to its
157
- DNS server. (See `man 5 resolver` on your Mac OS X host for more
157
+ DNS server. (See `man 5 resolver` on your host for more
158
158
  information on this file's syntax.)
159
-
159
+ +
160
160
  * Linux
161
161
  +
162
162
  Landrush tries to achieve the same behavior on Linux hosts using
@@ -195,8 +195,7 @@ Windows 10 and VirtualBox.
195
195
  When running VirtualBox on Windows in combination with Landrush the
196
196
  Network Connections
197
197
  (`Control Panel\Network and Internet\Network Connections`) looks
198
- somewhat like this after a successful `vagrant up`: +
199
- +
198
+ somewhat like this after a successful `vagrant up`:
200
199
  +
201
200
  image:img/network-connections.png[Network
202
201
  Connections,title="Network Connections"] +
@@ -268,4 +267,16 @@ You might want to resolve Landrush's DNS-entries on _additional_
268
267
  computing devices, like a mobile phone.
269
268
  Please refer to link:ProxyMobile.adoc[mobile instructions] for further details.
270
269
 
270
+ [TIP]
271
+ ====
272
+ Multiple TLDs can also be provided as an array.
273
+ On Linux and macOS a dnsmasq resp. resolver configuration will be created for each TLD.
274
+
275
+ ....
276
+ config.landrush.tld = ['acme.com', 'example.com']
277
+ config.landrush.host 'www.acme.com', '1.2.3.4'
278
+ config.landrush.host 'www.foo.bar', '2.3.4.5'
279
+ ....
280
+ ====
281
+
271
282
  You can refer to the link:Troubleshooting.adoc[Troubleshooting guide] if you encounter any problems while using Landrush.
@@ -29,6 +29,9 @@ Feature: dns_resolution
29
29
  Then the hostname "my-static-cname-host.landrush-acceptance-test" should resolve to "42.42.42.42" on the internal DNS server
30
30
  And the hostname "my-static-cname-host.landrush-acceptance-test" should resolve to "42.42.42.42" on the host
31
31
 
32
+ When I successfully run `bundle exec vagrant landrush stop`
33
+ Then Landrush is not running
34
+
32
35
  Examples:
33
36
  | box | provider |
34
37
  | debian/jessie64 | virtualbox |
@@ -0,0 +1,32 @@
1
+ Feature: Landrush with Docker provider
2
+ Landrush should work with Docker provider
3
+
4
+ Scenario: Booting box with Docker provider
5
+ Given a file named "Vagrantfile" with:
6
+ """
7
+ Vagrant.configure(2) do |config|
8
+ config.vm.provider "docker" do |d|
9
+ # https://github.com/tknerr/vagrant-docker-baseimages
10
+ d.image = "tknerr/baseimage-ubuntu:18.04"
11
+ d.has_ssh = true
12
+ d.privileged = true
13
+ end
14
+
15
+ config.vm.provision "shell", inline: 'apt-get install -y net-tools dnsutils'
16
+
17
+ config.landrush.enabled = true
18
+ config.vm.hostname = "foo.vagrant.test"
19
+
20
+ config.landrush.host 'static1.example.com', '1.2.3.4'
21
+ config.landrush.host 'static2.example.com', '2.3.4.5'
22
+ end
23
+ """
24
+ When I successfully run `bundle exec vagrant up`
25
+ Then Landrush is running
26
+
27
+ When I successfully run `bundle exec vagrant ssh -- dig +noall +answer +nocomments static1.example.com`
28
+ Then stdout from "bundle exec vagrant ssh -- dig +noall +answer +nocomments static1.example.com" should match /.*1\.2\.3\.4/
29
+
30
+ When I successfully run `bundle exec vagrant landrush stop`
31
+ Then Landrush is not running
32
+