vagrant-managed-servers 0.2.0 → 0.3.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.
- checksums.yaml +7 -0
- data/.travis.yml +1 -1
- data/Berksfile +1 -1
- data/CHANGELOG.md +12 -2
- data/Gemfile +9 -9
- data/README.md +52 -30
- data/Vagrantfile +7 -15
- data/lib/vagrant-managed-servers/action.rb +5 -1
- data/lib/vagrant-managed-servers/version.rb +1 -1
- metadata +9 -22
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 6a1b76e306ac8fb21d3c2021eefdac95a8dd9b9c
|
4
|
+
data.tar.gz: aad778f3db1ecfc8bd1a74da50f75bc0045ab844
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: c44804a7a2ad803407d3b3a96d93d720346c426c666847652b36c5547f7e0a26e4a8b4577dd796c76bee48fefd9357755de2d4e7c346f5fcdd63254eb1d84092
|
7
|
+
data.tar.gz: fdd8df74d92ea2c4635028a34ccdb03673109375c981025e80f9e80928246d6967ec08fe423323647f7e5b4a4fb6999bb63b0b2e1aed4c7085a7933ef0a02a1f
|
data/.travis.yml
CHANGED
data/Berksfile
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,10 +1,20 @@
|
|
1
1
|
|
2
|
-
#
|
2
|
+
# Changelog
|
3
|
+
|
4
|
+
## 0.3.0 (released 2014-08-23)
|
5
|
+
|
6
|
+
Updates for improving the experience with Vagrant 1.5+ (but still keeping backwards-compatibility with 1.2):
|
7
|
+
|
8
|
+
* fix warning when using Vagrant > 1.5 ([#19](https://github.com/tknerr/vagrant-managed-servers/issues/19), thanks @nicolasbrechet!)
|
9
|
+
* use the [tknerr/managed-server-dummy](https://vagrantcloud.com/tknerr/managed-server-dummy) vagrantcloud box ([#22](https://github.com/tknerr/vagrant-managed-servers/pull/22))
|
10
|
+
* updated the development environment and sample Vagrantfile for this project to latest Vagrant and plugin versions
|
11
|
+
|
12
|
+
## 0.2.0 (released 2014-02-26)
|
3
13
|
|
4
14
|
* fix rsync command for Vagrant 1.4 compatibility ([#15](https://github.com/tknerr/vagrant-managed-servers/issues/15))
|
5
15
|
* chown synced dirs recursively ([#13](https://github.com/tknerr/vagrant-managed-servers/issues/13))
|
6
16
|
* minor README fixes ([#11](https://github.com/tknerr/vagrant-managed-servers/issues/11), [#12](https://github.com/tknerr/vagrant-managed-servers/issues/12), [#16](https://github.com/tknerr/vagrant-managed-servers/issues/16))
|
7
17
|
|
8
|
-
|
18
|
+
## 0.1.0 (released 2013-06-10)
|
9
19
|
|
10
20
|
* Initial release
|
data/Gemfile
CHANGED
@@ -6,13 +6,13 @@ group :development do
|
|
6
6
|
# We depend on Vagrant for development, but we don't add it as a
|
7
7
|
# gem dependency because we expect to be installed within the
|
8
8
|
# Vagrant environment itself using `vagrant plugin`.
|
9
|
-
gem "vagrant", "1.
|
10
|
-
:
|
11
|
-
:
|
12
|
-
gem "vagrant-berkshelf", "1.4.0.dev1",
|
13
|
-
:git => "https://github.com/berkshelf/vagrant-berkshelf.git",
|
14
|
-
:ref => "28941db7c2f7d769b979c1d2695ac19b172a6542"
|
15
|
-
gem "vagrant-omnibus", "1.3.0",
|
16
|
-
:git => "https://github.com/schisamo/vagrant-omnibus.git",
|
17
|
-
:ref => "4c91e0f85acdaa88de5e21c5f3f61471a28455d2"
|
9
|
+
gem "vagrant", "1.6.3",
|
10
|
+
git: "https://github.com/mitchellh/vagrant.git",
|
11
|
+
ref: "v1.6.3"
|
18
12
|
end
|
13
|
+
|
14
|
+
group :plugins do
|
15
|
+
gem "vagrant-managed-servers", path: "."
|
16
|
+
gem "vagrant-omnibus", "1.4.1"
|
17
|
+
gem "vagrant-berkshelf", "3.0.1"
|
18
|
+
end
|
data/README.md
CHANGED
@@ -21,56 +21,78 @@ Credits: this provider was initially based on the [vagrant-aws](https://github.c
|
|
21
21
|
|
22
22
|
## Usage
|
23
23
|
|
24
|
-
Install using standard Vagrant
|
25
|
-
|
24
|
+
Install using the standard Vagrant plugin installation method:
|
26
25
|
```
|
27
26
|
$ vagrant plugin install vagrant-managed-servers
|
28
|
-
...
|
29
|
-
$ vagrant up --provider=managed
|
30
|
-
$ vagrant provision
|
31
|
-
...
|
32
|
-
```
|
33
|
-
|
34
|
-
Of course prior to doing this, you'll need to obtain an managed server-compatible box file for Vagrant. Simply use the managed server dummy box for this purpose (see below).
|
35
|
-
|
36
|
-
## Quick Start
|
37
|
-
|
38
|
-
After installing the plugin (instructions above), the quickest way to get started is to actually use a managed server dummy box and specify the IP address / hostname of the managed server within a `config.vm.provider` block. So first, add the dummy box using any name you want:
|
39
|
-
|
40
|
-
```
|
41
|
-
$ vagrant box add dummy https://github.com/tknerr/vagrant-managed-servers/raw/master/dummy.box --provider=managed
|
42
|
-
...
|
43
27
|
```
|
44
28
|
|
45
|
-
|
46
|
-
|
47
|
-
```
|
29
|
+
In the Vagrantfile you can now use the `managed` provider and specify the managed server's hostname and credentials:
|
30
|
+
```ruby
|
48
31
|
Vagrant.configure("2") do |config|
|
49
|
-
config.vm.box = "dummy"
|
32
|
+
config.vm.box = "tknerr/managed-server-dummy"
|
50
33
|
|
51
34
|
config.vm.provider :managed do |managed, override|
|
52
|
-
managed.server = "
|
53
|
-
override.ssh.username = "
|
54
|
-
override.ssh.private_key_path = "
|
35
|
+
managed.server = "foo.acme.com"
|
36
|
+
override.ssh.username = "bob"
|
37
|
+
override.ssh.private_key_path = "/path/to/bobs_private_key"
|
55
38
|
end
|
56
39
|
end
|
57
40
|
```
|
58
41
|
|
59
|
-
|
42
|
+
Next run `vagrant up --provider=managed` in order to "link" the vagrant VM with the managed server:
|
43
|
+
```
|
44
|
+
$ vagrant up --provider=managed
|
45
|
+
Bringing machine 'default' up with 'managed' provider...
|
46
|
+
==> default: Box 'tknerr/managed-server-dummy' could not be found. Attempting to find and install...
|
47
|
+
default: Box Provider: managed
|
48
|
+
default: Box Version: >= 0
|
49
|
+
==> default: Loading metadata for box 'tknerr/managed-server-dummy'
|
50
|
+
default: URL: https://vagrantcloud.com/tknerr/managed-server-dummy
|
51
|
+
==> default: Adding box 'tknerr/managed-server-dummy' (v1.0.0) for provider: managed
|
52
|
+
default: Downloading: https://vagrantcloud.com/tknerr/managed-server-dummy/version/1/provider/managed.box
|
53
|
+
default: Progress: 100% (Rate: 122k/s, Estimated time remaining: --:--:--)
|
54
|
+
==> default: Successfully added box 'tknerr/managed-server-dummy' (v1.0.0) for 'managed'!
|
55
|
+
==> default: Linking vagrant with managed server foo.acme.com
|
56
|
+
==> default: -- Server: foo.acme.com
|
57
|
+
```
|
60
58
|
|
61
|
-
Once linked, you can run `vagrant ssh` to ssh into the managed server or `vagrant provision` to provision that server with any of the available vagrant provisioners
|
59
|
+
Once linked, you can run `vagrant ssh` to ssh into the managed server or `vagrant provision` to provision that server with any of the available vagrant provisioners:
|
60
|
+
```
|
61
|
+
$ vagrant provision
|
62
|
+
...
|
63
|
+
$ vagrant ssh
|
64
|
+
...
|
65
|
+
```
|
62
66
|
|
63
|
-
If you are done, you can "unlink" vagrant from the managed server by running `vagrant destroy
|
67
|
+
If you are done, you can "unlink" vagrant from the managed server by running `vagrant destroy`:
|
68
|
+
```
|
69
|
+
$ vagrant destroy -f
|
70
|
+
==> default: Unlinking vagrant from managed server foo.acme.com
|
71
|
+
==> default: -- Server: foo.acme.com
|
72
|
+
```
|
64
73
|
|
65
74
|
If you try any of the other VM lifecycle commands like `halt`, `resume`, `reload`, etc... you will get a warning that these commands are not supported with the vagrant-managed-servers provider.
|
66
75
|
|
67
76
|
## Box Format
|
68
77
|
|
69
|
-
Every provider in Vagrant must introduce a custom box format.
|
78
|
+
Every provider in Vagrant must introduce a custom box format. This provider introduces a "dummy box" for the `managed` provider which is really nothing more than the required `metadata.json` with the provider name set to "managed".
|
70
79
|
|
71
|
-
|
80
|
+
For Vagrant 1.5+ you can use the [tknerr/managed-server-dummy](https://vagrantcloud.com/tknerr/managed-server-dummy) vagrantcloud box:
|
81
|
+
```ruby
|
82
|
+
Vagrant.configure("2") do |config|
|
83
|
+
config.vm.box = "tknerr/managed-server-dummy"
|
84
|
+
...
|
85
|
+
end
|
86
|
+
```
|
72
87
|
|
73
|
-
|
88
|
+
For Vagrant < 1.5 you can point to the [dummy.box](https://github.com/tknerr/vagrant-managed-servers/raw/master/dummy.box) URL directly:
|
89
|
+
```ruby
|
90
|
+
Vagrant.configure("2") do |config|
|
91
|
+
config.vm.box = "managed-server-dummy"
|
92
|
+
config.vm.box_url = "https://github.com/tknerr/vagrant-managed-servers/raw/master/dummy.box"
|
93
|
+
...
|
94
|
+
end
|
95
|
+
```
|
74
96
|
|
75
97
|
## Configuration
|
76
98
|
|
data/Vagrantfile
CHANGED
@@ -1,24 +1,14 @@
|
|
1
1
|
# -*- mode: ruby -*-
|
2
2
|
# vi: set ft=ruby :
|
3
3
|
|
4
|
-
# require plugin for testing via bundler
|
5
|
-
Vagrant.require_plugin "vagrant-managed-servers"
|
6
|
-
Vagrant.require_plugin "vagrant-omnibus"
|
7
|
-
Vagrant.require_plugin "vagrant-berkshelf"
|
8
|
-
|
9
4
|
Vagrant.configure("2") do |config|
|
10
5
|
|
11
|
-
config.omnibus.chef_version = "11.10.4"
|
12
|
-
config.berkshelf.enabled = true
|
13
|
-
|
14
6
|
#
|
15
7
|
# fake a managed server by bringing up a virtualbox vm
|
16
8
|
#
|
17
9
|
config.vm.define :fake_managed_server do |fms_config|
|
18
|
-
fms_config.vm.box = "
|
19
|
-
fms_config.vm.
|
20
|
-
|
21
|
-
fms_config.vm.network :private_network, ip: "33.33.77.35"
|
10
|
+
fms_config.vm.box = "chef/ubuntu-12.04-i386"
|
11
|
+
fms_config.vm.network :private_network, ip: "192.168.40.35"
|
22
12
|
end
|
23
13
|
|
24
14
|
#
|
@@ -26,11 +16,13 @@ Vagrant.configure("2") do |config|
|
|
26
16
|
#
|
27
17
|
config.vm.define :my_server do |ms_config|
|
28
18
|
|
29
|
-
ms_config.vm.box = "dummy"
|
30
|
-
|
19
|
+
ms_config.vm.box = "tknerr/managed-server-dummy"
|
20
|
+
|
21
|
+
ms_config.omnibus.chef_version = "11.14.6"
|
22
|
+
ms_config.berkshelf.enabled = true
|
31
23
|
|
32
24
|
ms_config.vm.provider :managed do |managed_config, override|
|
33
|
-
managed_config.server = "
|
25
|
+
managed_config.server = "192.168.40.35"
|
34
26
|
override.ssh.username = "vagrant"
|
35
27
|
override.ssh.private_key_path = "#{ENV['HOME']}/.vagrant.d/insecure_private_key"
|
36
28
|
end
|
@@ -11,7 +11,11 @@ module VagrantPlugins
|
|
11
11
|
# This action is called to establish linkage between vagrant and the managed server
|
12
12
|
def self.action_up
|
13
13
|
Vagrant::Action::Builder.new.tap do |b|
|
14
|
-
|
14
|
+
if Vagrant::VERSION < '1.5.0'
|
15
|
+
b.use HandleBoxUrl
|
16
|
+
else
|
17
|
+
b.use HandleBox
|
18
|
+
end
|
15
19
|
b.use ConfigValidate
|
16
20
|
b.use WarnNetworks
|
17
21
|
b.use LinkServer
|
metadata
CHANGED
@@ -1,36 +1,32 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vagrant-managed-servers
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.3.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Torben Knerr
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2014-
|
11
|
+
date: 2014-08-22 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: rake
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - '>='
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: '0'
|
22
20
|
type: :development
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- -
|
24
|
+
- - '>='
|
28
25
|
- !ruby/object:Gem::Version
|
29
26
|
version: '0'
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: rspec-core
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
31
|
- - ~>
|
36
32
|
- !ruby/object:Gem::Version
|
@@ -38,7 +34,6 @@ dependencies:
|
|
38
34
|
type: :development
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
38
|
- - ~>
|
44
39
|
- !ruby/object:Gem::Version
|
@@ -46,7 +41,6 @@ dependencies:
|
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: rspec-expectations
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
45
|
- - ~>
|
52
46
|
- !ruby/object:Gem::Version
|
@@ -54,7 +48,6 @@ dependencies:
|
|
54
48
|
type: :development
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
52
|
- - ~>
|
60
53
|
- !ruby/object:Gem::Version
|
@@ -62,7 +55,6 @@ dependencies:
|
|
62
55
|
- !ruby/object:Gem::Dependency
|
63
56
|
name: rspec-mocks
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
58
|
requirements:
|
67
59
|
- - ~>
|
68
60
|
- !ruby/object:Gem::Version
|
@@ -70,7 +62,6 @@ dependencies:
|
|
70
62
|
type: :development
|
71
63
|
prerelease: false
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
65
|
requirements:
|
75
66
|
- - ~>
|
76
67
|
- !ruby/object:Gem::Version
|
@@ -112,29 +103,25 @@ files:
|
|
112
103
|
- .travis.yml
|
113
104
|
homepage: https://github.com/tknerr/vagrant-managed-servers
|
114
105
|
licenses: []
|
106
|
+
metadata: {}
|
115
107
|
post_install_message:
|
116
108
|
rdoc_options: []
|
117
109
|
require_paths:
|
118
110
|
- lib
|
119
111
|
required_ruby_version: !ruby/object:Gem::Requirement
|
120
|
-
none: false
|
121
112
|
requirements:
|
122
|
-
- -
|
113
|
+
- - '>='
|
123
114
|
- !ruby/object:Gem::Version
|
124
115
|
version: '0'
|
125
|
-
segments:
|
126
|
-
- 0
|
127
|
-
hash: 532192833
|
128
116
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
129
|
-
none: false
|
130
117
|
requirements:
|
131
|
-
- -
|
118
|
+
- - '>='
|
132
119
|
- !ruby/object:Gem::Version
|
133
120
|
version: 1.3.6
|
134
121
|
requirements: []
|
135
122
|
rubyforge_project: vagrant-managed-servers
|
136
|
-
rubygems_version:
|
123
|
+
rubygems_version: 2.0.14
|
137
124
|
signing_key:
|
138
|
-
specification_version:
|
125
|
+
specification_version: 4
|
139
126
|
summary: Enables Vagrant to ssh into and provision managed servers.
|
140
127
|
test_files: []
|