clastix / kamaji

Kamaji is the Hosted Control Plane Manager for Kubernetes.
https://kamaji.clastix.io
Apache License 2.0
934 stars 81 forks source link

Limit NATS Datastore instance to support only a single TCP #445

Closed prometherion closed 2 months ago

prometherion commented 3 months ago

Due to the missing NATS multi-tenancy feature (tl;dr; no way of creating users dynamically) we have to enforce the use of a single TCP per NATS datastore.

A webhook must be enforced to prevent the allocation of a Tenant Control Plane, as well a reconciliation must be stopped if the given Datastore has been already assigned to another TCP.

prometherion commented 2 months ago

A webhook wouldn't be enough resilient, we should block reconciliation.

Opening a new PR for this.