Description
Currently, the consumerProperties map in a KafkaSupervisorIOConfig can use PasswordProviders for the keystore, truststore and key properties, but bootstrap.servers must be a hard-coded String. Although bootstrap.servers is not a password, it would be helpful if the value for this property could be provided via a similar mechanism to a PasswordProvider. This would allow SupervisorSpecs to be robust to changes in the Kafka bootstrap servers in the event of a cluster migration or the like.
Motivation
Currently, if the bootstrap servers for a Kafka cluster change, running supervisor specs that refer to those bootstrap servers must be manually killed and relaunched with references to the new bootstrap servers. If a cluster operator has access to a separate system that can provide updated bootstrap server information, these manual operations can be avoided by borrowing the concept of a "Provider" from the PasswordProvider.