aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJose Alonso Cardenas Marquez <acm@FreeBSD.org>2024-02-20 17:33:39 +0000
committerJose Alonso Cardenas Marquez <acm@FreeBSD.org>2024-02-20 17:36:48 +0000
commit17afe60229c0d18c7f0d38fc7412d17abcffbc39 (patch)
tree8da1e120f4eec566aec29948c05f67b7f4210d9d
parent0fb2589cc8a078187acc4112a613729599547896 (diff)
downloadports-17afe60229c0d18c7f0d38fc7412d17abcffbc39.tar.gz
ports-17afe60229c0d18c7f0d38fc7412d17abcffbc39.zip
net/keycloak: update to 23.0.6
- Update to 23.0.6 - Add keycloak user and group - Add pkg-message - Add support for development(start-dev) and production (start) mode at rc script - Export JAVA_HOME from rc script - Add keycloak build function into rc script PR: 275658 276859 Approved by: maintainer timeout (2 weeks)
-rw-r--r--GIDs2
-rw-r--r--UIDs2
-rw-r--r--net/keycloak/Makefile19
-rw-r--r--net/keycloak/distinfo6
-rw-r--r--net/keycloak/files/keycloak.in15
-rw-r--r--net/keycloak/files/pkg-message.in58
-rw-r--r--net/keycloak/pkg-plist6
7 files changed, 93 insertions, 15 deletions
diff --git a/GIDs b/GIDs
index 862dc28445c0..ea2114a098aa 100644
--- a/GIDs
+++ b/GIDs
@@ -272,7 +272,7 @@ galene:*:328:
certspotter:*:329:
orthanc:*:330:
svxlink:*:331:
-# free: 332
+keycloak:*:332:
# free: 333
honeytrap:*:333:
# free: 335
diff --git a/UIDs b/UIDs
index e8a4a025a983..707e29c7be1c 100644
--- a/UIDs
+++ b/UIDs
@@ -277,7 +277,7 @@ galene:*:328:328::0:0:Galene Visioconference server:/nonexistent:/usr/sbin/nolog
certspotter:*:329:329::0:0:Cert Spotter user:/nonexistent:/usr/sbin/nologin
orthanc:*:330:330::0:0:Orthanc Daemon:/nonexistent:/usr/sbin/nologin
svxlink:*:331:331::0:0:svxlink server:/nonexistent:/usr/sbin/nologin
-# free: 332
+keycloak:*:332:332::0:0:keycloak server:/nonexistent:/usr/sbin/nologin
honeytrap:*:333:333::0:0:HoneyTrap Daemon:/nonexistent:/usr/sbin/nologin
# free: 334
# free: 335
diff --git a/net/keycloak/Makefile b/net/keycloak/Makefile
index 4a27c5ecdd12..b1062b807e1a 100644
--- a/net/keycloak/Makefile
+++ b/net/keycloak/Makefile
@@ -1,5 +1,5 @@
PORTNAME= keycloak
-PORTVERSION= 23.0.5
+DISTVERSION= 23.0.6
CATEGORIES= net java
MASTER_SITES= https://github.com/${PORTNAME}/${PORTNAME}/releases/download/${PORTVERSION}/
@@ -28,8 +28,10 @@ JAVA_RUN= yes
USE_RC_SUBR= keycloak
-USER= www
-GROUP= www
+KEYCLOAK_USER= ${PORTNAME}
+KEYCLOAK_GROUP= ${PORTNAME}
+USERS= ${KEYCLOAK_USER}
+GROUPS= ${USERS}
VAR_DIR?= /var
LOG_DIR?= ${VAR_DIR}/log/${PORTNAME}
@@ -38,13 +40,18 @@ RUN_DIR?= ${VAR_DIR}/run/${PORTNAME}
NO_ARCH= yes
NO_BUILD= yes
-SUB_LIST+= GROUP=${GROUP} \
+SUB_FILES+= pkg-message
+SUB_LIST+= GROUP=${KEYCLOAK_GROUP} \
JAVA=${JAVA} \
+ JAVA_HOME=${JAVA_HOME} \
LOG_DIR=${LOG_DIR} \
PORTNAME=${PORTNAME} \
RUN_DIR=${RUN_DIR} \
- USER=${USER}
-PLIST_SUB= VERSION=${DISTVERSION}
+ USER=${KEYCLOAK_USER} \
+ GROUP=${KEYCLOAK_GROUP}
+PLIST_SUB= VERSION=${DISTVERSION} \
+ USER=${KEYCLOAK_USER} \
+ GROUP=${KEYCLOAK_GROUP}
OPTIONS_DEFINE= DOCS EXAMPLES
diff --git a/net/keycloak/distinfo b/net/keycloak/distinfo
index b549281cbfb4..c6492d16eaf0 100644
--- a/net/keycloak/distinfo
+++ b/net/keycloak/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1706519411
-SHA256 (keycloak-23.0.5.tar.gz) = 576990e486f1a3f0d4bce8f3c7c22fee5699d17e03794c8653cc5d36287adac1
-SIZE (keycloak-23.0.5.tar.gz) = 177864638
+TIMESTAMP = 1706915975
+SHA256 (keycloak-23.0.6.tar.gz) = 0a335248f44ba4c9aa2460082b3d00237900e3f0f4f910daab79d3fd401d0cb6
+SIZE (keycloak-23.0.6.tar.gz) = 177876996
diff --git a/net/keycloak/files/keycloak.in b/net/keycloak/files/keycloak.in
index ad88f6699df3..f90d2304243a 100644
--- a/net/keycloak/files/keycloak.in
+++ b/net/keycloak/files/keycloak.in
@@ -14,6 +14,7 @@
# %%PORTNAME%%_user (string): User account to run with.
# Default: www
# %%PORTNAME%%_flags (string): Additional flags for the startup script.
+# Default: start
#
. /etc/rc.subr
@@ -27,7 +28,8 @@ load_rc_config $name
: ${%%PORTNAME%%_enable:=NO}
: ${%%PORTNAME%%_user:=%%USER%%}
: ${%%PORTNAME%%_group:=%%GROUP%%}
-: ${%%PORTNAME%%_flags:=""}
+: ${%%PORTNAME%%_flags="start"}
+: ${%%PORTNAME%%_java_home="%%JAVA_HOME%%"}
pidfile=%%RUN_DIR%%/%%PORTNAME%%.pid
command=/usr/sbin/daemon
@@ -35,6 +37,9 @@ command_args="-u ${%%PORTNAME%%_user} -o %%LOG_DIR%%/%%PORTNAME%%.out -t %%PORTN
start_cmd="%%PORTNAME%%_start"
stop_cmd="%%PORTNAME%%_stop"
+build_cmd="%%PORTNAME%%_build"
+
+export JAVA_HOME=${%%PORTNAME%%_java_home}
%%PORTNAME%%_start()
{
@@ -49,7 +54,7 @@ stop_cmd="%%PORTNAME%%_stop"
echo "Starting %%PORTNAME%%."
${command} ${command_args} \
- %%JAVASHAREDIR%%/%%PORTNAME%%/bin/kc.sh start \
+ %%JAVASHAREDIR%%/%%PORTNAME%%/bin/kc.sh \
${%%PORTNAME%%_flags}
}
@@ -73,4 +78,10 @@ stop_cmd="%%PORTNAME%%_stop"
wait_for_pids ${pid_daemon} ${pid_child}
}
+%%PORTNAME%%_build()
+{
+ su -m keycloak -c "%%JAVASHAREDIR%%/%%PORTNAME%%/bin/kc.sh build"
+}
+
+extra_commands="build"
run_rc_command "$1"
diff --git a/net/keycloak/files/pkg-message.in b/net/keycloak/files/pkg-message.in
new file mode 100644
index 000000000000..85b23d9347fa
--- /dev/null
+++ b/net/keycloak/files/pkg-message.in
@@ -0,0 +1,58 @@
+[
+{ type: install
+ message: <<EOM
+Keycloak was installed
+
+1) Configuration files are located at %%JAVASHAREDIR%%/%%PORTNAME%%/conf
+2) keycloak start in production mode by default. https is mandatory in this
+ mode. You must generate some certificate files.
+
+ # cd %%JAVASHAREDIR%%/%%PORTNAME%%/conf
+ # openssl req -newkey rsa:2048 -nodes -keyout server.key.pem -x509 \
+ -days 3650 -out server.crt.pem
+ # chmod 640 server.crt.pem server.key.pem
+ # chown %%USER%%:%%GROUP%% server.crt.pem server.key.pem
+
+ Do not forget set certificate paths into keycloak.conf
+
+3) If you want start keycloak on develpment mode (http), you can change
+ it the following way:
+
+ # sysrc keycloak_flags=start-dev
+
+4) Also you can use mysql or postgresql backend for store keycloak data. Take a
+ look at db, db-username, db-password and db-url options into keycloak.conf
+ file.
+
+5) Enable keycloak service
+
+ # service keycloak enable
+
+6) Sometimes you will need run a keycloak build when you change some settings
+ into config file or when you pass from development mode to production mode.
+ Try the following if you need it:
+
+ # service keycloak build
+
+7) Start keycloak service
+
+ # service keycloak start
+
+8) Development mode listen on 8080 port and production mode listen on 8443 port
+ by default. Depending of your own configuration, the administration console
+ can be accesing from a web browser from localhost first time:
+
+ http://localhost:8080
+
+ or if you are using production mode
+
+ https://ip_or_hostname:8443
+
+9) For more information about keycloak configuration, visit:
+
+ https://www.keycloak.org/documentation
+
+10) Enjoy it
+EOM
+}
+]
diff --git a/net/keycloak/pkg-plist b/net/keycloak/pkg-plist
index f49916e39f51..806113890eb5 100644
--- a/net/keycloak/pkg-plist
+++ b/net/keycloak/pkg-plist
@@ -399,14 +399,16 @@ bin/kcreg
%%JAVASHAREDIR%%/keycloak/lib/quarkus-run.jar
%%JAVASHAREDIR%%/keycloak/providers/README.md
%%JAVASHAREDIR%%/keycloak/themes/README.md
-@owner www
-@group www
+@owner %%USER%%
+@group %%GROUP%%
+@mode 640
%%JAVASHAREDIR%%/keycloak/lib/quarkus/generated-bytecode.jar
%%JAVASHAREDIR%%/keycloak/lib/quarkus/quarkus-application.dat
%%JAVASHAREDIR%%/keycloak/lib/quarkus/transformed-bytecode.jar
@sample %%JAVASHAREDIR%%/keycloak/conf/cache-ispn.xml.sample
@sample %%JAVASHAREDIR%%/keycloak/conf/keycloak.conf.sample
@sample %%JAVASHAREDIR%%/keycloak/lib/quarkus/build-system.properties.sample
+@mode 750
@dir %%JAVASHAREDIR%%/keycloak/lib/quarkus
@dir %%JAVASHAREDIR%%/keycloak/data
@dir /var/log/keycloak