You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* add integration test
* fix dns issue
* update discovery cm
* fix rustdoc
* create headless service name in function
* update integration tests with new headless service name
* add external-access test
* add permissions on listeners for service account
* fix authorizer test
* move listenerClass to roleConfig
* add changelog entry
* rename headless service
* fix tls test
* fix docs
* remove unnecessary listener from test
* create separate headless services and fix discovery cm
* fix rustdocs
* use listener scope for tls
Copy file name to clipboardExpand all lines: deploy/helm/druid-operator/crds/crds.yaml
+12-13Lines changed: 12 additions & 13 deletions
Original file line number
Diff line number
Diff line change
@@ -245,11 +245,15 @@ spec:
245
245
x-kubernetes-preserve-unknown-fields: true
246
246
roleConfig:
247
247
default:
248
+
listenerClass: cluster-internal
248
249
podDisruptionBudget:
249
250
enabled: true
250
251
maxUnavailable: null
251
252
description: This is a product-agnostic RoleConfig, which is sufficient for most of the products.
252
253
properties:
254
+
listenerClass:
255
+
default: cluster-internal
256
+
type: string
253
257
podDisruptionBudget:
254
258
default:
255
259
enabled: true
@@ -879,19 +883,6 @@ spec:
879
883
type: string
880
884
type: object
881
885
type: object
882
-
listenerClass:
883
-
default: cluster-internal
884
-
description: |-
885
-
This field controls which type of Service the Operator creates for this DruidCluster:
886
-
887
-
* `cluster-internal`: Use a ClusterIP service * `external-unstable`: Use a NodePort service * `external-stable`: Use a LoadBalancer service
888
-
889
-
This is a temporary solution with the goal to keep yaml manifests forward compatible. In the future, this setting will control which [ListenerClass](https://docs.stackable.tech/home/nightly/listener-operator/listenerclass.html) will be used to expose the service, and ListenerClass names will stay the same, allowing for a non-breaking change.
890
-
enum:
891
-
- cluster-internal
892
-
- external-unstable
893
-
- external-stable
894
-
type: string
895
886
metadataStorageDatabase:
896
887
description: Druid requires an SQL database to store metadata into. Specify connection information here.
897
888
properties:
@@ -1182,11 +1173,15 @@ spec:
1182
1173
x-kubernetes-preserve-unknown-fields: true
1183
1174
roleConfig:
1184
1175
default:
1176
+
listenerClass: cluster-internal
1185
1177
podDisruptionBudget:
1186
1178
enabled: true
1187
1179
maxUnavailable: null
1188
1180
description: This is a product-agnostic RoleConfig, which is sufficient for most of the products.
1189
1181
properties:
1182
+
listenerClass:
1183
+
default: cluster-internal
1184
+
type: string
1190
1185
podDisruptionBudget:
1191
1186
default:
1192
1187
enabled: true
@@ -2720,11 +2715,15 @@ spec:
2720
2715
x-kubernetes-preserve-unknown-fields: true
2721
2716
roleConfig:
2722
2717
default:
2718
+
listenerClass: cluster-internal
2723
2719
podDisruptionBudget:
2724
2720
enabled: true
2725
2721
maxUnavailable: null
2726
2722
description: This is a product-agnostic RoleConfig, which is sufficient for most of the products.
Copy file name to clipboardExpand all lines: docs/modules/druid/pages/usage-guide/listenerclass.adoc
+14-11Lines changed: 14 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,20 +2,23 @@
2
2
:description: Configure Apache Druid service exposure using ListenerClass to control service types: cluster-internal, external-unstable, or external-stable.
3
3
4
4
Apache Druid offers a web UI and an API, both are exposed by the `router` role.
5
-
Other roles also expose API endpoints such as the `broker` and `coordinator`.
6
-
The Operator deploys services called `<name>-<role>` (where `<name>` is the name of the DruidCluster and `<role>` is the role for the Service) through which Druid can be reached.
5
+
The `broker` and `coordinator` roles expose additional API endpoints.
7
6
8
-
These services can have three different types: `cluster-internal`, `external-unstable` and `external-stable`.
9
-
Read more about the types in the xref:concepts:service-exposition.adoc[service exposition] documentation at platform level.
10
-
11
-
This is how the listener class is configured:
7
+
The operator deploys a xref:listener-operator:listener.adoc[Listener] for the `router`, `broker` and `coordinator` roles.
8
+
The Listener defaults to only being accessible from within the Kubernetes cluster, but this can be changed by configuring a ListenerClass
9
+
for specific roles:
12
10
13
11
[source,yaml]
14
12
----
15
13
spec:
16
-
clusterConfig:
17
-
listenerClass: cluster-internal # <1>
14
+
brokers:
15
+
roleConfig:
16
+
listenerClass: cluster-internal # <1>
17
+
coordinators:
18
+
roleConfig:
19
+
listenerClass: cluster-internal # <1>
20
+
routers:
21
+
roleConfig:
22
+
listenerClass: external-unstable # <1>
18
23
----
19
-
<1> The default `cluster-internal` setting.
20
-
21
-
This setting affects all role Services at once.
24
+
<1> Specify one of `external-stable`, `external-unstable`, `cluster-internal` or a custom ListenerClass (the default setting is `cluster-internal`).
0 commit comments