Skip to content

v0.2.0

Choose a tag to compare

@jensens jensens released this 08 Apr 08:12
· 392 commits to main since this release
8ee03ac

Production Readiness Release

This release makes cloud-vinyl production-ready by implementing the critical startup and lifecycle components from the architecture specification.

New Features

  • Bootstrap VCL via ConfigMap — operator creates a placeholder VCL returning 503 "Cache initializing". Varnish starts cleanly without depending on the operator for initial VCL.
  • VCL-aware readiness probe — agent /health returns 503 until operator pushes real VCL. Pods are not Ready until functional.
  • Hash-based VCL naming — VCL name is <namespace>-<name>-<hash[:8]>, preventing "Already a VCL named ..." errors on VCL updates.

Fixes

  • -j none flag for non-root varnish operation (architecture §8.3 H4-Fix)
  • preStop hook with sleep 5 for graceful shutdown during rolling updates (§3.3 K3-Fix)

Startup flow

  1. Operator creates ConfigMap with bootstrap VCL → StatefulSet
  2. Varnish starts with bootstrap VCL → serves 503
  3. Agent /health returns 503 → pod NOT Ready
  4. Operator pushes real VCL with hash-based name
  5. Agent /health returns 200 → pod Ready → traffic routed

Previous fixes included

  • Per-namespace shared agent token (#9)
  • Varnish admin CLI auth fix (challenge extraction)
  • Service DNS for backends
  • Open NetworkPolicy for HTTP traffic
  • emptyDir volumes for varnish writable directories
  • VARNISH_HTTP_PORT=8080 for stock image compatibility