@cat-factory/integrations 0.170.1 → 0.171.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/modules/environments/EnvironmentProvisioningService.d.ts +10 -1
- package/dist/modules/environments/EnvironmentProvisioningService.d.ts.map +1 -1
- package/dist/modules/environments/EnvironmentProvisioningService.js +2 -0
- package/dist/modules/environments/EnvironmentProvisioningService.js.map +1 -1
- package/dist/modules/environments/HttpEnvironmentProvider.d.ts.map +1 -1
- package/dist/modules/environments/HttpEnvironmentProvider.js +7 -4
- package/dist/modules/environments/HttpEnvironmentProvider.js.map +1 -1
- package/dist/modules/environments/environmentDiagnostics.d.ts.map +1 -1
- package/dist/modules/environments/environmentDiagnostics.js +27 -8
- package/dist/modules/environments/environmentDiagnostics.js.map +1 -1
- package/dist/modules/environments/environmentReachability.d.ts +58 -23
- package/dist/modules/environments/environmentReachability.d.ts.map +1 -1
- package/dist/modules/environments/environmentReachability.js +177 -46
- package/dist/modules/environments/environmentReachability.js.map +1 -1
- package/dist/modules/environments/environmentStatusPoll.d.ts +6 -1
- package/dist/modules/environments/environmentStatusPoll.d.ts.map +1 -1
- package/dist/modules/environments/environmentStatusPoll.js +5 -0
- package/dist/modules/environments/environmentStatusPoll.js.map +1 -1
- package/dist/modules/environments/environments.logic.d.ts +16 -11
- package/dist/modules/environments/environments.logic.d.ts.map +1 -1
- package/dist/modules/environments/environments.logic.js +24 -14
- package/dist/modules/environments/environments.logic.js.map +1 -1
- package/package.json +4 -4
|
@@ -1,32 +1,53 @@
|
|
|
1
1
|
// Proving that a provisioned environment can be reached, and keeping the claim and the proof in
|
|
2
2
|
// step as the provider re-states one and the platform re-runs the other.
|
|
3
3
|
//
|
|
4
|
-
// The RULE lives in kernel (`planRouteProbes` / `reduceRouteProof`), which
|
|
5
|
-
// reasoning is: why the name is tried first, why the provider's order is kept for
|
|
6
|
-
// which addresses the platform will not dial,
|
|
7
|
-
//
|
|
4
|
+
// The RULE lives in kernel (`planHostResolutions` / `planRouteProbes` / `reduceRouteProof`), which
|
|
5
|
+
// is also where the reasoning is: why the name is tried first, why the provider's order is kept for
|
|
6
|
+
// the candidates, which addresses the platform will not dial, how a stated NAME expands into the
|
|
7
|
+
// addresses it resolves to, and why an unwired prober records `unproved` rather than a failure.
|
|
8
|
+
// What lives here is the sequencing.
|
|
8
9
|
//
|
|
9
10
|
// Where the URL is turned into coordinates is `@cat-factory/contracts`
|
|
10
11
|
// (`deriveEnvironmentCoordinates`), the ONE deriver, shared with the Tester prompt that states
|
|
11
12
|
// those same coordinates to an agent. A second parser here would let the platform dial one host
|
|
12
13
|
// and tell the agent another.
|
|
13
|
-
import { deriveEnvironmentCoordinates } from '@cat-factory/contracts';
|
|
14
|
-
import {
|
|
14
|
+
import { deriveEnvironmentCoordinates, statedRouteTarget } from '@cat-factory/contracts';
|
|
15
|
+
import { getErrorMessage, HOST_RESOLVE_TIMEOUT_MS, planHostResolutions, planRouteProbes, recordRouteAttempt, recordUndialledAttempt, reduceRouteProof, unprovedRoute, } from '@cat-factory/kernel';
|
|
15
16
|
/**
|
|
16
|
-
*
|
|
17
|
-
*
|
|
17
|
+
* Resolve every stated NAME the plan is willing to look up, then dial the environment's own name
|
|
18
|
+
* and, in the provider's order, each candidate it stated for that name. Stops at the first target
|
|
19
|
+
* that CARRIES and publishes that one.
|
|
18
20
|
*
|
|
19
|
-
*
|
|
20
|
-
* which balancer it wants used (an internal one ahead of a public one, say), and
|
|
21
|
-
* publish whichever answered fastest, which is a different question and one nobody
|
|
22
|
-
* is bounded by `MAX_PROBED_ADDRESSES` times the per-probe timeout, against a
|
|
23
|
-
* currently costs a whole tester step.
|
|
21
|
+
* The dials are sequential rather than raced, deliberately. The provider's order is its own
|
|
22
|
+
* statement about which balancer it wants used (an internal one ahead of a public one, say), and
|
|
23
|
+
* racing would publish whichever answered fastest, which is a different question and one nobody
|
|
24
|
+
* asked. The cost is bounded by `MAX_PROBED_ADDRESSES` times the per-probe timeout, against a
|
|
25
|
+
* misdiagnosis that currently costs a whole tester step.
|
|
26
|
+
*
|
|
27
|
+
* The lookups ahead of them are concurrent, and that is not the same trade. Nothing is CHOSEN by
|
|
28
|
+
* answering first: the answers land in a map the plan reads by name, so the provider's order is
|
|
29
|
+
* expressed entirely by the plan and a resolver race could not disturb it. Serialising them would
|
|
30
|
+
* only add up to `MAX_RESOLVED_HOSTS` timeouts to a settle path that is already waiting on dials.
|
|
24
31
|
*
|
|
25
32
|
* With no prober wired the result is `unproved`, never a failure: a facade that cannot open a
|
|
26
|
-
* socket behaves exactly as it did before this existed.
|
|
33
|
+
* socket behaves exactly as it did before this existed. Resolution is skipped in that case too,
|
|
34
|
+
* because nothing would be dialled with the answers.
|
|
35
|
+
*
|
|
36
|
+
* It is skipped for an environment with NOTHING TO DIAL for the same reason, and that one is
|
|
37
|
+
* asked of kernel rather than re-derived: the plan is empty when the URL names no host and port,
|
|
38
|
+
* no resolution can add a target to an empty plan, and up to `MAX_RESOLVED_HOSTS` lookups would
|
|
39
|
+
* then be paid for answers nobody reads, on the settle path and again on every status poll that
|
|
40
|
+
* re-proves. Asking the pure plan twice is how that stays ONE condition; a copy of it here is how
|
|
41
|
+
* the resolver comes to be paid on exactly the path its answers cannot reach.
|
|
42
|
+
*
|
|
43
|
+
* The lookups stay AHEAD of the first dial, rather than being deferred until the URL's own name
|
|
44
|
+
* has failed. Deferring would save a healthy lookup (tens of milliseconds) in the case where the
|
|
45
|
+
* URL carries, and a deployment that states names is by construction one whose URL does not; the
|
|
46
|
+
* cost would be handing the plan out in two halves, so that the order the provider stated and the
|
|
47
|
+
* platform's own "name first" rule stopped living in one function.
|
|
27
48
|
*
|
|
28
|
-
* A target the plan
|
|
29
|
-
* two kinds of target must not be conflated, and why the plan makes
|
|
49
|
+
* A target the plan will not dial is recorded without a socket being opened. That is the one place
|
|
50
|
+
* the two kinds of target must not be conflated, and why the plan makes an undialled one carry no
|
|
30
51
|
* request to dial.
|
|
31
52
|
*/
|
|
32
53
|
export async function proveEnvironmentRoute(url, candidates, deps) {
|
|
@@ -34,20 +55,51 @@ export async function proveEnvironmentRoute(url, candidates, deps) {
|
|
|
34
55
|
if (!deps.probe)
|
|
35
56
|
return unprovedRoute(now);
|
|
36
57
|
const coords = deriveEnvironmentCoordinates(url);
|
|
37
|
-
|
|
58
|
+
if (planRouteProbes(coords?.host, coords?.port, candidates).length === 0) {
|
|
59
|
+
return reduceRouteProof([], null, now);
|
|
60
|
+
}
|
|
61
|
+
const resolutions = await resolveStatedHosts(candidates, deps.resolveHost);
|
|
62
|
+
const targets = planRouteProbes(coords?.host, coords?.port, candidates, { resolutions });
|
|
38
63
|
const attempts = [];
|
|
39
64
|
for (const target of targets) {
|
|
40
|
-
if (target.kind === '
|
|
41
|
-
attempts.push(
|
|
65
|
+
if (target.kind === 'undialled') {
|
|
66
|
+
attempts.push(recordUndialledAttempt(target));
|
|
42
67
|
continue;
|
|
43
68
|
}
|
|
44
69
|
const outcome = await deps.probe(target.request);
|
|
45
70
|
attempts.push(recordRouteAttempt(target, outcome));
|
|
46
71
|
if (outcome.state === 'carried')
|
|
47
|
-
return reduceRouteProof(attempts, target
|
|
72
|
+
return reduceRouteProof(attempts, target, now);
|
|
48
73
|
}
|
|
49
74
|
return reduceRouteProof(attempts, null, now);
|
|
50
75
|
}
|
|
76
|
+
/**
|
|
77
|
+
* Look up the names kernel's plan is willing to look up, and hand back what each one answered.
|
|
78
|
+
*
|
|
79
|
+
* An EMPTY map with no resolver wired, rather than one entry saying so per name: the plan already
|
|
80
|
+
* knows which names it asked about, so a missing entry IS "nothing resolved this", and inventing a
|
|
81
|
+
* per-name placeholder here would put the same fact in two shapes.
|
|
82
|
+
*
|
|
83
|
+
* `allSettled`, so a resolver that breaks its own contract costs its OWN name and not the proof.
|
|
84
|
+
* The port says a resolver never rejects and nothing can enforce that: a facade adapter with an
|
|
85
|
+
* unguarded leg, or one a deployment supplies, would otherwise reject `proveEnvironmentRoute`
|
|
86
|
+
* itself, and the status poll's fold is not best-effort, so the whole poll would throw and leave
|
|
87
|
+
* the environment stuck at whatever it last said. A rejection is the same fact as a lookup that
|
|
88
|
+
* `failed` ("we could not tell"), which is the outcome that leaves the candidate unruled-out.
|
|
89
|
+
*/
|
|
90
|
+
async function resolveStatedHosts(candidates, resolveHost) {
|
|
91
|
+
if (!resolveHost)
|
|
92
|
+
return new Map();
|
|
93
|
+
const hosts = planHostResolutions(candidates);
|
|
94
|
+
const settled = await Promise.allSettled(hosts.map((host) => resolveHost({ host, timeoutMs: HOST_RESOLVE_TIMEOUT_MS })));
|
|
95
|
+
return new Map(hosts.map((host, index) => {
|
|
96
|
+
const result = settled[index];
|
|
97
|
+
if (result?.status === 'fulfilled')
|
|
98
|
+
return [host, result.value];
|
|
99
|
+
const detail = getErrorMessage(result?.reason) || 'the host resolver rejected';
|
|
100
|
+
return [host, { state: 'failed', detail }];
|
|
101
|
+
}));
|
|
102
|
+
}
|
|
51
103
|
/**
|
|
52
104
|
* Fold a provider's freshly stated addresses into what is already stored, and decide whether the
|
|
53
105
|
* proof beside them survives.
|
|
@@ -74,11 +126,18 @@ export async function proveEnvironmentRoute(url, candidates, deps) {
|
|
|
74
126
|
*
|
|
75
127
|
* So the URL has to be unchanged (every finding was about that name), and then:
|
|
76
128
|
*
|
|
77
|
-
* - a `reached` proof is a finding about ONE target: the
|
|
78
|
-
* when `via` is null. It survives while that
|
|
79
|
-
*
|
|
80
|
-
*
|
|
81
|
-
*
|
|
129
|
+
* - a `reached` proof is a finding about ONE target: the candidate `via` came from, or the URL's
|
|
130
|
+
* own name when `via` is null. It survives while that candidate is still on offer, and for the
|
|
131
|
+
* name that means nothing further, the URL having already been checked. A provider adding a
|
|
132
|
+
* fallback candidate is strictly MORE information and cannot invalidate a proof about a target
|
|
133
|
+
* it did not touch.
|
|
134
|
+
*
|
|
135
|
+
* Which candidate that is comes off the proof, never off the address: `viaHost` names the
|
|
136
|
+
* stated NAME the address was resolved from, and for those the NAME is the target. A balancer
|
|
137
|
+
* the provider still states, that has scaled or gained a zone since the proof, answers with a
|
|
138
|
+
* different address set, and matching the stored `via` against it would drop a good proof on a
|
|
139
|
+
* routine event that says nothing about whether the route still carries. An older proof carries
|
|
140
|
+
* no `viaHost`, which reads as the address case, which is what it was.
|
|
82
141
|
* - every other proof is a finding about the whole list that was TRIED, so it survives only
|
|
83
142
|
* while the candidate SET is unchanged. A new candidate is a target nothing ever dialled, and
|
|
84
143
|
* "nothing reaches this environment" is no longer established once one exists.
|
|
@@ -117,27 +176,59 @@ function survivingProof(proof, stored, candidates) {
|
|
|
117
176
|
if (!proof)
|
|
118
177
|
return null;
|
|
119
178
|
if (proof.state === 'reached') {
|
|
120
|
-
|
|
179
|
+
if (!proof.via)
|
|
180
|
+
return proof;
|
|
181
|
+
const target = proof.viaHost ? `h:${proof.viaHost}` : `a:${proof.via}`;
|
|
182
|
+
return candidates.some((entry) => candidateKey(entry) === target) ? proof : null;
|
|
121
183
|
}
|
|
122
|
-
return
|
|
184
|
+
return sameCandidateSet(stored, candidates) ? proof : null;
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* One candidate's identity, as both the PROOF and the plan spell it.
|
|
188
|
+
*
|
|
189
|
+
* Kind-prefixed so a name and an address that happen to read alike are two candidates rather than
|
|
190
|
+
* one, and read through `statedRouteTarget` so the trimming and lower-casing happen once. That
|
|
191
|
+
* boundary is not cosmetic: `planRouteProbes` trims before it dials, so `via` is a trimmed value,
|
|
192
|
+
* and a raw comparison against the stored candidate crossed it. A provider stating `' 10.4.19.22'`
|
|
193
|
+
* proved `'10.4.19.22'`, matched neither its own candidate nor itself, and paid a fresh probe on
|
|
194
|
+
* every single poll for a proof it already had.
|
|
195
|
+
*/
|
|
196
|
+
function candidateKey(entry) {
|
|
197
|
+
const stated = statedRouteTarget(entry);
|
|
198
|
+
if (stated.kind === 'address')
|
|
199
|
+
return `a:${stated.address}`;
|
|
200
|
+
if (stated.kind === 'host')
|
|
201
|
+
return `h:${stated.host}`;
|
|
202
|
+
return UNUSABLE_KEY;
|
|
123
203
|
}
|
|
124
204
|
/**
|
|
125
|
-
*
|
|
205
|
+
* The key every candidate naming no single target collapses onto.
|
|
126
206
|
*
|
|
127
|
-
*
|
|
128
|
-
*
|
|
129
|
-
*
|
|
130
|
-
* single poll for a proof it already had. The manifest provider trims on capture, which is why
|
|
131
|
-
* this only ever bit an adapter stating addresses directly.
|
|
207
|
+
* They have nothing to key BY, which is the whole reason `planRouteProbes` labels one by its
|
|
208
|
+
* position rather than by a value. Named so the comparison below can COUNT them instead of
|
|
209
|
+
* folding them into a set that cannot see their number change.
|
|
132
210
|
*/
|
|
133
|
-
|
|
134
|
-
|
|
211
|
+
const UNUSABLE_KEY = 'x:';
|
|
212
|
+
/** Whether two candidate lists name the same SET of targets (order and labels are cosmetic). */
|
|
213
|
+
function sameCandidateSet(a, b) {
|
|
214
|
+
const left = targetKeys(a);
|
|
215
|
+
const right = targetKeys(b);
|
|
216
|
+
if (left.size !== right.size || ![...left].every((key) => right.has(key)))
|
|
217
|
+
return false;
|
|
218
|
+
// The unusable entries are COUNTED, because a set cannot tell one from four: every one of them
|
|
219
|
+
// carries {@link UNUSABLE_KEY}, so a provider that starts stating an extra entry naming nothing
|
|
220
|
+
// would keep a stale `not_reached` proof while `planRouteProbes` records one more
|
|
221
|
+
// `address_refused` attempt than that proof knows about. Their POSITION is deliberately not part
|
|
222
|
+
// of it, matching the rest of this comparison: they render identically, so reordering them
|
|
223
|
+
// changes nothing a proof could be a finding about.
|
|
224
|
+
return countUnusable(a) === countUnusable(b);
|
|
225
|
+
}
|
|
226
|
+
/** The deduplicated keys of the candidates that name a target, ignoring the ones that name none. */
|
|
227
|
+
function targetKeys(entries) {
|
|
228
|
+
return new Set(entries.map(candidateKey).filter((key) => key !== UNUSABLE_KEY));
|
|
135
229
|
}
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
const left = new Set(a.map(normalized));
|
|
139
|
-
const right = new Set(b.map(normalized));
|
|
140
|
-
return left.size === right.size && [...left].every((address) => right.has(address));
|
|
230
|
+
function countUnusable(entries) {
|
|
231
|
+
return entries.filter((entry) => candidateKey(entry) === UNUSABLE_KEY).length;
|
|
141
232
|
}
|
|
142
233
|
/**
|
|
143
234
|
* How long a proof holds the prober off, once one has run.
|
|
@@ -150,6 +241,9 @@ function sameAddressSet(a, b) {
|
|
|
150
241
|
* durable step, over and over. A minute means at most one probe sequence per environment per
|
|
151
242
|
* minute, which is still promptly enough for the case the re-prove exists for: a proof invalidated
|
|
152
243
|
* once, by a provider that then stays put.
|
|
244
|
+
*
|
|
245
|
+
* It paces the refresh of a proof that SURVIVED the fold too (see {@link awaitsAnotherLook}), and
|
|
246
|
+
* for the same reason: a resolved `via` is re-taken as often as this allows and no oftener.
|
|
153
247
|
*/
|
|
154
248
|
export const ROUTE_REPROVE_MIN_INTERVAL_MS = 60_000;
|
|
155
249
|
/**
|
|
@@ -166,11 +260,9 @@ export const ROUTE_REPROVE_MIN_INTERVAL_MS = 60_000;
|
|
|
166
260
|
* - **Never the FIRST look.** Nothing has looked at a provisioning environment, and looking here
|
|
167
261
|
* would put a probe on every poll of every environment whose deployer has not settled it. The
|
|
168
262
|
* settle path owns that one.
|
|
169
|
-
* - **A surviving proof is left alone
|
|
170
|
-
*
|
|
171
|
-
*
|
|
172
|
-
* deployment wired its prober permanently unproved, which is exactly the "a dropped proof and
|
|
173
|
-
* a proof never taken are the same value" trap one level up.
|
|
263
|
+
* - **A surviving proof is left alone unless it {@link awaitsAnotherLook}.** The fold decides
|
|
264
|
+
* whether a proof still says something about the candidates beside it; that decides whether
|
|
265
|
+
* what it says is still worth standing on.
|
|
174
266
|
* - **{@link ROUTE_REPROVE_MIN_INTERVAL_MS} since the last look**, read off `probedAt` rather
|
|
175
267
|
* than off the proof, because a hold PERSISTS the drop: anchored on the proof's own date, the
|
|
176
268
|
* first hold would erase the anchor and no later poll would ever re-take anything.
|
|
@@ -182,8 +274,47 @@ export function routeReproveDecision(args) {
|
|
|
182
274
|
if (lookedAt === null)
|
|
183
275
|
return 'keep';
|
|
184
276
|
const surviving = args.folded?.proof;
|
|
185
|
-
if (surviving && surviving.
|
|
277
|
+
if (surviving && !awaitsAnotherLook(surviving, args.canResolveHosts))
|
|
186
278
|
return 'keep';
|
|
187
279
|
return args.now - lookedAt < ROUTE_REPROVE_MIN_INTERVAL_MS ? 'held' : 'reprove';
|
|
188
280
|
}
|
|
281
|
+
/**
|
|
282
|
+
* Whether a proof that survived the fold is one the poll should take AGAIN.
|
|
283
|
+
*
|
|
284
|
+
* Three cases, and each is a proof about the PLATFORM wearing a state that reads like a verdict:
|
|
285
|
+
*
|
|
286
|
+
* - **`unproved`.** Nothing was wired to open a socket, so it is a proof never taken, and it
|
|
287
|
+
* survives set equality forever. The caller only consults this with a prober in hand, so
|
|
288
|
+
* re-taking it is precisely "the deployment gained the capability the proof records lacking".
|
|
289
|
+
* - **`resolver_unavailable`.** The same fact one layer down, and it arrived carrying the same
|
|
290
|
+
* trap in a shape the rule above cannot see: the proof is `inconclusive`, so it is not
|
|
291
|
+
* `unproved`, so it would be left alone for the life of the environment and an environment
|
|
292
|
+
* settled by a facade with no resolver would stay unproved after the deployment wired one.
|
|
293
|
+
* Gated on the capability rather than re-taken unconditionally, because with nothing still
|
|
294
|
+
* wired the re-probe would pay a full dial sequence a minute to re-derive an answer it has.
|
|
295
|
+
* - **A `reached` proof whose `via` was RESOLVED from a name.** `via` is the literal a container
|
|
296
|
+
* host bridge is built from, and for a resolved name it is a snapshot of an address set the
|
|
297
|
+
* platform does not own. The balancer rescaling this proof deliberately SURVIVES (the name is
|
|
298
|
+
* still stated, so the fold keeps it) is the same event that releases that address, and left
|
|
299
|
+
* alone the row goes on publishing a bridge target the vendor has since handed to someone
|
|
300
|
+
* else: a run heading for failure with a proof on the record saying the environment is
|
|
301
|
+
* reachable, which is the worst of the bridge module's failure modes. Re-taking refreshes the
|
|
302
|
+
* literal against the name that is still the finding.
|
|
303
|
+
*
|
|
304
|
+
* Every other proof is left alone. `probe_failed` is a transient with no signal to pace against,
|
|
305
|
+
* so re-taking it would be a guess on the poll's own cadence rather than a response to anything,
|
|
306
|
+
* and `not_attempted` records a bound this build does not move.
|
|
307
|
+
*
|
|
308
|
+
* The residual gap is the environment nothing polls between the settle that proved it and the
|
|
309
|
+
* dispatch that bridges to it: this can only refresh a literal where a poll happens. ADR 0064
|
|
310
|
+
* records it.
|
|
311
|
+
*/
|
|
312
|
+
function awaitsAnotherLook(proof, canResolveHosts) {
|
|
313
|
+
if (proof.state === 'unproved')
|
|
314
|
+
return true;
|
|
315
|
+
if (proof.reason === 'resolver_unavailable') {
|
|
316
|
+
return canResolveHosts;
|
|
317
|
+
}
|
|
318
|
+
return proof.state === 'reached' && proof.viaHost !== undefined;
|
|
319
|
+
}
|
|
189
320
|
//# sourceMappingURL=environmentReachability.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environmentReachability.js","sourceRoot":"","sources":["../../../src/modules/environments/environmentReachability.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAChG,yEAAyE;AACzE,EAAE;AACF,
|
|
1
|
+
{"version":3,"file":"environmentReachability.js","sourceRoot":"","sources":["../../../src/modules/environments/environmentReachability.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Clock, EnvironmentAccessHandle, EnvironmentHandle, EnvironmentRecord, EnvironmentRegistryRepository, Logger, ProvisionedEnvironment, ProvisionFields, RouteProbe } from '@cat-factory/kernel';
|
|
1
|
+
import type { Clock, EnvironmentAccessHandle, EnvironmentHandle, EnvironmentRecord, EnvironmentRegistryRepository, HostResolver, Logger, ProvisionedEnvironment, ProvisionFields, RouteProbe } from '@cat-factory/kernel';
|
|
2
2
|
import type { ProvisioningLogRecorder } from '../provisioning-logs/ProvisioningLogService.js';
|
|
3
3
|
import type { ResolvedEnvironmentProvider } from './environmentRemediation.js';
|
|
4
4
|
/**
|
|
@@ -24,6 +24,11 @@ export interface EnvironmentStatusPollerDeps {
|
|
|
24
24
|
* Absent ⇒ this deployment probes nothing at all and the poll behaves exactly as it did.
|
|
25
25
|
*/
|
|
26
26
|
probe?: RouteProbe;
|
|
27
|
+
/**
|
|
28
|
+
* Resolves a stated balancer NAME for that re-take. Absent ⇒ a name candidate settles nothing,
|
|
29
|
+
* exactly as it does on the settle path, and an address candidate is unaffected.
|
|
30
|
+
*/
|
|
31
|
+
resolveHost?: HostResolver;
|
|
27
32
|
/** Best-effort provisioning-event log; absent ⇒ polling is unchanged. */
|
|
28
33
|
provisioningLog?: ProvisioningLogRecorder;
|
|
29
34
|
logger?: Logger;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environmentStatusPoll.d.ts","sourceRoot":"","sources":["../../../src/modules/environments/environmentStatusPoll.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,uBAAuB,EACvB,iBAAiB,EAEjB,iBAAiB,EAEjB,6BAA6B,EAC7B,MAAM,EACN,sBAAsB,EACtB,eAAe,EACf,UAAU,EACX,MAAM,qBAAqB,CAAA;AAE5B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gDAAgD,CAAA;AAO7F,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAA;AAyB9E;;;;;GAKG;AACH,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,6BAA6B,CAAA;IACvC,4FAA4F;IAC5F,eAAe,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,OAAO,CAAC,2BAA2B,CAAC,CAAA;IACpF,aAAa,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,OAAO,CAAC,eAAe,CAAC,CAAA;IACtE,uFAAuF;IACvF,UAAU,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;IAC7E,UAAU,EAAE,CACV,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,uBAAuB,GAAG,IAAI,KACnC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IAC3B,wFAAwF;IACxF,oBAAoB,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;IAClD,aAAa,EAAE,CACb,WAAW,EAAE,sBAAsB,EACnC,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,IAAI,EAAE,MAAM,KACT,MAAM,GAAG,IAAI,CAAA;IAClB,KAAK,EAAE,KAAK,CAAA;IACZ;;;OAGG;IACH,KAAK,CAAC,EAAE,UAAU,CAAA;IAClB,yEAAyE;IACzE,eAAe,CAAC,EAAE,uBAAuB,CAAA;IACzC,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,2BAA2B;2BAIzC,MAAM,MAAM,MAAM,KAAG,OAAO,CAAC,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"environmentStatusPoll.d.ts","sourceRoot":"","sources":["../../../src/modules/environments/environmentStatusPoll.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,uBAAuB,EACvB,iBAAiB,EAEjB,iBAAiB,EAEjB,6BAA6B,EAC7B,YAAY,EACZ,MAAM,EACN,sBAAsB,EACtB,eAAe,EACf,UAAU,EACX,MAAM,qBAAqB,CAAA;AAE5B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gDAAgD,CAAA;AAO7F,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAA;AAyB9E;;;;;GAKG;AACH,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,6BAA6B,CAAA;IACvC,4FAA4F;IAC5F,eAAe,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,OAAO,CAAC,2BAA2B,CAAC,CAAA;IACpF,aAAa,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,OAAO,CAAC,eAAe,CAAC,CAAA;IACtE,uFAAuF;IACvF,UAAU,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;IAC7E,UAAU,EAAE,CACV,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,uBAAuB,GAAG,IAAI,KACnC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IAC3B,wFAAwF;IACxF,oBAAoB,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;IAClD,aAAa,EAAE,CACb,WAAW,EAAE,sBAAsB,EACnC,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,IAAI,EAAE,MAAM,KACT,MAAM,GAAG,IAAI,CAAA;IAClB,KAAK,EAAE,KAAK,CAAA;IACZ;;;OAGG;IACH,KAAK,CAAC,EAAE,UAAU,CAAA;IAClB;;;OAGG;IACH,WAAW,CAAC,EAAE,YAAY,CAAA;IAC1B,yEAAyE;IACzE,eAAe,CAAC,EAAE,uBAAuB,CAAA;IACzC,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,2BAA2B;2BAIzC,MAAM,MAAM,MAAM,KAAG,OAAO,CAAC,iBAAiB,CAAC;EAyNpF;AAED,4EAA4E;AAC5E,MAAM,MAAM,uBAAuB,GAAG,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAA"}
|
|
@@ -122,6 +122,10 @@ export function createEnvironmentStatusPoller(deps) {
|
|
|
122
122
|
stored,
|
|
123
123
|
folded,
|
|
124
124
|
ready: provisioned.status === 'ready',
|
|
125
|
+
// The capability, not a preference: a proof recording that this deployment could not
|
|
126
|
+
// resolve a stated NAME is re-taken once one is wired and left alone while none is, which
|
|
127
|
+
// is the same rule the `unproved` case gets from `deps.probe` one line up.
|
|
128
|
+
canResolveHosts: Boolean(deps.resolveHost),
|
|
125
129
|
now,
|
|
126
130
|
});
|
|
127
131
|
if (decision === 'keep')
|
|
@@ -143,6 +147,7 @@ export function createEnvironmentStatusPoller(deps) {
|
|
|
143
147
|
const candidates = folded?.candidates ?? [];
|
|
144
148
|
const proof = await proveEnvironmentRoute(provisioned.url, candidates, {
|
|
145
149
|
probe: deps.probe,
|
|
150
|
+
...(deps.resolveHost ? { resolveHost: deps.resolveHost } : {}),
|
|
146
151
|
clock: deps.clock,
|
|
147
152
|
});
|
|
148
153
|
log.debug('re-proved an environment route the status poll invalidated', {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environmentStatusPoll.js","sourceRoot":"","sources":["../../../src/modules/environments/environmentStatusPoll.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"environmentStatusPoll.js","sourceRoot":"","sources":["../../../src/modules/environments/environmentStatusPoll.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ConnectionTestResult, EnvironmentAccessHandle, EnvironmentHandle, EnvironmentManifest, EnvironmentStatus, ProviderConfigField, TeardownConfirmation, TeardownProbe } from '@cat-factory/kernel';
|
|
2
2
|
import type { EnvironmentRecord, UrlSafetyPolicy } from '@cat-factory/kernel';
|
|
3
|
-
import type {
|
|
3
|
+
import type { EnvironmentRouteCandidate, EnvironmentReachability } from '@cat-factory/contracts';
|
|
4
4
|
/**
|
|
5
5
|
* The agent kind that triggers deterministic provisioning, and its counterpart that triggers the
|
|
6
6
|
* deterministic RECLAIM. Re-exported from `@cat-factory/contracts` rather than restated: the
|
|
@@ -177,20 +177,25 @@ export declare function mapStatus(raw: string | undefined, statusMap: {
|
|
|
177
177
|
to: EnvironmentStatus;
|
|
178
178
|
}[] | undefined, fallback: EnvironmentStatus): EnvironmentStatus;
|
|
179
179
|
/**
|
|
180
|
-
* Read a manifest's `addressesPath` off an arbitrary provider response.
|
|
180
|
+
* Read a manifest's `addressesPath` (or `hostsPath`) off an arbitrary provider response.
|
|
181
181
|
*
|
|
182
182
|
* Three shapes are accepted because a self-rolled management API can reasonably return any of
|
|
183
|
-
* them, and refusing two would push an org into reshaping its API for us: a single
|
|
184
|
-
*
|
|
185
|
-
*
|
|
186
|
-
* Object]` in an `--add-host` argument.
|
|
183
|
+
* them, and refusing two would push an org into reshaping its API for us: a single string, an array
|
|
184
|
+
* of strings, or an array of objects. Anything else in the array is SKIPPED rather than coerced, so
|
|
185
|
+
* an unexpected element cannot become the literal `[object Object]` in an `--add-host` argument.
|
|
187
186
|
*
|
|
188
|
-
*
|
|
189
|
-
*
|
|
190
|
-
*
|
|
191
|
-
* the
|
|
187
|
+
* `bare` is what a plain string in that path MEANS, and it comes from which manifest key was
|
|
188
|
+
* declared rather than from reading the value: a bare string is unlabelled, so nothing about it
|
|
189
|
+
* says whether `10.4.19.22` is an address or a name someone is about to resolve. An object entry
|
|
190
|
+
* states its own kind and is read as it is written, which is what lets ONE path interleave the two
|
|
191
|
+
* in a provider's preference order.
|
|
192
|
+
*
|
|
193
|
+
* Nothing here validates the values. Which addresses a bridge may name is kernel's rule
|
|
194
|
+
* (`isBridgeableAddress`), applied at plan time and again where the bridge is built, and what
|
|
195
|
+
* actually carries is the proof's answer; a provider stating a useless candidate gets a recorded
|
|
196
|
+
* failed attempt, which is the honest outcome.
|
|
192
197
|
*/
|
|
193
|
-
export declare function extractAddresses(json: unknown, path: string | undefined):
|
|
198
|
+
export declare function extractAddresses(json: unknown, path: string | undefined, bare?: 'address' | 'host'): EnvironmentRouteCandidate[];
|
|
194
199
|
/**
|
|
195
200
|
* Parse the stored reachability blob, or null when there is none and when what is there does not
|
|
196
201
|
* validate.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environments.logic.d.ts","sourceRoot":"","sources":["../../../src/modules/environments/environments.logic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,uBAAuB,EACvB,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,aAAa,EACd,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAE7E,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"environments.logic.d.ts","sourceRoot":"","sources":["../../../src/modules/environments/environments.logic.ts"],"names":[],"mappings":"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"}
|
|
@@ -337,42 +337,52 @@ export function mapStatus(raw, statusMap, fallback) {
|
|
|
337
337
|
return fallback;
|
|
338
338
|
}
|
|
339
339
|
/**
|
|
340
|
-
* Read a manifest's `addressesPath` off an arbitrary provider response.
|
|
340
|
+
* Read a manifest's `addressesPath` (or `hostsPath`) off an arbitrary provider response.
|
|
341
341
|
*
|
|
342
342
|
* Three shapes are accepted because a self-rolled management API can reasonably return any of
|
|
343
|
-
* them, and refusing two would push an org into reshaping its API for us: a single
|
|
344
|
-
*
|
|
345
|
-
*
|
|
346
|
-
* Object]` in an `--add-host` argument.
|
|
343
|
+
* them, and refusing two would push an org into reshaping its API for us: a single string, an array
|
|
344
|
+
* of strings, or an array of objects. Anything else in the array is SKIPPED rather than coerced, so
|
|
345
|
+
* an unexpected element cannot become the literal `[object Object]` in an `--add-host` argument.
|
|
347
346
|
*
|
|
348
|
-
*
|
|
349
|
-
*
|
|
350
|
-
*
|
|
351
|
-
* the
|
|
347
|
+
* `bare` is what a plain string in that path MEANS, and it comes from which manifest key was
|
|
348
|
+
* declared rather than from reading the value: a bare string is unlabelled, so nothing about it
|
|
349
|
+
* says whether `10.4.19.22` is an address or a name someone is about to resolve. An object entry
|
|
350
|
+
* states its own kind and is read as it is written, which is what lets ONE path interleave the two
|
|
351
|
+
* in a provider's preference order.
|
|
352
|
+
*
|
|
353
|
+
* Nothing here validates the values. Which addresses a bridge may name is kernel's rule
|
|
354
|
+
* (`isBridgeableAddress`), applied at plan time and again where the bridge is built, and what
|
|
355
|
+
* actually carries is the proof's answer; a provider stating a useless candidate gets a recorded
|
|
356
|
+
* failed attempt, which is the honest outcome.
|
|
352
357
|
*/
|
|
353
|
-
export function extractAddresses(json, path) {
|
|
358
|
+
export function extractAddresses(json, path, bare = 'address') {
|
|
354
359
|
if (!path)
|
|
355
360
|
return [];
|
|
356
361
|
const raw = extractByPath(json, path);
|
|
357
362
|
if (typeof raw === 'string')
|
|
358
|
-
return raw.trim() ? [{
|
|
363
|
+
return raw.trim() ? [{ [bare]: raw.trim() }] : [];
|
|
359
364
|
if (!Array.isArray(raw))
|
|
360
365
|
return [];
|
|
361
366
|
const out = [];
|
|
362
367
|
for (const entry of raw) {
|
|
363
368
|
if (typeof entry === 'string') {
|
|
364
369
|
if (entry.trim())
|
|
365
|
-
out.push({
|
|
370
|
+
out.push({ [bare]: entry.trim() });
|
|
366
371
|
continue;
|
|
367
372
|
}
|
|
368
373
|
if (!entry || typeof entry !== 'object')
|
|
369
374
|
continue;
|
|
370
375
|
const record = entry;
|
|
371
376
|
const address = typeof record.address === 'string' ? record.address.trim() : '';
|
|
372
|
-
|
|
377
|
+
const host = typeof record.host === 'string' ? record.host.trim() : '';
|
|
378
|
+
// Exactly one, on the schema's own rule: an entry stating both names two things with no way to
|
|
379
|
+
// tell which was meant, and is dropped here rather than carried to the plan as a candidate that
|
|
380
|
+
// could only ever be refused.
|
|
381
|
+
if ((address && host) || (!address && !host))
|
|
373
382
|
continue;
|
|
374
383
|
const label = typeof record.label === 'string' ? record.label.trim() : '';
|
|
375
|
-
|
|
384
|
+
const target = address ? { address } : { host };
|
|
385
|
+
out.push(label ? { ...target, label } : target);
|
|
376
386
|
}
|
|
377
387
|
return out;
|
|
378
388
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environments.logic.js","sourceRoot":"","sources":["../../../src/modules/environments/environments.logic.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"environments.logic.js","sourceRoot":"","sources":["../../../src/modules/environments/environments.logic.ts"],"names":[],"mappings":"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"}
|