So, I think I'm fundamentally misunderstanding Vault/Consul's HA & Multi-Datacenter models. I've read the documentation on these subject several times, and I'm just not seeing the proper path forward for having multiple datacenters, with vault in an HA configuration within each datacenter, and having a single source of truth.
What I have are two different datacenters, "NLD" & "PHX". Within these datacenters, I have two vault servers each "vault-0{1,2}-{nld,phx}". I also have 3 consul servers in each datacenter, "consul-0{0-3}-{nld,phx}". The vault servers run consul in agent mode, and vault on each server connects to localhost (the consul agent). Each consul in "agent" mode, connects back to the consul servers in the local datacenter. So, for instance, a vault service in NLD would connect to consul on localhost, which would then query one of the NLD consul servers.
So with things setup this way, I initialized and unsealed vault on one of the vault PHX nodes. The other vault PHX node can see that vault is initialized, and it is in standby state. Neither of the vault servers on the NLD node can see that vault is initialized. Is this the intended functionality? From looking at the documentation, the "federation" pages say that data which is not present on the consul instance will be RPC'd back to the datacenter in the WAN group that has the data. This was how I thought multi-datacenter worked in Vault. Is this not the case?
Is there any scenario in which the consul agents on the vault nodes connect only to the local consul servers, and do not go across the wan, but they share the same vault storage information? (i.e. information under the /vault kv is available in both NLD & PHX, and I only have to register secrets in one location or other, and not both)?
In other words, how is multi-datacenter configuration supposed to look/work, and under said configuration, would I have two completely separate vault data sets?
(If there were a way to pass ?dc=phx to all queries invoked by vault in NLD, it might work, provided consul cached the cross-datacenter results).
John A.