libcluster strategies for mesh VPNs that discover peers by polling the local mesh daemon.
See the strategy modules for configuration details:
Cluster.Strategy.TailscaleLocal— Tailscale, including Headscale-based networks, viatailscale status --jsonCluster.Strategy.Netbird— NetBird, cloud or self-hosted, vianetbird status --jsonCluster.Strategy.LolipopZTL— LOLIPOP Zero Trust Link, viaztlctl statusCluster.Strategy.WireGuard— plain WireGuard, viawg show <interface> dump
They share one pipeline: every polling_interval the strategy runs the mesh
CLI through a LibclusterMesh.Runner, parses the output into
LibclusterMesh.Peer structs, keeps the online peers that belong to the
cluster, and connects to basename@mesh_ip for each. Membership is decided
by hostname prefix on the meshes that have hostnames, and by IPv4 CIDR on
plain WireGuard, which does not.
Because the peer list comes from the node's own daemon, no cloud API access or static host list is needed, and nodes joining the mesh are discovered automatically.