Skip to content

Commit ec869a7

Browse files
committed
refactor: extract build logic from KafkaSecurity
1 parent 8cfb5f9 commit ec869a7

8 files changed

Lines changed: 689 additions & 664 deletions

File tree

rust/operator-binary/src/controller/build/command.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ use stackable_operator::{
99

1010
use super::properties::ConfigFileName;
1111
use crate::{
12-
controller::security::ValidatedKafkaSecurity,
12+
controller::{build::security::copy_opa_tls_cert_command, security::ValidatedKafkaSecurity},
1313
crd::{
1414
BROKER_ID_POD_MAP_DIR, KafkaPodDescriptor, STACKABLE_CONFIG_DIR,
1515
STACKABLE_KERBEROS_KRB5_PATH, STACKABLE_LOG_CONFIG_DIR,
@@ -64,7 +64,7 @@ pub fn broker_kafka_container_commands(
6464
true => format!("export KERBEROS_REALM=$(grep -oP 'default_realm = \\K.*' {STACKABLE_KERBEROS_KRB5_PATH})"),
6565
false => "".to_string(),
6666
},
67-
import_opa_tls_cert = kafka_security.copy_opa_tls_cert_command(),
67+
import_opa_tls_cert = copy_opa_tls_cert_command(kafka_security),
6868
broker_start_command = broker_start_command(kraft_mode, controller_descriptors, product_version),
6969
}
7070
}

rust/operator-binary/src/controller/build/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,4 @@ pub mod jvm;
66
pub mod kerberos;
77
pub mod properties;
88
pub mod resource;
9+
pub mod security;

rust/operator-binary/src/controller/build/properties/broker_properties.rs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,11 @@ use std::collections::BTreeMap;
33
use super::kraft_controllers;
44
use crate::{
55
controller::{
6-
ValidatedClusterConfig, build::graceful_shutdown::graceful_shutdown_config_properties,
6+
ValidatedClusterConfig,
7+
build::{
8+
graceful_shutdown::graceful_shutdown_config_properties,
9+
security::broker_config_settings,
10+
},
711
},
812
crd::{
913
KafkaPodDescriptor,
@@ -106,7 +110,7 @@ pub fn build(
106110
]);
107111
}
108112

109-
result.extend(cluster_config.kafka_security.broker_config_settings());
113+
result.extend(broker_config_settings(&cluster_config.kafka_security));
110114
result.extend(graceful_shutdown_config_properties());
111115
result.extend(overrides);
112116

rust/operator-binary/src/controller/build/properties/controller_properties.rs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,11 @@ use std::collections::BTreeMap;
33
use super::kraft_controllers;
44
use crate::{
55
controller::{
6-
ValidatedClusterConfig, build::graceful_shutdown::graceful_shutdown_config_properties,
6+
ValidatedClusterConfig,
7+
build::{
8+
graceful_shutdown::graceful_shutdown_config_properties,
9+
security::controller_config_settings,
10+
},
711
},
812
crd::{
913
KafkaPodDescriptor,
@@ -65,7 +69,7 @@ pub fn build(
6569
);
6670
}
6771

68-
result.extend(cluster_config.kafka_security.controller_config_settings());
72+
result.extend(controller_config_settings(&cluster_config.kafka_security));
6973
result.extend(graceful_shutdown_config_properties());
7074
result.extend(overrides);
7175

rust/operator-binary/src/controller/build/resource/config_map.rs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,11 @@ use stackable_operator::{
1313
use crate::{
1414
controller::{
1515
RoleGroupName, ValidatedCluster, ValidatedRoleGroupConfig,
16-
build::properties::{
17-
ConfigFileName, config_file_name, product_logging::role_group_config_map_data,
16+
build::{
17+
properties::{
18+
ConfigFileName, config_file_name, product_logging::role_group_config_map_data,
19+
},
20+
security::client_properties,
1821
},
1922
},
2023
crd::{
@@ -152,8 +155,7 @@ pub fn build_rolegroup_config_map(
152155
.add_data(
153156
ConfigFileName::Client.to_string(),
154157
to_java_properties_string(
155-
kafka_security
156-
.client_properties()
158+
client_properties(kafka_security)
157159
.iter()
158160
.filter_map(|(k, v)| v.as_ref().map(|v| (k, v))),
159161
)

rust/operator-binary/src/controller/build/resource/statefulset.rs

Lines changed: 21 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,10 @@ use crate::{
5353
graceful_shutdown::add_graceful_shutdown_config,
5454
kerberos::add_kerberos_pod_config,
5555
properties::product_logging::MAX_KAFKA_LOG_FILES_SIZE,
56+
security::{
57+
add_broker_volume_and_volume_mounts, add_controller_volume_and_volume_mounts,
58+
kcat_prober_container_commands,
59+
},
5660
},
5761
node_id_hasher::node_id_hash32_offset,
5862
security::ValidatedKafkaSecurity,
@@ -91,7 +95,7 @@ pub enum Error {
9195

9296
#[snafu(display("failed to add Secret Volumes and VolumeMounts"))]
9397
AddVolumesAndVolumeMounts {
94-
source: crate::controller::security::Error,
98+
source: crate::controller::build::security::Error,
9599
},
96100

97101
#[snafu(display("failed to add needed volumeMount"))]
@@ -168,14 +172,14 @@ pub fn build_broker_rolegroup_statefulset(
168172
.deref()
169173
.requested_secret_lifetime
170174
.context(MissingSecretLifetimeSnafu)?;
171-
kafka_security
172-
.add_broker_volume_and_volume_mounts(
173-
&mut pod_builder,
174-
&mut cb_kcat_prober,
175-
&mut cb_kafka,
176-
&requested_secret_lifetime,
177-
)
178-
.context(AddVolumesAndVolumeMountsSnafu)?;
175+
add_broker_volume_and_volume_mounts(
176+
kafka_security,
177+
&mut pod_builder,
178+
&mut cb_kcat_prober,
179+
&mut cb_kafka,
180+
&requested_secret_lifetime,
181+
)
182+
.context(AddVolumesAndVolumeMountsSnafu)?;
179183

180184
let mut pvcs = merged_config.resources().storage.build_pvcs();
181185

@@ -323,7 +327,7 @@ pub fn build_broker_rolegroup_statefulset(
323327
.readiness_probe(Probe {
324328
exec: Some(ExecAction {
325329
// If the broker is able to get its fellow cluster members then it has at least completed basic registration at some point
326-
command: Some(kafka_security.kcat_prober_container_commands()),
330+
command: Some(kcat_prober_container_commands(kafka_security)),
327331
}),
328332
timeout_seconds: Some(5),
329333
period_seconds: Some(2),
@@ -576,13 +580,13 @@ pub fn build_controller_rolegroup_statefulset(
576580
.deref()
577581
.requested_secret_lifetime
578582
.context(MissingSecretLifetimeSnafu)?;
579-
kafka_security
580-
.add_controller_volume_and_volume_mounts(
581-
&mut pod_builder,
582-
&mut cb_kafka,
583-
&requested_secret_lifetime,
584-
)
585-
.context(AddVolumesAndVolumeMountsSnafu)?;
583+
add_controller_volume_and_volume_mounts(
584+
kafka_security,
585+
&mut pod_builder,
586+
&mut cb_kafka,
587+
&requested_secret_lifetime,
588+
)
589+
.context(AddVolumesAndVolumeMountsSnafu)?;
586590

587591
let kafka_container = cb_kafka.build();
588592

0 commit comments

Comments
 (0)