Skip to main content

Module overlay_manager

Module overlay_manager 

Source
Expand description

Thin overlayd client shim.

Historically OverlayManager owned every mechanism touching the overlay/network plane (the cluster WireGuard transport, per-service Linux bridges, veth/netns attach, the Windows HCN Internal network + endpoints, IPAM, DNS, NAT). All of that machinery was migrated wholesale into the standalone zlayer-overlayd daemon (crates/zlayer-overlayd/src/server.rs).

What remains here is a client shim: it keeps only cluster-brain / cached state (deployment name, instance id, local node id, local wg pubkey, and cached status values such as node_ip/dns/cidr) and forwards every mechanical operation to overlayd over the IPC client zlayer_overlayd::OverlaydClient. Every public method keeps the exact signature it had before the migration so existing callers compile unchanged; the body simply builds the matching OverlaydRequest, issues client.call(req), and maps the response.

On Windows, the manager additionally maintains a small hcn_cleanup map (HCN namespace GUID -> (service_name, allocated_ip)) so that agent-side bookkeeping for autoclean attaches survives even though the authoritative HCN state lives in overlayd. The map is populated on attach_container_hcn(autoclean = true) and drained on detach_container_hcn.

Structs§

OverlayManager
Manages overlay networks for a deployment by delegating all mechanics to the zlayer-overlayd daemon.

Functions§

make_interface_name
Generate a Linux-safe interface name guaranteed to be <= 15 chars.