summaryrefslogtreecommitdiff
path: root/net/kafka/files/kafka.in
diff options
context:
space:
mode:
authorSteve Wills <swills@FreeBSD.org>2017-09-07 15:29:35 +0000
committerSteve Wills <swills@FreeBSD.org>2017-09-07 15:29:35 +0000
commit4534c43fd0b55e3e540260f85aef9d02f25df609 (patch)
tree315a68591f43caf250b273b1cb91a56275a8b9af /net/kafka/files/kafka.in
parentRestore the maximum piece size of 2^30 introduced in r435987. (diff)
net/kafka: create port
Kafka is used for building real-time data pipelines and streaming apps. It is horizontally scalable, fault-tolerant, wicked fast, and runs in production in thousands of companies. WWW: https://kafka.apache.org/ PR: 220793 Submitted by: timp87@gmail.com
Diffstat (limited to 'net/kafka/files/kafka.in')
-rw-r--r--net/kafka/files/kafka.in74
1 files changed, 74 insertions, 0 deletions
diff --git a/net/kafka/files/kafka.in b/net/kafka/files/kafka.in
new file mode 100644
index 000000000000..70f28df363f7
--- /dev/null
+++ b/net/kafka/files/kafka.in
@@ -0,0 +1,74 @@
+#!/bin/sh
+# $FreeBSD$
+#
+# PROVIDE: kafka
+# REQUIRE: LOGIN
+# KEYWORD: shutdown
+#
+# Add kafka_enable="YES" to /etc/rc.conf to enable Kafka:
+#
+# Additional variables you can define are:
+#
+# kafka_user: Username to run Kafka
+# Default: %%USERS%%
+# kafka_group: Groupname to run Kafka
+# Default: %%GROUPS%%
+# kafka_config: Configuration file to run Kafka
+# Default: %%ETCDIR%%/server.properties
+# kafka_log4jprofile: Profile for Kafka logging
+# Default: %%ETCDIR%%/log4j.properties
+# kafka_logdir: Directory to store Kafka logs
+# Default: %%KAFKA_LOGDIR%%
+# kafka_jvmopts: Options passed to JVM to start Kafka
+# Default: None
+# kafka_pidfile: Full path of the Kafka process PID file
+# Default: %%KAFKA_RUNDIR%%/kafka.pid
+# kafka_outfile: File to store Kafka's stdout and stderr
+# Default: $kafka_logdir/kafkaServer.out
+
+. /etc/rc.subr
+
+name=kafka
+rcvar=kafka_enable
+
+load_rc_config "${name}"
+
+: ${kafka_enable:=NO}
+: ${kafka_user:=%%USERS%%}
+: ${kafka_group:=%%GROUPS%%}
+: ${kafka_config:=%%ETCDIR%%/server.properties}
+: ${kafka_log4jpropfile:=%%ETCDIR%%/log4j.properties}
+: ${kafka_logdir:=%%KAFKA_LOGDIR%%}
+: ${kafka_jvmopts:=}
+: ${kafka_outfile:=$kafka_logdir/kafkaServer.out}
+: ${kafka_pidfile:=%%KAFKA_RUNDIR%%/kafka.pid}
+
+JAVA=%%JAVA%%
+
+CLASSPATH=":%%DATADIR%%/libs/*"
+
+kafka_logopts="-Dkafka.logs.dir=${kafka_logdir} -Dlog4j.configuration=file:${kafka_log4jpropfile}"
+kafka_main="$kafka_jvmopts $kafka_logopts -cp $CLASSPATH"
+pidfile=${kafka_pidfile}
+procname=${JAVA}
+required_files="${kafka_config} ${kafka_log4jpropfile}"
+
+daemon_head=""
+daemon_tail=" > $kafka_outfile 2>&1 < /dev/null"
+
+if [ -z $kafka_outfile ]; then
+ daemon_head="-f"
+ daemon_tail=""
+fi
+
+command="/usr/sbin/daemon"
+command_args="${daemon_head} -p ${pidfile} ${JAVA} ${kafka_main} kafka.Kafka ${kafka_config} ${daemon_tail}"
+
+start_precmd="kafka_init"
+
+kafka_init()
+{
+ chown ${kafka_user}:${kafka_group} ${pidfile%/*} ${kafka_logdir} ${kafka_outfile}
+}
+
+run_rc_command "$1"