1717
1818import com .github .jcustenborder .kafka .connect .utils .config .ConfigKeyBuilder ;
1919import com .github .jcustenborder .kafka .connect .utils .config .validators .Validators ;
20+ import io .lettuce .core .RedisURI ;
2021import org .apache .kafka .common .config .AbstractConfig ;
2122import org .apache .kafka .common .config .ConfigDef ;
2223
@@ -28,30 +29,34 @@ public class RedisEnterpriseConfig extends AbstractConfig {
2829 private static final String REDIS_URI_DEFAULT = "redis://localhost:6379" ;
2930 private static final String REDIS_URI_DOC = "URI of the Redis Enterprise database to connect to, e.g. redis://redis-12000.redislabs.com:12000" ;
3031
31- private final String redisUri ;
32+ public static final String INSECURE = "redis.insecure" ;
33+ public static final String INSECURE_DEFAULT = "false" ;
34+ public static final String INSECURE_DOC = "Allow insecure connections (e.g. invalid certificates) to Redis Enterprise when using SSL." ;
3235
3336 public RedisEnterpriseConfig (ConfigDef config , Map <?, ?> originals ) {
3437 super (config , originals );
35- redisUri = getString (REDIS_URI );
3638 }
3739
38- public String getRedisUri () {
39- return redisUri ;
40+ public RedisURI getRedisURI () {
41+ RedisURI uri = RedisURI .create (getString (REDIS_URI ));
42+ uri .setVerifyPeer (!getBoolean (INSECURE ));
43+ return uri ;
4044 }
4145
4246 protected static class RedisEnterpriseConfigDef extends ConfigDef {
4347
4448 protected RedisEnterpriseConfigDef () {
45- defineRedisURI ();
49+ defineConfigs ();
4650 }
4751
4852 protected RedisEnterpriseConfigDef (ConfigDef base ) {
4953 super (base );
50- defineRedisURI ();
54+ defineConfigs ();
5155 }
5256
53- private void defineRedisURI () {
57+ private void defineConfigs () {
5458 define (ConfigKeyBuilder .of (REDIS_URI , ConfigDef .Type .STRING ).documentation (REDIS_URI_DOC ).defaultValue (REDIS_URI_DEFAULT ).importance (ConfigDef .Importance .HIGH ).validator (Validators .validURI ("redis" , "rediss" )).build ());
59+ define (ConfigKeyBuilder .of (INSECURE , ConfigDef .Type .BOOLEAN ).documentation (INSECURE_DOC ).defaultValue (INSECURE_DEFAULT ).importance (ConfigDef .Importance .MEDIUM ).build ());
5560 }
5661
5762 }
0 commit comments