physical-ai-infrastructure-setup-and-resilient-scaling
Use when the user wants to set up, scale, validate, or harden NVIDIA physical AI infrastructure for synthetic data generation workflows across local MicroK8s or Azure AKS, including Kubernetes clusters, inference endpoint deployment, OSMO deployment, workload submission readiness, and infrastructure failure recovery. Trigger keywords: physical ai infrastructure, resilient scaling, SDG infrastructure, microk8s, azure aks, NVCF deployment, NIM Operator, OSMO deploy, workflow scaling. Don't trigger for: OSMO log summarization or workload-only operations unless infrastructure setup, scaling, validation, or recovery is requested.
- License 许可
- Apache-2.0
- 最近更新
- 2026-11-10
- Stars
- ★ 1
- Forks
- 0
01 前言 Front Matter
- name
- physical-ai-infrastructure-setup-and-resilient-scaling
- tools
- [ "Read", "Shell" ]
- license
- Apache-2.0
- version
- 1.0.0
- metadata
- { "tags": [ "physical-ai", "infrastructure", "kubernetes", "azure", "microk8s", "osmo", "nim-operator", "scaling" ], "author": "NVIDIA Physical AI", "domain": "ai-ml", "languages": [ "bash", "hcl", "yaml" ] }
- description
- Use when the user wants to set up, scale, validate, or harden NVIDIA physical AI infrastructure for synthetic data generation workflows across local MicroK8s or Azure AKS, including Kubernetes clusters, inference endpoint deployment, OSMO deployment, workload submission readiness, and infrastructure failure recovery. Trigger keywords: physical ai infrastructure, resilient scaling, SDG infrastructure, microk8s, azure aks, NVCF deployment, NIM Operator, OSMO deploy, workflow scaling. Don't trigger for: OSMO log summarization or workload-only operations unless infrastructure setup, scaling, validation, or recovery is requested.
- compatibility
- Requires the selected component prerequisites, usually kubectl plus either MicroK8s or Azure CLI/Terraform, and OSMO or inference credentials for the chosen target.
02 资源文件 67
- 参考文档BENCHMARK.md6.3 KB
- 参考文档components/azure-access/reference.md3.0 KB
- 其他components/cluster-azure/.gitignore103 B
- 参考文档components/cluster-azure/reference.md5.9 KB
- 参考文档components/cluster-azure/scripts/helmfile.yaml354 B
- 其他components/cluster-azure/scripts/main.tf25.4 KB
- 其他components/cluster-azure/scripts/outputs.tf1.6 KB
- 脚本components/cluster-azure/scripts/preflight.sh7.9 KB
- 脚本components/cluster-azure/scripts/setup.sh4.1 KB
- 参考文档components/cluster-azure/scripts/storage-class-nfs.yaml2.3 KB
- 脚本components/cluster-azure/scripts/system_node_capacity_test.sh915 B
- 其他components/cluster-azure/scripts/terraform.tfvars.example568 B
- 其他components/cluster-azure/scripts/variables.tf2.6 KB
- 其他components/cluster-azure/scripts/versions.tf588 B
- 其他components/cluster-azure/terraform/main.tf8.0 KB
- 参考文档components/cluster-azure/terraform/modules/README.md705 B
- 其他components/cluster-azure/terraform/outputs.tf3.9 KB
- 脚本components/cluster-azure/terraform/prerequisites/az-sub-init.sh2.2 KB
- 脚本components/cluster-azure/terraform/prerequisites/install-terraform.sh1.8 KB
- 脚本components/cluster-azure/terraform/prerequisites/register-azure-providers.sh6.8 KB
- 参考文档components/cluster-azure/terraform/prerequisites/robotics-azure-resource-providers.txt336 B
- 其他components/cluster-azure/terraform/terraform.tfvars.example7.6 KB
- 其他components/cluster-azure/terraform/variables.tf9.1 KB
- 其他components/cluster-azure/terraform/versions.tf779 B
- 参考文档components/cluster-microk8s/reference.md1.8 KB
- 参考文档components/cluster-microk8s/runtimeclass-nvidia-runc.yaml223 B
- 脚本components/cluster-microk8s/scripts/preflight.sh4.5 KB
- 参考文档components/driver/reference.md8.6 KB
- 参考文档components/inference-azure/reference.md2.6 KB
- 脚本components/inference-azure/scripts/install.sh5.9 KB
- 脚本components/inference-azure/scripts/preflight.sh5.5 KB
- 参考文档components/inference-nim-operator/nims/cosmos-predict/nimservice.yaml2.4 KB
- 参考文档components/inference-nim-operator/nims/cosmos-reason/nimservice.yaml1.1 KB
- 参考文档components/inference-nim-operator/nims/cosmos-transfer/nimservice.yaml1.1 KB
- 参考文档components/inference-nim-operator/nims/qwen-image-edit-nvpcb-ovsl2sl/nimservice.yaml2.5 KB
- 参考文档components/inference-nim-operator/nims/qwen-image-edit/nimservice.yaml1.2 KB
- 参考文档components/inference-nim-operator/nims/qwen25-14b/hf-download-job.yaml2.0 KB
- 参考文档components/inference-nim-operator/nims/qwen25-14b/nimservice.yaml1.9 KB
- 参考文档components/inference-nim-operator/nims/qwen25-14b/pvc.yaml892 B
- 参考文档components/inference-nim-operator/nims/qwen3-235b/hf-download-job.yaml1.7 KB
- 参考文档components/inference-nim-operator/nims/qwen3-235b/nimservice.yaml1.7 KB
- 参考文档components/inference-nim-operator/nims/qwen3-235b/pvc.yaml704 B
- 参考文档components/inference-nim-operator/nims/qwen3-vl/hf-download-job.yaml2.6 KB
- 参考文档components/inference-nim-operator/nims/qwen3-vl/nimservice.yaml4.7 KB
- 参考文档components/inference-nim-operator/nims/qwen3-vl/pvc.yaml964 B
- 参考文档components/inference-nim-operator/reference.md5.5 KB
- 脚本components/inference-nim-operator/scripts/install.sh11.8 KB
- 脚本components/inference-nim-operator/scripts/preflight.sh3.0 KB
- 参考文档components/inference-nvcf/reference.md3.2 KB
- 脚本components/inference-nvcf/scripts/preflight.sh2.7 KB
- 参考文档components/openclaw-azure-login/reference.md2.8 KB
- 参考文档components/osmo-azure/reference.md4.4 KB
- 脚本components/osmo-azure/scripts/preflight.sh5.9 KB
- 参考文档components/osmo-cli/agents/logs-reader.md3.5 KB
- 参考文档components/osmo-cli/agents/workflow-expert.md4.0 KB
- 参考文档components/osmo-cli/reference.md42.1 KB
- 参考文档components/osmo-cli/references/advanced-patterns.md2.4 KB
- 参考文档components/osmo-cli/references/cli-commands.md14.6 KB
- 参考文档components/osmo-cli/references/workflow-patterns.md8.0 KB
- 参考文档components/osmo-cli/references/workflow-spec.md8.5 KB
- 脚本components/osmo-cli/scripts/preflight.sh2.4 KB
- 参考文档components/osmo-cli/tests/orchestrator-runtime-failure.md11.0 KB
- 参考文档components/osmo-k8s/reference.md2.5 KB
- 脚本components/osmo-k8s/scripts/preflight.sh2.8 KB
- 参考文档evals/evals.json2.9 KB
- 参考文档skill-card.md3.4 KB
- 其他skill.oms.sig21.3 KB
03 SKILL.md 正文
Physical AI Infrastructure Setup And Resilient Scaling
Canonical skill for the Physical AI infrastructure stack. Use it to compose cluster, inference, OSMO, and workload stages into a reproducible Physical AI SDG environment, then keep the environment observable and recoverable.
Operating Rules
- Read only the component references needed for the selected target. Do not load every component by default.
- Keep the repo as the durable artifact. Fix checked-in config or scripts, then rerun. Do not recover a failed install with untracked one-off changes.
- Run mutating cluster, OSMO, Helm, Terraform, or Azure operations through checked-in scripts when a script exists. Read-only diagnostics are allowed.
- Stop at the first red gate. Fix the lowest owning layer in this order: config, script, then skill guidance.
- Derive values from the environment when possible. Ask only for values that cannot be inferred, such as API keys, target choice, or quota tradeoffs.
- Store secrets in
${REPO_ROOT}/.env. Cluster-derived values such as storage, database, Redis, and endpoint names come from Terraform outputs or platform queries, not.env. - Preflight means no deployed state: no cluster API, Terraform outputs, Helm releases, OSMO pools, or workflow state. Those belong to deploy/verify gates.
- Never print, echo, or paste raw keys into commands, YAML, logs, or
transcripts. Prefer credential handles, Kubernetes
secretKeyRef, and runtime-only secret injection. Scan raw transcript exports withscripts/scan_transcript_secrets.pybefore sharing. - Use absolute paths. Derive repo root with
git rev-parse --show-toplevel.
Component References
Each component lives inside this skill so the stack has one canonical trigger. Load the component reference only when the selected target needs that slice.
| Concern | Load | Assets |
|---|---|---|
| Stage matrix and old driver notes | components/driver/reference.md |
None |
| MicroK8s cluster | components/cluster-microk8s/reference.md |
components/cluster-microk8s/scripts/, components/cluster-microk8s/runtimeclass-nvidia-runc.yaml |
| Azure AKS cluster | components/cluster-azure/reference.md |
components/cluster-azure/scripts/, components/cluster-azure/terraform/ |
| NIM Operator inference | components/inference-nim-operator/reference.md |
components/inference-nim-operator/scripts/, components/inference-nim-operator/nims/ |
| NVCF inference | components/inference-nvcf/reference.md |
components/inference-nvcf/scripts/ |
| Azure AI Foundry inference | components/inference-azure/reference.md |
components/inference-azure/scripts/ |
| MicroK8s OSMO | components/osmo-k8s/reference.md |
components/osmo-k8s/scripts/, upstream OSMO deploy scripts |
| Azure OSMO | components/osmo-azure/reference.md |
components/osmo-azure/scripts/, upstream OSMO deploy scripts plus Azure TF outputs |
| Azure access setup | components/azure-access/reference.md |
None |
| OSMO CLI and workflow operations | components/osmo-cli/reference.md |
components/osmo-cli/scripts/, components/osmo-cli/references/, components/osmo-cli/agents/, components/osmo-cli/tests/ |
| OpenClaw Azure device login | components/openclaw-azure-login/reference.md |
None |
OSMO CLI Support Files
The OSMO CLI component has second-level support files because its command and workflow surface is large. Load these directly only for the stated case.
| File | Read when |
|---|---|
components/osmo-cli/agents/workflow-expert.md |
Spawning a workflow-generation or workflow-failure subagent. |
components/osmo-cli/agents/logs-reader.md |
Spawning a log summarization subagent for OSMO workflow failures. |
components/osmo-cli/references/cli-commands.md |
Exact OSMO CLI flags, payloads, or command syntax are needed. |
components/osmo-cli/references/workflow-spec.md |
Workflow YAML schema, credentials, outputs, or provider fields are needed. |
components/osmo-cli/references/workflow-patterns.md |
Multi-task, data dependency, Jinja, serial, or parallel workflow design is needed. |
components/osmo-cli/references/advanced-patterns.md |
Checkpointing, retry/exit behavior, or node exclusion is needed. |
components/osmo-cli/tests/orchestrator-runtime-failure.md |
Validating or debugging the OSMO orchestration review pattern. |
Target Selection
Pick exactly one option per stage. Stage 2 follows stage 1.
- Kubernetes:
MicroK8sorAzure - OSMO:
MicroK8s OSMOwhen Kubernetes is MicroK8s,Azure OSMOwhen Kubernetes is Azure - Inference:
NIM Operator,NVCF,Azure AI Foundry, orNone - Workload: Video Data Augmentation, Defect Image Generation, NuRec Carline Adaptation, NRE, NCore, Asset Harvester, or custom workflow YAML
Reject invalid combinations before provisioning:
| Cluster | NIM Operator | NVCF | Azure AI Foundry |
|---|---|---|---|
| MicroK8s | yes | yes | no, Foundry requires Azure identities |
| Azure | yes | yes | yes |
For OpenClaw or any chat-only environment that cannot open a browser, read
components/openclaw-azure-login/reference.md before Azure prerequisites.
For any Azure target, read components/azure-access/reference.md before Azure
component preflights.
Setup Flow
- Confirm target choices and workload compute requirements.
- Load the selected component references.
- Resolve prerequisites up front, including API keys, Azure access, caller CIDR, GPU quota, storage class, and OSMO login requirements.
- Run
scripts/preflight.shfor every selected infrastructure component plus any OSMO CLI/workload preflight before provisioning; build the implementation plan from the results and stop on red preflight. - Deploy Kubernetes first. Nothing else starts until the cluster gate is green.
- Deploy OSMO and inference after Kubernetes. These can proceed in parallel once the cluster exists, but workload submission waits for both selected gates.
- Submit the workload only after OSMO, storage credentials, compute pool, and
selected inference endpoints are verified. For VDA, this includes
preflight_credentials.sh,pre_submit_guard.pywith resolved--setvalues, non-empty model-cache prefixes, and workflow-namespace endpoint smoke checks. - Monitor through completion. On failed workflow state, inspect events and logs
from
components/osmo-cli/reference.md; do not resubmit blindly.
Inference Discovery
Avoid over-deploying expensive endpoints.
- Scan the chosen workflow spec and default values for endpoint references:
*.osmo-nims.svc.cluster.local,api.nvcf.nvidia.com/*,*.inference.ai.azure.com, or*.cognitiveservices.azure.com. - Map each reference to the selected backend:
- NIM Operator: service name must match a directory under
components/inference-nim-operator/nims/. - NVCF: function URL or function ID must be supplied by the environment.
- Azure AI Foundry: endpoint name must be deployed through
components/inference-azure/scripts/install.sh.
- NIM Operator: service name must match a directory under
- If the workflow needs a capability the selected backend lacks, stop and report the mismatch. Do not silently substitute another model.
Verification Gates
Each stage has its own Verify section in the component reference. These gates are mandatory:
| Stage | Gate |
|---|---|
| Kubernetes | Cluster API reachable, nodes Ready, GPU capacity advertised for GPU paths, and CPU+NVCF paths have runtimeclass/nvidia mapped to runc. |
| Inference | Every endpoint referenced by the workload is reachable. NIM readiness uses /v1/health/ready; NVCF and Foundry still need task-specific authenticated checks. |
| OSMO | OSMO pods Ready, pool ONLINE, port-forward watchdogs alive, storage credentials configured, and verify-hello workflow COMPLETED. |
| Workload | Selected workload pre-submit guards pass before submit. osmo workflow query <id> reports COMPLETED and every task is green. Failed terminal states require events and logs before retry. |
Resilient Scaling
- Size the cluster from workload needs before provisioning. For Azure, check CPU
and GPU quota for the selected VM families before
terraform apply. - For NIM Operator, deploy only the NIMServices referenced by the workload. Each service pins GPU and model-cache storage for the lifetime of the cluster.
- Keep OSMO storage URL schemes aligned with the active backend. Local MicroK8s uses MinIO, Azure uses Blob-backed configuration.
- Treat Pending, Unknown, ImagePullBackOff, unbound PVCs, or 0 Ready replicas as layer failures. Investigate scheduling, storage, image credentials, and adjacent platform state before retrying the same command.
- For long deploys or workflow watches, provide heartbeat updates with current state, elapsed time, last useful observation, and next check.
Workload Routing
- Video Data Augmentation: use
skills/physical-ai-video-data-augmentation/SKILL.md. - Defect Image Generation: use
skills/physical-ai-defect-image-generation/SKILL.md. - NuRec carline adaptation: use
skills/carline-adaptation/SKILL.md. - NRE, NCore, and Asset Harvester live in the canonical NuRec catalog listed in
skills/INDEX.md. - Custom workload: submit the provided workflow YAML through OSMO after checking resource requests, image credentials, data credentials, and inference URLs.
Evaluation Prompts And Results
- Positive trigger: "Set up resilient Physical AI infrastructure for VDA on Azure AKS with NIM Operator." Expected: use this skill.
- Negative trigger: "Summarize recent OSMO workflow logs for this workflow ID." Expected: do not use this infrastructure setup skill unless the request also involves setup, scaling, validation, or recovery of the infrastructure stack.
Latest static review: 2026-05-26, description keywords match the expected routes above.
04 同仓库更多 Skills
vercel-sandbox
Run agent-browser + Chrome inside Vercel Sandbox microVMs for browser automation from any Vercel-deployed app. Use when the user needs browser automation in a Vercel app (Next.js, SvelteKit, Nuxt, Remix, Astro, etc.), wants to run headless Chrome without binary size limits, needs persistent browser sessions across commands, or wants ephemeral isolated browser environments. Triggers include "Vercel Sandbox browser", "microVM Chrome", "agent-browser in sandbox", "browser automation on Vercel", or any task requiring Chrome in a Vercel Sandbox.
slack
Interact with Slack workspaces using browser automation. Use when the user needs to check unread channels, navigate Slack, send messages, extract data, find information, search conversations, or automate any Slack task. Triggers include "check my Slack", "what channels have unreads", "send a message to", "search Slack for", "extract from Slack", "find who said", or any task requiring programmatic Slack interaction.
electron
Automate Electron desktop apps (VS Code, Slack, Discord, Figma, Notion, Spotify, etc.) using agent-browser via Chrome DevTools Protocol. Use when the user needs to interact with an Electron app, automate a desktop app, connect to a running app, control a native app, or test an Electron application. Triggers include "automate Slack app", "control VS Code", "interact with Discord app", "test this Electron app", "connect to desktop app", or any task requiring automation of a native Electron application.
dogfood
Systematically explore and test a web application to find bugs, UX issues, and other problems. Use when asked to "dogfood", "QA", "exploratory test", "find issues", "bug hunt", "test this app/site/platform", or review the quality of a web application. Produces a structured report with full reproduction evidence -- step-by-step screenshots, repro videos, and detailed repro steps for every issue -- so findings can be handed directly to the responsible teams.
agent-browser
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction.
shadcn
Manages shadcn components and projects — adding, searching, fixing, debugging, styling, and composing UI, including chat interfaces. Provides project context, component docs, and usage examples. Applies when working with shadcn/ui, component registries, presets, --preset codes, or any project with a components.json file. Also triggers for "shadcn init", "create an app with --preset", "switch to --preset", and for building a design system or applying a DESIGN.md or brand spec to shadcn/ui.