Skip to content

feat: render external local-root groups separately - #69

Merged
scarmuega merged 2 commits into
mainfrom
feat/extra-local-root-groups
Sep 22, 2026
Merged

scarmuega merged 2 commits into
mainfrom
feat/extra-local-root-groups

Conversation

@scarmuega

@scarmuega scarmuega commented Sep 22, 2026 •

Copy link
Copy Markdown
Member

Why

Reciprocal peering with another operator's relay (Blink Labs) needs its own hot, non-advertised local-root group. That way the cross-provider edge can be added or removed without touching the internal b01–b04 fleet mesh. Today the module renders every topology.local_roots entry into one group with valency = count, so an external endpoint would merge into the fleet group.

Change

  • add optional topology.external_local_root_groups = [{ access_points = [{ address, port }] }];
  • render each external group after the fleet group as advertise: false, trustable: false, valency = length(access_points);
  • external groups also opt the instance into a custom topology ConfigMap, but they do not create a nodes-<salt> peer Service, which stays scoped to local_roots;
  • document the input in both READMEs.

Compatibility

For an instance with only local_roots, and for the baseline topology, the rendered topology.json is byte-identical to 0245c40. I checked this with terraform console on the b01 mesh input. Bumping the pin without using the new input should therefore produce no ConfigMap diff.

Verification

  • terraform fmt -check on the changed files (the unformatted crds/, feature/, and relay/ files are unchanged from main)
  • terraform -chdir=bootstrap validate
  • terraform -chdir=bootstrap test: 5 passed, including two new runs covering the separate group and an external-group-only instance

🤖 Generated with Claude Code

scarmuega and others added 2 commits September 22, 2026 17:12
Add `topology.extra_local_root_groups` so an instance can peer with nodes
outside its fleet (for example another operator's relay) in its own
non-advertised local-root group, after the fleet group. Each group's valency
equals its access-point count. The fleet group's rendered bytes are unchanged,
and extra groups alone do not create a `nodes-<salt>` peer Service.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
"Extra" did not say what the groups are for; they hold peers outside the
fleet, such as another operator's relay.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@scarmuega scarmuega changed the title feat: render extra local-root groups separately feat: render external local-root groups separately Sep 22, 2026
@scarmuega
scarmuega merged commit fb4334e into main Sep 22, 2026
1 check failed
@scarmuega
scarmuega deleted the feat/extra-local-root-groups branch September 22, 2026 20:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant