agent-substrate / agent-substrate/substrate

Pluggable Egress Support

Open
#430 10 comments 1 reaction 1 assignee Claimed by @howardjohn View on GitHub
area/network kind/feature
Dominant language
Go
Stars
1.8k
Forks
316
Avg merge
2d 43m
Merged PRs (30d)
287

Description

We want to make it easy for users to integrate their agent policy enforcement frameworks into the substrate Actor system. Proposal for network Egress [link](https://docs.google.com/document/d/1KmpIFu2gnqy9gp95wASgIo_vkJ_dA1DZckV8upET6bs/edit), lists the following pieces:

1. Sandbox (uVM, GVisor, etc) traffic capture to a Worker or Node local proxy.
2. Local proxy for identity, metadata injection, secure redirection to PEP
3. PEP, can be outside of Substrate.

Each of these /could/ be a point of pluggability, but this is a tradeoff -- we may not need so much flexibility at this point and we do want a default install of Substrate to come with some basic functionality for real usage.

* For (1), there are precedents on how this can be done for in Pod redirection (see mesh ecosystem). One thought is that it is less about the interception itself and more about coordination with the lifecycle of the Actor, Worker and intercept, as the latency of setup is a big factor. Given this, it probably makes sense to make a "good enough" decision and move ahead.
* There is a coupling between (2) + (3), in terms of forwarding protocol. Can we assume that (2) + (3) are coupled together in most cases so the protocol is an implementation detail OR try to standardize on a protocol to decouple (2) from (3).
* One proposal is to use HTTP CONNECT as the metadata wrapper. This does not handle UDP easily, but can take care of basic HTTP.

xref:

* https://github.com/agent-substrate/substrate/issues/126.
* https://github.com/agent-substrate/substrate/pull/338/
* https://docs.google.com/document/d/1KmpIFu2gnqy9gp95wASgIo_vkJ_dA1DZckV8upET6bs/edit

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.