dev/provisioning/modules/puppi/manifests/skel.pp
changeset 28 b0b56e0f8c7f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dev/provisioning/modules/puppi/manifests/skel.pp	Fri Jan 15 15:35:00 2016 +0100
@@ -0,0 +1,184 @@
+#
+# Class puppi::skel
+#
+# Creates the base Puppi dirs
+#
+class puppi::skel {
+
+  require puppi::params
+
+  file { 'puppi_basedir':
+    ensure => directory,
+    path   => $puppi::params::basedir,
+    mode   => '0755',
+    owner  => $puppi::params::configfile_owner,
+    group  => $puppi::params::configfile_group,
+  }
+
+  file { 'puppi_checksdir':
+    ensure  => directory,
+    path    => $puppi::params::checksdir,
+    mode    => '0755',
+    owner   => $puppi::params::configfile_owner,
+    group   => $puppi::params::configfile_group,
+    require => File['puppi_basedir'],
+    recurse => true,
+    purge   => true,
+    force   => true,
+  }
+
+  file { 'puppi_logsdir':
+    ensure  => directory,
+    path    => $puppi::params::logsdir,
+    mode    => '0755',
+    owner   => $puppi::params::configfile_owner,
+    group   => $puppi::params::configfile_group,
+    require => File['puppi_basedir'],
+    recurse => true,
+    purge   => true,
+    force   => true,
+  }
+
+  file { 'puppi_helpersdir':
+    ensure  => directory,
+    path    => $puppi::params::helpersdir,
+    mode    => '0755',
+    owner   => $puppi::params::configfile_owner,
+    group   => $puppi::params::configfile_group,
+    require => File['puppi_basedir'],
+  }
+
+  file { 'puppi_infodir':
+    ensure  => directory,
+    path    => $puppi::params::infodir,
+    mode    => '0755',
+    owner   => $puppi::params::configfile_owner,
+    group   => $puppi::params::configfile_group,
+    require => File['puppi_basedir'],
+    recurse => true,
+    purge   => true,
+    force   => true,
+  }
+
+  file { 'puppi_tododir':
+    ensure  => directory,
+    path    => $puppi::params::tododir,
+    mode    => '0755',
+    owner   => $puppi::params::configfile_owner,
+    group   => $puppi::params::configfile_group,
+    require => File['puppi_basedir'],
+    recurse => true,
+    purge   => true,
+    force   => true,
+  }
+
+  file { 'puppi_projectsdir':
+    ensure  => directory,
+    path    => $puppi::params::projectsdir,
+    mode    => '0755',
+    owner   => $puppi::params::configfile_owner,
+    group   => $puppi::params::configfile_group,
+    require => File['puppi_basedir'],
+    recurse => true,
+    purge   => true,
+    force   => true,
+  }
+
+  file { 'puppi_datadir':
+    ensure  => directory,
+    path    => $puppi::params::datadir,
+    mode    => '0750',
+    owner   => $puppi::params::configfile_owner,
+    group   => $puppi::params::configfile_group,
+    require => File['puppi_basedir'],
+    recurse => true,
+    purge   => true,
+    force   => true,
+  }
+
+  file { 'puppi_workdir':
+    ensure  => directory,
+    path    => $puppi::params::workdir,
+    mode    => '0755',
+    owner   => $puppi::params::configfile_owner,
+    group   => $puppi::params::configfile_group,
+    require => File['puppi_basedir'],
+  }
+
+  file { 'puppi_archivedir':
+    ensure  => directory,
+    path    => $puppi::params::archivedir,
+    mode    => '0755',
+    owner   => $puppi::params::configfile_owner,
+    group   => $puppi::params::configfile_group,
+    require => File['puppi_libdir'],
+  }
+
+  file { 'puppi_readmedir':
+    ensure  => directory,
+    path    => $puppi::params::readmedir,
+    mode    => '0755',
+    owner   => $puppi::params::configfile_owner,
+    group   => $puppi::params::configfile_group,
+    require => File['puppi_libdir'],
+  }
+
+  file { 'puppi_libdir':
+    ensure  => directory,
+    path    => $puppi::params::libdir,
+    mode    => '0755',
+    owner   => $puppi::params::configfile_owner,
+    group   => $puppi::params::configfile_group,
+    require => File['puppi_basedir'],
+  }
+
+  file { 'puppi_logdir':
+    ensure  => directory,
+    path    => $puppi::params::logdir,
+    mode    => '0755',
+    owner   => $puppi::params::configfile_owner,
+    group   => $puppi::params::configfile_group,
+    require => File['puppi_basedir'],
+  }
+
+  # MailPuppiCheck script
+  file { '/usr/bin/mailpuppicheck':
+    ensure => 'present',
+    mode   => '0750',
+    owner  => $puppi::params::configfile_owner,
+    group  => $puppi::params::configfile_group,
+    source => 'puppet:///modules/puppi/mailpuppicheck',
+  }
+
+  # Puppi common scripts
+  file { 'puppi.scripts':
+    ensure  => present,
+    path    => "${puppi::params::scriptsdir}/",
+    mode    => '0755',
+    owner   => $puppi::params::configfile_owner,
+    group   => $puppi::params::configfile_group,
+    source  => 'puppet:///modules/puppi/scripts/',
+    recurse => true,
+#   purge   => true,
+    ignore  => '.svn',
+  }
+
+  # Logs cleanup script
+  if $::kernel == 'Linux' {
+    if $puppi::logs_retention_days
+    and $puppi::logs_retention_days != '0' {
+      $purge_cron_ensure = 'present'
+    } else {
+      $purge_cron_ensure = 'absent'
+    }
+
+    file { 'puppi_cron_logs_purge':
+      ensure  => $purge_cron_ensure,
+      path    => '/etc/cron.daily/puppi_clean',
+      mode    => '0755',
+      owner   => 'root',
+      group   => 'root',
+      content => template('puppi/puppi_clean.erb'),
+    }
+  }
+}