aboutsummaryrefslogtreecommitdiff
path: root/net/keycloak/files
diff options
context:
space:
mode:
authorVanilla I. Shu <vanilla@FreeBSD.org>2021-01-21 02:21:33 +0000
committerVanilla I. Shu <vanilla@FreeBSD.org>2021-01-21 02:21:33 +0000
commitb4fe893899ed76505443c8887f02a5437f964728 (patch)
tree58fe24f512d0eeafc05da5cce8cf093f971e3ce1 /net/keycloak/files
parent11ef0b7dd89e70a8eccd228bc1779da95ddf3033 (diff)
downloadports-b4fe893899ed76505443c8887f02a5437f964728.tar.gz
ports-b4fe893899ed76505443c8887f02a5437f964728.zip
Add keycloak 12.0.2, identity and access management solution.
PR: 252831 Submitted by: freebsd@rheinwolf.de
Notes
Notes: svn path=/head/; revision=562167
Diffstat (limited to 'net/keycloak/files')
-rw-r--r--net/keycloak/files/keycloak.in97
-rw-r--r--net/keycloak/files/mysql-module.xml10
-rw-r--r--net/keycloak/files/postgresql-module.xml10
3 files changed, 117 insertions, 0 deletions
diff --git a/net/keycloak/files/keycloak.in b/net/keycloak/files/keycloak.in
new file mode 100644
index 000000000000..d578a2c0c5ba
--- /dev/null
+++ b/net/keycloak/files/keycloak.in
@@ -0,0 +1,97 @@
+#!/bin/sh
+
+# $FreeBSD$
+#
+# PROVIDE: %%PORTNAME%%
+# REQUIRE: NETWORKING SERVERS
+# KEYWORD: shutdown
+#
+# Add these following line to /etc/rc.conf.local or /etc/rc.conf
+# to enable this service:
+#
+# %%PORTNAME%%_enable (bool): Set it to YES to enable keycloak on startup.
+# Default: NO
+# %%PORTNAME%%_host_config (string): Choose the host config if running in domain mode (host-master, host-slave).
+# Default: host-master
+# %%PORTNAME%%_mode (string): Choose the desired operating mode (standalone, standalone-ha, domain).
+# Default: standalone
+# %%PORTNAME%%_user (string): User account to run with.
+# Default: www
+# %%PORTNAME%%_flags (string): Additional flags for the startup script.
+#
+
+. /etc/rc.subr
+
+name=%%PORTNAME%%
+rcvar=%%PORTNAME%%_enable
+desc="Identity and access management solution"
+
+load_rc_config $name
+
+: ${%%PORTNAME%%_enable:=NO}
+: ${%%PORTNAME%%_host_config:="host-master"}
+: ${%%PORTNAME%%_mode:=standalone}
+: ${%%PORTNAME%%_user:=%%USER%%}
+: ${%%PORTNAME%%_group:=%%GROUP%%}
+: ${%%PORTNAME%%_flags:=""}
+
+pidfile=%%RUN_DIR%%/%%PORTNAME%%.pid
+command=/usr/sbin/daemon
+command_args="-u ${%%PORTNAME%%_user} -o %%LOG_DIR%%/%%PORTNAME%%.out -t %%PORTNAME%% -R 60 -P ${pidfile}"
+
+start_cmd="%%PORTNAME%%_start"
+stop_cmd="%%PORTNAME%%_stop"
+
+%%PORTNAME%%_start()
+{
+ local %%PORTNAME%%_startscript
+
+ if [ ${%%PORTNAME%%_mode} = "domain" ]; then
+ %%PORTNAME%%_flags="--host-config=${%%PORTNAME%%_host_config} ${%%PORTNAME%%_flags}"
+ %%PORTNAME%%_startscript=domain.sh
+ elif [ ${%%PORTNAME%%_mode} = "standalone-ha" ]; then
+ %%PORTNAME%%_flags="--server-config=standalone-ha.xml ${%%PORTNAME%%_flags}"
+ %%PORTNAME%%_startscript=standalone.sh
+ else
+ %%PORTNAME%%_startscript=standalone.sh
+ fi
+
+ if [ ! -d "%%LOG_DIR%%" ]; then
+ install -d -o ${%%PORTNAME%%_user} %%LOG_DIR%%
+ fi
+ if [ ! -d "%%RUN_DIR%%" ]; then
+ install -d -o ${%%PORTNAME%%_user} %%RUN_DIR%%
+ fi
+
+ chown -R ${%%PORTNAME%%_user} %%LOG_DIR%%
+ chown -R ${%%PORTNAME%%_user} %%JAVASHAREDIR%%/%%PORTNAME%%/domain
+ chown -R ${%%PORTNAME%%_user} %%JAVASHAREDIR%%/%%PORTNAME%%/standalone
+
+ echo "Starting %%PORTNAME%%."
+ ${command} ${command_args} \
+ %%JAVASHAREDIR%%/%%PORTNAME%%/bin/${%%PORTNAME%%_startscript} \
+ ${%%PORTNAME%%_flags}
+}
+
+%%PORTNAME%%_stop()
+{
+ local pid_daemon
+ local pid_child
+
+ echo "Stopping %%PORTNAME%%."
+
+ pid_daemon=$(check_pidfile ${pidfile} ${command})
+ if [ ! -z "${pid_daemon}" ]; then
+ kill -TERM ${pid_daemon}
+ fi
+
+
+ pid_child=$(pgrep -U ${%%PORTNAME%%_user} -f %%JAVASHAREDIR%%/%%PORTNAME%%/jboss-modules.jar)
+ if [ ! -z "${pid_child}" ]; then
+ kill -TERM ${pid_child}
+ fi
+
+ wait_for_pids ${pid_daemon} ${pid_child}
+}
+
+run_rc_command "$1"
diff --git a/net/keycloak/files/mysql-module.xml b/net/keycloak/files/mysql-module.xml
new file mode 100644
index 000000000000..0849c8ec491a
--- /dev/null
+++ b/net/keycloak/files/mysql-module.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0"?>
+<module xmlns="urn:jboss:module:1.9" name="com.mysql">
+ <resources>
+ <resource-root path="mysql-connector-java.jar"/>
+ </resources>
+ <dependencies>
+ <module name="javax.api"/>
+ <module name="javax.transaction.api"/>
+ </dependencies>
+</module>
diff --git a/net/keycloak/files/postgresql-module.xml b/net/keycloak/files/postgresql-module.xml
new file mode 100644
index 000000000000..168a2037fe13
--- /dev/null
+++ b/net/keycloak/files/postgresql-module.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0"?>
+<module xmlns="urn:jboss:module:1.9" name="org.postgresql">
+ <resources>
+ <resource-root path="postgresql.jar"/>
+ </resources>
+ <dependencies>
+ <module name="javax.api"/>
+ <module name="javax.transaction.api"/>
+ </dependencies>
+</module>