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.
- data/.chef/knife.rb +3 -0
- data/.gitignore +1 -0
- data/.rvmrc +1 -0
- data/Gemfile +11 -0
- data/Gemfile.lock +96 -0
- data/README.md +42 -0
- data/Rakefile +1 -0
- data/Vagrantfile +16 -0
- data/cookbooks/.gitkeep +0 -0
- data/cookbooks/apt/README.md +122 -0
- data/cookbooks/apt/files/default/apt-cacher +9 -0
- data/cookbooks/apt/files/default/apt-cacher.conf +144 -0
- data/cookbooks/apt/files/default/apt-proxy-v2.conf +50 -0
- data/cookbooks/apt/metadata.rb +13 -0
- data/cookbooks/apt/providers/repository.rb +73 -0
- data/cookbooks/apt/recipes/cacher-client.rb +44 -0
- data/cookbooks/apt/recipes/cacher.rb +45 -0
- data/cookbooks/apt/recipes/default.rb +50 -0
- data/cookbooks/apt/resources/repository.rb +30 -0
- data/cookbooks/build-essential/README.md +24 -0
- data/cookbooks/build-essential/metadata.rb +10 -0
- data/cookbooks/build-essential/recipes/default.rb +45 -0
- data/cookbooks/database/README.md +403 -0
- data/cookbooks/database/libraries/provider_database_mysql.rb +97 -0
- data/cookbooks/database/libraries/provider_database_mysql_user.rb +76 -0
- data/cookbooks/database/libraries/provider_database_postgresql.rb +126 -0
- data/cookbooks/database/libraries/provider_database_postgresql_user.rb +78 -0
- data/cookbooks/database/libraries/provider_database_sql_server.rb +109 -0
- data/cookbooks/database/libraries/provider_database_sql_server_user.rb +106 -0
- data/cookbooks/database/libraries/resource_database.rb +111 -0
- data/cookbooks/database/libraries/resource_database_user.rb +90 -0
- data/cookbooks/database/libraries/resource_mysql_database.rb +34 -0
- data/cookbooks/database/libraries/resource_mysql_database_user.rb +34 -0
- data/cookbooks/database/libraries/resource_postgresql_database.rb +35 -0
- data/cookbooks/database/libraries/resource_postgresql_database_user.rb +35 -0
- data/cookbooks/database/libraries/resource_sql_server_database.rb +34 -0
- data/cookbooks/database/libraries/resource_sql_server_database_user.rb +34 -0
- data/cookbooks/database/metadata.rb +21 -0
- data/cookbooks/database/recipes/default.rb +20 -0
- data/cookbooks/database/recipes/ebs_backup.rb +89 -0
- data/cookbooks/database/recipes/ebs_volume.rb +196 -0
- data/cookbooks/database/recipes/master.rb +78 -0
- data/cookbooks/database/recipes/snapshot.rb +62 -0
- data/cookbooks/database/templates/default/app_grants.sql.erb +8 -0
- data/cookbooks/database/templates/default/aws_config.erb +3 -0
- data/cookbooks/database/templates/default/chef-solo-database-snapshot.cron.erb +10 -0
- data/cookbooks/database/templates/default/chef-solo-database-snapshot.json.erb +1 -0
- data/cookbooks/database/templates/default/chef-solo-database-snapshot.rb.erb +6 -0
- data/cookbooks/database/templates/default/ebs-backup-cron.erb +2 -0
- data/cookbooks/database/templates/default/ebs-db-backup.sh.erb +8 -0
- data/cookbooks/database/templates/default/ebs-db-restore.sh.erb +10 -0
- data/cookbooks/database/templates/default/s3cfg.erb +27 -0
- data/cookbooks/mysql/README.md +148 -0
- data/cookbooks/mysql/attributes/server.rb +68 -0
- data/cookbooks/mysql/libraries/database.rb +19 -0
- data/cookbooks/mysql/libraries/helpers.rb +33 -0
- data/cookbooks/mysql/metadata.rb +90 -0
- data/cookbooks/mysql/recipes/client.rb +51 -0
- data/cookbooks/mysql/recipes/default.rb +20 -0
- data/cookbooks/mysql/recipes/server.rb +133 -0
- data/cookbooks/mysql/recipes/server_ec2.rb +49 -0
- data/cookbooks/mysql/templates/default/debian.cnf.erb +12 -0
- data/cookbooks/mysql/templates/default/grants.sql.erb +15 -0
- data/cookbooks/mysql/templates/default/my.cnf.erb +176 -0
- data/cookbooks/mysql/templates/default/mysql-server.seed.erb +10 -0
- data/cookbooks/mysql/templates/default/port_mysql.erb +3 -0
- data/cookbooks/openssl/README.md +37 -0
- data/cookbooks/openssl/libraries/secure_password.rb +37 -0
- data/cookbooks/openssl/metadata.rb +8 -0
- data/cookbooks/openssl/recipes/default.rb +19 -0
- data/cookbooks/passenger_enterprise/README.rdoc +8 -0
- data/cookbooks/passenger_enterprise/attributes/default.rb +28 -0
- data/cookbooks/passenger_enterprise/cc.gemspec +36 -0
- data/cookbooks/passenger_enterprise/metadata.json +44 -0
- data/cookbooks/passenger_enterprise/metadata.rb +16 -0
- data/cookbooks/passenger_enterprise/recipes/apache2.rb +54 -0
- data/cookbooks/passenger_enterprise/recipes/default.rb +30 -0
- data/cookbooks/passenger_enterprise/recipes/nginx.rb +50 -0
- data/cookbooks/passenger_enterprise/templates/default/passenger.conf.erb +2 -0
- data/cookbooks/passenger_enterprise/templates/default/passenger.load.erb +1 -0
- data/cookbooks/passenger_enterprise/templates/default/passenger_nginx.conf.erb +2 -0
- data/cookbooks/ruby_enterprise/README.rdoc +55 -0
- data/cookbooks/ruby_enterprise/attributes/default.rb +33 -0
- data/cookbooks/ruby_enterprise/cc.gemspec +36 -0
- data/cookbooks/ruby_enterprise/definitions/ree_gem.rb +28 -0
- data/cookbooks/ruby_enterprise/metadata.json +45 -0
- data/cookbooks/ruby_enterprise/metadata.rb +13 -0
- data/cookbooks/ruby_enterprise/recipes/default.rb +67 -0
- data/data_bags/deploy/authorized_keys.json +9 -0
- data/dna.json +25 -0
- data/elzar.gemspec +22 -0
- data/lib/elzar.rb +21 -0
- data/lib/elzar/assistant.rb +77 -0
- data/lib/elzar/chef_dna.rb +48 -0
- data/lib/elzar/template.rb +24 -0
- data/lib/elzar/templates/Gemfile +11 -0
- data/lib/elzar/templates/Vagrantfile.erb +16 -0
- data/lib/elzar/templates/dna.json +25 -0
- data/lib/elzar/templates/solo.rb.erb +6 -0
- data/lib/elzar/version.rb +3 -0
- data/roles/enterprise_appstack.rb +4 -0
- data/roles/plumbing.rb +11 -0
- data/roles/postgres_database.rb +4 -0
- data/roles/ruby_appstack.rb +4 -0
- data/script/install_cookbook +6 -0
- data/script/new_cookbook +5 -0
- data/site-cookbooks/.gitkeep +0 -0
- data/site-cookbooks/curl/README.md +17 -0
- data/site-cookbooks/curl/metadata.rb +6 -0
- data/site-cookbooks/curl/recipes/default.rb +11 -0
- data/site-cookbooks/nginx/CHANGELOG.md +11 -0
- data/site-cookbooks/nginx/CONTRIBUTING +29 -0
- data/site-cookbooks/nginx/LICENSE +201 -0
- data/site-cookbooks/nginx/README.md +76 -0
- data/site-cookbooks/nginx/attributes/default.rb +65 -0
- data/site-cookbooks/nginx/definitions/nginx_site.rb +35 -0
- data/site-cookbooks/nginx/files/default/mime.types +73 -0
- data/site-cookbooks/nginx/metadata.rb +89 -0
- data/site-cookbooks/nginx/recipes/default.rb +57 -0
- data/site-cookbooks/nginx/recipes/source.rb +126 -0
- data/site-cookbooks/nginx/templates/default/default-site.erb +11 -0
- data/site-cookbooks/nginx/templates/default/nginx.conf.erb +42 -0
- data/site-cookbooks/nginx/templates/default/nginx.init.erb +91 -0
- data/site-cookbooks/nginx/templates/default/nxdissite.erb +29 -0
- data/site-cookbooks/nginx/templates/default/nxensite.erb +38 -0
- data/site-cookbooks/passenger/README.md +12 -0
- data/site-cookbooks/passenger/attributes/default.rb +3 -0
- data/site-cookbooks/passenger/metadata.rb +6 -0
- data/site-cookbooks/passenger/recipes/default.rb +39 -0
- data/site-cookbooks/passenger/templates/default/passenger_nginx.conf.erb +2 -0
- data/site-cookbooks/postgresql/README.md +150 -0
- data/site-cookbooks/postgresql/attributes/default.rb +72 -0
- data/site-cookbooks/postgresql/metadata.rb +21 -0
- data/site-cookbooks/postgresql/recipes/client.rb +40 -0
- data/site-cookbooks/postgresql/recipes/default.rb +20 -0
- data/site-cookbooks/postgresql/recipes/server.rb +74 -0
- data/site-cookbooks/postgresql/recipes/server_debian.rb +62 -0
- data/site-cookbooks/postgresql/recipes/server_redhat.rb +82 -0
- data/site-cookbooks/postgresql/templates/default/debian.postgresql.conf.erb +499 -0
- data/site-cookbooks/postgresql/templates/default/pg_hba.conf.erb +83 -0
- data/site-cookbooks/postgresql/templates/default/redhat.postgresql.conf.erb +501 -0
- data/site-cookbooks/rails_app/README.md +15 -0
- data/site-cookbooks/rails_app/attributes/default.rb +2 -0
- data/site-cookbooks/rails_app/files/default/sudoers +26 -0
- data/site-cookbooks/rails_app/metadata.rb +6 -0
- data/site-cookbooks/rails_app/recipes/default.rb +143 -0
- data/site-cookbooks/rails_app/recipes/system_libraries.rb +12 -0
- data/site-cookbooks/rails_app/templates/default/pg_hba.conf.erb +84 -0
- data/site-cookbooks/rails_app/templates/default/rails_app_nginx.erb +10 -0
- data/site-cookbooks/ruby/README.md +12 -0
- data/site-cookbooks/ruby/attributes/default.rb +6 -0
- data/site-cookbooks/ruby/metadata.rb +6 -0
- data/site-cookbooks/ruby/recipes/default.rb +54 -0
- data/solo.rb +7 -0
- data/upgrade-chef.sh +8 -0
- metadata +272 -0
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
mysql-server-5.0 mysql-server/root_password_again select <%= node['mysql']['server_root_password'] %>
|
|
2
|
+
mysql-server-5.0 mysql-server/root_password select <%= node['mysql']['server_root_password'] %>
|
|
3
|
+
mysql-server-5.0 mysql-server-5.0/really_downgrade boolean false
|
|
4
|
+
mysql-server-5.0 mysql-server-5.0/need_sarge_compat boolean false
|
|
5
|
+
mysql-server-5.0 mysql-server-5.0/start_on_boot boolean true
|
|
6
|
+
mysql-server-5.0 mysql-server/error_setting_password boolean false
|
|
7
|
+
mysql-server-5.0 mysql-server-5.0/nis_warning note
|
|
8
|
+
mysql-server-5.0 mysql-server-5.0/postrm_remove_databases boolean false
|
|
9
|
+
mysql-server-5.0 mysql-server/password_mismatch boolean false
|
|
10
|
+
mysql-server-5.0 mysql-server-5.0/need_sarge_compat_done boolean true
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
Description
|
|
2
|
+
====
|
|
3
|
+
|
|
4
|
+
Provide a library method to generate secure random passwords in recipes.
|
|
5
|
+
|
|
6
|
+
Requirements
|
|
7
|
+
====
|
|
8
|
+
|
|
9
|
+
Works on any platform with OpenSSL Ruby bindings installed, which are a requirement for Chef anyway.
|
|
10
|
+
|
|
11
|
+
Usage
|
|
12
|
+
====
|
|
13
|
+
|
|
14
|
+
Most often this will be used to generate a secure password for an attribute.
|
|
15
|
+
|
|
16
|
+
include Opscode::OpenSSL::Password
|
|
17
|
+
|
|
18
|
+
set_unless[:my_password] = secure_password
|
|
19
|
+
|
|
20
|
+
License and Author
|
|
21
|
+
====
|
|
22
|
+
|
|
23
|
+
Author:: Joshua Timberman (<joshua@opscode.com>)
|
|
24
|
+
|
|
25
|
+
Copyright:: 2009-2011, Opscode, Inc
|
|
26
|
+
|
|
27
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
28
|
+
you may not use this file except in compliance with the License.
|
|
29
|
+
You may obtain a copy of the License at
|
|
30
|
+
|
|
31
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
32
|
+
|
|
33
|
+
Unless required by applicable law or agreed to in writing, software
|
|
34
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
35
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
36
|
+
See the License for the specific language governing permissions and
|
|
37
|
+
limitations under the License.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Cookbook Name:: openssl
|
|
3
|
+
# Library:: secure_password
|
|
4
|
+
# Author:: Joshua Timberman <joshua@opscode.com>
|
|
5
|
+
#
|
|
6
|
+
# Copyright 2009, Opscode, Inc.
|
|
7
|
+
#
|
|
8
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
9
|
+
# you may not use this file except in compliance with the License.
|
|
10
|
+
# You may obtain a copy of the License at
|
|
11
|
+
#
|
|
12
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
13
|
+
#
|
|
14
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
15
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
16
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
17
|
+
# See the License for the specific language governing permissions and
|
|
18
|
+
# limitations under the License.
|
|
19
|
+
#
|
|
20
|
+
|
|
21
|
+
require 'openssl'
|
|
22
|
+
|
|
23
|
+
module Opscode
|
|
24
|
+
module OpenSSL
|
|
25
|
+
module Password
|
|
26
|
+
def secure_password
|
|
27
|
+
pw = String.new
|
|
28
|
+
|
|
29
|
+
while pw.length < 20
|
|
30
|
+
pw << ::OpenSSL::Random.random_bytes(1).gsub(/\W/, '')
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
pw
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
maintainer "Opscode, Inc."
|
|
2
|
+
maintainer_email "cookbooks@opscode.com"
|
|
3
|
+
license "Apache 2.0"
|
|
4
|
+
description "Provides a library with a method for generating secure random passwords."
|
|
5
|
+
long_description IO.read(File.join(File.dirname(__FILE__), 'README.md'))
|
|
6
|
+
version "1.0.0"
|
|
7
|
+
|
|
8
|
+
recipe "openssl", "Empty, this cookbook provides a library, see README.md"
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Cookbook Name:: openssl
|
|
3
|
+
# Recipe:: default
|
|
4
|
+
#
|
|
5
|
+
# Copyright 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
|
+
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Cookbook Name:: passenger_enterprise
|
|
3
|
+
# Based on passenger_apache2
|
|
4
|
+
# attributes:: passenger_enterprise
|
|
5
|
+
#
|
|
6
|
+
# Author:: Joshua Timberman (<joshua@opscode.com>)
|
|
7
|
+
# Author:: Joshua Sierles (<joshua@37signals.com>)
|
|
8
|
+
# Author:: Michael Hale (<mikehale@gmail.com>)
|
|
9
|
+
#
|
|
10
|
+
# Copyright:: 2009, Opscode, Inc
|
|
11
|
+
# Copyright:: 2009, 37signals
|
|
12
|
+
# Coprighty:: 2009, Michael Hale
|
|
13
|
+
#
|
|
14
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
15
|
+
# you may not use this file except in compliance with the License.
|
|
16
|
+
# You may obtain a copy of the License at
|
|
17
|
+
#
|
|
18
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
19
|
+
#
|
|
20
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
21
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
22
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
23
|
+
# See the License for the specific language governing permissions and
|
|
24
|
+
# limitations under the License.
|
|
25
|
+
#
|
|
26
|
+
default[:passenger_enterprise][:version] = "2.2.15"
|
|
27
|
+
default[:passenger_enterprise][:root_path] = "/opt/ruby-enterprise/lib/ruby/gems/1.8/gems/passenger-#{passenger_enterprise[:version]}"
|
|
28
|
+
default[:passenger_enterprise][:module_path] = "#{passenger_enterprise[:root_path]}/ext/apache2/mod_passenger.so"
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
|
2
|
+
lib = File.expand_path('../',__FILE__)
|
|
3
|
+
lib_up = File.expand_path('../../', __FILE__)
|
|
4
|
+
$:.unshift lib unless $:.include?(lib)
|
|
5
|
+
$:.unshift lib_up unless $:.include?(lib_up)
|
|
6
|
+
require 'json'
|
|
7
|
+
|
|
8
|
+
ENV['GEM_PATH']=ENV['BUNDLE_INSTALL_PATH'] if ENV['BUNDLE_INSTALL_PATH']
|
|
9
|
+
ENV['GEM_HOME']=ENV['BUNDLE_INSTALL_PATH'] if ENV['BUNDLE_INSTALL_PATH']
|
|
10
|
+
|
|
11
|
+
name = File.split(lib)[-1]||""
|
|
12
|
+
raise ArgumentError, '', caller if name.empty?
|
|
13
|
+
@name=name
|
|
14
|
+
|
|
15
|
+
Gem.use_paths(ENV['BUNDLE_INSTALL_PATH'],[]) if ENV['BUNDLE_INSTALL_PATH']
|
|
16
|
+
|
|
17
|
+
Gem::Specification.new do |s|
|
|
18
|
+
|
|
19
|
+
md = JSON.parse(File.read(File.expand_path('../metadata.json', __FILE__)))
|
|
20
|
+
|
|
21
|
+
# Required attributes (gem build fails without these)
|
|
22
|
+
s.name = @name
|
|
23
|
+
s.version = md['version'] && !md['version'].empty? ? md['version'] : '0'
|
|
24
|
+
s.files = Dir.glob('**/*') #.map{|f| File.expand_path(f)}
|
|
25
|
+
s.summary = md['description'] ? md['description'] : "The Chef cookbook for #{s.name}"
|
|
26
|
+
|
|
27
|
+
# Optional attributes (gem build warning raised without these)
|
|
28
|
+
s.author = md['maintainer'] ? md['maintainer'] : 'No acknowledged maintainer'
|
|
29
|
+
s.description = md['long_description'] ? md['long_description'] : s.summary
|
|
30
|
+
s.email = md['maintainer_email'] ? md['maintainer_email'] : 'No acknowledged maintainer email'
|
|
31
|
+
s.homepage = 'http://www.opscode.com'
|
|
32
|
+
md['dependencies'].each { |k,v| s.add_dependency(k,v) };
|
|
33
|
+
|
|
34
|
+
s.post_install_message = "Installed Chef Cookbook #{s.name}\n#{s.description}"
|
|
35
|
+
|
|
36
|
+
end
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "passenger_enterprise",
|
|
3
|
+
"description": "Installs and configures Passenger under Ruby Enterprise Edition with Apache",
|
|
4
|
+
"long_description": "= DESCRIPTION:\n\n= REQUIREMENTS:\n\n= ATTRIBUTES:\n\n= USAGE:\n\n",
|
|
5
|
+
"maintainer": "Opscode, Inc.",
|
|
6
|
+
"maintainer_email": "cookbooks@opscode.com",
|
|
7
|
+
"license": "Apache 2.0",
|
|
8
|
+
"platforms": {
|
|
9
|
+
"ubuntu": [
|
|
10
|
+
|
|
11
|
+
]
|
|
12
|
+
},
|
|
13
|
+
"dependencies": {
|
|
14
|
+
"ruby_enterprise": [
|
|
15
|
+
|
|
16
|
+
],
|
|
17
|
+
"nginx": [
|
|
18
|
+
|
|
19
|
+
],
|
|
20
|
+
"apache2": [
|
|
21
|
+
|
|
22
|
+
]
|
|
23
|
+
},
|
|
24
|
+
"recommendations": {
|
|
25
|
+
},
|
|
26
|
+
"suggestions": {
|
|
27
|
+
},
|
|
28
|
+
"conflicting": {
|
|
29
|
+
},
|
|
30
|
+
"providing": {
|
|
31
|
+
},
|
|
32
|
+
"replacing": {
|
|
33
|
+
},
|
|
34
|
+
"attributes": {
|
|
35
|
+
},
|
|
36
|
+
"groupings": {
|
|
37
|
+
},
|
|
38
|
+
"recipes": {
|
|
39
|
+
"passenger_enterprise": "Installs Passenger gem with Ruby Enterprise Edition",
|
|
40
|
+
"passenger_enterprise::apache2": "Enables Apache module configuration for passenger under Ruby Enterprise Edition",
|
|
41
|
+
"passenger_enterprise::nginx": "Installs Passenger gem w/ REE, and recompiles support into Nginx"
|
|
42
|
+
},
|
|
43
|
+
"version": "0.99.0"
|
|
44
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
maintainer "Opscode, Inc."
|
|
2
|
+
maintainer_email "cookbooks@opscode.com"
|
|
3
|
+
license "Apache 2.0"
|
|
4
|
+
description "Installs and configures Passenger under Ruby Enterprise Edition with Apache"
|
|
5
|
+
long_description IO.read(File.join(File.dirname(__FILE__), 'README.rdoc'))
|
|
6
|
+
version "0.99.0"
|
|
7
|
+
|
|
8
|
+
recipe "passenger_enterprise", "Installs Passenger gem with Ruby Enterprise Edition"
|
|
9
|
+
recipe "passenger_enterprise::apache2", "Enables Apache module configuration for passenger under Ruby Enterprise Edition"
|
|
10
|
+
recipe "passenger_enterprise::nginx", "Installs Passenger gem w/ REE, and recompiles support into Nginx"
|
|
11
|
+
|
|
12
|
+
%w{ ruby_enterprise nginx apache2 }.each do |cb|
|
|
13
|
+
depends cb
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
supports "ubuntu"
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Cookbook Name:: passenger_enterprise
|
|
3
|
+
# Based on passenger_apache2
|
|
4
|
+
# Recipe:: apache2
|
|
5
|
+
#
|
|
6
|
+
# Author:: Joshua Timberman (<joshua@opscode.com>)
|
|
7
|
+
# Author:: Joshua Sierles (<joshua@37signals.com>)
|
|
8
|
+
# Author:: Michael Hale (<mikehale@gmail.com>)
|
|
9
|
+
#
|
|
10
|
+
# Copyright:: 2009, Opscode, Inc
|
|
11
|
+
# Copyright:: 2009, 37signals
|
|
12
|
+
# Coprighty:: 2009, Michael Hale
|
|
13
|
+
#
|
|
14
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
15
|
+
# you may not use this file except in compliance with the License.
|
|
16
|
+
# You may obtain a copy of the License at
|
|
17
|
+
#
|
|
18
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
19
|
+
#
|
|
20
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
21
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
22
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
23
|
+
# See the License for the specific language governing permissions and
|
|
24
|
+
# limitations under the License.
|
|
25
|
+
|
|
26
|
+
include_recipe "passenger_enterprise"
|
|
27
|
+
include_recipe "apache2"
|
|
28
|
+
|
|
29
|
+
%w{ apache2-threaded-dev libapr1-dev libaprutil1-dev }.each do |pkg|
|
|
30
|
+
package pkg do
|
|
31
|
+
action :install
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
execute "passenger_apache2_module" do
|
|
36
|
+
command "#{node[:ruby_enterprise][:install_path]}/bin/passenger-install-apache2-module -a"
|
|
37
|
+
creates node[:passenger_enterprise][:module_path]
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
template "#{node[:apache][:dir]}/mods-available/passenger.load" do
|
|
41
|
+
source "passenger.load.erb"
|
|
42
|
+
owner "root"
|
|
43
|
+
group "root"
|
|
44
|
+
mode 0755
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
template "#{node[:apache][:dir]}/mods-available/passenger.conf" do
|
|
48
|
+
source "passenger.conf.erb"
|
|
49
|
+
owner "root"
|
|
50
|
+
group "root"
|
|
51
|
+
mode 0755
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
apache_module "passenger"
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Cookbook Name:: passenger_enterprise
|
|
3
|
+
# Based on passenger_apache2, adapted for nginx too.
|
|
4
|
+
# Recipe:: default
|
|
5
|
+
#
|
|
6
|
+
# Author:: Joshua Timberman (<joshua@opscode.com>)
|
|
7
|
+
# Author:: Joshua Sierles (<joshua@37signals.com>)
|
|
8
|
+
# Author:: Michael Hale (<mikehale@gmail.com>)
|
|
9
|
+
#
|
|
10
|
+
# Copyright:: 2009, Opscode, Inc
|
|
11
|
+
# Copyright:: 2009, 37signals
|
|
12
|
+
# Coprighty:: 2009, Michael Hale
|
|
13
|
+
#
|
|
14
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
15
|
+
# you may not use this file except in compliance with the License.
|
|
16
|
+
# You may obtain a copy of the License at
|
|
17
|
+
#
|
|
18
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
19
|
+
#
|
|
20
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
21
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
22
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
23
|
+
# See the License for the specific language governing permissions and
|
|
24
|
+
# limitations under the License.
|
|
25
|
+
|
|
26
|
+
include_recipe "ruby_enterprise"
|
|
27
|
+
|
|
28
|
+
ree_gem "passenger" do
|
|
29
|
+
version node[:passenger_enterprise][:version]
|
|
30
|
+
end
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Cookbook Name:: passenger_enterprise
|
|
3
|
+
# Recipe:: nginx
|
|
4
|
+
#
|
|
5
|
+
# Author:: Joshua Timberman (<joshua@opscode.com>)
|
|
6
|
+
# Author:: Joshua Sierles (<joshua@37signals.com>)
|
|
7
|
+
# Author:: Michael Hale (<mikehale@gmail.com>)
|
|
8
|
+
#
|
|
9
|
+
# Copyright:: 2009, Opscode, Inc
|
|
10
|
+
# Copyright:: 2009, 37signals
|
|
11
|
+
# Coprighty:: 2009, Michael Hale
|
|
12
|
+
#
|
|
13
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
14
|
+
# you may not use this file except in compliance with the License.
|
|
15
|
+
# You may obtain a copy of the License at
|
|
16
|
+
#
|
|
17
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
18
|
+
#
|
|
19
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
20
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
21
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
22
|
+
# See the License for the specific language governing permissions and
|
|
23
|
+
# limitations under the License.
|
|
24
|
+
|
|
25
|
+
include_recipe "nginx::source"
|
|
26
|
+
include_recipe "passenger_enterprise"
|
|
27
|
+
|
|
28
|
+
configure_flags = node[:nginx][:configure_flags].join(" ")
|
|
29
|
+
nginx_install = node[:nginx][:install_path]
|
|
30
|
+
nginx_version = node[:nginx][:version]
|
|
31
|
+
nginx_dir = node[:nginx][:dir]
|
|
32
|
+
|
|
33
|
+
execute "passenger_nginx_module" do
|
|
34
|
+
command %Q{
|
|
35
|
+
#{node[:ruby_enterprise][:install_path]}/bin/passenger-install-nginx-module \
|
|
36
|
+
--auto --prefix=#{nginx_install} \
|
|
37
|
+
--nginx-source-dir=#{Chef::Config[:file_cache_path]}/nginx-#{nginx_version} \
|
|
38
|
+
--extra-configure-flags='#{configure_flags}'
|
|
39
|
+
}
|
|
40
|
+
not_if "#{nginx_install}/sbin/nginx -V 2>&1 | grep '#{node[:ruby_enterprise][:gems_dir]}/gems/passenger-#{node[:passenger_enterprise][:version]}/ext/nginx'"
|
|
41
|
+
notifies :restart, resources(:service => "nginx")
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
template "#{nginx_dir}/conf.d/passenger.conf" do
|
|
45
|
+
source "passenger_nginx.conf.erb"
|
|
46
|
+
owner "root"
|
|
47
|
+
group "root"
|
|
48
|
+
mode "0644"
|
|
49
|
+
notifies :restart, resources(:service => "nginx")
|
|
50
|
+
end
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
LoadModule passenger_module <%= node[:passenger_enterprise][:module_path] %>
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
= DESCRIPTION:
|
|
2
|
+
|
|
3
|
+
Installs Ruby Enterprise Edition (REE) from Phusion.
|
|
4
|
+
|
|
5
|
+
= REQUIREMENTS:
|
|
6
|
+
|
|
7
|
+
Opscode's build-essential cookbook to get a compiler and associated files installed.
|
|
8
|
+
|
|
9
|
+
= ATTRIBUTES:
|
|
10
|
+
|
|
11
|
+
* ruby_enterprise[:install_path] - Location to install REE. Default /opt/ruby-enterprise
|
|
12
|
+
* ruby_enterprise[:version] - Version-datestamp to use. Default 1.8.7-2011.03. May lag behind latest REE release.
|
|
13
|
+
* ruby_enterprise[:url] - URL to download. Default is from GoogleCode, with the version specified. Note the download ID must be updated when there are new releases.
|
|
14
|
+
|
|
15
|
+
= USAGE:
|
|
16
|
+
|
|
17
|
+
Include the ruby_enterprise recipe to install REE.
|
|
18
|
+
|
|
19
|
+
include_recipe "ruby_enterprise"
|
|
20
|
+
|
|
21
|
+
Or add it to your role, or directly to a node's recipes.
|
|
22
|
+
|
|
23
|
+
Install RubyGems under REE with the ree_gem definition.
|
|
24
|
+
|
|
25
|
+
ree_gem "rails" do
|
|
26
|
+
source "http://gems.rubyforge.org"
|
|
27
|
+
version "2.3.4"
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
The definition supports parameters for source and version, though they are optional.
|
|
31
|
+
|
|
32
|
+
= LICENSE and AUTHOR:
|
|
33
|
+
|
|
34
|
+
Author:: Mike Fiedler (<miketheman@gmail.com>)
|
|
35
|
+
Author:: Joshua Timberman (<joshua@opscode.com>)
|
|
36
|
+
Author:: Sean Cribbs (<seancribbs@gmail.com>)
|
|
37
|
+
Author:: Michael Hale (<mikehale@gmail.com>)
|
|
38
|
+
|
|
39
|
+
Copyright:: 2011, Mike Fiedler
|
|
40
|
+
Copyright:: 2009-2010, Opscode, Inc.
|
|
41
|
+
Copyright:: 2009, Sean Cribbs
|
|
42
|
+
Copyright:: 2009, Michael Hale
|
|
43
|
+
|
|
44
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
45
|
+
you may not use this file except in compliance with the License.
|
|
46
|
+
You may obtain a copy of the License at
|
|
47
|
+
|
|
48
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
49
|
+
|
|
50
|
+
Unless required by applicable law or agreed to in writing, software
|
|
51
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
52
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
53
|
+
See the License for the specific language governing permissions and
|
|
54
|
+
limitations under the License.
|
|
55
|
+
|