$npx -y skills add NVIDIA/skills --skill doca-container-deploymentUse this skill when the user is hands-on deploying an in-bundle DOCA service container (Argus, DMS, Firefly, Flow-Inspector, OS-Inspector, UROM service) on a BlueField — kubelet standalone watching a static-pod manifests directory, YAML pod-spec drop, kubelet status / ENTRYPOINT
| 1 | # DOCA container deployment |
| 2 | |
| 3 | **Where to start:** This skill is for *operating* the cross-cutting |
| 4 | DOCA container-deployment runtime — the shared pattern every DOCA |
| 5 | service on the BlueField uses to come up (kubelet standalone agent |
| 6 | on the BlueField Arm watching a static-pod manifests directory; the |
| 7 | operator drops a YAML pod spec into that directory; kubelet schedules |
| 8 | the pod and runs the container). |
| 9 | |
| 10 | **If the developer has NOT yet decided container vs. bare-metal** |
| 11 | (*"I just got a BlueField, what now?"*, *"my code is built, how do I |
| 12 | run it?"*, *"how do I deploy this?"*), route them BACK to |
| 13 | [`doca-setup ## recognize`](../doca-setup/TASKS.md#recognize) first. |
| 14 | That is the front-door routing decision. The wrong failure mode is |
| 15 | to silently push every developer onto the container path because the |
| 16 | agent loaded this skill first. `## recognize` detects the system |
| 17 | shape, asks the minimum residual question, and lands the developer on |
| 18 | either this skill (when the workload is a packaged DOCA service to |
| 19 | drop on a BlueField) or the bare-metal-path sibling |
| 20 | [`doca-bare-metal-deployment`](../doca-bare-metal-deployment/SKILL.md) |
| 21 | (when the workload is a DOCA-linked application binary the developer |
| 22 | launches directly). |
| 23 | |
| 24 | **If the developer is already on the container path**, open |
| 25 | [`TASKS.md`](TASKS.md) and start at |
| 26 | [`## configure`](TASKS.md#configure). If the question is *what shape |
| 27 | of runtime is this and what does the deployment contract look like*, |
| 28 | start at [`CAPABILITIES.md`](CAPABILITIES.md). For per-service |
| 29 | overlays, follow the per-service skill under `skills/services/` that |
| 30 | layers on top of this one — the DOCA monorepo ships six service |
| 31 | skills (Argus, DMS, Firefly, Flow-Inspector, OS-Inspector, UROM |
| 32 | service); externally-productized NVIDIA services (BlueMan, HBN, SNAP, |
| 33 | Virtio-net, DOCA Telemetry Service as productized, …) are out of |
| 34 | scope for this bundle by the strict-to-DOCA invariant — route those |
| 35 | to the public NVIDIA docs at `docs.nvidia.com/doca/sdk/`. If DOCA is |
| 36 | not installed on the BlueField target yet, route to |
| 37 | [`doca-setup`](../doca-setup/SKILL.md) first. |
| 38 | |
| 39 | ## Audience |
| 40 | |
| 41 | This skill serves **external operators and platform teams who deploy |
| 42 | DOCA service containers on BlueField** — i.e., people who have a |
| 43 | BlueField with DOCA installed on the Arm side, a container runtime |
| 44 | plus the kubelet standalone agent already present per the BlueField |
| 45 | OS image, and the host-OS permissions the public DOCA Container |
| 46 | Deployment Guide names for the chosen service. The skill is the |
| 47 | shared deployment runtime; each per-service skill in the bundle |
| 48 | (see the list in [`## Related skills`](#related-skills)) supplies |
| 49 | the service-specific config schema, paired-workload contract, and |
| 50 | "healthy" definition. |
| 51 | |
| 52 | It is **not** for NVIDIA developers contributing to the BlueField |
| 53 | container runtime or to kubelet itself, and it is **not** a generic |
| 54 | Kubernetes tutorial. Kubelet runs on the BlueField in *standalone* |
| 55 | mode here — no full Kubernetes control plane, no `kubectl` against |
| 56 | a cluster API server — and the substantive answer to most |
| 57 | container-deployment questions on the BlueField is the public DOCA |
| 58 | Container Deployment Guide. This skill teaches the agent which |
| 59 | guide to quote, in what order to walk it, and how to map a symptom |
| 60 | to a layer; it does NOT re-invent kubelet flags, pod-spec field |
| 61 | names, or static-pod path strings. The shared deployment runtime |
| 62 | described here is the cross-cutting layer; the per-service skill |
| 63 | (`doca-argus`, `doca-dms`, `doca-firefly`, |
| 64 | `doca-urom-svc`) supplies the per-service |
| 65 | config schema, paired-workload contract, and "healthy" definition. |
| 66 | |
| 67 | ## When to load this skill |
| 68 | |
| 69 | Load this skill when the user is doing |