Skip to content

Commit 531f908

Browse files
authored
Feat[mqb] Add CredentialProvider interface & broker config (bloomberg#1372)
Signed-off-by: Christopher Beard <cbeard9@bloomberg.net>
1 parent 32539bf commit 531f908

10 files changed

Lines changed: 1057 additions & 111 deletions

src/groups/mqb/mqbcfg/mqbcfg.xsd

Lines changed: 31 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -333,13 +333,19 @@
333333
Minimum number of threads in the authentication thread pool.
334334
maxThreads..............:
335335
Maximum number of threads in the authentication thread pool.
336+
credentialProvider...:
337+
Optional credential provider. When specified, the broker uses credentials
338+
provided by the credential provider to authenticate with other brokers.
339+
If not specified, the broker will attempt to directly negotiate sessions
340+
with other brokers without explicitly authenticating.
336341
</documentation>
337342
</annotation>
338343
<sequence>
339344
<element name='authenticators' type='tns:AuthenticatorPluginConfig' minOccurs="0" maxOccurs='unbounded'/>
340345
<element name='anonymousCredential' type='tns:AnonymousCredential' minOccurs='0'/>
341346
<element name='minThreads' type='int' default='1'/>
342347
<element name='maxThreads' type='int' default='8'/>
348+
<element name='credentialProvider' type='tns:CredentialProviderConfig' minOccurs='0'/>
343349
</sequence>
344350
</complexType>
345351

@@ -409,6 +415,23 @@
409415
</sequence>
410416
</complexType>
411417

418+
<complexType name='CredentialProviderConfig'>
419+
<annotation>
420+
<documentation>
421+
The configuration for the broker's credential provider.
422+
423+
name.....:
424+
The name of the credential provider.
425+
settings.:
426+
Plugin-specific settings.
427+
</documentation>
428+
</annotation>
429+
<sequence>
430+
<element name='name' type='string'/>
431+
<element name='settings' type='tns:PluginSettingKeyValue' minOccurs='0' maxOccurs='unbounded'/>
432+
</sequence>
433+
</complexType>
434+
412435
<complexType name="PluginSettingKeyValue">
413436
<annotation>
414437
<documentation>
@@ -809,25 +832,25 @@
809832
<documentation>
810833
Type representing the attributes specific to a cluster.
811834

812-
isCSLModeEnabled...............:
835+
isCSLModeEnabled...............:
813836
indicates if CSL is enabled for this cluster
814-
isFSMWorkflow..................:
837+
isFSMWorkflow..................:
815838
indicates if CSL FSM workflow is enabled for this cluster. This
816839
flag *must* be false if 'isCSLModeEnabled' is false.
817-
doesFSMwriteQLIST..............:
840+
doesFSMwriteQLIST..............:
818841
indicates whether the broker still writes to the to-be-deprecated
819842
QLIST file when FSM workflow is enabled. If above 'isFSMWorkflow'
820843
flag is false, this flag is ignored.
821-
clusterFsmWatchdogTimeoutSec...:
844+
clusterFsmWatchdogTimeoutSec...:
822845
timeout duration in seconds for Cluster FSM watchdog. Only applies
823846
when 'isFSMWorkflow' is true.
824-
clusterFsmWatchdogNumRetries...:
825-
number of retries for Cluster FSM watchdog before we give up and
847+
clusterFsmWatchdogNumRetries...:
848+
number of retries for Cluster FSM watchdog before we give up and
826849
terminate the broker. Only applies when 'isFSMWorkflow' is true.
827-
partitionFsmWatchdogTimeoutSec.:
850+
partitionFsmWatchdogTimeoutSec.:
828851
timeout duration in seconds for Partition FSM watchdog. Only
829852
applies when 'isFSMWorkflow' is true.
830-
partitionFsmWatchdogNumRetries.:
853+
partitionFsmWatchdogNumRetries.:
831854
number of retries for Partition FSM watchdog before we give up and
832855
terminate the broker. Only applies when 'isFSMWorkflow' is true.
833856
</documentation>

0 commit comments

Comments
 (0)