github kiwigrid/k8s-sidecar 2.0.3
v2.0.3

3 days ago

Build

  • Drop support for ppc64le (#445)
  • Drop support for s390x (#444)

Enhancements

  • Add health endpoint with readiness and liveness probes (#416)

  • New /healthz Endpoint: A new HTTP endpoint is available on port 8080 (configurable via the HEALTH_PORT environment variable)

    • Readiness Probe:

      • The sidecar now reports as "ready" (HTTP 200) only after the initial synchronization of all configured resources is complete
      • This prevents the main application container from starting or receiving traffic prematurely, ensuring all configuration files are present at startup
    • Liveness Probe:

      • The probe continuously monitors the sidecar's health by checking two critical conditions:
        • Kubernetes API Contact: Verifies that the sidecar has had successful contact with the Kubernetes API within the last 60 seconds
        • Watcher Process Health: Ensures that all internal watcher subprocesses are running correctly
      • If any check fails, the probe fails, signaling Kubernetes to restart the container
  • Reduced Log Noise: Access logs for frequent /healthz requests are automatically filtered out to keep application logs clean and focused

  • Fail-Fast on Process Death: The main process now exits immediately if a critical watcher subprocess dies, ensuring a prompt restart by Kubernetes

Testing

  • The CI pipeline has been enhanced with new tests to validate this functionality:
    • A test to confirm the Uvicorn health server starts successfully
    • A liveness test that simulates a watcher process failure and asserts that Kubernetes restarts the pod as expected
    • A Kubernetes Config load test for Sleep and Watch based sidecar

Don't miss a new k8s-sidecar release

NewReleases is sending notifications on new releases.