@@ -312,9 +312,11 @@ Exit criteria:
312312- Release notes clearly state whether certificate reload is automatic,
313313 restart-based, or deploy-hook based in ` 1.1.0 ` .
314314
315- ### 1.2 - Operations Pack
315+ ### 1.2 - Operations And Cache Completion Pack
316316
317- Goal: add safe operational visibility and controlled reload tooling.
317+ Goal: add safe operational visibility, controlled reload tooling, and finish
318+ the production cache platform already started during the 1.2 gateway migration
319+ work.
318320
319321Stable scope:
320322
@@ -338,6 +340,11 @@ Stable scope:
338340 - document container secret mounts for EAB files without relabel suffixes
339341 when the host tree is already labeled for container access.
340342- Prometheus metrics baseline on loopback by default.
343+ - Observability changes should be designed as paired surfaces where practical:
344+ Prometheus metrics for aggregate dashboards and OpenTelemetry
345+ traces/attributes/events for request-path diagnosis. Cache observability in
346+ particular should expose the same low-cardinality vhost, route, tier, status,
347+ and reason concepts across admin JSON, Prometheus, and OpenTelemetry.
341348- Proxy response buffering and streaming/backpressure controls for production
342349 gateway migrations, including configurable response buffer count/size
343350 equivalents, bounded memory budgets per connection, safe streaming behavior
@@ -348,6 +355,20 @@ Stable scope:
348355- Route-scoped cache policies for selective production caches, such as
349356 repository avatar/assets paths, where only one proxy route should use a cache
350357 tier while the rest of the vhost remains uncached.
358+ - Cache completion work promoted into 1.2:
359+ - persistent cache index across process restarts;
360+ - background or incremental disk purge/cleanup for very large purge scopes;
361+ - cache warmer/preload command or admin workflow for release deploys;
362+ - surrogate-key/cache-tag purge for application-level invalidation;
363+ - soft purge, where objects are marked stale and refreshed instead of removed
364+ immediately;
365+ - hit-for-pass/pass-cache decisions for repeatedly uncacheable dynamic
366+ objects;
367+ - end-to-end proxy regressions for cache-hit ` Age ` , conditional, and range
368+ behavior;
369+ - cache observability through both Prometheus and OpenTelemetry, including
370+ per-vhost/per-route/tier hit, miss, stale, bypass, store, refusal, eviction,
371+ purge, and storage-pressure signals.
351372- Production ACME companion operating mode:
352373 - Keep the ` 1.1 ` in-process ACME background worker for simple single-binary
353374 installs.
@@ -383,6 +404,8 @@ Exit criteria:
383404- Snapshot and rollback tests pass.
384405- Logs redact secrets by default.
385406- Metrics labels are cardinality-safe.
407+ - Cache metrics and OpenTelemetry attributes are cardinality-safe and never use
408+ raw path, query, cookie, authorization, or cache-key values by default.
386409- ACME CLI output is actionable for partial-success production runs and does
387410 not require operators to infer which target failed from issuer-level errors.
388411- Container migration docs include a validated HTTP-only first-issuance flow,
@@ -416,6 +439,10 @@ Exit criteria:
416439
417440Goal: add controlled image/static caching.
418441
442+ Status: mostly promoted into the 1.2 Operations And Cache Completion Pack. Keep
443+ this section as the cache maturity checklist and move completed items upward as
444+ they land.
445+
419446Current implementation status:
420447
421448- Implemented in the current 1.2 development line:
@@ -462,12 +489,13 @@ Stable scope for declaring the cache pack complete:
462489
463490Beta scope:
464491
465- - Persistent cache index across process restarts.
466492- Partial streaming admission.
467- - Background disk purger or incremental cleanup worker for very large purge
468- scopes.
469- - End-to-end cache-hit regressions for Pingora-provided ` Age ` , conditional, and
470- range behavior under the Fluxheim proxy path.
493+ - Distributed cache metadata or peer-fill support, if production deployments
494+ need multi-node cache coherence.
495+ - Cache import/export/debug tooling for inspecting individual cached objects,
496+ metadata, TTL, headers, and purge-index entries.
497+ - Programmable cache policy hooks remain a later design problem; the default
498+ cache model should stay declarative and safe.
471499
472500Exit criteria:
473501
0 commit comments