Problem
ConfigMapProgragation objects are automatically created by the namespace controller, along with the default broker. However, it is possible to manually create brokers, event sources, channels, and all these components potentially need access to the namespace configmaps.
Should the namespace label be automatically added by each eventing controller (eg. InMemory, ScheduledSource, etc..)? The downside is the default broker will be automatically created.
One possible solution:
- each controller check if label on namespace is present.
- If yes, do nothing
- otherwise add label with special value
enabled-no-broker, or add 2 labels, the one we have today and another one controlling which default objects to create.
Another solution is to prevent any eventing objects to be created when the namespace label is not set. It could be done in the validation webhook I believe. Not great user-experience though.
For now I'm more in favor of having 2 labels.
@grantr @grac3gao any thoughts?
Problem
ConfigMapProgragationobjects are automatically created by the namespace controller, along with the default broker. However, it is possible to manually create brokers, event sources, channels, and all these components potentially need access to the namespace configmaps.Should the namespace label be automatically added by each eventing controller (eg. InMemory, ScheduledSource, etc..)? The downside is the default broker will be automatically created.
One possible solution:
enabled-no-broker, or add 2 labels, the one we have today and another one controlling which default objects to create.Another solution is to prevent any eventing objects to be created when the namespace label is not set. It could be done in the validation webhook I believe. Not great user-experience though.
For now I'm more in favor of having 2 labels.
@grantr @grac3gao any thoughts?