Skip to content

Releases: karlkfi/kube-headroom

Release list

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 15 Jul 01:40
ff12ee2

Install

helm upgrade --install kube-headroom-crds \
  oci://ghcr.io/karlkfi/charts/kube-headroom-crds --version 0.1.0

helm upgrade --install kube-headroom \
  oci://ghcr.io/karlkfi/charts/kube-headroom --version 0.1.0 \
  --namespace kube-headroom-system --create-namespace

Image: ghcr.io/karlkfi/kube-headroom:0.1.0 (linux/amd64, linux/arm64).
The operator starts in dryRun: true — see the
runbook
for preflight and rollout.

What's Changed

  • chore: project initialization for solo Claude Code dev by @karlkfi in #1
  • chore: adopt lightweight development practices by @karlkfi in #5
  • chore(deps): bump the actions group with 2 updates by @dependabot[bot] in #2
  • chore(deps): bump the go-modules group across 1 directory with 4 updates by @dependabot[bot] in #3
  • docs(status): file tool-pinning backlog items Q15-Q16 by @karlkfi in #8
  • spike(Q2): Phase 0 in-place resize findings on kind 1.35 by @karlkfi in #9
  • feat(policy): enum-keyword label values (Q10) by @karlkfi in #10
  • feat(controller): node-scoped CPU-limit reconciler (Q4) by @karlkfi in #11
  • docs: port development-process docs (Q11) by @karlkfi in #13
  • ci: add plan-hygiene check (Q12) by @karlkfi in #12
  • docs(q9): adopt design doc + write user docs by @karlkfi in #14
  • chore(tools): pin build tools in a tools/ submodule (Q15) by @karlkfi in #15
  • feat(controller): pod eligibility exclusions + dry-run metering (Q5) by @karlkfi in #16
  • chore(deps): automate tool-version bumps via Dependabot (Q16) by @karlkfi in #17
  • chore(githooks): gofmt-check staged Go files in pre-commit (Q14) by @karlkfi in #18
  • test(e2e): cover the four §10 exit criteria on kind ≥1.35 (Q8) by @karlkfi in #21
  • feat(controller): observability — annotations, events, metrics (Q7) by @karlkfi in #20
  • docs: note core.hooksPath worktree gotcha in CLAUDE.md by @karlkfi in #23
  • docs: observability recorder convention + annotation RBAC (Q7 follow-ups) by @karlkfi in #24
  • feat(webhook): birth-limit mutating admission webhook (Q6) by @karlkfi in #22
  • feat(webhook): bound admission latency with timeoutSeconds=5 by @karlkfi in #25
  • feat(manager): make controller-manager highly available by @karlkfi in #26
  • docs(status): reconcile backlog after Q5–Q9, Q11, Q12, Q14–Q16 shipped by @karlkfi in #27
  • docs(status): queue security-audit findings (Q17–Q20) by @karlkfi in #28
  • docs: security policy + private vulnerability reporting (Q13) by @karlkfi in #29
  • fix(rbac): narrow controller RBAC on headroomconfigs (Q17) by @karlkfi in #30
  • fix(manager): production logging defaults + document metrics cert-manager wiring (Q20) by @karlkfi in #31
  • fix(network-policy): allow apiserver→webhook admission traffic (Q19) by @karlkfi in #32
  • fix(webhook): bound the birth-limit multiplier (Q18) by @karlkfi in #33
  • docs(status): drain Q17–Q20; file Q21–Q26 from post-merge audit by @karlkfi in #35
  • docs: plan Kustomize→Helm migration and queue Q21 by @karlkfi in #34
  • docs(status): re-file Q24–Q29 audit findings lost in the #34/#35 race by @karlkfi in #36
  • fix(controller): skip request-less containers in split/apply (Q24) by @karlkfi in #37
  • docs(status): complete Q24 (zero-request container steady-state fix) by @karlkfi in #38
  • fix(controller): wire up dead config knobs (debounce, client QPS/burst) (Q25) by @karlkfi in #39
  • docs: fix §5.2 floor prose overstating the additive floor under the default cap (Q29) by @karlkfi in #40
  • feat(metrics): ship §8.1 pod_limit_cores, pods_managed + Grafana dashboard (Q27) by @karlkfi in #41
  • feat: migrate packaging from Kustomize to Helm (Q21) by @karlkfi in #43
  • test(e2e): cover webhook birth-limit admission path (Q28) by @karlkfi in #42
  • fix(webhook): align admission path to the served handler route by @karlkfi in #44
  • test(e2e): clean up leaked metrics ClusterRoleBinding on a reused cluster by @karlkfi in #45
  • docs(status): complete Q21 Q25 Q27 Q28 Q29; archive Helm plan doc by @karlkfi in #46
  • feat(controller): populate HeadroomConfig status (Q26) by @karlkfi in #47
  • chore(deps): bump the actions group across 1 directory with 2 updates by @dependabot[bot] in #6
  • chore(deps): bump github.com/onsi/gomega from 1.40.0 to 1.42.1 in the go-modules group across 1 directory by @dependabot[bot] in #7
  • chore(deps): bump golang.org/x/vuln from 1.1.4 to 1.6.0 in /tools in the tools group across 1 directory by @dependabot[bot] in #19
  • docs(status): complete Q26 (HeadroomConfig status population) by @karlkfi in #48
  • docs(status): refill backlog Q30–Q39 from Helm + test/operability audits by @karlkfi in #49
  • fix(charts): support cert-manager-off webhook with a bring-your-own cert (Q30) by @karlkfi in #50
  • test(controller): cover §6.4 resize-error outcomes (Q31) by @karlkfi in #52
  • test(controller): cover the Infeasible→backoff→exclusion cycle (Q32) by @karlkfi in #51
  • chore(deps): vendor Go module dependencies by @karlkfi in #53
  • docs(status): complete Q30 Q31 Q32 by @karlkfi in #54
  • fix(manager): release leader lease on graceful shutdown (Q38) by @karlkfi in #55
  • fix(controller): jitter the enqueue debounce to spread the restart wave (Q35) by @karlkfi in #56
  • ci: skip Go/e2e/helm gates on docs-only PRs by @karlkfi in #57
  • docs(status): complete Q35 Q38 by @karlkfi in #58
  • test(controller): cover the per-node rate-limiter break path (Q34) by @karlkfi in #60
  • fix(controller): reconstruct Infeasible backoff from pod status on restart (Q37) by @karlkfi in #61
  • fix(helm): remove crds.install from the operator chart; CRD is its own chart (Q33) by @karlkfi in #59
  • docs(status): complete Q33 Q34 Q37 by @karlkfi in #62
  • feat(helm): add values.schema.json to both charts (Q36) by @karlkfi in #63
  • docs(status): complete Q36 by @karlkfi in #64
  • docs(status): trim Q39 scope — crds.keep item moot after Q33 by @karlkfi in #65
  • feat(website): landing page, VitePress docs, GitHub Pages deploy (Q40) by @karlkfi in #66
  • docs(status): queue Q41-Q43 open-source release work by @karlkfi in #67
  • chore: adopt Apache-2.0 license (Q41) by @karlkfi in #69
  • feat(ci): release workflow — multi-arch image, charts, GitHub Release (Q42) by @karlkfi in #70

New Contributors

Full Changelog: https://github.com/karlkfi/kube-headroom/commits/v0.1.0