Skip to content

feat: NVX integration design doc - #1448

Open
Huzaifa Danish (huzaifa-d) wants to merge 18 commits into
mainfrom
user/modanish/nvx-integration-meeting
Open

Huzaifa Danish (huzaifa-d) wants to merge 18 commits into
mainfrom
user/modanish/nvx-integration-meeting

Conversation

@huzaifa-d

@huzaifa-d Huzaifa Danish (huzaifa-d) commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor

📖 Description

Documents the proposed NVX integration in MXC.

✅ Checklist

📋 Issue Type

  • Bug fix
  • Feature
  • Task
Microsoft Reviewers: Open in CodeFlow

huzaifa-msft and others added 5 commits October 6, 2026 10:58
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot AI balanced review requested due to automatic review settings October 7, 2026 19:34
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
There may be pipelines that require an authorized user to comment /azp run to run.

This comment was marked as resolved.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot AI balanced review requested due to automatic review settings October 7, 2026 20:32

This comment was marked as resolved.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot AI balanced review requested due to automatic review settings October 7, 2026 21:25

This comment was marked as resolved.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot AI balanced review requested due to automatic review settings October 7, 2026 21:45

This comment was marked as resolved.

Enhance NVX integration documentation with detailed updates on state-aware process lifetime, discovery payloads, lifecycle management, SDK behavior, filesystem access, and network rules.

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Copilot AI balanced review requested due to automatic review settings October 7, 2026 22:06
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

This comment was marked as resolved.

Copilot AI balanced review requested due to automatic review settings October 7, 2026 22:11

This comment was marked as resolved.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot AI balanced review requested due to automatic review settings October 7, 2026 23:09
@huzaifa-d Huzaifa Danish (huzaifa-d) changed the title Document NVX integration design feat: NVX integration design doc Oct 7, 2026
@huzaifa-d
Huzaifa Danish (huzaifa-d) marked this pull request as ready for review October 7, 2026 23:13
@huzaifa-d
Huzaifa Danish (huzaifa-d) requested a review from a team as a code owner October 7, 2026 23:13

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🔵 Needs a closer look

The design must preserve existing Linux MicroVM behavior and define OCI image platform selection.

0 open findings

1 resolved since last review
Previously missed (2)

In code that hasn't changed since last review

Medium severity Preserve Linux NanVix routing while limiting NVX to Windows x64

docs/​nvx-integration.md:22

The unconditional replacement drops an existing platform path: mxc_engine currently routes microvm to NanVix on Linux as well as Windows (src/core/mxc_engine/src/run.rs:294-307,349-370), and the Linux runner uses KVM. Since section 7 limits the initial NVX integration to Windows x64, define whether Linux keeps NanVix until NVX support arrives (and retain Linux coverage) rather than silently making microvm unavailable there.

Medium severity Select and validate linux/amd64 OCI manifests deterministically

docs/​nvx-integration.md:798

Digest resolution alone does not define which manifest to choose from a multi-platform OCI index. The host is Windows x64 but the guest is Linux, so host-platform selection can choose an unusable windows/amd64 image; ARM-only and Windows-only references also need a deterministic rejection. Make linux/amd64 selection and platform validation part of the conversion contract.

🧠 Review effort: Balanced


Give feedback about Copilot approvals in this survey to enter a drawing for a $150 gift card.

Comment thread docs/nvx-integration.md Outdated
Comment thread docs/nvx-integration.md Outdated
Comment thread docs/nvx-integration.md Outdated
Comment thread docs/nvx-integration.md
Comment thread docs/nvx-integration.md
Comment thread docs/nvx-integration.md Outdated
Comment thread docs/nvx-integration.md Outdated
Comment thread docs/nvx-integration.md
Negative filesystem and network tests must include a working positive control
so infrastructure failures are not mistaken for policy enforcement.

## 9. Long-term plan

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Should we mention Linux and MacOS support?

Comment thread docs/nvx-integration.md Outdated
Comment thread docs/nvx-integration.md Outdated
Comment thread docs/nvx-integration.md
live: a guest write changes the mapped host file immediately. Denied entries
are hidden by OpenVMM within the exported host tree.

All mapped paths must exist, be on the same Windows volume, and share a common

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Why these restrictions around volume and shared common directory? Why can't I map file paths on both c:\ and d:? Why can't I map c:\etc\src\git\myrepo and c:\users\gudge\mydocs ?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

From what I understand, these are NVX restrictions. Pedro Henrique Penna (@ppenna), could you please opine?

@ppenna Pedro Henrique Penna (ppenna) Oct 8, 2026 •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This is not a NVX limitation. NVX runs Linux as a guest and Linux have all paths under /. We cannot have a separate root per construction.

Comment thread docs/nvx-integration.md
aci-edge-sandboxes:<32 lowercase hexadecimal characters>
```

MXC will register the `aci-edge-sandboxes:` prefix in native lifecycle

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Why doesn't this string contain 'nvx' somewhere?

@huzaifa-d Huzaifa Danish (huzaifa-d) Oct 8, 2026 •

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

From what I understand, these is NVX implementation. Pedro Henrique Penna (@ppenna), could you please opine?

Comment thread docs/nvx-integration.md
Comment thread docs/nvx-integration.md

## 7. Windows requirement

The initial implementation will support Windows x64. Windows ARM is planned

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Why the ARM restriction?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

No restriction, just current short-term plan for v1.

Comment thread docs/nvx-integration.md Outdated
Comment thread docs/nvx-integration.md Outdated
Comment thread docs/nvx-integration.md Outdated
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot AI balanced review requested due to automatic review settings October 8, 2026 19:12

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟡 Changes recommended

Several documented capabilities and outcome mappings conflict with current NVX and MXC contracts.

3 open findings

🧠 Review effort: Balanced

Comment thread docs/nvx-integration.md
Comment thread docs/nvx-integration.md
Comment thread docs/nvx-integration.md Outdated
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot AI balanced review requested due to automatic review settings October 8, 2026 19:52
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟡 Changes recommended

Lifecycle registration and registry-policy migration remain incomplete, with additional NVX limits missing from the documentation and test plan.

4 open findings
3 resolved since last review

🧠 Review effort: Balanced

Comment thread docs/nvx-integration.md
Comment on lines +685 to +693
The policy will be stored under
`HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Mxc` with the following behaviour:

| Policy state | Behaviour |
| --- | --- |
| Value absent | Unmanaged; any registry host may be contacted |
| One or more hosts | Only those registry hosts may be contacted |
| Present but empty | No registry may be contacted |
| Present but unreadable | No registry may be contacted |
Comment thread docs/nvx-integration.md
Comment on lines +127 to +128
mxc_sdk_build::stage_nvx_runtime()
.expect("failed to stage the NVX runtime");
Comment thread docs/nvx-integration.md
Comment on lines +271 to +273
1. Add `microvm.image`, `microvm.memoryMb`, state-aware MicroVM provision,
engine binding, and runtime tests to the development `1.1.0-alpha`
contract.
Comment thread docs/nvx-integration.md

| Current NVX filesystem limit | Behaviour |
| --- | --- |
| Denied paths | At most 128 hidden paths |
Copilot AI balanced review requested due to automatic review settings October 8, 2026 19:59

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

This branch has not been deployed

No deployments
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.

6 participants