Add planet support

Adds planet module and planet.openstack.org site.

Change-Id: Id4d495889346e0a0d85d0fd05e40d451b04d21b1
Note: will not work with current openstack-planet git branch.  Update for that comming
This commit is contained in:
Andrew Hutchings 2012-02-03 14:37:54 +00:00
commit 45516b6210
3 changed files with 68 additions and 0 deletions

24
manifests/init.pp Normal file
View File

@ -0,0 +1,24 @@
class planet {
package { 'planet-venus':
ensure => present
}
package { 'nginx':
ensure => present
}
file { '/srv/planet':
ensure => directory
}
file { '/var/lib/planet':
ensure => directory
}
service { 'nginx':
ensure => running,
hasrestart => true
}
}

39
manifests/site.pp Normal file
View File

@ -0,0 +1,39 @@
define planet::site($git_url) {
file { "/etc/nginx/sites-available/planet-${name}":
ensure => present,
content => template("planet/nginx.erb"),
replace => true,
require => Package[nginx]
}
file { "/etc/nginx/sites-enabled/planet-${name}":
ensure => link,
target => "/etc/nginx/sites-available/planet-${name}",
require => Package[nginx],
}
# if we already have the mercurial repo the pull updates
exec { "update_${name}_planet":
command => "git pull",
cwd => "/var/lib/planet/${name}",
path => "/bin:/usr/bin",
onlyif => "test -d /var/lib/planet/${name}"
}
# otherwise get a new clone of it
exec { "create_${name}_planet":
command => "git clone ${git_url} /var/lib/planet/${name}",
path => "/bin:/usr/bin",
onlyif => "test ! -d /var/lib/planet/${name}"
}
cron { "update_planet_${name}":
user => root,
minute => 3,
command => "planet /var/lib/planet/${name}.ini"
}
}

5
templates/nginx.erb Normal file
View File

@ -0,0 +1,5 @@
server {
listen 80;
server_name planet.<%= name %>.org;
root /srv/planet/<%= name %>;
}