Repository navigation
Peering
Daniel Carbone edited this page Nov 6, 2026
·
1 revision
$consul->Peering wraps Consul's Cluster Peering API
(Consul 1.13+). Peering connects two clusters through their gRPC TLS ports, so both must have gRPC TLS enabled.
On the accepting cluster, generate a token:
use DCarbone\PHPConsulAPI\Peering\PeeringGenerateTokenRequest;
[$token, $wm, $err] = $accepting->Peering->GenerateToken(
request: new PeeringGenerateTokenRequest(PeerName: 'cluster-b'),
);On the dialing cluster, use that token:
use DCarbone\PHPConsulAPI\Peering\PeeringEstablishRequest;
[$wm, $err] = $dialing->Peering->Establish(
request: new PeeringEstablishRequest(PeerName: 'cluster-a', PeeringToken: $token),
);[$peering, $qm, $err] = $consul->Peering->Read(name: 'cluster-a');
if (null === $peering) {
// no such peer; this is not reported as an error
}
[$peerings, $qm, $err] = $consul->Peering->List();
foreach ($peerings as $p) {
echo "{$p->Name}: {$p->State}\n";
}
[$wm, $err] = $consul->Peering->Delete(name: 'cluster-a');