salted-rails 0.0.5 → 0.0.6
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.
- 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