Class OdysseyIntegrationManager.Builder
java.lang.Object
io.confluent.kafka.odyssey.OdysseyIntegrationManager.Builder
- Enclosing class:
OdysseyIntegrationManager
Builder for OdysseyIntegrationManager.
This builder handles all internal component creation (RM client, LsrcLookupService, TokenPlatformClient, OdysseyRequestManager) so that ControllerServer only needs to interact with OdysseyIntegrationManager.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbuild()setClusterId(String clusterId) setConfigs(org.apache.kafka.common.config.AbstractConfig configs) setHasAssociationsLookup(Predicate<String> hasAssociationsLookup) Sets the per-topic "may this topic have schema associations?" predicate consulted by the DescribeConfigs and DeleteTopics flows.setLogContext(org.apache.kafka.common.utils.internals.LogContext logContext) setRmClientSpireEnable(boolean enable) setRmGrpcEndpoint(String rmGrpcEndpoint) setRmHttpEndpoint(String rmHttpEndpoint) setSpireAgentUrl(String spireAgentUrl) setSslFactorySupplier(Supplier<org.apache.kafka.common.security.ssl.SslFactory> supplier) setTime(org.apache.kafka.common.utils.Time time) setTokenPlatformEndpoint(String endpoint) setTopicIdLookup(TopicIdLookup topicIdLookup)
-
Constructor Details
-
Builder
public Builder()
-
-
Method Details
-
setTopicIdLookup
-
setClusterId
-
setLogContext
public OdysseyIntegrationManager.Builder setLogContext(org.apache.kafka.common.utils.internals.LogContext logContext) -
setConfigs
public OdysseyIntegrationManager.Builder setConfigs(org.apache.kafka.common.config.AbstractConfig configs) -
setTime
-
setRmHttpEndpoint
-
setRmGrpcEndpoint
-
setRegionalResourceManagerSpiffeIds
-
setSpireAgentUrl
-
setRmClientSpireEnable
-
setBrokerServiceAccountId
-
setSslFactorySupplier
public OdysseyIntegrationManager.Builder setSslFactorySupplier(Supplier<org.apache.kafka.common.security.ssl.SslFactory> supplier) -
setTokenPlatformEndpoint
-
setHasAssociationsLookup
public OdysseyIntegrationManager.Builder setHasAssociationsLookup(Predicate<String> hasAssociationsLookup) Sets the per-topic "may this topic have schema associations?" predicate consulted by the DescribeConfigs and DeleteTopics flows. Must be total: never throws, never blocks (it runs synchronously on request-path threads). Defaults to always-true(legacy always-fetch).K1 backs this with the external-schema-type reader (
KRaftMetadataCache.externalSchemaType, KMETA-2883). K2's real reader is tracked by KMETA-2967; until then K2 injects only the DGS-24451 static bypass (SR-bootstrap topics, which can never carry associations).Rollout prerequisite, not enforced here: below the MetadataVersion that supports the external-schema type nothing writes it, so every topic reads NONE and a metadata-backed lookup would bypass Schema Registry for all of them. Raise the MetadataVersion before enabling Odyssey.
-
build
-