-
Notifications
You must be signed in to change notification settings - Fork 6
feat: implement grpc security options consistent with service pack releases #555
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Codecov Report❌ Patch coverage is ❌ Your patch status has failed because the patch coverage (50.46%) is below the target coverage (90.00%). You can increase the patch coverage or adjust the target coverage. Additional details and impacted files@@ Coverage Diff @@
## main #555 +/- ##
==========================================
- Coverage 85.21% 81.30% -3.92%
==========================================
Files 43 44 +1
Lines 2686 2984 +298
==========================================
+ Hits 2289 2426 +137
- Misses 397 558 +161 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR implements gRPC security options to align with service pack releases for System Coupling versions 24.2, 25.1, and 25.2. The main change is introducing secure transport as the new default for gRPC connections, with fallback mechanisms for older versions.
- Adds new
ConnectionTypeenum andgrpc_transport.pymodule to manage different gRPC connection modes (secure local, insecure, mTLS, UDS, WNUA) - Updates default connection behavior to use secure local connections with automatic fallback for service pack versions
- Modifies test infrastructure to use service pack images (e.g., v25.2.0-sp03) instead of base releases
Reviewed changes
Copilot reviewed 12 out of 12 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| src/ansys/systemcoupling/core/client/grpc_transport.py | New module implementing connection type management and gRPC transport configuration |
| src/ansys/systemcoupling/core/client/grpc_client.py | Integrates new connection type system, adds retry logic for channel readiness, and updates connection handling |
| src/ansys/systemcoupling/core/client/syc_process.py | Refactored to support new command-line argument formats with fallback mechanism for older versions |
| src/ansys/systemcoupling/core/client/syc_container.py | Updates container startup to handle service pack versions and select appropriate transport arguments |
| src/ansys/systemcoupling/core/init.py | Adds connection_type parameter to launch() and connect() functions |
| src/ansys/systemcoupling/core/syc_version.py | Enhanced to handle version strings with "v" prefix |
| tests/conftest.py | Adds image_tag_env fixture to provide default service pack version for local testing |
| tests/*.py | Updates test functions to include image_tag_env fixture parameter |
| .github/workflows/ci.yml | Updates CI to use service pack versions for testing |
| .github/actions/generate-api/action.yml | Adds disk cleanup step before pulling docker images |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Following recent service packs for 24.2, 25.1 and 25.2, the gRPC client in System Coupling now requires new explicit command line arguments to specify the gRPC transport options. The new default in PySystemCoupling is to use a secure transport option.