diff --git a/manifests/init.pp b/manifests/init.pp index 28e588fe..d077452c 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -50,6 +50,7 @@ # @param user User to own `JBOSS_HOME`. If `manage_user` is `true`, this user will be managed. # @param user_home User home directory. Defaults to '/home/wildfly' # @param version Sets the Wildfly version managed in order to handle small differences among versions. +# @param working_dir Sets the working directory for the service. class wildfly( Pattern[/^(\d{1,}\.\d{1,}(\.\d{1,})?$)/] $version = '9.0.2', Variant[Pattern[/^file:\/\//], Pattern[/^puppet:\/\//], Stdlib::Httpsurl, Stdlib::Httpurl] $install_source = "http://download.jboss.org/wildfly/${version}.Final/wildfly-${version}.Final.tar.gz", @@ -111,6 +112,7 @@ Optional[String] $java_opts = undef, Optional[String] $jboss_opts = undef, Optional[String] $overlay_class = undef, + Optional[Stdlib::Unixpath] $working_dir = undef, ) { contain wildfly::prepare diff --git a/templates/wildfly.systemd.service.epp b/templates/wildfly.systemd.service.epp index 0e326d61..bfd5e18b 100644 --- a/templates/wildfly.systemd.service.epp +++ b/templates/wildfly.systemd.service.epp @@ -11,6 +11,9 @@ LimitNOFILE=102642 ExecStart=<%= $wildfly::dirname %>/bin/launch.sh ${WILDFLY_MODE} ${WILDFLY_CONFIG} Restart=always RestartSec=20 +<%- if $wildfly::working_dir {-%> +WorkingDirectory=<%= $wildfly::working_dir %> +<%- } -%> [Install] WantedBy=multi-user.target diff --git a/templates/wildfly.sysvinit.service.epp b/templates/wildfly.sysvinit.service.epp index 132e9df8..027ba65a 100644 --- a/templates/wildfly.sysvinit.service.epp +++ b/templates/wildfly.sysvinit.service.epp @@ -6,6 +6,9 @@ After=syslog.target network.target Type=forking ExecStart=/etc/init.d/<%= $wildfly::service::service_name %> start ExecStop=/etc/init.d/<%= $wildfly::service::service_name %> stop +<%- if $wildfly::working_dir {-%> +WorkingDirectory=<%= $wildfly::working_dir %> +<%- } -%> [Install] WantedBy=multi-user.target