salted-rails 0.0.4 → 0.0.5

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.
Files changed (60) hide show
  1. data/README.md +65 -20
  2. data/init.sh +64 -0
  3. data/lib/salted-rails.rb +4 -6
  4. data/lib/salted-rails/capistrano_helper.rb +106 -0
  5. data/lib/salted-rails/cloud_vbguest_installer.rb +14 -0
  6. data/lib/salted-rails/config.rb +212 -0
  7. data/lib/salted-rails/helper_base.rb +90 -0
  8. data/lib/salted-rails/vagrant_helper.rb +159 -0
  9. data/lib/salted-rails/version.rb +3 -0
  10. data/lib/salted_rails_base.rb +6 -0
  11. data/pillar/capistrano/top.sls +1 -1
  12. data/pillar/common.sls +5 -0
  13. data/pillar/vagrant/top.sls +1 -1
  14. data/salt/bin/change_mirror.sh +29 -20
  15. data/salt/bin/fix_hostname.sh +6 -0
  16. data/salt/bin/provision +37 -0
  17. data/salt/capistrano/deploy_requirements.sls +5 -0
  18. data/salt/capistrano/minion +8 -4
  19. data/salt/capistrano/top.sls +1 -5
  20. data/salt/ci/cruisecontrolrb.sls +72 -0
  21. data/salt/ci/teamcity/etc/init.d/teamcity +17 -0
  22. data/salt/ci/teamcity/init.sls +58 -0
  23. data/salt/databases/client.sls +18 -0
  24. data/salt/{common.sls → databases/init.sls} +1 -16
  25. data/salt/databases/phpmyadmin/etc/nginx/{sites-available → admin.d}/phpmyadmin.conf +1 -1
  26. data/salt/databases/phpmyadmin/init.sls +2 -11
  27. data/salt/databases/server.sls +19 -0
  28. data/salt/editors/gvim.sls +5 -0
  29. data/salt/editors/rubymine.sls +51 -0
  30. data/salt/gui/init.sls +3 -0
  31. data/salt/gui/lxde.sls +5 -0
  32. data/salt/gui/x2go.sls +23 -0
  33. data/salt/lang/java/etc/profile.d/java.sh +2 -0
  34. data/salt/lang/java/init.sls +48 -0
  35. data/salt/lang/php/composer.sls +0 -3
  36. data/salt/lang/ruby.sls +3 -3
  37. data/salt/lang/ruby.sls.bak +3 -3
  38. data/salt/railsapp/gems.sls +16 -3
  39. data/salt/railsapp/init.sls +1 -0
  40. data/salt/railsapp/mysql_database.sls +11 -6
  41. data/salt/salt/minion/init.sls +19 -18
  42. data/salt/vagrant/minion +8 -4
  43. data/salt/vagrant/minion.sls +4 -5
  44. data/salt/vagrant/top.sls +32 -6
  45. data/salt/www/admin/etc/nginx/nginx.conf +53 -0
  46. data/salt/{databases/phpmyadmin → www/admin}/etc/nginx/sites-available/.gitignore +0 -0
  47. data/salt/www/admin/etc/nginx/sites-available/phpmyadmin.conf +7 -0
  48. data/salt/www/admin/init.sls +31 -0
  49. data/salt/www/nginx/init.sls +17 -4
  50. data/salt/www/users.sls +4 -0
  51. data/salted-rails.gemspec +1 -1
  52. metadata +30 -13
  53. data/lib/salted_rails/capistrano.rb +0 -8
  54. data/lib/salted_rails/vagrant_helper.rb +0 -169
  55. data/lib/salted_rails/version.rb +0 -5
  56. data/salt/capistrano.sls +0 -0
  57. data/salt/develop/init.sls +0 -3
  58. data/salt/echo_pillar.sls +0 -9
  59. data/salt/run-standalone +0 -3
  60. data/salt/vagrant.sls +0 -0
@@ -17,7 +17,7 @@ restart_minion:
17
17
  - order: last
18
18
  - watch:
19
19
  - pkg: salt-minion
20
- - file: /etc/salt/minion
20
+ #- file: /etc/salt/minion
21
21
  - file: /etc/salt/minion.d
22
22
  - require:
23
23
  - pkg: at
