Stand-alone Flow

Prerequisite: Understand Data Flow concepts and Bridges.

Stand-alone flows provide raw Benthos access for custom data processing when bridges or stream processors aren't sufficient. They're the fallback mechanism for write flows, external integrations, and specialized transformations.

When to Use

Use stand-alone flows for:

  • Point-to-point data transformation

  • External system integration (databases, APIs, files)

  • Custom processing that doesn't fit bridge patterns

Use bridges instead for:

  • Industrial device connections

  • Data that needs UNS organization

  • Connections requiring health monitoring

UI Capabilities

Action
Available
Notes

Create flows

Via UI with YAML editor

View flows

Listed in Standalone tab

Edit configuration

Direct YAML editing

Control state

Active/Stopped toggle

Use example templates

Pre-built samples available

Monitor status

Throughput and state

View logs

Real-time log streaming

View metrics

Performance monitoring

Delete flows

Via context menu

Creating a Stand-alone Flow (UI)

Step 1: Navigate to Data Flows

Go to Data FlowsStandalone tab and click Add Standalone Flow:

Standalone Flows List

Step 2: Configure the Flow

The configuration interface has multiple sections:

Standalone Flow Configuration

Key sections:

  • General: Name, instance, and state control (Active/Stopped)

  • Input (YAML): Configure data source (see Benthos-UMH inputs)

  • Processing (YAML): Transform data with processors

  • Output (YAML): Send to any destination (generic, not auto-generated like bridges)

  • Examples: Pre-built templates including database bridges

Step 3: Use Example Templates

Click the Examples tab to access pre-built configurations:

Example Templates

Available examples include:

  • mqtt_to_kafka_historian_bridge: MQTT to Kafka with historian pattern

  • kafka_to_postgresql_historian_bridge: Write to TimescaleDB (like Classic)

  • opcua_to_umh_core: OPC UA integration

  • generate_to_stdout: Testing pattern

Step 4: Control Flow State

Use the state dropdown to control execution:

State Control
  • Active: Flow is running

  • Stopped: Temporarily disabled (useful for maintenance)

Managing Stand-alone Flows

Right-click any flow for quick actions:

Context Menu

Options include:

  • Standalone Flow: Edit configuration

  • Logs: View real-time logs

  • Metrics: Monitor performance

  • Delete: Remove the flow

Configuration (YAML)

Stand-alone flows use standard Benthos configuration:

dataFlow:
  - name: custom-processor
    desiredState: active
    dataFlowComponentConfig:
      benthos:
        input:
          # Any Benthos input
        pipeline:
          processors:
            # Processing logic
        output:
          # Any Benthos output

Migrating from Benthos

Existing Benthos configurations work with minimal changes:

# Original Benthos config
input:
  mqtt:
    urls: ["tcp://broker:1883"]
output:
  stdout: {}

# As UMH Core stand-alone flow
dataFlow:
  - name: migrated-flow
    desiredState: active
    dataFlowComponentConfig:
      benthos:
        input:
          mqtt:
            urls: ["tcp://broker:1883"]
        output:
          stdout: {}

Next Steps

Last updated