elzar 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
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