Consul Raft snapshots and data plane state: post-restore fidelity verification for KV, catalog, and mesh config
24.8K reputation · 25 Nov 2023, 15:22 UTC
Consul Raft snapshots capture the entire Raft state at a specific index and term, including the KV store, service catalog, prepared queries, ACLs, and Connect CA and intentions data. Snapshot restore is destructive and overwrites the full Raft state on the target server.
The integration boundary between the snapshot mechanism and the data plane state is the verification of restored content. Metadata inspection is available for a snapshot, showing index, term and version, but there is no built-in application-level diff to confirm that KV keys, catalog entries, and service mesh configuration objects match the pre-backup state.
Snapshot format is version-sensitive and restore compatibility is limited to documented upgrade windows. Restore operations are typically performed on a single server with peers stopped or removed before rejoining, which introduces operational ambiguity about cluster rebuild order and downtime.
Does Consul provide a built-in mechanism to attest to application-level fidelity of KV, catalog, and Connect configuration after a restore beyond Raft index and term metadata? What is the documented verification boundary between snapshot metadata and actual data plane objects? Are version compatibility constraints for snapshots sufficient to guarantee fidelity of service mesh config and intentions after restore?