753 words
4 minutes

09 from EKS Validation on a Real AWS Account: Seven Failures No Mock Saw

The bounded cloud run: prove the platform on a real account, with the bill capped twice and read from the invoice

By Docker Captain · CNCF Ambassador · IBM Champion
EKS cluster modules weighed on a steel balance scale

A mocked plan proves the configuration parses. Only a real account proves the platform comes up, and only the bill proves what that cost.

The first passing run on AWS was the eighth (run 38695231460, 15 October 2026). The seven before it found what no mock could, and each finding is now a check. The guards below are why those seven cost about a dollar together, and the one that left something behind was clean within the hour.

  1. 1

    Give the run an account of its own

    An account that exists for these runs and nothing else: standalone, or a member account of its own in the organization. The roles a run needs can create and delete, and in a shared account those rights reach everything else.

  2. 2

    Two identities, by OIDC

    A creation role for the apply and the test, and a delete-only role for the sweeper, each trusted for one repository and one environment. No long-lived keys.

  3. 3

    Bound every run from inside

    A hard job timeout, every resource tagged with the run's ID, teardown in its own job with if: always(), and after it a residue search by tag plus the types the tagging API misses: load balancers, network interfaces, volumes. Anything found fails the run.

  4. 4

    Bound every run from outside

    A daily sweeper on the delete-only role destroys anything tagged with a run ID older than three hours. Budget alerts at $10 and $20 a month, and at $30 a budget action that attaches deny-all to the creation role. The sweeper does not depend on that role, so the kill-switch never stops the cleanup.

  5. 5

    Schedule it weekly, behind a switch

    Wednesday at 01:17 UTC, two days after the week's dependency updates, and only while a repository variable is true. A push or a pull request never starts a run.

  6. 6

    Report the bill, not the estimate

    The run's summary carries its estimate from resource-hours and list prices. The settled number is read from the account's 30-day cost table some days later; the next day's reading is a floor.

Estimate against the bill, a passing run

Line28 October 20264 November 2026
The run's own estimate$0.16$0.16
The bill for the day, before credits, read 13 November$0.49$0.52
EC2 - Other, of which$0.36$0.39
NAT gateway data processing (not in the estimate)$0.16$0.18
Regional data transfer (not in the estimate)$0.09$0.11
NAT gateway hours (in the estimate)$0.09$0.09
Volumes (in the estimate)$0.01$0.01

A cent of each day's bill is the sweeper's own Cost Explorer requests.

What shows it works

A decision record, the first passing run, and the bill.

  • ADR 10, AWS validation runs: guards and cost reporting: every guard above, when it was built and when it was approved.
  • Run 38695231460, 15 October 2026: 101 resources applied, 19 Applications Synced and Healthy, everything destroyed, nothing left.
  • The seven failures before it, each now a check: GitHub's immutable OIDC subject, an AWS name limit, a guardrail that denied reads, the tagging API listing deleted resources, an anonymous registry limit, EKS 1.37's default metrics-server build breaking the OpenAPI document Argo CD reads, and a teardown that lost the load balancer controller before the load balancer.
  • Sweeper run 43447026743, 13 November 2026: the 30-day table the bill figures come from.
  • Sweeper run 41482155146, 2 November 2026: the whole account's 1 November read at $0.56 the next day, against $2.80 settled.

The estimate is what the run believes. The invoice is what it cost.

The long version is the post EKS Validation on a Real AWS Account. ADR 10 in aws-eks-reference-platform, and its workflows eks-validation.yml and eks-sweeper.yml.


Vladimir Mikhalev

Docker CaptainCNCF AmbassadorIBM Champion

The Verdict — production-tested analysis on YouTube.

The Verdict

Inconvenient truths about shipping in the AI era

Container security, platform engineering, and the agentic shift — tested in production, argued without the hype. The verdict reaches your inbox the moment there's one worth sending.

Related Posts

Same category
  1. 1
    EKS Validation on a Real AWS Account: Seven Failures No Mock Saw
    DevOps & Cloud · Proving an EKS platform on a real AWS account: twenty cents a run by estimate, about fifty on the bill, and seven failures no mocked test or kind saw.
  2. 2
    Docker Hardened Images Migration: A Healthy Database That Kept Nothing
    DevOps & Cloud · Moving a Compose stack to Docker Hardened Images changes user IDs, paths and tools. On the old mount path, PostgreSQL stayed healthy and kept nothing.
  3. 3
    A Partial Read Is Not a Smaller Fleet: A GitHub API Rate Limit and the Numbers That Lied for an Hour
    DevOps & Cloud · A partial read published as the whole. For an hour the profile said 24 restore scripts across 15 repositories, and the fleet had 73 across 48. Three guards now.
  4. 4
    Restore Drills on a Clean Machine — Measured RTO for 47 Stacks, 19 Seconds to 7 Minutes
    DevOps & Cloud · Restore drills that measure RTO on a machine that never ran the stack, 47 templates weekly. Every same-host restore passed. The first clean one answered 500.

More Blueprints

All 12
  1. 10
    The read receipt
    Signal, 20 September 2026 · Prove the source before the prompt, open the response before trusting it, and let a verdict slow a change but never wave one through.
  2. 11
    The apply gate
    Signal, 11 June 2026 · Keep the Terraform MCP server's operations flag off, pin what it can reach, gate every agent-reachable workspace with policy, and keep the approval and its record with a person.
  3. 12
    The evidence join
    Signal, 11 August 2026 · Bind each agent to its governance use case, give every run a span with the same id, keep the spans for the longest obligation, and alert when a run has no evidence to match.
  4. 01
    The blast radius assessment
    Signal, 23 February 2026 · Map what an AI agent can break, and how fast a person can undo it, before it gets a single key: six steps, a worksheet and the repositories that measure the same rules.
The bounded cloud run: prove the platform on a real account, with the bill capped twice and read from the invoice
https://heyvaldemar.com/blueprints/bounded-cloud-run/
Author
Vladimir Mikhalev
Published
2026-11-14
License
CC BY-NC-SA 4.0