The NiFiKop NiFi Kubernetes operator makes it easy to run Apache NiFi on Kubernetes. Apache NiFI is a free, open-source solution that support powerful and scalable directed graphs of data routing, transformation, and system mediation logic.
Sometimes the environment we're operating (using Cilium as a CNI) in requires us to configure externalTrafficPolicy and/or internalTrafficPolicy on Service objects to be able to handle traffic appropriately.
Describe the solution you'd like to see
Add two new fields to the ExternalServiceSpec (and the CRD) to be able to configure traffic policies.
Describe alternatives you've considered
I've only considered (or rather noted) that the ExternalServiceSpec is a subset of the core Kubernetes ServiceSpec and that we're copying fields over when we want to add new functionality. When we create a Service through the operator we create a ServiceSpec. From a user perspective the externalServices configuration of the NifiCluster API can be a bit awkward to work with since we don't expose the exact same fields in the spec as the Service API provides. Maybe there's a good reason for this though! Long-term maybe it's possible to be 1:1 compatible with the Service API.
Is your feature request related to a problem?
Sometimes the environment we're operating (using
Cilium
as a CNI) in requires us to configureexternalTrafficPolicy
and/orinternalTrafficPolicy
onService
objects to be able to handle traffic appropriately.Describe the solution you'd like to see
Add two new fields to the
ExternalServiceSpec
(and the CRD) to be able to configure traffic policies.Describe alternatives you've considered
I've only considered (or rather noted) that the
ExternalServiceSpec
is a subset of the core KubernetesServiceSpec
and that we're copying fields over when we want to add new functionality. When we create aService
through the operator we create aServiceSpec
. From a user perspective theexternalServices
configuration of theNifiCluster
API can be a bit awkward to work with since we don't expose the exact same fields in thespec
as theService
API provides. Maybe there's a good reason for this though! Long-term maybe it's possible to be 1:1 compatible with theService
API.Additional context
No response