Skip to content

Commit 0e6244c

Browse files
committed
improve jaas config
1 parent 6054d1c commit 0e6244c

2 files changed

Lines changed: 17 additions & 5 deletions

File tree

rust/operator-binary/src/config/command.rs

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -70,11 +70,16 @@ fn broker_start_command(
7070

7171
let jaas_config = match kafka_security.has_kerberos_enabled() {
7272
true => {
73-
let service_name = KafkaRole::Broker.kerberos_service_name();
74-
let broker_address = node_address_cmd(STACKABLE_LISTENER_BROKER_DIR);
75-
let bootstrap_address = node_address_cmd(STACKABLE_LISTENER_BOOTSTRAP_DIR);
76-
// TODO replace client and bootstrap below with constants
77-
format!(" --override \"listener.name.client.gssapi.sasl.jaas.config=com.sun.security.auth.module.Krb5LoginModule required useKeyTab=true storeKey=true isInitiator=false keyTab=\\\"/stackable/kerberos/keytab\\\" principal=\\\"{service_name}/{broker_address}@$KERBEROS_REALM\\\";\" --override \"listener.name.bootstrap.gssapi.sasl.jaas.config=com.sun.security.auth.module.Krb5LoginModule required useKeyTab=true storeKey=true isInitiator=false keyTab=\\\"/stackable/kerberos/keytab\\\" principal=\\\"{service_name}/{bootstrap_address}@$KERBEROS_REALM\\\";\"").to_string()
73+
formatdoc! {"
74+
--override \"{client_jaas_config}=com.sun.security.auth.module.Krb5LoginModule required useKeyTab=true storeKey=true isInitiator=false keyTab=\\\"/stackable/kerberos/keytab\\\" principal=\\\"{service_name}/{broker_address}@$KERBEROS_REALM\\\";\" \
75+
--override \"{bootstrap_jaas_config}=com.sun.security.auth.module.Krb5LoginModule required useKeyTab=true storeKey=true isInitiator=false keyTab=\\\"/stackable/kerberos/keytab\\\" principal=\\\"{service_name}/{bootstrap_address}@$KERBEROS_REALM\\\";\"
76+
",
77+
client_jaas_config = KafkaListenerName::Client.listener_gssapi_sasl_jaas_config(),
78+
bootstrap_jaas_config = KafkaListenerName::Bootstrap.listener_gssapi_sasl_jaas_config(),
79+
service_name = KafkaRole::Broker.kerberos_service_name(),
80+
broker_address = node_address_cmd(STACKABLE_LISTENER_BROKER_DIR),
81+
bootstrap_address = node_address_cmd(STACKABLE_LISTENER_BOOTSTRAP_DIR),
82+
}
7883
}
7984
false => "".to_string(),
8085
};

rust/operator-binary/src/crd/listener.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,13 @@ impl KafkaListenerName {
9797
listener_name = self.to_string().to_lowercase()
9898
)
9999
}
100+
101+
pub fn listener_gssapi_sasl_jaas_config(&self) -> String {
102+
format!(
103+
"listener.name.{listener_name}.gssapi.sasl.jaas.config",
104+
listener_name = self.to_string().to_lowercase()
105+
)
106+
}
100107
}
101108

102109
#[derive(Debug)]

0 commit comments

Comments
 (0)