plnxtools/manifests/apacheds.pp

72 lines
1.6 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
) {
$ads_instances = $plnxtools::apacheds::ads_instances
$log_file = "$plnxtools::apacheds::ads_logdir/$title.log"
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"),
}
$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
}
}