DraftValidator cannot see ClusterNode.DriverConfigOverridesJson — the third driver-config persistence surface #499
Reference in New Issue
Block a user
Delete Branch "%!s()"
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?
Split out of #498.
That issue is fixed for the two config surfaces
DraftSnapshotexposes:DriverInstance.DriverConfigandDevice.DeviceConfig. There is a third place a driver config blob is persisted —ClusterNode.DriverConfigOverridesJson, the per-node override JSON keyed byDriverInstanceIdthat is merged onto the cluster-levelDriverConfig.DraftSnapshotcarries noClusterNodecollection, soDraftValidatorcannot see it. AconnectionStringpasted into a node override would therefore be persisted into the ConfigDb and replicated, exactly the leak #498 closes elsewhere — just via a surface the validator is structurally blind to.Two ways to close it, both needing a decision:
ClusterNoderows toDraftSnapshotand extend the existing rule. Widens the snapshot (and everything that builds one) for a single rule.DriverConfigOverridesJson.Also worth deciding while here: whether the rule should generalise beyond
Sql+connectionStringto a credential-shaped key check across every driver type (password,secret, …). #498 was deliberately kept to the Sql driver as reported, since silently failing an unrelated driver’s deploy would be a regression rather than defence in depth.Not urgent: node overrides are an uncommon authoring path and the runtime still ignores the key. This is about refusing to store the secret.