Skip to content

[DON'T MERGE] Test kind clusters in CI #163

Draft
mclasmeier wants to merge 6 commits into
mainfrom
mc/kind-e2e
Draft

[DON'T MERGE] Test kind clusters in CI #163
mclasmeier wants to merge 6 commits into
mainfrom
mc/kind-e2e

Conversation

@mclasmeier
Copy link
Copy Markdown
Collaborator

@mclasmeier mclasmeier commented May 8, 2026

I "just" wanted to enable testing of kind clusters in CI.

There was one major obstacle: kind has no loadbalancer exposure, hence the way to go would be port-forwarding. But until now port-forwarding was only supported by roxie for sub-shell mode, not envrc writing.

Moritz Clasmeier and others added 6 commits May 7, 2026 17:35
Add StartDetached() to portforward.Manager that spawns kubectl
port-forward in a new session (setsid) so it survives the parent
process exiting. Returns the endpoint and PID for later cleanup.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Use detached port-forward in envrc mode so the kubectl port-forward
process survives roxie exiting. The PID is written to the envrc file
as ROXIE_PORT_FORWARD_PID for later cleanup.

This removes the restrictions that prevented --envrc from being
combined with --port-forwarding or --exposure=none, enabling roxie
to work on kind clusters in non-interactive (CI) mode.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Stop passing --exposure=loadbalancer explicitly in e2e tests and rely
on roxie's built-in cluster type detection to set the appropriate
defaults (e.g. exposure=none + port-forwarding on kind, loadbalancer
on GKE).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add a reusable e2e-tests-kind.yml workflow that creates a kind cluster
and runs the e2e test suite against it. The roxie binary is extracted
from the already-built image. OLM tests are skipped since kind has no
OLM.

Wire the new job into both PR and main-push workflows, running in
parallel with the existing GKE-based e2e tests.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Read ROXIE_PORT_FORWARD_PID from the environment on deployer init and
kill the process during teardownCentral, so the detached port-forward
started in envrc mode doesn't leak.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@mclasmeier mclasmeier changed the title Mc/kind e2e Test kind clusters in CI and allow for port-forwarding outside of sub-shell May 8, 2026
Copy link
Copy Markdown
Collaborator

@davdhacs davdhacs left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I just ran into wanting a detached port-forward process today. My workaround was to detach roxie's process. This is better so I don't have to check&store roxie's log. ty

@mclasmeier
Copy link
Copy Markdown
Collaborator Author

Lets pick this up after the new config file changes land.

@mclasmeier mclasmeier marked this pull request as draft May 12, 2026 07:36
@mclasmeier mclasmeier changed the title Test kind clusters in CI and allow for port-forwarding outside of sub-shell [DON'T MERGE] Test kind clusters in CI May 12, 2026
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.

2 participants