vagrant-cachier 0.5.1 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +33 -0
- data/Gemfile +1 -1
- data/Gemfile.lock +59 -34
- data/LICENSE.txt +1 -1
- data/README.md +27 -10
- data/development/Cheffile.lock +1 -5
- data/development/Vagrantfile +81 -71
- data/docs/buckets/apt-lists.md +18 -0
- data/docs/how-does-it-work.md +5 -6
- data/docs/index.md +24 -5
- data/docs/template.html +1 -0
- data/docs/usage.md +81 -28
- data/lib/vagrant-cachier/action/clean.rb +1 -1
- data/lib/vagrant-cachier/action/configure_bucket_root.rb +46 -0
- data/lib/vagrant-cachier/action/install_buckets.rb +47 -0
- data/lib/vagrant-cachier/bucket.rb +55 -0
- data/lib/vagrant-cachier/bucket/apt.rb +3 -12
- data/lib/vagrant-cachier/bucket/apt_cacher.rb +1 -13
- data/lib/vagrant-cachier/bucket/apt_lists.rb +24 -0
- data/lib/vagrant-cachier/bucket/chef.rb +1 -14
- data/lib/vagrant-cachier/bucket/composer.rb +1 -14
- data/lib/vagrant-cachier/bucket/gem.rb +4 -17
- data/lib/vagrant-cachier/bucket/npm.rb +1 -14
- data/lib/vagrant-cachier/bucket/pacman.rb +1 -14
- data/lib/vagrant-cachier/bucket/rvm.rb +4 -17
- data/lib/vagrant-cachier/bucket/yum.rb +4 -15
- data/lib/vagrant-cachier/bucket/zypper.rb +4 -15
- data/lib/vagrant-cachier/cap/debian/apt_lists_dir.rb +13 -0
- data/lib/vagrant-cachier/capabilities.rb +64 -0
- data/lib/vagrant-cachier/config.rb +35 -10
- data/lib/vagrant-cachier/hooks.rb +27 -0
- data/lib/vagrant-cachier/plugin.rb +12 -80
- data/lib/vagrant-cachier/version.rb +1 -1
- data/locales/en.yml +3 -7
- data/vagrant-cachier.gemspec +11 -1
- metadata +20 -12
- data/lib/vagrant-cachier/action/ensure_single_cache_root.rb +0 -64
- data/lib/vagrant-cachier/errors.rb +0 -9
- data/lib/vagrant-cachier/provision_ext.rb +0 -74
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 307983515bc00363631b1742d531e79f2fb24e8e
|
4
|
+
data.tar.gz: 6bebf0f7c9e887566d4f1161506d461ae43f3b06
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6677e3fcb6ebb9c699fd3c774250fba801a50c914c32022d53367ad2a2b1fe029f03f8853f84858fe8bf554e982c5763bab24d1f2ed70a140847f587287ad01e
|
7
|
+
data.tar.gz: 20574de968aac25e1d2295739a2f97d2876be801f1d966841c631d7524b3186aef29e522952ce7b2c5c3ed2d53cac244826d171db505eab9265e4ab8f4efe583
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,36 @@
|
|
1
|
+
## [0.6.0](https://github.com/fgrehm/vagrant-cachier/compare/v0.5.1...v0.6.0) (Feb 26, 2014)
|
2
|
+
|
3
|
+
BACKWARDS INCOMPATIBILITY:
|
4
|
+
|
5
|
+
- Plugin activation is now triggered by the `cache.scope` config and that config
|
6
|
+
is now required. Previous versions of the plugin had it set to `:box` but
|
7
|
+
there is no consensus whether `:box` and `:machine` is better. This is to
|
8
|
+
highlight that you need to think about the caching strategy you are going
|
9
|
+
to use. For more information and to discuss this move please check [GH-17](https://github.com/fgrehm/vagrant-cachier/issues/17).
|
10
|
+
- Because `cache.scope` is now a requirement and in order to reduce the amount of
|
11
|
+
configuration required by the plugin, we enabled automatic bucket detection by
|
12
|
+
default. To revert to the old behavior you can disable it globally from your
|
13
|
+
`~/.vagrant.d/Vagrantfile`.
|
14
|
+
- Support for Vagrant < 1.4 is gone, please use a previous plugin version if
|
15
|
+
you are running Vagrant 1.2 / 1.3
|
16
|
+
- Automatic handling of multiple machine scoped cache dirs from versions
|
17
|
+
prior to 0.3.0 of this plugin was removed.
|
18
|
+
- Support for `enable_nfs` has been deprecated and will be removed on 0.7.0,
|
19
|
+
please use `cache.synced_folder_opts = {type: :nfs}` instead.
|
20
|
+
|
21
|
+
FEATURES:
|
22
|
+
|
23
|
+
- Warm up cache buckets with files available on guest in case bucket is empty
|
24
|
+
- Support for offline provisioning of apt-packages by caching `/var/lib/apt/lists` [GH-84]
|
25
|
+
- Support for specifying custom cache bucket synced folder opts
|
26
|
+
- Support to force disabe the plugin [GH-72]
|
27
|
+
- Automatically disable the plugin for cloud providers [GH-45]
|
28
|
+
- Skip configuration of buckets that have been configured already [GH-85]
|
29
|
+
|
30
|
+
BUG FIXES:
|
31
|
+
|
32
|
+
- Properly fix NFS support for Vagrant 1.4+ [GH-76]
|
33
|
+
|
1
34
|
## [0.5.1](https://github.com/fgrehm/vagrant-cachier/compare/v0.5.0...v0.5.1) (Dec 20, 2013)
|
2
35
|
|
3
36
|
BUG FIXES:
|
data/Gemfile
CHANGED
@@ -4,7 +4,7 @@ source 'https://rubygems.org'
|
|
4
4
|
gemspec
|
5
5
|
|
6
6
|
group :development do
|
7
|
-
gem 'vagrant', github: 'mitchellh/vagrant'
|
7
|
+
gem 'vagrant', github: 'mitchellh/vagrant', tag: 'v1.4.3'
|
8
8
|
gem 'vagrant-lxc', github: 'fgrehm/vagrant-lxc'
|
9
9
|
gem 'vagrant-pristine', github: 'fgrehm/vagrant-pristine'
|
10
10
|
gem 'vagrant-global-status', github: 'fgrehm/vagrant-global-status'
|
data/Gemfile.lock
CHANGED
@@ -1,104 +1,129 @@
|
|
1
1
|
GIT
|
2
2
|
remote: git://github.com/fgrehm/vagrant-global-status.git
|
3
|
-
revision:
|
3
|
+
revision: 8ae82e2c57b085a030137a40e9b3d232f42e5117
|
4
4
|
specs:
|
5
|
-
vagrant-global-status (0.1.
|
5
|
+
vagrant-global-status (0.1.5.dev)
|
6
6
|
|
7
7
|
GIT
|
8
8
|
remote: git://github.com/fgrehm/vagrant-lxc.git
|
9
|
-
revision:
|
9
|
+
revision: 1083f100adc4cf1bd20e7eb794ecfda94ef8b365
|
10
10
|
specs:
|
11
|
-
vagrant-lxc (0.
|
11
|
+
vagrant-lxc (0.7.1.dev)
|
12
12
|
|
13
13
|
GIT
|
14
14
|
remote: git://github.com/fgrehm/vagrant-pristine.git
|
15
|
-
revision:
|
15
|
+
revision: 503dbc47848c81d0fbfa6840491856f518d244a1
|
16
16
|
specs:
|
17
17
|
vagrant-pristine (0.3.0)
|
18
18
|
|
19
19
|
GIT
|
20
20
|
remote: git://github.com/mitchellh/vagrant.git
|
21
|
-
revision:
|
21
|
+
revision: 4f0eb9504cc786d5a57a43814427e8eb35407a4c
|
22
|
+
tag: v1.4.3
|
22
23
|
specs:
|
23
|
-
vagrant (1.3
|
24
|
+
vagrant (1.4.3)
|
24
25
|
childprocess (~> 0.3.7)
|
25
26
|
erubis (~> 2.7.0)
|
26
27
|
i18n (~> 0.6.0)
|
27
28
|
log4r (~> 1.1.9)
|
28
29
|
net-scp (~> 1.1.0)
|
29
|
-
net-ssh (
|
30
|
+
net-ssh (>= 2.6.6, < 2.8.0)
|
30
31
|
|
31
32
|
PATH
|
32
33
|
remote: .
|
33
34
|
specs:
|
34
|
-
vagrant-cachier (0.
|
35
|
+
vagrant-cachier (0.6.0)
|
35
36
|
|
36
37
|
GEM
|
37
38
|
remote: https://rubygems.org/
|
38
39
|
specs:
|
39
40
|
archive-tar-minitar (0.5.2)
|
40
|
-
chef (11.
|
41
|
-
|
42
|
-
|
41
|
+
chef (11.8.2)
|
42
|
+
chef-zero (~> 1.6, >= 1.6.2)
|
43
|
+
diff-lcs (~> 1.2, >= 1.2.4)
|
44
|
+
erubis (~> 2.7)
|
45
|
+
highline (~> 1.6, >= 1.6.9)
|
43
46
|
json (>= 1.4.4, <= 1.7.7)
|
44
|
-
|
45
|
-
mixlib-
|
46
|
-
mixlib-
|
47
|
-
mixlib-
|
48
|
-
mixlib-
|
47
|
+
mime-types (~> 1.16)
|
48
|
+
mixlib-authentication (~> 1.3)
|
49
|
+
mixlib-cli (~> 1.3)
|
50
|
+
mixlib-config (~> 2.0)
|
51
|
+
mixlib-log (~> 1.3)
|
52
|
+
mixlib-shellout (~> 1.2)
|
49
53
|
net-ssh (~> 2.6)
|
50
54
|
net-ssh-multi (~> 1.1.0)
|
51
|
-
ohai (
|
55
|
+
ohai (~> 6.0)
|
56
|
+
pry (~> 0.9)
|
57
|
+
puma (~> 1.6)
|
52
58
|
rest-client (>= 1.0.4, < 1.7.0)
|
53
59
|
yajl-ruby (~> 1.1)
|
60
|
+
chef-zero (1.7.2)
|
61
|
+
hashie (~> 2.0)
|
62
|
+
json
|
63
|
+
mixlib-log (~> 1.3)
|
64
|
+
moneta (< 0.7.0)
|
65
|
+
rack
|
54
66
|
childprocess (0.3.9)
|
55
67
|
ffi (~> 1.0, >= 1.0.11)
|
68
|
+
coderay (1.1.0)
|
69
|
+
diff-lcs (1.2.5)
|
56
70
|
erubis (2.7.0)
|
57
|
-
ffi (1.9.
|
58
|
-
|
59
|
-
|
71
|
+
ffi (1.9.3)
|
72
|
+
hashie (2.0.5)
|
73
|
+
highline (1.6.20)
|
74
|
+
i18n (0.6.9)
|
60
75
|
ipaddress (0.8.0)
|
61
76
|
json (1.7.7)
|
62
|
-
librarian (0.1.
|
77
|
+
librarian (0.1.1)
|
63
78
|
highline
|
64
79
|
thor (~> 0.15)
|
65
|
-
librarian-chef (0.0.
|
80
|
+
librarian-chef (0.0.2)
|
66
81
|
archive-tar-minitar (>= 0.5.2)
|
67
82
|
chef (>= 0.10)
|
68
83
|
librarian (~> 0.1.0)
|
69
84
|
log4r (1.1.10)
|
70
|
-
|
85
|
+
method_source (0.8.2)
|
86
|
+
mime-types (1.25.1)
|
71
87
|
mixlib-authentication (1.3.0)
|
72
88
|
mixlib-log
|
73
|
-
mixlib-cli (1.
|
74
|
-
mixlib-config (
|
89
|
+
mixlib-cli (1.4.0)
|
90
|
+
mixlib-config (2.1.0)
|
75
91
|
mixlib-log (1.6.0)
|
76
|
-
mixlib-shellout (1.
|
92
|
+
mixlib-shellout (1.3.0)
|
93
|
+
moneta (0.6.0)
|
77
94
|
net-scp (1.1.2)
|
78
95
|
net-ssh (>= 2.6.5)
|
79
|
-
net-ssh (2.
|
96
|
+
net-ssh (2.7.0)
|
80
97
|
net-ssh-gateway (1.2.0)
|
81
98
|
net-ssh (>= 2.6.5)
|
82
99
|
net-ssh-multi (1.1)
|
83
100
|
net-ssh (>= 2.1.4)
|
84
101
|
net-ssh-gateway (>= 0.99.0)
|
85
|
-
ohai (6.
|
102
|
+
ohai (6.20.0)
|
86
103
|
ipaddress
|
87
104
|
mixlib-cli
|
88
105
|
mixlib-config
|
89
106
|
mixlib-log
|
90
107
|
mixlib-shellout
|
91
|
-
systemu
|
108
|
+
systemu (~> 2.5.2)
|
92
109
|
yajl-ruby
|
93
|
-
|
110
|
+
pry (0.9.12.4)
|
111
|
+
coderay (~> 1.0)
|
112
|
+
method_source (~> 0.8)
|
113
|
+
slop (~> 3.4)
|
114
|
+
puma (1.6.3)
|
115
|
+
rack (~> 1.2)
|
116
|
+
rack (1.5.2)
|
117
|
+
rake (10.1.1)
|
94
118
|
rest-client (1.6.7)
|
95
119
|
mime-types (>= 1.16)
|
120
|
+
slop (3.4.7)
|
96
121
|
systemu (2.5.2)
|
97
122
|
thor (0.18.1)
|
98
|
-
vagrant-librarian-chef (0.1.
|
123
|
+
vagrant-librarian-chef (0.1.4)
|
99
124
|
librarian-chef
|
100
|
-
vagrant-omnibus (1.1
|
101
|
-
yajl-ruby (1.
|
125
|
+
vagrant-omnibus (1.2.1)
|
126
|
+
yajl-ruby (1.2.0)
|
102
127
|
|
103
128
|
PLATFORMS
|
104
129
|
ruby
|
data/LICENSE.txt
CHANGED
data/README.md
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
# vagrant-cachier
|
2
2
|
|
3
|
+
[![Gem Version](https://badge.fury.io/rb/vagrant-cachier.png)](http://badge.fury.io/rb/vagrant-cachier) [![Gittip](http://img.shields.io/gittip/fgrehm.svg)](https://www.gittip.com/fgrehm/)
|
4
|
+
|
3
5
|
A [Vagrant](http://www.vagrantup.com/) plugin that helps you reduce the amount of
|
4
6
|
coffee you drink while waiting for boxes to be provisioned by sharing a common
|
5
7
|
package cache among similiar VM instances. Kinda like [vagrant-apt_cache](https://github.com/avit/vagrant-apt_cache)
|
@@ -9,7 +11,7 @@ multiple package managers and Linux distros.
|
|
9
11
|
|
10
12
|
## Installation
|
11
13
|
|
12
|
-
Make sure you have Vagrant 1.
|
14
|
+
Make sure you have Vagrant 1.4+ and run:
|
13
15
|
|
14
16
|
```
|
15
17
|
vagrant plugin install vagrant-cachier
|
@@ -17,15 +19,27 @@ vagrant plugin install vagrant-cachier
|
|
17
19
|
|
18
20
|
## Quick start
|
19
21
|
|
20
|
-
The easiest way to set things up is just to enable [cache buckets auto detection](http://fgrehm.viewdocs.io/vagrant-cachier/usage)
|
21
|
-
from within your `Vagrantfile`:
|
22
|
-
|
23
22
|
```ruby
|
24
23
|
Vagrant.configure("2") do |config|
|
25
24
|
config.vm.box = 'your-box'
|
26
|
-
|
27
|
-
|
28
|
-
|
25
|
+
if Vagrant.has_plugin?("vagrant-cachier")
|
26
|
+
# Configure cached packages to be shared between instances of the same base box.
|
27
|
+
# More info on http://fgrehm.viewdocs.io/vagrant-cachier/usage
|
28
|
+
config.cache.scope = :box
|
29
|
+
|
30
|
+
# If you are using VirtualBox, you might want to use that to enable NFS for
|
31
|
+
# shared folders. This is also very useful for vagrant-libvirt if you want
|
32
|
+
# bi-directional sync
|
33
|
+
config.cache.synced_folder_opts = {
|
34
|
+
type: :nfs,
|
35
|
+
# The nolock option can be useful for an NFSv3 client that wants to avoid the
|
36
|
+
# NLM sideband protocol. Without this option, apt-get might hang if it tries
|
37
|
+
# to lock files needed for /var/cache/* operations. All of this can be avoided
|
38
|
+
# by using NFSv4 everywhere. Please note that the tcp option is not the default.
|
39
|
+
mount_options: ['rw', 'vers=3', 'tcp', 'nolock']
|
40
|
+
}
|
41
|
+
# For more information please check http://docs.vagrantup.com/v2/synced-folders/basic_usage.html
|
42
|
+
end
|
29
43
|
end
|
30
44
|
```
|
31
45
|
|
@@ -33,12 +47,17 @@ For more information please read the documentation available at
|
|
33
47
|
http://fgrehm.viewdocs.io/vagrant-cachier.
|
34
48
|
|
35
49
|
|
36
|
-
##
|
50
|
+
## Providers that are known to work
|
37
51
|
|
38
52
|
* Vagrant's built in VirtualBox provider
|
39
53
|
* [vagrant-lxc](https://github.com/fgrehm/vagrant-lxc)
|
40
54
|
* [VMware providers](http://www.vagrantup.com/vmware) with NFS enabled (See
|
41
55
|
[GH-24](https://github.com/fgrehm/vagrant-cachier/issues/24) for more info)
|
56
|
+
* [docker-provider](https://github.com/fgrehm/docker-provider)
|
57
|
+
* _[Let me know if it is compatible with other providers!](https://github.com/fgrehm/vagrant-cachier/issues/new)_
|
58
|
+
|
59
|
+
_Please note that as of v0.6.0 the plugin will automatically disable any
|
60
|
+
previously defined configs for [cloud providers](lib/vagrant-cachier/plugin.rb#L19-22)_
|
42
61
|
|
43
62
|
|
44
63
|
## Contributing
|
@@ -48,5 +67,3 @@ http://fgrehm.viewdocs.io/vagrant-cachier.
|
|
48
67
|
3. Commit your changes (`git commit -am 'Add some feature'`)
|
49
68
|
4. Push to the branch (`git push origin my-new-feature`)
|
50
69
|
5. Create new Pull Request
|
51
|
-
|
52
|
-
[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/fgrehm/vagrant-cachier/trend.png)](https://bitdeli.com/free "Bitdeli Badge")
|
data/development/Cheffile.lock
CHANGED
data/development/Vagrantfile
CHANGED
@@ -12,116 +12,126 @@ Vagrant.configure("2") do |config|
|
|
12
12
|
|
13
13
|
config.cache.scope = :machine
|
14
14
|
config.cache.auto_detect = true
|
15
|
-
config.cache.
|
16
|
-
|
17
|
-
config.omnibus.chef_version = :latest
|
18
|
-
config.vm.provision :chef_solo do |chef|
|
19
|
-
chef.add_recipe "java::oracle"
|
20
|
-
chef.json = {
|
21
|
-
:java => {
|
22
|
-
:oracle => {
|
23
|
-
:accept_oracle_download_terms => true
|
24
|
-
}
|
25
|
-
}
|
26
|
-
}
|
27
|
-
end
|
15
|
+
config.cache.synced_folder_opts = { type: :nfs }
|
28
16
|
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
HOME=/home/vagrant su -p vagrant -l -c "curl -L https://get.rvm.io | bash -s stable"
|
33
|
-
fi
|
34
|
-
'
|
35
|
-
|
36
|
-
# Here we have the RVM cache bucket configured, so we install 2.0.0
|
37
|
-
config.vm.provision :shell, inline: '
|
38
|
-
if ! [ -d /home/vagrant/.rvm/rubies/ruby-1.9.3* ]; then
|
39
|
-
HOME=/home/vagrant su -p vagrant -l -c "rvm install 1.9.3 && rvm use 1.9.3 --default"
|
40
|
-
fi
|
41
|
-
'
|
42
|
-
|
43
|
-
config.vm.provision :shell, inline: '
|
44
|
-
if ! [ -d /home/vagrant/.nvm ]; then
|
45
|
-
apt-get install git -y
|
46
|
-
HOME=/home/vagrant su -p vagrant -l -c "
|
47
|
-
curl https://raw.github.com/creationix/nvm/master/install.sh | sh
|
48
|
-
"
|
49
|
-
fi
|
50
|
-
'
|
51
|
-
|
52
|
-
config.vm.provision :shell, inline: '
|
53
|
-
if ! [ -d /home/vagrant/.nvm/v0.10* ]; then
|
54
|
-
HOME=/home/vagrant su -p vagrant -l -c "
|
55
|
-
nvm install 0.10
|
56
|
-
nvm alias default 0.10
|
57
|
-
"
|
58
|
-
fi
|
59
|
-
'
|
17
|
+
config.vm.provider :virtualbox do |vb|
|
18
|
+
vb.customize [ "modifyvm", :id, "--memory", 256, "--cpus", "1" ]
|
19
|
+
end
|
60
20
|
|
61
21
|
configure_private_network = lambda do |node, suffix|
|
62
22
|
node.vm.network :private_network, ip: "192.168.50.#{suffix}"
|
63
23
|
end
|
64
24
|
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
25
|
+
initial_debian_setup = lambda do |debian, git_pkg = 'git'|
|
26
|
+
debian.vm.provision :shell, inline: "apt-get update && apt-get install -y #{git_pkg} php5-cli curl wget htop"
|
27
|
+
end
|
28
|
+
|
29
|
+
install_nvm_and_rvm = lambda do |node|
|
30
|
+
# Installs RVM
|
31
|
+
node.vm.provision :shell, inline: '
|
32
|
+
if ! [ -d /home/vagrant/.rvm ]; then
|
33
|
+
HOME=/home/vagrant su -p vagrant -l -c "curl -L https://get.rvm.io | bash -s stable"
|
34
|
+
fi
|
35
|
+
'
|
36
|
+
|
37
|
+
# Here we have the RVM cache bucket configured, so we install 2.0.0
|
38
|
+
node.vm.provision :shell, inline: '
|
39
|
+
if ! [ -d /home/vagrant/.rvm/rubies/ruby-2.0.0* ]; then
|
40
|
+
HOME=/home/vagrant su -p vagrant -l -c "rvm install 2.0.0 && rvm use 2.0.0 --default"
|
41
|
+
fi
|
42
|
+
'
|
43
|
+
|
44
|
+
node.vm.provision :shell, inline: '
|
45
|
+
if ! [ -d /home/vagrant/.nvm ]; then
|
46
|
+
apt-get install git -y
|
47
|
+
HOME=/home/vagrant su -p vagrant -l -c "
|
48
|
+
curl https://raw.github.com/creationix/nvm/master/install.sh | sh
|
49
|
+
"
|
50
|
+
fi
|
51
|
+
'
|
52
|
+
|
53
|
+
node.vm.provision :shell, inline: '
|
54
|
+
if ! [ -d /home/vagrant/.nvm/v0.10* ]; then
|
55
|
+
HOME=/home/vagrant su -p vagrant -l -c "
|
56
|
+
nvm install 0.10
|
57
|
+
nvm alias default 0.10
|
58
|
+
"
|
59
|
+
fi
|
71
60
|
'
|
72
61
|
end
|
73
62
|
|
74
63
|
config.vm.define :ubuntu do |ubuntu|
|
75
64
|
ubuntu.vm.box = "quantal64"
|
76
|
-
debian_like_configs.call ubuntu
|
77
65
|
configure_private_network.call ubuntu, 10
|
66
|
+
|
67
|
+
initial_debian_setup.call(ubuntu)
|
68
|
+
install_nvm_and_rvm.call(ubuntu)
|
69
|
+
|
70
|
+
ubuntu.omnibus.chef_version = :latest
|
71
|
+
ubuntu.vm.provision :chef_solo do |chef|
|
72
|
+
chef.add_recipe "java::oracle"
|
73
|
+
chef.json = {
|
74
|
+
:java => {
|
75
|
+
:oracle => {
|
76
|
+
:accept_oracle_download_terms => true
|
77
|
+
}
|
78
|
+
}
|
79
|
+
}
|
80
|
+
end
|
78
81
|
end
|
79
82
|
|
80
83
|
config.vm.define :lucid do |lucid|
|
81
84
|
lucid.vm.box = "lucid64"
|
82
|
-
|
85
|
+
# Disable NFS
|
86
|
+
lucid.cache.synced_folder_opts = { }
|
83
87
|
configure_private_network.call lucid, 11
|
88
|
+
|
89
|
+
initial_debian_setup.call(lucid, 'git-core')
|
90
|
+
install_nvm_and_rvm.call(lucid)
|
84
91
|
end
|
85
92
|
|
86
93
|
config.vm.define :debian do |debian|
|
87
94
|
debian.vm.box = "squeeze64"
|
88
95
|
debian.vm.box_url = 'http://f.willianfernandes.com.br/vagrant-boxes/DebianSqueeze64.box'
|
89
|
-
debian_like_configs.call debian
|
90
96
|
configure_private_network.call debian, 12
|
97
|
+
|
98
|
+
initial_debian_setup.call(debian)
|
99
|
+
install_nvm_and_rvm.call(debian)
|
91
100
|
end
|
92
101
|
|
93
102
|
config.vm.define :centos do |centos|
|
94
103
|
centos.vm.box = 'centos6_64'
|
95
104
|
centos.vm.box_url = 'http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.4-x86_64-v20130309.box'
|
96
105
|
configure_private_network.call centos, 13
|
97
|
-
|
98
|
-
# bundle the project
|
106
|
+
|
99
107
|
centos.vm.provision :shell, inline: '
|
100
|
-
|
101
|
-
|
108
|
+
(
|
109
|
+
mkdir -p /tmp/epel
|
110
|
+
cd /tmp/epel
|
111
|
+
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
|
112
|
+
wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
|
113
|
+
sudo rpm -Uvh remi-release-6*.rpm epel-release-6*.rpm
|
114
|
+
)
|
115
|
+
yum install -y libffi-devel ruby-devel git
|
116
|
+
'
|
117
|
+
centos.vm.provision :shell, inline: 'gem install bundler'
|
102
118
|
end
|
103
119
|
|
104
120
|
config.vm.define :arch do |arch|
|
105
121
|
arch.vm.box = 'arch64'
|
106
|
-
arch.vm.box_url = '
|
107
|
-
|
108
|
-
arch.
|
109
|
-
|
110
|
-
|
122
|
+
arch.vm.box_url = 'https://dl.dropboxusercontent.com/u/6750592/Arch_Linux_2013.11_x64.box'
|
123
|
+
# Disable NFS
|
124
|
+
arch.cache.synced_folder_opts = { }
|
125
|
+
|
126
|
+
arch.vm.provision :shell, inline: 'pacman -Syu --noconfirm libffi git ruby && gem install bundler'
|
111
127
|
end
|
112
128
|
|
113
|
-
# Please note that we are not able to install chef on the VM, so when bringing
|
114
|
-
# this up we should always pass in `--provision-with=shell`
|
115
|
-
#
|
116
|
-
# TODO: Find out how to install chef on this or other box or find one that has
|
117
|
-
# it pre installed
|
118
129
|
config.vm.define :opensuse do |suse|
|
119
130
|
suse.vm.box = 'opensuse-12'
|
120
131
|
suse.vm.box_url = 'http://sourceforge.net/projects/opensusevagrant/files/12.3/opensuse-12.3-64.box/download'
|
121
|
-
|
122
|
-
suse.cache.
|
123
|
-
|
124
|
-
suse.omnibus.chef_version = nil
|
132
|
+
# Disable NFS
|
133
|
+
suse.cache.synced_folder_opts = { }
|
134
|
+
|
125
135
|
suse.vm.provision :shell, inline: 'time zypper install -y git'
|
126
136
|
end
|
127
137
|
end
|