dragonflight/sdk/README.md
Zac Gaetano fffff1c016 feat(cluster): install capture-card drivers/SDKs from the admin screen
Per-node "Capture Drivers / SDKs" panel installs Blackmagic / AJA / Deltacast
/ NDI drivers without SSH. node-agent gains NODE_TOKEN-gated /driver/install
+ /driver/status (spawns a one-shot privileged ubuntu container that bind-
mounts host kernel paths + the repo and runs deploy/install-driver.sh);
mam-api adds admin-gated /cluster/:id/install-driver + /driver-status.
Driver files live in-repo under sdk/<vendor>/ (private repo); binaries are
admin-supplied per each sdk/<vendor>/README.md. Vendor allowlist throughout.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-31 18:14:59 -04:00

1.8 KiB

Capture-card SDK / driver file store

This directory holds the proprietary, non-redistributable vendor SDKs and drivers used to enable SDI / NDI capture cards on cluster nodes.

INTERNAL ONLY. These files are licensed by their respective vendors and must not be published, redistributed, or committed to any public mirror. This repository is private. Do not change that.

Why these live in the repo

The cluster admin screen lets an operator install/update capture-card drivers on a node from the web UI (no SSH). The node-agent spawns a one-shot privileged container that bind-mounts this repository and runs deploy/install-driver.sh <vendor>, which reads the vendor files from sdk/<vendor>/. Because the install must work offline on an isolated broadcast LAN, the binaries ship in-repo rather than being fetched at install time.

Layout

sdk/
  README.md            ← this file
  blackmagic/          ← Blackmagic Desktop Video (DeckLink) .deb
  aja/                 ← AJA ntv2 driver source / installer
  deltacast/           ← Deltacast VideoMaster installer
  ndi/                 ← NDI redistributable runtime libs

Each vendor directory has its own README.md listing exactly which files an admin must drop in. A .gitkeep keeps the empty directory committed.

Important

  • No binaries are committed by default. The directory structure + READMEs are the deliverable. An admin downloads the proprietary files from the vendor (per their licence) and drops them in the matching sdk/<vendor>/ directory.
  • The install script fails gracefully with a clear message if the expected file is absent — it never fabricates or downloads binaries.
  • Target host OS for all install paths is Ubuntu 22.04 LTS (jammy), x86_64, matching the cluster worker nodes.