1#!/bin/sh 2 3# PROVIDE: opensearch_dashboards 4# REQUIRE: DAEMON 5# BEFORE: LOGIN 6# KEYWORD: shutdown 7 8. /etc/rc.subr 9 10name=opensearch_dashboards 11rcvar=opensearch_dashboards_enable 12 13load_rc_config $name 14 15: ${opensearch_dashboards_enable:="NO"} 16: ${opensearch_dashboards_config:="%%ETCDIR%%/opensearch_dashboards.yml"} 17: ${opensearch_dashboards_user:="www"} 18: ${opensearch_dashboards_group:="www"} 19: ${opensearch_dashboards_log:="/var/log/opensearch_dashboards.log"} 20: ${opensearch_dashboards_syslog_output_enable:="NO"} 21 22start_precmd="opensearch_dashboards_start_precmd" 23reload_cmd="opensearch_dashboards_reload_cmd" 24extra_commands="reload" 25 26if checkyesno opensearch_dashboards_syslog_output_enable; then 27 if [ -n "${opensearch_dashboards_syslog_output_tag}" ]; then 28 opensearch_dashboards_syslog_output_flags="-T ${opensearch_dashboards_syslog_output_tag}" 29 else 30 opensearch_dashboards_syslog_output_flags="-T ${name}" 31 fi 32 if [ -n "${opensearch_dashboards_syslog_output_priority}" ]; then 33 opensearch_dashboards_syslog_output_flags="${opensearch_dashboards_syslog_output_flags} -s ${opensearch_dashboards_syslog_output_priority}" 34 fi 35 if [ -n "${opensearch_dashboards_syslog_output_facility}" ]; then 36 opensearch_dashboards_syslog_output_flags="${opensearch_dashboards_syslog_output_flags} -l ${opensearch_dashboards_syslog_output_facility}" 37 fi 38fi 39 40NODE="%%LOCALBASE%%/bin/node" 41 42required_files="${opensearch_dashboards_config}" 43pidfile="/var/run/${name}.pid" 44 45command="/usr/sbin/daemon" 46command_args="-f ${opensearch_dashboards_syslog_output_flags} -P ${pidfile} -t ${name} \ 47 /usr/bin/env NODE_ENV=production ${opensearch_dashboards_env} \ 48 ${NODE} %%WWWDIR%%/src/cli/dist serve \ 49 --config ${opensearch_dashboards_config} --log-file ${opensearch_dashboards_log} \ 50 ${opensearch_dashboards_args}" 51 52opensearch_dashboards_start_precmd() 53{ 54 if [ ! -e "${pidfile}" ]; then 55 install -m 0600 -o ${opensearch_dashboards_user} -g ${opensearch_dashboards_group} /dev/null ${pidfile} 56 fi 57 if [ ! -f ${opensearch_dashboards_log} ]; then 58 install -o ${opensearch_dashboards_user} -g ${opensearch_dashboards_group} -m 640 /dev/null ${opensearch_dashboards_log} 59 fi 60 if [ ! -d %%WWWDIR%%/optimize ]; then 61 install -d -o ${opensearch_dashboards_user} -g ${opensearch_dashboards_group} %%WWWDIR%%/optimize 62 else 63 # We may have installed a plugin as root which will cause files in here 64 # to be owned by root:wheel. Fix with a chown. 65 chown -R ${opensearch_dashboards_user}:${opensearch_dashboards_group} %%WWWDIR%%/optimize 66 fi 67} 68 69opensearch_dashboards_reload_cmd() 70{ 71 if [ -z "$rc_pid" ]; then 72 _run_rc_notrunning 73 return 1 74 else 75 pkill -HUP -P ${rc_pid} 76 fi 77} 78 79run_rc_command "$1" 80