Overcast is alpha — behaviour and APIs may change between releases. Pin your version and read the changelog before upgrading.

overcast

EKS — Amazon Elastic Kubernetes Service

Quick start, the control-plane coverage in both modes, what OVERCAST_EKS_MODE=live provisions with k3s, and why nodegroups never start worker compute.

Control-plane metadata by default, or a real k3s control plane per cluster in live mode — and no worker compute in either.

Status: ⚠️ Partial

Quick start

export AWS_ENDPOINT_URL=http://localhost:4566

aws eks create-cluster --name dev \
  --role-arn arn:aws:iam::000000000000:role/eks \
  --resources-vpc-config subnetIds=subnet-11111111

aws eks describe-cluster --name dev --query 'cluster.status'

Any credentials work; with none configured, run eval "$(overcast env)" first — see Using AWS SDKs and CLI.

In the default mock mode the cluster is ACTIVE immediately, with synthetic endpoint and CA fields. Set OVERCAST_EKS_MODE=live to have CreateCluster launch a k3s control-plane container instead — see Live mode.

What works

AreaBehaviour
ClustersFull CRUD, updates, insights, version and config updates, tagging.
Nodegroups, Fargate profiles, add-onsFull metadata CRUD, including scaling and update config, taints, labels and launch templates.
Access entries and access policiesFull CRUD and association APIs.
Identity provider configs, pod identity associationsFull CRUD.
Live mode (OVERCAST_EKS_MODE=live)CreateCluster starts a k3s container; the cluster reports CREATING until k3s /readyz answers, then ACTIVE with a real endpoint and CA.
UpdateKubeconfigPOST /_overcast/eks/clusters/{name}/kubeconfig returns a generated kubeconfig. This is an Overcast extension — aws eks update-kubeconfig is a CLI-side command that no AWS API backs.

Differences from AWS

AreaOn AWSOvercast
Worker computeReal EC2 and Fargate capacityNone. Nodegroups and Fargate profiles are metadata in both modes.
Control planeManaged KubernetesAbsent in mock; k3s in live
IAM, access policies, pod identityEnforcedStored, never enforced
Cluster records across modesNot applicableA mock-created cluster is refused with 501 by nearly every live-mode operation

The full mode-boundary rules, the failure vocabulary and the live-mode non-goals are in Limitations.

Gotchas

Important

Live mode is opt-in because it costs a container per cluster. Overcast’s startup and idle-memory figures are measured with OVERCAST_EKS_MODE=mock, and the first cluster on a machine that has never run one waits on the k3s image download.

Switching the mode does not carry existing clusters across.

Warning

Clusters created in mock mode are not usable after switching to live. Every read, update and mutation answers 501; only DeleteCluster still works, so you can clear them out.

Operations

All 49 listed operations are implemented. Per-operation status, notes and AWS API links: EKS operations.