Skip to content

Make message transport extensible/pluggable #260

@jannfis

Description

@jannfis

Is your feature request related to a problem? Please describe.

Quite a few things within argocd-agent are designed in a way that they can be easily replaced by a different implementation. Notable examples are authentication methods and resource backends for the principle.

However, one thing that's pretty much hard coded is the message exchange transport, which is based off a gRPC protocol. In some cases, gRPC may not be the favorable message transport. Or in some cases, it might not even be possible to use gRPC between the agents and the principle for reasons of security, governance or others and users might be forced to use messaging systems such as Kafka or other third party message routers.

Describe the solution you'd like

The internal message transport system should be redesigned so messages can be transported using arbitrary mechanisms, while gRPC will stay the default transport in the spirit of "batteries included".

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context

Simplified overview over current implementation:

Current message exchange

Envisioned idea:

Future message exchange

Metadata

Metadata

Assignees

No one assigned

    Labels

    design requiredRequires thorough design beforehandenhancementNew feature or request

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions