elzar 0.0.1

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 (156) hide show
  1. data/.chef/knife.rb +3 -0
  2. data/.gitignore +1 -0
  3. data/.rvmrc +1 -0
  4. data/Gemfile +11 -0
  5. data/Gemfile.lock +96 -0
  6. data/README.md +42 -0
  7. data/Rakefile +1 -0
  8. data/Vagrantfile +16 -0
  9. data/cookbooks/.gitkeep +0 -0
  10. data/cookbooks/apt/README.md +122 -0
  11. data/cookbooks/apt/files/default/apt-cacher +9 -0
  12. data/cookbooks/apt/files/default/apt-cacher.conf +144 -0
  13. data/cookbooks/apt/files/default/apt-proxy-v2.conf +50 -0
  14. data/cookbooks/apt/metadata.rb +13 -0
  15. data/cookbooks/apt/providers/repository.rb +73 -0
  16. data/cookbooks/apt/recipes/cacher-client.rb +44 -0
  17. data/cookbooks/apt/recipes/cacher.rb +45 -0
  18. data/cookbooks/apt/recipes/default.rb +50 -0
  19. data/cookbooks/apt/resources/repository.rb +30 -0
  20. data/cookbooks/build-essential/README.md +24 -0
  21. data/cookbooks/build-essential/metadata.rb +10 -0
  22. data/cookbooks/build-essential/recipes/default.rb +45 -0
  23. data/cookbooks/database/README.md +403 -0
  24. data/cookbooks/database/libraries/provider_database_mysql.rb +97 -0
  25. data/cookbooks/database/libraries/provider_database_mysql_user.rb +76 -0
  26. data/cookbooks/database/libraries/provider_database_postgresql.rb +126 -0
  27. data/cookbooks/database/libraries/provider_database_postgresql_user.rb +78 -0
  28. data/cookbooks/database/libraries/provider_database_sql_server.rb +109 -0
  29. data/cookbooks/database/libraries/provider_database_sql_server_user.rb +106 -0
  30. data/cookbooks/database/libraries/resource_database.rb +111 -0
  31. data/cookbooks/database/libraries/resource_database_user.rb +90 -0
  32. data/cookbooks/database/libraries/resource_mysql_database.rb +34 -0
  33. data/cookbooks/database/libraries/resource_mysql_database_user.rb +34 -0
  34. data/cookbooks/database/libraries/resource_postgresql_database.rb +35 -0
  35. data/cookbooks/database/libraries/resource_postgresql_database_user.rb +35 -0
  36. data/cookbooks/database/libraries/resource_sql_server_database.rb +34 -0
  37. data/cookbooks/database/libraries/resource_sql_server_database_user.rb +34 -0
  38. data/cookbooks/database/metadata.rb +21 -0
  39. data/cookbooks/database/recipes/default.rb +20 -0
  40. data/cookbooks/database/recipes/ebs_backup.rb +89 -0
  41. data/cookbooks/database/recipes/ebs_volume.rb +196 -0
  42. data/cookbooks/database/recipes/master.rb +78 -0
  43. data/cookbooks/database/recipes/snapshot.rb +62 -0
  44. data/cookbooks/database/templates/default/app_grants.sql.erb +8 -0
  45. data/cookbooks/database/templates/default/aws_config.erb +3 -0
  46. data/cookbooks/database/templates/default/chef-solo-database-snapshot.cron.erb +10 -0
  47. data/cookbooks/database/templates/default/chef-solo-database-snapshot.json.erb +1 -0
  48. data/cookbooks/database/templates/default/chef-solo-database-snapshot.rb.erb +6 -0
  49. data/cookbooks/database/templates/default/ebs-backup-cron.erb +2 -0
  50. data/cookbooks/database/templates/default/ebs-db-backup.sh.erb +8 -0
  51. data/cookbooks/database/templates/default/ebs-db-restore.sh.erb +10 -0
  52. data/cookbooks/database/templates/default/s3cfg.erb +27 -0
  53. data/cookbooks/mysql/README.md +148 -0
  54. data/cookbooks/mysql/attributes/server.rb +68 -0
  55. data/cookbooks/mysql/libraries/database.rb +19 -0
  56. data/cookbooks/mysql/libraries/helpers.rb +33 -0
  57. data/cookbooks/mysql/metadata.rb +90 -0
  58. data/cookbooks/mysql/recipes/client.rb +51 -0
  59. data/cookbooks/mysql/recipes/default.rb +20 -0
  60. data/cookbooks/mysql/recipes/server.rb +133 -0
  61. data/cookbooks/mysql/recipes/server_ec2.rb +49 -0
  62. data/cookbooks/mysql/templates/default/debian.cnf.erb +12 -0
  63. data/cookbooks/mysql/templates/default/grants.sql.erb +15 -0
  64. data/cookbooks/mysql/templates/default/my.cnf.erb +176 -0
  65. data/cookbooks/mysql/templates/default/mysql-server.seed.erb +10 -0
  66. data/cookbooks/mysql/templates/default/port_mysql.erb +3 -0
  67. data/cookbooks/openssl/README.md +37 -0
  68. data/cookbooks/openssl/libraries/secure_password.rb +37 -0
  69. data/cookbooks/openssl/metadata.rb +8 -0
  70. data/cookbooks/openssl/recipes/default.rb +19 -0
  71. data/cookbooks/passenger_enterprise/README.rdoc +8 -0
  72. data/cookbooks/passenger_enterprise/attributes/default.rb +28 -0
  73. data/cookbooks/passenger_enterprise/cc.gemspec +36 -0
  74. data/cookbooks/passenger_enterprise/metadata.json +44 -0
  75. data/cookbooks/passenger_enterprise/metadata.rb +16 -0
  76. data/cookbooks/passenger_enterprise/recipes/apache2.rb +54 -0
  77. data/cookbooks/passenger_enterprise/recipes/default.rb +30 -0
  78. data/cookbooks/passenger_enterprise/recipes/nginx.rb +50 -0
  79. data/cookbooks/passenger_enterprise/templates/default/passenger.conf.erb +2 -0
  80. data/cookbooks/passenger_enterprise/templates/default/passenger.load.erb +1 -0
  81. data/cookbooks/passenger_enterprise/templates/default/passenger_nginx.conf.erb +2 -0
  82. data/cookbooks/ruby_enterprise/README.rdoc +55 -0
  83. data/cookbooks/ruby_enterprise/attributes/default.rb +33 -0
  84. data/cookbooks/ruby_enterprise/cc.gemspec +36 -0
  85. data/cookbooks/ruby_enterprise/definitions/ree_gem.rb +28 -0
  86. data/cookbooks/ruby_enterprise/metadata.json +45 -0
  87. data/cookbooks/ruby_enterprise/metadata.rb +13 -0
  88. data/cookbooks/ruby_enterprise/recipes/default.rb +67 -0
  89. data/data_bags/deploy/authorized_keys.json +9 -0
  90. data/dna.json +25 -0
  91. data/elzar.gemspec +22 -0
  92. data/lib/elzar.rb +21 -0
  93. data/lib/elzar/assistant.rb +77 -0
  94. data/lib/elzar/chef_dna.rb +48 -0
  95. data/lib/elzar/template.rb +24 -0
  96. data/lib/elzar/templates/Gemfile +11 -0
  97. data/lib/elzar/templates/Vagrantfile.erb +16 -0
  98. data/lib/elzar/templates/dna.json +25 -0
  99. data/lib/elzar/templates/solo.rb.erb +6 -0
  100. data/lib/elzar/version.rb +3 -0
  101. data/roles/enterprise_appstack.rb +4 -0
  102. data/roles/plumbing.rb +11 -0
  103. data/roles/postgres_database.rb +4 -0
  104. data/roles/ruby_appstack.rb +4 -0
  105. data/script/install_cookbook +6 -0
  106. data/script/new_cookbook +5 -0
  107. data/site-cookbooks/.gitkeep +0 -0
  108. data/site-cookbooks/curl/README.md +17 -0
  109. data/site-cookbooks/curl/metadata.rb +6 -0
  110. data/site-cookbooks/curl/recipes/default.rb +11 -0
  111. data/site-cookbooks/nginx/CHANGELOG.md +11 -0
  112. data/site-cookbooks/nginx/CONTRIBUTING +29 -0
  113. data/site-cookbooks/nginx/LICENSE +201 -0
  114. data/site-cookbooks/nginx/README.md +76 -0
  115. data/site-cookbooks/nginx/attributes/default.rb +65 -0
  116. data/site-cookbooks/nginx/definitions/nginx_site.rb +35 -0
  117. data/site-cookbooks/nginx/files/default/mime.types +73 -0
  118. data/site-cookbooks/nginx/metadata.rb +89 -0
  119. data/site-cookbooks/nginx/recipes/default.rb +57 -0
  120. data/site-cookbooks/nginx/recipes/source.rb +126 -0
  121. data/site-cookbooks/nginx/templates/default/default-site.erb +11 -0
  122. data/site-cookbooks/nginx/templates/default/nginx.conf.erb +42 -0
  123. data/site-cookbooks/nginx/templates/default/nginx.init.erb +91 -0
  124. data/site-cookbooks/nginx/templates/default/nxdissite.erb +29 -0
  125. data/site-cookbooks/nginx/templates/default/nxensite.erb +38 -0
  126. data/site-cookbooks/passenger/README.md +12 -0
  127. data/site-cookbooks/passenger/attributes/default.rb +3 -0
  128. data/site-cookbooks/passenger/metadata.rb +6 -0
  129. data/site-cookbooks/passenger/recipes/default.rb +39 -0
  130. data/site-cookbooks/passenger/templates/default/passenger_nginx.conf.erb +2 -0
  131. data/site-cookbooks/postgresql/README.md +150 -0
  132. data/site-cookbooks/postgresql/attributes/default.rb +72 -0
  133. data/site-cookbooks/postgresql/metadata.rb +21 -0
  134. data/site-cookbooks/postgresql/recipes/client.rb +40 -0
  135. data/site-cookbooks/postgresql/recipes/default.rb +20 -0
  136. data/site-cookbooks/postgresql/recipes/server.rb +74 -0
  137. data/site-cookbooks/postgresql/recipes/server_debian.rb +62 -0
  138. data/site-cookbooks/postgresql/recipes/server_redhat.rb +82 -0
  139. data/site-cookbooks/postgresql/templates/default/debian.postgresql.conf.erb +499 -0
  140. data/site-cookbooks/postgresql/templates/default/pg_hba.conf.erb +83 -0
  141. data/site-cookbooks/postgresql/templates/default/redhat.postgresql.conf.erb +501 -0
  142. data/site-cookbooks/rails_app/README.md +15 -0
  143. data/site-cookbooks/rails_app/attributes/default.rb +2 -0
  144. data/site-cookbooks/rails_app/files/default/sudoers +26 -0
  145. data/site-cookbooks/rails_app/metadata.rb +6 -0
  146. data/site-cookbooks/rails_app/recipes/default.rb +143 -0
  147. data/site-cookbooks/rails_app/recipes/system_libraries.rb +12 -0
  148. data/site-cookbooks/rails_app/templates/default/pg_hba.conf.erb +84 -0
  149. data/site-cookbooks/rails_app/templates/default/rails_app_nginx.erb +10 -0
  150. data/site-cookbooks/ruby/README.md +12 -0
  151. data/site-cookbooks/ruby/attributes/default.rb +6 -0
  152. data/site-cookbooks/ruby/metadata.rb +6 -0
  153. data/site-cookbooks/ruby/recipes/default.rb +54 -0
  154. data/solo.rb +7 -0
  155. data/upgrade-chef.sh +8 -0
  156. metadata +272 -0
