Skip to content

docs(adr): propose ADR-0008 pluggable execution environments#1460

Draft
lyarwood wants to merge 1 commit intoambient-code:mainfrom
lyarwood:adr-0008-pluggable-execution-environments
Draft

docs(adr): propose ADR-0008 pluggable execution environments#1460
lyarwood wants to merge 1 commit intoambient-code:mainfrom
lyarwood:adr-0008-pluggable-execution-environments

Conversation

@lyarwood
Copy link
Copy Markdown

Summary

  • Proposes extending the operator to support alternative execution environments beyond Kubernetes Pods
  • Introduces an ExecutionEnvironment interface with KubeVirt VM as the first non-pod implementation
  • Motivated by e2e testing workflows (KubeVirt, kubernetes-mcp-server) that require nested containers or full OS environments, which are impossible in the current capability-dropped, non-root runner pods

Scope of this ADR

This ADR covers the full picture: the ExecutionEnvironment abstraction, registry schema changes (executionKind + vmConfig), operator dispatch, KubeVirt VM lifecycle, cloud-init bootstrap, and networking. I'm happy to break it out into several smaller ADRs if that's easier to review, for example:

  1. ADR-0008a: Extract ExecutionEnvironment interface from the monolithic pod builder (pure refactor, no new functionality)
  2. ADR-0008b: KubeVirt VM execution environment implementation (depends on 0008a)

The core idea is that the upper layers (PlatformBridge, backend AG-UI proxy, frontend) are already execution-agnostic — the work is isolated to the operator and the agent registry.

Context

See kubevirt-ai-helpers: Future Work — In-Session Eval Testing for the motivating use case.

Feedback welcome

This is a suggestion from an external contributor — I'd appreciate any feedback on:

  • Whether this direction aligns with the platform's roadmap
  • Whether the ExecutionEnvironment interface abstraction makes sense at the operator level
  • Whether executionKind on AgentRuntimeSpec is the right place for runtime selection vs a CRD-level field
  • Any concerns about KubeVirt as a hard/optional dependency

Propose extending the operator to support alternative execution
environments beyond Kubernetes Pods. Introduces an ExecutionEnvironment
interface with KubeVirt VM as the first non-pod implementation, enabling
e2e testing workflows that require nested containers or full OS
environments.

Assisted-By: Claude <noreply@anthropic.com>
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 24, 2026

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 9118e08b-ecfe-49cb-a60a-81363b934e25

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
✨ Simplify code
  • Create PR with simplified code

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@netlify
Copy link
Copy Markdown

netlify Bot commented Apr 24, 2026

Deploy Preview for cheerful-kitten-f556a0 ready!

Name Link
🔨 Latest commit 5393831
🔍 Latest deploy log https://app.netlify.com/projects/cheerful-kitten-f556a0/deploys/69eb88e8cf720c000925ae96
😎 Deploy Preview https://deploy-preview-1460--cheerful-kitten-f556a0.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

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