Skip to content

Wire dynamic warm capacity reconciliation#608

Merged
bill-ph merged 2 commits into
mainfrom
codex/dynamic-warm-capacity-pr-d
May 21, 2026
Merged

Wire dynamic warm capacity reconciliation#608
bill-ph merged 2 commits into
mainfrom
codex/dynamic-warm-capacity-pr-d

Conversation

@bill-ph
Copy link
Copy Markdown
Collaborator

@bill-ph bill-ph commented May 21, 2026

Summary

  • replace the feat(controlplane): unbounded K8s worker scaling — remove memory-budget-derived MaxWorkers cap #597 per-control-plane warmCapacityMisses counter with configstore-backed dynamic warm-capacity reconciliation
  • have the janitor compute base image targets from the latest snapshot, read recent no-idle miss buckets, compute effective image targets, and apply them with SpawnMinWorkersForImage
  • keep dynamic warm capacity enabled by default so the configstore path preserves the existing burst-absorption behavior
  • expose the dynamic warm-capacity knobs through CLI flags, root usage text, README config docs, and duckgres.example.yaml
  • replace the old local-counter scaling test with tests for bucket-derived target computation and image-keyed spawning

Tests

  • go test ./configresolve
  • go test ./controlplane
  • go test ./cmd/duckgres-controlplane
  • go test .
  • go test -tags kubernetes ./controlplane
  • go test -tags kubernetes ./controlplane ./cmd/duckgres-controlplane
  • go test -run 'TestListWarmCapacityMissesSinceAggregatesByScopeAndReasonPostgres|TestPruneWarmCapacityMissBucketsPostgres|TestRecordWarmCapacityMiss' ./tests/configstore

Review

  • Final review found no P1/P2 issues.
  • Addressed review findings by making dynamic warm capacity default-on and adding the new K8s CLI flags to README.

@bill-ph bill-ph merged commit b20e0bb into main May 21, 2026
22 checks passed
@bill-ph bill-ph deleted the codex/dynamic-warm-capacity-pr-d branch May 21, 2026 22:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant