Skip to content

Commit 0707aad

Browse files
committed
move listenerClass to roleConfig
1 parent 6c9d18c commit 0707aad

File tree

15 files changed

+329
-289
lines changed

15 files changed

+329
-289
lines changed

deploy/helm/druid-operator/crds/crds.yaml

Lines changed: 12 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -70,10 +70,6 @@ spec:
7070
description: The time period Pods have to gracefully shut down, e.g. `30m`, `1h` or `2d`. Read more about graceful shutdown in the [graceful shutdown documentation](https://docs.stackable.tech/home/nightly/druid/usage-guide/operations/graceful-shutdown).
7171
nullable: true
7272
type: string
73-
listenerClass:
74-
description: This field controls which [ListenerClass](https://docs.stackable.tech/home/nightly/listener-operator/listenerclass.html) is used to expose the brokers.
75-
nullable: true
76-
type: string
7773
logging:
7874
default:
7975
containers: {}
@@ -249,11 +245,15 @@ spec:
249245
x-kubernetes-preserve-unknown-fields: true
250246
roleConfig:
251247
default:
248+
listenerClass: cluster-internal
252249
podDisruptionBudget:
253250
enabled: true
254251
maxUnavailable: null
255252
description: This is a product-agnostic RoleConfig, which is sufficient for most of the products.
256253
properties:
254+
listenerClass:
255+
default: cluster-internal
256+
type: string
257257
podDisruptionBudget:
258258
default:
259259
enabled: true
@@ -322,10 +322,6 @@ spec:
322322
description: The time period Pods have to gracefully shut down, e.g. `30m`, `1h` or `2d`. Read more about graceful shutdown in the [graceful shutdown documentation](https://docs.stackable.tech/home/nightly/druid/usage-guide/operations/graceful-shutdown).
323323
nullable: true
324324
type: string
325-
listenerClass:
326-
description: This field controls which [ListenerClass](https://docs.stackable.tech/home/nightly/listener-operator/listenerclass.html) is used to expose the brokers.
327-
nullable: true
328-
type: string
329325
logging:
330326
default:
331327
containers: {}
@@ -1002,10 +998,6 @@ spec:
1002998
description: The time period Pods have to gracefully shut down, e.g. `30m`, `1h` or `2d`. Read more about graceful shutdown in the [graceful shutdown documentation](https://docs.stackable.tech/home/nightly/druid/usage-guide/operations/graceful-shutdown).
1003999
nullable: true
10041000
type: string
1005-
listenerClass:
1006-
description: This field controls which [ListenerClass](https://docs.stackable.tech/home/nightly/listener-operator/listenerclass.html) is used to expose the coordinators.
1007-
nullable: true
1008-
type: string
10091001
logging:
10101002
default:
10111003
containers: {}
@@ -1181,11 +1173,15 @@ spec:
11811173
x-kubernetes-preserve-unknown-fields: true
11821174
roleConfig:
11831175
default:
1176+
listenerClass: cluster-internal
11841177
podDisruptionBudget:
11851178
enabled: true
11861179
maxUnavailable: null
11871180
description: This is a product-agnostic RoleConfig, which is sufficient for most of the products.
11881181
properties:
1182+
listenerClass:
1183+
default: cluster-internal
1184+
type: string
11891185
podDisruptionBudget:
11901186
default:
11911187
enabled: true
@@ -1254,10 +1250,6 @@ spec:
12541250
description: The time period Pods have to gracefully shut down, e.g. `30m`, `1h` or `2d`. Read more about graceful shutdown in the [graceful shutdown documentation](https://docs.stackable.tech/home/nightly/druid/usage-guide/operations/graceful-shutdown).
12551251
nullable: true
12561252
type: string
1257-
listenerClass:
1258-
description: This field controls which [ListenerClass](https://docs.stackable.tech/home/nightly/listener-operator/listenerclass.html) is used to expose the coordinators.
1259-
nullable: true
1260-
type: string
12611253
logging:
12621254
default:
12631255
containers: {}
@@ -1486,10 +1478,6 @@ spec:
14861478
description: The time period Pods have to gracefully shut down, e.g. `30m`, `1h` or `2d`. Read more about graceful shutdown in the [graceful shutdown documentation](https://docs.stackable.tech/home/nightly/druid/usage-guide/operations/graceful-shutdown).
14871479
nullable: true
14881480
type: string
1489-
listenerClass:
1490-
description: This field controls which [ListenerClass](https://docs.stackable.tech/home/nightly/listener-operator/listenerclass.html) is used to expose the historicals.
1491-
nullable: true
1492-
type: string
14931481
logging:
14941482
default:
14951483
containers: {}
@@ -1769,10 +1757,6 @@ spec:
17691757
description: The time period Pods have to gracefully shut down, e.g. `30m`, `1h` or `2d`. Read more about graceful shutdown in the [graceful shutdown documentation](https://docs.stackable.tech/home/nightly/druid/usage-guide/operations/graceful-shutdown).
17701758
nullable: true
17711759
type: string
1772-
listenerClass:
1773-
description: This field controls which [ListenerClass](https://docs.stackable.tech/home/nightly/listener-operator/listenerclass.html) is used to expose the historicals.
1774-
nullable: true
1775-
type: string
17761760
logging:
17771761
default:
17781762
containers: {}
@@ -2080,10 +2064,6 @@ spec:
20802064
description: The time period Pods have to gracefully shut down, e.g. `30m`, `1h` or `2d`. Read more about graceful shutdown in the [graceful shutdown documentation](https://docs.stackable.tech/home/nightly/druid/usage-guide/operations/graceful-shutdown).
20812065
nullable: true
20822066
type: string
2083-
listenerClass:
2084-
description: This field controls which [ListenerClass](https://docs.stackable.tech/home/nightly/listener-operator/listenerclass.html) is used to expose the middle managers.
2085-
nullable: true
2086-
type: string
20872067
logging:
20882068
default:
20892069
containers: {}
@@ -2332,10 +2312,6 @@ spec:
23322312
description: The time period Pods have to gracefully shut down, e.g. `30m`, `1h` or `2d`. Read more about graceful shutdown in the [graceful shutdown documentation](https://docs.stackable.tech/home/nightly/druid/usage-guide/operations/graceful-shutdown).
23332313
nullable: true
23342314
type: string
2335-
listenerClass:
2336-
description: This field controls which [ListenerClass](https://docs.stackable.tech/home/nightly/listener-operator/listenerclass.html) is used to expose the middle managers.
2337-
nullable: true
2338-
type: string
23392315
logging:
23402316
default:
23412317
containers: {}
@@ -2564,10 +2540,6 @@ spec:
25642540
description: The time period Pods have to gracefully shut down, e.g. `30m`, `1h` or `2d`. Read more about graceful shutdown in the [graceful shutdown documentation](https://docs.stackable.tech/home/nightly/druid/usage-guide/operations/graceful-shutdown).
25652541
nullable: true
25662542
type: string
2567-
listenerClass:
2568-
description: This field controls which [ListenerClass](https://docs.stackable.tech/home/nightly/listener-operator/listenerclass.html) is used to expose the routers.
2569-
nullable: true
2570-
type: string
25712543
logging:
25722544
default:
25732545
containers: {}
@@ -2743,11 +2715,15 @@ spec:
27432715
x-kubernetes-preserve-unknown-fields: true
27442716
roleConfig:
27452717
default:
2718+
listenerClass: cluster-internal
27462719
podDisruptionBudget:
27472720
enabled: true
27482721
maxUnavailable: null
27492722
description: This is a product-agnostic RoleConfig, which is sufficient for most of the products.
27502723
properties:
2724+
listenerClass:
2725+
default: cluster-internal
2726+
type: string
27512727
podDisruptionBudget:
27522728
default:
27532729
enabled: true
@@ -2816,10 +2792,6 @@ spec:
28162792
description: The time period Pods have to gracefully shut down, e.g. `30m`, `1h` or `2d`. Read more about graceful shutdown in the [graceful shutdown documentation](https://docs.stackable.tech/home/nightly/druid/usage-guide/operations/graceful-shutdown).
28172793
nullable: true
28182794
type: string
2819-
listenerClass:
2820-
description: This field controls which [ListenerClass](https://docs.stackable.tech/home/nightly/listener-operator/listenerclass.html) is used to expose the routers.
2821-
nullable: true
2822-
type: string
28232795
logging:
28242796
default:
28252797
containers: {}

docs/modules/druid/examples/getting_started/druid.yaml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ spec:
77
image:
88
productVersion: 33.0.0
99
clusterConfig:
10-
listenerClass: external-stable # This exposes your Stacklet outside of Kubernetes. Remove this configuration if this is not desired
1110
zookeeperConfigMapName: simple-druid-znode
1211
deepStorage:
1312
hdfs:
@@ -23,10 +22,14 @@ spec:
2322
roleGroups:
2423
default:
2524
replicas: 1
25+
roleConfig:
26+
listenerClass: external-stable # This exposes your Stacklet outside of Kubernetes. Remove this configuration if this is not desired
2627
coordinators:
2728
roleGroups:
2829
default:
2930
replicas: 1
31+
roleConfig:
32+
listenerClass: external-stable # This exposes your Stacklet outside of Kubernetes. Remove this configuration if this is not desired
3033
historicals:
3134
roleGroups:
3235
default:
@@ -39,6 +42,8 @@ spec:
3942
roleGroups:
4043
default:
4144
replicas: 1
45+
roleConfig:
46+
listenerClass: external-stable # This exposes your Stacklet outside of Kubernetes. Remove this configuration if this is not desired
4247
---
4348
apiVersion: v1
4449
kind: Secret

docs/modules/druid/examples/getting_started/druid.yaml.j2

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ spec:
77
image:
88
productVersion: 33.0.0
99
clusterConfig:
10-
listenerClass: external-stable # This exposes your Stacklet outside of Kubernetes. Remove this configuration if this is not desired
1110
zookeeperConfigMapName: simple-druid-znode
1211
deepStorage:
1312
hdfs:
@@ -23,10 +22,14 @@ spec:
2322
roleGroups:
2423
default:
2524
replicas: 1
25+
roleConfig:
26+
listenerClass: external-stable # This exposes your Stacklet outside of Kubernetes. Remove this configuration if this is not desired
2627
coordinators:
2728
roleGroups:
2829
default:
2930
replicas: 1
31+
roleConfig:
32+
listenerClass: external-stable # This exposes your Stacklet outside of Kubernetes. Remove this configuration if this is not desired
3033
historicals:
3134
roleGroups:
3235
default:
@@ -39,6 +42,8 @@ spec:
3942
roleGroups:
4043
default:
4144
replicas: 1
45+
roleConfig:
46+
listenerClass: external-stable # This exposes your Stacklet outside of Kubernetes. Remove this configuration if this is not desired
4247
---
4348
apiVersion: v1
4449
kind: Secret

docs/modules/druid/pages/usage-guide/listenerclass.adoc

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,23 @@
22
:description: Configure Apache Druid service exposure using ListenerClass to control service types: cluster-internal, external-unstable, or external-stable.
33

44
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.
76

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 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 listener class
9+
for specific roles:
1210

1311
[source,yaml]
1412
----
1513
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>
1823
----
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

Comments
 (0)