89 lines
2.1 KiB
Puppet
89 lines
2.1 KiB
Puppet
#
|
|
# apacheds
|
|
#
|
|
class plnxtools::apacheds(
|
|
$ads_shutdown_port = 0,
|
|
$appname = "apacheds",
|
|
$ads_instances = "/var/apacheds",
|
|
$ads_logdir = "/var/log/$appname",
|
|
|
|
$java_home = $plnxtools::java_home
|
|
)
|
|
inherits ::plnxtools
|
|
{
|
|
$ads_home = "$opt_dir/$appname"
|
|
|
|
package {"openldap-client":
|
|
ensure => installed
|
|
}
|
|
|
|
plnxtools::install{$appname:
|
|
sourcedir => "https://downloads.apache.org/directory/apacheds/dist/2.0.0.AM26",
|
|
distfile => "apacheds-2.0.0.AM26.tar.gz",
|
|
dirname => "apacheds-2.0.0.AM26",
|
|
require => Class['::plnxtools'],
|
|
}->
|
|
file {"$opt_dir/$appname/bin/setenv.sh":
|
|
ensure => file,
|
|
content => template("plnxtools/apacheds/setenv.sh.erb"),
|
|
}->
|
|
file {"$ads_instances":
|
|
ensure => directory
|
|
}
|
|
file {"$ads_logdir":
|
|
ensure => directory
|
|
}
|
|
}
|
|
|
|
|
|
define plnxtools::apacheds::instance(
|
|
$ensure = running,
|
|
$ldap_port = 10389,
|
|
$ldaps_port = 10638,
|
|
$partitionsuffix,
|
|
$partitionid
|
|
|
|
) {
|
|
$ads_instances = $plnxtools::apacheds::ads_instances
|
|
$log_file = "$plnxtools::apacheds::ads_logdir/$title.log"
|
|
|
|
#
|
|
# Create a base 64 encoded ads-contextentry
|
|
# see: https://directory.apache.org/apacheds/basic-ug/1.4.3-adding-partition.html
|
|
#
|
|
$ads_contextentry0 = base64('encode',"dn: $partitionsuffix\ndc: uniadmin\nobjectclass: domain\nobjectclass: top\n\n")
|
|
$ads_contextentry = strip(regsubst($ads_contextentry0, '\n', "\n "))
|
|
|
|
|
|
file{"$ads_instances/$title":
|
|
ensure => directory
|
|
} ->
|
|
file{"$ads_instances/$title/conf":
|
|
ensure => directory
|
|
} ->
|
|
file{"$ads_instances/$title/log":
|
|
ensure => directory
|
|
} ->
|
|
file{"$ads_instances/$title/run":
|
|
ensure => directory
|
|
} ->
|
|
file{"$ads_instances/$title/conf/log4j.properties":
|
|
ensure => file,
|
|
content => template ("plnxtools/apacheds/log4j.properties.erb"),
|
|
}->
|
|
file{"$ads_instances/$title/conf/config.ldif":
|
|
ensure => file,
|
|
content => template ("plnxtools/apacheds/config.ldif.erb"),
|
|
}
|
|
|
|
|
|
$bin_dir = "${plnxtools::apacheds::opt_dir}/${plnxtools::apacheds::appname}/bin"
|
|
|
|
service {"apacheds_${title}":
|
|
start => "$bin_dir/apacheds.sh $title start",
|
|
stop => "$bin_dir/apacheds.sh $title stop",
|
|
status => "/bin/false",
|
|
ensure => running
|
|
}
|
|
}
|