Replies: 1 comment
-
That would be great. As it is now, I'm not sure I can run NACK on a production cluster because it doesn't support reconciliation. It would also be great to add admission webhooks for a few cases. # Create a stream.
$ kubectl apply -f - <<EOF
apiVersion: jetstream.nats.io/v1beta2
kind: Stream
metadata:
name: mystream
spec:
name: mystream
subjects: ["orders.*"]
storage: file
maxAge: 1h
replicas: 1
EOF
# create same stream with another metadata.name
$ kubectl apply -f - <<EOF
apiVersion: jetstream.nats.io/v1beta2
kind: Stream
metadata:
name: mystream2
spec:
name: mystream
subjects: ["orders.*"]
storage: file
maxAge: 1h
replicas: 1
EOF
# delete one of them
$ kubectl delete stream mystream2 When you do this, you'll see that stream Using reconciliation the stream would get created again. However, in this case it might be more beneficial to deny creating another stream referencing the same stream name using an admission webhook. The same applies to consumers and probably other custom resources of NACK too. More of a general remark: I wonder if it makes sense to be able to specify the |
Beta Was this translation helpful? Give feedback.
-
This discussion is meant to align how the future of NACK should look like, and if there are NATS community members willing to contribute to make it happen.
Current state of NACK
NACK, while working fine with the set of features it has, is also missing some important ones that are mentioned quite often:
New opportunities
As nats 2.11 will get Pedantic Mode for consumers and streams, and
jsm
will fully support it, it will become significantly easier to handle changes via any tooling that manages NATS resources in declarative way.Scope
The proposed scope for changes is as follows:
Please share your feedback!
Beta Was this translation helpful? Give feedback.
All reactions