NetworkPolicy Smoke Test
Use this how-to to verify the Helm networkPolicies values on a local Kind
cluster with Calico enforcing Kubernetes NetworkPolicy resources and Chainsaw
running the behavioral assertions.
Prerequisites
- A source checkout of
NVIDIA-NeMo/nemo-platform docker,kind,kubectl, andhelmavailable on your workstation- A local
chainsawbinary, or Docker access toghcr.io/kyverno/chainsaw:v0.2.3 NGC_API_KEYwith access to the NeMo Platform chart and container images- Permission to create and delete the local Kind cluster and Kubernetes namespaces
Run The Smoke Test
CLI
Python SDK
Set the image and namespace inputs, then run the source-checkout smoke script:
The script creates or validates a Kind cluster, installs Calico as the enforcing
CNI, installs the chart with e2e/k8s/values/network-policies.yaml, and runs a
Chainsaw test suite that creates probe pods to verify allowed API/controller
traffic and denied unlabelled or managed-job egress traffic.
Registry and private image options
Set CALICO_IMAGE_REGISTRY to override the Calico registry used by the Kind
setup script. The default is docker.io/calico.
Set CHAINSAW_IMAGE to override the Chainsaw container image used when a local
chainsaw binary is not installed. The default is
ghcr.io/kyverno/chainsaw:v0.2.3.
When testing source changes, set NMP_E2E_REGISTRY and NMP_E2E_TAG to a
branch-built nmp-api image. CI supplies these from the CPU smoke image build.
If the image is in private GHCR, export GITHUB_TOKEN so the setup script can
create the pull secret.
Next Steps
- Review the Helm chart reference for the generated
networkPoliciesvalues. - Continue with Install for production chart installation.
- Review Security for broader deployment hardening.