devantler-tech / devantler-tech/ksail
[Repo Assist] [chore]: complete AWS EKS provider
- Dominant language
- Go
- Stars
- 165
- Forks
- 12
- Avg merge
- 5h 41m
- Merged PRs (30d)
- 337
Description
🤖 *This issue was created by Repo Assist from the weekly roadmap.*
## User Story
**As a** KSail user targeting AWS, **I want** `ksail cluster create` to work against an EKS cluster, **So that** I can use the full KSail GitOps workflow on AWS-managed Kubernetes without separate tooling.
## Context
The README and distribution table currently show EKS with an 🚧 (in-progress) marker. The weekly roadmap ([Weekly Strategy - Roadmap #4198](https://github.com/devantler-tech/ksail/discussions/4198)) lists "AWS EKS provider completion" under the **Later** backlog:
> *Opens KSail to the largest public cloud K8s managed service.*
## Acceptance Criteria
> **Re-audited 2026-07-16 against the current user-facing paths.** Lower-level create/info support and the EKS smoke workflow scaffold are shipped. Standalone delete routing, a successful live smoke run, `ksail cluster update`, and KSail-managed component installation remain open.
- [x] `ksail cluster create` with `spec.cluster.provider: AWS` and `spec.cluster.distribution: EKS` provisions an EKS cluster — implemented (`factory.go:219` → `eks/provisioner.go:125`, via eksctl)
- [ ] `ksail cluster delete` correctly tears down the cluster and associated cloud resources — the EKS provisioner implements `Delete`, but the standalone CLI path rejects `ProviderAWS` before reaching it; tracked by #6087
- [x] `ksail cluster info` reports EKS cluster status (node count, Kubernetes version, region) — implemented (`eks/connector.go:25`, AWS SDK `DescribeCluster`)
- [ ] GitOps bootstrapping (Flux or ArgoCD) works on the provisioned EKS cluster — the post-create context bug was fixed by #6077, but the path still needs a successful live EKS smoke run
- [ ] CI system test or smoke test covers the EKS path with AWS credentials — `.github/workflows/system-test-eks.yaml` exists, but has not completed its first live dispatch; #6082 / draft #6194 supply the required role boundaries
- [ ] ~~README and docs distribution table updated to remove the 🚧 marker~~ — **withdrawn: the 🚧 is accurate, not stale.** Removing it would overstate support while the items below are missing.
### Remaining scope (what 🚧 actually means)
- [ ] **Standalone EKS lifecycle routing** — wire `cluster delete`, `start`, and `stop` to the existing EKS provisioner instead of the unsupported-provider path (#6087).
- [ ] **First successful live EKS smoke run** — after the role-boundary prerequisite in #6082 / #6194 lands, exercise the OIDC-backed workflow and prove the Flux and ArgoCD post-create paths.
- [ ] **`ksail cluster update` for EKS** — the EKS provisioner implements no `Updater`; #6190 tracks the in-place update implementation.
- [ ] **KSail-managed component installation on EKS** — per `docs/src/content/docs/support-matrix.mdx` footnote ¹⁰, the 🚧 cells (Flux, ArgoCD, cert-manager, Kyverno, Metrics Server, and related add-ons) remain in progress.
Only once these items land and the live smoke path is green does the 🚧 come off.
> Generated by 🤖 Repo Assist, see [workflow run](https://github.com/devantler-tech/ksail/actions/runs/24889786872).
Contributor guide
Assessment
This issue has not been assessed yet.