docs: add design proposal for pluggable message transport interface #610
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What does this PR do / why we need it:
This PR adds comprehensive design documentation introducing a transport abstraction layer for argocd-agent.
The goal is to decouple the principal–agent data stream from the current gRPC dependency and enable multiple transport backends — gRPC, HTTP, and Kafka — for improved compatibility across diverse network environments (e.g., firewalled, air-gapped, or proxy-restricted systems).
This proposal introduces two key abstractions:
By isolating these layers, the agent can easily switch between different transport protocols without modifying higher-level business logic. This enables a cleaner, more modular architecture for future expansion.
Transport Strategy Notes:
HTTP-based Transport:
TCP-based Transport (Message Router Model):
Key additions:
Which issue(s) this PR fixes:
Fixes #260
How to test changes / Special notes to the reviewer:
Checklist