trinodb/trino
Make SSL truststore/keystore configuration consistent across connectors
Aperta
#17.103 aperta il 18 apr 2023
enhancementgood first issue
Metriche repository
- Star
- (9113 stelle)
- Metriche merge PR
- (Merge medio 5g 9h) (306 PR mergiate in 30 g)
Descrizione
In different connectors we are using different names for the same configuration properties. It'd be nice to make them consistent by introducing a single configuration class (SslTrustConfig) in the plugin-toolkit that could be applied to multiple connectors using ConfigBinder.public <T> void bindConfig(Class<T> configClass, String prefix) method (this allows us to add a unique prefix like mongodb.tls)
Since names right now are inconsistent we should settle on a single, consistent name and add rest of those as @LegacyConfig
plugin/trino-cassandra/src/main/java/io/trino/plugin/cassandra/CassandraClientConfig.java: @Config("cassandra.tls.truststore-path")
plugin/trino-cassandra/src/main/java/io/trino/plugin/cassandra/CassandraClientConfig.java: @Config("cassandra.tls.truststore-password")
plugin/trino-kafka/src/main/java/io/trino/plugin/kafka/security/KafkaSslConfig.java: @Config("kafka.ssl.truststore.location")
plugin/trino-kafka/src/main/java/io/trino/plugin/kafka/security/KafkaSslConfig.java: @Config("kafka.ssl.truststore.password")
plugin/trino-kafka/src/main/java/io/trino/plugin/kafka/security/KafkaSslConfig.java: @Config("kafka.ssl.truststore.type")
plugin/trino-mongodb/src/main/java/io/trino/plugin/mongodb/MongoSslConfig.java: @Config("mongodb.tls.truststore-path")
plugin/trino-mongodb/src/main/java/io/trino/plugin/mongodb/MongoSslConfig.java: @Config("mongodb.tls.truststore-password")
plugin/trino-elasticsearch/src/main/java/io/trino/plugin/elasticsearch/ElasticsearchConfig.java: @Config("elasticsearch.tls.truststore-path")
plugin/trino-elasticsearch/src/main/java/io/trino/plugin/elasticsearch/ElasticsearchConfig.java: @Config("elasticsearch.tls.truststore-password")
plugin/trino-pinot/src/main/java/io/trino/plugin/pinot/client/PinotGrpcServerQueryClientTlsConfig.java: @Config("pinot.grpc.tls.truststore-type")
plugin/trino-pinot/src/main/java/io/trino/plugin/pinot/client/PinotGrpcServerQueryClientTlsConfig.java: @Config("pinot.grpc.tls.truststore-path")
plugin/trino-pinot/src/main/java/io/trino/plugin/pinot/client/PinotGrpcServerQueryClientTlsConfig.java: @Config("pinot.grpc.tls.truststore-password")
core/trino-main/src/main/java/io/trino/server/InternalCommunicationConfig.java: @Config("internal-communication.https.truststore.path")
core/trino-main/src/main/java/io/trino/server/InternalCommunicationConfig.java: @Config("internal-communication.https.truststore.key")
lib/trino-plugin-toolkit/src/main/java/io/trino/plugin/base/ldap/LdapClientConfig.java: @Config("ldap.ssl.truststore.path")
lib/trino-plugin-toolkit/src/main/java/io/trino/plugin/base/ldap/LdapClientConfig.java: @Config("ldap.ssl.truststore.password")```