diff --git a/net/Makefile b/net/Makefile --- a/net/Makefile +++ b/net/Makefile @@ -10,6 +10,7 @@ SUBDIR += addrwatch SUBDIR += afpfs-ng SUBDIR += aget + SUBDIR += akhq SUBDIR += akonadi-calendar SUBDIR += akonadi-contacts SUBDIR += akonadi-mime diff --git a/net/akhq/Makefile b/net/akhq/Makefile new file mode 100644 --- /dev/null +++ b/net/akhq/Makefile @@ -0,0 +1,39 @@ +PORTNAME= akhq +DISTVERSION= 0.25.1 +DISTVERSIONSUFFIX= -all +CATEGORIES= net java +MASTER_SITES= https://github.com/tchiotludo/akhq/releases/download/${PORTVERSION}/ +EXTRACT_SUFX= .jar + +MAINTAINER= freebsd@hackacad.net +COMMENT= AKHQ (previously known as KafkaHQ) +WWW= https://github.com/tchiotludo/akhq + +LICENSE= APACHE20 + +USES= java +JAVA_VERSION= 17+ +USE_RC_SUBR= akhq + +NO_ARCH= yes +NO_BUILD= yes + +PLIST_FILES= ${JAVASHAREDIR}/${PORTNAME}/${PORTNAME}.jar + +CONFIG_FILES= application.yml + +NO_EXTRACT= yes + +do-install: + ${MKDIR} ${STAGEDIR}${PREFIX}/etc/akhq + ${MKDIR} ${STAGEDIR}${JAVASHAREDIR}/${PORTNAME} + ${INSTALL_DATA} ${DISTDIR}/${DISTFILES} ${STAGEDIR}${JAVASHAREDIR}/${PORTNAME}/${PORTNAME}.jar + ${INSTALL_DATA} ${FILESDIR}/application.yml ${STAGEDIR}${PREFIX}/etc/akhq/application.yml.sample + ${ECHO} "@sample ${PREFIX}/etc/akhq/application.yml.sample" >> ${TMPPLIST} + +post-install: + @if [ ! -f ${STAGEDIR}${PREFIX}/etc/akhq/application.yml ]; then \ + ${CP} -p ${STAGEDIR}${PREFIX}/etc/akhq/application.yml.sample ${STAGEDIR}${PREFIX}/etc/akhq/application.yml ; \ + fi + +.include diff --git a/net/akhq/distinfo b/net/akhq/distinfo new file mode 100644 --- /dev/null +++ b/net/akhq/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1734718291 +SHA256 (akhq-0.25.1-all.jar) = 5aec420df890e388ade89c6995e6ed45a37d3cb1ff22f5d9837b1156ff4eaf72 +SIZE (akhq-0.25.1-all.jar) = 191995582 diff --git a/net/akhq/files/akhq.in b/net/akhq/files/akhq.in new file mode 100644 --- /dev/null +++ b/net/akhq/files/akhq.in @@ -0,0 +1,40 @@ +#!/bin/sh + +# PROVIDE: akhq +# REQUIRE: LOGIN +# KEYWORD: shutdown + +. /etc/rc.subr + +name=akhq +rcvar=akhq_enable + +load_rc_config $name + +: ${akhq_enable:=NO} +: ${akhq_config:=%%LOCALBASE%%/etc/akhq/application.yml} +: ${akhq_jar:=%%LOCALBASE%%/share/java/akhq/akhq.jar} +: ${akhq_java:=%%LOCALBASE%%/bin/java} +: ${akhq_user:=www} +: ${akhq_pidfile:=/var/run/${name}.pid} + +command="/usr/sbin/daemon" +command_args="-P ${akhq_pidfile} -r -f ${akhq_java} -Dmicronaut.config.files=${akhq_config} -jar ${akhq_jar}" + +start_precmd=akhq_startprecmd + +akhq_startprecmd() +{ + # Ensure the directory for the PID file exists + if [ ! -d $(dirname ${akhq_pidfile}) ]; then + install -d -o ${akhq_user} -m 0750 $(dirname ${akhq_pidfile}) + fi + + # Ensure the PID file exists with the right permissions + if [ ! -e "${akhq_pidfile}" ]; then + install -m 0600 -o ${akhq_user} /dev/null ${akhq_pidfile} + fi +} + +run_rc_command "$1" + diff --git a/net/akhq/files/application.yml b/net/akhq/files/application.yml new file mode 100644 --- /dev/null +++ b/net/akhq/files/application.yml @@ -0,0 +1,9 @@ +akhq: + connections: + local: + properties: + bootstrap.servers: "localhost:9092" +micronaut: + server: + port: 8080 + host: "0.0.0.0" diff --git a/net/akhq/pkg-descr b/net/akhq/pkg-descr new file mode 100644 --- /dev/null +++ b/net/akhq/pkg-descr @@ -0,0 +1,2 @@ +Kafka GUI for Apache Kafka to manage topics, topics data, +consumers group, schema registry, connect and more...