
NATS KV Put
CertifiedPut values into NATS Key/Value bucket
NATS KV Put
Put values into NATS Key/Value bucket
Writes one or more Key/Value entries to an existing NATS bucket. Values are rendered, serialized to JSON, and the resulting revisions are returned.
type: io.kestra.plugin.nats.kv.PutExamples
id: nats_kv_put
namespace: company.team
tasks:
- id: put
type: io.kestra.plugin.nats.kv.Put
url: nats://localhost:4222
username: nats_user
password: "{{ secret('NATS_PASSWORD') }}"
bucketName: my_bucket
values:
key1: value1
key2: value2
key3:
subKey1: some other value
Acquire a lock only if no one holds it
id: nats_kv_acquire_lock
namespace: company.team
tasks:
- id: acquire
type: io.kestra.plugin.nats.kv.Put
url: nats://localhost:4222
username: nats_user
password: "{{ secret('NATS_PASSWORD') }}"
bucketName: my_bucket
values:
lock_key: "{{ execution.id }}"
expectedRevision: 0
Installation
Our standard Docker images already include this plugin. If you use a -slim image or another setup, install it with the following command:
kestractl plugins get io.kestra.plugin:plugin-nats --compatible-for $KESTRA_VERSION For Kestra CLI, replace LATEST with a specific version or version range to pin the plugin version. For kestractl, use your Kestra version with --compatible-for, or specify an exact plugin version.
Properties
bucketName *string
1Bucket name
Rendered bucket identifier that must already exist.
url *string
1URL to connect to NATS server
The format is (nats://)server_url: port. You can also provide a connection token like so: nats://token@server_url: port
values *object
Values to write
Map of keys to values rendered then serialized to JSON before being stored.
assets
Assets this task consumes as inputs or produces as outputs, for lineage tracking and the asset graph (Enterprise Edition). A flow declaring this property on a task is rejected in the open-source edition.
io.kestra.core.models.assets.AssetsDeclaration
IGNOREFAILWARNAsset failure behavior
Behavior applied to the task state when a declared asset fails to render, emit, or be persisted (e.g. a lock conflict): FAIL escalates it to FAILED, WARN (default) warns it if it would otherwise succeed, IGNORE leaves the state untouched.
Whether to auto-register assets referenced dynamically at runtime that are not statically declared in inputs or outputs.
The assets consumed as inputs.
io.kestra.core.models.assets.AssetIdentifier
1The assets produced as outputs.
io.kestra.plugin.ee.assets.Dataset
1150{}1150io.kestra.plugin.ee.assets.File
1150{}1150io.kestra.plugin.ee.assets.Table
1150{}1150io.kestra.plugin.ee.assets.VM
1150{}1150io.kestra.core.models.assets.External
1150{}1150io.kestra.core.models.assets.Custom
11501Custom asset type
{}1150creds string
Credentials files authentification
expectedRevision integerstring
Expected revision
Write only if the key is still at this revision (compare-and-set), otherwise the task fails. Use the revisions output of a previous Put.
0 writes only if the key does not exist. Must be 0 or greater. Unset means the write is unconditional.
Only allowed with a single key: a revision belongs to one key, and writes to several keys are not atomic.
password string
Plaintext authentication password
token string
Token authentification
username string
Plaintext authentication username
Outputs
revisions object
Revision numbers
Revision returned by NATS for each written key.