023 fixed — the mesh says who a consumer is, and what it is bound to
Both halves had one cause: the mesh knew something and did not say it. Who a consumer is now comes from one derivation, sent to the provider in its grant and to the consumer in its binding, so the two agree by construction. The provisioners use the name they are given and refuse to invent one, because a name of their own would create a login the consumer could never guess while everything reported success. Bound values reach the file that needs them through the symmetric twin of the sealed placeholder — simpler, because they are not secret, so the control plane fills them in and the host gains nothing. The lab run meant to prove this failed in a way that looked like the fix being wrong: rotation could not authenticate against a real database. The cause was the suite rebuilding the control plane's image and not the provisioner's, so an image built that minute ran against a provisioner built the day before. That is 005's family and is recorded with the issue, because the misleading part is worth more than the fix.
This commit is contained in:
@@ -119,15 +119,16 @@ the consumer's side did not refuse, it just gave two of the three no credential.
|
||||
written to date had one consumer per node, which is the natural shape of a small test and not the
|
||||
shape of a machine.
|
||||
|
||||
**A consumer still cannot build a connection string**
|
||||
([`023`](../../04-ISSUES/023-a-consumer-cannot-build-a-connection-string/00-report.md), open). It
|
||||
is given its own password in whatever shape its configuration needs, and the host, port and user
|
||||
name are still out of reach: the user name is invented by the provisioner and recorded nowhere,
|
||||
and the bound values sit in a JSON document that an application reading `KEY=value` cannot use.
|
||||
**A consumer could not build a connection string**
|
||||
([`023`](../../04-ISSUES/023-a-consumer-cannot-build-a-connection-string/00-report.md), fixed). It
|
||||
had its password in the right shape and the host, port and user name were out of reach: the user
|
||||
name was invented by the provisioner and recorded nowhere, and the bound values sat in a JSON
|
||||
document that an application reading `KEY=value` cannot use.
|
||||
|
||||
The asymmetry is worth stating, because it is backwards. **The secret is the hard case** — the
|
||||
mesh must not be able to read it — and the secret is the part that now arrives. The host and port
|
||||
are ordinary facts held in the clear, and they are the ones stuck.
|
||||
The asymmetry was backwards, which is what made it worth stating. **The secret is the hard case** —
|
||||
the mesh must not be able to read it — and the secret was the part that already arrived. The host
|
||||
and port are ordinary facts held in the clear, and they were the ones stuck. Both halves came from
|
||||
the same thing: the mesh knew something and did not say it.
|
||||
|
||||
## What the survey found that is not about coverage
|
||||
|
||||
|
||||
Reference in New Issue
Block a user