ports/net/kafka/files/kafka.in
Steve Wills 4534c43fd0 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
2017-09-07 15:29:35 +00:00

74 lines
1.9 KiB
Bash

#!/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"