#!/bin/sh # $FreeBSD$ # # PROVIDE: clickhouse # REQUIRE: LOGIN # KEYWORD: shutdown # # Add the following line to /etc/rc.conf[.local] to enable clickhouse server # # clickhouse_enable (bool): Set to "NO" by default # Set it to "YES" to enable clickhouse server # clickhouse_limits (bool): Set to "NO" by default. # Set it to yes to run `limits -e -U clickhouse` # just before clickhouse starts. # clickhouse_config (str): Path to config file (required). # (default: %%PREFIX%%/etc/clickhouse-server/config.xml) # clickhouse_rundir (str): Path to directory holding a pidfile. # (default: /var/run/clickhouse) # clickhouse_user (str): User to run as # (default: clickhouse) # clickhouse_group (str): Group to run as # (default: clickhouse) # clickhouse_logdir (str): Path to log directory # (default: /var/log/clickhouse) # clickhouse_dbdir (str): Path to world database directory # (default: /var/db/clickhouse) . /etc/rc.subr name=clickhouse rcvar=clickhouse_enable load_rc_config ${name} : ${clickhouse_enable="NO"} : ${clickhouse_limits="NO"} : ${clickhouse_config="%%PREFIX%%/etc/clickhouse-server/config.xml"} : ${clickhouse_rundir="/var/run/clickhouse"} : ${clickhouse_user="clickhouse"} : ${clickhouse_group="clickhouse"} : ${clickhouse_dbdir="/var/db/clickhouse"} : ${clickhouse_flags=""} : ${clickhouse_pidfile="${clickhouse_rundir}/clickhouse.pid"} : ${clickhouse_args="--server --daemon --pid-file ${clickhouse_pidfile} --config-file ${clickhouse_config} ${clickhouse_flags}"} command=%%PREFIX%%/bin/clickhouse pidfile=${clickhouse_pidfile} command_args=${clickhouse_args} required_files=${clickhouse_config} start_precmd=clickhouse_prestart clickhouse_prestart () { if checkyesno clickhouse_limits; then eval `/usr/bin/limits -e -U ${clickhouse_user}` 2>/dev/null else return 0 fi } run_rc_command "$1"