Skip to content

Latest commit

 

History

History
3738 lines (3516 loc) · 87.8 KB

api.md

File metadata and controls

3738 lines (3516 loc) · 87.8 KB

API Reference

Packages:

jetstream.nats.io/v1beta2

Resource Types:

Stream

↩ Parent

Name Type Description Required
apiVersion string jetstream.nats.io/v1beta2 true
kind string Stream true
metadata object Refer to the Kubernetes API documentation for the fields of the `metadata` field. true
spec object
false
status object
false

Stream.spec

↩ Parent

Name Type Description Required
account string Name of the account to which the Stream belongs.
false
allowDirect boolean When true, allow higher performance, direct access to get individual messages.

Default: false
false
allowRollup boolean When true, allows the use of the Nats-Rollup header to replace all contents of a stream, or subject in a stream, with a single new message.

Default: false
false
compression enum Stream specific compression.

Enum: s2, none,
Default:
false
consumerLimits object
false
creds string NATS user credentials for connecting to servers. Please make sure your controller has mounted the creds on this path.

Default:
false
denyDelete boolean When true, restricts the ability to delete messages from a stream via the API. Cannot be changed once set to true.

Default: false
false
denyPurge boolean When true, restricts the ability to purge a stream via the API. Cannot be changed once set to true.

Default: false
false
description string The description of the stream.
false
discard enum When a Stream reach it's limits either old messages are deleted or new ones are denied.

Enum: old, new
Default: old
false
discardPerSubject boolean Applies discard policy on a per-subject basis. Requires discard policy 'new' and 'maxMsgs' to be set.

Default: false
false
duplicateWindow string The duration window to track duplicate messages for.
false
firstSequence number Sequence number from which the Stream will start.

Default: 0
false
maxAge string Maximum age of any message in the stream, expressed in Go's time.Duration format. Empty for unlimited.

Default:
false
maxBytes integer How big the Stream may be, when the combined stream size exceeds this old messages are removed. -1 for unlimited.

Default: -1
Minimum: -1
false
maxConsumers integer How many Consumers can be defined for a given Stream. -1 for unlimited.

Default: -1
Minimum: -1
false
maxMsgSize integer The largest message that will be accepted by the Stream. -1 for unlimited.

Default: -1
Minimum: -1
false
maxMsgs integer How many messages may be in a Stream, oldest messages will be removed if the Stream exceeds this size. -1 for unlimited.

Default: -1
Minimum: -1
false
maxMsgsPerSubject integer The maximum number of messages per subject.

Default: 0
false
metadata map[string]string Additional Stream metadata.
false
mirror object A stream mirror.
false
mirrorDirect boolean When true, enables direct access to messages from the origin stream.

Default: false
false
name string A unique name for the Stream.
false
nkey string NATS user NKey for connecting to servers.

Default:
false
noAck boolean Disables acknowledging messages that are received by the Stream.

Default: false
false
placement object A stream's placement.
false
preventDelete boolean When true, the managed Stream will not be deleted when the resource is deleted.

Default: false
false
preventUpdate boolean When true, the managed Stream will not be updated when the resource is updated.

Default: false
false
replicas integer How many replicas to keep for each message.

Default: 1
Minimum: 1
false
republish object Republish configuration of the stream.
false
retention enum How messages are retained in the Stream, once this is exceeded old messages are removed.

Enum: limits, interest, workqueue
Default: limits
false
sealed boolean Seal an existing stream so no new messages may be added.

Default: false
false
servers []string A list of servers for creating stream.

Default: []
false
sources []object A stream's sources.
false
storage enum The storage backend to use for the Stream.

Enum: file, memory
Default: memory
false
subjectTransform object SubjectTransform is for applying a subject transform (to matching messages) when a new message is received.
false
subjects []string A list of subjects to consume, supports wildcards.
false
tls object A client's TLS certs and keys.
false
tlsFirst boolean When true, the KV Store will initiate TLS before server INFO.

Default: false
false

Stream.spec.consumerLimits

↩ Parent

Name Type Description Required
inactiveThreshold string The duration of inactivity after which a consumer is considered inactive.
false
maxAckPending integer Maximum number of outstanding unacknowledged messages.
false

