Configure the pipeline
Categories:
The Redfish listener pipeline is embedded in the listener Helm values under zapp.listeners[].config.pipeline. The chart mounts the content at /config/pipeline.yaml.

The Redfish pipeline discovers sensors before components start, then forwards telemetry to the ZAPP Aggregator.
Sensor pipeline
Configure Redfish endpoints under envPlugins.sensorPipeline. This block runs before components start and populates the listener manifest.
envPlugins:
sensorPipeline:
maxRedfishConnections: 1
redfishDevices:
- endpoint: ${secrets.redfish_endpoint}
username: ${secrets.redfish_username}
password: ${secrets.redfish_password}
version: 1.11.0
manifest:
path: /data/redfish-sensor-manifest.yaml
forceReload: false
Important fields:
redfishDeviceslists the BMC Redfish endpoints and credentialsmanifest.pathstores the discovered sensor manifestmanifest.forceReloadcontrols whether discovery reuses or refreshes the manifest
Sensor pipeline with a UDP listener
Pair the sensor pipeline above with a UDP listener pipeline when the listener needs a Redfish-backed sensor manifest and also receives ZAPP UDP payloads.
components:
listener:
type: udpListener
network: udp
address: :9091
targets:
- target: payloadProcessor
cap: 1000
leaky: true
payloadProcessor:
type: payloadProcessor
timeseries:
targets:
- target: aggregator
default:
targets:
- target: aggregator
aggregator:
type: aggregatorStreamer
In this pipeline:
udpListenerreceives ZAPP UDP packetspayloadProcessorparses NVIDIA timeseries payloads and forwards non-timeseries payloadsaggregatorStreamerstreams both time-series and payload batches to the ZAPP Aggregator
Direct Redfish collector pipeline
ZAPP also includes a direct redfishCollector pipeline pattern. This collector uses the devices from envPlugins.sensorPipeline.redfishDevices, polls each device, and emits timeseries models to the configured targets.
components:
redfish:
type: redfishCollector
timeout: 30s
samplePeriod: 5s
targets:
- target: aggregator
cap: 1000
leaky: true
aggregator:
type: aggregatorStreamer
Use this pattern when the listener should poll Redfish telemetry directly instead of receiving telemetry through the UDP listener path.
Target behavior
Pipeline targets connect components with channels:
targets:
- target: aggregator
cap: 1000
leaky: true
Set leaky: true when you prefer dropping data over blocking the upstream component during back pressure. Use blocking targets when the upstream component must slow down instead of dropping telemetry.