diff --git a/infra/terraform/aws/helm.tf b/infra/terraform/aws/helm.tf index f38f6d2c45..8a13fe8d40 100644 --- a/infra/terraform/aws/helm.tf +++ b/infra/terraform/aws/helm.tf @@ -62,6 +62,7 @@ locals { config = { host = module.redis.endpoint port = 6379 + ssl = true } subscriptions = [ { diff --git a/protos/feast/core/Store.proto b/protos/feast/core/Store.proto index 3ce0583b2c..53b258d264 100644 --- a/protos/feast/core/Store.proto +++ b/protos/feast/core/Store.proto @@ -110,6 +110,8 @@ message Store { int32 max_retries = 4; // Optional. How often flush data to redis int32 flush_frequency_seconds = 5; + // Optional. Connect over SSL. + bool ssl = 6; } message BigQueryConfig { diff --git a/sdk/python/requirements-ci.txt b/sdk/python/requirements-ci.txt index 6d9c8b2496..2b0b87bd81 100644 --- a/sdk/python/requirements-ci.txt +++ b/sdk/python/requirements-ci.txt @@ -18,4 +18,5 @@ mypy mypy-protobuf avro==1.10.0 confluent_kafka -gcsfs \ No newline at end of file +gcsfs +urllib3>=1.25.4 \ No newline at end of file diff --git a/storage/connectors/redis/src/main/java/feast/storage/connectors/redis/retriever/RedisClient.java b/storage/connectors/redis/src/main/java/feast/storage/connectors/redis/retriever/RedisClient.java index fdf26b98bc..15de0e2327 100644 --- a/storage/connectors/redis/src/main/java/feast/storage/connectors/redis/retriever/RedisClient.java +++ b/storage/connectors/redis/src/main/java/feast/storage/connectors/redis/retriever/RedisClient.java @@ -47,10 +47,14 @@ private RedisClient(StatefulRedisConnection connection) { } public static RedisClientAdapter create(Map config) { + + RedisURI uri = RedisURI.create(config.get("host"), Integer.parseInt(config.get("port"))); + + if (Boolean.parseBoolean(config.get("ssl"))) { + uri.setSsl(true); + } StatefulRedisConnection connection = - io.lettuce.core.RedisClient.create( - RedisURI.create(config.get("host"), Integer.parseInt(config.get("port")))) - .connect(new ByteArrayCodec()); + io.lettuce.core.RedisClient.create(uri).connect(new ByteArrayCodec()); return new RedisClient(connection); }