Skip to content

Commit 3686f5f

Browse files
committed
Add stream metadata support
Signed-off-by: Tomasz Pietrek <[email protected]>
1 parent 0e208aa commit 3686f5f

File tree

5 files changed

+36
-0
lines changed

5 files changed

+36
-0
lines changed

Diff for: controllers/jetstream/stream.go

+8
Original file line numberDiff line numberDiff line change
@@ -434,6 +434,10 @@ func createStream(ctx context.Context, c jsmClient, spec apis.StreamSpec) (err e
434434
opts = append(opts, jsm.FirstSequence(uint64(spec.FirstSequence)))
435435
}
436436

437+
if spec.Metadata != nil {
438+
opts = append(opts, jsm.StreamMetadata(spec.Metadata))
439+
}
440+
437441
_, err = c.NewStream(ctx, spec.Name, opts)
438442
return err
439443
}
@@ -519,6 +523,10 @@ func updateStream(ctx context.Context, c jsmClient, spec apis.StreamSpec) (err e
519523
config.Sources[i] = jss
520524
}
521525

526+
if spec.Metadata != nil {
527+
config.Metadata = spec.Metadata
528+
}
529+
522530
switch spec.Compression {
523531
case "s2":
524532
config.Compression = api.S2Compression

Diff for: deploy/crds.yml

+5
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,11 @@ spec:
172172
dest:
173173
description: Destination subject.
174174
type: string
175+
metadata:
176+
description: Additional Stream metadata.
177+
type: object
178+
additionalProperties:
179+
type: string
175180
servers:
176181
description: A list of servers for creating stream
177182
type: array

Diff for: pkg/jetstream/apis/jetstream/v1beta2/streamtypes.go

+1
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ type StreamSpec struct {
4949
SubjectTransform *SubjectTransform `json:"subjectTransform"`
5050
FirstSequence uint64 `json:"firstSequence"`
5151
Compression string `json:"compression"`
52+
Metadata map[string]string `json:"metadata"`
5253
Retention string `json:"retention"`
5354
Servers []string `json:"servers"`
5455
Sources []*StreamSource `json:"sources"`

Diff for: pkg/jetstream/apis/jetstream/v1beta2/zz_generated.deepcopy.go

+7
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: pkg/jetstream/generated/applyconfiguration/jetstream/v1beta2/streamspec.go

+15
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)