and strongly-consistent key-value store. It scales horizontally; survives disk, machine, rack, and even datacenter failures with minimal latency disruption and no manual intervention; supports strongly-consistent ACID transactions; and provides a familiar SQL API for structuring, manipulating, and querying data. CockroachDB is inspired by Google's Spanner and F1 technologies, and it's completely open source. PR: 221635 Submitted by: James Nugent <freebsd@jen20.com> Approved by: mat (mentor) Differential Revision: https://reviews.freebsd.org/D12088
69 lines
1.8 KiB
Bash
69 lines
1.8 KiB
Bash
#!/bin/sh
|
|
|
|
# $FreeBSD$
|
|
#
|
|
# PROVIDE: cockroach
|
|
# REQUIRE: LOGIN
|
|
# KEYWORD: shutdown
|
|
#
|
|
# Add the following lines to /etc/rc.conf.local or /etc/rc.conf
|
|
# to enable this service:
|
|
#
|
|
# cockroach_enable (bool): Set to NO by default.
|
|
# Set it to YES to enable cockroach.
|
|
# cockroach_user (user): Set user to run cockroach.
|
|
# Default is "cockroach".
|
|
# cockroach_group (group): Set group to run cockroach.
|
|
# Default is "cockroach".
|
|
# cockroach_dir (dir): Set dir to run cockroach in.
|
|
# Default is "path=/var/db/cockroach".
|
|
# cockroach_flags (string): Set additional flags with which to run cockroach.
|
|
# Default is "--insecure --host=localhost".
|
|
|
|
. /etc/rc.subr
|
|
|
|
name=cockroach
|
|
rcvar=cockroach_enable
|
|
|
|
load_rc_config $name
|
|
|
|
: ${cockroach_enable:="NO"}
|
|
: ${cockroach_user:="cockroach"}
|
|
: ${cockroach_group:="cockroach"}
|
|
: ${cockroach_dir:="/var/db/cockroachdb"}
|
|
: ${cockroach_store:="--store=path=${cockroach_dir}"}
|
|
: ${cockroach_flags:="--insecure --host=localhost"}
|
|
|
|
start_precmd=cockroach_startprecmd
|
|
start_cmd=${name}_start
|
|
stop_cmd=${name}_stop
|
|
|
|
pidfile=/var/run/cockroach.pid
|
|
command="%%PREFIX%%/bin/cockroach"
|
|
|
|
cockroach_startprecmd()
|
|
{
|
|
if [ ! -e ${pidfile} ]; then
|
|
install -o ${cockroach_user} -g ${cockroach_group} /dev/null ${pidfile};
|
|
fi
|
|
|
|
if [ ! -d ${cockroach_dir} ]; then
|
|
install -d -o ${cockroach_user} -g ${cockroach_group} ${cockroach_dir}
|
|
fi
|
|
}
|
|
|
|
cockroach_start() {
|
|
/usr/sbin/daemon -u ${cockroach_user} \
|
|
-p $pidfile ${command} \
|
|
start \
|
|
${cockroach_store} \
|
|
${cockroach_flags}
|
|
}
|
|
|
|
cockroach_stop() {
|
|
[ -f $pidfile ] \
|
|
&& ${command} quit --insecure \
|
|
|| echo ${name} not running? \(check ${pidfile}\)
|
|
}
|
|
|
|
run_rc_command "$1"
|