Skip to content

Egress policy plumbing - #1978

Merged
Bowei Du (bowei) merged 5 commits into
agent-substrate:mainfrom
yanavlasov:egress-policy-plumbing
Sep 29, 2026
Merged

Bowei Du (bowei) merged 5 commits into
agent-substrate:mainfrom
yanavlasov:egress-policy-plumbing

Conversation

@yanavlasov

@yanavlasov yanavlasov commented Sep 29, 2026 •

Copy link
Copy Markdown
Collaborator

Plumbing of actor's EgressPolicy into Envoy dataplane. This is the first commit that only implements SNI allowlist, without wildcards. Followup PRs will implement there rest of the policy:

  • Wildcard matching.
  • SNI passthrough policy.
  • Allowing plaintext based on presence of http rules.
  • Port verification.
  • Making sdsmint the default and removing non-sdsmin config.

  • Tests pass
  • Appropriate changes to documentation are included in the PR

Signed-off-by: Yan Avlasov <[email protected]>
Signed-off-by: Yan Avlasov <[email protected]>
Signed-off-by: Yan Avlasov <[email protected]>
Signed-off-by: Yan Avlasov <[email protected]>
@bowei
Bowei Du (bowei) added this pull request to the merge queue Sep 29, 2026
Merged via the queue into agent-substrate:main with commit 0f45724 Sep 29, 2026
10 checks passed

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Thanks Yan, a few comments to fix in a followup;

  1. HostnamePatterns seem to merge both https and tls_passthrough lists. until we passthrough works we need to drop these from the list likely

  2. I understand wildcards are not supported, but they are compared verbatim. So https: {hostnames: ["*"]} now means all traffic is blocked. Same for *.foo.com or wherever wildcard is used.

  3. how does is the tie-breaking rules implemented? I couldnt tell from the PR

  4. we probably should prune the hostnamePatterns list by port?

  5. if we are denied at the SNI level, its kinda invisible (i think) - we only have no_filter_chain_match which also counts other stuff like sniff timeouts. Maybe something like a listener-level access_log on mitm_listener with SNI, actor identity, and the chain filter state?

  6. Why did we delete this test? TestEgressManifestsClaimEveryTransportProtocol?

  7. why did we add InsecureSkipVerify to the test? we should not do that probably

@LiorLieberman

Copy link
Copy Markdown
Collaborator

we also need to re-enable this test - TestActorEgressHTTPSByHostnameMITM to run here - it would have caught the https issue probably

@bowei Bowei Du (bowei) added area/demos area/network area/tests Enhancing / fixing test coverage. kind/feature An enhancement / feature request or implementation labels Sep 29, 2026
@yanavlasov
yanavlasov deleted the egress-policy-plumbing branch October 4, 2026 02:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/demos area/network area/tests Enhancing / fixing test coverage. kind/feature An enhancement / feature request or implementation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants