Merged in feature-openbsd-service (pull request #67)
Use native service provider on OpenBSD
This commit is contained in:
commit
dc0e79d1bb
18 changed files with 180 additions and 304 deletions
|
@ -12,10 +12,9 @@ class avahi::daemon {
|
||||||
}
|
}
|
||||||
|
|
||||||
if $::operatingsystem == "OpenBSD" {
|
if $::operatingsystem == "OpenBSD" {
|
||||||
service { "dbus-daemon":
|
service { "messagebus":
|
||||||
ensure => running,
|
ensure => running,
|
||||||
enable => true,
|
enable => true,
|
||||||
start => "install -d -o _dbus -g _dbus /var/run/dbus && /usr/local/bin/dbus-daemon --system",
|
|
||||||
before => Service["avahi-daemon"],
|
before => Service["avahi-daemon"],
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -24,10 +23,6 @@ class avahi::daemon {
|
||||||
ensure => running,
|
ensure => running,
|
||||||
enable => true,
|
enable => true,
|
||||||
status => "avahi-daemon -c",
|
status => "avahi-daemon -c",
|
||||||
start => $::operatingsystem ? {
|
|
||||||
"openbsd" => "avahi-daemon -D",
|
|
||||||
default => undef,
|
|
||||||
},
|
|
||||||
require => Package["avahi"],
|
require => Package["avahi"],
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# Install common parts of DHCP server
|
# Install common parts of DHCP server
|
||||||
#
|
#
|
||||||
class dhcp::server::common {
|
class dhcp::server::common($interface=undef) {
|
||||||
|
|
||||||
case $::operatingsystem {
|
case $::operatingsystem {
|
||||||
"centos","redhat": {
|
"centos","redhat": {
|
||||||
|
@ -21,6 +21,13 @@ class dhcp::server::common {
|
||||||
$confdir = "/etc"
|
$confdir = "/etc"
|
||||||
$package = "isc-dhcp-server"
|
$package = "isc-dhcp-server"
|
||||||
$service = "isc_dhcpd"
|
$service = "isc_dhcpd"
|
||||||
|
|
||||||
|
Service["dhcpd"] {
|
||||||
|
flags => $interface ? {
|
||||||
|
undef => "-q -user _isc-dhcp -group _isc-dhcp",
|
||||||
|
default => "-q -user _isc-dhcp -group _isc-dhcp ${interface}",
|
||||||
|
},
|
||||||
|
}
|
||||||
}
|
}
|
||||||
"ubuntu": {
|
"ubuntu": {
|
||||||
if versioncmp($::operatingsystemrelease, "12.04") >= 0 {
|
if versioncmp($::operatingsystemrelease, "12.04") >= 0 {
|
||||||
|
@ -57,7 +64,7 @@ class dhcp::server::common {
|
||||||
|
|
||||||
file { "/var/db/dhcpd.leases":
|
file { "/var/db/dhcpd.leases":
|
||||||
ensure => present,
|
ensure => present,
|
||||||
mode => 0644,
|
mode => "0644",
|
||||||
owner => "root",
|
owner => "root",
|
||||||
group => "wheel",
|
group => "wheel",
|
||||||
before => Service["dhcpd"],
|
before => Service["dhcpd"],
|
||||||
|
@ -68,36 +75,25 @@ class dhcp::server::common {
|
||||||
ensure => running,
|
ensure => running,
|
||||||
enable => true,
|
enable => true,
|
||||||
name => $service,
|
name => $service,
|
||||||
binary => $::operatingsystem ? {
|
|
||||||
"openbsd" => "/usr/local/sbin/dhcpd",
|
|
||||||
default => undef,
|
|
||||||
},
|
|
||||||
start => $::operatingsystem ? {
|
|
||||||
"openbsd" => $dhcp_server_interface ? {
|
|
||||||
"" => "/usr/local/sbin/dhcpd -q",
|
|
||||||
default => "/usr/local/sbin/dhcpd -q ${dhcp_server_interface}",
|
|
||||||
},
|
|
||||||
default => undef,
|
|
||||||
},
|
|
||||||
require => Package["dhcp"],
|
require => Package["dhcp"],
|
||||||
}
|
}
|
||||||
|
|
||||||
if $dhcp_server_interface {
|
if $interface {
|
||||||
case $::operatingsystem {
|
case $::operatingsystem {
|
||||||
"centos","redhat": {
|
"fedora","centos","redhat": {
|
||||||
file { "/etc/sysconfig/dhcpd":
|
file { "/etc/sysconfig/dhcpd":
|
||||||
ensure => present,
|
ensure => present,
|
||||||
content => template("dhcp/dhcpd.sysconfig"),
|
|
||||||
mode => "0644",
|
mode => "0644",
|
||||||
owner => "root",
|
owner => "root",
|
||||||
group => "root",
|
group => "root",
|
||||||
|
content => template("dhcp/dhcpd.sysconfig"),
|
||||||
require => Package["dhcp"],
|
require => Package["dhcp"],
|
||||||
notify => Service["dhcpd"],
|
notify => Service["dhcpd"],
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
"openbsd": {}
|
"openbsd": {}
|
||||||
default: {
|
default: {
|
||||||
fail("Variable \${dhcp_server_interface} not supported in ${::operatinsystem}")
|
fail("Parameter interface not supported in ${::operatinsystem}")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -107,24 +103,30 @@ class dhcp::server::common {
|
||||||
|
|
||||||
# Install DHCP server with static config.
|
# Install DHCP server with static config.
|
||||||
#
|
#
|
||||||
# === Global variables
|
# === Parameters
|
||||||
#
|
#
|
||||||
# $dhcp_server_interface:
|
# $interface:
|
||||||
# Interface that DHCP server should listen. Defaults to all.
|
# Interface that DHCP server should listen. Defaults to all.
|
||||||
#
|
#
|
||||||
class dhcp::server inherits dhcp::server::common {
|
class dhcp::server($interface=undef) {
|
||||||
|
|
||||||
|
class { "dhcp::server::common":
|
||||||
|
interface => $interface,
|
||||||
|
}
|
||||||
|
|
||||||
file { "dhcpd.conf":
|
file { "dhcpd.conf":
|
||||||
name => "${confdir}/dhcpd.conf",
|
|
||||||
ensure => present,
|
ensure => present,
|
||||||
source => [ "puppet:///files/dhcp/dhcpd.conf.${::homename}",
|
name => "${dhcp::server::common::confdir}/dhcpd.conf",
|
||||||
"puppet:///files/dhcp/dhcpd.conf", ],
|
|
||||||
mode => "0644",
|
mode => "0644",
|
||||||
owner => "root",
|
owner => "root",
|
||||||
group => $::operatingsystem ? {
|
group => $::operatingsystem ? {
|
||||||
"openbsd" => "wheel",
|
"openbsd" => "wheel",
|
||||||
default => "root",
|
default => "root",
|
||||||
},
|
},
|
||||||
|
source => [
|
||||||
|
"puppet:///files/dhcp/dhcpd.conf.${::homename}",
|
||||||
|
"puppet:///files/dhcp/dhcpd.conf",
|
||||||
|
],
|
||||||
notify => Service["dhcpd"],
|
notify => Service["dhcpd"],
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -133,38 +135,46 @@ class dhcp::server inherits dhcp::server::common {
|
||||||
|
|
||||||
# Install DHCP server and generate config from LDAP.
|
# Install DHCP server and generate config from LDAP.
|
||||||
#
|
#
|
||||||
# === Global variables
|
# === Parameters
|
||||||
#
|
#
|
||||||
# $dhcp_server_interface:
|
# $interface:
|
||||||
# Interface that DHCP server should listen. Defaults to all.
|
# Interface that DHCP server should listen. Defaults to all.
|
||||||
#
|
#
|
||||||
class dhcp::server::ldap inherits dhcp::server::common {
|
class dhcp::server::ldap($interface=undef) {
|
||||||
|
|
||||||
include python
|
class { "dhcp::server::common":
|
||||||
include ldap::client
|
interface => $interface,
|
||||||
|
}
|
||||||
|
|
||||||
|
require python
|
||||||
|
require ldap::client
|
||||||
|
|
||||||
file { "/usr/local/sbin/dhcpdump.py":
|
file { "/usr/local/sbin/dhcpdump.py":
|
||||||
ensure => present,
|
ensure => present,
|
||||||
source => "puppet:///modules/dhcp/dhcpdump.py",
|
mode => "0755",
|
||||||
mode => "0755",
|
owner => "root",
|
||||||
owner => "root",
|
group => $::operatingsystem ? {
|
||||||
group => $::operatingsystem ? {
|
|
||||||
"openbsd" => "wheel",
|
"openbsd" => "wheel",
|
||||||
default => "root",
|
default => "root",
|
||||||
},
|
},
|
||||||
|
source => "puppet:///modules/dhcp/dhcpdump.py",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$confdir = $dhcp::server::common::confdir
|
||||||
|
|
||||||
file { "dhcpd.conf.in":
|
file { "dhcpd.conf.in":
|
||||||
ensure => present,
|
ensure => present,
|
||||||
name => "${confdir}/dhcpd.conf.in",
|
name => "${confdir}/dhcpd.conf.in",
|
||||||
source => [ "puppet:///files/dhcp/dhcpd.conf.in.${hostname}",
|
|
||||||
"puppet:///files/dhcp/dhcpd.conf.in", ],
|
|
||||||
mode => "0644",
|
mode => "0644",
|
||||||
owner => "root",
|
owner => "root",
|
||||||
group => $::operatingsystem ? {
|
group => $::operatingsystem ? {
|
||||||
"openbsd" => "wheel",
|
"openbsd" => "wheel",
|
||||||
default => "root",
|
default => "root",
|
||||||
},
|
},
|
||||||
|
source => [
|
||||||
|
"puppet:///files/dhcp/dhcpd.conf.in.${::hostname}",
|
||||||
|
"puppet:///files/dhcp/dhcpd.conf.in",
|
||||||
|
],
|
||||||
require => Package["dhcp"],
|
require => Package["dhcp"],
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -172,45 +182,8 @@ class dhcp::server::ldap inherits dhcp::server::common {
|
||||||
path => "/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin",
|
path => "/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin",
|
||||||
command => "dhcpdump.py ${confdir}/dhcpd.conf.in* > ${confdir}/dhcpd.conf",
|
command => "dhcpdump.py ${confdir}/dhcpd.conf.in* > ${confdir}/dhcpd.conf",
|
||||||
unless => "dhcpdump.py ${confdir}/dhcpd.conf.in* | diff ${confdir}/dhcpd.conf -",
|
unless => "dhcpdump.py ${confdir}/dhcpd.conf.in* | diff ${confdir}/dhcpd.conf -",
|
||||||
require => [
|
require => File["dhcpd.conf.in", "/usr/local/sbin/dhcpdump.py"],
|
||||||
File["dhcpd.conf.in"],
|
|
||||||
File["/usr/local/sbin/dhcpdump.py"],
|
|
||||||
Class["python"],
|
|
||||||
Class["ldap::client"],
|
|
||||||
],
|
|
||||||
notify => Service["dhcpd"],
|
notify => Service["dhcpd"],
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
# Configure DHCP relay
|
|
||||||
#
|
|
||||||
# === Parameters
|
|
||||||
#
|
|
||||||
# $name:
|
|
||||||
# Relay name (can be anything).
|
|
||||||
# $interface:
|
|
||||||
# IP address for interface to listen.
|
|
||||||
# $server_addr:
|
|
||||||
# Address for DHCP server to relay requests.
|
|
||||||
#
|
|
||||||
# === Sample usage
|
|
||||||
#
|
|
||||||
# dhcp::relay { "relay0": interface => "em2", server_addr => "10.20.110.11" }
|
|
||||||
#
|
|
||||||
define dhcp::relay($interface, $server_addr) {
|
|
||||||
|
|
||||||
service { $name:
|
|
||||||
ensure => running,
|
|
||||||
provider => "base",
|
|
||||||
hasrestart => false,
|
|
||||||
hasstatus => false,
|
|
||||||
pattern => "/usr/sbin/dhcrelay -i ${interface} ${server_addr}",
|
|
||||||
start => $::operatingsystem ? {
|
|
||||||
"openbsd" => "/usr/sbin/dhcrelay -i ${interface} ${server_addr}",
|
|
||||||
default => undef,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<% if @operatingsystemrelease =~ /^6\./ -%>
|
<% if @operatingsystemrelease =~ /^6\./ -%>
|
||||||
DHCPDARGS="-chroot ${statedir} -lf /dhcpd.leases -pf /dhcpd.pid <%= @dhcp_server_interface %>"
|
DHCPDARGS="-chroot ${statedir} -lf /dhcpd.leases -pf /dhcpd.pid <%= @interface %>"
|
||||||
pidfile="${statedir}/dhcpd.pid"
|
pidfile="${statedir}/dhcpd.pid"
|
||||||
<% else -%>
|
<% else -%>
|
||||||
DHCPDARGS="<%= @dhcp_server_interface %>"
|
DHCPDARGS="<%= @interface %>"
|
||||||
<% end -%>
|
<% end -%>
|
||||||
|
|
|
@ -315,8 +315,6 @@ class firewall::ftpproxy {
|
||||||
service { "ftpproxy":
|
service { "ftpproxy":
|
||||||
ensure => running,
|
ensure => running,
|
||||||
enable => true,
|
enable => true,
|
||||||
binary => "/usr/sbin/ftp-proxy",
|
|
||||||
start => "/usr/sbin/ftp-proxy",
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,7 +17,6 @@ class ifstated {
|
||||||
service { "ifstated":
|
service { "ifstated":
|
||||||
ensure => running,
|
ensure => running,
|
||||||
enable => true,
|
enable => true,
|
||||||
binary => "/usr/sbin/ifstated",
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -64,9 +64,8 @@ class inetd::server::inetd {
|
||||||
}
|
}
|
||||||
|
|
||||||
service { "inetd":
|
service { "inetd":
|
||||||
ensure => running,
|
ensure => running,
|
||||||
start => "/usr/sbin/inetd",
|
enable => true,
|
||||||
enable => true,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -518,10 +518,6 @@ class ldap::server {
|
||||||
|
|
||||||
service { "slapd":
|
service { "slapd":
|
||||||
name => $service_name,
|
name => $service_name,
|
||||||
start => $::operatingsystem ? {
|
|
||||||
"openbsd" => "/usr/local/libexec/slapd -u _openldap -h ldap:///\\ ldaps:///\\ ldapi:///",
|
|
||||||
default => undef,
|
|
||||||
},
|
|
||||||
ensure => running,
|
ensure => running,
|
||||||
enable => true,
|
enable => true,
|
||||||
require => Package["openldap-server"]
|
require => Package["openldap-server"]
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
|
|
||||||
# Install NFS client.
|
# Install NFS client.
|
||||||
#
|
#
|
||||||
class nfs::client {
|
class nfs::client {
|
||||||
|
@ -13,12 +12,31 @@ class nfs::client {
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
if $::operatingsystem == "Fedora" and $::operatingsystemrelease >= 16 {
|
case $::operatingsystem {
|
||||||
# https://bugzilla.redhat.com/show_bug.cgi?id=692008
|
"fedora": {
|
||||||
service { "NetworkManager-wait-online":
|
# https://bugzilla.redhat.com/show_bug.cgi?id=692008
|
||||||
ensure => stopped,
|
service { "NetworkManager-wait-online":
|
||||||
enable => true,
|
ensure => stopped,
|
||||||
|
enable => true,
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
"ubuntu": {
|
||||||
|
file { "/etc/modprobe.d/lockd.conf":
|
||||||
|
ensure => present,
|
||||||
|
mode => "0644",
|
||||||
|
owner => "root",
|
||||||
|
group => "root",
|
||||||
|
content => "options lockd nlm_tcpport=4001 nlm_udpport=4001\n",
|
||||||
|
before => Package["nfs-utils"],
|
||||||
|
}
|
||||||
|
augeas { "set-nfs-common":
|
||||||
|
context => "/files/etc/default/nfs-common",
|
||||||
|
changes => "set STATDOPTS '\"--port 4000\"'",
|
||||||
|
notify => Service["nfslock"],
|
||||||
|
require => Package["nfs-utils"],
|
||||||
|
}
|
||||||
|
}
|
||||||
|
default: { }
|
||||||
}
|
}
|
||||||
|
|
||||||
service { "nfslock":
|
service { "nfslock":
|
||||||
|
@ -26,8 +44,8 @@ class nfs::client {
|
||||||
enable => true,
|
enable => true,
|
||||||
name => $::operatingsystem ? {
|
name => $::operatingsystem ? {
|
||||||
"centos" => $::operatingsystemrelease ? {
|
"centos" => $::operatingsystemrelease ? {
|
||||||
/^[1-6]/ => "nfslock",
|
/^[1-6]/ => "nfslock",
|
||||||
default => "rpc-statd",
|
default => "rpc-statd",
|
||||||
},
|
},
|
||||||
"fedora" => $::operatingsystemrelease ? {
|
"fedora" => $::operatingsystemrelease ? {
|
||||||
/^([1-9]|1[0-5])$/ => "nfslock",
|
/^([1-9]|1[0-5])$/ => "nfslock",
|
||||||
|
@ -45,30 +63,62 @@ class nfs::client {
|
||||||
|
|
||||||
# Install and configure NFS server.
|
# Install and configure NFS server.
|
||||||
#
|
#
|
||||||
class nfs::server {
|
# === Parameters
|
||||||
|
#
|
||||||
|
# $servers:
|
||||||
|
# Number of nfs server processes to be started. Defaults to 8.
|
||||||
|
#
|
||||||
|
# $versions:
|
||||||
|
# Array of NFS versions to enable. Defaults to [ "3" ].
|
||||||
|
#
|
||||||
|
class nfs::server(
|
||||||
|
$servers="8",
|
||||||
|
$versions=["3"],
|
||||||
|
) {
|
||||||
|
|
||||||
|
$default_versions = [ "2", "3", "4" ]
|
||||||
|
$disable_versions = inline_template('<%= (@default_versions - @versions).map { |v| "-N %s" % v }.join(" ") %>')
|
||||||
|
|
||||||
require nfs::client
|
require nfs::client
|
||||||
|
|
||||||
file { "/etc/exports":
|
file { "/etc/exports":
|
||||||
ensure => present,
|
ensure => present,
|
||||||
source => [
|
source => [
|
||||||
"puppet:///files/nfs/exports.${::homename}",
|
"puppet:///files/nfs/exports.${::homename}",
|
||||||
"puppet:///modules/nfs/exports",
|
"puppet:///modules/nfs/exports",
|
||||||
],
|
],
|
||||||
mode => "0644",
|
mode => "0644",
|
||||||
owner => "root",
|
owner => "root",
|
||||||
group => "root",
|
group => "root",
|
||||||
require => Package["nfs-utils"],
|
notify => Exec["exportfs"],
|
||||||
notify => Exec["exportfs"],
|
|
||||||
}
|
}
|
||||||
|
|
||||||
file { "/etc/sysconfig/nfs":
|
case $::operatingsystem {
|
||||||
ensure => present,
|
"centos","redhat","fedora": {
|
||||||
content => template("nfs/nfs.sysconfig.erb"),
|
file { "/etc/sysconfig/nfs":
|
||||||
mode => "0644",
|
ensure => present,
|
||||||
owner => "root",
|
mode => "0644",
|
||||||
group => "root",
|
owner => "root",
|
||||||
notify => Service["nfs"],
|
group => "root",
|
||||||
|
content => template("nfs/nfs.sysconfig.erb"),
|
||||||
|
notify => Service["nfs"],
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"ubuntu": {
|
||||||
|
package { "nfs-kernel-server":
|
||||||
|
ensure => installed,
|
||||||
|
}
|
||||||
|
file { "/etc/default/nfs-kernel-server":
|
||||||
|
ensure => present,
|
||||||
|
mode => "0644",
|
||||||
|
owner => "root",
|
||||||
|
group => "root",
|
||||||
|
content => template("nfs/nfs-kernel-server.erb"),
|
||||||
|
require => Package["nfs-kernel-server"],
|
||||||
|
notify => Service["nfs"],
|
||||||
|
}
|
||||||
|
}
|
||||||
|
default: { }
|
||||||
}
|
}
|
||||||
|
|
||||||
service { "nfs":
|
service { "nfs":
|
||||||
|
@ -78,11 +128,11 @@ class nfs::server {
|
||||||
/^([1-9]|1[0-5])$/ => "nfs",
|
/^([1-9]|1[0-5])$/ => "nfs",
|
||||||
default => "nfs-server",
|
default => "nfs-server",
|
||||||
},
|
},
|
||||||
|
"ubuntu" => "nfs-kernel-server",
|
||||||
default => "nfs",
|
default => "nfs",
|
||||||
},
|
},
|
||||||
enable => true,
|
enable => true,
|
||||||
hasstatus => true,
|
hasstatus => true,
|
||||||
require => Service["nfslock"],
|
|
||||||
}
|
}
|
||||||
|
|
||||||
exec { "exportfs":
|
exec { "exportfs":
|
||||||
|
|
22
nfs/templates/nfs-kernel-server.erb
Normal file
22
nfs/templates/nfs-kernel-server.erb
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
# Number of servers to start up
|
||||||
|
RPCNFSDCOUNT=<%= @servers %>
|
||||||
|
|
||||||
|
# Runtime priority of server (see nice(1))
|
||||||
|
RPCNFSDPRIORITY=0
|
||||||
|
|
||||||
|
# Options for rpc.mountd.
|
||||||
|
# If you have a port-based firewall, you might want to set up
|
||||||
|
# a fixed port here using the --port option. For more information,
|
||||||
|
# see rpc.mountd(8) or http://wiki.debian.org/SecuringNFS
|
||||||
|
# To disable NFSv4 on the server, specify '--no-nfs-version 4' here
|
||||||
|
RPCMOUNTDOPTS="--manage-gids --port 4002 <%= @disable_versions %>"
|
||||||
|
|
||||||
|
# Do you want to start the svcgssd daemon? It is only required for Kerberos
|
||||||
|
# exports. Valid alternatives are "yes" and "no"; the default is "no".
|
||||||
|
NEED_SVCGSSD=""
|
||||||
|
|
||||||
|
# Options for rpc.svcgssd.
|
||||||
|
RPCSVCGSSDOPTS=""
|
||||||
|
|
||||||
|
# Options for rpc.nfsd.
|
||||||
|
RPCNFSDOPTS="<%= @disable_versions %>"
|
|
@ -26,20 +26,20 @@ LOCKD_UDPPORT=4001
|
||||||
# Turn off v2 and v3 protocol support
|
# Turn off v2 and v3 protocol support
|
||||||
#RPCNFSDARGS="-N 2 -N 3"
|
#RPCNFSDARGS="-N 2 -N 3"
|
||||||
# Turn off v4 protocol support
|
# Turn off v4 protocol support
|
||||||
RPCNFSDARGS="-N 4"
|
RPCNFSDARGS="<%= @disable_versions %>"
|
||||||
# Number of nfs server processes to be started.
|
# Number of nfs server processes to be started.
|
||||||
# The default is 8.
|
# The default is 8.
|
||||||
RPCNFSDCOUNT=64
|
RPCNFSDCOUNT=<%= @servers %>
|
||||||
# Stop the nfsd module from being pre-loaded
|
# Stop the nfsd module from being pre-loaded
|
||||||
#NFSD_MODULE="noload"
|
#NFSD_MODULE="noload"
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
<% if @operatingsystem == 'Fedora' -%>
|
<% if @operatingsystem == 'Fedora' -%>
|
||||||
# Optional arguments passed to rpc.mountd. See rpc.mountd(8)
|
# Optional arguments passed to rpc.mountd. See rpc.mountd(8)
|
||||||
RPCMOUNTDOPTS="--no-nfs-version 4 -p 4002"
|
RPCMOUNTDOPTS="<%= @disable_versions %> -p 4002"
|
||||||
<% else -%>
|
<% else -%>
|
||||||
# Optional arguments passed to rpc.mountd. See rpc.mountd(8)
|
# Optional arguments passed to rpc.mountd. See rpc.mountd(8)
|
||||||
RPCMOUNTDOPTS="--no-nfs-version 4"
|
RPCMOUNTDOPTS="<%= @disable_versions %>"
|
||||||
# Port rpc.mountd should listen on.
|
# Port rpc.mountd should listen on.
|
||||||
MOUNTD_PORT=4002
|
MOUNTD_PORT=4002
|
||||||
<% end -%>
|
<% end -%>
|
||||||
|
|
|
@ -1,6 +1,15 @@
|
||||||
# Install and configure nginx.
|
# Install and configure nginx.
|
||||||
#
|
#
|
||||||
|
# === Parameters
|
||||||
|
#
|
||||||
|
# $chroot:
|
||||||
|
# Use chroot on OpenBSD. Defaults to true.
|
||||||
|
#
|
||||||
|
# $workers:
|
||||||
|
# Number of worker processes. Defaults to $processorcount.
|
||||||
|
#
|
||||||
class nginx(
|
class nginx(
|
||||||
|
$chroot=true,
|
||||||
$workers=$::processorcount,
|
$workers=$::processorcount,
|
||||||
) {
|
) {
|
||||||
|
|
||||||
|
@ -9,6 +18,12 @@ class nginx(
|
||||||
$user = 'www'
|
$user = 'www'
|
||||||
$group = 'www'
|
$group = 'www'
|
||||||
$logdir = '/var/www/logs'
|
$logdir = '/var/www/logs'
|
||||||
|
|
||||||
|
if ! $chroot {
|
||||||
|
Service['nginx'] {
|
||||||
|
flags => '-u',
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
'ubuntu': {
|
'ubuntu': {
|
||||||
$user = 'www-data'
|
$user = 'www-data'
|
||||||
|
@ -59,10 +74,6 @@ class nginx(
|
||||||
service { 'nginx':
|
service { 'nginx':
|
||||||
ensure => running,
|
ensure => running,
|
||||||
enable => true,
|
enable => true,
|
||||||
start => $::operatingsystem ? {
|
|
||||||
'openbsd' => '/usr/sbin/nginx -u',
|
|
||||||
default => undef,
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -42,10 +42,6 @@ class oidentd($config=undef) {
|
||||||
service { "oidentd":
|
service { "oidentd":
|
||||||
ensure => running,
|
ensure => running,
|
||||||
enable => true,
|
enable => true,
|
||||||
start => $::operatingsystem ? {
|
|
||||||
"openbsd" => "/usr/local/sbin/oidentd -e -u _identd -g _identd",
|
|
||||||
default => undef,
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -47,10 +47,6 @@ class portmap::server {
|
||||||
service { "portmap":
|
service { "portmap":
|
||||||
ensure => running,
|
ensure => running,
|
||||||
name => $service,
|
name => $service,
|
||||||
start => $::operatingsystem ? {
|
|
||||||
"openbsd" => "/usr/sbin/portmap",
|
|
||||||
default => undef,
|
|
||||||
},
|
|
||||||
enable => true,
|
enable => true,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,150 +0,0 @@
|
||||||
# Manage OpenBSD services. Enable/disable using /etc/rc.conf.local
|
|
||||||
|
|
||||||
Puppet::Type.type(:service).provide :openbsd, :parent => :base do
|
|
||||||
|
|
||||||
desc "OpenBSD service management."
|
|
||||||
|
|
||||||
confine :operatingsystem => :openbsd
|
|
||||||
defaultfor :operatingsystem => :openbsd
|
|
||||||
|
|
||||||
def rc_dir() '/etc/rc.d' end
|
|
||||||
def rcconf() '/etc/rc.conf' end
|
|
||||||
def rcconf_local() '/etc/rc.conf.local' end
|
|
||||||
|
|
||||||
def rcscript
|
|
||||||
return File.join(rc_dir, @resource[:name])
|
|
||||||
end
|
|
||||||
|
|
||||||
def rcvar
|
|
||||||
name = @resource[:name]
|
|
||||||
File.open(rcconf).each do |line|
|
|
||||||
if line =~ /^#{name}(_flags)?=/
|
|
||||||
line = line.sub(/#.*/, "")
|
|
||||||
return line.strip.split("=", 2)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
nil
|
|
||||||
end
|
|
||||||
|
|
||||||
def rcvar_local
|
|
||||||
name = @resource[:name]
|
|
||||||
if File.file?(rcconf_local)
|
|
||||||
File.open(rcconf_local).each do |line|
|
|
||||||
if line =~ /^#{name}(_flags)?=/
|
|
||||||
line = line.sub(/#.*/, "")
|
|
||||||
return line.strip.split("=", 2)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
nil
|
|
||||||
end
|
|
||||||
|
|
||||||
def rcvar_name
|
|
||||||
[self.rcvar_local, self.rcvar].each do |rcvar|
|
|
||||||
return rcvar[0] unless rcvar.nil?
|
|
||||||
end
|
|
||||||
"%s_flags" % @resource[:name]
|
|
||||||
end
|
|
||||||
|
|
||||||
def rcvar_value
|
|
||||||
[self.rcvar_local, self.rcvar].each do |rcvar|
|
|
||||||
return rcvar[1].gsub(/"?([^"]*)"?/, '\1') unless rcvar.nil?
|
|
||||||
end
|
|
||||||
nil
|
|
||||||
end
|
|
||||||
|
|
||||||
def pkg_scripts
|
|
||||||
if File.file?(rcconf_local)
|
|
||||||
File.open(rcconf_local).each do |line|
|
|
||||||
if line =~ /^pkg_scripts=/
|
|
||||||
return line.strip.gsub(/pkg_scripts="?([^"]*)"?/, '\1').split
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
Array.new
|
|
||||||
end
|
|
||||||
|
|
||||||
def enabled?
|
|
||||||
name = @resource[:name]
|
|
||||||
rcvar = self.rcvar
|
|
||||||
rcvar_name = self.rcvar_name
|
|
||||||
rcvar_value = self.rcvar_value
|
|
||||||
pkg_scripts = self.pkg_scripts
|
|
||||||
if rcvar_name.end_with?("_flags")
|
|
||||||
return :false if rcvar.nil? and not pkg_scripts.include?(name)
|
|
||||||
return :false if rcvar_value.nil? or rcvar_value == "NO"
|
|
||||||
else
|
|
||||||
return :false if rcvar_value != "YES"
|
|
||||||
end
|
|
||||||
:true
|
|
||||||
end
|
|
||||||
|
|
||||||
def enable
|
|
||||||
name = @resource[:name]
|
|
||||||
rcvar = self.rcvar
|
|
||||||
rcvar_name = self.rcvar_name
|
|
||||||
rcvar_value = ""
|
|
||||||
pkg_scripts = self.pkg_scripts
|
|
||||||
start = @resource[:start]
|
|
||||||
binary = @resource[:binary]
|
|
||||||
s = ""
|
|
||||||
if File.file?(rcconf_local)
|
|
||||||
File.open(rcconf_local).each do |line|
|
|
||||||
next if line =~ /^(#{rcvar_name}|pkg_scripts)=/
|
|
||||||
s += line
|
|
||||||
end
|
|
||||||
end
|
|
||||||
unless start.nil?
|
|
||||||
if binary.nil?
|
|
||||||
rcvar_value = start[/^\S+\s*(.*)/, 1]
|
|
||||||
else
|
|
||||||
rcvar_value = start[/^#{binary}\s*(.*)/, 1]
|
|
||||||
end
|
|
||||||
end
|
|
||||||
if rcvar_name.end_with?("_flags")
|
|
||||||
s += "%s=\"%s\"\n" % [rcvar_name, rcvar_value]
|
|
||||||
else
|
|
||||||
s += "%s=YES\n" % rcvar_name
|
|
||||||
end
|
|
||||||
pkg_scripts << name if rcvar.nil? and not pkg_scripts.include?(name)
|
|
||||||
s += "pkg_scripts=\"%s\"\n" % pkg_scripts.join(" ")
|
|
||||||
File.open(rcconf_local, "w") { |f| f << s }
|
|
||||||
end
|
|
||||||
|
|
||||||
def disable
|
|
||||||
name = @resource[:name]
|
|
||||||
rcvar = self.rcvar
|
|
||||||
rcvar_name = self.rcvar_name
|
|
||||||
pkg_scripts = self.pkg_scripts
|
|
||||||
s = ""
|
|
||||||
if File.file?(rcconf_local)
|
|
||||||
File.open(rcconf_local).each do |line|
|
|
||||||
next if line =~ /^(#{rcvar_name}|pkg_scripts)=/
|
|
||||||
s += line
|
|
||||||
end
|
|
||||||
end
|
|
||||||
s += "%s=NO\n" % rcvar_name unless rcvar.nil?
|
|
||||||
pkg_scripts.delete(name)
|
|
||||||
s += "pkg_scripts=\"%s\"\n" % pkg_scripts.join(" ")
|
|
||||||
File.open(rcconf_local, "w") { |f| f << s }
|
|
||||||
end
|
|
||||||
|
|
||||||
def startcmd
|
|
||||||
if File.exists?(self.rcscript)
|
|
||||||
[self.rcscript, :start]
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
def stopcmd
|
|
||||||
if File.exists?(self.rcscript)
|
|
||||||
[self.rcscript, :stop]
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
def statuscmd
|
|
||||||
if File.exists?(self.rcscript)
|
|
||||||
[self.rcscript, :check]
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
end
|
|
|
@ -63,7 +63,7 @@ class sasl::saslauthd {
|
||||||
}
|
}
|
||||||
"openbsd": {
|
"openbsd": {
|
||||||
Service["saslauthd"] {
|
Service["saslauthd"] {
|
||||||
start => "/usr/local/sbin/saslauthd -a ldap",
|
flags => "-a ldap",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
"ubuntu": {
|
"ubuntu": {
|
||||||
|
@ -108,7 +108,7 @@ class sasl::saslauthd {
|
||||||
}
|
}
|
||||||
"openbsd": {
|
"openbsd": {
|
||||||
Service["saslauthd"] {
|
Service["saslauthd"] {
|
||||||
start => "/usr/local/sbin/saslauthd -a kerberos5",
|
flags => "-a kerberos5",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
"ubuntu": {
|
"ubuntu": {
|
||||||
|
|
|
@ -159,10 +159,6 @@ class smtpd(
|
||||||
service { $service:
|
service { $service:
|
||||||
ensure => running,
|
ensure => running,
|
||||||
enable => true,
|
enable => true,
|
||||||
start => $::operatingsystem ? {
|
|
||||||
'openbsd' => '/usr/sbin/smtpd',
|
|
||||||
default => undef,
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if $listen == true or $config {
|
if $listen == true or $config {
|
||||||
|
|
|
@ -29,18 +29,15 @@ class spamassassin::common {
|
||||||
}
|
}
|
||||||
|
|
||||||
service { "spamassassin":
|
service { "spamassassin":
|
||||||
ensure => running,
|
ensure => running,
|
||||||
enable => true,
|
enable => true,
|
||||||
binary => $::operatingsystem ? {
|
require => Package["spamassassin"],
|
||||||
"openbsd" => "/usr/local/bin/spamd -d",
|
}
|
||||||
default => undef,
|
|
||||||
},
|
if $::operatingsystem == "OpenBSD" {
|
||||||
start => $::operatingsystem ? {
|
Service["spamassassin"] {
|
||||||
"openbsd" => "/usr/local/bin/spamd -d -c -H -m 5",
|
flags => "-c -H -P",
|
||||||
default => undef,
|
}
|
||||||
},
|
|
||||||
hasstatus => true,
|
|
||||||
require => Package["spamassassin"],
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -124,11 +124,9 @@ class tftp::server {
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
service { "tftpd":
|
service { "tftpd":
|
||||||
ensure => running,
|
ensure => running,
|
||||||
hasstatus => true,
|
enable => true,
|
||||||
enable => true,
|
require => File["/tftpboot"],
|
||||||
start => "/usr/sbin/tftpd /tftpboot",
|
|
||||||
require => File["/tftpboot"],
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue