Skip to content

feat: add EKS cluster and node group browser#183

Merged
YoungJinJung merged 4 commits intomainfrom
feature/166-eks-cluster-nodegroup-browser
Apr 25, 2026
Merged

feat: add EKS cluster and node group browser#183
YoungJinJung merged 4 commits intomainfrom
feature/166-eks-cluster-nodegroup-browser

Conversation

@YoungJinJung
Copy link
Copy Markdown
Contributor

Summary

  • add an EKS service entry with a cluster and managed node group browser
  • show cluster version, status, endpoint visibility, and ARN summary in the TUI
  • drill into managed node groups with scaling bounds and health issues

Testing

  • PATH=/opt/homebrew/bin:/Users/kuma/.codex/tmp/arg0/codex-arg0k9s3y2:/Users/kuma/.pyenv/plugins/pyenv-virtualenv/shims:/Users/kuma/.pyenv/shims:/Users/kuma/.gvm/bin:/Users/kuma/.antigravity/antigravity/bin:/opt/homebrew/opt/postgresql@13/bin:/opt/homebrew/opt/go@1.25/bin:/opt/homebrew/opt/libpq/bin:/Users/kuma/.local/bin:/Applications/Wireshark.app/Contents/MacOS:/Users/kuma/.krew/bin:/opt/homebrew/opt/mysql@5.7/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/Users/kuma/.asdf/shims:/opt/homebrew/opt/asdf/libexec/bin:/Users/kuma/.tfenv/bin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/opt/pmk/env/global/bin:/usr/local/go/bin:/Users/kuma/.cargo/bin:/opt/homebrew/opt/go@1.25/libexec/bin:/Applications/Codex.app/Contents/Resources make test
  • PATH=/opt/homebrew/bin:/Users/kuma/.codex/tmp/arg0/codex-arg0k9s3y2:/Users/kuma/.pyenv/plugins/pyenv-virtualenv/shims:/Users/kuma/.pyenv/shims:/Users/kuma/.gvm/bin:/Users/kuma/.antigravity/antigravity/bin:/opt/homebrew/opt/postgresql@13/bin:/opt/homebrew/opt/go@1.25/bin:/opt/homebrew/opt/libpq/bin:/Users/kuma/.local/bin:/Applications/Wireshark.app/Contents/MacOS:/Users/kuma/.krew/bin:/opt/homebrew/opt/mysql@5.7/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/Users/kuma/.asdf/shims:/opt/homebrew/opt/asdf/libexec/bin:/Users/kuma/.tfenv/bin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/opt/pmk/env/global/bin:/usr/local/go/bin:/Users/kuma/.cargo/bin:/opt/homebrew/opt/go@1.25/libexec/bin:/Applications/Codex.app/Contents/Resources make build

Closes #166

Copy link
Copy Markdown
Contributor

@amazon-q-developer amazon-q-developer Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review Summary

This PR successfully adds EKS cluster and managed node group browsing capabilities to the TUI. The implementation includes comprehensive features for viewing cluster details, node group scaling configurations, and health status.

Critical Changes Required

Closure Variable Capture Issue: Both loadEKSClusters() and loadEKSNodeGroups() in internal/app/screen_eks.go capture variables outside their closure scope that should be captured inside. Move the cfg and cluster variable assignments inside the closure functions to prevent potential race conditions where the Model's state changes between closure creation and execution.

Strengths

  • Clean implementation following existing TUI patterns
  • Proper pagination handling for EKS API calls
  • Good test coverage with mock clients
  • Appropriate error handling throughout
  • Well-structured UI components with filtering and navigation

You can now have the agent implement changes and create commits directly on your pull request's source branch. Simply comment with /q followed by your request in natural language to ask the agent to make changes.

Comment thread internal/app/screen_eks.go Outdated
Comment thread internal/app/screen_eks.go Outdated
YoungJinJung and others added 3 commits April 25, 2026 20:44
Co-authored-by: amazon-q-developer[bot] <208079219+amazon-q-developer[bot]@users.noreply.github.com>
Co-authored-by: amazon-q-developer[bot] <208079219+amazon-q-developer[bot]@users.noreply.github.com>
The PR had an Amazon Q suggestion applied in a way that left nested tea.Cmd closures half-inserted, so package parsing failed before tests could run. This keeps the intended capture timing while restoring one closure per loader.

Constraint: PR #183 needs go test to compile before CI can exercise EKS behavior
Rejected: Revert the EKS feature branch | too broad for the localized syntax break
Confidence: high
Scope-risk: narrow
Directive: Keep cfg and selected cluster capture inside the returned tea.Cmd closure for async model state safety
Tested: env -u GOROOT go test ./...
Tested: env -u GOROOT make test
Tested: env -u GOROOT make build
Tested: env -u GOROOT go vet ./...
@YoungJinJung YoungJinJung merged commit 22e168b into main Apr 25, 2026
1 check passed
@YoungJinJung YoungJinJung deleted the feature/166-eks-cluster-nodegroup-browser branch April 25, 2026 11:55
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.

feat: add EKS cluster and node group browser

2 participants