@@ -30,20 +30,21 @@ salt-minion:
30
30
  - names:
31
31
  - salt-minion
32
32
  - at
33
- file.managed:
34
- - name: /etc/salt/minion
35
- - owner: root
36
- - group: root
37
- - mode: 0644
38
- - source: salt://salt/minion/config.template
39
- - template: jinja
40
- - context:
41
- master: salt
42
- file_roots:
43
- base:
44
- - /srv/salt/private
45
- - /srv/salt/base
46
- pillar_roots:
47
- base:
48
- - /srv/salt/private/pillar
49
- - /srv/salt/base/pillar
33
+ # Don't want to override minion copied in by vagrant!
34
+ # file.managed:
35
+ # - name: /etc/salt/minion
36
+ # - owner: root
37
+ # - group: root
38
+ # - mode: 0644
39
+ # - source: salt://salt/minion/config.template
40
+ # - template: jinja
41
+ # - context:
42
+ # master: salt
43
+ # file_roots:
44
+ # base:
45
+ # - /srv/salt/private
46
+ # - /srv/salt/base
47
+ # pillar_roots:
48
+ # base:
49
+ # - /srv/salt/private/pillar
50
+ # - /srv/salt/base/pillar
data/salt/vagrant/minion CHANGED
@@ -5,10 +5,14 @@ state_auto_order: True
5
5
 
6
6
  file_roots:
7
7
  base:
8
- - /srv/salt/vagrant
9
- - /srv/salt
8
+ - /srv/salt/config/vagrant
9
+ - /srv/salt/salted-rails/vagrant
10
+ - /srv/salt/salted-rails
11
+ - /srv/salt/generated
10
12
 
11
13
  pillar_roots:
12
14
  base:
13
- - /srv/pillar/vagrant
14
- - /srv/pillar
15
+ - /srv/pillar/config/vagrant
16
+ - /srv/pillar/salted-rails/vagrant
17
+ - /srv/pillar/salted-rails
18
+ - /srv/pillar/generated
@@ -1,6 +1,5 @@
1
1
  minion:
2
- file:
3
- - source: salt://vagrant/minion
4
- - name: /etc/salt/minion
5
- - mode: 644
6
-
2
+ file.provision:
3
+ - source: salt://vagrant/minion
4
+ - name: /etc/salt/minion
5
+ - mode: 644
data/salt/vagrant/top.sls CHANGED
@@ -1,8 +1,34 @@
1
1
  base:
2
2
  '*':
