-
Notifications
You must be signed in to change notification settings - Fork 220
Define how controllers / operator should be externally configured #237
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Proposal
Client
Controllers
|
Thanks, @metacosm, the proposal looks good to me. |
We could make it more explicit but it should be covered using |
I don't think so, a CR can be cluster-scoped, that means its resources don't live in none of the namespaces. |
Ah yes, forgot about that. Let's add the |
Definitely we should go this way. It's the way objects in kubernetes are scoped. |
Still lots of work needed for it to completely fit operator-framework#237
Still lots of work needed for it to completely fit operator-framework#237
Still lots of work needed for it to completely fit operator-framework#237
Still lots of work needed for it to completely fit operator-framework#237
Still lots of work needed for it to completely fit operator-framework#237
Still lots of work needed for it to completely fit operator-framework#237
One issue that popped out after the work done in #238, is how should we configure the Kubernetes client. The Quarkus extension relies on the Kubernetes Client extension to retrieve a fully configured client. However, this means that the client is configured using The question is therefore whether or not we should strive to expose a simplified / unified k8s client configuration properties for all implementations or are we OK to have Quarkus-based implementations use a different configuration for that aspect? What do you think @adam-sandor @psycho-ir @csviri? |
Still lots of work needed for it to completely fit operator-framework#237
The intent here is that controllers should be registered according to their configuration. This will become even more relevant when externalized configuration is in place (see #237). This also means using ControllerConfiguration.WATCH_ALL_NAMESPACES_MARKER in the namespaces field of the Controller annotation where appropriate since that's what ControllerConfiguration uses to determine if a controller should watch all namespaces. This still needs to be unified across the code base (see #302).
The intent here is that controllers should be registered according to their configuration. This will become even more relevant when externalized configuration is in place (see #237). This also means using ControllerConfiguration.WATCH_ALL_NAMESPACES_MARKER in the namespaces field of the Controller annotation where appropriate since that's what ControllerConfiguration uses to determine if a controller should watch all namespaces. This still needs to be unified across the code base (see #302).
The intent here is that controllers should be registered according to their configuration. This will become even more relevant when externalized configuration is in place (see #237). This also means using ControllerConfiguration.WATCH_ALL_NAMESPACES_MARKER in the namespaces field of the Controller annotation where appropriate since that's what ControllerConfiguration uses to determine if a controller should watch all namespaces. This still needs to be unified across the code base (see #302).
The intent here is that controllers should be registered according to their configuration. This will become even more relevant when externalized configuration is in place (see #237). This also means using ControllerConfiguration.WATCH_ALL_NAMESPACES_MARKER in the namespaces field of the Controller annotation where appropriate since that's what ControllerConfiguration uses to determine if a controller should watch all namespaces. This still needs to be unified across the code base (see #302).
As framework-specific code has been removed from the core SDK, it's up to each implementation to figure out how to implement externalized configuration. Please refer, therefore, to each implementation's respective documentation:
There are two things of note:
|
#228 was created as an experiment to see how things could be done but I think we need to formalize how configuration should be handled so that users can configure their controllers / operator without having to modify / rebuild the code.
The text was updated successfully, but these errors were encountered: