Andrew Hutchings e3166c9102 Add lodgeit to puppet
Will automatically install paste.drizzle.org and paste.openstack.org onto a server

Change-Id: Ia2c1e37892f3ae8e3d4034e38ddfaa01c6a92a54
2012-01-31 16:11:02 +00:00

67 lines
1.6 KiB
Puppet

define lodgeit::site($port, $image="") {
file { "/etc/nginx/sites-available/${name}":
ensure => 'present',
content => template("lodgeit/nginx.erb"),
replace => 'true',
require => Package[nginx]
}
file { "/etc/nginx/sites-enabled/${name}":
ensure => link,
target => "/etc/nginx/sites-available/${name}",
require => Package[nginx]
}
file { "/etc/init/${name}-paste.conf":
ensure => 'present',
content => template("lodgeit/upstart.erb"),
replace => 'true',
require => Package[nginx]
}
file { "/srv/lodgeit/${name}":
ensure => directory,
recurse => true,
source => "/tmp/lodgeit-main"
}
if $image != '' {
file { "/srv/lodgeit/${name}/lodgeit/static/${image}":
ensure => present,
source => "puppet:///lodgeit/${image}"
}
}
# Database file needs replacing to be compatible with SQLAlchemy 0.7
file { "/srv/lodgeit/${name}/lodgeit/database.py":
replace => true,
source => 'puppet:///modules/lodgeit/database.py'
}
file { "/srv/lodgeit/${name}/manage.py":
mode => 755,
replace => true,
content => template("lodgeit/manage.py.erb")
}
file { "/srv/lodgeit/${name}/lodgeit/views/layout.html":
replace => true,
content => template("lodgeit/layout.html.erb")
}
exec { "create_database_${name}":
command => "drizzle --user=root -e \"create database if not exists ${name};\"",
path => "/bin:/usr/bin",
require => Service["drizzle"]
}
service { "${name}-paste":
provider => upstart,
ensure => running,
require => [Service["drizzle", "nginx"], Exec["create_database_${name}"]]
}
}