3
- - common
4
- - vagrant
5
-
6
- # if GUI:
7
- # www.chromium
8
-
3
+ - apt.partner-sources
4
+ - vagrant.minion
5
+ - apt.unwanted
6
+ - www.users
7
+ - sysutils
8
+ - capistrano/deploy_requirements
9
+ - editors.vim
10
+ - sysutils.tmux
11
+ {%- if 'app' in pillar['roles'] %}
12
+ - databases.client
13
+ - lang.ruby
14
+ - railsapp
15
+ {%- endif %}
16
+ {%- if 'web' in pillar['roles'] %}
17
+ - www.nginx
18
+ {%- endif %}
19
+ {%- if 'db' in pillar['roles'] %}
20
+ - databases
21
+ {%- endif %}
22
+ {%- if 'gui' in pillar['roles'] %}
23
+ - gui.lxde
24
+ - gui.x2go
25
+ - editors.gvim
26
+ - editors.rubymine
27
+ - www.chromium
28
+ {%- endif %}
29
+ {%- if 'teamcity' in pillar['roles'] %}
30
+ - ci.teamcity
31
+ {%- endif %}
32
+ {%- if 'cruisecontrolrb' in pillar['roles'] %}
33
+ - ci.cruisecontrolrb
34
+ {%- endif %}
@@ -0,0 +1,53 @@
1
+ user www-data www-data;
2
+ worker_processes 4;
3
+ pid /var/run/nginx.pid;
4
+
5
+ events {
6
+ worker_connections 768;
7
+ # multi_accept on;
8
+ }
9
+
10
+ http {
11
+ sendfile on;
12
+ tcp_nopush on;
13
+ tcp_nodelay on;
14
+ types_hash_max_size 2048;
15
+ server_tokens off;
16
+
17
+ # Headers
18
+ add_header X-Server-ID $hostname;
19
+
20
+ # Size Limits & Buffer Overflows
21
+ # One of the most important things to tweak
22
+ client_body_buffer_size 128k;
23
+ client_header_buffer_size 1k;
24
+ client_max_body_size 20m;
25
+ large_client_header_buffers 4 16k;
26
+
27
+ # Timeouts
28
+ client_body_timeout 10;
29
+ client_header_timeout 20;
30
+ keepalive_timeout 15 15;
31
+ send_timeout 10;
32
+
33
+ # SSL settings
34
+ ssl_session_cache shared:SSL:10m;
35
+ ssl_session_timeout 10m;
36
+
37
+ # server_names_hash_bucket_size 64;
38
+ # server_name_in_redirect off;
39
+
40
+ ##
41
+ # Gzip Settings
42
+ ##
43
+
44
+ gzip on;
45
+ gzip_disable "msie6";
46
+
47
+ include mime.types;
48
+ default_type application/octet-stream;
49
+
50
+ # include /etc/nginx/naxsi_core.rules;
51
+ include conf.d/*.autoload.conf;
52
+ include sites-enabled/*.conf;
53
+ }
@@ -0,0 +1,7 @@
1
+ server {
2
+ listen 880;
3
+ server_name admin.artabase.test;
4
+ client_max_body_size 20M;
5
+
6
+ include /etc/nginx/admin.d/*.conf;
7
+ }
@@ -0,0 +1,31 @@
1
+ nginx:
2
+ pkg.installed:
3
+ - name: nginx-full
4
+ service:
5
+ - running
6
+ - enable: True
7
+ - reload: True
8
+ - watch:
9
+ #- file: {{ pillar['etc_dir'] }}nginx/nginx.conf
10
+ #- file: {{ pillar['etc_dir'] }}nginx/sites-enabled/*
11
+ - file: {{ pillar['etc_dir'] }}nginx/*
12
+ require:
13
+ - file: {{ pillar['etc_dir'] }}nginx/nginx.conf
14
+
15
+ admin-site:
16
+ file.managed:
17
+ - source: salt://www/nginx/etc/nginx/admin.d/phpmyadmin.conf
18
+ - name: {{ pillar['etc_dir'] }}nginx/admin.d/phpmyadmin.conf
19
+ - user: root
20
+ - group: root
21
+ - template: jinja
22
+ - mode: 644
23
+
24
+ admin_conf:
25
+
26
+ #{{ pillar['etc_dir'] }}nginx/nginx.conf:
27
+ # file.managed:
28
+ # - source: salt://www/nginx/etc/nginx/nginx.conf
29
+ # - user: root
30
+ # - group: root
31
+ # - mode: 644
@@ -5,12 +5,25 @@ nginx:
5
5
  - running
6
6
  - enable: True
7
7
  - reload: True
8
- - watch:
8
+ #- watch:
9
9
  #- file: {{ pillar['etc_dir'] }}nginx/nginx.conf
10
10
  #- file: {{ pillar['etc_dir'] }}nginx/sites-enabled/*
11
- - file: {{ pillar['etc_dir'] }}nginx/*
12
- require:
13
- - file: {{ pillar['etc_dir'] }}nginx/nginx.conf
11
+ #- file: {{ pillar['etc_dir'] }}nginx/admin.d/*
12
+ - require:
13
+ - file.directory: admin-d
14
+ - pkg: nginx
15
+
16
+ admin-d:
17
+ file.directory:
18
+ - name: {{ pillar['etc_dir'] }}nginx/admin.d
19
+ - user: root
20
+ - group: root
21
+ - mode: 755
22
+ - require:
23
+ - pkg: nginx
24
+
25
+ # require:
26
+ # - file: {{ pillar['etc_dir'] }}nginx/nginx.conf
14
27
 
15
28
  #{{ pillar['etc_dir'] }}nginx/nginx.conf:
16
29
  # file.managed:
data/salt/www/users.sls CHANGED
@@ -6,7 +6,11 @@
6
6
  - makedirs: True
7
7
  - require:
8
8
  - group: www-data
9
+ - user: www-data
9
10
 
10
11
  www-data:
11
12
  group.present:
12
13
  - system: True
14
+ user.present:
15
+ - system: True
16
+
data/salted-rails.gemspec CHANGED
@@ -1,7 +1,7 @@
1
1
  # coding: utf-8
2
2
  lib = File.expand_path('../lib', __FILE__)
3
3
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require 'salted_rails/version'
4
+ require 'salted-rails/version'
5
5
 
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = "salted-rails"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: salted-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-09-29 00:00:00.000000000 Z
12
+ date: 2013-10-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -55,10 +55,14 @@ files:
55
55
  - LICENSE
56
56
  - README.md
57
57
  - Rakefile
58
+ - init.sh
58
59
  - lib/salted-rails.rb
59
- - lib/salted_rails/capistrano.rb
60
- - lib/salted_rails/vagrant_helper.rb
61
- - lib/salted_rails/version.rb
60
+ - lib/salted-rails/capistrano_helper.rb
61
+ - lib/salted-rails/cloud_vbguest_installer.rb
62
+ - lib/salted-rails/config.rb
63
+ - lib/salted-rails/helper_base.rb
64
+ - lib/salted-rails/vagrant_helper.rb
65
+ - lib/salted-rails/version.rb
62
66
  - lib/salted_rails_base.rb
63
67
  - pillar/capistrano.sls
64
68
  - pillar/capistrano/top.sls
@@ -68,12 +72,18 @@ files:
68
72
  - salt/apt/partner-sources.sls
69
73
  - salt/apt/unwanted.sls
70
74
  - salt/bin/change_mirror.sh
71
- - salt/capistrano.sls
75
+ - salt/bin/fix_hostname.sh
76
+ - salt/bin/provision
77
+ - salt/capistrano/deploy_requirements.sls
72
78
  - salt/capistrano/minion
73
79
  - salt/capistrano/minion.sls
74
80
  - salt/capistrano/top.sls
75
- - salt/common.sls
81
+ - salt/ci/cruisecontrolrb.sls
82
+ - salt/ci/teamcity/etc/init.d/teamcity
83
+ - salt/ci/teamcity/init.sls
76
84
  - salt/crons/init.sls
85
+ - salt/databases/client.sls
86
+ - salt/databases/init.sls
77
87
  - salt/databases/mysql/client-encoding-and-collation.cnf
78
88
  - salt/databases/mysql/client.sls
79
89
  - salt/databases/mysql/common.sls
@@ -84,13 +94,18 @@ files:
84
94
  - salt/databases/mysql/init.sls
85
95
  - salt/databases/mysql/server-encoding-and-collation.cnf
86
96
  - salt/databases/mysql/server.sls
87
- - salt/databases/phpmyadmin/etc/nginx/sites-available/.gitignore
88
- - salt/databases/phpmyadmin/etc/nginx/sites-available/phpmyadmin.conf
97
+ - salt/databases/phpmyadmin/etc/nginx/admin.d/phpmyadmin.conf
89
98
  - salt/databases/phpmyadmin/init.sls
90
- - salt/develop/init.sls
91
- - salt/echo_pillar.sls
99
+ - salt/databases/server.sls
100
+ - salt/editors/gvim.sls
101
+ - salt/editors/rubymine.sls
92
102
  - salt/editors/vim/init.sls
93
103
  - salt/editors/vim/vimrc
104
+ - salt/gui/init.sls
105
+ - salt/gui/lxde.sls
106
+ - salt/gui/x2go.sls
107
+ - salt/lang/java/etc/profile.d/java.sh
108
+ - salt/lang/java/init.sls
94
109
  - salt/lang/php/composer.sls
95
110
  - salt/lang/php/etc/php5/fpm/php.fpm.ini
96
111
  - salt/lang/php/etc/php5/fpm/pool.d/www.conf
@@ -120,7 +135,6 @@ files:
120
135
  - salt/railsapp/init.sls
121
136
  - salt/railsapp/mysql_database.sls
122
137
  - salt/railsapp/packages.sls
123
- - salt/run-standalone
124
138
  - salt/salt/minion/config.template
125
139
  - salt/salt/minion/debconf.sls
126
140
  - salt/salt/minion/init.sls
@@ -135,10 +149,13 @@ files:
135
149
  - salt/sysutils/net.sls
136
150
  - salt/sysutils/status.sls
137
151
  - salt/sysutils/tmux.sls
138
- - salt/vagrant.sls
139
152
  - salt/vagrant/minion
140
153
  - salt/vagrant/minion.sls
141
154
  - salt/vagrant/top.sls
155
+ - salt/www/admin/etc/nginx/nginx.conf
156
+ - salt/www/admin/etc/nginx/sites-available/.gitignore
157
+ - salt/www/admin/etc/nginx/sites-available/phpmyadmin.conf
158
+ - salt/www/admin/init.sls
142
159
  - salt/www/chromium.sls
143
160
  - salt/www/nginx/etc/nginx/nginx.conf
144
161
  - salt/www/nginx/init.sls
@@ -1,8 +0,0 @@
1
- require "salted_rails_base"
2
-
3
- class SaltedRails < SaltedRailsBase
4
- class Capistrano
5
-
6
- end
7
- end
8
-
@@ -1,169 +0,0 @@
1
- # -*- mode: ruby -*-
2
- # vi: set ft=ruby :
3
- #
4
-
5
- require 'erb'
6
- require 'yaml'
7
- require 'fileutils'
8
- require "salted_rails_base"
9
-
10
- class SaltedRails < SaltedRailsBase
11
- class VagrantHelper
12
-
13
- def initialize(rails_root, debug = false)
14
- @logger = if debug
15
- self
16
- end
17
-
18
- @rails_root = rails_root
19
- @rails_root += '/' unless @rails_root =~ /\/$/
20
-
21
- @gem_root = File.dirname(__FILE__) + '/../../'
22
-
23
- @logger.info "RAILS_ROOT = #{@rails_root}" if @logger
24
-
25
- end
26
-
27
- def configure_vagrant(config)
28
- config.vm.box = 'UbuntuCloud_12.04_32bit'
29
- config.vm.box_url = 'http://cloud-images.ubuntu.com/precise/current/precise-server-cloudimg-vagrant-i386-disk1.box'
30
- end
31
-
32
- def configure_ubuntu_mirror(config, mirror = 'mirror://mirrors.ubuntu.com/mirrors.txt')
33
- config.vm.provision "shell" do |s|
34
- s.path = @gem_root + 'salt/bin/change_mirror.sh'
35
- s.args = "'#{mirror}'"
36
- end
37
- end
38
-
39
- def configure_digital_ocean(config, private_key_path = '~/.ssh/id_rsa', disable_vagrant_sync = true)
40
- @logger.info 'Configuring digital ocean provider' if @logger
41
- config.vm.provider :digital_ocean do |provider, override|
42
- override.ssh.username = 'vagrant'
43
- override.vm.box = 'digital_ocean'
44
- override.vm.box_url = 'https://github.com/smdahlen/vagrant-digitalocean/raw/master/box/digital_ocean.box'
45
- provider.image = 'Ubuntu 12.04 x32'
46
- provider.region = 'San Francisco 1'
47
- provider.ca_path = '/etc/ssl/certs/ca-certificates.crt' if File.exist?('/etc/ssl/certs/ca-certificates.crt')
48
- override.vm.synced_folder '.', '/vagrant', :disabled => true if disable_vagrant_sync
49
- override.ssh.private_key_path = private_key_path
50
- @private_key_name = 'Vagrant ' + private_key_path.sub(/~\//, '').sub(/\.ssh\//, '').sub(/^id_/, '').gsub(/\W+/, ' ')
51
- provider.ssh_key_name = @private_key_name if @private_key_name
52
- override.ssh.forward_agent = true
53
- end
54
- end
55
-
56
- def configure_salt(config)
57
- pillarize_application_configuration
58
- config.vm.synced_folder salt_root + 'salt/', '/srv/salt/'
59
- config.vm.synced_folder salt_root + 'pillar/', '/srv/pillar/'
60
- # Bootstrap salt
61
- ## config.vm.provision :shell, :inline => 'salt-call --version || wget -O - http://bootstrap.saltstack.org | sudo sh'
62
- # Provisioning #2: masterless highstate call
63
- config.vm.provision :salt do |salt|
64
- @logger.info 'Configuring salt provisioner' if @logger
65
- salt.minion_config = salt_root + 'salt/vagrant/minion'
66
- salt.run_highstate = true
67
- salt.verbose = true
68
- end
69
- end
70
-
71
- def configure_ports(vm_config)
72
- vm_config.vm.network :forwarded_port, :guest => 3000, :host => 3000, auto_correct: true
73
- [ 80, 443 ].each do |port|
74
- vm_config.vm.network :forwarded_port, :guest => port, :host => 3000+port, auto_correct: true
75
- end
76
- end
77
-
78
- def configure_gui(vm_config)
79
- vm_config.vm.boot_mode == :gui
80
- vm_config.vm.provision :salt do |salt|
81
- salt.minion_config = salt_root + 'salt/vagrant/gui_minion'
82
- end
83
- end
84
-
85
- def info(msg)
86
- puts msg
87
- end
88
-
89
- private
90
-
91
- def salt_root
92
- @salt_root ||= @rails_root + (File.directory?(@rails_root + 'salt/salt') ? 'salt/' : 'tmp/')
93
- end
94
-
95
- # Add ruby version and gemfiles
96
-
97
- def pillarize_application_configuration
98
- salt_dir = @rails_root + 'salt/salt/'
99
- pillar_dir = @rails_root + 'salt/pillar/'
100
- copy_in_tmp = ! File.directory?(salt_dir)
101
- if copy_in_tmp
102
- salt_dir = @rails_root + 'tmp/salt/'
103
- pillar_dir = @rails_root + 'tmp/pillar/'
104
- end
105
- copy_all = ! File.directory?(salt_dir)
106
-
107
- pillar_app_file = pillar_dir + 'application.sls'
108
- version_file = @rails_root + '.ruby-version'
109
- database_file = @rails_root + 'config/database.yml'
110
- gemfile = @rails_root + 'Gemfile'
111
-
112
- rails_config_changed = ! (File.exist?(pillar_app_file) and File.directory?(salt_dir))
113
- rails_config_changed ||= (File.mtime(__FILE__) > File.mtime(pillar_app_file))
114
- files = [ version_file, database_file, gemfile ]
115
- files <<= "#{gemfile}.lock" if File.exist? "#{gemfile}.lock"
116
- files.each do |f|
117
- rails_config_changed ||= (File.mtime(f) > File.mtime(pillar_app_file))
118
- end
119
- copy_all ||= rails_config_changed if copy_in_tmp
120
-
121
- if copy_all
122
- @logger.info "Copying default rules to tmp/salt and tmp/pillar" if @logger
123
- FileUtils.rm_rf(pillar_dir)
124
- FileUtils.rm_rf(salt_dir)
125
- FileUtils.mkdir_p(pillar_dir)
126
- FileUtils.mkdir_p(salt_dir)
127
-
128
- FileUtils.cp_r(@gem_root + 'pillar/.', pillar_dir)
129
- FileUtils.cp_r(@gem_root + 'salt/.', salt_dir)
130
- else
131
- @logger.info 'skipped creation of salt and pillar (up to date)' if @logger
132
- end
133
-
134
- if rails_config_changed
135
- dest = salt_dir + "railsapp/files"
136
- FileUtils.mkdir_p dest
137
- files.each do |file|
138
- @logger.info "Copying #{file} to #{dest}" if @logger
139
- FileUtils.cp(file, dest)
140
- end
141
-
142
- File.open(pillar_app_file, 'w') do |f_out|
143
- ENV['VAGRANT_MACHINE'] = 'true'
144
- database_conf = YAML.load(ERB.new(IO.read(database_file)).result)
145
- ruby_version = File.open(version_file, 'r') do |f_in|
146
- f_in.gets.gsub(/\s/,'')
147
- end
148
- app_config = {
149
- 'database' => database_conf,
150
- 'ruby-version' => ruby_version,
151
- 'gems' => { }
152
- }
153
- database_conf.each do |key, details|
154
- app_config['gems'][details['adapter']] = true
155
- end
156
- File.foreach(gemfile) do |line|
157
- app_config['gems'][$1] = true if (line =~ /^\s*gem\s*['"]([^'"]+)/)
158
- end
159
- f_out.puts app_config.to_yaml
160
- end
161
- else
162
- @logger.info 'skipped configuration of salt and pillar (up to date)' if @logger
163
- end
164
-
165
- end
166
-
167
- end
168
-
169
- end