From a42d5c9df329ccbd254f092baf2f4ea4c55c8206 Mon Sep 17 00:00:00 2001 From: Kris Hicks Date: Tue, 21 Jul 2026 13:29:20 -0700 Subject: [PATCH] fix(e2e): detect gateway workload for health port-forward Signed-off-by: Kris Hicks --- e2e/with-kube-gateway.sh | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/e2e/with-kube-gateway.sh b/e2e/with-kube-gateway.sh index e4f47008c..0a114288e 100755 --- a/e2e/with-kube-gateway.sh +++ b/e2e/with-kube-gateway.sh @@ -115,6 +115,24 @@ helmctl() { helm --kube-context "${KUBE_CONTEXT}" "$@" } +# Return the resource reference for the gateway workload installed by the chart. +# SQLite releases use a StatefulSet; external-database releases may use a Deployment. +kube_workload_ref() { + local name="$1" + local namespace="${2:-${NAMESPACE}}" + local resource + + for resource in "statefulset/${name}" "deployment/${name}"; do + if kctl -n "${namespace}" get "${resource}" >/dev/null 2>&1; then + printf '%s\n' "${resource}" + return 0 + fi + done + + echo "ERROR: gateway workload ${name} was not found in namespace ${namespace}" >&2 + return 1 +} + deploy_postgres_fixture() { local secret_name="$1" local pg_uri @@ -320,8 +338,10 @@ run_scenario() { fi HEALTH_LOCAL_PORT="$(e2e_pick_port)" - echo "Starting kubectl port-forward sts/${RELEASE_NAME} ${HEALTH_LOCAL_PORT}:health..." - kctl -n "${NAMESPACE}" port-forward "sts/${RELEASE_NAME}" \ + local workload_ref + workload_ref="$(kube_workload_ref "${RELEASE_NAME}")" + echo "Starting kubectl port-forward ${workload_ref} ${HEALTH_LOCAL_PORT}:health..." + kctl -n "${NAMESPACE}" port-forward "${workload_ref}" \ "${HEALTH_LOCAL_PORT}:health" >"${PORTFORWARD_HEALTH_LOG}" 2>&1 & PORTFORWARD_HEALTH_PID=$! @@ -669,8 +689,9 @@ else fi HEALTH_LOCAL_PORT="$(e2e_pick_port)" - echo "Starting kubectl port-forward sts/${RELEASE_NAME} ${HEALTH_LOCAL_PORT}:health..." - kctl -n "${NAMESPACE}" port-forward "sts/${RELEASE_NAME}" \ + WORKLOAD_REF="$(kube_workload_ref "${RELEASE_NAME}")" + echo "Starting kubectl port-forward ${WORKLOAD_REF} ${HEALTH_LOCAL_PORT}:health..." + kctl -n "${NAMESPACE}" port-forward "${WORKLOAD_REF}" \ "${HEALTH_LOCAL_PORT}:health" >"${PORTFORWARD_HEALTH_LOG}" 2>&1 & PORTFORWARD_HEALTH_PID=$!