Skip to content

Health/pre-flight wiring polish from v0.8.0 testing (REF-148) - #67

Merged
dantech2000 merged 1 commit into
mainfrom
ref-health-wiring-polish
Jun 15, 2026
Merged

Health/pre-flight wiring polish from v0.8.0 testing (REF-148)#67
dantech2000 merged 1 commit into
mainfrom
ref-health-wiring-polish

Conversation

@dantech2000

Copy link
Copy Markdown
Owner

Follow-ups surfaced by your real-cluster test pass of v0.8.0. All wiring/polish — the core features were verified working; these make the surfaces consistent.

1. cluster describe --show-health was half-populated

It only wired EKS/CloudWatch/ASG, so Node Utilization, Service Quotas, Critical Workloads, PDBs all skipped — even though nodegroup update --health-only (which wires everything) showed them, and metrics-server was installed.

  • Centralized construction in factory.newHealthChecker: Service Quotas now wired in every health checker (it needs no cluster access).
  • metrics-server wired into describe --show-health --check-readiness, so live utilization measures instead of skipping.

So describe --show-health now shows Service Quotas + Control Plane; add --check-readiness and it additionally measures utilization, workloads, PDBs, and real node readiness — matching --health-only.

2. Skipped checks no longer force a WARN verdict

A check skipped for a missing prerequisite (no kube client) contributed a WARN to the decision. Now skipped checks contribute to neither the score nor the verdict — only genuine warnings drive WARN. (You approved this; it flips an older deliberately-tested behavior, and the test is updated + a guard added that real warnings still warn.)

3. nodegroup scale --dry-run now runs the instance-type pre-flight (REF-143)

The warn call sat after the dry-run early-return, so the preview never showed it. Moved it ahead — consistent with update --dry-run.

4. Wording

"metrics-server not configured" → "no metrics client wired for this command" (it was misleading when metrics-server is installed).

Tests

Updated aggregateResults tests (skipped excluded from score and verdict; real warning still warns). go build, go vet, go test ./... -race, golangci-lint, and the docs-reference drift check all clean.

🤖 Generated with Claude Code

…force WARN (REF-148)

Real-cluster testing of v0.8.0 showed cluster describe --show-health was
half-populated: it only wired EKS/CloudWatch/ASG, so Node Utilization, Service
Quotas, Critical Workloads, and PDBs skipped — while nodegroup update
--health-only (which wires everything) showed them.

- factory: centralize health-checker construction in newHealthChecker — Service
  Quotas now wired everywhere (no cluster access needed), and metrics-server
  wired into describe --show-health --check-readiness so live utilization measures.
- aggregateResults: a skipped check (missing prerequisite) now contributes to
  neither the score nor the verdict — only genuine warnings drive WARN.
- nodegroup scale: run the instance-type pre-flight before the dry-run return so
  the preview surfaces it too (REF-143), consistent with update --dry-run.
- reword the no-metrics-client message (was misleadingly 'metrics-server not
  configured' even when it's installed).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@dantech2000
dantech2000 merged commit abc3aa0 into main Jun 15, 2026
4 checks passed
@dantech2000
dantech2000 deleted the ref-health-wiring-polish branch June 15, 2026 19:16
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