Use native service provider on OpenBSD
This commit is contained in:
parent
a0c2c84e0d
commit
b0bec99e0c
12 changed files with 17 additions and 197 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"],
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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",
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -65,7 +65,6 @@ 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"]
|
||||||
|
|
|
@ -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 {
|
||||||
|
|
|
@ -31,18 +31,15 @@ class spamassassin::common {
|
||||||
service { "spamassassin":
|
service { "spamassassin":
|
||||||
ensure => running,
|
ensure => running,
|
||||||
enable => true,
|
enable => true,
|
||||||
binary => $::operatingsystem ? {
|
|
||||||
"openbsd" => "/usr/local/bin/spamd -d",
|
|
||||||
default => undef,
|
|
||||||
},
|
|
||||||
start => $::operatingsystem ? {
|
|
||||||
"openbsd" => "/usr/local/bin/spamd -d -c -H -m 5",
|
|
||||||
default => undef,
|
|
||||||
},
|
|
||||||
hasstatus => true,
|
|
||||||
require => Package["spamassassin"],
|
require => Package["spamassassin"],
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if $::operatingsystem == "OpenBSD" {
|
||||||
|
Service["spamassassin"] {
|
||||||
|
flags => "-c -H -P",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -125,9 +125,7 @@ class tftp::server {
|
||||||
} else {
|
} else {
|
||||||
service { "tftpd":
|
service { "tftpd":
|
||||||
ensure => running,
|
ensure => running,
|
||||||
hasstatus => true,
|
|
||||||
enable => true,
|
enable => true,
|
||||||
start => "/usr/sbin/tftpd /tftpboot",
|
|
||||||
require => File["/tftpboot"],
|
require => File["/tftpboot"],
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue