provisioning-catalog/components/surrealdb/cluster/templates/post-install.sh.j2

37 lines
1 KiB
Text
Raw Normal View History

#!/bin/bash
set -euo pipefail
_kubectl() {
if command -v kubectl >/dev/null 2>&1; then
command kubectl "$@"
elif command -v k0s >/dev/null 2>&1; then
k0s kubectl "$@"
else
echo "ERROR: no kubectl or k0s binary found on host" >&2; exit 127
fi
}
NAMESPACE="{{ taskserv.namespace }}"
COMPONENT="{{ taskserv.name }}"
NAMESPACES="{{ namespaces_space | default(value='') }}"
if [ -z "${NAMESPACES}" ]; then
echo "[post-install] no surreal namespaces declared, skipping"
exit 0
fi
POD=$(_kubectl get pod --namespace "${NAMESPACE}" \
--selector "app.kubernetes.io/name=${COMPONENT}" \
-o jsonpath='{.items[0].metadata.name}')
for ns in ${NAMESPACES}; do
echo "[post-install] defining surreal namespace ${ns}"
_kubectl exec --namespace "${NAMESPACE}" "${POD}" -- \
surreal sql \
--endpoint "http://localhost:${SURREALDB_PORT:-8000}" \
--username "${SURREAL_USER}" \
--password "${SURREAL_PASS}" \
--hide-welcome \
<<< "DEFINE NAMESPACE IF NOT EXISTS \`${ns}\`;"
done