Files
homelab-gitops/apps/immich-postgresql/scripts/ensure-metrics-view.sh
T

21 lines
728 B
Bash

#!/usr/bin/env bash
set -euo pipefail
if [[ "$(kubectl config current-context)" != "kubernetes-admin@kubernetes" ]]; then
echo "Refusing to modify Immich PostgreSQL outside the homelab context." >&2
exit 1
fi
app_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
primary="$(kubectl --namespace immich get pods \
--selector='cnpg.io/cluster=immich-postgresql,cnpg.io/instanceRole=primary' \
--output=jsonpath='{.items[0].metadata.name}')"
if [[ -z "${primary}" ]]; then
echo "No Immich PostgreSQL primary is available." >&2
exit 1
fi
kubectl --namespace immich exec -i "${primary}" --container postgres -- \
psql --set=ON_ERROR_STOP=1 --username=postgres --dbname=immich \
< "${app_dir}/metrics-view.sql"