sysutils/rundeck: Update to 5.18.0 and jdk-11:
This hasn't been updated to 2016 so it's a significant update. Similar to
before the war file can be run with --installonly to get the RDECK_BASE
directories and config files setup in the extract phase. The etc files populate
upon first run but this is not ideal so I copied them to FILESDIR and install
with the package. --installonly also installs a rundeckd script that I took
some bits and pieces from to update our pkg/rundeck.rc.
I've given this some light testing on aarch64. It starts a website on
localhost:4440 that I can log into and configure a local command to run.
If anyone in the DevOps world could give this a once over I would appreciate
it.
ok?
Index: Makefile
===================================================================
RCS file: /cvs/ports/sysutils/rundeck/Makefile,v
diff -u -p -u -r1.21 Makefile
--- Makefile 27 Sep 2023 17:16:33 -0000 1.21
+++ Makefile 13 Jan 2026 20:18:24 -0000
@@ -1,26 +1,24 @@
COMMENT= job scheduler and runbook automation
-V= 2.6.11
-DISTNAME= rundeck-launcher-${V}
+V= 5.18.0
+DISTNAME= rundeck-${V}-20251216
PKGNAME= rundeck-${V}
-REVISION= 9
CATEGORIES= sysutils
-HOMEPAGE= http://rundeck.org/
+HOMEPAGE= https://www.rundeck.org/
# Apache 2.0
PERMIT_PACKAGE= Yes
-SITES= http://download.rundeck.org/jar/
-EXTRACT_SUFX= .jar
+SITES=
https://packagecloud.io/pagerduty/rundeck/packages/java/org.rundeck/${DISTNAME}.war/artifacts/${DISTNAME}.war/download?/
+EXTRACT_SUFX= .war
EXTRACT_ONLY= # empty
MODULES= java
-MODJAVA_VER= 1.8+
-
-RUN_DEPENDS= java/javaPathHelper
+MODJAVA_VER= 11
+NO_BUILD= Yes
NO_TEST= Yes
PKG_ARCH= *
@@ -28,13 +26,17 @@ WRKDIST= ${WRKDIR}/rundeck-${V}
PREFIX = ${VARBASE}
RDECK_BASE = ${PREFIX}/rundeck
-SUBST_VARS += RDECK_BASE
+SUBST_VARS += JAVA_HOME
-CONFIG_FILES = server/exp/webapp/WEB-INF/classes/log4j.properties \
- server/config/rundeck-config.properties \
- server/config/jaas-loginmodule.conf
-TOOLS = dispatch rd-acl rd-jobs rd-project rd-queue \
- rd-setup run
+ETC_FILES = admin.aclpolicy \
+ framework.properties \
+ profile \
+ project.properties \
+ system-job_reader.aclpolicy_template \
+ system-job_runner.aclpolicy_template \
+ system-job_viewer.aclpolicy_template \
+ system-job_writer.aclpolicy_template \
+ system-project_admin.aclpolicy_template
do-extract:
mkdir -p ${WRKDIST}
@@ -42,35 +44,18 @@ do-extract:
${JAVA_HOME}/bin/java -jar
${FULLDISTDIR}/${DISTNAME}${EXTRACT_SUFX} \
--installonly -b .
-do-build:
- sed -i -e
"s,^grails.serverURL=.*,grails.serverURL=http://localhost:4440," \
- -e "s,^rdeck.base=.*,rdeck.base=${PREFIX}/rundeck," \
- ${WRKSRC}/server/config/rundeck-config.properties
-.for c in ${CONFIG_FILES}
- sed -i "s,$$(readlink -f ${WRKDIST}),${PREFIX}/rundeck,g" ${WRKSRC}/$c
-.endfor
-.for t in ${TOOLS}
- sed -i 's,^#!/bin/bash,#!/bin/sh,' ${WRKSRC}/tools/bin/$t
-.endfor
-
-# First we install the modified configuration files and scripts. These files
-# are not overwritten when the jar unpacks itself into ${RDECK_BASE}
do-install:
- ${INSTALL_DATA_DIR} ${RDECK_BASE}/{etc/,tools/bin}
-.for c in ${CONFIG_FILES}
- ${INSTALL_DATA_DIR} ${RDECK_BASE}/$$(dirname ${c})
- ${INSTALL_DATA} ${WRKSRC}/$c ${RDECK_BASE}/$c
-.endfor
-.for t in ${TOOLS}
- ${INSTALL_SCRIPT} ${WRKSRC}/tools/bin/$t ${RDECK_BASE}/tools/bin/
-.endfor
- for f in ${FILESDIR}/*; do \
- if [ -f $$f ]; then \
- ${SUBST_CMD} -m ${SHAREMODE} -c $$f \
- ${RDECK_BASE}/etc/$$(basename $$f).dist; \
- fi; \
- done
+ ${INSTALL_DATA_DIR} ${RDECK_BASE}/{etc,.ssh}
${INSTALL_DATA} ${DISTDIR}/${DISTNAME}${EXTRACT_SUFX} \
- ${RDECK_BASE}/rundeck-launcher.jar
+ ${RDECK_BASE}/rundeck.war
+ cd ${WRKSRC} && \
+ find . -type d -not -name sbin -exec \
+ ${INSTALL_DATA_DIR} ${RDECK_BASE}/{} \;
+ cd ${WRKSRC}/server/config && \
+ find . -type f -not -name \*.orig.port -exec \
+ ${SUBST_DATA} {} ${RDECK_BASE}/server/config/{}.dist \;
+ cd ${FILESDIR} && \
+ for f in ${ETC_FILES} ; do \
+ ${SUBST_DATA} $$f ${RDECK_BASE}/etc/$$f.dist ; done
.include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /cvs/ports/sysutils/rundeck/distinfo,v
diff -u -p -u -r1.3 distinfo
--- distinfo 21 Nov 2016 20:05:28 -0000 1.3
+++ distinfo 13 Jan 2026 20:18:24 -0000
@@ -1,2 +1,2 @@
-SHA256 (rundeck-launcher-2.6.11.jar) =
Qcjz7LmrCQLk0ZBJlywQ2FrwHH7YgC3Z6zcPpnuA4Ys=
-SIZE (rundeck-launcher-2.6.11.jar) = 88241586
+SHA256 (rundeck-5.18.0-20251216.war) =
VCxOD54gMgMSDhEgkDI1FDaK8RDGxKwtUwXrfK4JmpM=
+SIZE (rundeck-5.18.0-20251216.war) = 253749591
Index: files/admin.aclpolicy
===================================================================
RCS file: /cvs/ports/sysutils/rundeck/files/admin.aclpolicy,v
diff -u -p -u -r1.2 admin.aclpolicy
--- files/admin.aclpolicy 11 Mar 2022 19:57:59 -0000 1.2
+++ files/admin.aclpolicy 13 Jan 2026 20:18:24 -0000
@@ -10,6 +10,8 @@ for:
- allow: '*' # allow read/write/delete/run/kill of all jobs
node:
- allow: '*' # allow read/run for all nodes
+ runner:
+ - allow: '*' # allow read/write/delete for all Runners
by:
group: admin
@@ -23,6 +25,8 @@ for:
- allow: '*' # allow create of projects
project:
- allow: '*' # allow view/admin of all projects
+ project_acl:
+ - allow: '*' # allow admin of all project-level ACL policies
storage:
- allow: '*' # allow read/create/update/delete for all /keys/* storage
content
by:
Index: files/apitoken.aclpolicy
===================================================================
RCS file: files/apitoken.aclpolicy
diff -N files/apitoken.aclpolicy
--- files/apitoken.aclpolicy 11 Mar 2022 19:57:59 -0000 1.2
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,43 +0,0 @@
-description: API project level access control
-context:
- project: '.*' # all projects
-for:
- resource:
- - equals:
- kind: job
- allow: [create,delete] # allow create and delete jobs
- - equals:
- kind: node
- allow: [read,create,update,refresh] # allow refresh node sources
- - equals:
- kind: event
- allow: [read,create] # allow read/create events
- adhoc:
- - allow: [read,run,kill] # allow running/killing adhoc jobs and read output
- job:
- - allow: [create,read,update,delete,run,kill] # allow
create/read/write/delete/run/kill of all jobs
- node:
- - allow: [read,run] # allow read/run for all nodes
-by:
- group: api_token_group
-
----
-
-description: API Application level access control
-context:
- application: 'rundeck'
-for:
- resource:
- - equals:
- kind: system
- allow: [read] # allow read of system info
- project:
- - match:
- name: '.*'
- allow: [read] # allow view of all projects
- storage:
- - match:
- path: '(keys|keys/.*)'
- allow: '*' # allow all access to manage stored keys
-by:
- group: api_token_group
Index: files/framework.properties
===================================================================
RCS file: /cvs/ports/sysutils/rundeck/files/framework.properties,v
diff -u -p -u -r1.2 framework.properties
--- files/framework.properties 11 Mar 2022 19:57:59 -0000 1.2
+++ files/framework.properties 13 Jan 2026 20:18:24 -0000
@@ -9,9 +9,6 @@ framework.server.name = localhost
framework.server.hostname = localhost
framework.server.port = 4440
framework.server.url = http://localhost:4440
-# Username/password used by CLI tools.
-framework.server.username = admin
-framework.server.password = admin
# ----------------------------------------------------------------
# Installation locations
@@ -36,4 +33,14 @@ framework.ssh.user = _rundeck
# ssh connection timeout after a specified number of milliseconds.
# "0" value means wait forever.
framework.ssh.timeout = 0
+
+# ----------------------------------------------------------------
+# System-wide global variables.
+# ----------------------------------------------------------------
+
+# Expands to ${globals.var1}
+#framework.globals.var1 = value1
+
+# Expands to ${globals.var2}
+#framework.globals.var2 = value2
Index: files/log4j.properties
===================================================================
RCS file: files/log4j.properties
diff -N files/log4j.properties
--- files/log4j.properties 11 Mar 2022 19:57:59 -0000 1.2
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,29 +0,0 @@
-log4j.rootCategory=INFO, file
-
-#
-# stdout - ConsoleAppender
-#
-log4j.appender.stdout=org.apache.log4j.ConsoleAppender
-log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
-log4j.appender.stdout.layout.ConversionPattern=%-5p %c{1}: %m%n
-
-#
-# plainStdout - ConsoleAppender which
-# doesnt provide any timestamps, etc
-#
-log4j.appender.plainStdout=org.apache.log4j.ConsoleAppender
-log4j.appender.plainStdout.layout=org.apache.log4j.PatternLayout
-log4j.appender.stdout.plainStdout.ConversionPattern=%m%n
-
-
-#
-# file - DailyRollingFileAppender
-#
-log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
-log4j.appender.file.file=${TRUEPREFIX}/rundeck/var/logs/command.log
-log4j.appender.file.datePattern='.'yyyy-MM-dd
-log4j.appender.file.append=true
-log4j.appender.file.layout=org.apache.log4j.PatternLayout
-log4j.appender.file.layout.ConversionPattern=%d{ISO8601} [%t] %-5p %c - %m%n
-
-
Index: files/profile
===================================================================
RCS file: /cvs/ports/sysutils/rundeck/files/profile,v
diff -u -p -u -r1.2 profile
--- files/profile 11 Mar 2022 19:57:59 -0000 1.2
+++ files/profile 13 Jan 2026 20:18:24 -0000
@@ -1,7 +1,7 @@
RDECK_BASE=${TRUEPREFIX}/rundeck
export RDECK_BASE
-JAVA_HOME=$(/usr/local/bin/javaPathHelper -h rundeck)
+JAVA_HOME=${JAVA_HOME}
export JAVA_HOME
PATH=$JAVA_HOME/bin:$RDECK_BASE/tools/bin:$PATH
@@ -9,30 +9,15 @@ export PATH
export JAVA_CMD=$JAVA_HOME/bin/java
-if test -t 0 -a -z "$RUNDECK_CLI_TERSE"
-then
- RUNDECK_CLI_TERSE=true
- export RUNDECK_CLI_TERSE
-fi
-
if test -n "$JRE_HOME"
then
unset JRE_HOME
fi
-LIBDIR=$RDECK_BASE/tools/lib
-
-CLI_CP=
-for i in `ls $LIBDIR/*.jar`
-do
- CLI_CP=${CLI_CP}:${i}
-done
-export CLI_CP
-
#
# Set min/max heap size
#
-export RDECK_JVM="$RDECK_JVM -Xmx1024m -Xms256m -XX:MaxPermSize=256m -server"
+export RDECK_JVM="$RDECK_JVM -Xmx4096m -Xms256m -server"
export RDECK_SSL_OPTS="-Djavax.net.ssl.trustStore=$RDECK_BASE/etc/truststore
-Djavax.net.ssl.trustStoreType=jks
-Djava.protocol.handler.pkgs=com.sun.net.ssl.internal.www.protocol"
Index: files/project.properties
===================================================================
RCS file: /cvs/ports/sysutils/rundeck/files/project.properties,v
diff -u -p -u -r1.2 project.properties
--- files/project.properties 11 Mar 2022 19:57:59 -0000 1.2
+++ files/project.properties 13 Jan 2026 20:18:24 -0000
@@ -11,7 +11,18 @@ project.dir = ${TRUEPREFIX}/rundeck/proj
project.etc.dir = ${TRUEPREFIX}/rundeck/projects/${project.name}/etc
#
-# The resources registration file
+# The default resources file
#
-project.resources.file =
${TRUEPREFIX}/rundeck/projects/${project.name}/etc/resources.xml
+resources.source.1.type=file
+resources.source.1.config.file=${TRUEPREFIX}/rundeck/projects/${project.name}/etc/resources.xml
+resources.source.1.config.format=resourcexml
+resources.source.1.config.includeServerNode=true
+resources.source.1.config.generateFileAutomatically=true
+# Project-wide global variables (overrides values from framework.globals)
+
+# Expands to ${globals.var1}
+#project.globals.var1 = value1
+
+# Expands to ${globals.var2}
+#project.globals.var2 = value2
Index: files/system-job_reader.aclpolicy_template
===================================================================
RCS file: files/system-job_reader.aclpolicy_template
diff -N files/system-job_reader.aclpolicy_template
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ files/system-job_reader.aclpolicy_template 13 Jan 2026 20:18:24 -0000
@@ -0,0 +1,27 @@
+description: Allow groups to list projects
+context:
+ application: 'rundeck'
+for:
+ project:
+ - allow: read
+ match:
+ name: '.*'
+by:
+ group: job_reader
+
+---
+
+description: Global read access to job_reader role
+context:
+ project: '.*'
+for:
+ job:
+ - allow: [read]
+ match:
+ name: '.*'
+ resource:
+ - allow: read
+ equals:
+ kind: event
+by:
+ group: job_reader
Index: files/system-job_runner.aclpolicy_template
===================================================================
RCS file: files/system-job_runner.aclpolicy_template
diff -N files/system-job_runner.aclpolicy_template
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ files/system-job_runner.aclpolicy_template 13 Jan 2026 20:18:24 -0000
@@ -0,0 +1,35 @@
+description: Allow groups to list projects
+context:
+ application: 'rundeck'
+for:
+ project:
+ - allow: read
+ match:
+ name: '.*'
+by:
+ group: job_runner
+
+---
+
+description: Global run permissions to job_runner role
+context:
+ project: '.*'
+for:
+ resource:
+ - equals:
+ kind: 'node'
+ allow: [read,refresh]
+ job:
+ - allow: [read, run]
+ match:
+ name: '.*'
+ node:
+ - allow: [read, run, refresh]
+ match:
+ nodename: '.*'
+ resource:
+ - allow: read
+ equals:
+ kind: event
+by:
+ group: job_runner
Index: files/system-job_viewer.aclpolicy_template
===================================================================
RCS file: files/system-job_viewer.aclpolicy_template
diff -N files/system-job_viewer.aclpolicy_template
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ files/system-job_viewer.aclpolicy_template 13 Jan 2026 20:18:24 -0000
@@ -0,0 +1,27 @@
+description: Allow groups to list projects
+context:
+ application: 'rundeck'
+for:
+ project:
+ - allow: read
+ match:
+ name: '.*'
+by:
+ group: job_viewer
+
+---
+
+description: Global read access to job_reader role
+context:
+ project: '.*'
+for:
+ job:
+ - allow: [view]
+ match:
+ name: '.*'
+ resource:
+ - allow: read
+ equals:
+ kind: event
+by:
+ group: job_viewer
Index: files/system-job_writer.aclpolicy_template
===================================================================
RCS file: files/system-job_writer.aclpolicy_template
diff -N files/system-job_writer.aclpolicy_template
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ files/system-job_writer.aclpolicy_template 13 Jan 2026 20:18:24 -0000
@@ -0,0 +1,37 @@
+description: Allow groups to list projects
+context:
+ application: 'rundeck'
+for:
+ project:
+ - allow: read
+ match:
+ name: '.*'
+by:
+ group: job_writer
+
+---
+
+description: Global write permissions to job_writer role
+context:
+ project: '.*'
+for:
+ resource:
+ - equals:
+ kind: 'node'
+ allow: [read,refresh]
+ - equals:
+ kind: job
+ allow: [create, delete]
+ - equals:
+ kind: event
+ allow: [read]
+ job:
+ - allow: [create,read,update,delete,run,kill]
+ match:
+ name: '.*'
+ node:
+ - allow: [read, run, refresh]
+ match:
+ nodename: '.*'
+by:
+ group: job_writer
Index: files/system-project_admin.aclpolicy_template
===================================================================
RCS file: files/system-project_admin.aclpolicy_template
diff -N files/system-project_admin.aclpolicy_template
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ files/system-project_admin.aclpolicy_template 13 Jan 2026 20:18:24
-0000
@@ -0,0 +1,51 @@
+description: Allow groups to list projects
+context:
+ application: 'rundeck'
+for:
+ project:
+ - allow: read
+ match:
+ name: '.*'
+by:
+ group: project_admin
+
+---
+description: Global project admin permissions to project_admin role
+context:
+ project: '.*'
+for:
+ resource:
+ - equals:
+ kind: job
+ allow: '*'
+ - equals:
+ kind: node
+ allow: '*'
+ - equals:
+ kind: event
+ allow: '*'
+ adhoc:
+ - allow: '*'
+ job:
+ - allow: '*'
+ node:
+ - allow: '*'
+ project:
+ - allow: '*'
+by:
+ group: project_admin
+---
+description: project_admin application scope permissions
+context:
+ application: 'rundeck'
+for:
+ resource:
+ - equals:
+ kind: project
+ allow: '*'
+ project:
+ - match:
+ name: '.*'
+ allow: '*'
+by:
+ group: project_admin
Index: patches/patch-server_config_log4j2_properties
===================================================================
RCS file: patches/patch-server_config_log4j2_properties
diff -N patches/patch-server_config_log4j2_properties
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-server_config_log4j2_properties 13 Jan 2026 20:18:24
-0000
@@ -0,0 +1,14 @@
+Setup log directory for SUBST
+
+Index: server/config/log4j2.properties
+--- server/config/log4j2.properties.orig
++++ server/config/log4j2.properties
+@@ -1,7 +1,7 @@
+
+ name = Rundeck Logging Configuration
+
+-property.baseDir = ${sys:rundeck.server.logDir:-./server/logs}
++property.baseDir = ${TRUEPREFIX}/rundeck/server/logs
+ property.classLength = 2
+ property.noConsoleNoAnsi = true
+ property.prefix = [%style{%d{ISO8601}}{dim,
noConsoleNoAnsi=${noConsoleNoAnsi}}]
%highlight{%-5p}{noConsoleNoAnsi=${noConsoleNoAnsi}}
%style{%c{${classLength}}}{cyan,noConsoleNoAnsi=${noConsoleNoAnsi}}
Index: patches/patch-server_config_rundeck-config_properties
===================================================================
RCS file: patches/patch-server_config_rundeck-config_properties
diff -N patches/patch-server_config_rundeck-config_properties
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-server_config_rundeck-config_properties 13 Jan 2026
20:18:24 -0000
@@ -0,0 +1,22 @@
+Setup rdeck.base for SUBST
+
+Index: server/config/rundeck-config.properties
+--- server/config/rundeck-config.properties.orig
++++ server/config/rundeck-config.properties
+@@ -1,6 +1,6 @@
+ #loglevel.default is the default log level for jobs:
ERROR,WARN,INFO,VERBOSE,DEBUG
+ loglevel.default=INFO
+-rdeck.base=.
++rdeck.base=${TRUEPREFIX}/rundeck
+
+ #rss.enabled if set to true enables RSS feeds that are public
(non-authenticated)
+ rss.enabled=false
+@@ -8,7 +8,7 @@ server.address=localhost
+ server.port=4440
+ grails.serverURL=http://localhost:4440
+ dataSource.dbCreate = none
+-dataSource.url =
jdbc:h2:file:./server/data/grailsdb;NON_KEYWORDS=MONTH,HOUR,MINUTE,YEAR,SECONDS;DB_CLOSE_ON_EXIT=FALSE
++dataSource.url =
jdbc:h2:file:${TRUEPREFIX}/rundeck/server/data/grailsdb;NON_KEYWORDS=MONTH,HOUR,MINUTE,YEAR,SECONDS;DB_CLOSE_ON_EXIT=FALSE
+ grails.plugin.databasemigration.updateOnStart=true
+ # Pre Auth mode settings
+ rundeck.security.authorization.preauthenticated.enabled=false
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/sysutils/rundeck/pkg/PLIST,v
diff -u -p -u -r1.5 PLIST
--- pkg/PLIST 8 Nov 2022 11:17:12 -0000 1.5
+++ pkg/PLIST 13 Jan 2026 20:18:24 -0000
@@ -1,43 +1,54 @@
@newgroup _rundeck:780
@newuser _rundeck:780:_rundeck::RunDeck user:/nonexistent:/sbin/nologin
+@rcscript ${RCDIR}/rundeck
+@extraunexec rm -rf ${PREFIX}/rundeck/libext
+@extraunexec rm -rf ${PREFIX}/rundeck/projects
+@extraunexec rm -rf ${PREFIX}/rundeck/repository
+@extraunexec rm -rf ${PREFIX}/rundeck/server/data/*
+@extraunexec rm -rf ${PREFIX}/rundeck/server/logs/*
+@extraunexec rm -rf ${PREFIX}/rundeck/var/* ${PREFIX}/rundeck/var/.first*
+@extra rundeck/server/config/artifact-repositories.yaml
@mode 0750
@owner _rundeck
@group _rundeck
rundeck/
+rundeck/.ssh/
rundeck/etc/
rundeck/etc/admin.aclpolicy.dist
@sample rundeck/etc/admin.aclpolicy
-rundeck/etc/apitoken.aclpolicy.dist
-@sample rundeck/etc/apitoken.aclpolicy
rundeck/etc/framework.properties.dist
@sample rundeck/etc/framework.properties
-rundeck/etc/log4j.properties.dist
-@sample rundeck/etc/cli-log4j.properties
-@sample rundeck/etc/log4j.properties
rundeck/etc/profile.dist
@sample rundeck/etc/profile
rundeck/etc/project.properties.dist
@sample rundeck/etc/project.properties
-rundeck/rundeck-launcher.jar
+rundeck/etc/system-job_reader.aclpolicy_template.dist
+@sample rundeck/etc/system-job_reader.aclpolicy_template
+rundeck/etc/system-job_runner.aclpolicy_template.dist
+@sample rundeck/etc/system-job_runner.aclpolicy_template
+rundeck/etc/system-job_viewer.aclpolicy_template.dist
+@sample rundeck/etc/system-job_viewer.aclpolicy_template
+rundeck/etc/system-job_writer.aclpolicy_template.dist
+@sample rundeck/etc/system-job_writer.aclpolicy_template
+rundeck/etc/system-project_admin.aclpolicy_template.dist
+@sample rundeck/etc/system-project_admin.aclpolicy_template
+rundeck/rundeck.war
rundeck/server/
+rundeck/server/addons/
rundeck/server/config/
-rundeck/server/config/jaas-loginmodule.conf
-rundeck/server/config/rundeck-config.properties
-rundeck/server/exp/
-rundeck/server/exp/webapp/
-rundeck/server/exp/webapp/WEB-INF/
-rundeck/server/exp/webapp/WEB-INF/classes/
-rundeck/server/exp/webapp/WEB-INF/classes/log4j.properties
-rundeck/tools/
-rundeck/tools/bin/
-rundeck/tools/bin/dispatch
-rundeck/tools/bin/rd-acl
-rundeck/tools/bin/rd-jobs
-rundeck/tools/bin/rd-project
-rundeck/tools/bin/rd-queue
-rundeck/tools/bin/rd-setup
-rundeck/tools/bin/run
-@group
-@owner
-@mode
-@rcscript ${RCDIR}/rundeck
+rundeck/server/config/jaas-loginmodule.conf.dist
+@sample rundeck/server/config/jaas-loginmodule.conf
+rundeck/server/config/log4j2.properties.dist
+@sample rundeck/server/config/log4j2.properties
+rundeck/server/config/realm.properties.dist
+@sample rundeck/server/config/realm.properties
+rundeck/server/config/rundeck-config.properties.dist
+@sample rundeck/server/config/rundeck-config.properties
+rundeck/server/config/ssl.properties.dist
+@sample rundeck/server/config/ssl.properties
+rundeck/server/data/
+rundeck/server/lib/
+rundeck/server/logs/
+rundeck/server/work/
+rundeck/user-assets/
+rundeck/var/
Index: pkg/rundeck.rc
===================================================================
RCS file: /cvs/ports/sysutils/rundeck/pkg/rundeck.rc,v
diff -u -p -u -r1.6 rundeck.rc
--- pkg/rundeck.rc 11 Mar 2022 19:57:59 -0000 1.6
+++ pkg/rundeck.rc 13 Jan 2026 20:18:24 -0000
@@ -1,7 +1,24 @@
#!/bin/ksh
-daemon=$(${LOCALBASE}/bin/javaPathHelper -c rundeck)
-daemon_flags="-XX:MaxPermSize=256m -Xmx1024m
-Djava.io.tmpdir=/var/cache/rundeck -jar ${RDECK_BASE}/rundeck-launcher.jar -b
${RDECK_BASE}"
+RDECK_BASE=${TRUEPREFIX}/rundeck
+
+# Source installation profile
+[ -f "${RDECK_BASE}/etc/profile" ] && . ${RDECK_BASE}/etc/profile
+
+# lookup the server port from the tools config file
+RDECK_PORT=$(awk '/framework.server.port/ {print $3}'
${RDECK_BASE}/etc/framework.properties)
+
+SSL_OPTS=
+proto=$(awk '/framework.server.url = / {split($3, a, ":"); print a[1]}'
${RDECK_BASE}/etc/framework.properties)
+[ "${proto:-http}" == "https" ] && {
+ SSL_OPTS="-Drundeck.ssl.config=${RDECK_BASE}/server/config/ssl.properties
-Dserver.https.port=${RDECK_PORT:=4443}"
+}
+
+LOG4J_CONFIG="${RDECK_BASE}/server/config/log4j2.properties"
+logging="-Dlogging.config=file:${LOG4J_CONFIG}
-Dlog4j.configurationFile=${LOG4J_CONFIG}"
+
+daemon_flags="${logging} ${RDECK_JVM} -Dserver.http.port=${RDECK_PORT:=4440}
${SSL_OPTS} -jar ${RDECK_BASE}/rundeck.war --skipinstall -b ${RDECK_BASE}"
+daemon="${JAVA_HOME}/bin/java"
daemon_user="_rundeck"
. /etc/rc.d/rc.subr