Skip to content

feat(network): expose ACL v2 policies - #40

Merged
tianyuzhou95 merged 5 commits into
inclusionAI:mainfrom
tianyuzhou95:albert/acl-v2
Sep 1, 2026
Merged

feat(network): expose ACL v2 policies#40
tianyuzhou95 merged 5 commits into
inclusionAI:mainfrom
tianyuzhou95:albert/acl-v2

Conversation

@tianyuzhou95

@tianyuzhou95 tianyuzhou95 commented Aug 25, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • expose creation-time ACL v2 through public NetworkRule, TrafficPolicy,
    DNSRule, and DNSPolicy value types plus an egress allowlist helper
  • support independent ingress and egress defaults, CIDR/domain peers, port
    ranges, priorities, and stateful or stateless enforcement while retaining
    the existing block and DNS-deny helpers
  • translate the backend-neutral policy into both supported YuanRong backends
    and keep the SDK guide, maintained example, and deployment requirements in
    sync
  • pin the coordinated YuanRong and sandboxd revisions used by the bundled
    all-in-one image

Dependencies

The Python CI jobs cannot install the unreleased openyuanrong-sandbox
version yet. The standalone CI job likewise cannot fetch the pinned sandboxd
commit from the upstream submodule URL until inclusionAI/sandboxd#31 lands.
The coordinated source revisions were tested together as described below.

Testing

  • make sdk-check with the matching YuanRong sandbox SDK: 249 tests, Ruff,
    and Mypy
  • make deploy-script-check
  • all-in-one image build
  • standalone integration on runsc, Kata, and Firecracker: 5/5 each
  • real network-policy E2E with both iptables and bpfnat backends

@tianyuzhou95
tianyuzhou95 force-pushed the albert/acl-v2 branch 2 times, most recently from 5fb7235 to d5663af Compare August 25, 2026 06:28
Add backend-neutral Python types for bidirectional IPv4 traffic and DNS
policies, plus a creation-time egress allowlist helper. Normalize domains,
CIDRs, protocols, ranges, and priorities in the SDK and translate the model
to the openYuanRong sandbox backend.

Advance YuanRong and sandboxd to the matching ACL v2 implementations and
prepare standalone, Helm, and Terraform nodes with the required iptables,
ipset, conntrack, bridge-netfilter, or eBPF capabilities. Document runtime
semantics, host requirements, and migration constraints, and cover the new
public contract with SDK and deployment tests.

Signed-off-by: Tianyu Zhou <albert.zty@antgroup.com>
Expose whole-policy replacement on the public Sandbox API and delegate it to
the native YuanRong backend. Normalize empty policies to an explicit clear and
reject the actor backend instead of silently weakening the request.

Advance the pinned YuanRong aggregate revision and update documentation,
examples, and unit coverage for replacement, clearing, restart persistence,
and backend compatibility.

Signed-off-by: Tianyu Zhou <albert.zty@antgroup.com>
Advance the bundled YuanRong revision to include CAS-backed dynamic network
policy persistence and shared-client PUT forwarding.

This keeps the all-in-one image aligned with the component revisions used by
the dynamic ACL end-to-end tests.

Signed-off-by: Tianyu Zhou <albert.zty@antgroup.com>
Verify dynamic policy replacement with an HTTPS endpoint that the example
already establishes as reachable instead of assuming public TCP DNS access.

Also probe the previously denied domain after clearing the policy so the
example validates both replacement and removal behavior.

Signed-off-by: Tianyu Zhou <albert.zty@antgroup.com>
Advance the control-plane, RRT, and default sandbox SDK dependency to the
0.10.1rc4 release, including the checksums for its published runtime and core
wheel artifacts, so AKernel consumes the merged network ACL support.

Keep the deprecated actor-based openyuanrong-sdk backend on the 0.9.9 version
used by main and document that it is retained only for compatibility with
existing applications.

Signed-off-by: Tianyu Zhou <albert.zty@antgroup.com>
@tianyuzhou95
tianyuzhou95 merged commit aa154b6 into inclusionAI:main Sep 1, 2026
8 checks passed
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