Skip to content

fix: wire Testkube into the base controllers kustomization#48

Merged
devantler merged 1 commit into
mainfrom
claude/repo-assist-wire-testkube
Jun 28, 2026
Merged

fix: wire Testkube into the base controllers kustomization#48
devantler merged 1 commit into
mainfrom
claude/repo-assist-wire-testkube

Conversation

@devantler

@devantler devantler commented Jun 28, 2026

Copy link
Copy Markdown
Contributor

🤖 Generated by the Daily AI Assistant

Implements the maintainer's decision on #47 ("I decide to go with 1" — wire-in).

Problem

k8s/bases/infrastructure/controllers/testkube/ is a complete, self-contained controller (HelmRelease + HelmRepository + namespace + NetworkPolicy + full CRD set + its own kustomization.yaml), but the base controllers kustomization never referenced it. So Testkube rendered into zero clusters, and the README's **Testing** — Testkube _(local/CI only; not deployed to prod)_ was effectively false.

Change

One-line additive edit — add - testkube/ to k8s/bases/infrastructure/controllers/kustomization.yaml (placed alphabetically in the t… group).

This routes exactly as the README intends:

  • docker (local/CI) provider includes the whole base controllers dir (- ../../../../bases/infrastructure/controllers/) → now deploys Testkube.
  • hetzner (prod) overlay enumerates base controllers explicitly and opts out of unused ones → it does not list testkube/, so prod stays opted out.

Validation

kubectl kustomize builds clean and deterministic, with Testkube wired in local/CI only:

overlay build testkube resources
k8s/providers/docker/.../controllers/ (local/CI) OK 17 (present)
k8s/providers/hetzner/.../controllers/ (prod) OK 0 (opted out)
k8s/bases/.../controllers/ OK 17

ksail workload validate renders the rest of the tree fine. Two caveats, both pre-existing / not introduced by this change:

  1. Testkube Helm render is skipped — the chart resolves to an OCI ref (oci://…/testkube:2.9.5) that ksail's renderer can't pull without a registry client, so the HelmRelease is validated as-is (a warning, not a failure). This is a Testkube chart-packaging quirk, independent of the wiring.
  2. ksail workload validate flakes non-deterministically on the bases/docker controller groups with YAML-corruption errors (could not find expected ':', mapping values are not allowed) — this is the known kubeconform#363 buffer-aliasing race (varying failure counts across identical runs; kubectl kustomize is always clean). The validate-scaffold gate may therefore need a re-run; it does not indicate a defect in this change.

Size

Small / additive / behaviour-preserving for prod (byte-identical hetzner output).

Fixes #47

Summary by CodeRabbit

  • Chores
    • Included additional infrastructure resources in the deployment configuration, enabling the new test-related components to be deployed with the rest of the stack.

Testkube ships a complete, self-contained controller under
k8s/bases/infrastructure/controllers/testkube/ (HelmRelease +
HelmRepository + namespace + NetworkPolicy + CRDs + its own
kustomization.yaml), but the base controllers kustomization never
referenced it, so it rendered into zero clusters and the README's
"Testkube (local/CI only; not deployed to prod)" was effectively false.

Add `- testkube/` to k8s/bases/infrastructure/controllers/kustomization.yaml.
The docker (local/CI) provider includes the whole base controllers dir, so
it now deploys Testkube; the hetzner (prod) overlay enumerates base
controllers explicitly and does not list testkube, so prod stays opted out
— matching the README qualifier exactly.

Fixes #47
@coderabbitai

coderabbitai Bot commented Jun 28, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 8ee4bc75-89ac-45de-996e-0532295c1241

📥 Commits

Reviewing files that changed from the base of the PR and between 007656c and bda6066.

📒 Files selected for processing (1)
  • k8s/bases/infrastructure/controllers/kustomization.yaml

📝 Walkthrough

Walkthrough

A single line is added to k8s/bases/infrastructure/controllers/kustomization.yaml, registering the testkube/ directory as an additional entry in the resources list.

Changes

Testkube Resource Registration

Layer / File(s) Summary
Add testkube/ to kustomization resources
k8s/bases/infrastructure/controllers/kustomization.yaml
Adds testkube/ as a new entry in the resources list.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Poem

A bunny hops in, adds one line with flair,
testkube/ joins the resource list there.
One entry, one hop, nothing more to declare,
The kustomization grows beyond compare!
🐇✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly describes the main change: adding Testkube to the base controllers kustomization.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch claude/repo-assist-wire-testkube

Comment @coderabbitai help to get the list of available commands.

@devantler devantler marked this pull request as ready for review June 28, 2026 06:28
@devantler devantler requested a review from a team as a code owner June 28, 2026 06:28
@devantler devantler enabled auto-merge (squash) June 28, 2026 06:29
@devantler devantler merged commit 24f8020 into main Jun 28, 2026
12 checks passed
@devantler devantler deleted the claude/repo-assist-wire-testkube branch June 28, 2026 06:30
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.

Testkube is orphaned: README lists it as deployed, but no kustomization references it

1 participant