Skip to content

Commit

Permalink
Add templates from http://jenkins-php.org/
Browse files Browse the repository at this point in the history
  • Loading branch information
abtris committed Feb 4, 2011
1 parent 6d6ecab commit 0404f85
Show file tree
Hide file tree
Showing 33 changed files with 2,159 additions and 1 deletion.
4 changes: 4 additions & 0 deletions Vagrantfile
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,10 @@ Vagrant::Config.run do |config|
chef.add_recipe("vagrant_main")
end

config.vm.provision :shell, :path => "pear-php.sh"

config.vm.provision :shell, :path => "php-hudson.sh"

# Enable provisioning with chef server, specifying the chef server URL,
# and the path to the validation key (relative to this Vagrantfile).
#
Expand Down
37 changes: 37 additions & 0 deletions cookbooks/git/README.rdoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
= DESCRIPTION:

Installs git.

= REQUIREMENTS:

== Cookbooks:

Opscode Cookbooks (http://github.com/opscode/cookbooks/tree/master)

* runit

= USAGE:

This cookbook primarily installs git core packages. It can also be used to serve git repositories.

include_recipe "git::server"

This 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.

= LICENSE and AUTHOR:

Author:: Joshua Timberman (<joshua@opscode.com>)

Copyright:: 2009, Opscode, Inc

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
43 changes: 43 additions & 0 deletions cookbooks/git/metadata.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
{
"name": "git",
"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.",
"maintainer": "Opscode, Inc.",
"maintainer_email": "cookbooks@opscode.com",
"license": "Apache 2.0",
"platforms": {
"ubuntu": [

],
"debian": [

],
"arch": [

]
},
"dependencies": {
"runit": [

]
},
"recommendations": {
},
"suggestions": {
},
"conflicting": {
},
"providing": {
},
"replacing": {
},
"attributes": {
},
"groupings": {
},
"recipes": {
"git": "Installs git",
"git::server": "Sets up a runit_service for git daemon"
},
"version": "0.9.0"
}
16 changes: 16 additions & 0 deletions cookbooks/git/metadata.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
maintainer "Opscode, Inc."
maintainer_email "cookbooks@opscode.com"
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.9.0"
recipe "git", "Installs git"
recipe "git::server", "Sets up a runit_service for git daemon"

%w{ ubuntu debian arch}.each do |os|
supports os
end

%w{ runit }.each do |cb|
depends cb
end
24 changes: 24 additions & 0 deletions cookbooks/git/recipes/default.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#
# Cookbook Name:: git
# Recipe:: default
#
# Copyright 2008-2009, Opscode, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

case node[:platform]
when "debian", "ubuntu"
package "git-core"
else
package "git"
end
34 changes: 34 additions & 0 deletions cookbooks/git/recipes/server.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
#
# Cookbook Name:: git
# Recipe:: server
#
# Copyright 2009, Opscode, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

include_recipe "git"

directory "/srv/git" do
owner "root"
group "root"
mode 0755
end

case node[:platform]
when "debian", "ubuntu"
include_recipe "runit"
runit_service "git-daemon"
else
log "Platform requires setting up a git daemon service script."
log "Hint: /usr/bin/git daemon --export-all --user=nobody --group=daemon --base-path=/srv/git"
end
2 changes: 2 additions & 0 deletions cookbooks/git/templates/default/sv-git-daemon-log-run.erb
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
#!/bin/sh
exec svlogd -tt ./main
3 changes: 3 additions & 0 deletions cookbooks/git/templates/default/sv-git-daemon-run.erb
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/sh
exec 2>&1
exec /usr/bin/git daemon --export-all --user=nobody --group=daemon --base-path=/srv/git /srv/git
31 changes: 31 additions & 0 deletions cookbooks/php/definitions/pear_channel.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
#
# Author:: Joshua Timberman (<joshua@opscode.com>)
# Cookbook Name:: php
# Recipe:: pear_channel
#
# Copyright 2009, Opscode, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

define :pear_channel, :channel => nil, :enable => true do

include_recipe "php::pear"

if params[:enable]
execute "/usr/bin/pear channel-discover #{params[:channel]}" do
only_if "/bin/sh -c '! /usr/bin/pear/channel-info #{params[:channel]} 2>&1 1>/dev/null"
end
end

end
31 changes: 31 additions & 0 deletions cookbooks/php/definitions/pear_module.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
#
# Author:: Joshua Timberman (<joshua@opscode.com>)
# Cookbook Name:: php
# Recipe:: pear_module
#
# Copyright 2009, Opscode, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

define :pear_module, :module => nil, :enable => true do

include_recipe "php::pear"

if params[:enable]
execute "/usr/bin/pear install -a #{params[:module]}" do
only_if "/bin/sh -c '! /usr/bin/pear info #{params[:module]} 2>&1 1>/dev/null"
end
end

end
42 changes: 42 additions & 0 deletions cookbooks/php/definitions/php_app.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
#
# Author:: Joshua Timberman (<joshua@opscode.com>)
# Cookbook Name:: php
# Recipe:: php_app
#
# Copyright 2009, Opscode, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# php_app will be deprecated for web_app (apache2 cookbook).

define :php_app, :docroot => nil, :canonical_hostname => nil, :template => "php/php.conf.erb" do

application_name = params[:name]

include_recipe "apache2"
include_recipe "apache2::mod_rewrite"
include_recipe "apache2::mod_deflate"
include_recipe "apache2::mod_headers"

template "/etc/apache2/sites-available/#{params[:name]}.conf" do
source "#{params[:template]}"
variables :docroot => params[:docroot], :canonical_hostname => params[:canonical_hostname]
owner "root"
group "root"
mode 0644
notifies :reload, resources("service[apache2]"), :delayed
end

apache_site "#{params[:name]}.conf"

end
Loading

0 comments on commit 0404f85

Please sign in to comment.