Open
Description
Current Behavior
The current implementation of ImmudbClient
only supports insecure gRPC channels (grpc.insecure_channel
). This makes it challenging to use ImmuDB in production environments where TLS/SSL is required, such as when connecting through an Application Load Balancer (ALB) or when security policies mandate encrypted connections.
Proposed Solution
Add support for secure gRPC channels by:
- Adding an optional
ssl_credentials
parameter toImmudbClient.__init__
- Creating a secure channel when credentials are provided
- Maintaining backward compatibility by defaulting to insecure channel
Current Workaround
Users currently need to manually override the channel after client creation:
credentials = grpc.ssl_channel_credentials()
channel = grpc.secure_channel(target=f"{host}:{port}", credentials=credentials)
client = ImmudbClient(...)
client.channel.close() # Close existing insecure channel
client.channel = channel
client.resetStub()
This workaround is functional but not ideal for production use.
Metadata
Metadata
Assignees
Labels
No labels