Creates a server that receives a stream of messages over a TCP, UDP or Unix socket.

# Config fields, showing default values
  label: ""
    network: "" # No default (required)
    address: /tmp/benthos.sock # No default (required)
    address_cache: "" # No default (optional)
      cert_file: "" # No default (optional)
      key_file: "" # No default (optional)
      self_signed: false
    auto_replay_nacks: true
      lines: {}



A network type to accept.

Type: string

Options: unix , tcp , udp , tls .


The address to listen from.

Type: string

# Examples

address: /tmp/benthos.sock



An optional cache within which this input should write it’s bound address once known. The key of the cache item containing the address will be the label of the component suffixed with _address (e.g. foo_address), or socket_server_address when a label has not been provided. This is useful in situations where the address is dynamically allocated by the server ( and you want to store the allocated address somewhere for reference by other systems and components.

Type: string

Requires version 4.25.0 or newer


TLS specific configuration, valid when the network is set to tls.

Type: object


PEM encoded certificate for use with TLS.

Type: string


PEM encoded private key for use with TLS.

Type: string


Whether to generate self signed certificates.

Type: bool

Default: false


Whether messages that are rejected (nacked) at the output level should be automatically replayed indefinitely, eventually resulting in back pressure if the cause of the rejections is persistent. If set to false these messages will instead be deleted. Disabling auto replays can greatly improve memory efficiency of high throughput streams as the original shape of the data can be discarded immediately upon consumption and mutation.

Type: bool

Default: true


The scanner by which the stream of bytes consumed will be broken out into individual messages. Scanners are useful for processing large sources of data without holding the entirety of it within memory. For example, the csv scanner allows you to process individual CSV rows without loading the entire CSV file in memory at once.

Type: scanner

Default: {"lines":{}} Requires version 4.25.0 or newer