Add consul mesh gateways and enable gateway WAN federation #549
Reference in New Issue
Block a user
Delete Branch "benvin/consul-mesh-gateway"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Federating the datacenters through mesh gateways needs an envoy gateway on each consul server, and the WAN federation flag must ship with the gateways. Requires rpmbuilder #187 (envoy RPM).
consul connect envoy -gateway=mesh -expose-serversas a systemd unit with its own ACL token fileenable_mesh_gateway_wan_federationon consul serversmesh = "write", which Consul requires for the gateway leaf cert. puppet-consul 9.1.0consul_policycannot encode a top-levelmeshrule (only acl/operator/keyring), so it cannot be added to node_rules → give the gateway its own token whose policy includesmesh = "write", managed outsideconsul_policyrules, or extend the encoder.Add consul mesh gateway on consul serversto Add consul mesh gateways and enable gateway WAN federationenable_mesh_gateway_wan_federationwithnode_name= fqdn breaks WAN gossip: wanfedSplitNodeNamerejects any WAN name not exactly<node>.<dc>(consul v1.22.7 agent/consul/wanfed/wanfed.go:160-166), so every WAN dial/write fails and servers never WAN-join each other or a remote DC → move servers to a dotlessnode_name(hostname) and matching<hostname>.server.<dc>.consulSANs in an earlier PR of the stack before enabling this flagmesh-gatewaywrite,service_prefix/node_prefix/agent_prefixread) are not in the PR body → add them to the change listPull request closed