This repository contains the scripts and system services demonstrating and example integration of OpenZiti (via NetFoundry) with the NVIDIA Nemoclaw gateway.
This project implements a Policy-as-Code model where an AI agent (via MCP) manages the network lifecycle of an NVIDIA sandbox. By running the Ziti Edge Tunnel at the host level, we separate Infrastructure Noise (onboarding/updates) from Sandbox Moves (inference), providing a surgical kill-switch and real-time telemetry.
- Create a NetFoundry V8 Network with at least one NF Hosted Edge Router.
- Follow the documentation at NetFoundry Support.
- Follow instructions at ziti-mcp-server GitHub.
- Note: This example uses Claude desktop code as the MCP client.
Provide the following prompt to Claude to bootstrap your network logic:
Please add the following to my Ziti Network:
- A private edge-router named nemoclaw-egress-gw with
isTunnelerEnabledset to true.- An identity client named nemoclaw-sandbox-gw. Download the JWT.
Add the following services ziti with the intercept.v1 set to forward address, protocol and port:
ghcr.io*.s3.dualstack.us-east-1.amazonaws.com*.docker.iointegrate.api.nvidia.cominference-api.nvidia.comauth.docker.io.cdn.cloudflare.netregistry.npmjs.org*.k8.io*pkg.dev"- Service Names should be based on URL string
- intercept.v1 and host.v1 configs should be named as
<service name>.<config-type> e.g. k8.io.host.v1- Assign a dial service policy for that service group with nemoclaw-sandbox-gw as the linked identity
- Assign a bind service policy for that service group with nemoclaw-egress-gw as the linked identity.
*You will need to login to your network console at CloudZiti to get the associated registration key.
Recommended: AWS c5.xlarge with 50GB Storage (Ubuntu 24.04 Server).
sudo apt update && sudo apt upgrade -y
sudo apt install git -ysudo apt install -y ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" \
| sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.iosudo systemctl enable --now docker
sudo usermod -aG docker $USER
# REBOOT: To apply any kernel updates and finalize group permissions
sudo reboot- Follow the Official Debian/Ubuntu Tunneler Guide.
- Place your
nemoclaw-sandbox-gw.jwtinto/opt/openziti/etc/identities. - Set permissions before restarting the service:
sudo chown ziti:ziti /opt/openziti/etc/identities/nemoclaw-sandbox-gw.jwt
sudo systemctl restart ziti-edge-tunnelmkdir -p ~/repos
cd ~/repos
git clone https://github.com/netfoundry/ziti-nemoclaw-integration.git
# Install the ziti-nemoclaw-watcher service
sudo cp ~/repos/ziti-nemoclaw-integration/services/ziti-nemoclaw-watcher.service /etc/systemd/system/
#Review scripts and services before running
sudo cp ~/repos/ziti-nemoclaw-integration/scripts/znemoclaw-watcher.sh /usr/local/bin/
sudo chmod 700 /usr/local/bin/znemoclaw-watcher.sh
sudo systemctl enable ziti-nemoclaw-watcher.service --now- Obtain API Key: Visit NVIDIA Build API Keys.
- Install Nemoclaw:
curl -fsSL https://www.nvidia.com/nemoclaw.sh | bash # Follow default prompts and accept the recommended policy setup.
# Pickup the environment changes in the current shell
source ~/.bashrc- Sync Policy with AI:
nemoclaw my-assistant status #Outputs nemoclaw gateway current network policies in yaml format
- Paste the above YAML output into Claude.
- Ask Claude to add the network policies as Ziti services using the template from Step 1. Tell it to skip any overlaps with existing. nemoclaw my-assistant status
nemoclaw my-assistant connect
openclaw tuiConverse with the openclaw agent in the interactive TUI.
- Log in to your NetFoundry Account.
- Click Metrics in the left sidebar.
- Review Bytes Transmitted per service to distinguish between:
- Infrastructure build / install: (Onboarding/Updates).
- Sandbox Moves: (Surgical Inference).



