@@ -134,15 +134,26 @@ pub enum OmicronZoneType {
134134 snat_cfg : SourceNatConfig ,
135135 } ,
136136
137+ /// Type of clickhouse zone used for a single node clickhouse deployment
137138 Clickhouse {
138139 address : SocketAddrV6 ,
139140 dataset : OmicronZoneDataset ,
140141 } ,
141142
143+ /// A zone used to run a Clickhouse Keeper node
144+ ///
145+ /// Keepers are only used in replicated clickhouse setups
142146 ClickhouseKeeper {
143147 address : SocketAddrV6 ,
144148 dataset : OmicronZoneDataset ,
145149 } ,
150+
151+ /// A zone used to run a Clickhouse Server in a replicated deployment
152+ ClickhouseServer {
153+ address : SocketAddrV6 ,
154+ dataset : OmicronZoneDataset ,
155+ } ,
156+
146157 CockroachDb {
147158 address : SocketAddrV6 ,
148159 dataset : OmicronZoneDataset ,
@@ -212,6 +223,9 @@ impl OmicronZoneType {
212223 OmicronZoneType :: ClickhouseKeeper { .. } => {
213224 ZoneKind :: ClickhouseKeeper
214225 }
226+ OmicronZoneType :: ClickhouseServer { .. } => {
227+ ZoneKind :: ClickhouseServer
228+ }
215229 OmicronZoneType :: CockroachDb { .. } => ZoneKind :: CockroachDb ,
216230 OmicronZoneType :: Crucible { .. } => ZoneKind :: Crucible ,
217231 OmicronZoneType :: CruciblePantry { .. } => ZoneKind :: CruciblePantry ,
@@ -252,6 +266,7 @@ impl OmicronZoneType {
252266
253267 OmicronZoneType :: Clickhouse { .. }
254268 | OmicronZoneType :: ClickhouseKeeper { .. }
269+ | OmicronZoneType :: ClickhouseServer { .. }
255270 | OmicronZoneType :: CockroachDb { .. }
256271 | OmicronZoneType :: Crucible { .. }
257272 | OmicronZoneType :: CruciblePantry { .. }
@@ -271,6 +286,7 @@ impl OmicronZoneType {
271286 | OmicronZoneType :: InternalNtp { .. }
272287 | OmicronZoneType :: Clickhouse { .. }
273288 | OmicronZoneType :: ClickhouseKeeper { .. }
289+ | OmicronZoneType :: ClickhouseServer { .. }
274290 | OmicronZoneType :: CockroachDb { .. }
275291 | OmicronZoneType :: Crucible { .. }
276292 | OmicronZoneType :: CruciblePantry { .. }
@@ -289,6 +305,7 @@ impl OmicronZoneType {
289305 | OmicronZoneType :: InternalNtp { .. }
290306 | OmicronZoneType :: Clickhouse { .. }
291307 | OmicronZoneType :: ClickhouseKeeper { .. }
308+ | OmicronZoneType :: ClickhouseServer { .. }
292309 | OmicronZoneType :: CockroachDb { .. }
293310 | OmicronZoneType :: CruciblePantry { .. }
294311 | OmicronZoneType :: ExternalDns { .. }
@@ -310,6 +327,7 @@ impl OmicronZoneType {
310327 OmicronZoneType :: InternalNtp { .. }
311328 | OmicronZoneType :: Clickhouse { .. }
312329 | OmicronZoneType :: ClickhouseKeeper { .. }
330+ | OmicronZoneType :: ClickhouseServer { .. }
313331 | OmicronZoneType :: CockroachDb { .. }
314332 | OmicronZoneType :: Crucible { .. }
315333 | OmicronZoneType :: CruciblePantry { .. }
@@ -328,6 +346,7 @@ impl OmicronZoneType {
328346 OmicronZoneType :: InternalNtp { .. }
329347 | OmicronZoneType :: Clickhouse { .. }
330348 | OmicronZoneType :: ClickhouseKeeper { .. }
349+ | OmicronZoneType :: ClickhouseServer { .. }
331350 | OmicronZoneType :: CockroachDb { .. }
332351 | OmicronZoneType :: Crucible { .. }
333352 | OmicronZoneType :: CruciblePantry { .. }
@@ -367,6 +386,7 @@ pub enum ZoneKind {
367386 BoundaryNtp ,
368387 Clickhouse ,
369388 ClickhouseKeeper ,
389+ ClickhouseServer ,
370390 CockroachDb ,
371391 Crucible ,
372392 CruciblePantry ,
@@ -390,6 +410,7 @@ impl ZoneKind {
390410 ZoneKind :: BoundaryNtp | ZoneKind :: InternalNtp => Self :: NTP_PREFIX ,
391411 ZoneKind :: Clickhouse => "clickhouse" ,
392412 ZoneKind :: ClickhouseKeeper => "clickhouse_keeper" ,
413+ ZoneKind :: ClickhouseServer => "clickhouse_server" ,
393414 // Note "cockroachdb" for historical reasons.
394415 ZoneKind :: CockroachDb => "cockroachdb" ,
395416 ZoneKind :: Crucible => "crucible" ,
@@ -409,6 +430,7 @@ impl ZoneKind {
409430 ZoneKind :: BoundaryNtp | ZoneKind :: InternalNtp => Self :: NTP_PREFIX ,
410431 ZoneKind :: Clickhouse => "clickhouse" ,
411432 ZoneKind :: ClickhouseKeeper => "clickhouse_keeper" ,
433+ ZoneKind :: ClickhouseServer => "clickhouse_server" ,
412434 // Note "cockroachdb" for historical reasons.
413435 ZoneKind :: CockroachDb => "cockroachdb" ,
414436 ZoneKind :: Crucible => "crucible" ,
@@ -431,6 +453,7 @@ impl ZoneKind {
431453 ZoneKind :: BoundaryNtp | ZoneKind :: InternalNtp => Self :: NTP_PREFIX ,
432454 ZoneKind :: Clickhouse => "clickhouse" ,
433455 ZoneKind :: ClickhouseKeeper => "clickhouse-keeper" ,
456+ ZoneKind :: ClickhouseServer => "clickhouse_server" ,
434457 // Note "cockroach" for historical reasons.
435458 ZoneKind :: CockroachDb => "cockroach" ,
436459 ZoneKind :: Crucible => "crucible" ,
@@ -451,6 +474,7 @@ impl ZoneKind {
451474 ZoneKind :: BoundaryNtp => "boundary_ntp" ,
452475 ZoneKind :: Clickhouse => "clickhouse" ,
453476 ZoneKind :: ClickhouseKeeper => "clickhouse_keeper" ,
477+ ZoneKind :: ClickhouseServer => "clickhouse_server" ,
454478 ZoneKind :: CockroachDb => "cockroach_db" ,
455479 ZoneKind :: Crucible => "crucible" ,
456480 ZoneKind :: CruciblePantry => "crucible_pantry" ,
0 commit comments