Stream.spec.mirror

↩ Parent

A stream mirror.

Name Type Description Required
externalApiPrefix string
false
externalDeliverPrefix string
false
filterSubject string
false
name string
false
optStartSeq integer
false
optStartTime string Time format must be RFC3339.
false
subjectTransforms []object List of subject transforms for this mirror.
false

Stream.spec.mirror.subjectTransforms[index]

↩ Parent

A subject transform pair.

Name Type Description Required
dest string Destination subject.
false
source string Source subject.
false

Stream.spec.placement

↩ Parent

A stream's placement.

Name Type Description Required
cluster string
false
tags []string
false

Stream.spec.republish

↩ Parent

Republish configuration of the stream.

Name Type Description Required
destination string Messages will be additionally published to this subject.
false
source string Messages will be published from this subject to the destination subject.
false

Stream.spec.sources[index]

↩ Parent

Name Type Description Required
externalApiPrefix string
false
externalDeliverPrefix string
false
filterSubject string
false
name string
false
optStartSeq integer
false
optStartTime string Time format must be RFC3339.
false
subjectTransforms []object List of subject transforms for this mirror.
false

Stream.spec.sources[index].subjectTransforms[index]

↩ Parent

A subject transform pair.

Name Type Description Required
dest string Destination subject.
false
source string Source subject.
false

Stream.spec.subjectTransform

↩ Parent

SubjectTransform is for applying a subject transform (to matching messages) when a new message is received.

Name Type Description Required
dest string Destination subject to transform into.
false
source string Source subject.
false

Stream.spec.tls

↩ Parent

A client's TLS certs and keys.

Name Type Description Required
clientCert string A client's cert filepath. Should be mounted.
false
clientKey string A client's key filepath. Should be mounted.
false
rootCas []string A list of filepaths to CAs. Should be mounted.
false

Stream.status

↩ Parent

Name Type Description Required
conditions []object
false
observedGeneration integer
false

Stream.status.conditions[index]

↩ Parent

Name Type Description Required
lastTransitionTime string
false
message string
false
reason string
false
status string
false
type string
false

Consumer

↩ Parent

Name Type Description Required
apiVersion string jetstream.nats.io/v1beta2 true
kind string Consumer true
metadata object Refer to the Kubernetes API documentation for the fields of the `metadata` field. true
spec object
false
status object
false

Consumer.spec

↩ Parent

Name Type Description Required
account string Name of the account to which the Consumer belongs.
false
ackPolicy enum How messages should be acknowledged.

Enum: none, all, explicit
Default: none
false
ackWait string How long to allow messages to remain un-acknowledged before attempting redelivery.

Default: 1ns
false
backoff []string List of durations representing a retry time scale for NaK'd or retried messages.
false
creds string NATS user credentials for connecting to servers. Please make sure your controller has mounted the creds on its path.

Default:
false
deliverGroup string The name of a queue group.
false
deliverPolicy enum Enum: all, last, new, byStartSequence, byStartTime
Default: all
false
deliverSubject string The subject to deliver observed messages, when not set, a pull-based Consumer is created.
false
description string The description of the consumer.
false
durableName string The name of the Consumer.
false
filterSubject string Select only a specific incoming subjects, supports wildcards.
false
filterSubjects []string List of incoming subjects, supports wildcards. Available since 2.10.
false
flowControl boolean Enables flow control.

Default: false
false
headersOnly boolean When set, only the headers of messages in the stream are delivered, and not the bodies. Additionally, Nats-Msg-Size header is added to indicate the size of the removed payload.

Default: false
false
heartbeatInterval string The interval used to deliver idle heartbeats for push-based consumers, in Go's time.Duration format.
false
inactiveThreshold string The idle time an Ephemeral Consumer allows before it is removed.
false
maxAckPending integer Maximum pending Acks before consumers are paused.
false
maxDeliver integer Minimum: -1
false
maxRequestBatch integer The largest batch property that may be specified when doing a pull on a Pull Consumer.
false
maxRequestExpires string The maximum expires duration that may be set when doing a pull on a Pull Consumer.
false
maxRequestMaxBytes integer The maximum max_bytes value that maybe set when dong a pull on a Pull Consumer.
false
maxWaiting integer The number of pulls that can be outstanding on a pull consumer, pulls received after this is reached are ignored.
false
memStorage boolean Force the consumer state to be kept in memory rather than inherit the setting from the stream.

