...
connector.client.config.policy - This will be an implementation of a new interface ConnectorClientConfigPolicy that will be introduced in the connect API. The default value will be an implementation `IgnoreConnectorClientConfigPolicy` and null when not configured will simply ignore the provided overrides and hence the behavior continues to be backward compatible.
...
The worker would apply the policy during a create connector flow as follows if the a policy is not `IgnoreConnectorClientConfigPolicy`configured:-
- Constructing producer for WorkerSourceTask - invoke validate with all configs with "producer." prefix , ClientType=Producer, ConnectorType=Source & override if no policy violation
- Constructing admin client & producer for DeadLetterQueueReporter for the DLQ topic
- invoke validate with all configs with "producer." prefix , ClientType=Producer, ConnectorType=Sink & override if no policy violation
- invoke validate with all configs with "admin." prefix , ClientType=Admin, ConnectorType=Sink & override if no policy violation
- Constructing consumer for WorkerSinkTask - invoke validate with all configs with "consumer." prefix , ClientType=Consumer, ConnectorType=Sink & override if no policy violation
The herder(AbstractHrder) will apply the policy for all overrides as follows if the policy is not `IgnoreConnectorClientConfigPolicy`configured:-
- If its a source connector, apply the policy on each of the connector configurations with "producer." prefix and update the ConfigInfos result ( response of the validate API)
- If its a sink connector,
- apply the policy on each of the connector configurations with "consumer." prefix and update the ConfigInfos result ( response of the validate API)
- apply the policy on each of the connector configurations with "admin." prefix and update the ConfigInfos result when DLQ is enabled( response of the validate API)
...