aboutsummaryrefslogtreecommitdiff
path: root/manifests/server
diff options
context:
space:
mode:
Diffstat (limited to 'manifests/server')
-rw-r--r--manifests/server/base.pp58
-rw-r--r--manifests/server/debian.pp21
2 files changed, 79 insertions, 0 deletions
diff --git a/manifests/server/base.pp b/manifests/server/base.pp
new file mode 100644
index 0000000..1725b36
--- /dev/null
+++ b/manifests/server/base.pp
@@ -0,0 +1,58 @@
+/*
+
+= Class dhcp::server::base
+Do NOT include this class - it won't work at all.
+Set variables for package name and so on.
+This class should be inherited in dhcp::server::$operatingsystem.
+
+*/
+class dhcp::server::base {
+ include dhcp::params
+ package {"dhcp-server":
+ ensure => present,
+ name => $dhcp::params::srv_dhcpd,
+ }
+
+ service {"dhcpd":
+ name => $dhcp::params::srv_dhcpd,
+ ensure => running,
+ enable => true,
+ require => Package["dhcp-server"],
+ }
+
+ common::concatfilepart {"00.dhcp.server.base":
+ file => "${dhcp::params::config_dir}/dhcpd.conf",
+ ensure => present,
+ require => Package["dhcp-server"],
+ notify => Service["dhcpd"],
+ }
+
+ file {"${dhcp::params::config_dir}/dhcpd.conf.d":
+ ensure => directory,
+ mode => 0700,
+ recurse => true,
+ purge => true,
+ force => true,
+ source => "puppet:///modules/dhcp/empty"
+ }
+
+ file {"${dhcp::params::config_dir}/subnets":
+ ensure => directory,
+ require => Package["dhcp-server"],
+ notify => Service["dhcpd"],
+ recurse => true,
+ purge => true,
+ force => true,
+ source => "puppet:///modules/dhcp/empty"
+ }
+
+ file {"${dhcp::params::config_dir}/hosts.d":
+ ensure => directory,
+ require => Package["dhcp-server"],
+ recurse => true,
+ purge => true,
+ force => true,
+ source => "puppet:///modules/dhcp/empty"
+ }
+
+}
diff --git a/manifests/server/debian.pp b/manifests/server/debian.pp
new file mode 100644
index 0000000..9762384
--- /dev/null
+++ b/manifests/server/debian.pp
@@ -0,0 +1,21 @@
+/*
+
+= Class: dhcp::server::debian
+Installs a dhcp server on debian system.
+
+This class should not be included as is, please include "dhcp::server" instead.
+
+*/
+class dhcp::server::debian inherits dhcp::server::base {
+
+ Common::Concatfilepart["00.dhcp.server.base"] {
+ content => template('dhcp/dhcpd.conf.debian.erb'),
+ }
+
+ Service["dhcpd"] {
+ pattern => $lsbdistcodename ? {
+ squeeze => "/usr/sbin/dhcpd",
+ lenny => "/usr/sbin/dhcpd3",
+ }
+ }
+}