Service exposition with ListenerClasses

Apache Druid offers a web UI and an API, both are exposed by the router role. The broker and coordinator roles expose additional API endpoints.

The operator deploys a Listener for the router, broker and coordinator roles. The Listener defaults to only being accessible from within the Kubernetes cluster, but this can be changed by configuring a ListenerClass for specific roles:

spec:
  brokers:
    roleConfig:
      listenerClass: cluster-internal  (1)
  coordinators:
    roleConfig:
      listenerClass: cluster-internal  (1)
  routers:
    roleConfig:
      listenerClass: external-unstable  (1)
1 Specify one of external-stable, external-unstable, cluster-internal or a custom ListenerClass (the default setting is cluster-internal).