##
## Setup runit.
##
class iclassify::runit {
##
## Files.
##
file { "/var/service":
ensure => directory,
}
file { "/sbin/runsvdir-start":
ensure => present,
source => "puppet:///iclassify/runsvdir-start",
mode => 755,
require => Package['runit'],
}
file { "/etc/inittab":
ensure => present,
source => "puppet:///iclassify/inittab",
}
file { "/etc/mongrel_runit":
ensure => directory,
}
file { "/etc/mongrel_runit/iclassify.yml":
content => template("iclassify/mongrel_runit_iclassify.yml.erb"),
ensure => present,
require => [ File["/etc/mongrel_runit"], Exec['rakeinstall'] ],
}
file { "/etc/init.d/mongrel_runit":
ensure => present,
mode => 755,
source => "puppet:///iclassify/init-mongrel_runit",
}
file { "/etc/init.d/iclassify":
ensure => "/etc/init.d/mongrel_runit",
}
##
## Commands.
##
exec { "init q":
refreshonly => true,
subscribe => File['/etc/inittab'],
}
exec { "mongrel_runit":
command => "mongrel_runit -c /etc/mongrel_runit/iclassify.yml create",
refreshonly => true,
subscribe => File['/etc/mongrel_runit/iclassify.yml'],
require => [ Package['runit'], Package['rubygem-mongrel_runit'] ],
}
}