Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

COOK-316, add recipes to metadata for all cookbooks

  • Loading branch information...
commit c8bb82b8d3849a6be5f60db555c15ffa110e038a 1 parent a21e3a2
Joshua Timberman jtimberman authored
Showing with 2,572 additions and 2,199 deletions.
  1. +19 −18 activemq/metadata.json
  2. +3 −1 activemq/metadata.rb
  3. +2 −1  apparmor/metadata.json
  4. +2 −1  apparmor/metadata.rb
  5. +8 −2 application/metadata.json
  6. +8 −2 application/metadata.rb
  7. +1 −0  apt/metadata.json
  8. +1 −0  apt/metadata.rb
  9. +14 −13 aws/metadata.json
  10. +2 −1  aws/metadata.rb
  11. +15 −14 boost/metadata.json
  12. +1 −0  boost/metadata.rb
  13. +2 −2 bootstrap/attributes/default.rb
  14. +36 −33 bootstrap/metadata.json
  15. +4 −1 bootstrap/metadata.rb
  16. +23 −16 build-essential/metadata.json
  17. +3 −2 build-essential/metadata.rb
  18. +2 −1  chef/metadata.json
  19. +2 −1  chef/metadata.rb
  20. +3 −1 couchdb/metadata.json
  21. +4 −2 couchdb/metadata.rb
  22. +16 −11 database/metadata.json
  23. +5 −0 database/metadata.rb
  24. +19 −18 django/metadata.json
  25. +3 −1 django/metadata.rb
  26. +18 −17 drbd/metadata.json
  27. +2 −1  drbd/metadata.rb
  28. +17 −14 dynect/metadata.json
  29. +4 −1 dynect/metadata.rb
  30. +1 −0  dynect/recipes/default.rb
  31. +15 −14 dynomite/metadata.json
  32. +2 −1  dynomite/metadata.rb
  33. +49 −0 ec2/metadata.json
  34. +2 −0  ec2/metadata.rb
  35. +18 −17 emacs/metadata.json
  36. +2 −0  emacs/metadata.rb
  37. +17 −16 erlang/metadata.json
  38. +3 −1 erlang/metadata.rb
  39. +17 −16 fail2ban/metadata.json
  40. +3 −1 fail2ban/metadata.rb
  41. +44 −43 gems/metadata.json
  42. +2 −1  gems/metadata.rb
  43. +19 −18 git/metadata.json
  44. +2 −1  git/metadata.rb
  45. +18 −17 god/metadata.json
  46. +3 −1 god/metadata.rb
  47. +22 −17 hadoop/metadata.json
  48. +7 −1 hadoop/metadata.rb
  49. +17 −16 haproxy/metadata.json
  50. +1 −0  haproxy/metadata.rb
  51. +17 −16 heartbeat/metadata.json
  52. +2 −0  heartbeat/metadata.rb
  53. +21 −19 imagemagick/metadata.json
  54. +3 −0  imagemagick/metadata.rb
  55. +12 −11 instiki/metadata.json
  56. +2 −1  instiki/metadata.rb
  57. +2 −1  iptables/metadata.json
  58. +2 −1  iptables/metadata.rb
  59. +19 −18 java/metadata.json
  60. +3 −1 java/metadata.rb
  61. +20 −19 java_sun/metadata.json
  62. +3 −1 java_sun/metadata.rb
  63. +89 −88 jira/metadata.json
  64. +3 −1 jira/metadata.rb
  65. +15 −14 keepalived/metadata.json
  66. +3 −1 keepalived/metadata.rb
  67. +19 −17 kickstart/metadata.json
  68. +3 −1 kickstart/metadata.rb
  69. +17 −16 logrotate/metadata.json
  70. +3 −1 logrotate/metadata.rb
  71. +20 −19 logwatch/metadata.json
  72. +3 −1 logwatch/metadata.rb
  73. +17 −16 lvm/metadata.json
  74. +3 −1 lvm/metadata.rb
  75. +25 −15 man/metadata.json
  76. +4 −2 man/metadata.rb
  77. +2 −0  man/recipes/default.rb
  78. +30 −29 maradns/metadata.json
  79. +2 −0  maradns/metadata.rb
  80. +36 −35 memcached/metadata.json
  81. +5 −1 memcached/metadata.rb
  82. +17 −16 mercurial/metadata.json
  83. +3 −1 mercurial/metadata.rb
  84. +3 −0  munin/metadata.json
  85. +4 −0 munin/metadata.rb
  86. +12 −11 mysql/metadata.json
  87. +2 −1  mysql/metadata.rb
  88. +4 −1 nagios/metadata.json
  89. +5 −1 nagios/metadata.rb
  90. +12 −11 nanite/metadata.json
  91. +2 −0  nanite/metadata.rb
  92. +3 −1 nginx/metadata.json
  93. +4 −1 nginx/metadata.rb
  94. +17 −16 nscd/metadata.json
  95. +3 −0  nscd/metadata.rb
  96. +44 −43 ntp/metadata.json
  97. +3 −1 ntp/metadata.rb
  98. +2 −1  openldap/metadata.json
  99. +2 −1  openldap/metadata.rb
  100. +17 −16 openssh/metadata.json
  101. +3 −1 openssh/metadata.rb
  102. +12 −11 openssl/metadata.json
  103. +2 −0  openssl/metadata.rb
  104. +50 −49 openvpn/metadata.json
  105. +3 −1 openvpn/metadata.rb
  106. +26 −25 packages/metadata.json
  107. +3 −1 packages/metadata.rb
  108. +3 −1 passenger_apache2/metadata.json
  109. +4 −1 passenger_apache2/metadata.rb
  110. +4 −1 passenger_enterprise/metadata.json
  111. +5 −1 passenger_enterprise/metadata.rb
  112. +21 −20 perl/metadata.json
  113. +3 −1 perl/metadata.rb
  114. +2 −1  php/metadata.json
  115. +2 −1  php/metadata.rb
  116. +107 −106 postfix/metadata.json
  117. +2 −1  postfix/metadata.rb
  118. +22 −21 postgresql/metadata.json
  119. +2 −1  postgresql/metadata.rb
  120. +17 −16 python/metadata.json
  121. +2 −0  python/metadata.rb
  122. +27 −26 quick_start/metadata.json
  123. +2 −0  quick_start/metadata.rb
  124. +85 −84 rabbitmq/metadata.json
  125. +2 −1  rabbitmq/metadata.rb
  126. +20 −19 rabbitmq_chef/metadata.json
  127. +3 −1 rabbitmq_chef/metadata.rb
  128. +58 −57 radiant/metadata.json
  129. +3 −1 radiant/metadata.rb
  130. +49 −48 rails/metadata.json
  131. +3 −1 rails/metadata.rb
  132. +15 −14 rails_enterprise/metadata.json
  133. +2 −1  rails_enterprise/metadata.rb
  134. +18 −17 redmine/metadata.json
  135. +3 −1 redmine/metadata.rb
  136. +16 −15 reprepro/metadata.json
  137. +3 −1 reprepro/metadata.rb
  138. +0 −1  reprepro/recipes/default.rb
  139. +41 −40 resolver/metadata.json
  140. +2 −0  resolver/metadata.rb
  141. +345 −344 riak/metadata.json
  142. +1 −0  riak/metadata.rb
  143. +17 −16 rsync/metadata.json
  144. +3 −1 rsync/metadata.rb
  145. +2 −1  rsyslog/metadata.json
  146. +3 −1 rsyslog/metadata.rb
  147. +17 −16 ruby/metadata.json
  148. +3 −1 ruby/metadata.rb
  149. +15 −14 ruby_enterprise/metadata.json
  150. +3 −1 ruby_enterprise/metadata.rb
  151. +12 −12 rubygems/metadata.json
  152. +2 −2 rubygems/metadata.rb
  153. +1 −0  runit/metadata.json
  154. +2 −0  runit/metadata.rb
  155. +13 −11 sbuild/metadata.json
  156. +4 −1 sbuild/metadata.rb
  157. +17 −16 screen/metadata.json
  158. +3 −1 screen/metadata.rb
  159. +46 −45 solr/metadata.json
  160. +2 −0  solr/metadata.rb
  161. +17 −16 sqlite/metadata.json
  162. +3 −1 sqlite/metadata.rb
  163. +16 −16 ssh_known_hosts/metadata.json
  164. +2 −2 ssh_known_hosts/metadata.rb
  165. +19 −18 stompserver/metadata.json
  166. +3 −1 stompserver/metadata.rb
  167. +17 −16 subversion/metadata.json
  168. +3 −1 subversion/metadata.rb
  169. +1 −0  sudo/metadata.json
  170. +2 −0  sudo/metadata.rb
  171. +15 −14 teamspeak/metadata.json
  172. +1 −0  teamspeak/metadata.rb
  173. +15 −14 thrift/metadata.json
  174. +3 −1 thrift/metadata.rb
  175. +15 −14 ubuntu/metadata.json
  176. +2 −1  ubuntu/metadata.rb
  177. +16 −15 unicorn/metadata.json
  178. +2 −1  unicorn/metadata.rb
  179. +17 −16 varnish/metadata.json
  180. +2 −0  varnish/metadata.rb
  181. +86 −85 wordpress/metadata.json
  182. +3 −1 wordpress/metadata.rb
  183. +17 −16 xfs/metadata.json
  184. +3 −1 xfs/metadata.rb
  185. +18 −17 xml/metadata.json
  186. +3 −1 xml/metadata.rb
  187. +18 −17 zlib/metadata.json
  188. +3 −1 zlib/metadata.rb
  189. +17 −16 zsh/metadata.json
  190. +3 −1 zsh/metadata.rb
  191. +5 −1 zsh/recipes/default.rb
