Common Helm Configuration#

This page covers Helm values that apply to any Holoscan for Media NIM service chart deployment. The same keys appear under nvidia-active-speaker-detection-h4m-service.<key> when the NIM is deployed as part of the end-to-end demo chart.


Global Overrides#

Both the NIM service chart and the end-to-end sample (umbrella) chart expose a global section. When a global value is non-empty, it overrides the corresponding per-component key for all subcharts (sender, receiver, and NIM service). Leave a value as "" to use each component’s own setting instead.

Configuration

Helm Key

Overrides

Comment

Node placement

global.nodeSelector.hostname

<component>.nodeSelector.hostname

Schedule all pods on the same node.

Image pull secret

global.image.secret

<component>.image.secret

Single docker-registry secret name for nvcr.io across all components.

Multus network

global.network.name

<component>.network.name

NetworkAttachmentDefinition name; must match for ST 2110 traffic.

Scheduler

global.schedulerName

<component>.schedulerName

Pod spec.schedulerName for all components.

HTTP endpoint service type

global.service.type

<component>.service.type

Kubernetes Service type for each component endpoint (sender, receiver, NIM). Supported values: ClusterIP, NodePort, LoadBalancer. Default: NodePort. Use ClusterIP for internal access only and LoadBalancer for external access.

Tip

Use global values when deploying the umbrella chart so that node selector, pull secret, network, and scheduler need to be specified only once instead of per component.


Cluster and Workload#

Configuration

Helm Key

Comment

Deploy NIM workload

enabled

Default: chart-dependent; set false to skip NIM (for example, partial demo chart installation).

Name prefix

appName

Deployment and pod naming.

Replicas

replicas

Default: 1 for GPU media functions.

Node placement

nodeSelector.hostname

Matches kubernetes.io/hostname (or cluster labels).

Scheduler

schedulerName

Default: topo-aware-scheduler.

Container image

image.repository, image.tag

Published NIM image.

Image pull secret

image.secret

docker-registry secret name for nvcr.io.

Container security

containerSecurityContext.*

runAsUser, runAsGroup, runAsNonRoot, allowPrivilegeEscalation, capabilities.

Multus network attachment

network.name

Default: media-a-tx-net; must match your NetworkAttachmentDefinition name.


NGC and Model Download#

Configuration

Helm Key

Comment

Model download secret

ngcModelDownload.secretName

Secret containing NGC_API_KEY.

Secret key name

ngcModelDownload.secretKey

Default: NGC_API_KEY.


Model Cache and Logs PVCs#

Configuration

Helm Key

Comment

Model cache PVC

nimModelCache.*

Default path: /opt/nim/.cache.

NIM logs PVC

nimLogs.*

Default path: /workspace/nim-logs.

Subkeys: enabled, create, size, storageClassName, mountPath, readOnly, subPath. For configuration examples, refer to Advanced Usage.


NMOS#

Configuration

Helm Key

Environment Variable

Comment

NMOS discovery mode

nmos.enabled

AI4M_NMOS_ENABLED

true or false; false requires SMPTE ST 2110 static only (fixed IP addresses, ports, sessions).

Advertised hostname

nmos.hostname

mDNS / NMOS IS-04.

Description

nmos.description

NMOS description string.

Label

nmos.label

NMOS label string.

Note

NMOS HTTP port 9010 and the Multus network attachment media-a-tx-net are often set in chart templates—confirm for your chart version.


Ancillary Data Payload#

The Active Speaker Detection NIM emits per-frame results on SMPTE ST 2110-40 ancillary data. The application payload is a fixed layout (typically 312 bytes) for up to 12 bounding boxes. Use this reference when parsing ancillary packets in a custom receiver or test harness.

For session and Helm wiring, refer to Pipeline Configuration and Operator Configuration.

Binary Layout (Typical)#

Offset (bytes)

Member

Size (bytes)

0

bounding_boxes[0] (BBox)

16

16

bounding_boxes[1]

16

176

bounding_boxes[11]

16

Subtotal BBox[12]

192

192

tracking_id[0..11] (uint16)

24

216

audio_id[0..11] (int16)

24

240

confidence[0..11] (float)

48

288

is_speaking[0..11] (uint8)

12

300

num_bboxes (uint8)

1

301–303

(padding)

3

304

seq_no (uint64_t)

8

Total (typical)

312

Three bytes of padding at offsets 301–303 align the following seq_no field to an 8-byte boundary.

Note

Offsets and total size are typical for the preceding layout. If you rely on this layout in production tools, confirm against your NIM release.


See Also#