diff --git a/manifests/apacheds.pp b/manifests/apacheds.pp index 45be6c2..6e5ef1e 100644 --- a/manifests/apacheds.pp +++ b/manifests/apacheds.pp @@ -1,12 +1,46 @@ # +# +# +class plnxtools::apacheds( + $ads_shutdown_port = 0, + $appname = "apacheds" + $ads_instances = "/var/apacheds", + $ads_logdir = "/var/log/$appname", -class plnxtools::apacheds + $java_home = $plnxtools::java_home +) +inherits ::plnxtools { - class {"plnxtools": } - -> - plnxtools::install{"apacheds": + $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 + +) { + service {$title: + start => "$plnxtools::apacheds::$opt_dir/$plnxtools::apacheds::$appname/bin/apachds.sh $title start" } } diff --git a/templates/apacheds/setenv.sh.erb b/templates/apacheds/setenv.sh.erb index 33cb97e..ba88bb3 100644 --- a/templates/apacheds/setenv.sh.erb +++ b/templates/apacheds/setenv.sh.erb @@ -1,3 +1,5 @@ JAVA_HOME=<%= @java_home %> JAVA_OPTS=<%= @java_opts %> ADS_HOME=<%= @ads_home %> +ADS_INSTANCES=<%= @ads_instances %> +ADS_SHUTDOWN_PORT=<%= @ads_shutdown_port %>