salted-rails 0.0.5 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +31 -6
- data/init.sh +12 -10
- data/lib/salted-rails/version.rb +1 -1
- metadata +1 -1
data/README.md
CHANGED
@@ -4,9 +4,10 @@ Salted-Rails: Provision a vagrant machine for rails using salt.
|
|
4
4
|
|
5
5
|
This gem inspects your rails app configuration to work out what needs to be installed in the virtual machine.
|
6
6
|
|
7
|
-
|
7
|
+
This gem reflects my personal preferences in setting up a virtual machine for rails projects,
|
8
|
+
and will change over time as I refine it for use with other projects.
|
8
9
|
|
9
|
-
It
|
10
|
+
It inspects:
|
10
11
|
* .ruby-version / .rvmrc to control the version of ruby installed (using rbenv)
|
11
12
|
* config/database.yml to create users and databases
|
12
13
|
* Gemfile and Gemfile.lock to preload gems into the system, and trigger the installation of packages required by gems
|
@@ -15,20 +16,40 @@ This configures vagrant in the way that I personally like:
|
|
15
16
|
* ubunutu 12.04 (LTS) 32bit from cloud-images.ubuntu.com (up to date packages and more memory free for systems < 4GB memory)
|
16
17
|
* forward ssh agent
|
17
18
|
* digital ocean default to 'San Francisco 1'
|
18
|
-
* salt provisioning
|
19
|
+
* salt provisioning with 0.16.4 version (to avoid problems with 0.17.0) and /etc/hostname fix
|
19
20
|
* forward post 3000, 80, 443
|
21
|
+
* Include fix vbguest fix for upgrading virtualbox additions with ubunutu cloud
|
20
22
|
|
21
|
-
I am
|
23
|
+
I am thinking of doing the following in the future:
|
24
|
+
* Configuring up vim with a standard set of plugins
|
25
|
+
* Expand it for use with capistrano (for deployment to staging and production servers), including hardening up the server for security
|
26
|
+
* Expand it to construct continuous testing / delivery servers
|
22
27
|
|
23
28
|
## Installation
|
24
29
|
|
25
|
-
###
|
30
|
+
### Packages and plugins
|
31
|
+
|
32
|
+
Download init.sh script and run:
|
33
|
+
|
34
|
+
$ wget https://raw.github.com/ianheggie/salted-rails/master/init.sh
|
35
|
+
$ sh init.sh
|
36
|
+
|
37
|
+
This will:
|
38
|
+
|
39
|
+
* prompt you to install vagrant (1.3.3 not 1.3.4) if not already present
|
40
|
+
* prompt you to install virtualbox (4.2.18 or later) if not already present
|
41
|
+
* install this (salted-rails) vagrant plugin as well as the following other plugins:
|
42
|
+
* deep\_merge vagrant-digitalocean vagrant-vbguest
|
43
|
+
* If your project has a Vagrantfile.example, it will copy it to Vagrantfile
|
44
|
+
* Prompt for and setup ~/.vagrant.d/Vagrantfile with your digital ocean client and api keys (if not already present)
|
26
45
|
|
27
46
|
Add as a vagrant plugin
|
28
47
|
|
29
48
|
vagrant plugin add salted-rails
|
30
49
|
|
31
|
-
|
50
|
+
### Vagrantfile
|
51
|
+
|
52
|
+
Adjust your Vagrantfile as follows (example of accepting all the defaults, one default machine):
|
32
53
|
|
33
54
|
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
|
34
55
|
|
@@ -101,6 +122,10 @@ The mirror value can also be:
|
|
101
122
|
* a country code - eg 'au', 'uk', 'us' etc
|
102
123
|
* url of mirror - specify the full url (in the same format as mirrors.txt above)
|
103
124
|
|
125
|
+
### Updating virtualbox guest additions
|
126
|
+
|
127
|
+
Use `vagrant vbguest --do install` to update the virtualbox guest additions (required for shared folders to work with OS/X)
|
128
|
+
|
104
129
|
### Capistrano
|
105
130
|
|
106
131
|
Add this line to your application's Gemfile:
|
data/init.sh
CHANGED
@@ -14,7 +14,7 @@ if which vagrant; then
|
|
14
14
|
echo Checking vagrant plugins are installed ...
|
15
15
|
|
16
16
|
vagrant plugin list > /tmp/t$$
|
17
|
-
for plugin in deep_merge vagrant-digitalocean vagrant-vbguest
|
17
|
+
for plugin in deep_merge vagrant-digitalocean vagrant-vbguest salted-rails
|
18
18
|
do
|
19
19
|
if grep $plugin < /tmp/t$$; then
|
20
20
|
vagrant plugin update $plugin
|
@@ -24,20 +24,22 @@ if which vagrant; then
|
|
24
24
|
done
|
25
25
|
|
26
26
|
else
|
27
|
-
echo ACTION REQUIRED: Please install vagrant 1.3.4
|
27
|
+
echo ACTION REQUIRED: Please install vagrant 1.3.3 (1.3.4 has a bug) from http://www.vagrantup.com/
|
28
28
|
msg='(PLEASE RERUN SCRIPT AFTERWARDS)'
|
29
29
|
fi
|
30
30
|
|
31
|
-
if [ -f Vagrantfile
|
32
|
-
if [ -f Vagrantfile ]; then
|
33
|
-
|
31
|
+
if [ ! -f Vagrantfile ]; then
|
32
|
+
if [ -f Vagrantfile.example ]; then
|
33
|
+
if [ -f Vagrantfile ]; then
|
34
|
+
echo Found Vagrantfile '(previously copied from example)'
|
35
|
+
else
|
36
|
+
echo Copying Vagrantfile.example to Vagrantfile '(so you can customize it)'
|
37
|
+
cp Vagrantfile.example Vagrantfile
|
38
|
+
fi
|
34
39
|
else
|
35
|
-
echo
|
36
|
-
|
40
|
+
echo WARNING: Vagrantfile.example not found - skipped Vagrantfile setup
|
41
|
+
msg='(Please run vagrant init in your rails project directory then edit Vagrantfile)'
|
37
42
|
fi
|
38
|
-
else
|
39
|
-
echo ERROR: setup_vagrant Must be run in rails root directory '(Vagrantfile.example not found)'
|
40
|
-
msg='(PLEASE RERUN SCRIPT FROM CORRECT DIRECTORY)'
|
41
43
|
fi
|
42
44
|
|
43
45
|
mkdir -p $HOME/.vagrant.d
|
data/lib/salted-rails/version.rb
CHANGED