mirror of
https://github.com/kvcache-ai/AgentENV.git
synced 2026-11-05 01:17:36 +00:00
[PR #87] [MERGED] feat: support PVM-backed deployment #170
Labels
No labels
bug
documentation
enhancement
enhancement
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
kvcache-ai/AgentENV#170
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/kvcache-ai/AgentENV/pull/87
Author: @LSX-s-Software
Created: 7/30/2026
Status: ✅ Merged
Merged: 8/4/2026
Merged by: @yingdi-shan
Base:
main← Head:feat/pvm📝 Commits (3)
c6c515cfeat: support pvm-backed deployment5df1073docs(deploy): add warning for PVM deploymente9e0a2bci: deploy multi-version documentation📊 Changes
54 files changed (+1393 additions, -118 deletions)
View changed files
📝
.github/workflows/docs.yml(+149 -20)📝
.github/workflows/release.yml(+64 -33)📝
CLAUDE.md(+4 -4)📝
README.md(+4 -0)📝
config/default.toml(+5 -1)📝
config/deps_manifest.toml(+10 -3)📝
config/oss_default.toml(+4 -1)📝
crates/e2e-tests/tests/snapshot_oss_e2e_test.rs(+4 -0)📝
deploy/docker-compose.yml(+1 -0)📝
deploy/docker/Dockerfile.agentenv(+6 -0)📝
deploy/k8s/base/agentenv-daemonset.yaml(+2 -0)📝
docs/book.toml(+2 -0)➕
docs/redirects/index.html(+15 -0)📝
docs/src/SUMMARY.md(+1 -0)📝
docs/src/configuration/env-vars.md(+1 -0)📝
docs/src/configuration/reference.md(+7 -2)📝
docs/src/deployment/docker-compose.md(+4 -0)📝
docs/src/deployment/docker.md(+4 -0)📝
docs/src/deployment/kubernetes.md(+5 -1)📝
docs/src/deployment/manual-compile.md(+3 -0)...and 34 more files
📄 Description
What
Add an opt-in PVM virtualization mode alongside the existing KVM deployment path.
virtualization_mode = "kvm" | "pvm"withAENV_VIRTUALIZATION_MODEoverride./dev/kvmprerequisites at startup.Why
Cloud VMs often do not expose nested virtualization, which prevents the standard KVM deployment from running. PVM provides an alternative deployment path for those environments while keeping standard KVM as the default and recommended mode.
Related issue
Closes #7
Scope and non-goals
Included:
Not included:
Design and behavior changes
VirtualizationModeis a shared domain type used by configuration, setup, snapshots, and persistence.firecracker.{kvm,pvm}andkernel.{kvm,pvm}entries; only the active variant is provisioned.kvm_pvmmodule. PVM startup requires x86_64,kvm_pvm, and read/write access to/dev/kvm.--setup-onlyremains host-module independent so release artifacts can be assembled on ordinary CI runners.aenv-server-linux-x86_64.tar.gzfor KVMaenv-server-linux-x86_64-pvm.tar.gzfor PVMlatest/ version tags for KVM imageslatest-pvm/ version-pvmtags for PVM imagesCompatibility and operations
virtualization_mode; default remainskvm.virtualization_modeto committed snapshot metadata and paused-sandbox records. Legacy records default to KVM.CONFIG_KVM_PVM, plus an ABI-compatible guest kernel withCONFIG_PVM_GUEST. AgentENV does not install the host kernel automatically.Validation
make fmtmake clippymake test-unitmake -C services test(required whenservices/changes)maketargetCommands and results:
All completed successfully. Release, Compose, and Kubernetes YAML files were also parsed successfully, and local Markdown links were checked.
Skipped checks and reasons:
make -C services testwas not required because no Go service code changed.Risks and reviewer notes
kvcache-ai/linux.src/cfg.rsandsrc/setup/, compatibility checks in snapshot/persistence code, release packaging, and the deployment guide.Checklist
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.