From 16adda2c482031af4cef9530c54ce10909c576cb Mon Sep 17 00:00:00 2001 From: Viktor Barzin Date: Fri, 12 Jun 2026 19:32:34 +0000 Subject: [PATCH] android-emulator: gate reaches the kube API via env vars, not DNS MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit First real wake attempt 500'd: kubernetes.default.svc does not resolve from the gate's alpine pod (musl + injected dns_config ndots quirk), so every kube call failed with 'Name does not resolve'. Use the injected KUBERNETES_SERVICE_HOST/PORT env vars — the canonical in-cluster endpoint, no DNS dependency. ConfigMap checksum annotation rolls the gate automatically. --- stacks/android-emulator/gate.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/stacks/android-emulator/gate.py b/stacks/android-emulator/gate.py index 2301042e..a16763f2 100644 --- a/stacks/android-emulator/gate.py +++ b/stacks/android-emulator/gate.py @@ -14,7 +14,12 @@ from http.server import BaseHTTPRequestHandler, ThreadingHTTPServer NS = os.environ.get("NAMESPACE", "android-emulator") DEPLOY = os.environ.get("DEPLOYMENT", "android-emulator") -API = "https://kubernetes.default.svc" +# Use the injected env vars, not DNS: kubernetes.default.svc failed to +# resolve from this alpine/musl pod (ndots + injected dns_config quirk). +API = "https://%s:%s" % ( + os.environ.get("KUBERNETES_SERVICE_HOST", "kubernetes.default.svc"), + os.environ.get("KUBERNETES_SERVICE_PORT", "443"), +) TOKEN_PATH = "/var/run/secrets/kubernetes.io/serviceaccount/token" CA_PATH = "/var/run/secrets/kubernetes.io/serviceaccount/ca.crt" IDLE_ANNOTATION = "emulator.viktorbarzin.me/idle-checks"