@@ -0,0 +1,51 @@
1
+ #
2
+ # Cookbook Name:: mysql
3
+ # Recipe:: client
4
+ #
5
+ # Copyright 2008-2011, Opscode, Inc.
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+ #
19
+
20
+ ::Chef::Resource::Package.send(:include, Opscode::Mysql::Helpers)
21
+
22
+ package "mysql-client" do
23
+ package_name value_for_platform(
24
+ [ "centos", "redhat", "suse", "fedora", "scientific", "amazon"] => { "default" => "mysql" },
25
+ "default" => "mysql-client"
26
+ )
27
+ action :install
28
+ end
29
+
30
+ package "mysql-devel" do
31
+ package_name begin
32
+ if platform?(%w{ centos redhat suse fedora scientific amazon })
33
+ "mysql-devel"
34
+ elsif debian_before_squeeze? || ubuntu_before_lucid?
35
+ "libmysqlclient15-dev"
36
+ else
37
+ "libmysqlclient-dev"
38
+ end
39
+ end
40
+ action :install
41
+ end
42
+
43
+ if platform?(%w{ redhat centos fedora suse scientific amazon })
44
+ package 'ruby-mysql'
45
+ elsif platform?(%w{ debian ubuntu })
46
+ package "libmysql-ruby"
47
+ else
48
+ gem_package "mysql" do
49
+ action :install
50
+ end
51
+ end
@@ -0,0 +1,20 @@
1
+ #
2
+ # Cookbook Name:: mysql
3
+ # Recipe:: default
4
+ #
5
+ # Copyright 2008-2009, Opscode, Inc.
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+ #
19
+
20
+ include_recipe "mysql::client"
@@ -0,0 +1,133 @@
1
+ #
2
+ # Cookbook Name:: mysql
3
+ # Recipe:: default
4
+ #
5
+ # Copyright 2008-2011, Opscode, Inc.
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+ #
19
+
20
+ ::Chef::Recipe.send(:include, Opscode::OpenSSL::Password)
21
+
22
+ include_recipe "mysql::client"
23
+
24
+ # generate all passwords
25
+ node.set_unless['mysql']['server_debian_password'] = secure_password
26
+ node.set_unless['mysql']['server_root_password'] = secure_password
27
+ node.set_unless['mysql']['server_repl_password'] = secure_password
28
+
29
+ if platform?(%w{debian ubuntu})
30
+
31
+ directory "/var/cache/local/preseeding" do
32
+ owner "root"
33
+ group "root"
34
+ mode 0755
35
+ recursive true
36
+ end
37
+
38
+ execute "preseed mysql-server" do
39
+ command "debconf-set-selections /var/cache/local/preseeding/mysql-server.seed"
40
+ action :nothing
41
+ end
42
+
43
+ template "/var/cache/local/preseeding/mysql-server.seed" do
44
+ source "mysql-server.seed.erb"
45
+ owner "root"
46
+ group "root"
47
+ mode "0600"
48
+ notifies :run, resources(:execute => "preseed mysql-server"), :immediately
49
+ end
50
+
51
+ template "#{node['mysql']['conf_dir']}/debian.cnf" do
52
+ source "debian.cnf.erb"
53
+ owner "root"
54
+ group "root"
55
+ mode "0600"
56
+ end
57
+
58
+ end
59
+
60
+ package "mysql-server" do
61
+ action :install
62
+ end
63
+
64
+ service "mysql" do
65
+ service_name value_for_platform([ "centos", "redhat", "suse", "fedora", "scientific", "amazon" ] => {"default" => "mysqld"}, "default" => "mysql")
66
+ if (platform?("ubuntu") && node.platform_version.to_f >= 10.04)
67
+ restart_command "restart mysql"
68
+ stop_command "stop mysql"
69
+ start_command "start mysql"
70
+ end
71
+ supports :status => true, :restart => true, :reload => true
72
+ action :nothing
73
+ end
74
+
75
+ skip_federated = case node['platform']
76
+ when 'fedora', 'ubuntu', 'amazon'
77
+ true
78
+ when 'centos', 'redhat', 'scientific'
79
+ node['platform_version'].to_f < 6.0
80
+ else
81
+ false
82
+ end
83
+
84
+ template "#{node['mysql']['conf_dir']}/my.cnf" do
85
+ source "my.cnf.erb"
86
+ owner "root"
87
+ group "root"
88
+ mode "0644"
89
+ notifies :restart, resources(:service => "mysql"), :immediately
90
+ variables :skip_federated => skip_federated
91
+ end
92
+
93
+ unless Chef::Config[:solo]
94
+ ruby_block "save node data" do
95
+ block do
96
+ node.save
97
+ end
98
+ action :create
99
+ end
100
+ end
101
+
102
+ # set the root password on platforms
103
+ # that don't support pre-seeding
104
+ unless platform?(%w{debian ubuntu})
105
+
106
+ execute "assign-root-password" do
107
+ command "/usr/bin/mysqladmin -u root password \"#{node['mysql']['server_root_password']}\""
108
+ action :run
109
+ only_if "/usr/bin/mysql -u root -e 'show databases;'"
110
+ end
111
+
112
+ end
113
+
114
+ grants_path = "#{node['mysql']['conf_dir']}/mysql_grants.sql"
115
+
116
+ begin
117
+ t = resources("template[#{grants_path}]")
118
+ rescue
119
+ Chef::Log.info("Could not find previously defined grants.sql resource")
120
+ t = template grants_path do
121
+ source "grants.sql.erb"
122
+ owner "root"
123
+ group "root"
124
+ mode "0600"
125
+ action :create
126
+ end
127
+ end
128
+
129
+ execute "mysql-install-privileges" do
130
+ command "/usr/bin/mysql -u root #{node['mysql']['server_root_password'].empty? ? '' : '-p' }\"#{node['mysql']['server_root_password']}\" < #{grants_path}"
131
+ action :nothing
132
+ subscribes :run, resources("template[#{grants_path}]"), :immediately
133
+ end
@@ -0,0 +1,49 @@
1
+ #
2
+ # Cookbook Name:: mysql
3
+ # Recipe:: default
4
+ #
5
+ # Copyright 2008-2009, Opscode, Inc.
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+ #
19
+
20
+
21
+ if (node.attribute?('ec2') && ! FileTest.directory?(node['mysql']['ec2_path']))
22
+
23
+ service "mysql" do
24
+ action :stop
25
+ end
26
+
27
+ execute "install-mysql" do
28
+ command "mv #{node['mysql']['data_dir']} #{node['mysql']['ec2_path']}"
29
+ not_if do FileTest.directory?(node['mysql']['ec2_path']) end
30
+ end
31
+
32
+ directory node['mysql']['ec2_path'] do
33
+ owner "mysql"
34
+ group "mysql"
35
+ end
36
+
37
+ mount node['mysql']['data_dir'] do
38
+ device node['mysql']['ec2_path']
39
+ fstype "none"
40
+ options "bind,rw"
41
+ action :mount
42
+ end
43
+
44
+ service "mysql" do
45
+ action :start
46
+ end
47
+
48
+ end
49
+
@@ -0,0 +1,12 @@
1
+ [client]
2
+ host = localhost
3
+ user = debian-sys-maint
4
+ password = <%= node['mysql']['server_debian_password'] %>
5
+ socket = <%= node['mysql']['socket'] %>
6
+
7
+ [mysql_upgrade]
8
+ host = localhost
9
+ user = debian-sys-maint
10
+ password = <%= node['mysql']['server_debian_password'] %>
11
+ socket = <%= node['mysql']['socket'] %>
12
+ basedir = /usr
@@ -0,0 +1,15 @@
1
+ # Generated by Chef for <%= node['hostname'] %>.
2
+ # Local modifications will be overwritten.
3
+
4
+ <% case node['platform'] -%>
5
+ <% when "debian","ubuntu" -%>
6
+ GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY '<%= node[:mysql][:server_debian_password] %>' WITH GRANT OPTION;
7
+ <% end -%>
8
+ # Grant replication for a slave user.
9
+ GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%' identified by '<%= node['mysql']['server_repl_password'] %>';
10
+
11
+ # Set the server root password. This should be preseeded by the package installation.
12
+ <% if node['mysql']['allow_remote_root'] -%>
13
+ GRANT ALL ON *.* TO 'root'@'%' IDENTIFIED BY '<%= node['mysql']['server_root_password'] %>' WITH GRANT OPTION;
14
+ <% end -%>
15
+ SET PASSWORD FOR 'root'@'localhost' = PASSWORD('<%= node['mysql']['server_root_password'] %>');
@@ -0,0 +1,176 @@
1
+ #
2
+ # Generated by Chef for <%= node['hostname'] %>
3
+ #
4
+ # Local modifications will be overwritten.
5
+ #
6
+ # The MySQL database server configuration file.
7
+ #
8
+ # You can copy this to one of:
9
+ # - "/etc/mysql/my.cnf" to set global options,
10
+ # - "~/.my.cnf" to set user-specific options.
11
+ #
12
+ # One can use all long options that the program supports.
13
+ # Run program with --help to get a list of available options and with
14
+ # --print-defaults to see which it would actually understand and use.
15
+ #
16
+ # For explanations see
17
+ # http://dev.mysql.com/doc/mysql/en/server-system-variables.html
18
+
19
+ # This will be passed to all mysql clients
20
+ # It has been reported that passwords should be enclosed with ticks/quotes
21
+ # escpecially if they contain "#" chars...
22
+ # Remember to edit /etc/mysql/debian.cnf when changing the socket location.
23
+ [client]
24
+ port = 3306
25
+ socket = <%= node['mysql']['socket'] %>
26
+
27
+ # Here is entries for some specific programs
28
+ # The following values assume you have at least 32M ram
29
+
30
+ # This was formally known as [safe_mysqld]. Both versions are currently parsed.
31
+ [mysqld_safe]
32
+ socket = <%= node['mysql']['socket'] %>
33
+ nice = 0
34
+
35
+ [mysqld]
36
+ #
37
+ # * Basic Settings
38
+ #
39
+
40
+ #
41
+ # * IMPORTANT
42
+ # If you make changes to these settings and your system uses apparmor, you may
43
+ # also need to also adjust /etc/apparmor.d/usr.sbin.mysqld.
44
+ #
45
+
46
+ user = mysql
47
+ pid-file = <%= node['mysql']['pid_file'] %>
48
+ socket = <%= node['mysql']['socket'] %>
49
+ port = 3306
50
+ basedir = /usr
51
+ datadir = <%= node['mysql']['data_dir'] %>
52
+ tmpdir = /tmp
53
+ skip-external-locking
54
+ #
55
+ # Instead of skip-networking the default is now to listen only on
56
+ # localhost which is more compatible and is not less secure.
57
+ bind-address = <%= node['mysql']['bind_address'] %>
58
+ #
59
+ # * Fine Tuning
60
+ #
61
+ key_buffer = <%= node['mysql']['tunable']['key_buffer'] %>
62
+ max_allowed_packet = <%= node['mysql']['tunable']['max_allowed_packet'] %>
63
+ thread_stack = <%= node['mysql']['tunable']['thread_stack'] %>
64
+ thread_cache_size = <%= node['mysql']['tunable']['thread_cache_size'] %>
65
+ # This replaces the startup script and checks MyISAM tables if needed
66
+ # the first time they are touched
67
+ myisam-recover = BACKUP
68
+ #max_connections = 100
69
+ #table_cache = 64
70
+ #thread_concurrency = 10
71
+ max_connections = <%= node['mysql']['tunable']['max_connections'] %>
72
+ wait_timeout = <%= node['mysql']['tunable']['wait_timeout'] %>
73
+ net_read_timeout = <%= node['mysql']['tunable']['net_read_timeout'] %>
74
+ net_write_timeout = <%= node['mysql']['tunable']['net_write_timeout'] %>
75
+ back_log = <%= node['mysql']['tunable']['back_log'] %>
76
+ table_cache = <%= node['mysql']['tunable']['table_cache'] %>
77
+ max_heap_table_size = <%= node['mysql']['tunable']['max_heap_table_size'] %>
78
+
79
+ #
80
+ # * Query Cache Configuration
81
+ #
82
+ query_cache_limit = <%= node['mysql']['tunable']['query_cache_limit'] %>
83
+ query_cache_size = <%= node['mysql']['tunable']['query_cache_size'] %>
84
+ #
85
+ # * Logging and Replication
86
+ #
87
+ # Both location gets rotated by the cronjob.
88
+ # Be aware that this log type is a performance killer.
89
+ #log = /var/log/mysql/mysql.log
90
+ #
91
+ # Error logging goes to syslog. This is a Debian improvement :)
92
+ #
93
+ # Here you can see queries with especially long duration
94
+ log_slow_queries = <%= node['mysql']['tunable']['log_slow_queries'] %>
95
+ long_query_time = <%= node['mysql']['tunable']['long_query_time'] %>
96
+ log-queries-not-using-indexes
97
+ #
98
+ # The following can be used as easy to replay backup logs or for replication.
99
+ # note: if you are setting up a replication slave, see README.Debian about
100
+ # other settings you may need to change.
101
+ #server-id = 1
102
+ #log_bin = /var/log/mysql/mysql-bin.log
103
+ expire_logs_days = <%= node['mysql']['tunable']['expire_logs_days'] %>
104
+ max_binlog_size = <%= node['mysql']['tunable']['max_binlog_size'] %>
105
+ #binlog_do_db = include_database_name
106
+ #binlog_ignore_db = include_database_name
107
+ #
108
+ # * InnoDB
109
+ #
110
+ # InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
111
+ # Read the manual for more InnoDB related options. There are many!
112
+ # You might want to disable InnoDB to shrink the mysqld process by circa 100MB.
113
+ #skip-innodb
114
+ innodb_buffer_pool_size = <%= node['mysql']['tunable']['innodb_buffer_pool_size'] %>
115
+
116
+ <% if @skip_federated %>
117
+ #
118
+ # * Federated
119
+ #
120
+ # The FEDERATED storage engine is disabled since 5.0.67 by default in the .cnf files
121
+ # shipped with MySQL distributions (my-huge.cnf, my-medium.cnf, and so forth).
122
+ #
123
+ skip-federated
124
+ <% end %>
125
+ #
126
+ # * Security Features
127
+ #
128
+ # Read the manual, too, if you want chroot!
129
+ # chroot = /var/lib/mysql/
130
+ #
131
+ # For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
132
+ #
133
+ # ssl-ca=/etc/mysql/cacert.pem
134
+ # ssl-cert=/etc/mysql/server-cert.pem
135
+ # ssl-key=/etc/mysql/server-key.pem
136
+
137
+ [mysqldump]
138
+ quick
139
+ quote-names
140
+ max_allowed_packet = <%= node['mysql']['tunable']['max_allowed_packet'] %>
141
+
142
+ [mysql]
143
+ #no-auto-rehash # faster start of mysql but no tab completition
144
+
145
+ [isamchk]
146
+ key_buffer = <%= node['mysql']['tunable']['max_allowed_packet'] %>
147
+
148
+ #
149
+ # * NDB Cluster
150
+ #
151
+ # See /usr/share/doc/mysql-server-*/README.Debian for more information.
152
+ #
153
+ # The following configuration is read by the NDB Data Nodes (ndbd processes)
154
+ # not from the NDB Management Nodes (ndb_mgmd processes).
155
+ #
156
+ # [MYSQL_CLUSTER]
157
+ # ndb-connectstring=127.0.0.1
158
+
159
+ <% case node['platform'] -%>
160
+ <% when "centos", "redhat", "fedora", "suse", "scientific", "amazon"-%>
161
+ #
162
+ # * BerkeleyDB
163
+ #
164
+ # Using BerkeleyDB is now discouraged as its support will cease in 5.1.12.
165
+ skip-bdb
166
+ # Default to using old password format for compatibility with mysql 3.x
167
+ # clients (those using the mysqlclient10 compatibility package).
168
+ old_passwords = <%= node['mysql']['old_passwords'] %>
169
+
170
+ <% else -%>
171
+ #
172
+ # * IMPORTANT: Additional settings that can override those from this file!
173
+ # The files must end with '.cnf', otherwise they'll be ignored.
174
+ #
175
+ !includedir /etc/mysql/conf.d/
176
+ <% end -%>