You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
NetworkRule backends wait on a node field galactic leaves empty #821
Since #809, a NetworkRule uses a selected VPCAttachment as a backend only once the attachment records its node, which galactic never writes and the datum-cloud/cloud controller failed to write.
Galactic now names each BGPAdvertisement with hex-encoded IDs and a node suffix, while the controller still parsed <vpc>-<attachment> in base62, so it matched no attachment and left the node empty. Every rule then failed to load with no node, so the VIP was never advertised and no ServiceVIPBinding was generated.
Correction: the datum-cloud/cloud controller was installed, but it parsed advertisement names in the format galactic used before 5a846f8 and a7dc165, so it matched no attachment; datum-cloud/cloud#31 fixed that, and with it deployed a NetworkRule's backends bind with no manual status patch.
Activity
privateip commentedon Oct 9, 2026
Code references, pinned to galactic 1f6410b.
The backend selection skips any attachment with an empty
Status.Node:galactic/internal/controller/rulebackends.go
Lines 119 to 122 in 1f6410b
The gateway configuration docs say a generated binding's
targetRef.namecomes fromstatus.node, without naming what writes it:galactic/docs/gateway/configuration.md
Lines 565 to 566 in 1f6410b
The writer lives in datum-cloud/cloud, which sets
attachment.Status.Nodewhile reconciling BGPAdvertisements: https://github.com/datum-cloud/cloud/blob/a9f05f0284f347de924af88464b69ee9093d5c11/internal/controller/bgpadvertisement_controller.go#L82ServiceRoute reads the same field when it picks a VRF instance, so private service routes probably hit the same gap:
galactic/internal/controller/serviceroute_controller.go
Lines 491 to 502 in 1f6410b
docs(gateway): Name datum-cloud/cloud as the writer of attachment node
privateip commentedon Oct 9, 2026
Correction: the datum-cloud/cloud controller was installed, but it parsed advertisement names in the format galactic used before 5a846f8 and a7dc165, so it matched no attachment; datum-cloud/cloud#31 fixed that, and with it deployed a NetworkRule's backends bind with no manual status patch.