mmodzelewski opened a new issue, #2809:
URL: https://github.com/apache/iggy/issues/2809
## Summary
The Python SDK (PyO3-based wrapper around the Rust SDK) currently only
exposes a plain TCP connection via \`IggyClientBuilder::new().with_tcp()\`.
There is no way to enable TLS from the Python API, and there are no TLS
integration tests or examples.
## Current State
- **TLS implementation**: Not exposed to Python users. The
\`IggyClient.__init__\` method in \`foreign/python/src/client.rs\` hardcodes
\`IggyClientBuilder::new().with_tcp().with_server_address(...).build()\` with
no TLS options. The \`from_connection_string\` classmethod could potentially
support TLS via connection string, but this is not documented or tested.
- **Integration tests**: No TLS tests exist
- **Examples**: No TLS-specific examples in \`examples/python/\`
## Requirements
### TLS Support
- Expose TLS configuration options in the Python \`IggyClient\`:
- Option to enable TLS on TCP connections
- Option to specify CA certificate file path
- Option to specify TLS domain
- Either via constructor parameters or via a builder pattern
- Ensure \`from_connection_string\` works with TLS connection strings and
document this
### Integration Tests
- Add integration test(s) that connect to a TLS-enabled Iggy server from
Python
- Use custom certificates from \`core/certs/\` (\`iggy_ca_cert.pem\`,
\`iggy_cert.pem\`, \`iggy_key.pem\`)
- Test scenarios:
- Successful TLS connection with custom CA certificate
- Basic message send/receive over TLS connection
### Examples
- Add a TLS example in \`examples/python/\` demonstrating:
- How to configure the client with TLS enabled
- How to specify a custom CA certificate file
- A simple producer/consumer flow over TLS
## Reference
- Python client implementation: \`foreign/python/src/client.rs\`
- Server TLS config env vars: \`IGGY_TCP_TLS_ENABLED=true\`,
\`IGGY_TCP_TLS_CERT_FILE\`, \`IGGY_TCP_TLS_KEY_FILE\`
- Custom certs location: \`core/certs/\`
- Rust SDK TLS support (underlying):
\`core/sdk/src/tcp/tcp_tls_connection_stream.rs\`
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]