Skip to content

Add ssl options to sync configuration and client#333

Merged
IgorChvyrov-sm merged 13 commits intofeature_proxy_configurationfrom
feature_add_ssl_options
Oct 8, 2025
Merged

Add ssl options to sync configuration and client#333
IgorChvyrov-sm merged 13 commits intofeature_proxy_configurationfrom
feature_add_ssl_options

Conversation

@IgorChvyrov-sm
Copy link
Contributor

@IgorChvyrov-sm IgorChvyrov-sm commented Sep 17, 2025

Changes:

  1. Updated Sync client to add ssl certs handling
  2. Updated Configuration to add ability to configure ssl certificates
  3. Added examples for sync and async clients

@codecov
Copy link

codecov bot commented Sep 17, 2025

Codecov Report

❌ Patch coverage is 63.63636% with 12 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
src/conductor/client/adapters/rest_adapter.py 53.33% 7 Missing ⚠️
...ctor/asyncio_client/configuration/configuration.py 20.00% 4 Missing ⚠️
...rc/conductor/client/configuration/configuration.py 92.30% 1 Missing ⚠️
Files with missing lines Coverage Δ
...rc/conductor/client/configuration/configuration.py 90.65% <92.30%> (-0.26%) ⬇️
...ctor/asyncio_client/configuration/configuration.py 97.67% <20.00%> (-2.33%) ⬇️
src/conductor/client/adapters/rest_adapter.py 92.96% <53.33%> (-5.36%) ⬇️
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@am-orkes
Copy link
Contributor

Can we add some tests for this?

@IgorChvyrov-sm
Copy link
Contributor Author

Can we add some tests for this?

Sure, it not marked as ready yet, will do

@IgorChvyrov-sm IgorChvyrov-sm marked this pull request as ready for review September 18, 2025 09:10
Copy link

@nthmost-orkes nthmost-orkes left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Might be some missing implementation in this PR, based on the README -- correct me if I am wrong:

(1)

In src/conductor/client/configuration/configuration.py:96:
self.key_file = None

Should perhaps be:

self.key_file = None or os.getenv("CONDUCTOR_KEY_FILE")

(2)
Looking at the tests, we aren't catching whether environment variables exist-- tests/unit/configuration/test_configuration.py doesn't test:

  • CONDUCTOR_KEY_FILE
  • CONDUCTOR_VERIFY_SSL
  • CONDUCTOR_SSL_CA_CERT_DATA

Also I don't see how CONDUCTOR_VERIFY_SSL actually functions within the code. Grep for CONDUCTOR_VERIFY_SSL in src/* gets me nothing, but it IS in the example at examples/sync_ssl_example.py:37:

os.environ["CONDUCTOR_VERIFY_SSL"] = "true"

The actual implementation in src/conductor/client/configuration/configuration.py:88:

self.verify_ssl = True # Hardcoded / no env variable read here

(3)
Also... (sorry 😆 ) I'd suggest adding all of the parameters to the example code in examples/sync_ssl_example.py:60-64 and examples/async/async_ssl_example.py:49-53

  Suggestion:
  # SSL with client certificate authentication
  client_cert_config = Configuration(
      base_url="https://play.orkes.io",
      ssl_ca_cert="/path/to/ca-certificate.pem",
      # Add these missing parameters:
      cert_file="/path/to/client-certificate.pem",
      key_file="/path/to/client-key.pem",
  )

@IgorChvyrov-sm IgorChvyrov-sm merged commit 98a39d9 into feature_proxy_configuration Oct 8, 2025
1 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants