Skip to content

test(ske/starterkit): smoke test the deployed SKE StarterKit - #11

Draft
JohannesRudolph wants to merge 3 commits into
mainfrom
claude/ske-starterkit-smoke-test
Draft

test(ske/starterkit): smoke test the deployed SKE StarterKit#11
JohannesRudolph wants to merge 3 commits into
mainfrom
claude/ske-starterkit-smoke-test

Conversation

@JohannesRudolph

Copy link
Copy Markdown
Member

Extends the "smoke test hub modules against a deployed cloud foundation" pattern to the SKE
StarterKit. The precedent is likvid-cloudfoundation's
platforms/stackit/buildingblocks/storage-buckets/e2e; the companion PR there is
likvid-bank/likvid-cloudfoundation#215.

Depends on meshcloud/meshstack-hub#304. Until that merges, the hub ref pinned here is a PR
branch head and must be re-pinned to the squashed main commit.

Why the StarterKit

It is what trial users actually try, and the chain behind it is long: two meshProjects, two SKE
tenants, a Forgejo repository, a pipeline run, and a cert-manager certificate. A hub-side test
proves a fresh deployment works. Nothing proved that the definition this foundation has
deployed
still produces an app that serves traffic.

What

Three commits, smallest first:

  1. refactor — move the hub coordinates out of terragrunt.hcl into hub.hcl, so the deployment
    and the e2e unit share one ref. No behaviour change.
  2. chore — bump that ref to the hub commit that makes ske/ske-starterkit/e2e dual-mode.
    This redeploys the three BBDs at the newer hub ref.
  3. test — add starterkit/e2e/ and the e2e output it reads.

The e2e unit runs the hub module in foundation mode: bbd_version_ref is set from the
deployment's output, so it orders an ephemeral building block against the deployed BBD instead of
building its own. No backplane, no forgejo/DNS fixtures, no backplane secrets. The hub test asserts
the run SUCCEEDED and that both app endpoints answer HTTP 200 over a valid, cert-manager-issued
certificate.

Running it

source setup-env.sh
cd foundations/meshstack-trial/platforms/ske/starterkit/e2e
terragrunt test

Needs python3 on PATH for the endpoint probe.

Frequency

This repo has no CI, so the test is run on demand. Keep it that way for now: each run consumes a
Let's Encrypt certificate for a fresh hostname, which is a rate-limited quota — the same reason this
case is nightly-only rather than hourly in meshcloud/meshstack-smoke-test.

Verification

Config-only so far: terragrunt hcl fmt --check and tofu fmt -check pass, and the hub module was
plan-checked in both modes (see the hub PR). The live run needs the hub PR merged and the ref
re-pinned.

🤖 Generated with Claude Code

JohannesRudolph and others added 3 commits September 3, 2026 08:15
The e2e smoke test unit added next needs the same hub ref the deployment uses,
and terragrunt can only share that through an included file. No behaviour
change: the ref and draft flag are unchanged, and `module` is new but only read
by e2e/.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
meshcloud/meshstack-hub#304 makes ske/ske-starterkit/e2e usable in foundation
mode. The e2e unit sources the hub at the deployed ref, so the deployment has to
move first.

NOTE: pins the PR branch head. Re-pin to the squashed main commit before merge.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The starter kit is what trial users actually try, and the chain behind it is
long: meshProjects, SKE tenants, a Forgejo repository, a pipeline run and a
cert-manager certificate. Nothing here verified that the deployed definition
still produces a working app.

Add an e2e unit next to the deployment: it sources the hub e2e module at the
deployed ref and runs it in foundation mode, so it orders an ephemeral building
block against the BBD this unit deployed rather than building its own. The hub
test then asserts both app endpoints answer 200 over a valid, cert-manager-issued
certificate.

Run it with `terragrunt test` in e2e/, after `source setup-env.sh`. Each run
consumes a Let's Encrypt certificate for a fresh hostname, which is a
rate-limited quota — so run it deliberately, not on a tight schedule.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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.

1 participant