Default: false
false
metadata map[string]string Additional Consumer metadata.
false
nkey string NATS user NKey for connecting to servers.

Default:
false
optStartSeq integer Minimum: 0
false
optStartTime string Time format must be RFC3339.
false
preventDelete boolean When true, the managed Consumer will not be deleted when the resource is deleted.

Default: false
false
preventUpdate boolean When true, the managed Consumer will not be updated when the resource is updated.

Default: false
false
rateLimitBps integer Rate at which messages will be delivered to clients, expressed in bit per second.
false
replayPolicy enum How messages are sent.

Enum: instant, original
Default: instant
false
replicas integer When set do not inherit the replica count from the stream but specifically set it to this amount.
false
sampleFreq string What percentage of acknowledgements should be samples for observability.
false
servers []string A list of servers for creating consumer.

Default: []
false
streamName string The name of the Stream to create the Consumer in.
false
tls object A client's TLS certs and keys.
false
tlsFirst boolean When true, the KV Store will initiate TLS before server INFO.

Default: false
false

Consumer.spec.tls

↩ Parent

A client's TLS certs and keys.

Name Type Description Required
clientCert string A client's cert filepath. Should be mounted.
false
clientKey string A client's key filepath. Should be mounted.
false
rootCas []string A list of filepaths to CAs. Should be mounted.
false

Consumer.status

↩ Parent

Name Type Description Required
conditions []object
false
observedGeneration integer
false

Consumer.status.conditions[index]

↩ Parent

Name Type Description Required
lastTransitionTime string
false
message string
false
reason string
false
status string
false
type string
false

Account

↩ Parent

Name Type Description Required
apiVersion string jetstream.nats.io/v1beta2 true
kind string Account true
metadata object Refer to the Kubernetes API documentation for the fields of the `metadata` field. true
spec object
false
status object
false

Account.spec

↩ Parent

Name Type Description Required
creds object The creds to be used to connect to the NATS Service.
false
name string A unique name for the Account.
false
servers []string A list of servers to connect.
false
tls object The TLS certs to be used to connect to the NATS Service.
false
tlsFirst boolean When true, the KV Store will initiate TLS before server INFO.

Default: false
false
token object The token to be used to connect to the NATS Service.
false
user object The user and password to be used to connect to the NATS Service.
false

Account.spec.creds

↩ Parent

The creds to be used to connect to the NATS Service.

Name Type Description Required
file string Credentials file, generated with github.com/nats-io/nsc tool.
false
secret object
false

Account.spec.creds.secret

↩ Parent

Name Type Description Required
name string Name of the secret with the creds.
false

Account.spec.tls

↩ Parent

The TLS certs to be used to connect to the NATS Service.

Name Type Description Required
ca string Filename of the Root CA of the TLS cert.
false
cert string Filename of the TLS cert.
false
key string Filename of the TLS cert key.
false
secret object
false

Account.spec.tls.secret

↩ Parent

Name Type Description Required
name string Name of the TLS secret with the certs.
false

Account.spec.token

↩ Parent

The token to be used to connect to the NATS Service.

Name Type Description Required
secret object
false
token string Key in the secret that contains the token.
false

Account.spec.token.secret

↩ Parent

Name Type Description Required
name string Name of the secret with the token.
false

Account.spec.user

↩ Parent

The user and password to be used to connect to the NATS Service.

Name Type Description Required
password string Key in the secret that contains the password.
false
secret object
false
user string Key in the secret that contains the user.
false

Account.spec.user.secret

↩ Parent

Name Type Description Required
name string Name of the secret with the user and password.
false

Account.status

↩ Parent

Name Type Description Required
conditions []object
false
observedGeneration integer
false

Account.status.conditions[index]

↩ Parent

Name Type Description Required
lastTransitionTime string
false
message string
false
reason string
false
status string
false
type string
false

KeyValue

↩ Parent

