apiVersion: apps/v1 kind: Deployment metadata: name: pulse-receiver namespace: services labels: app: pulse-receiver spec: replicas: 1 selector: matchLabels: app: pulse-receiver template: metadata: labels: app: pulse-receiver spec: containers: - name: pulse-receiver image: python:3-alpine command: - python3 - -c - | from http.server import HTTPServer, BaseHTTPRequestHandler import json, time pulses = {} class H(BaseHTTPRequestHandler): def do_POST(self): node = self.path.strip("/") pulses[node] = {"last": time.time(), "ts": time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime())} self.send_response(200) self.end_headers() self.wfile.write(b"OK") def do_GET(self): self.send_response(200) self.send_header("Content-Type", "application/json") self.end_headers() self.wfile.write(json.dumps(pulses, indent=2).encode()) HTTPServer(("0.0.0.0", 8080), H).serve_forever() ports: - containerPort: 8080