This repository is only for issues that concern multiple repositories or don't fit into any specific repository
2
stars
0
forks
source link
Make creation of nodeport services configurable across all operators in a way that is forward compatible with future Listener operator configuration #360
Currently most of our operators create a lot of nodeport services to expose cluster services to the world outside of Kubernetes. This is often not needed or even wanted and users should be able to disable this behavior via configuration.
We have implemented workarounds for this in three operators currently:
Hive
SuperSet
Trino
The configuration is done via a top level field in the CRD:
spec:
serviceType: "NodePort" or "ClusterIP" # optional Enum
At some point in the future this functionality will be provided by the Listener operator and ListenerClasses, but at the moment this is still some time away from implementation. However we should move to a user facing configuration that can remain stable and support the implementation of this ticket and a later move to the listener operator (see #351).
Since we do not currently have a struct with shared config items across all our operators this will be introduced as part of this epic as well. For organizational reasons this might mean that unrelated changes may be bundled with this.
Candidates for this are:
Currently most of our operators create a lot of nodeport services to expose cluster services to the world outside of Kubernetes. This is often not needed or even wanted and users should be able to disable this behavior via configuration.
We have implemented workarounds for this in three operators currently:
The configuration is done via a top level field in the CRD:
At some point in the future this functionality will be provided by the Listener operator and ListenerClasses, but at the moment this is still some time away from implementation. However we should move to a user facing configuration that can remain stable and support the implementation of this ticket and a later move to the listener operator (see #351).
Since we do not currently have a struct with shared config items across all our operators this will be introduced as part of this epic as well. For organizational reasons this might mean that unrelated changes may be bundled with this. Candidates for this are: