@@ -58,17 +58,14 @@ pub enum Error {
5858 rolegroup : RoleGroupRef < v1alpha1:: KafkaCluster > ,
5959 } ,
6060
61- #[ snafu( display( "failed to build properties for {rolegroup}" ) ) ]
62- BuildProperties {
63- source : crate :: controller:: build:: properties:: Error ,
64- rolegroup : RoleGroupRef < v1alpha1:: KafkaCluster > ,
65- } ,
66-
6761 #[ snafu( display( "failed to build jaas configuration file for {rolegroup}" ) ) ]
6862 BuildJaasConfig { rolegroup : String } ,
6963
7064 #[ snafu( display( "failed to build pod descriptors" ) ) ]
7165 BuildPodDescriptors { source : crate :: crd:: Error } ,
66+
67+ #[ snafu( display( "no Kraft controllers found to build" ) ) ]
68+ NoKraftControllersFound ,
7269}
7370
7471/// The rolegroup [`ConfigMap`] configures the rolegroup based on the configuration given by the administrator
@@ -89,25 +86,19 @@ pub fn build_rolegroup_config_map(
8986 . as_ref ( )
9087 . map ( |auth_config| auth_config. opa_connect . clone ( ) ) ;
9188
92- let pod_descriptors = & kafka
93- . pod_descriptors (
94- None ,
95- & validated_cluster. kubernetes_cluster_info ,
96- validated_cluster. kafka_security . client_port ( ) ,
97- )
98- . context ( BuildPodDescriptorsSnafu ) ?;
89+ let kraft_mode = validated_cluster. metadata_manager == MetadataManager :: KRaft ;
9990
100- let metadata_manager = kafka
101- . effective_metadata_manager ( )
102- . context ( InvalidMetadataManagerSnafu ) ? ;
91+ if kraft_mode && validated_cluster . pod_descriptors . is_empty ( ) {
92+ return NoKraftControllersFoundSnafu . fail ( ) ;
93+ }
10394
10495 let kafka_config = match & validated_rg. merged_config {
10596 AnyConfig :: Broker ( _) => crate :: controller:: build:: properties:: broker_properties:: build (
10697 kafka_security,
10798 listener_config,
108- pod_descriptors,
99+ & validated_cluster . pod_descriptors ,
109100 opa_connect. as_deref ( ) ,
110- metadata_manager == MetadataManager :: KRaft ,
101+ kraft_mode ,
111102 kafka
112103 . spec
113104 . cluster_config
@@ -119,15 +110,12 @@ pub fn build_rolegroup_config_map(
119110 crate :: controller:: build:: properties:: controller_properties:: build (
120111 kafka_security,
121112 listener_config,
122- pod_descriptors,
123- metadata_manager == MetadataManager :: KRaft ,
113+ & validated_cluster . pod_descriptors ,
114+ kraft_mode ,
124115 config_overrides,
125116 )
126117 }
127- }
128- . with_context ( |_| BuildPropertiesSnafu {
129- rolegroup : rolegroup. clone ( ) ,
130- } ) ?;
118+ } ;
131119
132120 let kafka_config = kafka_config
133121 . into_iter ( )
0 commit comments