37 lines
1 KiB
Text
37 lines
1 KiB
Text
|
|
#!/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
|