Added certificate handling for ejabberd
This commit is contained in:
parent
1b29f80fc2
commit
9b98ce9769
1 changed files with 50 additions and 0 deletions
|
@ -26,6 +26,56 @@ class ejabberd {
|
||||||
enable => true,
|
enable => true,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case $operatingsystem {
|
||||||
|
"debian", "ubuntu": {
|
||||||
|
$cert_prefix = "/etc/ssl"
|
||||||
|
}
|
||||||
|
"centos", "fedora": {
|
||||||
|
$cert_prefix = "/etc/pki/tls"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if $ejabberd_ssl_key and $ejabberd_ssl_cert {
|
||||||
|
file { "${cert_prefix}/private/ejabberd.key":
|
||||||
|
ensure => present,
|
||||||
|
source => $ejabberd_ssl_key,
|
||||||
|
mode => 0600,
|
||||||
|
owner => root,
|
||||||
|
group => root,
|
||||||
|
notify => Exec["generate-ejabberd-pem"],
|
||||||
|
}
|
||||||
|
file { "${cert_prefix}/certs/ejabberd.crt":
|
||||||
|
ensure => present,
|
||||||
|
source => $ejabberd_ssl_cert,
|
||||||
|
mode => 0644,
|
||||||
|
owner => root,
|
||||||
|
group => root,
|
||||||
|
notify => Exec["generate-ejabberd-pem"],
|
||||||
|
}
|
||||||
|
if $ejabberd_ssl_chain {
|
||||||
|
file { "${cert_prefix}/certs/ejabberd.chain.crt":
|
||||||
|
ensure => present,
|
||||||
|
source => $ejabberd_ssl_chain,
|
||||||
|
mode => 0644,
|
||||||
|
owner => root,
|
||||||
|
group => root,
|
||||||
|
notify => Exec["generate-ejabberd-pem"],
|
||||||
|
}
|
||||||
|
$cert_files = "private/ejabberd.key certs/ejabberd.crt certs/ejabberd.chain.crt"
|
||||||
|
} else {
|
||||||
|
$cert_files = "private/ejabberd.key certs/ejabberd.crt"
|
||||||
|
}
|
||||||
|
exec { "generate-ejabberd-pem":
|
||||||
|
path => "/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/usr/local/sbin",
|
||||||
|
cwd => $cert_prefix,
|
||||||
|
command => "/bin/sh -c 'umask 077 ; cat ${cert_files} > /etc/ejabberd/ejabberd.pem'",
|
||||||
|
refreshonly => true,
|
||||||
|
before => File["/etc/ejabberd/ejabberd.pem"],
|
||||||
|
require => Package["ejabberd"],
|
||||||
|
notify => Service["ejabberd"],
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
file { "/etc/ejabberd/ejabberd.pem":
|
file { "/etc/ejabberd/ejabberd.pem":
|
||||||
ensure => present,
|
ensure => present,
|
||||||
mode => 0600,
|
mode => 0600,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue