vss-setup-video-analytics-api
Use to deploy the vss-video-analytics-api REST service standalone (config-source, data-log bind, Elasticsearch, optional Kafka). Not for full warehouse deploy.
Security Assessment
About vss-setup-video-analytics-api
This skill deploys the `vss-video-analytics-api` REST service (a Node.js API from NVIDIA's VSS blueprint) as a standalone Docker container rather than as part of the full warehouse stack. It solves the narrow problem of running just the analytics REST API pointed at a chosen JSON config, a data-log bind mount, and an operator's own Elasticsearch and optional Kafka, without bringing up the entire blueprint. A minimal bring-up sets the apps and data directories, creates the data-log path, runs `docker compose up` for the single service, and probes `/livez`.
The skill routes to detailed references for the full deploy workflow and a field-by-field JSON configuration guide covering the server port (default 8081), Elasticsearch connection and retries, Kafka brokers (settable to an empty array to run broker-less), and application tuning knobs such as POST body size and AMR retention. It documents three config sources (image-baked default, service-shipped config, and a custom bind-mounted config) and includes troubleshooting for connection-refused, NGC 401/403 auth failures, and GPU out-of-memory conditions.
Target users are operators and agents who want the REST API alone, want to supply their own config, or want to point the API at a different Elasticsearch/Kafka. The skill is notably security-conscious about the `NGC_CLI_API_KEY`: it warns the key is a long-lived credential, tells users never to commit it, paste it into chat, or store it in `/tmp`, and recommends reading it interactively or from a secret manager and writing derived `.env` files with restrictive permissions.
FAQ
What does this skill deploy?
Just the `vss-video-analytics-api` Node.js REST container standalone (via its compose service), not the full VSS warehouse blueprint stack.
What are the prerequisites?
A repo checkout with `$VSS_APPS_DIR` pointing at `<repo>/deploy/docker/` for the compose volume binds, and NGC credentials in `$NGC_CLI_API_KEY` so Docker can pull the image.
Can it run without Kafka?
Yes. Setting `kafka.brokers` to an empty array or null disables Kafka entirely with no error and no retry loop; Kafka-dependent endpoints (dynamic config, calibration, RTLS/AMR) simply become unavailable.
How is the API configured?
The server loads a JSON config at startup via `--config`, controlling port (default 8081), Elasticsearch node/index/retries, Kafka brokers, and tuning knobs. Three config sources exist: image-baked default, service-shipped config, or a custom bind-mounted file.
How should the NGC API key be handled?
As a long-lived credential: never commit it, paste it into chat, or store it in `/tmp`. Read it interactively or from a secret manager and write any derived `.env` files with a restrictive umask and permissions.
All Files
9 filesInstall vss-setup-video-analytics-api
Quick Setup:
- Copy the skill folder to
.claude/skills/ - Claude will automatically detect and use the skill
Repository
nvidia/skills