elzar 0.0.1 → 0.0.2

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 (150) hide show
  1. data/CHANGELOG.md +6 -0
  2. data/README.md +3 -0
  3. data/Rakefile +7 -0
  4. data/{.chef → chef/.chef}/knife.rb +0 -0
  5. data/{cookbooks → chef/cookbooks}/.gitkeep +0 -0
  6. data/{cookbooks → chef/cookbooks}/apt/README.md +0 -0
  7. data/{cookbooks → chef/cookbooks}/apt/files/default/apt-cacher +0 -0
  8. data/{cookbooks → chef/cookbooks}/apt/files/default/apt-cacher.conf +0 -0
  9. data/{cookbooks → chef/cookbooks}/apt/files/default/apt-proxy-v2.conf +0 -0
  10. data/{cookbooks → chef/cookbooks}/apt/metadata.rb +0 -0
  11. data/{cookbooks → chef/cookbooks}/apt/providers/repository.rb +0 -0
  12. data/{cookbooks → chef/cookbooks}/apt/recipes/cacher-client.rb +0 -0
  13. data/{cookbooks → chef/cookbooks}/apt/recipes/cacher.rb +0 -0
  14. data/{cookbooks → chef/cookbooks}/apt/recipes/default.rb +0 -0
  15. data/{cookbooks → chef/cookbooks}/apt/resources/repository.rb +0 -0
  16. data/{cookbooks → chef/cookbooks}/build-essential/README.md +0 -0
  17. data/{cookbooks → chef/cookbooks}/build-essential/metadata.rb +0 -0
  18. data/{cookbooks → chef/cookbooks}/build-essential/recipes/default.rb +0 -0
  19. data/{cookbooks → chef/cookbooks}/database/README.md +0 -0
  20. data/{cookbooks → chef/cookbooks}/database/libraries/provider_database_mysql.rb +0 -0
  21. data/{cookbooks → chef/cookbooks}/database/libraries/provider_database_mysql_user.rb +0 -0
  22. data/{cookbooks → chef/cookbooks}/database/libraries/provider_database_postgresql.rb +0 -0
  23. data/{cookbooks → chef/cookbooks}/database/libraries/provider_database_postgresql_user.rb +0 -0
  24. data/{cookbooks → chef/cookbooks}/database/libraries/provider_database_sql_server.rb +0 -0
  25. data/{cookbooks → chef/cookbooks}/database/libraries/provider_database_sql_server_user.rb +0 -0
  26. data/{cookbooks → chef/cookbooks}/database/libraries/resource_database.rb +0 -0
  27. data/{cookbooks → chef/cookbooks}/database/libraries/resource_database_user.rb +0 -0
  28. data/{cookbooks → chef/cookbooks}/database/libraries/resource_mysql_database.rb +0 -0
  29. data/{cookbooks → chef/cookbooks}/database/libraries/resource_mysql_database_user.rb +0 -0
  30. data/{cookbooks → chef/cookbooks}/database/libraries/resource_postgresql_database.rb +0 -0
  31. data/{cookbooks → chef/cookbooks}/database/libraries/resource_postgresql_database_user.rb +0 -0
  32. data/{cookbooks → chef/cookbooks}/database/libraries/resource_sql_server_database.rb +0 -0
  33. data/{cookbooks → chef/cookbooks}/database/libraries/resource_sql_server_database_user.rb +0 -0
  34. data/{cookbooks → chef/cookbooks}/database/metadata.rb +0 -0
  35. data/{cookbooks → chef/cookbooks}/database/recipes/default.rb +0 -0
  36. data/{cookbooks → chef/cookbooks}/database/recipes/ebs_backup.rb +0 -0
  37. data/{cookbooks → chef/cookbooks}/database/recipes/ebs_volume.rb +0 -0
  38. data/{cookbooks → chef/cookbooks}/database/recipes/master.rb +0 -0
  39. data/{cookbooks → chef/cookbooks}/database/recipes/snapshot.rb +0 -0
  40. data/{cookbooks → chef/cookbooks}/database/templates/default/app_grants.sql.erb +0 -0
  41. data/{cookbooks → chef/cookbooks}/database/templates/default/aws_config.erb +0 -0
  42. data/{cookbooks → chef/cookbooks}/database/templates/default/chef-solo-database-snapshot.cron.erb +0 -0
  43. data/{cookbooks → chef/cookbooks}/database/templates/default/chef-solo-database-snapshot.json.erb +0 -0
  44. data/{cookbooks → chef/cookbooks}/database/templates/default/chef-solo-database-snapshot.rb.erb +0 -0
  45. data/{cookbooks → chef/cookbooks}/database/templates/default/ebs-backup-cron.erb +0 -0
  46. data/{cookbooks → chef/cookbooks}/database/templates/default/ebs-db-backup.sh.erb +0 -0
  47. data/{cookbooks → chef/cookbooks}/database/templates/default/ebs-db-restore.sh.erb +0 -0
  48. data/{cookbooks → chef/cookbooks}/database/templates/default/s3cfg.erb +0 -0
  49. data/{cookbooks → chef/cookbooks}/mysql/README.md +0 -0
  50. data/{cookbooks → chef/cookbooks}/mysql/attributes/server.rb +0 -0
  51. data/{cookbooks → chef/cookbooks}/mysql/libraries/database.rb +0 -0
  52. data/{cookbooks → chef/cookbooks}/mysql/libraries/helpers.rb +0 -0
  53. data/{cookbooks → chef/cookbooks}/mysql/metadata.rb +0 -0
  54. data/{cookbooks → chef/cookbooks}/mysql/recipes/client.rb +0 -0
  55. data/{cookbooks → chef/cookbooks}/mysql/recipes/default.rb +0 -0
  56. data/{cookbooks → chef/cookbooks}/mysql/recipes/server.rb +0 -0
  57. data/{cookbooks → chef/cookbooks}/mysql/recipes/server_ec2.rb +0 -0
  58. data/{cookbooks → chef/cookbooks}/mysql/templates/default/debian.cnf.erb +0 -0
  59. data/{cookbooks → chef/cookbooks}/mysql/templates/default/grants.sql.erb +0 -0
  60. data/{cookbooks → chef/cookbooks}/mysql/templates/default/my.cnf.erb +0 -0
  61. data/{cookbooks → chef/cookbooks}/mysql/templates/default/mysql-server.seed.erb +0 -0
  62. data/{cookbooks → chef/cookbooks}/mysql/templates/default/port_mysql.erb +0 -0
  63. data/{cookbooks → chef/cookbooks}/openssl/README.md +0 -0
  64. data/{cookbooks → chef/cookbooks}/openssl/libraries/secure_password.rb +0 -0
  65. data/{cookbooks → chef/cookbooks}/openssl/metadata.rb +0 -0
  66. data/{cookbooks → chef/cookbooks}/openssl/recipes/default.rb +0 -0
  67. data/{cookbooks → chef/cookbooks}/passenger_enterprise/README.rdoc +0 -0
  68. data/{cookbooks → chef/cookbooks}/passenger_enterprise/attributes/default.rb +0 -0
  69. data/{cookbooks → chef/cookbooks}/passenger_enterprise/cc.gemspec +0 -0
  70. data/{cookbooks → chef/cookbooks}/passenger_enterprise/metadata.json +0 -0
  71. data/{cookbooks → chef/cookbooks}/passenger_enterprise/metadata.rb +0 -0
  72. data/{cookbooks → chef/cookbooks}/passenger_enterprise/recipes/apache2.rb +0 -0
  73. data/{cookbooks → chef/cookbooks}/passenger_enterprise/recipes/default.rb +0 -0
  74. data/{cookbooks → chef/cookbooks}/passenger_enterprise/recipes/nginx.rb +0 -0
  75. data/{cookbooks → chef/cookbooks}/passenger_enterprise/templates/default/passenger.conf.erb +0 -0
  76. data/{cookbooks → chef/cookbooks}/passenger_enterprise/templates/default/passenger.load.erb +0 -0
  77. data/{cookbooks → chef/cookbooks}/passenger_enterprise/templates/default/passenger_nginx.conf.erb +0 -0
  78. data/{cookbooks → chef/cookbooks}/ruby_enterprise/README.rdoc +0 -0
  79. data/{cookbooks → chef/cookbooks}/ruby_enterprise/attributes/default.rb +0 -0
  80. data/{cookbooks → chef/cookbooks}/ruby_enterprise/cc.gemspec +0 -0
  81. data/{cookbooks → chef/cookbooks}/ruby_enterprise/definitions/ree_gem.rb +0 -0
  82. data/{cookbooks → chef/cookbooks}/ruby_enterprise/metadata.json +0 -0
  83. data/{cookbooks → chef/cookbooks}/ruby_enterprise/metadata.rb +0 -0
  84. data/{cookbooks → chef/cookbooks}/ruby_enterprise/recipes/default.rb +0 -0
  85. data/{roles → chef/roles}/enterprise_appstack.rb +0 -0
  86. data/{roles → chef/roles}/plumbing.rb +0 -0
  87. data/{roles → chef/roles}/postgres_database.rb +0 -0
  88. data/{roles → chef/roles}/ruby_appstack.rb +0 -0
  89. data/{site-cookbooks → chef/site-cookbooks}/.gitkeep +0 -0
  90. data/{site-cookbooks → chef/site-cookbooks}/curl/README.md +0 -0
  91. data/{site-cookbooks → chef/site-cookbooks}/curl/metadata.rb +0 -0
  92. data/{site-cookbooks → chef/site-cookbooks}/curl/recipes/default.rb +0 -0
  93. data/{site-cookbooks → chef/site-cookbooks}/nginx/CHANGELOG.md +0 -0
  94. data/{site-cookbooks → chef/site-cookbooks}/nginx/CONTRIBUTING +0 -0
  95. data/{site-cookbooks → chef/site-cookbooks}/nginx/LICENSE +0 -0
  96. data/{site-cookbooks → chef/site-cookbooks}/nginx/README.md +0 -0
  97. data/{site-cookbooks → chef/site-cookbooks}/nginx/attributes/default.rb +0 -0
  98. data/{site-cookbooks → chef/site-cookbooks}/nginx/definitions/nginx_site.rb +0 -0
  99. data/{site-cookbooks → chef/site-cookbooks}/nginx/files/default/mime.types +0 -0
  100. data/{site-cookbooks → chef/site-cookbooks}/nginx/metadata.rb +0 -0
  101. data/{site-cookbooks → chef/site-cookbooks}/nginx/recipes/default.rb +0 -0
  102. data/{site-cookbooks → chef/site-cookbooks}/nginx/recipes/source.rb +0 -0
  103. data/{site-cookbooks → chef/site-cookbooks}/nginx/templates/default/default-site.erb +0 -0
  104. data/{site-cookbooks → chef/site-cookbooks}/nginx/templates/default/nginx.conf.erb +0 -0
  105. data/{site-cookbooks → chef/site-cookbooks}/nginx/templates/default/nginx.init.erb +0 -0
  106. data/{site-cookbooks → chef/site-cookbooks}/nginx/templates/default/nxdissite.erb +0 -0
  107. data/{site-cookbooks → chef/site-cookbooks}/nginx/templates/default/nxensite.erb +0 -0
  108. data/{site-cookbooks → chef/site-cookbooks}/passenger/README.md +0 -0
  109. data/{site-cookbooks → chef/site-cookbooks}/passenger/attributes/default.rb +0 -0
  110. data/{site-cookbooks → chef/site-cookbooks}/passenger/metadata.rb +0 -0
  111. data/{site-cookbooks → chef/site-cookbooks}/passenger/recipes/default.rb +0 -0
  112. data/{site-cookbooks → chef/site-cookbooks}/passenger/templates/default/passenger_nginx.conf.erb +0 -0
  113. data/{site-cookbooks → chef/site-cookbooks}/postgresql/README.md +0 -0
  114. data/{site-cookbooks → chef/site-cookbooks}/postgresql/attributes/default.rb +0 -0
  115. data/{site-cookbooks → chef/site-cookbooks}/postgresql/metadata.rb +0 -0
  116. data/{site-cookbooks → chef/site-cookbooks}/postgresql/recipes/client.rb +0 -0
  117. data/{site-cookbooks → chef/site-cookbooks}/postgresql/recipes/default.rb +0 -0
  118. data/{site-cookbooks → chef/site-cookbooks}/postgresql/recipes/server.rb +0 -0
  119. data/{site-cookbooks → chef/site-cookbooks}/postgresql/recipes/server_debian.rb +0 -0
  120. data/{site-cookbooks → chef/site-cookbooks}/postgresql/recipes/server_redhat.rb +0 -0
  121. data/{site-cookbooks → chef/site-cookbooks}/postgresql/templates/default/debian.postgresql.conf.erb +0 -0
  122. data/{site-cookbooks → chef/site-cookbooks}/postgresql/templates/default/pg_hba.conf.erb +0 -0
  123. data/{site-cookbooks → chef/site-cookbooks}/postgresql/templates/default/redhat.postgresql.conf.erb +0 -0
  124. data/{site-cookbooks → chef/site-cookbooks}/rails_app/README.md +0 -0
  125. data/{site-cookbooks → chef/site-cookbooks}/rails_app/attributes/default.rb +0 -0
  126. data/{site-cookbooks → chef/site-cookbooks}/rails_app/files/default/sudoers +0 -0
  127. data/{site-cookbooks → chef/site-cookbooks}/rails_app/metadata.rb +0 -0
  128. data/{site-cookbooks → chef/site-cookbooks}/rails_app/recipes/default.rb +0 -0
  129. data/{site-cookbooks → chef/site-cookbooks}/rails_app/recipes/system_libraries.rb +0 -0
  130. data/{site-cookbooks → chef/site-cookbooks}/rails_app/templates/default/pg_hba.conf.erb +0 -0
  131. data/{site-cookbooks → chef/site-cookbooks}/rails_app/templates/default/rails_app_nginx.erb +0 -0
  132. data/{site-cookbooks → chef/site-cookbooks}/ruby/README.md +0 -0
  133. data/{site-cookbooks → chef/site-cookbooks}/ruby/attributes/default.rb +0 -0
  134. data/{site-cookbooks → chef/site-cookbooks}/ruby/metadata.rb +0 -0
  135. data/{site-cookbooks → chef/site-cookbooks}/ruby/recipes/default.rb +0 -0
  136. data/lib/elzar.rb +13 -2
  137. data/lib/elzar/assistant.rb +41 -22
  138. data/lib/elzar/templates/.rvmrc +1 -0
  139. data/lib/elzar/templates/Gemfile +1 -0
  140. data/lib/elzar/templates/Vagrantfile.erb +5 -2
  141. data/{data_bags → lib/elzar/templates/data_bags}/deploy/authorized_keys.json +0 -0
  142. data/{script → lib/elzar/templates/script}/install_cookbook +0 -0
  143. data/{script → lib/elzar/templates/script}/new_cookbook +0 -0
  144. data/{upgrade-chef.sh → lib/elzar/templates/upgrade-chef.sh} +0 -0
  145. data/lib/elzar/version.rb +1 -1
  146. metadata +139 -147
  147. data/Gemfile +0 -11
  148. data/Vagrantfile +0 -16
  149. data/dna.json +0 -25
  150. data/solo.rb +0 -7
