First release of the go.datum.net/network API: Kubernetes CRDs for BGP routing, SRv6, and a DSR/Maglev network gateway with sharded egress.
Important
These are v1alpha1 APIs and may change in breaking ways between minor releases. Requires Kubernetes 1.28+ for CEL isIP()/isCIDR() validation.
What's new
- BGP routing CRDs.
BGPRouter,BGPPeer,BGPAdvertisement,BGPPolicy,BGPVRFInstance,BGPPrefixList, andBGPCommunitySet, with peer options forremotePort,updateSource,sendCommunity,allowASIn, andmaximumPrefix. (#3, #5, #11) - SRv6 addressing.
BGPRoutergains an SRv6 locator field and typed uSID addressing fields. (#4, #6) - Configurable BGP listen port.
BGPRoutercan listen on a port other than 179. (#13) - DSR/Maglev gateway APIs.
NetworkGateway,NetworkRule,NetworkEgressPolicy, andServiceVIPBindingdescribe a consistent-hash L4 load balancer in which backends reply to clients directly, andBGPVRFInstancegains an optional NPTv6 mapping. (#15, #17) EgressShardfor NAT66 and NAT64. One sharded egress kind covers both address families, and CEL rejects an address from the wrong family when the object is created. (#22)- Full-width route targets.
BGPVRFInstanceroute targets accept the full uint32 range. (#19) - Removed
BGPRouter.roles. The unusedrolesfield was dropped. (#20) - Kustomize CRD bundle. CRDs are published to
ghcr.io/datum-cloud/network-kustomize. (#18)