Ajout : vm_hosted : rule_runit_configure .
[lhc/ateliers.git] / vm_hosted
index eb6869f..b4a73b5 100755 (executable)
--- a/vm_hosted
+++ b/vm_hosted
@@ -660,6 +660,10 @@ rule_login_configure () {
                # Xen hypervisor console
                hvc:2345:respawn:/sbin/getty 38400 hvc0
                #xvc:2345:respawn:/sbin/getty 38400 xvc0
+               
+               #-- runit begin
+               SV:123456:respawn:/usr/sbin/runsvdir-start
+               #-- runit end
                EOF
        sudo install -m 644 -o root -g root /dev/stdin /etc/login.defs <<-EOF
                MAIL_DIR         /var/mail
@@ -1085,6 +1089,10 @@ rule_postfix_configure () {
        sudo postmap hash:/etc/postfix/$vm_domainname/virtual_alias
        sudo service postfix restart
  }
+rule_postgresql_configure () {
+       rule apt_get_install postgresql-9.1
+       sudo service postgresql restart
+ }
 rule_openerp_configure () {
        sudo install -m 660 -o root -g root /dev/stdin /etc/apt/sources.list.d/openerp.list <<-EOF
                deb http://nightly.openerp.com/trunk/nightly/deb/ ./
@@ -1107,6 +1115,34 @@ rule_procmail_configure () {
         "$tool"/etc/skel/etc/mail/delivery.procmailrc \
                /etc/skel/etc/mail/delivery.procmailrc
  }
+rule_runit_configure () {
+       rule apt_get_install runit
+       local -; set +f
+       rm -f /etc/service/*
+        # NOTE: runsvdir éteindra les services qui n'apparaîtront plus ici.
+       for sv in "$tool"/etc/sv/*
+        do sv=${sv#"$tool"/etc/sv/}
+               sudo install -d -m 770 -o root -g root \
+                /etc/sv/"$sv"
+               sudo install -m 770 -o root -g root \
+                "$tool"/etc/sv/"$sv"/run \
+                       /etc/sv/"$sv"/run
+               if test -e "$tool"/etc/sv/"$sv"/log/run
+                then
+                       sudo install -d -m 770 -o root -g root \
+                        /etc/sv/"$sv"/log
+                       sudo install -m 770 -o root -g root \
+                        "$tool"/etc/sv/"$sv"/log/run \
+                               /etc/sv/"$sv"/log/run
+                fi
+               if test ! -x "$tool"/etc/sv/"$sv"/configure ||
+                       "$tool"/etc/sv/"$sv"/configure
+                then
+                       ln -fns ../sv/"$sv" /etc/service/"$sv"
+                       sv restart "$sv"
+                else
+        done
+ }
 rule_ssh_configure () {
        ssh-keygen -F "$vm_fqdn" -f "$tool"/etc/openssh/known_hosts |
        ( while IFS= read -r line
@@ -1221,11 +1257,12 @@ rule_user_admin_configure () {
        rule user_root_configure
  }
 rule_user_configure () {
-       sudo install -d -m 750 -o root -g adm \
+       sudo install -d -m 750 -o root -g root \
+        /etc/skel \
         /etc/skel/etc \
         /etc/skel/etc/gpg \
         /etc/skel/etc/ssh
-       sudo install -d -m 770 -o root -g adm \
+       sudo install -d -m 770 -o root -g root \
         /etc/skel/var \
         /etc/skel/var/cache \
         /etc/skel/var/log \
@@ -1264,7 +1301,7 @@ rule_user_configure () {
                /etc/screenrc
  }
 rule_user_root_configure () {
-       sudo install -d -m 750 -o root -g adm \
+       sudo install -d -m 750 -o root -g root \
         /root/etc \
         /root/etc/gpg \
         /root/etc/ssh
@@ -1304,6 +1341,7 @@ rule_configure () {
        rule nginx_configure
        rule php5_fpm_configure
        rule gitolite_configure
+       rule runit_configure
  }
 
 rule_luks_key_change () {