Name Type Description Required
apiVersion string jetstream.nats.io/v1beta2 true
kind string KeyValue true
metadata object Refer to the Kubernetes API documentation for the fields of the `metadata` field. true
spec object
false
status object
false

KeyValue.spec

↩ Parent

Name Type Description Required
account string Name of the account to which the Stream belongs.
false
bucket string A unique name for the KV Store.
false
compression boolean KV Store compression.
false
creds string NATS user credentials for connecting to servers. Please make sure your controller has mounted the creds on its path.

Default:
false
description string The description of the KV Store.
false
history integer The number of historical values to keep per key.
false
maxBytes integer The maximum size of the KV Store in bytes.
false
maxValueSize integer The maximum size of a value in bytes.
false
mirror object A KV Store mirror.
false
nkey string NATS user NKey for connecting to servers.

Default:
false
placement object The KV Store placement via tags or cluster name.
false
preventDelete boolean When true, the managed KV Store will not be deleted when the resource is deleted.

Default: false
false
preventUpdate boolean When true, the managed KV Store will not be updated when the resource is updated.

Default: false
false
replicas integer The number of replicas to keep for the KV Store in clustered JetStream.

Default: 1
Minimum: 1
Maximum: 5
false
republish object Republish configuration for the KV Store.
false
servers []string A list of servers for creating the KV Store.

Default: []
false
sources []object A KV Store's sources.
false
storage enum The storage backend to use for the KV Store.

Enum: file, memory
false
tls object A client's TLS certs and keys.
false
tlsFirst boolean When true, the KV Store will initiate TLS before server INFO.

Default: false
false
ttl string The time expiry for keys.
false

KeyValue.spec.mirror

↩ Parent

A KV Store mirror.

Name Type Description Required
externalApiPrefix string
false
externalDeliverPrefix string
false
filterSubject string
false
name string
false
optStartSeq integer
false
optStartTime string Time format must be RFC3339.
false
subjectTransforms []object List of subject transforms for this mirror.
false

KeyValue.spec.mirror.subjectTransforms[index]

↩ Parent

A subject transform pair.

Name Type Description Required
dest string Destination subject.
false
source string Source subject.
false

KeyValue.spec.placement

↩ Parent

The KV Store placement via tags or cluster name.

Name Type Description Required
cluster string
false
tags []string
false

KeyValue.spec.republish

↩ Parent

Republish configuration for the KV Store.

Name Type Description Required
destination string Messages will be additionally published to this subject after Bucket.
false
source string Messages will be published from this subject to the destination subject.
false

KeyValue.spec.sources[index]

↩ Parent

Name Type Description Required
externalApiPrefix string
false
externalDeliverPrefix string
false
filterSubject string
false
name string
false
optStartSeq integer
false
optStartTime string Time format must be RFC3339.
false
subjectTransforms []object List of subject transforms for this mirror.
false

KeyValue.spec.sources[index].subjectTransforms[index]

↩ Parent

A subject transform pair.

Name Type Description Required
dest string Destination subject.
false
source string Source subject.
false

KeyValue.spec.tls

↩ Parent

A client's TLS certs and keys.

Name Type Description Required
clientCert string A client's cert filepath. Should be mounted.
false
clientKey string A client's key filepath. Should be mounted.
false
rootCas []string A list of filepaths to CAs. Should be mounted.
false

KeyValue.status

↩ Parent

Name Type Description Required
conditions []object
false
observedGeneration integer
false

KeyValue.status.conditions[index]

↩ Parent

Name Type Description Required
lastTransitionTime string
false
message string
false
reason string
false
status string
false
type string
false

ObjectStore

↩ Parent

Name Type Description Required
apiVersion string jetstream.nats.io/v1beta2 true
kind string ObjectStore true
metadata object Refer to the Kubernetes API documentation for the fields of the `metadata` field. true
spec object
false
status object
false

ObjectStore.spec

↩ Parent

Name Type Description Required
account string Name of the account to which the Object Store belongs.
false
bucket string A unique name for the Object Store.
false
compression boolean Object Store compression.
false
creds string NATS user credentials for connecting to servers. Please make sure your controller has mounted the creds on its path.

Default:
false
description string The description of the Object Store.
false
maxBytes integer The maximum size of the Store in bytes.
false
metadata map[string]string Additional Object Store metadata.
false
nkey string NATS user NKey for connecting to servers.

