You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

57 lines
2.0 KiB

10 years ago
#!/bin/sh
usage () {
echo "USAGE: cockroach-cert ca" 1>&2
echo "USAGE: cockroach-cert server <host-name> [<ip-address>]" 1>&2
echo "USAGE: cockroach-cert client <user-name>" 1>&2
exit 1
}
if [ $# -lt 1 ]; then
usage
fi
cmd="$1"
shift
if [ ".$cmd" = .ca ]; then
if [ $# -ne 0 ]; then
usage
fi
echo "++ generating CA certificate/key pair"
echo "-- generating: @l_prefix@/etc/cockroach/cockroach-ca.crt"
echo "-- generating: @l_prefix@/etc/cockroach/cockroach-ca.key"
su - @l_rusr@ -c \
"@l_prefix@/bin/cockroach cert create-ca \
--ca-cert=@l_prefix@/etc/cockroach/cockroach-ca.crt \
--ca-key=@l_prefix@/etc/cockroach/cockroach-ca.key"
elif [ ".$cmd" = .server ]; then
if [ $# -lt 1 ]; then
usage
fi
echo "++ generating server certificate/key pair"
echo "-- generating: @l_prefix@/etc/cockroach/cockroach-server.crt"
echo "-- generating: @l_prefix@/etc/cockroach/cockroach-server.key"
su - @l_rusr@ -c \
"@l_prefix@/bin/cockroach cert create-node \
--ca-cert=@l_prefix@/etc/cockroach/cockroach-ca.crt \
--ca-key=@l_prefix@/etc/cockroach/cockroach-ca.key \
--cert=@l_prefix@/etc/cockroach/cockroach-server.crt \
--key=@l_prefix@/etc/cockroach/cockroach-server.key \
$*"
elif [ ".$cmd" = .client ]; then
if [ $# -lt 1 ]; then
usage
fi
username="$1"
shift
echo "++ generating client certificate/key pair"
echo "-- generating: @l_prefix@/etc/cockroach/cockroach-client-$username.crt"
echo "-- generating: @l_prefix@/etc/cockroach/cockroach-client-$username.key"
su - @l_rusr@ -c \
"@l_prefix@/bin/cockroach cert create-client \
--ca-cert=@l_prefix@/etc/cockroach/cockroach-ca.crt \
--ca-key=@l_prefix@/etc/cockroach/cockroach-ca.key \
--cert=@l_prefix@/etc/cockroach/cockroach-client-$username.crt \
--key=@l_prefix@/etc/cockroach/cockroach-client-$username.key \
$username $*"
fi