infranet/docker-entrypoint.sh
2022-03-30 13:26:38 +01:00

25 lines
716 B
Bash

#!/bin/sh
ARCH=$(uname -m)
BIN_DIR=/app/linux-${ARCH}
DATA_DIR=/etc/nebula
# Build host certs if they don't exist
if ! test -f ${DATA_DIR}/host.crt; then
cd ${DATA_DIR} || exit 1
# Generate a CSR if it doesn't already exist
if ! test -d ${DATA_DIR}/host.csr; then
"${BIN_DIR}/nebula-cert" keygen -out-key host.key -out-pub host.csr
# shellcheck disable=SC2016
echo 'You will need to get the `host.csr` file signed by a cluster admin'
exit 3
else
# shellcheck disable=SC2016
echo 'Awaiting for `host.csr` to be signed by a cluster admin'
exit 4
fi
fi
# Run the platform-specific binary
"${BIN_DIR}/nebula" -config ${DATA_DIR}/config.yaml