@@ -0,0 +1,6 @@
1
+ ## 0.0.2
2
+ * Fixed to also work with Vagrant
3
+ * Support local dev with rake bam
4
+
5
+ ## 0.0.1
6
+ * Initial working release on EC2
data/README.md CHANGED
@@ -5,6 +5,9 @@ Download and install VirtualBox (as instructed in the Vagrant
5
5
  your bundle and grab the Ubuntu Lucid VM image.
6
6
 
7
7
  gem install bundler
8
+ # creates provision/ for local vagrant use
9
+ rake bam
10
+ cd provision
8
11
  bundle install
9
12
  vagrant box add lucid64 http://files.vagrantup.com/lucid64.box
10
13
 
data/Rakefile CHANGED
@@ -1 +1,8 @@
1
1
  require "bundler/gem_tasks"
2
+
3
+ desc "Creates provision/ for local vagrant use"
4
+ task :bam do
5
+ $:.unshift 'lib'
6
+ require 'elzar'
7
+ Elzar.create_provision_directory File.dirname(__FILE__) + '/provision', :local => true
8
+ end
File without changes
File without changes
File without changes
File without changes
@@ -1,21 +1,32 @@
1
1
  require 'elzar/version'
2
2
  require 'elzar/template'
3
3
  require 'elzar/assistant'
4
- require 'multi_json'
5
4
 
6
5
  module Elzar
7
6
  ROOT_DIR = File.expand_path File.dirname(__FILE__) + '/../'
7
+ CHEF_DIR = "#{ROOT_DIR}/chef"
8
+ ROLES_DIR = "#{CHEF_DIR}/roles"
9
+ # order matters
10
+ COOKBOOK_DIRS = ['site-cookbooks', 'cookbooks']
8
11
 
9
12
  def self.templates_dir
10
13
  @templates_dir ||= "#{ROOT_DIR}/lib/elzar/templates"
11
14
  end
12
15
 
13
16
  def self.create_provision_directory(destination, options={})
14
- Assistant.create_user_provision_dir destination.to_s
17
+ Assistant.create_user_provision_dir destination.to_s, options[:local]
15
18
  Assistant.generate_files destination.to_s, options
16
19
  end
17
20
 
18
21
  def self.merge_and_create_temp_directory(user_dir)
19
22
  Assistant.merge_and_create_temp_directory user_dir
20
23
  end
24
+
25
+ def self.vagrant_cookbooks_path
26
+ COOKBOOK_DIRS.map {|dir| "#{CHEF_DIR}/#{dir}" }
27
+ end
28
+
29
+ def self.vagrant_roles_path
30
+ ROLES_DIR
31
+ end
21
32
  end
@@ -4,46 +4,42 @@ require 'elzar/chef_dna'
4
4
 
5
5
  module Elzar
6
6
  module Assistant
7
- ELZAR_COOKBOOKS_DIR = 'elzar'
7
+ ELZAR_DIR = 'elzar'
8
8
  CHEF_SOLO_DIR = '/tmp/chef-solo'
9
- # order matters
10
- COOKBOOK_DIRS = ['site-cookbooks', 'cookbooks']
11
9
 
12
10
  def self.generate_files(dest, options={})
13
11
  vm_host_name = options[:app_name] ?
14
12
  "#{options[:app_name].gsub('_','-')}.local" : "elzar.thinkrelevance.com"
15
- cookbooks_path = COOKBOOK_DIRS + COOKBOOK_DIRS.map {|dir| "#{ROOT_DIR}/#{dir}" }
16
13
  Template.generate 'Vagrantfile', dest, :vm_host_name => vm_host_name,
17
- :cookbooks_path => cookbooks_path
18
- if options[:authorized_keys]
19
- create_authorized_key_data_bag(options[:authorized_keys], dest)
20
- end
21
- if options[:app_name] && options[:database] && options[:ruby_version]
22
- create_dna_json(dest, *options.values_at(:app_name, :database, :ruby_version))
14
+ :cookbooks_path => Elzar::COOKBOOK_DIRS, :local => options[:local]
15
+ if options[:local]
16
+ generate_local_files dest
17
+ else
18
+ require 'multi_json'
19
+ generate_user_files dest, options
23
20
  end
24
21
  end
25
22
 
26
- def self.create_user_provision_dir(dest)
23
+ def self.create_user_provision_dir(dest, local=false)
27
24
  FileUtils.mkdir_p dest
28
25
  cp "#{Elzar.templates_dir}/dna.json", dest
29
26
  cp "#{Elzar.templates_dir}/Gemfile", dest
30
- cp "#{ROOT_DIR}/.rvmrc", dest
31
- cp_r "#{ROOT_DIR}/data_bags", dest
32
- cp_r "#{ROOT_DIR}/script", dest
27
+ cp "#{Elzar.templates_dir}/upgrade-chef.sh", dest
28
+ cp "#{Elzar.templates_dir}/.rvmrc", dest
29
+ cp_r "#{Elzar.templates_dir}/data_bags", dest
30
+ cp_r "#{Elzar.templates_dir}/script", dest
33
31
  end
34
32
 
35
33
  def self.merge_and_create_temp_directory(user_dir)
36
34
  dest = Dir.mktmpdir
37
- elzar_dir = "#{dest}/#{ELZAR_COOKBOOKS_DIR}"
35
+ elzar_dir = "#{dest}/#{ELZAR_DIR}"
38
36
  FileUtils.mkdir_p elzar_dir
39
37
 
40
- cookbook_path = COOKBOOK_DIRS.map {|dir| "#{CHEF_SOLO_DIR}/#{dir}" } +
41
- COOKBOOK_DIRS.map {|dir| "#{CHEF_SOLO_DIR}/#{ELZAR_COOKBOOKS_DIR}/#{dir}" }
42
- Template.generate "solo.rb", dest, :cookbook_path => cookbook_path,
43
- :chef_solo_dir => CHEF_SOLO_DIR
44
- cp_r "#{ROOT_DIR}/roles", dest
45
- cp_r "#{ROOT_DIR}/cookbooks", elzar_dir
46
- cp_r "#{ROOT_DIR}/site-cookbooks", elzar_dir
38
+ generate_solo_rb dest, Elzar::COOKBOOK_DIRS.map {|dir| "#{CHEF_SOLO_DIR}/#{ELZAR_DIR}/#{dir}" }
39
+ cp_r Elzar::ROLES_DIR, dest
40
+ cp_r "#{Elzar::CHEF_DIR}/cookbooks", elzar_dir
41
+ cp_r "#{Elzar::CHEF_DIR}/site-cookbooks", elzar_dir
42
+ cp_r "#{Elzar::CHEF_DIR}/.chef", dest
47
43
  # merges user provision with elzar's provision
48
44
  cp_r "#{user_dir}/.", dest
49
45
  dest
@@ -51,6 +47,29 @@ module Elzar
51
47
 
52
48
  private
53
49
 
50
+ def self.generate_local_files(dest)
51
+ generate_solo_rb dest
52
+ cp_r Elzar::ROLES_DIR, dest
53
+ cp_r "#{Elzar::CHEF_DIR}/cookbooks", dest
54
+ cp_r "#{Elzar::CHEF_DIR}/site-cookbooks", dest
55
+ cp_r "#{Elzar::CHEF_DIR}/.chef", dest
56
+ end
57
+
58
+ def self.generate_user_files(dest, options={})
59
+ if options[:authorized_keys]
60
+ create_authorized_key_data_bag(options[:authorized_keys], dest)
61
+ end
62
+ if options[:app_name] && options[:database] && options[:ruby_version]
63
+ create_dna_json(dest, *options.values_at(:app_name, :database, :ruby_version))
64
+ end
65
+ end
66
+
67
+ def self.generate_solo_rb(dest, additional=[])
68
+ dirs = Elzar::COOKBOOK_DIRS.map {|dir| "#{CHEF_SOLO_DIR}/#{dir}" }
69
+ Template.generate "solo.rb", dest, :cookbook_path => dirs + additional,
70
+ :chef_solo_dir => CHEF_SOLO_DIR
71
+ end
72
+
54
73
  def self.cp(*args)
55
74
  FileUtils.cp(*args)
56
75
  end
@@ -0,0 +1 @@
1
+ rvm gemset use elzar
@@ -4,6 +4,7 @@ group "development" do
4
4
  # chef and vagrant require different versions of json, so we have to force the version manually
5
5
  gem "json", "1.5.2"
6
6
 
7
+ gem "elzar"
7
8
  gem "vagrant", "0.8.7"
8
9
  gem "chef", "0.10.8"
9
10
  gem "knife-solo", "0.0.4"
@@ -1,4 +1,6 @@
1
1
  require 'json'
2
+ require 'elzar'
3
+
2
4
  Vagrant::Config.run do |config|
3
5
  config.vm.box = "lucid64"
4
6
  config.vm.box_url = "http://files.vagrantup.com/lucid64.box"
@@ -6,8 +8,9 @@ Vagrant::Config.run do |config|
6
8
  config.vm.network "172.25.5.5"
7
9
  config.vm.provision :shell, :path => "upgrade-chef.sh"
8
10
  config.vm.provision :chef_solo do |chef|
9
- chef.cookbooks_path = <%= @cookbooks_path.inspect %>
10
- chef.roles_path = "roles"
11
+ chef.cookbooks_path = <%= @cookbooks_path.inspect %>
12
+ <%= "chef.cookbooks_path.concat Elzar.vagrant_cookbooks_path" unless @local %>
13
+ chef.roles_path = <%= @local ? 'roles'.inspect : 'Elzar.vagrant_roles_path' %>
11
14
  chef.data_bags_path = "data_bags"
12
15
  json = JSON.parse File.read('dna.json')
13
16
  chef.run_list = json['run_list']
@@ -1,3 +1,3 @@
1
1
  module Elzar
2
- VERSION = '0.0.1'
2
+ VERSION = '0.0.2'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: elzar
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -84,161 +84,159 @@ executables: []
84
84
  extensions: []
85
85
  extra_rdoc_files: []
86
86
  files:
87
- - .chef/knife.rb
88
87
  - .gitignore
89
88
  - .rvmrc
90
- - Gemfile
89
+ - CHANGELOG.md
91
90
  - Gemfile.lock
92
91
  - README.md
93
92
  - Rakefile
94
- - Vagrantfile
95
- - cookbooks/.gitkeep
96
- - cookbooks/apt/README.md
97
- - cookbooks/apt/files/default/apt-cacher
98
- - cookbooks/apt/files/default/apt-cacher.conf
99
- - cookbooks/apt/files/default/apt-proxy-v2.conf
100
- - cookbooks/apt/metadata.rb
101
- - cookbooks/apt/providers/repository.rb
102
- - cookbooks/apt/recipes/cacher-client.rb
103
- - cookbooks/apt/recipes/cacher.rb
104
- - cookbooks/apt/recipes/default.rb
105
- - cookbooks/apt/resources/repository.rb
106
- - cookbooks/build-essential/README.md
107
- - cookbooks/build-essential/metadata.rb
108
- - cookbooks/build-essential/recipes/default.rb
109
- - cookbooks/database/README.md
110
- - cookbooks/database/libraries/provider_database_mysql.rb
111
- - cookbooks/database/libraries/provider_database_mysql_user.rb
112
- - cookbooks/database/libraries/provider_database_postgresql.rb
113
- - cookbooks/database/libraries/provider_database_postgresql_user.rb
114
- - cookbooks/database/libraries/provider_database_sql_server.rb
115
- - cookbooks/database/libraries/provider_database_sql_server_user.rb
116
- - cookbooks/database/libraries/resource_database.rb
117
- - cookbooks/database/libraries/resource_database_user.rb
118
- - cookbooks/database/libraries/resource_mysql_database.rb
119
- - cookbooks/database/libraries/resource_mysql_database_user.rb
120
- - cookbooks/database/libraries/resource_postgresql_database.rb
121
- - cookbooks/database/libraries/resource_postgresql_database_user.rb
122
- - cookbooks/database/libraries/resource_sql_server_database.rb
123
- - cookbooks/database/libraries/resource_sql_server_database_user.rb
124
- - cookbooks/database/metadata.rb
125
- - cookbooks/database/recipes/default.rb
126
- - cookbooks/database/recipes/ebs_backup.rb
127
- - cookbooks/database/recipes/ebs_volume.rb
128
- - cookbooks/database/recipes/master.rb
129
- - cookbooks/database/recipes/snapshot.rb
130
- - cookbooks/database/templates/default/app_grants.sql.erb
131
- - cookbooks/database/templates/default/aws_config.erb
132
- - cookbooks/database/templates/default/chef-solo-database-snapshot.cron.erb
133
- - cookbooks/database/templates/default/chef-solo-database-snapshot.json.erb
134
- - cookbooks/database/templates/default/chef-solo-database-snapshot.rb.erb
135
- - cookbooks/database/templates/default/ebs-backup-cron.erb
136
- - cookbooks/database/templates/default/ebs-db-backup.sh.erb
137
- - cookbooks/database/templates/default/ebs-db-restore.sh.erb
138
- - cookbooks/database/templates/default/s3cfg.erb
139
- - cookbooks/mysql/README.md
140
- - cookbooks/mysql/attributes/server.rb
141
- - cookbooks/mysql/libraries/database.rb
142
- - cookbooks/mysql/libraries/helpers.rb
143
- - cookbooks/mysql/metadata.rb
144
- - cookbooks/mysql/recipes/client.rb
145
- - cookbooks/mysql/recipes/default.rb
146
- - cookbooks/mysql/recipes/server.rb
147
- - cookbooks/mysql/recipes/server_ec2.rb
148
- - cookbooks/mysql/templates/default/debian.cnf.erb
149
- - cookbooks/mysql/templates/default/grants.sql.erb
150
- - cookbooks/mysql/templates/default/my.cnf.erb
151
- - cookbooks/mysql/templates/default/mysql-server.seed.erb
152
- - cookbooks/mysql/templates/default/port_mysql.erb
153
- - cookbooks/openssl/README.md
154
- - cookbooks/openssl/libraries/secure_password.rb
155
- - cookbooks/openssl/metadata.rb
156
- - cookbooks/openssl/recipes/default.rb
157
- - cookbooks/passenger_enterprise/README.rdoc
158
- - cookbooks/passenger_enterprise/attributes/default.rb
159
- - cookbooks/passenger_enterprise/cc.gemspec
160
- - cookbooks/passenger_enterprise/metadata.json
161
- - cookbooks/passenger_enterprise/metadata.rb
162
- - cookbooks/passenger_enterprise/recipes/apache2.rb
163
- - cookbooks/passenger_enterprise/recipes/default.rb
164
- - cookbooks/passenger_enterprise/recipes/nginx.rb
165
- - cookbooks/passenger_enterprise/templates/default/passenger.conf.erb
166
- - cookbooks/passenger_enterprise/templates/default/passenger.load.erb
167
- - cookbooks/passenger_enterprise/templates/default/passenger_nginx.conf.erb
168
- - cookbooks/ruby_enterprise/README.rdoc
169
- - cookbooks/ruby_enterprise/attributes/default.rb
170
- - cookbooks/ruby_enterprise/cc.gemspec
171
- - cookbooks/ruby_enterprise/definitions/ree_gem.rb
172
- - cookbooks/ruby_enterprise/metadata.json
173
- - cookbooks/ruby_enterprise/metadata.rb
174
- - cookbooks/ruby_enterprise/recipes/default.rb
175
- - data_bags/deploy/authorized_keys.json
176
- - dna.json
93
+ - chef/.chef/knife.rb
94
+ - chef/cookbooks/.gitkeep
95
+ - chef/cookbooks/apt/README.md
96
+ - chef/cookbooks/apt/files/default/apt-cacher
97
+ - chef/cookbooks/apt/files/default/apt-cacher.conf
98
+ - chef/cookbooks/apt/files/default/apt-proxy-v2.conf
99
+ - chef/cookbooks/apt/metadata.rb
100
+ - chef/cookbooks/apt/providers/repository.rb
101
+ - chef/cookbooks/apt/recipes/cacher-client.rb
102
+ - chef/cookbooks/apt/recipes/cacher.rb
103
+ - chef/cookbooks/apt/recipes/default.rb
104
+ - chef/cookbooks/apt/resources/repository.rb
105
+ - chef/cookbooks/build-essential/README.md
106
+ - chef/cookbooks/build-essential/metadata.rb
107
+ - chef/cookbooks/build-essential/recipes/default.rb
108
+ - chef/cookbooks/database/README.md
109
+ - chef/cookbooks/database/libraries/provider_database_mysql.rb
110
+ - chef/cookbooks/database/libraries/provider_database_mysql_user.rb
111
+ - chef/cookbooks/database/libraries/provider_database_postgresql.rb
112
+ - chef/cookbooks/database/libraries/provider_database_postgresql_user.rb
113
+ - chef/cookbooks/database/libraries/provider_database_sql_server.rb
114
+ - chef/cookbooks/database/libraries/provider_database_sql_server_user.rb
115
+ - chef/cookbooks/database/libraries/resource_database.rb
116
+ - chef/cookbooks/database/libraries/resource_database_user.rb
117
+ - chef/cookbooks/database/libraries/resource_mysql_database.rb
118
+ - chef/cookbooks/database/libraries/resource_mysql_database_user.rb
119
+ - chef/cookbooks/database/libraries/resource_postgresql_database.rb
120
+ - chef/cookbooks/database/libraries/resource_postgresql_database_user.rb
121
+ - chef/cookbooks/database/libraries/resource_sql_server_database.rb
122
+ - chef/cookbooks/database/libraries/resource_sql_server_database_user.rb
123
+ - chef/cookbooks/database/metadata.rb
124
+ - chef/cookbooks/database/recipes/default.rb
125
+ - chef/cookbooks/database/recipes/ebs_backup.rb
126
+ - chef/cookbooks/database/recipes/ebs_volume.rb
127
+ - chef/cookbooks/database/recipes/master.rb
128
+ - chef/cookbooks/database/recipes/snapshot.rb
129
+ - chef/cookbooks/database/templates/default/app_grants.sql.erb
130
+ - chef/cookbooks/database/templates/default/aws_config.erb
131
+ - chef/cookbooks/database/templates/default/chef-solo-database-snapshot.cron.erb
132
+ - chef/cookbooks/database/templates/default/chef-solo-database-snapshot.json.erb
133
+ - chef/cookbooks/database/templates/default/chef-solo-database-snapshot.rb.erb
134
+ - chef/cookbooks/database/templates/default/ebs-backup-cron.erb
135
+ - chef/cookbooks/database/templates/default/ebs-db-backup.sh.erb
136
+ - chef/cookbooks/database/templates/default/ebs-db-restore.sh.erb
137
+ - chef/cookbooks/database/templates/default/s3cfg.erb
138
+ - chef/cookbooks/mysql/README.md
139
+ - chef/cookbooks/mysql/attributes/server.rb
140
+ - chef/cookbooks/mysql/libraries/database.rb
141
+ - chef/cookbooks/mysql/libraries/helpers.rb
142
+ - chef/cookbooks/mysql/metadata.rb
143
+ - chef/cookbooks/mysql/recipes/client.rb
144
+ - chef/cookbooks/mysql/recipes/default.rb
145
+ - chef/cookbooks/mysql/recipes/server.rb
146
+ - chef/cookbooks/mysql/recipes/server_ec2.rb
147
+ - chef/cookbooks/mysql/templates/default/debian.cnf.erb
148
+ - chef/cookbooks/mysql/templates/default/grants.sql.erb
149
+ - chef/cookbooks/mysql/templates/default/my.cnf.erb
150
+ - chef/cookbooks/mysql/templates/default/mysql-server.seed.erb
151
+ - chef/cookbooks/mysql/templates/default/port_mysql.erb
152
+ - chef/cookbooks/openssl/README.md
153
+ - chef/cookbooks/openssl/libraries/secure_password.rb
154
+ - chef/cookbooks/openssl/metadata.rb
155
+ - chef/cookbooks/openssl/recipes/default.rb
156
+ - chef/cookbooks/passenger_enterprise/README.rdoc
157
+ - chef/cookbooks/passenger_enterprise/attributes/default.rb
158
+ - chef/cookbooks/passenger_enterprise/cc.gemspec
159
+ - chef/cookbooks/passenger_enterprise/metadata.json
160
+ - chef/cookbooks/passenger_enterprise/metadata.rb
161
+ - chef/cookbooks/passenger_enterprise/recipes/apache2.rb
162
+ - chef/cookbooks/passenger_enterprise/recipes/default.rb
163
+ - chef/cookbooks/passenger_enterprise/recipes/nginx.rb
164
+ - chef/cookbooks/passenger_enterprise/templates/default/passenger.conf.erb
165
+ - chef/cookbooks/passenger_enterprise/templates/default/passenger.load.erb
166
+ - chef/cookbooks/passenger_enterprise/templates/default/passenger_nginx.conf.erb
167
+ - chef/cookbooks/ruby_enterprise/README.rdoc
168
+ - chef/cookbooks/ruby_enterprise/attributes/default.rb
169
+ - chef/cookbooks/ruby_enterprise/cc.gemspec
170
+ - chef/cookbooks/ruby_enterprise/definitions/ree_gem.rb
171
+ - chef/cookbooks/ruby_enterprise/metadata.json
172
+ - chef/cookbooks/ruby_enterprise/metadata.rb
173
+ - chef/cookbooks/ruby_enterprise/recipes/default.rb
174
+ - chef/roles/enterprise_appstack.rb
175
+ - chef/roles/plumbing.rb
176
+ - chef/roles/postgres_database.rb
177
+ - chef/roles/ruby_appstack.rb
178
+ - chef/site-cookbooks/.gitkeep
179
+ - chef/site-cookbooks/curl/README.md
180
+ - chef/site-cookbooks/curl/metadata.rb
181
+ - chef/site-cookbooks/curl/recipes/default.rb
182
+ - chef/site-cookbooks/nginx/CHANGELOG.md
183
+ - chef/site-cookbooks/nginx/CONTRIBUTING
184
+ - chef/site-cookbooks/nginx/LICENSE
185
+ - chef/site-cookbooks/nginx/README.md
186
+ - chef/site-cookbooks/nginx/attributes/default.rb
187
+ - chef/site-cookbooks/nginx/definitions/nginx_site.rb
188
+ - chef/site-cookbooks/nginx/files/default/mime.types
189
+ - chef/site-cookbooks/nginx/metadata.rb
190
+ - chef/site-cookbooks/nginx/recipes/default.rb
191
+ - chef/site-cookbooks/nginx/recipes/source.rb
192
+ - chef/site-cookbooks/nginx/templates/default/default-site.erb
193
+ - chef/site-cookbooks/nginx/templates/default/nginx.conf.erb
194
+ - chef/site-cookbooks/nginx/templates/default/nginx.init.erb
195
+ - chef/site-cookbooks/nginx/templates/default/nxdissite.erb
196
+ - chef/site-cookbooks/nginx/templates/default/nxensite.erb
197
+ - chef/site-cookbooks/passenger/README.md
198
+ - chef/site-cookbooks/passenger/attributes/default.rb
199
+ - chef/site-cookbooks/passenger/metadata.rb
200
+ - chef/site-cookbooks/passenger/recipes/default.rb
201
+ - chef/site-cookbooks/passenger/templates/default/passenger_nginx.conf.erb
202
+ - chef/site-cookbooks/postgresql/README.md
203
+ - chef/site-cookbooks/postgresql/attributes/default.rb
204
+ - chef/site-cookbooks/postgresql/metadata.rb
205
+ - chef/site-cookbooks/postgresql/recipes/client.rb
206
+ - chef/site-cookbooks/postgresql/recipes/default.rb
207
+ - chef/site-cookbooks/postgresql/recipes/server.rb
208
+ - chef/site-cookbooks/postgresql/recipes/server_debian.rb
209
+ - chef/site-cookbooks/postgresql/recipes/server_redhat.rb
210
+ - chef/site-cookbooks/postgresql/templates/default/debian.postgresql.conf.erb
211
+ - chef/site-cookbooks/postgresql/templates/default/pg_hba.conf.erb
212
+ - chef/site-cookbooks/postgresql/templates/default/redhat.postgresql.conf.erb
213
+ - chef/site-cookbooks/rails_app/README.md
214
+ - chef/site-cookbooks/rails_app/attributes/default.rb
215
+ - chef/site-cookbooks/rails_app/files/default/sudoers
216
+ - chef/site-cookbooks/rails_app/metadata.rb
217
+ - chef/site-cookbooks/rails_app/recipes/default.rb
218
+ - chef/site-cookbooks/rails_app/recipes/system_libraries.rb
219
+ - chef/site-cookbooks/rails_app/templates/default/pg_hba.conf.erb
220
+ - chef/site-cookbooks/rails_app/templates/default/rails_app_nginx.erb
221
+ - chef/site-cookbooks/ruby/README.md
222
+ - chef/site-cookbooks/ruby/attributes/default.rb
223
+ - chef/site-cookbooks/ruby/metadata.rb
224
+ - chef/site-cookbooks/ruby/recipes/default.rb
177
225
  - elzar.gemspec
178
226
  - lib/elzar.rb
179
227
  - lib/elzar/assistant.rb
180
228
  - lib/elzar/chef_dna.rb
181
229
  - lib/elzar/template.rb
230
+ - lib/elzar/templates/.rvmrc
182
231
  - lib/elzar/templates/Gemfile
183
232
  - lib/elzar/templates/Vagrantfile.erb
233
+ - lib/elzar/templates/data_bags/deploy/authorized_keys.json
184
234
  - lib/elzar/templates/dna.json
235
+ - lib/elzar/templates/script/install_cookbook
236
+ - lib/elzar/templates/script/new_cookbook
185
237
  - lib/elzar/templates/solo.rb.erb
238
+ - lib/elzar/templates/upgrade-chef.sh
186
239
  - lib/elzar/version.rb
187
- - roles/enterprise_appstack.rb
188
- - roles/plumbing.rb
189
- - roles/postgres_database.rb
190
- - roles/ruby_appstack.rb
191
- - script/install_cookbook
192
- - script/new_cookbook
193
- - site-cookbooks/.gitkeep
194
- - site-cookbooks/curl/README.md
195
- - site-cookbooks/curl/metadata.rb
196
- - site-cookbooks/curl/recipes/default.rb
197
- - site-cookbooks/nginx/CHANGELOG.md
198
- - site-cookbooks/nginx/CONTRIBUTING
199
- - site-cookbooks/nginx/LICENSE
200
- - site-cookbooks/nginx/README.md
201
- - site-cookbooks/nginx/attributes/default.rb
202
- - site-cookbooks/nginx/definitions/nginx_site.rb
203
- - site-cookbooks/nginx/files/default/mime.types
204
- - site-cookbooks/nginx/metadata.rb
205
- - site-cookbooks/nginx/recipes/default.rb
206
- - site-cookbooks/nginx/recipes/source.rb
207
- - site-cookbooks/nginx/templates/default/default-site.erb
208
- - site-cookbooks/nginx/templates/default/nginx.conf.erb
209
- - site-cookbooks/nginx/templates/default/nginx.init.erb
210
- - site-cookbooks/nginx/templates/default/nxdissite.erb
211
- - site-cookbooks/nginx/templates/default/nxensite.erb
212
- - site-cookbooks/passenger/README.md
213
- - site-cookbooks/passenger/attributes/default.rb
214
- - site-cookbooks/passenger/metadata.rb
215
- - site-cookbooks/passenger/recipes/default.rb
216
- - site-cookbooks/passenger/templates/default/passenger_nginx.conf.erb
217
- - site-cookbooks/postgresql/README.md
218
- - site-cookbooks/postgresql/attributes/default.rb
219
- - site-cookbooks/postgresql/metadata.rb
220
- - site-cookbooks/postgresql/recipes/client.rb
221
- - site-cookbooks/postgresql/recipes/default.rb
222
- - site-cookbooks/postgresql/recipes/server.rb
223
- - site-cookbooks/postgresql/recipes/server_debian.rb
224
- - site-cookbooks/postgresql/recipes/server_redhat.rb
225
- - site-cookbooks/postgresql/templates/default/debian.postgresql.conf.erb
226
- - site-cookbooks/postgresql/templates/default/pg_hba.conf.erb
227
- - site-cookbooks/postgresql/templates/default/redhat.postgresql.conf.erb
228
- - site-cookbooks/rails_app/README.md
229
- - site-cookbooks/rails_app/attributes/default.rb
230
- - site-cookbooks/rails_app/files/default/sudoers
231
- - site-cookbooks/rails_app/metadata.rb
232
- - site-cookbooks/rails_app/recipes/default.rb
233
- - site-cookbooks/rails_app/recipes/system_libraries.rb
234
- - site-cookbooks/rails_app/templates/default/pg_hba.conf.erb
235
- - site-cookbooks/rails_app/templates/default/rails_app_nginx.erb
236
- - site-cookbooks/ruby/README.md
237
- - site-cookbooks/ruby/attributes/default.rb
238
- - site-cookbooks/ruby/metadata.rb
239
- - site-cookbooks/ruby/recipes/default.rb
240
- - solo.rb
241
- - upgrade-chef.sh
242
240
  homepage: http://github.com/relevance/elzar
243
241
  licenses: []
244
242
  post_install_message:
@@ -251,18 +249,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
251
249
  - - ! '>='
252
250
  - !ruby/object:Gem::Version
253
251
  version: '0'
254
- segments:
255
- - 0
256
- hash: 4460117594910515010
257
252
  required_rubygems_version: !ruby/object:Gem::Requirement
258
253
  none: false
259
254
  requirements:
260
255
  - - ! '>='
261
256
  - !ruby/object:Gem::Version
262
257
  version: '0'
263
- segments:
264
- - 0
265
- hash: 4460117594910515010
266
258
  requirements: []
267
259
  rubyforge_project:
268
260
  rubygems_version: 1.8.21
data/Gemfile DELETED
@@ -1,11 +0,0 @@
1
- source :rubygems
2
-
3
- group "development" do
4
- # chef and vagrant require different versions of json, so we have to force the version manually
5
- gem "json", "1.5.2"
6
-
7
- gem "vagrant", "0.8.7"
8
- gem "chef", "0.10.8"
9
- gem "knife-solo", "0.0.4"
10
- gem "knife-github-cookbooks", :git => "git://github.com/sumbach/knife-github-cookbooks.git"
11
- end
@@ -1,16 +0,0 @@
1
- require 'json'
2
- Vagrant::Config.run do |config|
3
- config.vm.box = "lucid64"
4
- config.vm.box_url = "http://files.vagrantup.com/lucid64.box"
5
- config.vm.host_name = "elzar.thinkrelevance.com"
6
- config.vm.network "172.25.5.5"
7
- config.vm.provision :shell, :path => "upgrade-chef.sh"
8
- config.vm.provision :chef_solo do |chef|
9
- chef.cookbooks_path = ["site-cookbooks", "cookbooks"]
10
- chef.roles_path = "roles"
11
- chef.data_bags_path = "data_bags"
12
- json = JSON.parse File.read('dna.json')
13
- chef.run_list = json['run_list']
14
- chef.json = json
15
- end
16
- end
data/dna.json DELETED
@@ -1,25 +0,0 @@
1
- {
2
- "run_list":["role[plumbing]", "mysql::server", "role[enterprise_appstack]", "rails_app"],
3
- "mysql": {"server_root_password": ""},
4
- "passenger": {
5
- "version": "3.0.11",
6
- "root_path": "/opt/relevance-ruby/lib/ruby/gems/1.9.1/gems/passenger-3.0.11",
7
- "module_path": "/opt/relevance-ruby/lib/ruby/gems/1.9.1/gems/passenger-3.0.11/ext/apache2/mod_passenger.so"
8
- },
9
- "passenger_enterprise": {
10
- "version": "3.0.11",
11
- "root_path": "/opt/ruby-enterprise/lib/ruby/gems/1.8/gems/passenger-3.0.11",
12
- "module_path": "/opt/ruby-enterprise/lib/ruby/gems/1.8/gems/passenger-3.0.11/ext/apache2/mod_passenger.so"
13
- },
14
- "ruby": {
15
- "version": "1.9.3-p125",
16
- "url": "http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p125.tar.gz"
17
- },
18
- "ruby_enterprise": {
19
- "version": "1.8.7-2012.02",
20
- "url": "http://rubyenterpriseedition.googlecode.com/files/ruby-enterprise-1.8.7-2012.02"
21
- },
22
- "rails_app": {
23
- "name": "elzar_test"
24
- }
25
- }
data/solo.rb DELETED
@@ -1,7 +0,0 @@
1
- file_cache_path "/tmp/chef-solo"
2
- data_bag_path "/tmp/chef-solo/data_bags"
3
- cookbook_path [ "/tmp/chef-solo/site-cookbooks",
4
- "/tmp/chef-solo/cookbooks" ]
5
- role_path "/tmp/chef-solo/roles"
6
- log_level :debug
7
- log_location STDOUT