Default:
false
placement object The Object Store placement via tags or cluster name.
false
preventDelete boolean When true, the managed Object Store will not be deleted when the resource is deleted.

Default: false
false
preventUpdate boolean When true, the managed Object Store will not be updated when the resource is updated.

Default: false
false
replicas integer The number of replicas to keep for the Object Store in clustered JetStream.

Default: 1
Minimum: 1
Maximum: 5
false
servers []string A list of servers for creating the Object Store.

Default: []
false
storage enum The storage backend to use for the Object Store.

Enum: file, memory
false
tls object A client's TLS certs and keys.
false
tlsFirst boolean When true, the KV Store will initiate TLS before server INFO.

Default: false
false
ttl string The time expiry for keys.
false

ObjectStore.spec.placement

↩ Parent

The Object Store placement via tags or cluster name.

Name Type Description Required
cluster string
false
tags []string
false

ObjectStore.spec.tls

↩ Parent

A client's TLS certs and keys.

Name Type Description Required
clientCert string A client's cert filepath. Should be mounted.
false
clientKey string A client's key filepath. Should be mounted.
false
rootCas []string A list of filepaths to CAs. Should be mounted.
false

ObjectStore.status

↩ Parent

Name Type Description Required
conditions []object
false
observedGeneration integer
false

ObjectStore.status.conditions[index]

↩ Parent

Name Type Description Required
lastTransitionTime string
false
message string
false
reason string
false
status string
false
type string
false

jetstream.nats.io/v1beta1

Resource Types:

Stream

↩ Parent

Name Type Description Required
apiVersion string jetstream.nats.io/v1beta1 true
kind string Stream true
metadata object Refer to the Kubernetes API documentation for the fields of the `metadata` field. true
spec object
false
status object
false

Stream.spec

↩ Parent

Name Type Description Required
description string The description of the stream.
false
discard enum When a Stream reach it's limits either old messages are deleted or new ones are denied.

Enum: old, new
Default: old
false
duplicateWindow string The duration window to track duplicate messages for.
false
maxAge string Maximum age of any message in the stream, expressed in Go's time.Duration format. Empty for unlimited.

Default:
false
maxBytes integer How big the Stream may be, when the combined stream size exceeds this old messages are removed. -1 for unlimited.

Default: -1
Minimum: -1
false
maxConsumers integer How many Consumers can be defined for a given Stream. -1 for unlimited.

Default: -1
Minimum: -1
false
maxMsgSize integer The largest message that will be accepted by the Stream. -1 for unlimited.

Default: -1
Minimum: -1
false
maxMsgs integer How many messages may be in a Stream, oldest messages will be removed if the Stream exceeds this size. -1 for unlimited.

Default: -1
Minimum: -1
false
maxMsgsPerSubject integer The maximum number of messages per subject.

Default: 0
false
mirror object A stream mirror.
false
name string A unique name for the Stream.
false
noAck boolean Disables acknowledging messages that are received by the Stream.

Default: false
false
placement object A stream's placement.
false
replicas integer How many replicas to keep for each message.

Default: 1
Minimum: 1
false
retention enum How messages are retained in the Stream, once this is exceeded old messages are removed.

Enum: limits, interest, workqueue
Default: limits
false
sources []object A stream's sources.
false
storage enum The storage backend to use for the Stream.

Enum: file, memory
Default: memory
false
subjects []string A list of subjects to consume, supports wildcards.
false

Stream.spec.mirror

↩ Parent

A stream mirror.

Name Type Description Required
externalApiPrefix string
false
externalDeliverPrefix string
false
filterSubject string
false
name string
false
optStartSeq integer
false
optStartTime string Time format must be RFC3339.
false

Stream.spec.placement

↩ Parent

A stream's placement.

Name Type Description Required
cluster string
false
tags []string
false

Stream.spec.sources[index]

↩ Parent

Name Type Description Required
externalApiPrefix string
false
externalDeliverPrefix string
false
filterSubject string
false
name string
false
optStartSeq integer
false
optStartTime string Time format must be RFC3339.
false

Stream.status

↩ Parent

