Skip to main content

dynamic

A special broker type where the outputs are identified by unique labels and can be created, changed and removed during runtime via a REST API.

# Config fields, showing default values
output:
label: ""
dynamic:
outputs: {}
prefix: ""

The broker pattern used is always fan_out, meaning each message will be delivered to each dynamic output.

Fields

outputs

A map of outputs to statically create.

Type: object
Default: {}

prefix

A path prefix for HTTP endpoints that are registered.

Type: string
Default: ""

Examples

Demonstrates a dynamic output composed of a stdout and a file output, identified by 'stdout_output_id' and 'file_output_id'.

output:
dynamic:
outputs:
file_output_id:
file:
path: ./foo/bar.baz

stdout_output_id:
stdout: {}

Endpoints

GET /outputs

Returns a JSON object detailing all dynamic outputs, providing information such as their current uptime and configuration.

GET /outputs/{id}

Returns the configuration of an output.

POST /outputs/{id}

Creates or updates an output with a configuration provided in the request body (in YAML or JSON format).

DELETE /outputs/{id}

Stops and removes an output.

GET /outputs/{id}/uptime

Returns the uptime of an output as a duration string (of the form "72h3m0.5s").