Skip to content

Commit 99b35ef

Browse files
Update NATS JetStream Stream CRD (#776)
1 parent 76aa576 commit 99b35ef

File tree

1 file changed

+81
-13
lines changed

1 file changed

+81
-13
lines changed

jetstream.nats.io/stream_v1beta2.json

Lines changed: 81 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,29 @@
77
"pattern": "^[^.*>]*$",
88
"type": "string"
99
},
10+
"allowAtomicPublish": {
11+
"default": false,
12+
"description": "When true, enables atomic batch publishing.",
13+
"type": "boolean"
14+
},
1015
"allowDirect": {
1116
"default": false,
12-
"description": "When true, allow higher performance, direct access to get individual messages",
17+
"description": "When true, allow higher performance, direct access to get individual messages.",
18+
"type": "boolean"
19+
},
20+
"allowMsgCounter": {
21+
"default": false,
22+
"description": "When true, enables message counters for the stream.",
23+
"type": "boolean"
24+
},
25+
"allowMsgSchedules": {
26+
"default": false,
27+
"description": "When true, enables message scheduling.",
28+
"type": "boolean"
29+
},
30+
"allowMsgTtl": {
31+
"default": false,
32+
"description": "When true, allows header initiated per-message TTLs. If disabled, then the `NATS-TTL` header will be ignored.",
1333
"type": "boolean"
1434
},
1535
"allowRollup": {
@@ -27,16 +47,36 @@
2747
],
2848
"type": "string"
2949
},
50+
"consumerLimits": {
51+
"description": "Consumer limits for the stream.",
52+
"properties": {
53+
"inactiveThreshold": {
54+
"description": "The duration of inactivity after which a consumer is considered inactive.",
55+
"type": "string"
56+
},
57+
"maxAckPending": {
58+
"description": "Maximum number of outstanding unacknowledged messages.",
59+
"type": "integer"
60+
}
61+
},
62+
"type": "object",
63+
"additionalProperties": false
64+
},
3065
"creds": {
3166
"default": "",
32-
"description": "NATS user credentials for connecting to servers. Please make sure your controller has mounted the cerds on its path.",
67+
"description": "NATS user credentials for connecting to servers. Please make sure your controller has mounted the creds on this path.",
3368
"type": "string"
3469
},
3570
"denyDelete": {
3671
"default": false,
3772
"description": "When true, restricts the ability to delete messages from a stream via the API. Cannot be changed once set to true.",
3873
"type": "boolean"
3974
},
75+
"denyPurge": {
76+
"default": false,
77+
"description": "When true, restricts the ability to purge a stream via the API. Cannot be changed once set to true.",
78+
"type": "boolean"
79+
},
4080
"description": {
4181
"description": "The description of the stream.",
4282
"type": "string"
@@ -52,7 +92,7 @@
5292
},
5393
"discardPerSubject": {
5494
"default": false,
55-
"description": "Allows to discard messages on a subject basis.",
95+
"description": "Applies discard policy on a per-subject basis. Requires discard policy 'new' and 'maxMsgs' to be set.",
5696
"type": "boolean"
5797
},
5898
"duplicateWindow": {
@@ -64,6 +104,10 @@
64104
"description": "Sequence number from which the Stream will start.",
65105
"type": "number"
66106
},
107+
"jsDomain": {
108+
"description": "The JetStream domain to use for the stream.",
109+
"type": "string"
110+
},
67111
"maxAge": {
68112
"default": "",
69113
"description": "Maximum age of any message in the stream, expressed in Go's time.Duration format. Empty for unlimited.",
@@ -95,7 +139,7 @@
95139
},
96140
"maxMsgsPerSubject": {
97141
"default": 0,
98-
"description": "The maximum of messages per subject.",
142+
"description": "The maximum number of messages per subject.",
99143
"type": "integer"
100144
},
101145
"metadata": {
@@ -150,6 +194,11 @@
150194
"type": "object",
151195
"additionalProperties": false
152196
},
197+
"mirrorDirect": {
198+
"default": false,
199+
"description": "When true, enables direct access to messages from the origin stream.",
200+
"type": "boolean"
201+
},
153202
"name": {
154203
"description": "A unique name for the Stream.",
155204
"minLength": 1,
@@ -166,6 +215,11 @@
166215
"description": "Disables acknowledging messages that are received by the Stream.",
167216
"type": "boolean"
168217
},
218+
"persistMode": {
219+
"default": "",
220+
"description": "Configures stream persistence settings (async or default).",
221+
"type": "string"
222+
},
169223
"placement": {
170224
"description": "A stream's placement.",
171225
"properties": {
@@ -184,12 +238,12 @@
184238
},
185239
"preventDelete": {
186240
"default": false,
187-
"description": "When true, the managed Stream will not be deleted when the resource is deleted",
241+
"description": "When true, the managed Stream will not be deleted when the resource is deleted.",
188242
"type": "boolean"
189243
},
190244
"preventUpdate": {
191245
"default": false,
192-
"description": "When true, the managed Stream will not be updated when the resource is updated",
246+
"description": "When true, the managed Stream will not be updated when the resource is updated.",
193247
"type": "boolean"
194248
},
195249
"replicas": {
@@ -202,11 +256,11 @@
202256
"description": "Republish configuration of the stream.",
203257
"properties": {
204258
"destination": {
205-
"description": "Messages will be additionally published to that subject.",
259+
"description": "Messages will be additionally published to this subject.",
206260
"type": "string"
207261
},
208262
"source": {
209-
"description": "Messages will be published from that subject to the destination subject.",
263+
"description": "Messages will be published from this subject to the destination subject.",
210264
"type": "string"
211265
}
212266
},
@@ -223,9 +277,14 @@
223277
],
224278
"type": "string"
225279
},
280+
"sealed": {
281+
"default": false,
282+
"description": "Seal an existing stream so no new messages may be added.",
283+
"type": "boolean"
284+
},
226285
"servers": {
227286
"default": [],
228-
"description": "A list of servers for creating stream",
287+
"description": "A list of servers for creating stream.",
229288
"items": {
230289
"type": "string"
231290
},
@@ -288,15 +347,20 @@
288347
],
289348
"type": "string"
290349
},
350+
"subjectDeleteMarkerTtl": {
351+
"default": "",
352+
"description": "Enables and sets a duration for adding server markers for delete, purge and max age limits.",
353+
"type": "string"
354+
},
291355
"subjectTransform": {
292-
"description": "SubjectTransform is for applying a subject transform (to matching messages) when a new message is received",
356+
"description": "SubjectTransform is for applying a subject transform (to matching messages) when a new message is received.",
293357
"properties": {
294358
"dest": {
295-
"description": "Destination subject to transform into",
359+
"description": "Destination subject to transform into.",
296360
"type": "string"
297361
},
298362
"source": {
299-
"description": "Source subject",
363+
"description": "Source subject.",
300364
"type": "string"
301365
}
302366
},
@@ -333,6 +397,11 @@
333397
},
334398
"type": "object",
335399
"additionalProperties": false
400+
},
401+
"tlsFirst": {
402+
"default": false,
403+
"description": "When true, the KV Store will initiate TLS before server INFO.",
404+
"type": "boolean"
336405
}
337406
},
338407
"type": "object",
@@ -374,4 +443,3 @@
374443
},
375444
"type": "object"
376445
}
377-

0 commit comments

Comments
 (0)