AWSCluster APIus-west-2
How this page reached you
One codebase, shipped by agent.cloud to four spike targets. This copy runs on AWS, provisioned with Cluster API. Its siblings run on the other three.
Served by pod
web-v1-f76d454c4-zwpkw
Release
…
Requests to this pod
…
Pod started
2026-10-14T11:39:13.018Z
- AgentA coding agent works on the code in a folder and runs
agc ship. The source goes to agent.cloud (staging), which checks it and holds the release for a person to approve. - Build, in this target’s cloudagent.cloud hands the build to this target’s own runner, which starts AWS CodeBuild in the experiment account. The app’s code only ever runs inside that build service, with agent.cloud’s default Node image.
- Image, in this target’s registryThe image lands in Amazon ECR, one repository per app (agentcloud-spike/tenants/<app>), created on first push, in the same cloud and region as this cluster. Nothing is copied between clouds.
- RehearsalThe new image runs once beside production on a copy of its data, with the agent’s checks. Only a passing rehearsal is released.
- Release on k3sThe runner deploys it as
web-v<N>in its own namespace (app-tour-aws-capi): Pod Security “restricted”, no service account token, traffic only from the ingress, never to the cloud’s metadata or private ranges. It pulls with ECR’s token for the node’s role. - Serving youYou reach it through the network load balancer Cluster API makes for the API, with the web ports added, then Traefik on the cluster, with a certificate for this exact address from cert-manager and Let’s Encrypt. The previous version stays a moment for an instant switch back.
The cluster
k3s, declared as Cluster API objects (CAPA with the k3s provider), reconciled by controllers from a management cluster the pipeline restores. Three servers and an agent, so losing a machine doesn’t take the app down.
How the runner proves where it runs
Before agent.cloud sends it any work, the runner registers with a one-time code and the servers’ IAM instance role, proved to agent.cloud with a signed STS GetCallerIdentity request. agent.cloud holds no credential for this cloud.