import json import os import sys import urllib.request def emit(key: str, value) -> None: print(f"{key}: {json.dumps(value)}") def require_env(name: str) -> str: value = os.environ.get(name) if not value: print(f"Error: {name} environment variable is not set.", file=sys.stderr) sys.exit(1) return value def main() -> None: host = require_env("HOST") port = require_env("PORT") url = f"http://{host}:{port}/healthz" req = urllib.request.Request(url, method="GET") with urllib.request.urlopen(req, timeout=10) as resp: status_code = resp.status body = resp.read().decode() emit("status_code", status_code) try: data = json.loads(body) emit("serving", data.get("status") == "SERVING") except json.JSONDecodeError: emit("serving", False) if __name__ == "__main__": main()