1#!/bin/sh 2 3# PROVIDE: kibana 4# REQUIRE: DAEMON 5# BEFORE: LOGIN 6# KEYWORD: shutdown 7 8. /etc/rc.subr 9 10name=kibana 11rcvar=kibana_enable 12 13load_rc_config $name 14 15: ${kibana_enable:="NO"} 16: ${kibana_config:="%%ETCDIR%%/kibana.yml"} 17: ${kibana_user:="www"} 18: ${kibana_group:="www"} 19: ${kibana_log:="/var/log/kibana.log"} 20: ${kibana_syslog_output_enable:="NO"} 21: ${kibana_chdir:="%%WWWDIR%%/data"} 22 23start_precmd="kibana_start_precmd" 24reload_cmd="kibana_reload_cmd" 25extra_commands="reload" 26 27if checkyesno kibana_syslog_output_enable; then 28 if [ -n "${kibana_syslog_output_tag}" ]; then 29 kibana_syslog_output_flags="-T ${kibana_syslog_output_tag}" 30 else 31 kibana_syslog_output_flags="-T ${name}" 32 fi 33 if [ -n "${kibana_syslog_output_priority}" ]; then 34 kibana_syslog_output_flags="${kibana_syslog_output_flags} -s ${kibana_syslog_output_priority}" 35 fi 36 if [ -n "${kibana_syslog_output_facility}" ]; then 37 kibana_syslog_output_flags="${kibana_syslog_output_flags} -l ${kibana_syslog_output_facility}" 38 fi 39fi 40 41NODE="%%LOCALBASE%%/bin/node" 42 43required_files="${kibana_config}" 44_piddir="/var/run/${name}" 45pidfile="${_piddir}/${name}.pid" 46procname="${NODE}" 47 48command="/usr/sbin/daemon" 49command_args="-f ${kibana_syslog_output_flags} -p ${pidfile} -t ${name} \ 50 /usr/bin/env BABEL_DISABLE_CACHE=1 NODE_ENV=production ${kibana_env} \ 51 ${NODE} --no-warnings --max-http-header-size=65536 \ 52 %%WWWDIR%%/src/cli/dist serve \ 53 --config ${kibana_config} --log-file ${kibana_log} \ 54 --xpack.reporting.enabled=false ${kibana_args}" 55 56kibana_start_precmd() 57{ 58 if [ ! -e "${_piddir}" ]; then 59 install -d -m 0750 -o ${kibana_user} -g ${kibana_group} ${_piddir} 60 fi 61 if [ ! -f ${kibana_log} ]; then 62 install -o ${kibana_user} -g ${kibana_group} -m 640 /dev/null ${kibana_log} 63 fi 64 if [ ! -d %%WWWDIR%%/optimize ]; then 65 install -d -o ${kibana_user} -g ${kibana_group} %%WWWDIR%%/optimize 66 else 67 # We may have installed a plugin as root which will cause files in here 68 # to be owned by root:wheel. Fix with a chown. 69 chown -R ${kibana_user}:${kibana_group} %%WWWDIR%%/optimize 70 fi 71} 72 73kibana_reload_cmd() 74{ 75 if [ -z "$rc_pid" ]; then 76 _run_rc_notrunning 77 return 1 78 else 79 pkill -HUP -P ${rc_pid} 80 fi 81} 82 83run_rc_command "$1" 84