Skip to main content

nats_jetstream

EXPERIMENTAL

This component is experimental and therefore subject to change or removal outside of major version releases.

Reads messages from NATS JetStream subjects.

Introduced in version 3.46.0.

# Common config fields, showing default values
input:
label: ""
nats_jetstream:
urls:
- nats://127.0.0.1:4222
queue: ""
subject: ""
durable: ""
deliver: all

Metadata#

This input adds the following metadata fields to each message:

- nats_subject

You can access these metadata fields using function interpolation.

Fields#

urls#

A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.

Type: array
Default: ["nats://127.0.0.1:4222"]

# Examples
urls:
- nats://127.0.0.1:4222
urls:
- nats://username:password@127.0.0.1:4222

queue#

The queue group to consume as.

Type: string
Default: ""

subject#

A subject to consume from. Supports wildcards for consuming multiple subjects.

Type: string
Default: ""

# Examples
subject: foo.bar.baz
subject: foo.*.baz
subject: foo.bar.*
subject: foo.>

durable#

Preserve the state of your consumer under a durable name.

Type: string
Default: ""

deliver#

Determines which messages to deliver when consuming without a durable subscriber.

Type: string
Default: "all"

OptionSummary
allDeliver all available messages.
lastDeliver starting with the last published messages.

max_ack_pending#

The maximum number of outstanding acks to be allowed before consuming is halted.

Type: int
Default: 1024

tls#

Custom TLS settings can be used to override system defaults.

Type: object

tls.enabled#

Whether custom TLS settings are enabled.

Type: bool
Default: false

tls.skip_cert_verify#

Whether to skip server side certificate verification.

Type: bool
Default: false

tls.enable_renegotiation#

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation.

Type: bool
Default: false
Requires version 3.45.0 or newer

tls.root_cas_file#

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate.

Type: string
Default: ""

# Examples
root_cas_file: ./root_cas.pem

tls.client_certs#

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both.

Type: array

# Examples
client_certs:
- cert: foo
key: bar
client_certs:
- cert_file: ./example.pem
key_file: ./example.key

tls.client_certs[].cert#

A plain text certificate to use.

Type: string
Default: ""

tls.client_certs[].key#

A plain text certificate key to use.

Type: string
Default: ""

tls.client_certs[].cert_file#

The path to a certificate to use.

Type: string
Default: ""

tls.client_certs[].key_file#

The path of a certificate key to use.

Type: string
Default: ""