diff options
author | Vanilla I. Shu <vanilla@FreeBSD.org> | 2021-01-21 02:21:33 +0000 |
---|---|---|
committer | Vanilla I. Shu <vanilla@FreeBSD.org> | 2021-01-21 02:21:33 +0000 |
commit | b4fe893899ed76505443c8887f02a5437f964728 (patch) | |
tree | 58fe24f512d0eeafc05da5cce8cf093f971e3ce1 /net/keycloak/files | |
parent | 11ef0b7dd89e70a8eccd228bc1779da95ddf3033 (diff) | |
download | ports-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.in | 97 | ||||
-rw-r--r-- | net/keycloak/files/mysql-module.xml | 10 | ||||
-rw-r--r-- | net/keycloak/files/postgresql-module.xml | 10 |
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> |