from-scratch 0.5.0 → 0.6.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 +4 -4
- data/Berksfile +1 -7
- data/Berksfile.lock +6 -0
- data/README.md +8 -3
- data/bin/scratchify +1 -1
- data/cookbooks/ruby_build/CHANGELOG.md +72 -0
- data/cookbooks/ruby_build/README.md +338 -0
- data/cookbooks/ruby_build/attributes/default.rb +67 -0
- data/cookbooks/ruby_build/libraries/ruby_build_recipe_helpers.rb +40 -0
- data/cookbooks/ruby_build/metadata.json +39 -0
- data/cookbooks/ruby_build/providers/ruby.rb +88 -0
- data/cookbooks/ruby_build/recipes/default.rb +69 -0
- data/cookbooks/ruby_build/resources/ruby.rb +33 -0
- data/cookbooks/ruby_rbenv/CHANGELOG.md +221 -0
- data/cookbooks/ruby_rbenv/README.md +1059 -0
- data/cookbooks/ruby_rbenv/attributes/default.rb +73 -0
- data/cookbooks/ruby_rbenv/libraries/chef_provider_package_rbenvrubygems.rb +94 -0
- data/cookbooks/ruby_rbenv/libraries/chef_rbenv_mixin.rb +49 -0
- data/cookbooks/ruby_rbenv/libraries/chef_rbenv_recipe_helpers.rb +118 -0
- data/cookbooks/ruby_rbenv/libraries/chef_rbenv_script_helpers.rb +79 -0
- data/cookbooks/ruby_rbenv/libraries/matchers.rb +25 -0
- data/cookbooks/ruby_rbenv/metadata.json +1 -0
- data/cookbooks/ruby_rbenv/providers/global.rb +53 -0
- data/cookbooks/ruby_rbenv/providers/plugin.rb +55 -0
- data/cookbooks/ruby_rbenv/providers/rehash.rb +45 -0
- data/cookbooks/ruby_rbenv/providers/ruby.rb +123 -0
- data/cookbooks/ruby_rbenv/providers/script.rb +81 -0
- data/cookbooks/ruby_rbenv/recipes/default.rb +23 -0
- data/cookbooks/ruby_rbenv/recipes/system.rb +52 -0
- data/cookbooks/ruby_rbenv/recipes/system_install.rb +45 -0
- data/cookbooks/ruby_rbenv/recipes/user.rb +76 -0
- data/cookbooks/ruby_rbenv/recipes/user_install.rb +48 -0
- data/cookbooks/ruby_rbenv/resources/gem.rb +44 -0
- data/cookbooks/ruby_rbenv/resources/global.rb +33 -0
- data/cookbooks/ruby_rbenv/resources/plugin.rb +15 -0
- data/cookbooks/ruby_rbenv/resources/rehash.rb +29 -0
- data/cookbooks/ruby_rbenv/resources/ruby.rb +43 -0
- data/cookbooks/ruby_rbenv/resources/script.rb +39 -0
- data/cookbooks/ruby_rbenv/templates/default/rbenv.sh.erb +15 -0
- data/cookbooks/scratchify/Berksfile +1 -7
- data/cookbooks/scratchify/Berksfile.lock +6 -0
- data/cookbooks/scratchify/README.md +8 -3
- data/cookbooks/scratchify/bin/scratchify +1 -1
- data/cookbooks/scratchify/from-scratch.gemspec +1 -0
- data/cookbooks/scratchify/lib/from-scratch.rb +51 -9
- data/cookbooks/scratchify/lib/from-scratch/version.rb +2 -2
- data/cookbooks/scratchify/metadata.json +2 -1
- data/cookbooks/scratchify/spec/from/scratch_spec.rb +62 -5
- data/cookbooks/scratchify/spec/spec_helper.rb +8 -1
- data/cookbooks/scratchify/templates/node.json.erb +28 -7
- data/cookbooks/scratchify/templates/user.json.erb +1 -1
- data/from-scratch.gemspec +1 -0
- data/lib/from-scratch.rb +51 -9
- data/lib/from-scratch/version.rb +2 -2
- data/metadata.rb +1 -0
- data/templates/node.json.erb +28 -7
- data/templates/user.json.erb +1 -1
- metadata +50 -3
@@ -0,0 +1,76 @@
|
|
1
|
+
#
|
2
|
+
# Cookbook Name:: ruby_rbenv
|
3
|
+
# Recipe:: user
|
4
|
+
#
|
5
|
+
# Copyright 2010, 2011 Fletcher Nichol
|
6
|
+
#
|
7
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
8
|
+
# you may not use this file except in compliance with the License.
|
9
|
+
# You may obtain a copy of the License at
|
10
|
+
#
|
11
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
12
|
+
#
|
13
|
+
# Unless required by applicable law or agreed to in writing, software
|
14
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
15
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
16
|
+
# See the License for the specific language governing permissions and
|
17
|
+
# limitations under the License.
|
18
|
+
#
|
19
|
+
|
20
|
+
include_recipe 'ruby_rbenv::user_install'
|
21
|
+
|
22
|
+
Array(node['rbenv']['user_installs']).each do |rbenv_user|
|
23
|
+
plugins = rbenv_user['plugins'] || node['rbenv']['user_plugins']
|
24
|
+
rubies = rbenv_user['rubies'] || node['rbenv']['user_rubies']
|
25
|
+
gem_hash = rbenv_user['gems'] || node['rbenv']['user_gems']
|
26
|
+
|
27
|
+
plugins.each do |plugin|
|
28
|
+
rbenv_plugin plugin['name'] do
|
29
|
+
git_url plugin['git_url']
|
30
|
+
git_ref plugin['git_ref'] if plugin['git_ref']
|
31
|
+
user rbenv_user['user']
|
32
|
+
root_path rbenv_user['root_path'] if rbenv_user['root_path']
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
rubies.each do |rubie|
|
37
|
+
if rubie.is_a?(Hash)
|
38
|
+
rbenv_ruby "#{rubie['name']} (#{rbenv_user['user']})" do
|
39
|
+
definition rubie['name']
|
40
|
+
user rbenv_user['user']
|
41
|
+
root_path rbenv_user['root_path'] if rbenv_user['root_path']
|
42
|
+
environment rubie['environment'] if rubie['environment']
|
43
|
+
patch_url rubie['patch_url'] if rubie['patch_url']
|
44
|
+
patch_file rubie['patch_file'] if rubie['patch_file']
|
45
|
+
end
|
46
|
+
else
|
47
|
+
rbenv_ruby "#{rubie} (#{rbenv_user['user']})" do
|
48
|
+
definition rubie
|
49
|
+
user rbenv_user['user']
|
50
|
+
root_path rbenv_user['root_path'] if rbenv_user['root_path']
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
rbenv_global "#{rbenv_user['global']} (#{rbenv_user['user']})" do
|
56
|
+
rbenv_version rbenv_user['global']
|
57
|
+
user rbenv_user['user']
|
58
|
+
root_path rbenv_user['root_path'] if rbenv_user['root_path']
|
59
|
+
only_if { rbenv_user['global'] }
|
60
|
+
end
|
61
|
+
|
62
|
+
gem_hash.each_pair do |rubie, gems|
|
63
|
+
Array(gems).each do |gem|
|
64
|
+
rbenv_gem "#{gem['name']} (#{rbenv_user['user']})" do
|
65
|
+
package_name gem['name']
|
66
|
+
user rbenv_user['user']
|
67
|
+
root_path rbenv_user['root_path'] if rbenv_user['root_path']
|
68
|
+
rbenv_version rubie
|
69
|
+
|
70
|
+
%w(version action options source).each do |attr|
|
71
|
+
send(attr, gem[attr]) if gem[attr]
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
#
|
2
|
+
# Cookbook Name:: ruby_rbenv
|
3
|
+
# Recipe:: user_install
|
4
|
+
#
|
5
|
+
# Copyright 2011, Fletcher Nichol
|
6
|
+
#
|
7
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
8
|
+
# you may not use this file except in compliance with the License.
|
9
|
+
# You may obtain a copy of the License at
|
10
|
+
#
|
11
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
12
|
+
#
|
13
|
+
# Unless required by applicable law or agreed to in writing, software
|
14
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
15
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
16
|
+
# See the License for the specific language governing permissions and
|
17
|
+
# limitations under the License.
|
18
|
+
#
|
19
|
+
|
20
|
+
include_recipe 'ruby_rbenv'
|
21
|
+
|
22
|
+
install_rbenv_pkg_prereqs
|
23
|
+
|
24
|
+
template '/etc/profile.d/rbenv.sh' do
|
25
|
+
source 'rbenv.sh.erb'
|
26
|
+
owner 'root'
|
27
|
+
mode '0755'
|
28
|
+
only_if { node['rbenv']['create_profiled'] }
|
29
|
+
end
|
30
|
+
|
31
|
+
Array(node['rbenv']['user_installs']).each do |rb_user|
|
32
|
+
upgrade_strategy = build_upgrade_strategy(rb_user['upgrade'])
|
33
|
+
git_url = rb_user['git_url'] || node['rbenv']['git_url']
|
34
|
+
git_ref = rb_user['git_ref'] || node['rbenv']['git_ref']
|
35
|
+
home_dir = rb_user['home'] || ::File.join(
|
36
|
+
node['rbenv']['user_home_root'], rb_user['user'])
|
37
|
+
rbenv_prefix = rb_user['root_path'] || ::File.join(home_dir, '.rbenv')
|
38
|
+
rbenv_plugins = rb_user['plugins'] || []
|
39
|
+
|
40
|
+
install_or_upgrade_rbenv rbenv_prefix: rbenv_prefix,
|
41
|
+
home_dir: home_dir,
|
42
|
+
git_url: git_url,
|
43
|
+
git_ref: git_ref,
|
44
|
+
upgrade_strategy: upgrade_strategy,
|
45
|
+
user: rb_user['user'],
|
46
|
+
group: rb_user['group'],
|
47
|
+
rbenv_plugins: rbenv_plugins
|
48
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
#
|
2
|
+
# Cookbook Name:: ruby_rbenv
|
3
|
+
# Resource:: gem
|
4
|
+
#
|
5
|
+
# Author:: Fletcher Nichol <fnichol@nichol.ca>
|
6
|
+
#
|
7
|
+
# Copyright 2011, Fletcher Nichol
|
8
|
+
#
|
9
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
10
|
+
# you may not use this file except in compliance with the License.
|
11
|
+
# You may obtain a copy of the License at
|
12
|
+
#
|
13
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
14
|
+
#
|
15
|
+
# Unless required by applicable law or agreed to in writing, software
|
16
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
17
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
18
|
+
# See the License for the specific language governing permissions and
|
19
|
+
# limitations under the License.
|
20
|
+
#
|
21
|
+
|
22
|
+
actions :install, :upgrade, :remove, :purge
|
23
|
+
default_action :install
|
24
|
+
|
25
|
+
provides :rbenv_gem
|
26
|
+
|
27
|
+
attribute :package_name, kind_of: String, name_attribute: true
|
28
|
+
attribute :rbenv_version, kind_of: String, default: 'global'
|
29
|
+
attribute :version, kind_of: String
|
30
|
+
attribute :response_file, kind_of: String
|
31
|
+
attribute :source, kind_of: String
|
32
|
+
attribute :options, kind_of: [String, Hash]
|
33
|
+
attribute :gem_binary, kind_of: String
|
34
|
+
attribute :user, kind_of: String
|
35
|
+
attribute :root_path, kind_of: String
|
36
|
+
attribute :clear_sources, kind_of: [TrueClass, FalseClass]
|
37
|
+
attribute :timeout, kind_of: Integer, default: 300
|
38
|
+
|
39
|
+
include Chef::Rbenv::Mixin::ResourceString
|
40
|
+
|
41
|
+
def initialize(*args)
|
42
|
+
super
|
43
|
+
@provider = Chef::Provider::Package::RbenvRubygems
|
44
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
#
|
2
|
+
# Cookbook Name:: ruby_rbenv
|
3
|
+
# Resource:: global
|
4
|
+
#
|
5
|
+
# Author:: Fletcher Nichol <fnichol@nichol.ca>
|
6
|
+
#
|
7
|
+
# Copyright 2011, Fletcher Nichol
|
8
|
+
#
|
9
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
10
|
+
# you may not use this file except in compliance with the License.
|
11
|
+
# You may obtain a copy of the License at
|
12
|
+
#
|
13
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
14
|
+
#
|
15
|
+
# Unless required by applicable law or agreed to in writing, software
|
16
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
17
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
18
|
+
# See the License for the specific language governing permissions and
|
19
|
+
# limitations under the License.
|
20
|
+
#
|
21
|
+
|
22
|
+
actions :create
|
23
|
+
default_action :create
|
24
|
+
|
25
|
+
provides :rbenv_global
|
26
|
+
|
27
|
+
attribute :rbenv_version, kind_of: String, name_attribute: true
|
28
|
+
attribute :user, kind_of: String
|
29
|
+
attribute :root_path, kind_of: String
|
30
|
+
|
31
|
+
def to_s
|
32
|
+
"#{super} (#{@user || 'system'})"
|
33
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
actions :install
|
2
|
+
|
3
|
+
default_action :install
|
4
|
+
|
5
|
+
provides :rbenv_plugin
|
6
|
+
|
7
|
+
attribute :name, kind_of: String, name_attribute: true
|
8
|
+
attribute :git_url, kind_of: String
|
9
|
+
attribute :git_ref, kind_of: String
|
10
|
+
attribute :user, kind_of: String
|
11
|
+
attribute :root_path, kind_of: String
|
12
|
+
|
13
|
+
def to_s
|
14
|
+
"#{super} (#{@user || 'system'})"
|
15
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
#
|
2
|
+
# Cookbook Name:: ruby_rbenv
|
3
|
+
# Resource:: rehash
|
4
|
+
#
|
5
|
+
# Author:: Fletcher Nichol <fnichol@nichol.ca>
|
6
|
+
#
|
7
|
+
# Copyright 2011, Fletcher Nichol
|
8
|
+
#
|
9
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
10
|
+
# you may not use this file except in compliance with the License.
|
11
|
+
# You may obtain a copy of the License at
|
12
|
+
#
|
13
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
14
|
+
#
|
15
|
+
# Unless required by applicable law or agreed to in writing, software
|
16
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
17
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
18
|
+
# See the License for the specific language governing permissions and
|
19
|
+
# limitations under the License.
|
20
|
+
#
|
21
|
+
|
22
|
+
actions :run
|
23
|
+
default_action :run
|
24
|
+
|
25
|
+
provides :rbenv_rehash
|
26
|
+
|
27
|
+
attribute :name, kind_of: String, name_attribute: true
|
28
|
+
attribute :user, kind_of: String
|
29
|
+
attribute :root_path, kind_of: String
|
@@ -0,0 +1,43 @@
|
|
1
|
+
#
|
2
|
+
# Cookbook Name:: ruby_rbenv
|
3
|
+
# Resource:: ruby
|
4
|
+
#
|
5
|
+
# Author:: Fletcher Nichol <fnichol@nichol.ca>
|
6
|
+
#
|
7
|
+
# Copyright 2011, Fletcher Nichol
|
8
|
+
#
|
9
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
10
|
+
# you may not use this file except in compliance with the License.
|
11
|
+
# You may obtain a copy of the License at
|
12
|
+
#
|
13
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
14
|
+
#
|
15
|
+
# Unless required by applicable law or agreed to in writing, software
|
16
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
17
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
18
|
+
# See the License for the specific language governing permissions and
|
19
|
+
# limitations under the License.
|
20
|
+
#
|
21
|
+
|
22
|
+
actions :install, :reinstall
|
23
|
+
default_action :install
|
24
|
+
|
25
|
+
provides :rbenv_ruby
|
26
|
+
|
27
|
+
attribute :definition, kind_of: String, name_attribute: true
|
28
|
+
attribute :definition_file, kind_of: String
|
29
|
+
attribute :root_path, kind_of: String
|
30
|
+
attribute :user, kind_of: String
|
31
|
+
attribute :environment, kind_of: Hash
|
32
|
+
attribute :patch_url, kind_of: String
|
33
|
+
attribute :patch_file, kind_of: String
|
34
|
+
attribute :rbenv_action, kind_of: String, default: 'install'
|
35
|
+
|
36
|
+
def initialize(*args)
|
37
|
+
super
|
38
|
+
@rbenv_version = @definition
|
39
|
+
end
|
40
|
+
|
41
|
+
def to_s
|
42
|
+
"#{super} (#{@user || 'system'})"
|
43
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
#
|
2
|
+
# Cookbook Name:: ruby_rbenv
|
3
|
+
# Resource:: script
|
4
|
+
#
|
5
|
+
# Author:: Fletcher Nichol <fnichol@nichol.ca>
|
6
|
+
#
|
7
|
+
# Copyright 2011, Fletcher Nichol
|
8
|
+
#
|
9
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
10
|
+
# you may not use this file except in compliance with the License.
|
11
|
+
# You may obtain a copy of the License at
|
12
|
+
#
|
13
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
14
|
+
#
|
15
|
+
# Unless required by applicable law or agreed to in writing, software
|
16
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
17
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
18
|
+
# See the License for the specific language governing permissions and
|
19
|
+
# limitations under the License.
|
20
|
+
#
|
21
|
+
|
22
|
+
actions :run
|
23
|
+
default_action :run
|
24
|
+
|
25
|
+
provides :rbenv_script
|
26
|
+
|
27
|
+
attribute :name, kind_of: String, name_attribute: true
|
28
|
+
attribute :rbenv_version, kind_of: String
|
29
|
+
attribute :root_path, kind_of: String
|
30
|
+
attribute :code, kind_of: String
|
31
|
+
attribute :creates, kind_of: String
|
32
|
+
attribute :cwd, kind_of: String
|
33
|
+
attribute :environment, kind_of: Hash
|
34
|
+
attribute :group, kind_of: String
|
35
|
+
attribute :path, kind_of: Array
|
36
|
+
attribute :returns, kind_of: Array, default: [0]
|
37
|
+
attribute :timeout, kind_of: Integer
|
38
|
+
attribute :user, kind_of: String
|
39
|
+
attribute :umask, kind_of: [String, Integer]
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# Generated by Chef for <%= node['fqdn'] %>
|
2
|
+
# Local modifications will be overridden
|
3
|
+
|
4
|
+
# prefer a user rbenv over a system wide install
|
5
|
+
if [ -s "${HOME}/.rbenv/bin" ]; then
|
6
|
+
rbenv_root="${HOME}/.rbenv"
|
7
|
+
elif [ -s "<%= node['rbenv']['root_path'] %>" ]; then
|
8
|
+
rbenv_root="<%= node['rbenv']['root_path'] %>"
|
9
|
+
export RBENV_ROOT="$rbenv_root"
|
10
|
+
fi
|
11
|
+
|
12
|
+
if [ -n "$rbenv_root" ]; then
|
13
|
+
export PATH="${rbenv_root}/bin:$PATH"
|
14
|
+
eval "$(rbenv init -)"
|
15
|
+
fi
|
@@ -9,10 +9,4 @@ cookbook 'user'
|
|
9
9
|
cookbook 'rvm', github: 'martinisoft/chef-rvm'
|
10
10
|
cookbook 'postgresql', github: 'sandrew/postgresql', branch: 'develop'
|
11
11
|
cookbook 'nginx'
|
12
|
-
|
13
|
-
# cookbook 'dpkg_packages', git: "https://gitlab.acid.cl/acidlabs/chef-dpkg-packages.git"
|
14
|
-
# cookbook 'nginx', git: "https://gitlab.acid.cl/acidlabs/chef-nginx.git"
|
15
|
-
# cookbook 'postgresql', git: "https://github.com/phlipper/chef-postgresql.git"
|
16
|
-
# cookbook 'rvm'
|
17
|
-
# cookbook 'ssh-hardening'
|
18
|
-
# cookbook 'sudo'
|
12
|
+
cookbook 'ruby_rbenv'
|
@@ -4,6 +4,7 @@ DEPENDENCIES
|
|
4
4
|
git: git://github.com/sandrew/postgresql.git
|
5
5
|
revision: a1f3ce3e2e22515bc175011a3e3faa0af98dd8db
|
6
6
|
branch: develop
|
7
|
+
ruby_rbenv
|
7
8
|
rvm
|
8
9
|
git: git://github.com/martinisoft/chef-rvm.git
|
9
10
|
revision: 08ec265f277e112a5a2e4b201bd32ddfe1bb968c
|
@@ -36,6 +37,10 @@ GRAPH
|
|
36
37
|
build-essential (>= 0.0.0)
|
37
38
|
openssl (~> 4.0)
|
38
39
|
rsyslog (2.2.0)
|
40
|
+
ruby_build (0.8.0)
|
41
|
+
ruby_rbenv (1.0.1)
|
42
|
+
java (> 1.4.0)
|
43
|
+
ruby_build (>= 0.0.0)
|
39
44
|
runit (1.7.4)
|
40
45
|
packagecloud (>= 0.0.0)
|
41
46
|
rvm (0.10.1)
|
@@ -44,6 +49,7 @@ GRAPH
|
|
44
49
|
scratchify (0.1.0)
|
45
50
|
nginx (>= 0.0.0)
|
46
51
|
postgresql (>= 0.0.0)
|
52
|
+
ruby_rbenv (>= 0.0.0)
|
47
53
|
rvm (>= 0.0.0)
|
48
54
|
user (>= 0.0.0)
|
49
55
|
user (0.4.2)
|
@@ -23,11 +23,16 @@ OS:
|
|
23
23
|
- APT-based Linux (Ubuntu, Debian)
|
24
24
|
- YUM-based Linux (RedHat, CentOS)
|
25
25
|
|
26
|
+
Ruby installers:
|
27
|
+
|
28
|
+
- RVM (default)
|
29
|
+
- rbenv: `scratchify your_app_name your.host.com --rbenv`
|
30
|
+
|
26
31
|
## It's a kind of magic!
|
27
32
|
|
28
33
|
Not actully. Just preconfigured [Chef](https://www.chef.io/). Here are the things done with the command:
|
29
34
|
|
30
|
-
- Install
|
35
|
+
- Install user-wide RVM with latest MRI (2.2.3)
|
31
36
|
- Install PostgreSQL, create database with user, pg_tune a little
|
32
37
|
- Add _deploy_ non-admin user to system specially for your app, upload your SSH pub key to it
|
33
38
|
- Install nginx and replace it's default site config with one prepared for rails app
|
@@ -46,11 +51,11 @@ Both `postgres` and `your_app_name` DB users get (different) randomly generated
|
|
46
51
|
|
47
52
|
## Development
|
48
53
|
|
49
|
-
|
54
|
+
Feel free to create bug-reports and feature-requests here on [Issues page](https://github.com/sandrew/from-scratch/issues)
|
50
55
|
|
51
56
|
## Contributing
|
52
57
|
|
53
|
-
|
58
|
+
All help is highly appreciated. I'll be thankful for recipes fixes and advices as well as new features implementations. Just fork and pull-request when you have some proposals.
|
54
59
|
|
55
60
|
## License
|
56
61
|
|
@@ -21,6 +21,7 @@ Gem::Specification.new do |spec|
|
|
21
21
|
spec.add_development_dependency "bundler", "~> 1.10"
|
22
22
|
spec.add_development_dependency "rake", "~> 10.0"
|
23
23
|
spec.add_development_dependency 'rspec', "~> 3.3"
|
24
|
+
spec.add_development_dependency 'rspec-its'
|
24
25
|
spec.add_development_dependency 'pry', "~> 0.10"
|
25
26
|
|
26
27
|
spec.add_dependency 'knife-solo'
|