#!/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_config: Configuration file to run Kafka # Default: %%ETCDIR%%/server.properties # kafka_log4j_profile: Profile for Kafka logging # Default: %%ETCDIR%%/log4j.properties # kafka_log_dir: Directory to store Kafka logs # Default: %%KAFKA_LOGDIR%% # kafka_java_opts: Options passed to JVM to start Kafka # Default: None # kafka_pidfile: Full path of the Kafka process PID file # Default: /var/run/kafka.pid # kafka_syslog_output_enable: Set to enable syslog output. # Default: YES # kafka_syslog_output_priority: Set syslog priority if syslog enabled. # Default: info # kafka_syslog_output_facility: Set syslog facility if syslog enabled. # Default: daemon . /etc/rc.subr name=kafka rcvar=kafka_enable load_rc_config "${name}" : ${kafka_enable:=NO} : ${kafka_user:=%%USERS%%} : ${kafka_config:=%%ETCDIR%%/server.properties} : ${kafka_log4j_profile:=%%ETCDIR%%/log4j.properties} : ${kafka_log_dir:=%%KAFKA_LOGDIR%%} : ${kafka_java_opts:=} : ${kafka_pidfile:=/var/run/kafka.pid} : ${kafka_syslog_output_enable:="YES"} if checkyesno kafka_syslog_output_enable; then kafka_syslog_output_flags="-T ${name}" if [ -n "${kafka_syslog_output_priority}" ]; then kafka_syslog_output_flags="${kafka_syslog_output_flags} -s ${kafka_syslog_output_priority}" fi if [ -n "${kafka_syslog_output_facility}" ]; then kafka_syslog_output_flags="${kafka_syslog_output_flags} -l ${kafka_syslog_output_facility}" fi fi JAVA=%%JAVA%% CLASSPATH=":%%DATADIR%%/libs/*" kafka_log_opts="-Dkafka.logs.dir=${kafka_log_dir} -Dlog4j.configuration=file:${kafka_log4j_profile}" kafka_main="${kafka_java_opts} ${kafka_log_opts} -cp ${CLASSPATH} kafka.Kafka ${kafka_config}" pidfile=${kafka_pidfile} required_dirs="${kafka_log_dir}" required_files="${kafka_config} ${kafka_log4j_profile}" command="/usr/sbin/daemon" command_args="-f ${kafka_syslog_output_flags} -P ${pidfile} -u ${kafka_user} -t ${name} ${JAVA} ${kafka_main}" unset kafka_user run_rc_command "$1"