gRPC API
Package clusdr.v1alpha1. Sources: proto/clusdr/v1alpha1/. Generated Go stubs: module github.com/odurgut/clusdr/api.
Applications should use the SDKs. This section is the wire contract.
All application RPCs go to the Runtime TCP server. Node-to-node uses the same server. There is no HTTP/JSON API.
Services
| Service | Audience | Page |
|---|---|---|
| HealthService | Probes, SDK ready check | health |
| MembershipService | Apps, CLI | membership |
| WatchService | Apps, CLI | watch |
| EventService | Apps, CLI, peer relay | events |
| LockService | Apps | locks |
| LeaseService | Apps, presence | leases |
| ControlService | CLI → local daemon | control |
| JoinService | Daemon → daemon | join |
| HeartbeatService | Daemon → daemon | heartbeat |
grpcurl (TLS off)
bash
CLUSDR_TLS=disabled clusdr start --bootstrap # dev only
grpcurl -plaintext 127.0.0.1:7947 list
grpcurl -plaintext 127.0.0.1:7947 clusdr.v1alpha1.MembershipService/ListMembersWith TLS, use the PEMs in data.dir. Server identity is the node id (SAN), not the dial hostname.