37 activemq/metadata.json
View
@@ -1,41 +1,42 @@
{
- "maintainer": "Opscode, Inc.",
+ "recommendations": {
+ },
"attributes": {
},
+ "maintainer": "Opscode, Inc.",
"suggestions": {
},
- "platforms": {
- "ubuntu": [
+ "dependencies": {
+ "runit": [
],
- "debian": [
+ "java": [
]
},
- "dependencies": {
- "java": [
+ "maintainer_email": "cookbooks@opscode.com",
+ "conflicting": {
+ },
+ "platforms": {
+ "debian": [
],
- "runit": [
+ "ubuntu": [
]
},
- "maintainer_email": "cookbooks@opscode.com",
- "conflicting": {
+ "license": "Apache 2.0",
+ "version": "0.3.1",
+ "providing": {
},
- "version": "0.3.0",
- "name": "activemq",
"recipes": {
+ "activemq": "Installs ActiveMQ from source and sets it up as a runit service"
},
- "providing": {
- },
- "license": "Apache 2.0",
"replacing": {
},
+ "name": "activemq",
+ "description": "Installs activemq and sets it up as a runit service",
"groupings": {
},
- "long_description": "= DESCRIPTION:\n\nInstalls activemq and sets up a runit service.\n\n= REQUIREMENTS:\n\nTested on Ubuntu 9.04.\n\nOpscode cookbooks:\n\n* java\n* runit\n\n= ATTRIBUTES:\n\n* activemq[:mirror] - download URL up to the apache/activemq/apache-activemq directory.\n* activemq[:version] - version to install.\n\n= USAGE:\n\nInclude the default recipe on systems where you want to run activemq. At this time the cookbook doesn't use any custom configuration for activemq.\n\n= LICENSE AND AUTHOR:\n\nAuthor:: Joshua Timberman (<joshua@opscode.com>)\n\nCopyright:: 2009, Opscode, Inc\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n",
- "recommendations": {
- },
- "description": "Installs activemq and sets it up as a runit service"
+ "long_description": "= DESCRIPTION:\n\nInstalls activemq and sets up a runit service.\n\n= REQUIREMENTS:\n\nTested on Ubuntu 9.04.\n\nOpscode cookbooks:\n\n* java\n* runit\n\n= ATTRIBUTES:\n\n* activemq[:mirror] - download URL up to the apache/activemq/apache-activemq directory.\n* activemq[:version] - version to install.\n\n= USAGE:\n\nInclude the default recipe on systems where you want to run activemq. At this time the cookbook doesn't use any custom configuration for activemq.\n\n= LICENSE AND AUTHOR:\n\nAuthor:: Joshua Timberman (<joshua@opscode.com>)\n\nCopyright:: 2009, Opscode, Inc\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n"
}
4 activemq/metadata.rb
View
@@ -3,7 +3,9 @@
license "Apache 2.0"
description "Installs activemq and sets it up as a runit service"
long_description IO.read(File.join(File.dirname(__FILE__), 'README.rdoc'))
-version "0.3"
+version "0.3.1"
+
+recipe "activemq", "Installs ActiveMQ from source and sets it up as a runit service"
%w{ubuntu debian}.each do |os|
supports os
3  apparmor/metadata.json
View
@@ -17,10 +17,11 @@
]
},
"license": "Apache 2.0",
- "version": "0.8.1",
+ "version": "0.8.2",
"providing": {
},
"recipes": {
+ "default": "Disables apparmor service on Ubuntu"
},
"replacing": {
},
3  apparmor/metadata.rb
View
@@ -2,5 +2,6 @@
maintainer_email "cookbooks@opscode.com"
license "Apache 2.0"
description "Disables apparmor service on Ubuntu"
-version "0.8.1"
+version "0.8.2"
supports "ubuntu"
+recipe "default", "Disables apparmor service on Ubuntu"
10 application/metadata.json
View
@@ -32,15 +32,21 @@
"platforms": {
},
"license": "Apache 2.0",
- "version": "0.6.0",
+ "version": "0.6.1",
"providing": {
},
"recipes": {
+ "application::unicorn": "Sets up the deployed Rails application with Unicorn as the web server",
+ "application::passenger-nginx": "Installs Ruby Enterprise with Passenger under Nginx",
+ "application": "Loads application databags and selects recipes to use",
+ "application::rails_nginx_ree_passenger": "Deprecated recipe that deployed a rails application under Ruby Enterprise Edition, Passenger and Nginx",
+ "application::rails": "Deploys a Rails application specified in a data bag with the deploy_revision resource",
+ "application::passenger_apache2": "Sets up a deployed Rails application as a Passenger virtual host in Apache2"
},
"replacing": {
},
"name": "application",
- "description": "Deploys and configures a Rails application from databag 'apps'",
+ "description": "Deploys and configures a variety of applications defined from databag 'apps'",
"groupings": {
},
"long_description": "Application cookbook\n====================\n\nThis cookbook is initially designed to be able to describe and deploy web applications. Currently supported:\n\n* Rails\n\nOther application stacks (PHP, DJango, JBoss, etc) will be supported as new recipes at a later date.\n\nThis cookbook aims to provide primitives to install/deploy any kind of application driven entirely by data defined in an abstract way through a data bag.\n\n---\nRequirements\n============\n\nChef 0.8 or higher required.\n\nThe following Opscode cookbooks are dependencies:\n\n* runit\n* unicorn\n* apache2\n\nThe following are also dependencies, though the recipes are considered deprecated, may be useful for future development.\n\n* `ruby_enterprise`\n* `passenger_enterprise`\n\n---\nRecipes\n=======\n\nThe application cookbook contains the following recipes.\n\ndefault\n-------\n\nSearches the `apps` data bag and checks that a server role in the app exists on this node, adds the app to the run state and uses the role for the app to locate the recipes that need to be used. The recipes listed in the \"type\" part of the data bag are included by this recipe, so only the \"application\" recipe needs to be in the node or role `run_list`.\n\nSee below regarding the application data bag structure.\n\npassenger_apache2\n-----------------\n\nRequires `apache2` and `passenger_apache2` cookbooks. The `recipe[apache2]` entry should come before `recipe[application]` in the run list.\n\n \"run_list\": [\n \"recipe[apache2]\",\n \"recipe[application]\"\n ],\n\nSets up a passenger vhost template for the application using the `apache2` cookbook's `web_app` definition. Use this with the `rails` recipe, in the list of recipes for a specific application type. See data bag example below.\n\nrails\n-----\n\nUsing the node's `run_state` that contains the current application in the search, this recipe will install required packages and gems, set up the deployment scaffolding, creates database and memcached configurations if required and then performs a revision-based deploy.\n\nThis recipe can be used on nodes that are going to run the application, or on nodes that need to have the application code checkout available such as supporting utility nodes or a configured load balancer that needs static assets stored in the application repository.\n\nFor Gem Bundler: include `bundler` or `bundler08` in the gems list. `bundle install` or `gem bundle` will be run before migrations.\nFor config.gem in environment: `rake gems:install RAILS_ENV=<node environment>` will be run when a Gem Bundler command is not.\n\nunicorn\n-------\n\nRequires `unicorn` cookbook.\n\nUnicorn is installed, default attributes are set for the node and an app specific unicorn config and runit service are created.\n\n---\nDeprecated Recipes\n==================\n\nThe following recipes are deprecated in favor of rails+unicorn, as that is performant enough for many Rails applications, and takes less time to provision new instances. Using these recipes may require additional work to the rest of the stack that wouldn't be required with rails+unicorn because they were early-phase development of this cookbook.\n\npassenger-nginx\n---------------\n\nBuilds passenger as an nginx module, drops off the configuration file and sets up the site to run the application under nginx with passenger. Does not deploy the code automatically.\n\nrails_nginx_ree_passenger\n-------------------------\n\nSets up the application stack with Ruby Enterprise Edition, Nginx and Passenger.\n\nThe recipe searches the apps data bag and then installs packages and gems, creates the nginx vhost config and enables the site, sets up the deployment scaffolding, and uses a revision-based deploy for the code. Database and memcached yaml files are written out as well, if required.\n\n---\nApplication Data Bag\n====================\n\nThe applications data bag expects certain values in order to configure parts of the recipe. Below is a paste of the JSON, where the value is a description of the key. Use your own values, as required. Note that this data bag is also used by the `database` cookbook, so it will contain database information as well. Items that may be ambiguous have an example.\n\nThe application used in examples is named `my_app` and the environment is `production`. Most top-level keys are Arrays, and each top-level key has an entry that describes what it is for, followed by the example entries. Entries that are hashes themselves will have the description in the value.\n\nNote about \"type\": the recipes listed in the \"type\" will be included in the run list via `include_recipe` in the application default recipe based on the type matching one of the `server_roles` values.\n\nNote about `databases`, the data specified will be rendered as the `database.yml` file. In the `database` cookbook, this information is also used to set up privileges for the application user, and create the databases.\n\nNote about gems and packages, the version is optional. If specified, the version will be passed as a parameter to the resource. Otherwise it will use the latest available version per the default `:install` action for the package provider.\n\n {\n \"id\": \"my_app\",\n \"server_roles\": [\n \"application specific role(s), typically the name of the app, e.g., my_app\",\n \"my_app\"\n ],\n \"type\": {\n \"my_app\": [\n \"recipes in this application cookbook to run for this role\",\n \"rails\",\n \"unicorn\"\n ]\n },\n \"memcached_role\": [\n \"name of the role used for the app-specific memcached server\",\n \"my_app_memcached\"\n ],\n \"database_slave_role\": [\n \"name of the role used by database slaves, typically named after the app, 'my_app_database_slave'\",\n \"my_app_database_slave\"\n ],\n \"database_master_role\": [\n \"name of the role used by database master, typically named after the app 'my_app_database_master'\",\n \"my_app_database_master\"\n ],\n \"repository\": \"git@github.com:company/my_app.git\",\n \"revision\": {\n \"production\": \"commit hash, branch or tag to deploy\"\n },\n \"force\": {\n \"production\": \"true or false w/o quotes to force deployment, see the rails.rb recipe\"\n },\n \"migrate\": {\n \"production\": \"true or false boolean to force migration, see rails.rb recipe\"\n },\n \"databases\": {\n \"production\": {\n \"reconnect\": \"true\",\n \"encoding\": \"utf8\",\n \"username\": \"db_user\",\n \"adapter\": \"mysql\",\n \"password\": \"awesome_password\",\n \"database\": \"db_name_production\"\n }\n },\n \"mysql_root_password\": {\n \"production\": \"password for the root user in mysql\"\n },\n \"mysql_debian_password\": {\n \"production\": \"password for the debian-sys-maint user on ubuntu/debian\"\n },\n \"mysql_repl_password\": {\n \"production\": \"password for the 'repl' user for replication.\"\n },\n \"snapshots_to_keep\": {\n \"production\": \"if using EBS, integer of the number of snapshots we're going to keep for this environment.\"\n },\n \"deploy_key\": \"SSH private key used to deploy from a private git repository\",\n \"deploy_to\": \"path to deploy, e.g. /srv/my_app\",\n \"owner\": \"owner for the application files when deployed\",\n \"group\": \"group for the application files when deployed\",\n \"packages\": {\n \"package_name\": \"specific packages required for installation at the OS level to run the app like libraries and specific version, e.g.\",\n \"curl\": \"7.19.5-1ubuntu2\"\n },\n \"gems\": {\n \"gem_name\": \"specific gems required for installation to run the application, and if a specific version is required, e.g.\",\n \"rails\": \"2.3.5\"\n },\n \"memcached\": {\n \"production\": {\n \"namespace\": \"specify the memcache namespace, ie my_app_environment\"\n }\n }\n }\n\n---\nUsage\n=====\n\nTo use the application cookbook, we recommend creating a role named after the application, e.g. `my_app`. This role should match one of the `server_roles` entries, that will correspond to a `type` entry, in the databag. Create a Ruby DSL role in your chef-repo, or create the role directly with knife.\n\n % knife role show my_app\n {\n \"name\": \"my_app\",\n \"chef_type\": \"role\",\n \"json_class\": \"Chef::Role\",\n \"default_attributes\": {\n },\n \"description\": \"\",\n \"run_list\": [\n \"recipe[application]\"\n ],\n \"override_attributes\": {\n }\n }\n\nAlso recommended is a site-cookbook named after the application, e.g. `my_app`, for additional application specific setup such as other config files for queues, search engines and other components of your application. The `my_app` recipe can be used in the run list of the role, if it includes the `application` recipe.\n\nYou should also have a role for the environment(s) you wish to use this cookbook. Similar to the role above, create the Ruby DSL file in chef-repo, or create with knife directly.\n\n % knife role show production\n {\n \"name\": \"production\",\n \"chef_type\": \"role\",\n \"json_class\": \"Chef::Role\",\n \"default_attributes\": {\n \"app_environment\": \"production\"\n },\n \"description\": \"production environment role\",\n \"run_list\": [\n\n ],\n \"override_attributes\": {\n }\n }\n\nThis role uses a default attribute so nodes can be moved into other environments on the fly simply by modifying their node object directly on the Chef Server.\n\n---\nLicense and Author\n==================\n\nAuthor:: Adam Jacob (<adam@opscode.com>)\nAuthor:: Joshua Timberman (<joshua@opscode.com>)\n\nCopyright 2009-2010, Opscode, Inc.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n"
10 application/metadata.rb
View
@@ -1,9 +1,15 @@
maintainer "Opscode, Inc."
maintainer_email "cookbooks@opscode.com"
license "Apache 2.0"
-description "Deploys and configures a Rails application from databag 'apps'"
+description "Deploys and configures a variety of applications defined from databag 'apps'"
long_description IO.read(File.join(File.dirname(__FILE__), 'README.md'))
-version "0.6.0"
+version "0.6.1"
+recipe "application", "Loads application databags and selects recipes to use"
+recipe "application::passenger-nginx", "Installs Ruby Enterprise with Passenger under Nginx"
+recipe "application::passenger_apache2", "Sets up a deployed Rails application as a Passenger virtual host in Apache2"
+recipe "application::rails", "Deploys a Rails application specified in a data bag with the deploy_revision resource"
+recipe "application::rails_nginx_ree_passenger", "Deprecated recipe that deployed a rails application under Ruby Enterprise Edition, Passenger and Nginx"
+recipe "application::unicorn", "Sets up the deployed Rails application with Unicorn as the web server"
%w{ ruby_enterprise passenger_enterprise runit unicorn apache2 passenger_apache2}.each do |cb|
depends cb
1  apt/metadata.json
View
@@ -25,6 +25,7 @@
},
"recipes": {
"apt::proxy": "Set up an APT proxy",
+ "apt": "Runs apt-get update during compile phase and sets up preseed directories",
"apt::cacher": "Set up an APT cache"
},
"replacing": {
1  apt/metadata.rb
View
@@ -3,6 +3,7 @@
license "Apache 2.0"
description "Configures apt and apt services"
version "0.9.1"
+recipe "apt", "Runs apt-get update during compile phase and sets up preseed directories"
recipe "apt::cacher", "Set up an APT cache"
recipe "apt::proxy", "Set up an APT proxy"
27 aws/metadata.json
View
@@ -1,29 +1,30 @@
{
- "conflicting": {
+ "recommendations": {
},
"attributes": {
},
+ "maintainer": "Opscode, Inc.",
+ "suggestions": {
+ },
+ "dependencies": {
+ },
+ "maintainer_email": "cookbooks@opscode.com",
+ "conflicting": {
+ },
"platforms": {
},
+ "license": "Apache 2.0",
+ "version": "0.9.1",
"providing": {
},
- "dependencies": {
- },
"recipes": {
+ "aws": "Installs the right_aws gem during compile time"
},
- "version": "0.9.0",
"replacing": {
},
"name": "aws",
+ "description": "LWRPs for managing AWS resources",
"groupings": {
},
- "license": "Apache 2.0",
- "long_description": "Description\n===========\n\nThis cookbook provides libraries, resources and providers to configure and manage Amazon Web Services components and offerings with the EC2 API. Currently supported resources:\n\n* EBS Volumes (`ebs_volume`)\n* Elastic IPs (`elastic_ip`)\n\n---\nRequirements\n============\n\nRequires Chef 0.7.10 or higher for Lightweight Resource and Provider support. Chef 0.8+ is recommended. While this cookbook can be used in `chef-solo` mode, to gain the most flexibility, we recommend using `chef-client` with a Chef Server.\n\nAn Amazon Web Services account is required. The Access Key and Secret Access Key are used to authenticate with EC2.\n\n---\nAWS Credentials\n===============\n\nIn order to manage AWS components, authentication credentials need to be available to the node. There are a number of ways to handle this, such as node attributes or roles. We recommend storing these in a databag (Chef 0.8+), and loading them in the recipe where the resources are needed.\n\nDataBag recommendation:\n\n % knife data bag show aws main\n {\n \"id\": \"main\",\n \"aws_access_key_id\": \"YOUR_ACCESS_KEY\",\n \"aws_secret_access_key\": \"YOUR_SECRET_ACCESS_KEY\"\n }\n\nThis can be loaded in a recipe with:\n\n aws = data_bag_item(\"aws\", \"main\")\n\nAnd to access the values:\n\n aws['aws_access_key_id']\n aws['aws_secret_access_key']\n\nWe'll look at specific usage below.\n\n---\nRecipes\n=======\n\ndefault.rb\n----------\n\nThe default recipe installs the `right_aws` RubyGem, which this cookbook requires in order to work with the EC2 API. Make sure that the aws recipe is in the node or role `run_list` before any resources from this cookbook are used.\n\n \"run_list\": [\n \"recipe[aws]\"\n ]\n\nThe `gem_package` is created as a Ruby Object and thus installed during the Compile Phase of the Chef run.\n\n---\nLibraries\n=========\n\nThe cookbook has a library module, `Opscode::AWS::Ec2`, which can be included where necessary:\n\n include Opscode::Aws::Ec2\n\nThis is needed in any providers in the cookbook. Along with some helper methods used in the providers, it sets up a class variable, `ec2` that is used along with the access and secret access keys\n\n---\nResources and Providers\n=======================\n\nThis cookbook provides two resources and corresponding providers.\n\nebs_volume.rb\n-------------\n\nManage Elastic Block Store (EBS) volumes with this resource.\n\nActions:\n\n* `create` - create a new volume.\n* `attach` - attach the specified volume.\n* `detach` - detach the specified volume.\n* `snapshot` - create a snapshot of the volume.\n* `prune` - prune snapshots.\n\nAttribute Parameters:\n\n* `aws_secret_access_key`, `aws_access_key` - passed to `Opscode::AWS:Ec2` to authenticate, required.\n* `size` - size of the volume in gigabytes.\n* `snapshot_id` - snapshot to build EBS volume from.\n* `availability_zone` - EC2 region, and is normally automatically detected.\n* `device` - local block device to attach the volume to, e.g. `/dev/sdi` but no default value, required.\n* `volume_id` - specify an ID to attach, cannot be used with action `:create` because AWS assigns new volume IDs\n* `timeout` - connection timeout for EC2 API.\n* `snapshots_to_keep` - used with action `:prune` for number of snapshots to maintain.\n\nelastic_ip.rb\n-------------\n\nActions:\n\n* `associate` - associate the IP.\n* `disassociate` - disassociate the IP.\n\nAttribute Parameters:\n\n* `aws_secret_access_key`, `aws_access_key` - passed to `Opscode::AWS:Ec2` to authenticate, required.\n* `ip` - the IP address.\n* `timeout` - connection timeout for EC2 API.\n\n\n---\nUsage\n=====\n\nFor both the `ebs_volume` and `elastic_ip` resources, put the following at the top of the recipe where they are used.\n\n include_recipe \"aws\"\n aws = data_bag_item(\"aws\", \"main\")\n\naws_ebs_volume\n--------------\n\nThe resource only handles manipulating the EBS volume, additional resources need to be created in the recipe to manage the attached volume as a filesystem or logical volume.\n\n aws_ebs_volume \"db_ebs_volume\" do\n aws_access_key aws['aws_access_key_id']\n aws_secret_access_key aws['aws_secret_access_key_id']\n size 50\n device \"/dev/sdi\"\n action [ :create, :attach ]\n end\n\nThis will create a 50G volume, attach it to the instance as `/dev/sdi`.\n\n aws_ebs_volume \"db_ebs_volume_from_snapshot\" do\n aws_access_key aws['aws_access_key_id']\n aws_secret_access_key aws['aws_secret_access_key_id']\n size 50\n device \"/dev/sdi\"\n snapshot_id \"snap-ABCDEFGH\"\n action [ :create, :attach ]\n end\n\nThis will create a new 50G volume from the snapshot ID provided and attach it as `/dev/sdi`.\n\naws_elastic_ip\n--------------\n\nThe `elastic_ip` resource provider does not support allocating new IPs. This must be done before running a recipe that uses the resource. After allocating a new Elastic IP, we recommend storing it in a databag and loading the item in the recipe.\n\nDatabag structure:\n\n % knife data bag show aws eip_load_balancer_production\n {\n \"id\": \"eip_load_balancer_production\",\n \"public_ip\": \"YOUR_ALLOCATED_IP\"\n }\n\nThen to set up the Elastic IP on a system:\n\n ip_info = data_bag_item(\"aws\", \"eip_load_balancer_production\")\n\n aws_elastic_ip \"eip_load_balancer_production\" do\n aws_access_key aws['aws_access_key_id']\n aws_secret_access_key aws['aws_secret_access_key_id']\n lb ip_info['public_ip']\n action :associate\n end\n\nThis will use the loaded `aws` and `ip_info` databags to pass the required values into the resource to configure. Note that when associating an Elastic IP to an instance, connectivity to the instance will be lost because the public IP address is changed. You will need to reconnect to the instance with the new IP.\n\nYou can also store this in a role as an attribute or assign to the node directly, if preferred.\n\n---\nLicense and Author\n==================\n\nAuthor:: Chris Walters (<cw@opscode.com>)\nAuthor:: AJ Christensen (<aj@opscode.com>)\n\nCopyright 2009-2010, Opscode, Inc.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n",
- "recommendations": {
- },
- "maintainer": "Opscode, Inc.",
- "suggestions": {
- },
- "maintainer_email": "cookbooks@opscode.com",
- "description": "LWRPs for managing AWS resources"
+ "long_description": "Description\n===========\n\nThis cookbook provides libraries, resources and providers to configure and manage Amazon Web Services components and offerings with the EC2 API. Currently supported resources:\n\n* EBS Volumes (`ebs_volume`)\n* Elastic IPs (`elastic_ip`)\n\n---\nRequirements\n============\n\nRequires Chef 0.7.10 or higher for Lightweight Resource and Provider support. Chef 0.8+ is recommended. While this cookbook can be used in `chef-solo` mode, to gain the most flexibility, we recommend using `chef-client` with a Chef Server.\n\nAn Amazon Web Services account is required. The Access Key and Secret Access Key are used to authenticate with EC2.\n\n---\nAWS Credentials\n===============\n\nIn order to manage AWS components, authentication credentials need to be available to the node. There are a number of ways to handle this, such as node attributes or roles. We recommend storing these in a databag (Chef 0.8+), and loading them in the recipe where the resources are needed.\n\nDataBag recommendation:\n\n % knife data bag show aws main\n {\n \"id\": \"main\",\n \"aws_access_key_id\": \"YOUR_ACCESS_KEY\",\n \"aws_secret_access_key\": \"YOUR_SECRET_ACCESS_KEY\"\n }\n\nThis can be loaded in a recipe with:\n\n aws = data_bag_item(\"aws\", \"main\")\n\nAnd to access the values:\n\n aws['aws_access_key_id']\n aws['aws_secret_access_key']\n\nWe'll look at specific usage below.\n\n---\nRecipes\n=======\n\ndefault.rb\n----------\n\nThe default recipe installs the `right_aws` RubyGem, which this cookbook requires in order to work with the EC2 API. Make sure that the aws recipe is in the node or role `run_list` before any resources from this cookbook are used.\n\n \"run_list\": [\n \"recipe[aws]\"\n ]\n\nThe `gem_package` is created as a Ruby Object and thus installed during the Compile Phase of the Chef run.\n\n---\nLibraries\n=========\n\nThe cookbook has a library module, `Opscode::AWS::Ec2`, which can be included where necessary:\n\n include Opscode::Aws::Ec2\n\nThis is needed in any providers in the cookbook. Along with some helper methods used in the providers, it sets up a class variable, `ec2` that is used along with the access and secret access keys\n\n---\nResources and Providers\n=======================\n\nThis cookbook provides two resources and corresponding providers.\n\nebs_volume.rb\n-------------\n\nManage Elastic Block Store (EBS) volumes with this resource.\n\nActions:\n\n* `create` - create a new volume.\n* `attach` - attach the specified volume.\n* `detach` - detach the specified volume.\n* `snapshot` - create a snapshot of the volume.\n* `prune` - prune snapshots.\n\nAttribute Parameters:\n\n* `aws_secret_access_key`, `aws_access_key` - passed to `Opscode::AWS:Ec2` to authenticate, required.\n* `size` - size of the volume in gigabytes.\n* `snapshot_id` - snapshot to build EBS volume from.\n* `availability_zone` - EC2 region, and is normally automatically detected.\n* `device` - local block device to attach the volume to, e.g. `/dev/sdi` but no default value, required.\n* `volume_id` - specify an ID to attach, cannot be used with action `:create` because AWS assigns new volume IDs\n* `timeout` - connection timeout for EC2 API.\n* `snapshots_to_keep` - used with action `:prune` for number of snapshots to maintain.\n\nelastic_ip.rb\n-------------\n\nActions:\n\n* `associate` - associate the IP.\n* `disassociate` - disassociate the IP.\n\nAttribute Parameters:\n\n* `aws_secret_access_key`, `aws_access_key` - passed to `Opscode::AWS:Ec2` to authenticate, required.\n* `ip` - the IP address.\n* `timeout` - connection timeout for EC2 API.\n\n\n---\nUsage\n=====\n\nFor both the `ebs_volume` and `elastic_ip` resources, put the following at the top of the recipe where they are used.\n\n include_recipe \"aws\"\n aws = data_bag_item(\"aws\", \"main\")\n\naws_ebs_volume\n--------------\n\nThe resource only handles manipulating the EBS volume, additional resources need to be created in the recipe to manage the attached volume as a filesystem or logical volume.\n\n aws_ebs_volume \"db_ebs_volume\" do\n aws_access_key aws['aws_access_key_id']\n aws_secret_access_key aws['aws_secret_access_key_id']\n size 50\n device \"/dev/sdi\"\n action [ :create, :attach ]\n end\n\nThis will create a 50G volume, attach it to the instance as `/dev/sdi`.\n\n aws_ebs_volume \"db_ebs_volume_from_snapshot\" do\n aws_access_key aws['aws_access_key_id']\n aws_secret_access_key aws['aws_secret_access_key_id']\n size 50\n device \"/dev/sdi\"\n snapshot_id \"snap-ABCDEFGH\"\n action [ :create, :attach ]\n end\n\nThis will create a new 50G volume from the snapshot ID provided and attach it as `/dev/sdi`.\n\naws_elastic_ip\n--------------\n\nThe `elastic_ip` resource provider does not support allocating new IPs. This must be done before running a recipe that uses the resource. After allocating a new Elastic IP, we recommend storing it in a databag and loading the item in the recipe.\n\nDatabag structure:\n\n % knife data bag show aws eip_load_balancer_production\n {\n \"id\": \"eip_load_balancer_production\",\n \"public_ip\": \"YOUR_ALLOCATED_IP\"\n }\n\nThen to set up the Elastic IP on a system:\n\n ip_info = data_bag_item(\"aws\", \"eip_load_balancer_production\")\n\n aws_elastic_ip \"eip_load_balancer_production\" do\n aws_access_key aws['aws_access_key_id']\n aws_secret_access_key aws['aws_secret_access_key_id']\n lb ip_info['public_ip']\n action :associate\n end\n\nThis will use the loaded `aws` and `ip_info` databags to pass the required values into the resource to configure. Note that when associating an Elastic IP to an instance, connectivity to the instance will be lost because the public IP address is changed. You will need to reconnect to the instance with the new IP.\n\nYou can also store this in a role as an attribute or assign to the node directly, if preferred.\n\n---\nLicense and Author\n==================\n\nAuthor:: Chris Walters (<cw@opscode.com>)\nAuthor:: AJ Christensen (<aj@opscode.com>)\n\nCopyright 2009-2010, Opscode, Inc.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n"
}
3  aws/metadata.rb
View
@@ -3,4 +3,5 @@
license "Apache 2.0"
description "LWRPs for managing AWS resources"
long_description IO.read(File.join(File.dirname(__FILE__), 'README.md'))
-version "0.9"
+version "0.9.1"
+recipe "aws", "Installs the right_aws gem during compile time"
29 boost/metadata.json
View
@@ -1,32 +1,33 @@
{
- "maintainer": "Opscode, Inc.",
+ "recommendations": {
+ },
"attributes": {
},
+ "maintainer": "Opscode, Inc.",
"suggestions": {
},
- "platforms": {
- "ubuntu": [
-
- ]
- },
"dependencies": {
},
"maintainer_email": "cookbooks@opscode.com",
"conflicting": {
},
- "version": "0.1.0",
- "name": "boost",
- "recipes": {
+ "platforms": {
+ "ubuntu": [
+
+ ]
},
+ "license": "Apache 2.0",
+ "version": "0.1.0",
"providing": {
},
- "license": "Apache 2.0",
+ "recipes": {
+ "boost": "Installs libboost-dev"
+ },
"replacing": {
},
+ "name": "boost",
+ "description": "Installs libboost",
"groupings": {
},
- "long_description": "= DESCRIPTION:\n\nInstalls boost, mainly to support Thrift.\n\n= REQUIREMENTS:\n\nPlatform: Ubuntu 9.04. Not tested on any others at this time.\n\n= USAGE:\n\nInclude this recipe to install boost development packages.\n\n include_recipe \"boost\"\n\nMerely installs the libboost-dev package which should grab a bunch of dependencies and get the right thing.\n\n= LICENSE and AUTHOR:\n\n\nAuthor:: Joshua Timberman (<joshua@opscode.com>)\nCopyright:: 2009, Opscode, Inc.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n",
- "recommendations": {
- },
- "description": "Installs libboost"
+ "long_description": "= DESCRIPTION:\n\nInstalls boost, mainly to support Thrift.\n\n= REQUIREMENTS:\n\nPlatform: Ubuntu 9.04. Not tested on any others at this time.\n\n= USAGE:\n\nInclude this recipe to install boost development packages.\n\n include_recipe \"boost\"\n\nMerely installs the libboost-dev package which should grab a bunch of dependencies and get the right thing.\n\n= LICENSE and AUTHOR:\n\n\nAuthor:: Joshua Timberman (<joshua@opscode.com>)\nCopyright:: 2009, Opscode, Inc.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n"
}
1  boost/metadata.rb
View
@@ -4,5 +4,6 @@
description "Installs libboost"
long_description IO.read(File.join(File.dirname(__FILE__), 'README.rdoc'))
version "0.1"
+recipe "boost", "Installs libboost-dev"
supports "ubuntu"
4 bootstrap/attributes/default.rb
View
@@ -32,8 +32,8 @@
set_unless[:bootstrap][:chef][:webui_admin_password] = secure_password
set_unless[:bootstrap][:chef][:validation_client_name] = "chef-validator"
-set_unless[:bootstrap][:chef][:server_version] = "0.9.2"
-set_unless[:bootstrap][:chef][:client_version] = "0.9.2"
+set_unless[:bootstrap][:chef][:server_version] = "0.9.4"
+set_unless[:bootstrap][:chef][:client_version] = "0.9.4"
set_unless[:bootstrap][:chef][:client_interval] = "1800"
set_unless[:bootstrap][:chef][:client_splay] = "20"
set_unless[:bootstrap][:chef][:log_dir] = "/var/log/chef"
69 bootstrap/metadata.json
View
@@ -1,74 +1,77 @@
{
- "replacing": {
+ "recommendations": {
},
"attributes": {
},
- "platforms": {
- "freebsd": [
+ "maintainer": "Opscode, Inc.",
+ "suggestions": {
+ },
+ "dependencies": {
+ "xml": [
],
- "ubuntu": [
+ "zlib": [
],
- "openbsd": [
+ "runit": [
],
- "fedora": [
+ "couchdb": [
],
- "centos": [
+ "java": [
],
- "redhat": [
+ "openssl": [
],
- "debian": [
+ "rabbitmq_chef": [
+
+ ],
+ "apache2": [
]
},
- "groupings": {
+ "maintainer_email": "cookbooks@opscode.com",
+ "conflicting": {
},
- "dependencies": {
- "zlib": [
-
- ],
- "xml": [
+ "platforms": {
+ "openbsd": [
],
- "java": [
+ "debian": [
],
- "runit": [
+ "fedora": [
],
- "couchdb": [
+ "centos": [
],
- "openssl": [
+ "freebsd": [
],
- "rabbitmq_chef": [
+ "ubuntu": [
],
- "apache2": [
+ "redhat": [
]
},
- "long_description": "= DEPRECATION NOTICE !\n\nThis cookbook is deprecated. It can still be used, but plan to change to using the \"chef\" cookbook. Note the recipe name changes:\n\n bootstrap::client -> chef::bootstrap_client\n bootstrap::server -> chef::bootstrap_server\n\nWhen using the \"chef\" cookbook, attributes are namespaced under \"chef\" not \"bootstrap[:chef]\".\n\nSee the README.md in the chef cookbook.\n\n= DESCRIPTION:\n\nThis cookbook configures a Chef client or server installed via RubyGems. If Chef was installed from OS packages, please use the \"chef\" cookbook to configure Chef itself.\n\n= REQUIREMENTS:\n\nThis cookbook requires Chef installed from RubyGems. Chef v0.8.x+.\n\n== Platform:\n\nServer bootstrap is tested on Ubuntu 9.10, 9.04, 8.10 and 8.04, Debian 5.0.\n\nClient bootstrap is tested on the above, plus CentOS 5.3, Fedora 10, OpenBSD 4.6, FreeBSD 7.1 and Gentoo. OpenSolaris 11 is also tested, but there's a bug in Ohai that requires some manual intervention (OHAI-122).\n\n== Cookbooks:\n\nOpscode cookbooks, http://github.com/opscode/cookbooks:\n\nBoth clients and servers:\n\n* runit\n\nServers only:\n\n* couchdb\n* rabbitmq_chef\n* openssl\n* zlib\n* xml\n* java\n\nThe couchdb and rabbitmq_chef recipes may be naive depending on the platform. The contents can be reviewed in the opscode/cookbooks repository to check if a particular platform is supported. If not, manual installation and modifications to the recipes will be required.\n\n= ATTRIBUTES:\n\nCookbook attributes are namespaced 'bootstrap[:chef]' - eg: 'bootstrap[:chef][:client_version]'. You may wish to change some of these locations to customize for your environment. For the bootstrap process this is done with a JSON data file passed to chef-solo.\n\n== umask\n\nSets the umask for files created by the server process.\n\n== url_type\n\nSet up the URLs the client should connect to with this. Default is 'http', which tells the client to connect to 'http://server:4000'. If you want to set up your chef-server to use an SSL front-end, set this to 'https' and the URLs will be 'https://server/'. The bootstrap::server recipe does not support an SSL front-end configuration, see chef::server_proxy for an example.\n\n== init_style\n\nSpecifies the init style to use. Default 'runit'. Other possible values 'init', 'bsd', any other string will be treated as unknown.\n\nIf your platform doesn't have a 'runit' package or if the cookbook doesn't detect it, but you stil want to use runit, set init_style to 'none' and install runit separately.\n\n== path\n\nThis is the base location where chef will store its associated data. Default '/srv/chef' for RubyGems installed systems. The location preference varies by platform. The default is a filesystem hiearchy standard suggestion[0]. Some other locations you may consider, by platform:\n\nDebian and Red Hat based Linux distros (Ubuntu, CentOS, Fedora, etc):\n\n* /var/lib/chef\n\nAny BSD and Gentoo:\n\n* /var/chef\n\n== run_path\n\nLocation for pidfiles on systems using init scripts. Default '/var/run/chef'.\n\nIf init_style is 'init', this is used, and should match what the init script itself uses for the PID files.\n\n== cache_path\n\nLocation where the client will cache cookbooks and other data. Default is 'cache' underneath the bootstrap[:chef][:path] location. Some Linux distributions might prefer /var/cache/chef instead.\n\n== serve_path\n\nUsed by the Chef server as the base location to \"serve\" cookbooks, roles and other assets. Default is /srv/chef.\n\n== server_port\n\nPort for the chef-server API process. Default is 4000.\n\n== webui_port\n\nPort for the chef-server-webui process. Default is 4040.\n\n== webui_enabled\n\nWhether the web user interface should be installed and enabled. Default is 'false'. In Chef versions prior to 0.8 the webui provided the API, but 0.8 split them apart so now the webui is optional. See the Chef wiki [1] for major changes in 0.8.\n\n== webui_admin_password\n\nSet a random, secure default password for the webui user. See /etc/chef/server.rb when the chef-solo run completes for the value of web_ui_admin_default_password to log into the webui. This password is generated with the openssl cookbook, though can be set with JSON.\n\n== server_version, client_version\n\nSet the version of the Gems to install. This can be used to upgrade Chef automatically[2]. The chef gems are not managed by the Opscode Chef cookbook, however.\n\n== client_interval\n\nNumber of seconds to run chef-client periodically. Default '1800' (30 minutes).\n\n== client_splay\n\nSplay interval to randomly add to interval. Default '20'.\n\n== log_dir\n\nDirectory where logs are stored if logs are not sent to STDOUT. Systems using runit should send logs to STDOUT as runit manages log output. Default '/var/log/chef'. Runit's logs are in /etc/sv/SERVICE_NAME/log/main/current, where SERVICE_NAME is the name of the service, e.g., 'chef-client', 'chef-server', 'chef-solr' etc. See the recipes for the runit_services that get set up.\n\n== client_log, indexer_log, server_log\n\nLocation of the client, indexer and server logs, respectively. Default 'STDOUT' on systems with runit, '/var/log/chef/{client,indexer,server}.log' on other systems.\n\n== server_fqdn\n\nFully qualified domain name of the server. Default is the current node's fqdn as detected by Ohai. For clients, set this to the hostname of your environment's Chef Server.\n\n== server_token\n\nThe validation_token used to automatically authorize chef-clients. Default is a random string generated every time chef-solo runs. Use chef-client -t 'validation_token' to automatically validate the client.\n\n[0] http://www.pathname.com/fhs/\n[1] http://wiki.opscode.com/display/chef/Release+Notes\n[2] http://blog.opscode.com/2009/08/cool-chef-tricks-upgrade-chef-with-chef.html\n\n= USAGE:\n\nOpscode stores this cookbook and some others (see the requirements above) on S3. Use chef-solo:\n\n sudo chef-solo -j chef.json -c solo.rb -r http://s3.amazonaws.com/chef-solo/bootstrap-latest.tar.gz\n\nYou set the attributes through the chef.json file, and tell Solo where to put them with solo.rb.\n\n== Clients:\n\nCommon attributes you may wish to adjust for the client:\n\n{\n \"bootstrap\": {\n \"chef\": {\n \"url_type\": \"http\",\n \"init_style\": \"runit\",\n \"server_port\": \"4000\",\n \"path\": \"/srv/chef\",\n \"server_fqdn\": \"localhost.localdomain\",\n }\n },\n \"recipes\": \"bootstrap::client\"\n}\n\n== Servers:\n\n= Note server_port is a new attribute, you don't have to set it... but if you do, your clients need to know where it goes.\n\nCommon attributes you may wish to adjust for the server:\n\n\n{\n \"bootstrap\": {\n \"chef\": {\n \"url_type\": \"http\",\n \"init_style\": \"runit\",\n \"path\": \"/srv/chef\",\n \"server_port\": \"4000\",\n \"serve_path\": \"/srv/chef\",\n \"server_fqdn\": \"localhost.localdomain\",\n }\n },\n \"recipes\": \"bootstrap::server\"\n}\n\nNote that the server recipe includes the client recipe as well, since we recommend managing the chef-server with Chef.\n\nFor more information on usage and next steps, please see the Chef wiki.\n\n http://wiki.opscode.com/display/chef/Home\n\n= LICENSE and AUTHOR:\n\nAuthor:: Joshua Timberman <joshua@opscode.com>\nAuthor:: Joshua Sierles <joshua@37signals.com>\n\nCopyright 2008-2009, Opscode, Inc\nCopyright 2009, 37signals\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\n",
- "recommendations": {
- },
- "version": "0.11.2",
- "maintainer": "Opscode, Inc.",
- "name": "bootstrap",
- "suggestions": {
+ "license": "Apache 2.0",
+ "version": "0.11.3",
+ "providing": {
},
"recipes": {
+ "bootstrap": "This cookbook is deprecated in favor of using the chef cookbook and its bootstrap recipes",
+ "bootstrap::client": "This cookbook is deprecated in favor of using the chef cookbook and its bootstrap recipes",
+ "bootstrap::server": "This cookbook is deprecated in favor of using the chef cookbook and its bootstrap recipes"
},
- "license": "Apache 2.0",
- "maintainer_email": "cookbooks@opscode.com",
- "conflicting": {
+ "replacing": {
},
- "providing": {
+ "name": "bootstrap",
+ "description": "Configures RubyGems-installed Chef",
+ "groupings": {
},
- "description": "Configures RubyGems-installed Chef"
+ "long_description": "= DEPRECATION NOTICE !\n\nThis cookbook is deprecated. It can still be used, but plan to change to using the \"chef\" cookbook. Note the recipe name changes:\n\n bootstrap::client -> chef::bootstrap_client\n bootstrap::server -> chef::bootstrap_server\n\nWhen using the \"chef\" cookbook, attributes are namespaced under \"chef\" not \"bootstrap[:chef]\".\n\nSee the README.md in the chef cookbook.\n\n= DESCRIPTION:\n\nThis cookbook configures a Chef client or server installed via RubyGems. If Chef was installed from OS packages, please use the \"chef\" cookbook to configure Chef itself.\n\n= REQUIREMENTS:\n\nThis cookbook requires Chef installed from RubyGems. Chef v0.8.x+.\n\n== Platform:\n\nServer bootstrap is tested on Ubuntu 9.10, 9.04, 8.10 and 8.04, Debian 5.0.\n\nClient bootstrap is tested on the above, plus CentOS 5.3, Fedora 10, OpenBSD 4.6, FreeBSD 7.1 and Gentoo. OpenSolaris 11 is also tested, but there's a bug in Ohai that requires some manual intervention (OHAI-122).\n\n== Cookbooks:\n\nOpscode cookbooks, http://github.com/opscode/cookbooks:\n\nBoth clients and servers:\n\n* runit\n\nServers only:\n\n* couchdb\n* rabbitmq_chef\n* openssl\n* zlib\n* xml\n* java\n\nThe couchdb and rabbitmq_chef recipes may be naive depending on the platform. The contents can be reviewed in the opscode/cookbooks repository to check if a particular platform is supported. If not, manual installation and modifications to the recipes will be required.\n\n= ATTRIBUTES:\n\nCookbook attributes are namespaced 'bootstrap[:chef]' - eg: 'bootstrap[:chef][:client_version]'. You may wish to change some of these locations to customize for your environment. For the bootstrap process this is done with a JSON data file passed to chef-solo.\n\n== umask\n\nSets the umask for files created by the server process.\n\n== url_type\n\nSet up the URLs the client should connect to with this. Default is 'http', which tells the client to connect to 'http://server:4000'. If you want to set up your chef-server to use an SSL front-end, set this to 'https' and the URLs will be 'https://server/'. The bootstrap::server recipe does not support an SSL front-end configuration, see chef::server_proxy for an example.\n\n== init_style\n\nSpecifies the init style to use. Default 'runit'. Other possible values 'init', 'bsd', any other string will be treated as unknown.\n\nIf your platform doesn't have a 'runit' package or if the cookbook doesn't detect it, but you stil want to use runit, set init_style to 'none' and install runit separately.\n\n== path\n\nThis is the base location where chef will store its associated data. Default '/srv/chef' for RubyGems installed systems. The location preference varies by platform. The default is a filesystem hiearchy standard suggestion[0]. Some other locations you may consider, by platform:\n\nDebian and Red Hat based Linux distros (Ubuntu, CentOS, Fedora, etc):\n\n* /var/lib/chef\n\nAny BSD and Gentoo:\n\n* /var/chef\n\n== run_path\n\nLocation for pidfiles on systems using init scripts. Default '/var/run/chef'.\n\nIf init_style is 'init', this is used, and should match what the init script itself uses for the PID files.\n\n== cache_path\n\nLocation where the client will cache cookbooks and other data. Default is 'cache' underneath the bootstrap[:chef][:path] location. Some Linux distributions might prefer /var/cache/chef instead.\n\n== serve_path\n\nUsed by the Chef server as the base location to \"serve\" cookbooks, roles and other assets. Default is /srv/chef.\n\n== server_port\n\nPort for the chef-server API process. Default is 4000.\n\n== webui_port\n\nPort for the chef-server-webui process. Default is 4040.\n\n== webui_enabled\n\nWhether the web user interface should be installed and enabled. Default is 'false'. In Chef versions prior to 0.8 the webui provided the API, but 0.8 split them apart so now the webui is optional. See the Chef wiki [1] for major changes in 0.8.\n\n== webui_admin_password\n\nSet a random, secure default password for the webui user. See /etc/chef/server.rb when the chef-solo run completes for the value of web_ui_admin_default_password to log into the webui. This password is generated with the openssl cookbook, though can be set with JSON.\n\n== server_version, client_version\n\nSet the version of the Gems to install. This can be used to upgrade Chef automatically[2]. The chef gems are not managed by the Opscode Chef cookbook, however.\n\n== client_interval\n\nNumber of seconds to run chef-client periodically. Default '1800' (30 minutes).\n\n== client_splay\n\nSplay interval to randomly add to interval. Default '20'.\n\n== log_dir\n\nDirectory where logs are stored if logs are not sent to STDOUT. Systems using runit should send logs to STDOUT as runit manages log output. Default '/var/log/chef'. Runit's logs are in /etc/sv/SERVICE_NAME/log/main/current, where SERVICE_NAME is the name of the service, e.g., 'chef-client', 'chef-server', 'chef-solr' etc. See the recipes for the runit_services that get set up.\n\n== client_log, indexer_log, server_log\n\nLocation of the client, indexer and server logs, respectively. Default 'STDOUT' on systems with runit, '/var/log/chef/{client,indexer,server}.log' on other systems.\n\n== server_fqdn\n\nFully qualified domain name of the server. Default is the current node's fqdn as detected by Ohai. For clients, set this to the hostname of your environment's Chef Server.\n\n== server_token\n\nThe validation_token used to automatically authorize chef-clients. Default is a random string generated every time chef-solo runs. Use chef-client -t 'validation_token' to automatically validate the client.\n\n[0] http://www.pathname.com/fhs/\n[1] http://wiki.opscode.com/display/chef/Release+Notes\n[2] http://blog.opscode.com/2009/08/cool-chef-tricks-upgrade-chef-with-chef.html\n\n= USAGE:\n\nOpscode stores this cookbook and some others (see the requirements above) on S3. Use chef-solo:\n\n sudo chef-solo -j chef.json -c solo.rb -r http://s3.amazonaws.com/chef-solo/bootstrap-latest.tar.gz\n\nYou set the attributes through the chef.json file, and tell Solo where to put them with solo.rb.\n\n== Clients:\n\nCommon attributes you may wish to adjust for the client:\n\n{\n \"bootstrap\": {\n \"chef\": {\n \"url_type\": \"http\",\n \"init_style\": \"runit\",\n \"server_port\": \"4000\",\n \"path\": \"/srv/chef\",\n \"server_fqdn\": \"localhost.localdomain\",\n }\n },\n \"recipes\": \"bootstrap::client\"\n}\n\n== Servers:\n\n= Note server_port is a new attribute, you don't have to set it... but if you do, your clients need to know where it goes.\n\nCommon attributes you may wish to adjust for the server:\n\n\n{\n \"bootstrap\": {\n \"chef\": {\n \"url_type\": \"http\",\n \"init_style\": \"runit\",\n \"path\": \"/srv/chef\",\n \"server_port\": \"4000\",\n \"serve_path\": \"/srv/chef\",\n \"server_fqdn\": \"localhost.localdomain\",\n }\n },\n \"recipes\": \"bootstrap::server\"\n}\n\nNote that the server recipe includes the client recipe as well, since we recommend managing the chef-server with Chef.\n\nFor more information on usage and next steps, please see the Chef wiki.\n\n http://wiki.opscode.com/display/chef/Home\n\n= LICENSE and AUTHOR:\n\nAuthor:: Joshua Timberman <joshua@opscode.com>\nAuthor:: Joshua Sierles <joshua@37signals.com>\n\nCopyright 2008-2009, Opscode, Inc\nCopyright 2009, 37signals\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\n"
}
5 bootstrap/metadata.rb
View
@@ -3,7 +3,10 @@
license "Apache 2.0"
description "Configures RubyGems-installed Chef"
long_description IO.read(File.join(File.dirname(__FILE__), 'README.rdoc'))
-version "0.11.2"
+version "0.11.3"
+recipe "bootstrap", "This cookbook is deprecated in favor of using the chef cookbook and its bootstrap recipes"
+recipe "bootstrap::client", "This cookbook is deprecated in favor of using the chef cookbook and its bootstrap recipes"
+recipe "bootstrap::server", "This cookbook is deprecated in favor of using the chef cookbook and its bootstrap recipes"
%w{ ubuntu debian redhat centos fedora freebsd openbsd }.each do |os|
supports os
39 build-essential/metadata.json
View
@@ -1,38 +1,45 @@
{
- "maintainer": "Opscode, Inc.",
+ "recommendations": {
+ },
"attributes": {
},
+ "maintainer": "Opscode, Inc.",
"suggestions": {
},
+ "dependencies": {
+ },
+ "maintainer_email": "cookbooks@opscode.com",
+ "conflicting": {
+ },
"platforms": {
- "ubuntu": [
+ "debian": [
],
"centos": [
],
- "debian": [
+ "fedora": [
+
+ ],
+ "ubuntu": [
+
+ ],
+ "redhat": [
]
},
- "dependencies": {
- },
- "maintainer_email": "cookbooks@opscode.com",
- "conflicting": {
+ "license": "Apache 2.0",
+ "version": "0.7.1",
+ "providing": {
},
- "version": "0.7.0",
- "name": "build-essential",
"recipes": {
+ "build-essential": "Installs C compiler and build tools on Linux"
},
- "providing": {
- },
- "license": "Apache 2.0",
"replacing": {
},
+ "name": "build-essential",
+ "description": "Installs C compiler / build tools",
"groupings": {
},
- "long_description": "",
- "recommendations": {
- },
- "description": "Installs C compiler / build tools"
+ "long_description": ""
}
5 build-essential/metadata.rb
View
@@ -2,8 +2,9 @@
maintainer_email "cookbooks@opscode.com"
license "Apache 2.0"
description "Installs C compiler / build tools"
-version "0.7"
+version "0.7.1"
+recipe "build-essential", "Installs C compiler and build tools on Linux"
-%w{ centos ubuntu debian }.each do |os|
+%w{ fedora redhat centos ubuntu debian }.each do |os|
supports os
end
3  chef/metadata.json
View
@@ -59,13 +59,14 @@
]
},
"license": "Apache 2.0",
- "version": "0.21.0",
+ "version": "0.21.1",
"providing": {
},
"recipes": {
"chef::server": "Configures a chef API server as a merb application",
"chef::server_proxy": "Configures Apache2 proxy for API and WebUI",
"chef::bootstrap_server": "Set up rubygem installed chef server",
+ "chef": "Default recipe is empty, use one of the other recipes.",
"chef::bootstrap_client": "Set up rubygem installed chef client",
"chef::delete_validation": "Deletes validation.pem after client registers",
"chef::client": "Sets up a client to talk to a chef-server"
3  chef/metadata.rb
View
@@ -3,7 +3,8 @@
license "Apache 2.0"
description "Installs and configures Chef for chef-client and chef-server"
long_description IO.read(File.join(File.dirname(__FILE__), 'README.md'))
-version "0.21.0"
+version "0.21.1"
+recipe "chef", "Default recipe is empty, use one of the other recipes."
recipe "chef::client", "Sets up a client to talk to a chef-server"
recipe "chef::bootstrap_client", "Set up rubygem installed chef client"
recipe "chef::delete_validation", "Deletes validation.pem after client registers"
4 couchdb/metadata.json
View
@@ -38,10 +38,12 @@
]
},
"license": "Apache 2.0",
- "version": "0.13.1",
+ "version": "0.13.2",
"providing": {
},
"recipes": {
+ "couchdb": "Installs and configures CouchDB package",
+ "couchdb::source": "Installs and configures CouchDB from source"
},
"replacing": {
},
6 couchdb/metadata.rb
View
@@ -9,9 +9,11 @@
directly from source. CouchDB is available on Red Hat-based systems through
the EPEL Yum Repository.
EOH
-version "0.13.1"
-
+version "0.13.2"
depends "erlang"
+recipe "couchdb", "Installs and configures CouchDB package"
+recipe "couchdb::source", "Installs and configures CouchDB from source"
+
supports "ubuntu", ">= 8.10" # for package in APT
supports "debian", ">= 5.0" # for package in APT
supports "openbsd"
27 database/metadata.json
View
@@ -1,11 +1,11 @@
{
- "maintainer": "Opscode, Inc.",
+ "recommendations": {
+ },
"attributes": {
},
+ "maintainer": "Opscode, Inc.",
"suggestions": {
},
- "platforms": {
- },
"dependencies": {
"mysql": [
@@ -20,19 +20,24 @@
"maintainer_email": "cookbooks@opscode.com",
"conflicting": {
},
- "version": "0.6.0",
- "name": "database",
- "recipes": {
+ "platforms": {
},
+ "license": "Apache 2.0",
+ "version": "0.6.0",
"providing": {
},
- "license": "Apache 2.0",
+ "recipes": {
+ "database::master": "Sets up databases and users from an application data bag on the master database server",
+ "database::ebs_backup": "Set up EBS snapshot",
+ "databse::snapshot": "Perform an EBS volume snapshot to do backups",
+ "database": "Empty, use one of the other recipes",
+ "database::ebs_volume": "Configures an EBS volume"
+ },
"replacing": {
},
+ "name": "database",
+ "description": "Sets up the database master or slave",
"groupings": {
},
- "long_description": "Database Cookbook\n=================\n\nConfigures mysql database masters and slaves and uses EBS for storage, integrating together with the application cookbook utilizing data bags for application related information.\n\nThis cookbook is written primarily to use MySQL and the Opscode mysql cookbook. Other RDBMS may be supported at a later date.\n\nThis cookbook does not automatically restore database dumps, but does install tools to help with that.\n\n---\nRecipes\n=======\n\nebs_volume\n----------\n\nLoads the aws information from the data bag. Searches the applications data bag for the database master or slave role and checks that role is applied to the node. Loads the EBS information and the master information from data bags. Uses the aws cookbook LWRP, `aws_ebs_volume` to manage the volume.\n\nOn a master node:\n* if we have an ebs volume already as stored in a data bag, attach it.\n* if we don't have the ebs information then create a new one and attach it.\n* store the volume information in a data bag via a ruby block.\n\nOn a slave node:\n* use the master volume information to generate a snapshot.\n* create the new volume from the snapshot and attach it.\n\nAlso on a master node, generate some configuration for running a snapshot via `chef-solo` from cron.\n\nOn a new filesystem volume, create as XFS, then mount it in /mnt, and also bind-mount it to the mysql data directory (default /var/lib/mysql).\n\nmaster\n------\n\nLoads the AWS information from a data bag. Create the databases for the application per the role checking magic, if they don't exist. Install s3cmd and create a config file so we can do manual database restores from dumpfiles if necessary. Finally store the replication status in a data bag.\n\nslave\n-----\n\nRetrieve the master status from a data bag, then start replication using a ruby block.\n\nsnapshot\n--------\n\nRun via chef-solo. Retrieves the db snapshot configuration from the specified JSON file. Uses the `mysql_database` LWRP to lock and unlock tables, and does a filesystem freeze and EBS snapshot.\n\n---\nDeprecated Recipes\n==================\n\nThe following recipes are no longer used as they have been deprecated in functionality both the above.\n\nebs_backup\n----------\n\nOlder style of doing mysql snapshot and replication using Adam Jacob's [ec2_mysql][0] script and library\n\n[0]: http://github.com/adamhjk/ec2_mysql\n\n---\nData Bags\n=========\n\nThis recipe uses the apps data bag item for the specified application; see the `application` cookbook's README.txt. It also creates data bag items in a bag named 'aws' for storing volume information. In order to interact with EC2, it expects aws to have a main item:\n\n {\n \"id\": \"main\",\n \"ec2_private_key\": \"private key as a string\",\n \"ec2_cert\": \"certificate as a string\",\n \"aws_account_id\": \"\",\n \"aws_secret_access_key\": \"\",\n \"aws_access_key_id\": \"\"\n }\n\nNote: with the Open Source Chef Server, the server using the database recipes must be an admin client or it will not be able to create data bag items. You can modify whether the client is admin by editing it with knife.\n\n knife client edit <client_name>\n {\n ...\n \"admin\": true\n ...\n }\n\nThis is not required if the Chef Server is the Opscode Platform.\n\n---\nUsage\n=====\n\nAside from the application data bag (see the README.txt in the application cookbook), create a role for the database master in the chef-repo:\n\n % vi roles/my_app_database_maser.rb\n name \"my_app_database_master\"\n description \"Set up a MySQL DB master for the my_app application\"\n run_list(\n \"recipe[my_app_database]\",\n \"recipe[database::ebs_volume]\",\n \"recipe[database::master]\"\n )\n % knife role from file roles/my_app_database_master.rb\n\nThe cookbook `my_app_database` is recommended to set up any application specific database resources such as configuration templates, trending monitors, etc. It is not required, but you would need to create it separately in `site-cookbooks`.\n\nLicense and Author\n==================\n\nAuthor:: Adam Jacob (<adam@opscode.com>)\nAuthor:: Joshua Timberman (<joshua@opscode.com>)\nAuthor:: AJ Christensen (<aj@opscode.com>)\n\nCopyright 2009-2010, Opscode, Inc.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n",
- "recommendations": {
- },
- "description": "Sets up the database master or slave"
+ "long_description": "Database Cookbook\n=================\n\nConfigures mysql database masters and slaves and uses EBS for storage, integrating together with the application cookbook utilizing data bags for application related information.\n\nThis cookbook is written primarily to use MySQL and the Opscode mysql cookbook. Other RDBMS may be supported at a later date.\n\nThis cookbook does not automatically restore database dumps, but does install tools to help with that.\n\n---\nRequirements\n============\n\nChef 0.8 or higher required.\n\nThe following Opscode cookbooks are dependencies:\n\n* mysql\n* xfs\n* aws\n\n---\nRecipes\n=======\n\nebs_volume\n----------\n\nLoads the aws information from the data bag. Searches the applications data bag for the database master or slave role and checks that role is applied to the node. Loads the EBS information and the master information from data bags. Uses the aws cookbook LWRP, `aws_ebs_volume` to manage the volume.\n\nOn a master node:\n* if we have an ebs volume already as stored in a data bag, attach it.\n* if we don't have the ebs information then create a new one and attach it.\n* store the volume information in a data bag via a ruby block.\n\nOn a slave node:\n* use the master volume information to generate a snapshot.\n* create the new volume from the snapshot and attach it.\n\nAlso on a master node, generate some configuration for running a snapshot via `chef-solo` from cron.\n\nOn a new filesystem volume, create as XFS, then mount it in /mnt, and also bind-mount it to the mysql data directory (default /var/lib/mysql).\n\nmaster\n------\n\nThis recipe no longer loads AWS specific information, and the database position for replication is no longer stored in a databag because the client might not have permission to write to the databag item. This may be handled in a different way at a future date.\n\nSearches the apps databag for applications, and for each one it will check that the specified database master role is set in both the databag and applied to the node's run list. Then, retrieves the passwords for `root`, `repl` and `debian` users and saves them to the node attributes. If the passwords are not found in the databag, it prints a message that they'll be generated by the mysql cookbook.\n\nThen it adds the application databag database settings to a hash, to use later.\n\nIt sets up the template resource for `/etc/mysql/grants.sql`, passing in the database settings so privileges for application specific database users can be created.\n\nThen it will iterate over the databases and create them with the mysqladmin command, detecting their presence with the mysql rubygem. At a later date the database creation will probably be handed off to a resource/provider that uses the rubygem.\n\nslave\n-----\n\n_TODO_: Retrieve the master status from a data bag, then start replication using a ruby block. The replication status needs to be handled in some other way for now since the master recipe above doesn't actually set it in the databag anymore.\n\nsnapshot\n--------\n\nRun via chef-solo. Retrieves the db snapshot configuration from the specified JSON file. Uses the `mysql_database` LWRP to lock and unlock tables, and does a filesystem freeze and EBS snapshot.\n\n---\nDeprecated Recipes\n==================\n\nThe following recipes are no longer used as they have been deprecated in functionality both the above.\n\nebs_backup\n----------\n\nOlder style of doing mysql snapshot and replication using Adam Jacob's [ec2_mysql][0] script and library.\n\n[0]: http://github.com/adamhjk/ec2_mysql\n\n---\nData Bags\n=========\n\nThis recipe uses the apps data bag item for the specified application; see the `application` cookbook's README.txt. It also creates data bag items in a bag named 'aws' for storing volume information. In order to interact with EC2, it expects aws to have a main item:\n\n {\n \"id\": \"main\",\n \"ec2_private_key\": \"private key as a string\",\n \"ec2_cert\": \"certificate as a string\",\n \"aws_account_id\": \"\",\n \"aws_secret_access_key\": \"\",\n \"aws_access_key_id\": \"\"\n }\n\nNote: with the Open Source Chef Server, the server using the database recipes must be an admin client or it will not be able to create data bag items. You can modify whether the client is admin by editing it with knife.\n\n knife client edit <client_name>\n {\n ...\n \"admin\": true\n ...\n }\n\nThis is not required if the Chef Server is the Opscode Platform.\n\n---\nUsage\n=====\n\nAside from the application data bag (see the README in the application cookbook), create a role for the database master. Use a role.rb in your chef-repo, or create the role directly with knife.\n\n % knife role show my_app_database_master\n {\n \"name\": \"my_app_database_master\",\n \"chef_type\": \"role\",\n \"json_class\": \"Chef::Role\",\n \"default_attributes\": {\n },\n \"description\": \"\",\n \"run_list\": [\n \"recipe[mysql::server]\",\n \"recipe[database::master]\"\n ],\n \"override_attributes\": {\n }\n }\n\nAlso create a `production` role, or other role based on your desired environment. This is also used in the `application` cookbook.\n\n % knife role show production\n {\n \"name\": \"production\",\n \"chef_type\": \"role\",\n \"json_class\": \"Chef::Role\",\n \"default_attributes\": {\n \"app_environment\": \"production\"\n },\n \"description\": \"production environment role\",\n \"run_list\": [\n\n ],\n \"override_attributes\": {\n }\n }\n\nThe cookbook `my_app_database` is recommended to set up any application specific database resources such as configuration templates, trending monitors, etc. It is not required, but you would need to create it separately in `site-cookbooks`. Add it to the `my_app_database_master` role.\n\nLicense and Author\n==================\n\nAuthor:: Adam Jacob (<adam@opscode.com>)\nAuthor:: Joshua Timberman (<joshua@opscode.com>)\nAuthor:: AJ Christensen (<aj@opscode.com>)\n\nCopyright 2009-2010, Opscode, Inc.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n"
}
5 database/metadata.rb
View
@@ -4,6 +4,11 @@
description "Sets up the database master or slave"
long_description IO.read(File.join(File.dirname(__FILE__), 'README.md'))
version "0.6"
+recipe "database", "Empty, use one of the other recipes"
+recipe "database::ebs_backup", "Set up EBS snapshot"
+recipe "database::ebs_volume", "Configures an EBS volume"
+recipe "database::master", "Sets up databases and users from an application data bag on the master database server"
+recipe "databse::snapshot", "Perform an EBS volume snapshot to do backups"
%w{ mysql aws xfs }.each do |cb|
depends cb
37 django/metadata.json
View
@@ -1,41 +1,42 @@
{
- "conflicting": {
+ "recommendations": {
},
"attributes": {
},
- "platforms": {
- "ubuntu": [
+ "maintainer": "Opscode, Inc.",
+ "suggestions": {
+ },
+ "dependencies": {
+ "python": [
],
- "debian": [
+ "apache2": [
]
},
- "providing": {
+ "maintainer_email": "cookbooks@opscode.com",
+ "conflicting": {
},
- "dependencies": {
- "python": [
+ "platforms": {
+ "debian": [
],
- "apache2": [
+ "ubuntu": [
]
},
+ "license": "Apache 2.0",
+ "version": "0.7.1",
+ "providing": {
+ },
"recipes": {
+ "django": "Installs django and apache2 with mod_python"
},
- "version": "0.7.0",
"replacing": {
},
"name": "django",
+ "description": "Installs DJango",
"groupings": {
},
- "license": "Apache 2.0",
- "long_description": "= DESCRIPTION:\n\nInstalls Python Django package and sets up Apache2 to serve a django application.\n\n= REQUIREMENTS:\n\nOpscode cookbooks, http://github.com/opscode/cookbooks/tree/master:\n\n* python\n* apache2\n\n= ATTRIBUTES:\n\nNone.\n\n= USAGE:\n\nCreate the django application using the Apache2 cookbook's web_app define. Normally this would be done in a site-cookbook.\n\n web_app \"mysite\" do\n docroot \"/srv/mysite\"\n template \"mysite.conf.erb\"\n end\n\nCreate the template, 'mysite.conf.erb' within the site-cookbook. Make sure the django settings are correct. The web_app define copies the template over and enables it as an apache2 site.\n\n= LICENSE & AUTHOR:\n\nAuthor:: Joshua Timberman (<joshua@opscode.com>)\nCopyright:: 2009, Opscode, Inc\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n",
- "recommendations": {
- },
- "maintainer": "Opscode, Inc.",
- "suggestions": {
- },
- "maintainer_email": "cookbooks@opscode.com",
- "description": "Installs DJango"
+ "long_description": "= DESCRIPTION:\n\nInstalls Python Django package and sets up Apache2 to serve a django application.\n\n= REQUIREMENTS:\n\nOpscode cookbooks, http://github.com/opscode/cookbooks/tree/master:\n\n* python\n* apache2\n\n= ATTRIBUTES:\n\nNone.\n\n= USAGE:\n\nCreate the django application using the Apache2 cookbook's web_app define. Normally this would be done in a site-cookbook.\n\n web_app \"mysite\" do\n docroot \"/srv/mysite\"\n template \"mysite.conf.erb\"\n end\n\nCreate the template, 'mysite.conf.erb' within the site-cookbook. Make sure the django settings are correct. The web_app define copies the template over and enables it as an apache2 site.\n\n= LICENSE & AUTHOR:\n\nAuthor:: Joshua Timberman (<joshua@opscode.com>)\nCopyright:: 2009, Opscode, Inc\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n"
}
4 django/metadata.rb
View
@@ -3,7 +3,9 @@
license "Apache 2.0"
description "Installs DJango"
long_description IO.read(File.join(File.dirname(__FILE__), 'README.rdoc'))
-version "0.7"
+version "0.7.1"
+
+recipe "django", "Installs django and apache2 with mod_python"
%w{ ubuntu debian }.each do |os|
supports os
35 drbd/metadata.json
View
@@ -1,17 +1,11 @@
{
- "maintainer": "Opscode, Inc.",
+ "recommendations": {
+ },
"attributes": {
},
+ "maintainer": "Opscode, Inc.",
"suggestions": {
},
- "platforms": {
- "ubuntu": [
-
- ],
- "debian": [
-
- ]
- },
"dependencies": {
"lvm": [
@@ -20,19 +14,26 @@
"maintainer_email": "cookbooks@opscode.com",
"conflicting": {
},
- "version": "0.7.0",
- "name": "drbd",
- "recipes": {
+ "platforms": {
+ "debian": [
+
+ ],
+ "ubuntu": [
+
+ ]
},
+ "license": "Apache 2.0",
+ "version": "0.7.1",
"providing": {
},
- "license": "Apache 2.0",
+ "recipes": {
+ "drbd": "Installs drbd"
+ },
"replacing": {
},
+ "name": "drbd",
+ "description": "Installs but does not configure drbd",
"groupings": {
},
- "long_description": "",
- "recommendations": {
- },
- "description": "Installs but does not configure drbd"
+ "long_description": ""
}
3  drbd/metadata.rb
View
@@ -2,8 +2,9 @@
maintainer_email "cookbooks@opscode.com"
license "Apache 2.0"
description "Installs but does not configure drbd"
-version "0.7"
+version "0.7.1"
depends "lvm"
+recipe "drbd", "Installs drbd"
%w{ ubuntu debian}.each do |os|
supports os
31 dynect/metadata.json
View
@@ -1,29 +1,32 @@
{
- "maintainer_email": "cookbooks@opscode.com",
+ "recommendations": {
+ },
"attributes": {
},
- "conflicting": {
+ "maintainer": "Opscode, Inc.",
+ "suggestions": {
},
"dependencies": {
},
- "providing": {
- },
- "recipes": {
- },
- "replacing": {
+ "maintainer_email": "cookbooks@opscode.com",
+ "conflicting": {
},
"platforms": {
},
"license": "Apache 2.0",
- "version": "0.2.0",
- "groupings": {
+ "version": "0.3.0",
+ "providing": {
},
- "long_description": "DESCRIPTION\n===========\n\nAutomatically configures system DNS using Dyn's API.\n\nREQUIREMENTS\n============\n\nChef 0.8+.\n\nA Dynect account.\n\nThe `dynect_rest` gem. The `dynect::default` recipe installs this gem from gemcutter.\n\nWorks on any platform Chef runs on that can install gems from Rubygems.org.\n\nATTRIBUTES\n==========\n\nThe following attributes need to be set either in a role or on a node directly, they are not set at the cookbook level:\n\n* dynect.customer - Customer ID\n* dynect.username - Username\n* dynect.password - Password\n* dynect.zone - Zone\n* dynect.domain - Domain\n\nExample JSON:\n\n {\n \"dynect\": {\n \"customer\": \"CUSTOMER\",\n \"username\": \"USERNAME\",\n \"password\": \"PASSWORD\",\n \"zone\": \"ZONE\",\n \"domain\": \"DOMAIN\"\n }\n }\n\nEC2 specific attributes:\n\n* dynect.ec2.type - type of system, web, db, etc. Default is 'ec2'.\n* dynect.ec2.env - logical application environment the system is in. Default is 'prod'.\n\nRESOURCES\n=========\n\nrr\n--\n\nDNS Resource Record.\n\nActions:\n\nApplies to the DNS record being managed.\n\n* `:create`\n* `:replace`\n* `:update`\n* `:delete`\n\nAttribute Parameters:\n\n* `record_type` - DNS record type (CNAME, A, etc)\n* `rdata` - record data, see the Dyn API documentation.\n* `ttl` - time to live in seconds\n* `fqdn` - fully qualified domain name\n* `username` - dyn username\n* `password` - dyn password\n* `customer` - dyn customer id\n* `zone` - DNS zone\n\nNone of the parameters have default values.\n\nExample:\n\n dynect_rr \"webprod\" do\n record_type \"A\"\n rdata({\"address\" => \"10.1.1.10\"})\n fqdn \"webprod.#{node.dynect.domain}\"\n customer node[:dynect][:customer]\n username node[:dynect][:username]\n password node[:dynect][:password]\n zone node[:dynect][:zone]\n end\n\nRECIPES\n=======\n\nThis cookbook provides the following recipes.\n\ndefault\n-------\n\nThe default recipe installs Adam Jacob's `dynect_rest` gem during the Chef run's compile time to ensure it is available in the same run as utilizing the `dynect_rr` resource/provider.\n\nec2\n---\n\n**Only use this recipe on Amazon AWS EC2 hosts!**\n\nThe `dynect::ec2` recipe provides an example of working with the Dyn API with EC2 instances. It creates CNAME records based on the EC2 instance ID (`node.ec2.instance_id`), and a constructed hostname from the dynect.ec2 attributes.\n\nThe recipe also edits resolv.conf to search compute-1.internal and the dynect.domain and use dynect.domain as the default domain, and it will set the nodes hostname per the DNS settings.\n\na_record\n--------\n\nThe `dynect::a_record` recipe will create an `A` record for the node using the detected hostname and IP address from `ohai`.\n\nFURTHER READING\n===============\n\nInformation on the Dynect API:\n\n* [PDF](http://cdn.dyndns.com/pdf/Dynect-API.pdf)\n\nDynect REST Ruby Library:\n\n* [Gem](http://rubygems.org/gems/dynect_rest)\n* [Code](http://github.com/adamhjk/dynect_rest)\n\nLICENSE AND AUTHOR\n==================\n\n- Author: Adam Jacob (<adam@opscode.com>)\n- Copyright: 2010, Opscode, Inc.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n",
- "recommendations": {
+ "recipes": {
+ "dynect": "Installs the dynect_rest RubyGem",
+ "dynect::a_record": "Example resource usage to configure an A record",
+ "dynect::ec2": "Dynamically configures Dyn resource records for EC2 nodes based on instance ID and prepopulated attributes on the node"
+ },
+ "replacing": {
},
"name": "dynect",
- "maintainer": "Opscode, Inc.",
"description": "LWRP for managing DNS records with Dynect's REST API",
- "suggestions": {
- }
+ "groupings": {
+ },
+ "long_description": "DESCRIPTION\n===========\n\nAutomatically configures system DNS using Dyn's API.\n\nREQUIREMENTS\n============\n\nChef 0.8+.\n\nA Dynect account.\n\nThe `dynect_rest` gem. The `dynect::default` recipe installs this gem from gemcutter.\n\nWorks on any platform Chef runs on that can install gems from Rubygems.org.\n\nATTRIBUTES\n==========\n\nThe following attributes need to be set either in a role or on a node directly, they are not set at the cookbook level:\n\n* dynect.customer - Customer ID\n* dynect.username - Username\n* dynect.password - Password\n* dynect.zone - Zone\n* dynect.domain - Domain\n\nExample JSON:\n\n {\n \"dynect\": {\n \"customer\": \"CUSTOMER\",\n \"username\": \"USERNAME\",\n \"password\": \"PASSWORD\",\n \"zone\": \"ZONE\",\n \"domain\": \"DOMAIN\"\n }\n }\n\nEC2 specific attributes:\n\n* dynect.ec2.type - type of system, web, db, etc. Default is 'ec2'.\n* dynect.ec2.env - logical application environment the system is in. Default is 'prod'.\n\nRESOURCES\n=========\n\nrr\n--\n\nDNS Resource Record.\n\nActions:\n\nApplies to the DNS record being managed.\n\n* `:create`\n* `:replace`\n* `:update`\n* `:delete`\n\nAttribute Parameters:\n\n* `record_type` - DNS record type (CNAME, A, etc)\n* `rdata` - record data, see the Dyn API documentation.\n* `ttl` - time to live in seconds\n* `fqdn` - fully qualified domain name\n* `username` - dyn username\n* `password` - dyn password\n* `customer` - dyn customer id\n* `zone` - DNS zone\n\nNone of the parameters have default values.\n\nExample:\n\n dynect_rr \"webprod\" do\n record_type \"A\"\n rdata({\"address\" => \"10.1.1.10\"})\n fqdn \"webprod.#{node.dynect.domain}\"\n customer node[:dynect][:customer]\n username node[:dynect][:username]\n password node[:dynect][:password]\n zone node[:dynect][:zone]\n end\n\nRECIPES\n=======\n\nThis cookbook provides the following recipes.\n\ndefault\n-------\n\nThe default recipe installs Adam Jacob's `dynect_rest` gem during the Chef run's compile time to ensure it is available in the same run as utilizing the `dynect_rr` resource/provider.\n\nec2\n---\n\n**Only use this recipe on Amazon AWS EC2 hosts!**\n\nThe `dynect::ec2` recipe provides an example of working with the Dyn API with EC2 instances. It creates CNAME records based on the EC2 instance ID (`node.ec2.instance_id`), and a constructed hostname from the dynect.ec2 attributes.\n\nThe recipe also edits resolv.conf to search compute-1.internal and the dynect.domain and use dynect.domain as the default domain, and it will set the nodes hostname per the DNS settings.\n\na_record\n--------\n\nThe `dynect::a_record` recipe will create an `A` record for the node using the detected hostname and IP address from `ohai`.\n\nFURTHER READING\n===============\n\nInformation on the Dynect API:\n\n* [PDF](http://cdn.dyndns.com/pdf/Dynect-API.pdf)\n\nDynect REST Ruby Library:\n\n* [Gem](http://rubygems.org/gems/dynect_rest)\n* [Code](http://github.com/adamhjk/dynect_rest)\n\nLICENSE AND AUTHOR\n==================\n\n- Author: Adam Jacob (<adam@opscode.com>)\n- Copyright: 2010, Opscode, Inc.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n"
}
5 dynect/metadata.rb
View
@@ -3,4 +3,7 @@
license "Apache 2.0"
description "LWRP for managing DNS records with Dynect's REST API"
long_description IO.read(File.join(File.dirname(__FILE__), 'README.md'))
-version "0.2"
+version "0.3"
+recipe "dynect", "Installs the dynect_rest RubyGem"
+recipe "dynect::ec2", "Dynamically configures Dyn resource records for EC2 nodes based on instance ID and prepopulated attributes on the node"
+recipe "dynect::a_record", "Example resource usage to configure an A record"
1  dynect/recipes/default.rb
View
@@ -22,4 +22,5 @@
action :nothing
end
r.run_action(:upgrade)
+require 'rubygems'
Gem.clear_paths
29 dynomite/metadata.json
View
@@ -1,14 +1,11 @@
{
- "maintainer": "Opscode, Inc.",
+ "recommendations": {
+ },
"attributes": {
},
+ "maintainer": "Opscode, Inc.",
"suggestions": {
},
- "platforms": {
- "ubuntu": [
-
- ]
- },
"dependencies": {
"runit": [
@@ -26,19 +23,23 @@
"maintainer_email": "cookbooks@opscode.com",
"conflicting": {
},
- "version": "0.2.0",
- "name": "dynomite",
- "recipes": {
+ "platforms": {
+ "ubuntu": [
+
+ ]
},
+ "license": "Apache 2.0",
+ "version": "0.2.1",
"providing": {
},
- "license": "Apache 2.0",
+ "recipes": {
+ "dynomite": "Installs and configures dynomite"
+ },
"replacing": {
},
+ "name": "dynomite",
+ "description": "Installs/Configures dynomite",
"groupings": {
},
- "long_description": "= DESCRIPTION:\n\nInstalls and configures dynomite.\n\n= REQUIREMENTS:\n\n== Platform:\n\nUbuntu, mainly because of dependencies on Ubuntu specific installation methods in dependencies (thrift and boost).\n\n== Cookbooks:\n\nOpscode/cookbooks:\n\n* thrift\n** boost\n* ruby\n* git\n* erlang\n* runit\n\n= ATTRIBUTES: \n\n* dynomite[:master] - whether this node is a master cluster node.\n* dynomite[:cluster_name] - name of the dynomite cluster.\n* dynomite[:data_dir] - location of the data.\n* dynomite[:num_nodes] - number of nodes in the cluster.\n* dynomite[:node_name] - name of this node.\n* dynomite[:ascii_port] - port for ASCII protocol.\n* dynomite[:thrift_port] - port for Thrift protocol.\n* dynomite[:web_port] - port for web (HTTP).\n\n= USAGE:\n\nNothing fancy. Include the recipe, or add to a run_list like any other recipe. This cookbook relies on the ruby-dynomite client, which manages dynomite processes. The cookbook will set up dynomite as a runit service.\n\n= LICENSE and AUTHOR:\n\nAuthor:: Joshua Timberman (<joshua@opscode.com>)\nCopyright:: 2009, Opscode, Inc.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n",
- "recommendations": {
- },
- "description": "Installs/Configures dynomite"
+ "long_description": "= DESCRIPTION:\n\nInstalls and configures dynomite.\n\n= REQUIREMENTS:\n\n== Platform:\n\nUbuntu, mainly because of dependencies on Ubuntu specific installation methods in dependencies (thrift and boost).\n\n== Cookbooks:\n\nOpscode/cookbooks:\n\n* thrift\n** boost\n* ruby\n* git\n* erlang\n* runit\n\n= ATTRIBUTES: \n\n* dynomite[:master] - whether this node is a master cluster node.\n* dynomite[:cluster_name] - name of the dynomite cluster.\n* dynomite[:data_dir] - location of the data.\n* dynomite[:num_nodes] - number of nodes in the cluster.\n* dynomite[:node_name] - name of this node.\n* dynomite[:ascii_port] - port for ASCII protocol.\n* dynomite[:thrift_port] - port for Thrift protocol.\n* dynomite[:web_port] - port for web (HTTP).\n\n= USAGE:\n\nNothing fancy. Include the recipe, or add to a run_list like any other recipe. This cookbook relies on the ruby-dynomite client, which manages dynomite processes. The cookbook will set up dynomite as a runit service.\n\n= LICENSE and AUTHOR:\n\nAuthor:: Joshua Timberman (<joshua@opscode.com>)\nCopyright:: 2009, Opscode, Inc.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n"
}
3  dynomite/metadata.rb
View
@@ -3,8 +3,9 @@
license "Apache 2.0"
description "Installs/Configures dynomite"
long_description IO.read(File.join(File.dirname(__FILE__), 'README.rdoc'))
-version "0.2"
+version "0.2.1"
+recipe "dynomite", "Installs and configures dynomite"
supports "ubuntu"
%w{ ruby git erlang runit }.each do |cb|
49 ec2/metadata.json
View
@@ -0,0 +1,49 @@
+{
+ "recommendations": {
+ },
+ "attributes": {
+ "ec2_metadata": {
+ "required": "optional",
+ "calculated": false,
+ "choice": [
+
+ ],
+ "type": "string",
+ "recipes": [
+
+ ],
+ "description": "Retrieve EC2 instance metadata",
+ "display_name": "EC2 Metadata"
+ }
+ },
+ "maintainer": "Opscode, Inc.",
+ "suggestions": {
+ },
+ "dependencies": {
+ },
+ "maintainer_email": "cookbooks@opscode.com",
+ "conflicting": {
+ },
+ "platforms": {
+ "debian": [
+
+ ],
+ "ubuntu": [
+
+ ]
+ },
+ "license": "Apache 2.0",
+ "version": "0.9.0",
+ "providing": {
+ },
+ "recipes": {
+ "default": "Default ec2 recipe does not configure anything."
+ },
+ "replacing": {
+ },
+ "name": "ec2",
+ "description": "Manage EC2 metadata as attributes",
+ "groupings": {
+ },
+ "long_description": ""
+ }
2  ec2/metadata.rb
View
@@ -8,6 +8,8 @@
supports os
end
+recipe "default", "Default ec2 recipe does not configure anything."
+
attribute "ec2_metadata",
:display_name => "EC2 Metadata",
:description => "Retrieve EC2 instance metadata"
35 emacs/metadata.json
View
@@ -1,41 +1,42 @@
{
- "maintainer": "Opscode, Inc.",
+ "recommendations": {
+ },
"attributes": {
},
+ "maintainer": "Opscode, Inc.",
"suggestions": {
},
+ "dependencies": {
+ },
+ "maintainer_email": "cookbooks@opscode.com",
+ "conflicting": {
+ },
"platforms": {
- "ubuntu": [
+ "debian": [
],
"centos": [
],
- "redhat": [
+ "ubuntu": [
],
- "debian": [
+ "redhat": [
]
},
- "dependencies": {
- },
- "maintainer_email": "cookbooks@opscode.com",
- "conflicting": {
- },
+ "license": "Apache 2.0",
"version": "0.7.0",
- "name": "emacs",
- "recipes": {
- },
"providing": {
},
- "license": "Apache 2.0",
+ "recipes": {
+ "emacs": "Installs Emacs"
+ },
"replacing": {
},
+ "name": "emacs",
+ "description": "Installs emacs",
"groupings": {
},
- "long_description": "",
- "recommendations": {
- },
- "description": "Installs emacs"
+ "long_description": ""
}
2  emacs/metadata.rb
View
@@ -4,6 +4,8 @@
description "Installs emacs"
version "0.7"
+recipe "emacs", "Installs Emacs"
+
%w{ ubuntu debian redhat centos }.each do |os|
supports os
end
33 erlang/metadata.json
View
@@ -1,35 +1,36 @@
{
- "maintainer": "Opscode, Inc.",
+ "recommendations": {
+ },
"attributes": {
},
+ "maintainer": "Opscode, Inc.",
"suggestions": {
},
+ "dependencies": {
+ },
+ "maintainer_email": "cookbooks@opscode.com",
+ "conflicting": {
+ },
"platforms": {
- "ubuntu": [
+ "debian": [
],
- "debian": [
+ "ubuntu": [
]
},
- "dependencies": {
- },
- "maintainer_email": "cookbooks@opscode.com",
- "conflicting": {
+ "license": "Apache 2.0",
+ "version": "0.8.1",
+ "providing": {
},
- "version": "0.8.0",
- "name": "erlang",
"recipes": {
+ "erlang": "Installs erlang"
},
- "providing": {
- },
- "license": "Apache 2.0",
"replacing": {
},
+ "name": "erlang",
+ "description": "Installs erlang, optionally install GUI tools.",
"groupings": {
},
- "long_description": "",
- "recommendations": {
- },
- "description": "Installs erlang, optionally install GUI tools."
+ "long_description": ""
}
4 erlang/metadata.rb
View
@@ -2,7 +2,9 @@
maintainer_email "cookbooks@opscode.com"
license "Apache 2.0"
description "Installs erlang, optionally install GUI tools."
-version "0.8"
+version "0.8.1"
+
+recipe "erlang", "Installs erlang"
%w{ ubuntu debian }.each do |os|
supports os
33 fail2ban/metadata.json
View
@@ -1,35 +1,36 @@
{
- "maintainer": "Opscode, Inc.",
+ "recommendations": {
+ },
"attributes": {
},
+ "maintainer": "Opscode, Inc.",
"suggestions": {
},
+ "dependencies": {
+ },
+ "maintainer_email": "cookbooks@opscode.com",
+ "conflicting": {
+ },
"platforms": {
- "ubuntu": [
+ "debian": [
],
- "debian": [
+ "ubuntu": [
]
},
- "dependencies": {
- },
- "maintainer_email": "cookbooks@opscode.com",
- "conflicting": {
+ "license": "Apache 2.0",
+ "version": "0.7.1",
+ "providing": {
},
- "version": "0.7.0",
- "name": "fail2ban",
"recipes": {
+ "fail2ban": "Installs and configures fail2ban"
},
- "providing": {
- },
- "license": "Apache 2.0",
"replacing": {
},
+ "name": "fail2ban",
+ "description": "Installs and configures fail2ban",
"groupings": {
},
- "long_description": "",
- "recommendations": {
- },
- "description": "Installs and configures fail2ban"
+ "long_description": ""
}
4 fail2ban/metadata.rb
View
@@ -2,7 +2,9 @@
maintainer_email "cookbooks@opscode.com"
license "Apache 2.0"
description "Installs and configures fail2ban"
-version "0.7"
+version "0.7.1"
+
+recipe "fail2ban", "Installs and configures fail2ban"
%w{ ubuntu debian }.each do |os|
supports os
87 gems/metadata.json
View
@@ -1,75 +1,69 @@
{
- "maintainer": "Opscode, Inc.",
+ "recommendations": {
+ },
"attributes": {
"gem_server/virtual_host_alias": {
- "default": "gems",
+ "required": "optional",
"calculated": false,
- "type": "array",
"choice": [
],
- "description": "Array of Apache ServerAlias'es",
- "display_name": "Gem Server Virtual Host Aliases",
- "required": "optional",
+ "default": "gems",
+ "type": "array",
"recipes": [
- ]
+ ],
+ "description": "Array of Apache ServerAlias'es",
+ "display_name": "Gem Server Virtual Host Aliases"
},
"gem_server/virtual_host_name": {
- "default": "gems.domain",
+ "required": "optional",
"calculated": false,
- "type": "string",
"choice": [
],
- "description": "Apache ServerName for the virtual host",
- "display_name": "Gem Server Virtual Hostname",
- "required": "optional",
+ "default": "gems.domain",
+ "type": "string",
"recipes": [
- ]
+ ],
+ "description": "Apache ServerName for the virtual host",
+ "display_name": "Gem Server Virtual Hostname"
},
- "gem_server": {
+ "gem_server/directory": {
+ "required": "optional",
"calculated": false,
- "type": "hash",
"choice": [
],
- "description": "Hash of Gem Server attributes",
- "display_name": "Gem Server",
- "required": "optional",
+ "default": "/srv/gems",
+ "type": "string",
"recipes": [
- ]
+ ],
+ "description": "Filesystem location of where the gems repository is served from",
+ "display_name": "Gem Server Directory"
},
- "gem_server/directory": {
- "default": "/srv/gems",
+ "gem_server": {
+ "required": "optional",
"calculated": false,
- "type": "string",
"choice": [
],
- "description": "Filesystem location of where the gems repository is served from",
- "display_name": "Gem Server Directory",
- "required": "optional",
+ "type": "hash",
"recipes": [
- ]
+ ],
+ "description": "Hash of Gem Server attributes",
+ "display_name": "Gem Server"
}
},
+ "maintainer": "Opscode, Inc.",
"suggestions": {
"ruby": [
]
},
- "platforms": {
- "ubuntu": [
-
- ],
- "debian": [
-
- ]
- },
"dependencies": {
"apache2": [
@@ -78,21 +72,28 @@
"maintainer_email": "cookbooks@opscode.com",
"conflicting": {
},
- "version": "0.8.0",
- "name": "gems",
+ "platforms": {
+ "debian": [
+
+ ],
+ "ubuntu": [
+
+ ]
+ },
+ "license": "Apache 2.0",
+ "version": "0.8.1",
+ "providing": {
+ },
"recipes": {
"gems::mirror": "Crons an rsync of rubyforge",
+ "gems": "Empty, use one of the other recipes",
"gems::server": "Sets up a local gem server repository"
},
- "providing": {
- },
- "license": "Apache 2.0",
"replacing": {
},
+ "name": "gems",
+ "description": "Sets up a local gem server repository or mirror",
"groupings": {
},
- "long_description": "= DESCRIPTION:\n\nSets up a local gem server repository.\n\n= REQUIREMENTS:\n\n== Platform:\n\nTested on Ubuntu 8.10 and 9.04.\n\n== Cookbooks:\n\nOpscode cookbooks, http://github.com/opscode/cookbooks/tree/master\n\n* apache2\n\n= ATTRIBUTES: \n\n* gem_server[:virtual_host_name] - ServerName for Apache vhost. Default 'gems.domain'.\n* gem_server[:virtual_host_alias] - ServerAlias(es) for Apache vhost. Default 'gems'.\n* gem_server[:directory] - Filesystem location for the repository, default is /srv/gems.\n\n= USAGE:\n\nCreate files/default/packages, and copy gems to that directory.\n\nSpecify the gem source on clients via the command line, for example:\n\n sudo gem source -a http://gems\n sudo gem install rails --source http://gems\n\nOr use the source with gem_package resources in your chef recipes.\n\n gem_package \"rails\" do\n source \"http://gems\"\n end\n\nUse the gems::mirror recipe to mirror RubyForge. This will take a long time because the repository is 28k+ gems and over 5.5G. It will also override the remote_directory resource to not notify gem generate_index, and instead handle that in the cron job that does the rsync.\n\n= LICENSE and AUTHOR:\n \nAuthor:: Joshua Timberman (<joshua@opscode.com>)\n\nCopyright:: 2009, Opscode, Inc\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.",
- "recommendations": {
- },
- "description": "Sets up a local gem server repository or mirror"
+ "long_description": "= DESCRIPTION:\n\nSets up a local gem server repository.\n\n= REQUIREMENTS:\n\n== Platform:\n\nTested on Ubuntu 8.10 and 9.04.\n\n== Cookbooks:\n\nOpscode cookbooks, http://github.com/opscode/cookbooks/tree/master\n\n* apache2\n\n= ATTRIBUTES: \n\n* gem_server[:virtual_host_name] - ServerName for Apache vhost. Default 'gems.domain'.\n* gem_server[:virtual_host_alias] - ServerAlias(es) for Apache vhost. Default 'gems'.\n* gem_server[:directory] - Filesystem location for the repository, default is /srv/gems.\n\n= USAGE:\n\nCreate files/default/packages, and copy gems to that directory.\n\nSpecify the gem source on clients via the command line, for example:\n\n sudo gem source -a http://gems\n sudo gem install rails --source http://gems\n\nOr use the source with gem_package resources in your chef recipes.\n\n gem_package \"rails\" do\n source \"http://gems\"\n end\n\nUse the gems::mirror recipe to mirror RubyForge. This will take a long time because the repository is 28k+ gems and over 5.5G. It will also override the remote_directory resource to not notify gem generate_index, and instead handle that in the cron job that does the rsync.\n\n= LICENSE and AUTHOR:\n \nAuthor:: Joshua Timberman (<joshua@opscode.com>)\n\nCopyright:: 2009, Opscode, Inc\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License."
}
3  gems/metadata.rb
View
@@ -3,7 +3,8 @@
license "Apache 2.0"
description "Sets up a local gem server repository or mirror"
long_description IO.read(File.join(File.dirname(__FILE__), 'README.rdoc'))
-version "0.8"
+version "0.8.1"
+recipe "gems", "Empty, use one of the other recipes"
recipe "gems::server", "Sets up a local gem server repository"
recipe "gems::mirror", "Crons an rsync of rubyforge"
depends "apache2"
37 git/metadata.json
View
@@ -1,17 +1,11 @@
{
- "maintainer": "Opscode, Inc.",
+ "recommendations": {
+ },
"attributes": {
},
+ "maintainer": "Opscode, Inc.",
"suggestions": {
},
- "platforms": {
- "ubuntu": [
-
- ],
- "debian": [
-
- ]
- },
"dependencies": {
"runit": [
@@ -23,20 +17,27 @@
"maintainer_email": "cookbooks@opscode.com",
"conflicting": {
},
- "version": "0.7.0",
- "name": "git",
- "recipes": {
- "git::server": "Sets up a runit_service for git daemon"
+ "platforms": {
+ "debian": [
+
+ ],
+ "ubuntu": [
+
+ ]
},
+ "license": "Apache 2.0",
+ "version": "0.7.1",
"providing": {
},
- "license": "Apache 2.0",
+ "recipes": {
+ "git::server": "Sets up a runit_service for git daemon",
+ "git": "Installs git"
+ },
"replacing": {
},
+ "name": "git",
+ "description": "Installs git and/or sets up a Git server daemon",
"groupings": {
},
- "long_description": "= DESCRIPTION:\n\nInstalls git.\n\n= REQUIREMENTS:\n\n== Cookbooks:\n\nOpscode Cookbooks (http://github.com/opscode/cookbooks/tree/master)\n\n* runit\n\n= USAGE:\n\nThis cookbook primarily installs git core packages. It can also be used to serve git repositories.\n\n include_recipe \"git::server\"\n\nThis creates the directory /srv/git and starts a git daemon, exporting all repositories found. Repositories need to be added manually, but will be available once they are created.\n\n= LICENSE and AUTHOR:\n \nAuthor:: Joshua Timberman (<joshua@opscode.com>)\n\nCopyright:: 2009, Opscode, Inc\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.",
- "recommendations": {
- },
- "description": "Installs git and/or sets up a Git server daemon"
+ "long_description": "= DESCRIPTION:\n\nInstalls git.\n\n= REQUIREMENTS:\n\n== Cookbooks:\n\nOpscode Cookbooks (http://github.com/opscode/cookbooks/tree/master)\n\n* runit\n\n= USAGE:\n\nThis cookbook primarily installs git core packages. It can also be used to serve git repositories.\n\n include_recipe \"git::server\"\n\nThis creates the directory /srv/git and starts a git daemon, exporting all repositories found. Repositories need to be added manually, but will be available once they are created.\n\n= LICENSE and AUTHOR:\n \nAuthor:: Joshua Timberman (<joshua@opscode.com>)\n\nCopyright:: 2009, Opscode, Inc\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License."
}
3  git/metadata.rb
View
@@ -3,7 +3,8 @@
license "Apache 2.0"
description "Installs git and/or sets up a Git server daemon"
long_description IO.read(File.join(File.dirname(__FILE__), 'README.rdoc'))
-version "0.7"
+version "0.7.1"
+recipe "git", "Installs git"
recipe "git::server", "Sets up a runit_service for git daemon"
%w{ ubuntu debian }.each do |os|
35 god/metadata.json
View
@@ -1,17 +1,11 @@
{
- "maintainer": "Opscode, Inc.",
+ "recommendations": {
+ },
"attributes": {
},
+ "maintainer": "Opscode, Inc.",
"suggestions": {
},
- "platforms": {
- "ubuntu": [
-
- ],
- "debian": [
-
- ]
- },
"dependencies": {
"runit": [
@@ -23,19 +17,26 @@
"maintainer_email": "cookbooks@opscode.com",
"conflicting": {
},
- "version": "0.7.0",
- "name": "god",
- "recipes": {
+ "platforms": {
+ "debian": [
+
+ ],
+ "ubuntu": [
+
+ ]
},
+ "license": "Apache 2.0",
+ "version": "0.7.1",
"providing": {
},
- "license": "Apache 2.0",
+ "recipes": {
+ "god": "Installs god and starts it as a runit service"
+ },
"replacing": {
},
+ "name": "god",
+ "description": "Installs and configures god and provides a define for monitoring",
"groupings": {
},
- "long_description": "= DESCRIPTION:\n\nInstalls god gem, sets up modular configuration directory and provides a define to monitor processes.\n\n= REQUIREMENTS:\n\n== Platform and Application Environment:\n\nTested on Ubuntu 8.10. May work on other platforms, esp Ubuntu/Debian. Sample configuration file uses mongrel_runit for managing mongrels via runit. \n\n== Cookbooks:\n\nOpscode cookbooks, http://github.com/opscode/cookbooks/tree/master:\n\n* ruby\n* runit\n\nOpscode does not yet have a mongrel_runit cookbook.\n\n= ATTRIBUTES: \n\nNo attributes are used.\n\n= USAGE:\n\nThis recipe is designed to be used through the god_monitor define. Create a god configuration file in your application's cookbook and then call god_monitor:\n\n god_monitor \"myproj\" do\n config \"myproj.god.erb\"\n end\n\nA sample mongrel.god.erb is provided, though it assumes mongrel_runit is used. This can be used as a baseline for customization.\n\n= LICENSE and AUTHOR:\n \nAuthor:: Joshua Timberman (<joshua@opscode.com>)\nCopyright:: 2009, Opscode, Inc\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n",
- "recommendations": {
- },
- "description": "Installs and configures god and provides a define for monitoring"
+ "long_description": "= DESCRIPTION:\n\nInstalls god gem, sets up modular configuration directory and provides a define to monitor processes.\n\n= REQUIREMENTS:\n\n== Platform and Application Environment:\n\nTested on Ubuntu 8.10. May work on other platforms, esp Ubuntu/Debian. Sample configuration file uses mongrel_runit for managing mongrels via runit. \n\n== Cookbooks:\n\nOpscode cookbooks, http://github.com/opscode/cookbooks/tree/master:\n\n* ruby\n* runit\n\nOpscode does not yet have a mongrel_runit cookbook.\n\n= ATTRIBUTES: \n\nNo attributes are used.\n\n= USAGE:\n\nThis recipe is designed to be used through the god_monitor define. Create a god configuration file in your application's cookbook and then call god_monitor:\n\n god_monitor \"myproj\" do\n config \"myproj.god.erb\"\n end\n\nA sample mongrel.god.erb is provided, though it assumes mongrel_runit is used. This can be used as a baseline for customization.\n\n= LICENSE and AUTHOR:\n \nAuthor:: Joshua Timberman (<joshua@opscode.com>)\nCopyright:: 2009, Opscode, Inc\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n"
}
4 god/metadata.rb
View
@@ -3,7 +3,9 @@
license "Apache 2.0"
description "Installs and configures god and provides a define for monitoring"
long_description IO.read(File.join(File.dirname(__FILE__), 'README.rdoc'))
-version "0.7"
+version "0.7.1"
+
+recipe "god", "Installs god and starts it as a runit service"
%w{debian ubuntu}.each do |os|
supports os
39 hadoop/metadata.json
View
@@ -1,17 +1,11 @@
{
- "maintainer": "Opscode, Inc.",
+ "recommendations": {
+ },
"attributes": {
},
+ "maintainer": "Opscode, Inc.",
"suggestions": {
},
- "platforms": {
- "ubuntu": [
-
- ],
- "debian": [
-
- ]
- },
"dependencies": {
"java": [
@@ -20,19 +14,30 @@
"maintainer_email": "cookbooks@opscode.com",
"conflicting": {
},
- "version": "0.8.0",
- "name": "hadoop",
- "recipes": {
+ "platforms": {
+ "debian": [
+
+ ],
+ "ubuntu": [
+
+ ]
},
+ "license": "Apache 2.0",
+ "version": "0.8.1",
"providing": {
},
- "license": "Apache 2.0",
+ "recipes": {
+ "hadoop::pig": "Installs hadoop's pig package",
+ "hadoop::conf_pseudo": "Installs hadoop-conf-pseudo and enables hadoop services",
+ "hadoop::hive": "Installs hadoop's hive package",
+ "hadoop": "Installs hadoop from Cloudera's repo",
+ "hadoop::doc": "Installs hadoop documentation"
+ },
"replacing": {
},
+ "name": "hadoop",
+ "description": "Installs hadoop and sets up basic cluster per Cloudera's quick start docs",
"groupings": {
},
- "long_description": "= DESCRIPTION:\n\nInstalls Apache hadoop and sets up a basic distributed cluster per the quick start documentation.\n\n= REQUIREMENTS:\n\n== Platform:\n\nTested on Ubuntu 8.10, though should work on most Linux distributions, see hadoop[:java_home].\n\n== Cookbooks:\n\nOpscode cookbooks, http://github.com/opscode/cookbooks/tree/master:\n\n* java\n\n= ATTRIBUTES: \n\n* hadoop[:mirror_url] - Get a mirror from http://www.apache.org/dyn/closer.cgi/hadoop/core/.\n* hadoop[:version] - Specify the version of hadoop to install.\n* hadoop[:uid] - Default userid of the hadoop user.\n* hadoop[:gid] - Default group for the hadoop user.\n* hadoop[:java_home] - You will probably want to change this to match where Java is installed on your platform.\n\nYou may wish to add more attributes for tuning the configuration file templates.\n\n= USAGE:\n\nThis cookbook performs the tasks described in the Hadoop Quick Start[1] to get the software installed. You should copy this to a site-cookbook and modify the templates to meet your requirements. \n\nOnce the recipe is run, the distributed filesystem can be formated using the script /usr/bin/hadoop. \n\n sudo -u hadoop /usr/bin/hadoop namenode -format\n \nYou may need to set up SSH keys for hadoop management commands. \n\nNote that this is not the 'default' config per se, so using the start-all.sh script won't start the processes because the config files live elsewhere. For running various hadoop processes as services, we suggest runit. A sample 'run' script is provided. The HADOOP_LOG_DIR in the run script must exist for each process. These could be wrapped in a define. \n\n* datanode\n* jobtracker\n* namenode\n* tasktracker\n\n\n[1] http://hadoop.apache.org/core/docs/current/quickstart.html\n\n= LICENSE and AUTHOR:\n \nAuthor:: Joshua Timberman (<joshua@opscode.com>)\n\nCopyright:: 2009, Opscode, Inc\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.",
- "recommendations": {
- },
- "description": "Installs hadoop and sets up basic cluster per Cloudera's quick start docs"
+ "long_description": "= DESCRIPTION:\n\nInstalls Apache hadoop and sets up a basic distributed cluster per the quick start documentation.\n\n= REQUIREMENTS:\n\n== Platform:\n\nTested on Ubuntu 8.10, though should work on most Linux distributions, see hadoop[:java_home].\n\n== Cookbooks:\n\nOpscode cookbooks, http://github.com/opscode/cookbooks/tree/master:\n\n* java\n\n= ATTRIBUTES: \n\n* hadoop[:mirror_url] - Get a mirror from http://www.apache.org/dyn/closer.cgi/hadoop/core/.\n* hadoop[:version] - Specify the version of hadoop to install.\n* hadoop[:uid] - Default userid of the hadoop user.\n* hadoop[:gid] - Default group for the hadoop user.\n* hadoop[:java_home] - You will probably want to change this to match where Java is installed on your platform.\n\nYou may wish to add more attributes for tuning the configuration file templates.\n\n= USAGE:\n\nThis cookbook performs the tasks described in the Hadoop Quick Start[1] to get the software installed. You should copy this to a site-cookbook and modify the templates to meet your requirements. \n\nOnce the recipe is run, the distributed filesystem can be formated using the script /usr/bin/hadoop. \n\n sudo -u hadoop /usr/bin/hadoop namenode -format\n \nYou may need to set up SSH keys for hadoop management commands. \n\nNote that this is not the 'default' config per se, so using the start-all.sh script won't start the processes because the config files live elsewhere. For running various hadoop processes as services, we suggest runit. A sample 'run' script is provided. The HADOOP_LOG_DIR in the run script must exist for each process. These could be wrapped in a define. \n\n* datanode\n* jobtracker\n* namenode\n* tasktracker\n\n\n[1] http://hadoop.apache.org/core/docs/current/quickstart.html\n\n= LICENSE and AUTHOR:\n \nAuthor:: Joshua Timberman (<joshua@opscode.com>)\n\nCopyright:: 2009, Opscode, Inc\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License."
}
8 hadoop/metadata.rb
View
@@ -3,9 +3,15 @@
license "Apache 2.0"
description "Installs hadoop and sets up basic cluster per Cloudera's quick start docs"
long_description IO.read(File.join(File.dirname(__FILE__), 'README.rdoc'))
-version "0.8"
+version "0.8.1"
depends "java"
+recipe "hadoop", "Installs hadoop from Cloudera's repo"
+recipe "hadoop::conf_pseudo", "Installs hadoop-conf-pseudo and enables hadoop services"
+recipe "hadoop::doc", "Installs hadoop documentation"
+recipe "hadoop::hive", "Installs hadoop's hive package"
+recipe "hadoop::pig", "Installs hadoop's pig package"
+
%w{ debian ubuntu }.each do |os|
supports os
end
33 haproxy/metadata.json
View
@@ -1,35 +1,36 @@
{
- "maintainer": "Opscode, Inc.",
+ "recommendations": {
+ },
"attributes": {
},
+ "maintainer": "Opscode, Inc.",
"suggestions": {
},
+ "dependencies": {
+ },
+ "maintainer_email": "cookbooks@opscode.com",
+ "conflicting": {
+ },
"platforms": {
- "ubuntu": [
+ "debian": [
],
- "debian": [
+ "ubuntu": [
]
},
- "dependencies": {
- },
- "maintainer_email": "cookbooks@opscode.com",
- "conflicting": {
- },
+ "license": "Apache 2.0",
"version": "0.7.0",
- "name": "haproxy",
- "recipes": {
- },
"providing": {
},
- "license": "Apache 2.0",
+ "recipes": {
+ "haproxy": "Installs and configures haproxy"
+ },
"replacing": {
},
+ "name": "haproxy",
+ "description": "Installs and configures haproxy",
"groupings": {
},
- "long_description": "= DESCRIPTION:\n\nInstalls haproxy and prepares the configuration location.\n\n= REQUIREMENTS:\n\n== Platform:\n\nTested on Ubuntu 8.10.\n\n== Cookbooks:\n\n= ATTRIBUTES: \n\nNo haproxy-specific attributes are used.\n\n= USAGE:\n\nUpdate the haproxy.cfg file with listener(s) for your sites/servers.\n\n= LICENSE and AUTHOR:\n \nAuthor:: Joshua Timberman (<joshua@opscode.com>)\n\nCopyright:: 2009, Opscode, Inc\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n",
- "recommendations": {
- },
- "description": "Installs and configures haproxy"
+ "long_description": "= DESCRIPTION:\n\nInstalls haproxy and prepares the configuration location.\n\n= REQUIREMENTS:\n\n== Platform:\n\nTested on Ubuntu 8.10.\n\n== Cookbooks:\n\n= ATTRIBUTES: \n\nNo haproxy-specific attributes are used.\n\n= USAGE:\n\nUpdate the haproxy.cfg file with listener(s) for your sites/servers.\n\n= LICENSE and AUTHOR:\n \nAuthor:: Joshua Timberman (<joshua@opscode.com>)\n\nCopyright:: 2009, Opscode, Inc\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n"
}
1  haproxy/metadata.rb
View
@@ -5,6 +5,7 @@
long_description IO.read(File.join(File.dirname(__FILE__), 'README.rdoc'))
version "0.7"
+recipe "haproxy", "Installs and configures haproxy"
%w{ debian ubuntu }.each do |os|
supports os
end
33 heartbeat/metadata.json
View
@@ -1,38 +1,39 @@
{
- "maintainer": "Opscode, Inc.",
+ "recommendations": {
+ },
"attributes": {
},
+ "maintainer": "Opscode, Inc.",
"suggestions": {
"drbd": [
]
},
+ "dependencies": {
+ },
+ "maintainer_email": "cookbooks@opscode.com",
+ "conflicting": {
+ },
"platforms": {
- "ubuntu": [
+ "debian": [
],