Name Type Description Required
conditions []object
false
observedGeneration integer
false

Stream.status.conditions[index]

↩ Parent

Name Type Description Required
lastTransitionTime string
false
message string
false
reason string
false
status string
false
type string
false

Consumer

↩ Parent

Name Type Description Required
apiVersion string jetstream.nats.io/v1beta1 true
kind string Consumer true
metadata object Refer to the Kubernetes API documentation for the fields of the `metadata` field. true
spec object
false
status object
false

Consumer.spec

↩ Parent

Name Type Description Required
ackPolicy enum How messages should be acknowledged.

Enum: none, all, explicit
Default: none
false
ackWait string How long to allow messages to remain un-acknowledged before attempting redelivery.

Default: 1ns
false
deliverGroup string The name of a queue group.
false
deliverPolicy enum Enum: all, last, new, byStartSequence, byStartTime
Default: all
false
deliverSubject string The subject to deliver observed messages, when not set, a pull-based Consumer is created.
false
description string The description of the consumer.
false
durableName string The name of the Consumer.
false
filterSubject string Select only a specific incoming subjects, supports wildcards.
false
flowControl boolean Enables flow control.

Default: false
false
heartbeatInterval string The interval used to deliver idle heartbeats for push-based consumers, in Go's time.Duration format.
false
maxAckPending integer Maximum pending Acks before consumers are paused.
false
maxDeliver integer Minimum: -1
false
optStartSeq integer Minimum: 0
false
optStartTime string Time format must be RFC3339.
false
rateLimitBps integer Rate at which messages will be delivered to clients, expressed in bit per second.
false
replayPolicy enum How messages are sent.

Enum: instant, original
Default: instant
false
sampleFreq string What percentage of acknowledgements should be samples for observability.
false
streamName string The name of the Stream to create the Consumer in.
false

Consumer.status

↩ Parent

Name Type Description Required
conditions []object
false
observedGeneration integer
false

Consumer.status.conditions[index]

↩ Parent

Name Type Description Required
lastTransitionTime string
false
message string
false
reason string
false
status string
false
type string
false

StreamTemplate

↩ Parent

Name Type Description Required
apiVersion string jetstream.nats.io/v1beta1 true
kind string StreamTemplate true
metadata object Refer to the Kubernetes API documentation for the fields of the `metadata` field. true
spec object
false
status object
false

StreamTemplate.spec

↩ Parent

Name Type Description Required
discard enum When a Stream reach it's limits either old messages are deleted or new ones are denied.

Enum: old, new
Default: old
false
duplicateWindow string The duration window to track duplicate messages for.
false
maxAge string Maximum age of any message in the stream, expressed in Go's time.Duration format. Empty for unlimited.

Default:
false
maxBytes integer How big the Stream may be, when the combined stream size exceeds this old messages are removed. -1 for unlimited.

Default: -1
Minimum: -1
false
maxConsumers integer How many Consumers can be defined for a given Stream. -1 for unlimited.

Default: -1
Minimum: -1
false
maxMsgSize integer The largest message that will be accepted by the Stream. -1 for unlimited.

Default: -1
Minimum: -1
false
maxMsgs integer How many messages may be in a Stream, oldest messages will be removed if the Stream exceeds this size. -1 for unlimited.

Default: -1
Minimum: -1
false
maxStreams integer The maximum number of Streams this Template can create, -1 for unlimited.

Default: -1
Minimum: -1
false
name string A unique name for the Stream Template.
false
noAck boolean Disables acknowledging messages that are received by the Stream.

Default: false
false
replicas integer How many replicas to keep for each message.

Default: 1
Minimum: 1
false
retention enum How messages are retained in the Stream, once this is exceeded old messages are removed.

Enum: limits, interest, workqueue
Default: limits
false
storage enum The storage backend to use for the Stream.

Enum: file, memory
Default: memory
false
subjects []string A list of subjects to consume, supports wildcards.
false

StreamTemplate.status

↩ Parent

Name Type Description Required
conditions []object
false
observedGeneration integer
false

StreamTemplate.status.conditions[index]

↩ Parent

Name Type Description Required
lastTransitionTime string
false
message string
false
reason string
false
status string
false
type string
false