Repository navigation
feat(egress): match destination hosts with a glob - #59
Merged
Merged
Conversation
A mirror sends every dependency through the same mesh socket, so listing each host with its own --destination repeated what the scripts already say and had to be kept in step as the migration found new dependencies. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
A leading *. covered only the subdomain case. A glob lets one destination pick any set of hosts without egress growing its own pattern rules. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Ranking exact hosts and longer globs first added rules nobody needs; overlapping destinations are rare, so the first match in pattern order is enough. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
alecthomas
approved these changes
Oct 23, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
A SPECTRE mirror on the mesh sends every dependency call through the same Envoy egress socket. Listing each host with its own
--destinationrepeated what the comparison scripts already say, and had to be kept in step as a migration found new dependencies.A
--destinationhost may now be a glob, matched with github.com/gobwas/glob, so one flag covers them all:--destination="*.gns.square=http+unix:@egress.sock"*also matches dots, so*.gns.squarecoversstaging.roster.gns.square. A host takes the first destination that matches it, in pattern order. Hosts that match a glob are routed and compared like exact ones.🤖 Generated with Claude Code