@sanoma-ai/workflows 0.10.2 → 0.10.6
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/CLOUD-IDENTITY.md +128 -17
- package/README.md +56 -13
- package/dist/apply.d.ts +11 -4
- package/dist/apply.js +127 -36
- package/dist/apply.js.map +1 -1
- package/dist/call.d.ts +5 -2
- package/dist/call.js +65 -20
- package/dist/call.js.map +1 -1
- package/dist/change.d.ts +5 -6
- package/dist/change.js +6 -9
- package/dist/change.js.map +1 -1
- package/dist/client.d.ts +18 -0
- package/dist/client.js +35 -3
- package/dist/client.js.map +1 -1
- package/dist/cloud-identity.d.ts +5 -1
- package/dist/cloud-identity.js +13 -77
- package/dist/cloud-identity.js.map +1 -1
- package/dist/config.d.ts +45 -4
- package/dist/config.js +73 -11
- package/dist/config.js.map +1 -1
- package/dist/db.d.ts +2 -0
- package/dist/db.js +7 -0
- package/dist/db.js.map +1 -1
- package/dist/deadlines.d.ts +26 -13
- package/dist/deadlines.js +50 -11
- package/dist/deadlines.js.map +1 -1
- package/dist/define.d.ts +29 -0
- package/dist/define.js +3 -0
- package/dist/define.js.map +1 -1
- package/dist/deployment-key.d.ts +20 -1
- package/dist/deployment-key.js +28 -3
- package/dist/deployment-key.js.map +1 -1
- package/dist/describe.js +28 -1
- package/dist/describe.js.map +1 -1
- package/dist/description.d.ts +3 -0
- package/dist/description.js +2 -0
- package/dist/description.js.map +1 -1
- package/dist/dns.d.ts +20 -0
- package/dist/dns.js +26 -0
- package/dist/dns.js.map +1 -0
- package/dist/drift.d.ts +4 -2
- package/dist/drift.js +13 -4
- package/dist/drift.js.map +1 -1
- package/dist/host.d.ts +13 -4
- package/dist/host.js +14 -5
- package/dist/host.js.map +1 -1
- package/dist/identity-broker.d.ts +14 -0
- package/dist/identity-broker.js +84 -0
- package/dist/identity-broker.js.map +1 -0
- package/dist/identity-provisioning.d.ts +29 -0
- package/dist/identity-provisioning.js +178 -0
- package/dist/identity-provisioning.js.map +1 -0
- package/dist/identity-service.d.ts +25 -0
- package/dist/identity-service.js +148 -0
- package/dist/identity-service.js.map +1 -0
- package/dist/index.d.ts +11 -6
- package/dist/index.js +9 -5
- package/dist/index.js.map +1 -1
- package/dist/ledger.d.ts +30 -1
- package/dist/ledger.js +31 -0
- package/dist/ledger.js.map +1 -1
- package/dist/login-code.d.ts +17 -0
- package/dist/login-code.js +32 -0
- package/dist/login-code.js.map +1 -0
- package/dist/op.d.ts +85 -10
- package/dist/op.js +20 -0
- package/dist/op.js.map +1 -1
- package/dist/outline.js +3 -3
- package/dist/outline.js.map +1 -1
- package/dist/provisioning-identity.d.ts +27 -0
- package/dist/provisioning-identity.js +81 -0
- package/dist/provisioning-identity.js.map +1 -0
- package/dist/resource.d.ts +73 -10
- package/dist/resource.js +103 -14
- package/dist/resource.js.map +1 -1
- package/dist/resources.d.ts +4 -2
- package/dist/resources.js +16 -6
- package/dist/resources.js.map +1 -1
- package/dist/run.d.ts +3 -0
- package/dist/run.js.map +1 -1
- package/dist/runtime-ops.d.ts +182 -0
- package/dist/runtime-ops.js +294 -0
- package/dist/runtime-ops.js.map +1 -0
- package/dist/scenario.d.ts +6 -3
- package/dist/scenario.js +13 -1
- package/dist/scenario.js.map +1 -1
- package/dist/seal.d.ts +27 -0
- package/dist/seal.js +76 -0
- package/dist/seal.js.map +1 -0
- package/dist/secret-store.d.ts +6 -4
- package/dist/secret-store.js +11 -6
- package/dist/secret-store.js.map +1 -1
- package/dist/secret.d.ts +7 -0
- package/dist/secret.js +13 -1
- package/dist/secret.js.map +1 -1
- package/dist/shared.d.ts +15 -4
- package/dist/shared.js +27 -7
- package/dist/shared.js.map +1 -1
- package/dist/ssh-key.d.ts +11 -0
- package/dist/ssh-key.js +44 -0
- package/dist/ssh-key.js.map +1 -0
- package/dist/tokens.d.ts +35 -0
- package/dist/tokens.js +71 -0
- package/dist/tokens.js.map +1 -0
- package/dist/wakeup-service.js +2 -7
- package/dist/wakeup-service.js.map +1 -1
- package/dist/wakeup.d.ts +18 -0
- package/dist/wakeup.js +15 -0
- package/dist/wakeup.js.map +1 -1
- package/dist/worker.d.ts +2 -2
- package/dist/worker.js +17 -9
- package/dist/worker.js.map +1 -1
- package/oxlint.json +2 -1
- package/package.json +5 -1
- package/src/apply.ts +166 -48
- package/src/call.ts +88 -18
- package/src/change.ts +9 -20
- package/src/client.ts +48 -7
- package/src/cloud-identity.ts +16 -76
- package/src/config.ts +116 -18
- package/src/db.ts +8 -1
- package/src/deadlines.ts +66 -20
- package/src/define.ts +33 -0
- package/src/deployment-key.ts +34 -8
- package/src/describe.ts +39 -2
- package/src/description.ts +2 -0
- package/src/dns.ts +29 -0
- package/src/drift.ts +13 -4
- package/src/host.ts +22 -6
- package/src/identity-broker.ts +94 -0
- package/src/identity-provisioning.ts +208 -0
- package/src/identity-service.ts +179 -0
- package/src/index.ts +20 -1
- package/src/ledger.ts +52 -1
- package/src/login-code.ts +52 -0
- package/src/op.ts +94 -11
- package/src/outline.ts +3 -3
- package/src/provisioning-identity.ts +106 -0
- package/src/resource.ts +155 -20
- package/src/resources.ts +14 -4
- package/src/run.ts +3 -0
- package/src/runtime-ops.ts +313 -0
- package/src/scenario.ts +24 -6
- package/src/seal.ts +95 -0
- package/src/secret-store.ts +12 -9
- package/src/secret.ts +16 -1
- package/src/shared.ts +31 -7
- package/src/ssh-key.ts +48 -0
- package/src/tokens.ts +100 -0
- package/src/wakeup-service.ts +2 -8
- package/src/wakeup.ts +21 -0
- package/src/worker.ts +29 -11
package/dist/worker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"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"}
|
package/oxlint.json
CHANGED
|
@@ -83,7 +83,7 @@
|
|
|
83
83
|
},
|
|
84
84
|
{
|
|
85
85
|
"name": "@sanoma-ai/workflows",
|
|
86
|
-
"allowImportNames": ["defineWorkflow", "mayDecide", "errorCode", "z"],
|
|
86
|
+
"allowImportNames": ["defineWorkflow", "mayDecide", "errorCode", "sanoma", "z"],
|
|
87
87
|
"allowTypeImports": true,
|
|
88
88
|
"message": "A workflow imports only these and types from @sanoma-ai/workflows: the rest (SanomaClient, startWorker, the ledger stores, config helpers) could start runs, approve its own approvals, forge the ledger or read credentials. Ask for approval with `ctx.approval`."
|
|
89
89
|
}
|
|
@@ -101,6 +101,7 @@
|
|
|
101
101
|
"@sanoma-ai/workflows/scenario",
|
|
102
102
|
"@sanoma-ai/workflows/scenarios",
|
|
103
103
|
"@sanoma-ai/workflows/cloud-identity",
|
|
104
|
+
"@sanoma-ai/workflows/identity-service",
|
|
104
105
|
"@sanoma-ai/workflows/kms-secrets",
|
|
105
106
|
"@sanoma-ai/workflows/wakeup-service"
|
|
106
107
|
],
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sanoma-ai/workflows",
|
|
3
|
-
"version": "0.10.
|
|
3
|
+
"version": "0.10.6",
|
|
4
4
|
"description": "Business processes as TypeScript functions, run durably on DBOS",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"approvals",
|
|
@@ -85,6 +85,10 @@
|
|
|
85
85
|
"./kms-secrets": {
|
|
86
86
|
"types": "./dist/kms-secrets.d.ts",
|
|
87
87
|
"default": "./dist/kms-secrets.js"
|
|
88
|
+
},
|
|
89
|
+
"./identity-service": {
|
|
90
|
+
"types": "./dist/identity-service.d.ts",
|
|
91
|
+
"default": "./dist/identity-service.js"
|
|
88
92
|
}
|
|
89
93
|
},
|
|
90
94
|
"publishConfig": {
|
package/src/apply.ts
CHANGED
|
@@ -24,9 +24,13 @@ import {
|
|
|
24
24
|
afterCreateStuck,
|
|
25
25
|
fieldPathOf,
|
|
26
26
|
holderOf,
|
|
27
|
+
type Missing,
|
|
27
28
|
type PlanAction,
|
|
28
29
|
type Resource,
|
|
30
|
+
same,
|
|
31
|
+
type Unfilled,
|
|
29
32
|
valueAt,
|
|
33
|
+
withFrom,
|
|
30
34
|
} from "./resource.ts";
|
|
31
35
|
import type { ResourceProblem } from "./resources.ts";
|
|
32
36
|
import { type APPLY_WORKFLOW, errorMessage } from "./shared.ts";
|
|
@@ -38,7 +42,7 @@ export { APPLY_WORKFLOW } from "./shared.ts";
|
|
|
38
42
|
// would make each match its declaration, asks one approval wherever the policy holds a change,
|
|
39
43
|
// then makes the changes in dependency order, keeping the lockfile's bindings as it goes. It is a
|
|
40
44
|
// workflow like any other, held to the same lint, so every vendor call goes through `ctx`. Only
|
|
41
|
-
// it may call a writable type's change operations (`isChangeOp`).
|
|
45
|
+
// it may call a writable type's change operations (`isChangeOp`) on a declared object.
|
|
42
46
|
|
|
43
47
|
/** What a person answers for a bound object the vendor no longer has (`gone`), or a binding no declaration has (`orphan`). */
|
|
44
48
|
export const PLAN_ANSWERS = ["recreate", "forget", "delete"] as const;
|
|
@@ -60,13 +64,14 @@ export type ApplyInput = z.infer<typeof ApplyInput>;
|
|
|
60
64
|
/**
|
|
61
65
|
* One declared resource, or orphaned binding, by what apply does with it: `create` it (as the
|
|
62
66
|
* vendor plans: `planned`, the paths `unknown` until it exists), `update` or `replace` its bound
|
|
63
|
-
* object (the declared `fields` that differ, the paths that force the replace
|
|
67
|
+
* object (the declared `fields` that differ, the paths that force the replace, any `unknown` until
|
|
68
|
+
* it is done: a `from` field whose resource changes first), `bind` it to an
|
|
64
69
|
* object its identity `found` or the input `given`, ask about a `gone` object or an `orphan`ed
|
|
65
70
|
* binding (unless `answer`ed), or `none`.
|
|
66
71
|
*/
|
|
67
72
|
export type PlanStep = { id: string; vendor: string; type: string; connection?: ConnectionRef } & (
|
|
68
73
|
| { action: "create"; planned: Record<string, unknown>; unknown: string[] }
|
|
69
|
-
| { action: "update" | "replace"; binding: string; fields: DriftField[]; replace: string[] }
|
|
74
|
+
| { action: "update" | "replace"; binding: string; fields: DriftField[]; replace: string[]; unknown?: string[] }
|
|
70
75
|
| { action: "bind"; binding: string; source: "found" | "given" }
|
|
71
76
|
| { action: "gone"; binding: string; answer?: PlanAnswer }
|
|
72
77
|
| { action: "orphan"; key: string; binding: string; answer?: PlanAnswer }
|
|
@@ -183,22 +188,40 @@ function inDependencyOrder<T extends { id: string; refs: Record<string, string>
|
|
|
183
188
|
return out;
|
|
184
189
|
}
|
|
185
190
|
|
|
191
|
+
/** What a run knows of the declared resources as it goes, by declared id, which `desiredOf` reads. */
|
|
192
|
+
interface Known {
|
|
193
|
+
/** The lockfile's bindings, as the run has changed them so far. */
|
|
194
|
+
bindings: Bindings;
|
|
195
|
+
/** The clone URL and commit a host wanted runs. */
|
|
196
|
+
hosts: ReadonlyMap<string, { source: string; revision: string }>;
|
|
197
|
+
/** Where each host answers, as its state says. */
|
|
198
|
+
urls: ReadonlyMap<string, string>;
|
|
199
|
+
/**
|
|
200
|
+
* A resource's state as found or as its step left it, to read a `from` reference's path in;
|
|
201
|
+
* undefined while it has none known there.
|
|
202
|
+
*/
|
|
203
|
+
stateOf: (named: string, from: string) => State | undefined;
|
|
204
|
+
}
|
|
205
|
+
|
|
186
206
|
/**
|
|
187
207
|
* What a change operation is given of a declaration: its fields, where it names a resource the
|
|
188
208
|
* vendor may hold by another field (`by`, as a repository's node id), that resource's binding id
|
|
189
|
-
* when it has one, made in this run or before; a
|
|
190
|
-
*
|
|
209
|
+
* when it has one, made in this run or before; where a `from` reference names one, that
|
|
210
|
+
* resource's state at its path, or while it has none there, `null` (`unknown`) or nothing
|
|
211
|
+
* (`drop`), as `missing` says, with those references as `unfilled`; a wakeup's `host`,
|
|
212
|
+
* the URL its host answers at (`urls`, by the host's declared id) once its state says.
|
|
191
213
|
*/
|
|
192
214
|
function desiredOf(
|
|
193
215
|
r: Declaration,
|
|
194
216
|
types: ReadonlyMap<string, Resource>,
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
217
|
+
known: Known,
|
|
218
|
+
missing: Missing | ((named: string, from: string) => Missing),
|
|
219
|
+
): { desired: State; unfilled: Unfilled[] } {
|
|
220
|
+
const { bindings, hosts, urls, stateOf } = known;
|
|
199
221
|
const { fields, host, wakeup } = types.get(`${r.vendor}.${r.type}`)!;
|
|
200
222
|
const { references = {} } = fields;
|
|
201
|
-
const
|
|
223
|
+
const filled = withFrom(references, r.desired, r.refs, stateOf, missing);
|
|
224
|
+
const out = filled.desired === r.desired ? structuredClone(r.desired) : filled.desired;
|
|
202
225
|
for (const [at, target] of Object.entries(r.refs)) {
|
|
203
226
|
const bound = bindings[target]?.id;
|
|
204
227
|
const place = holderOf(out, at);
|
|
@@ -220,9 +243,16 @@ function desiredOf(
|
|
|
220
243
|
if (place) place.holder[place.key] = value;
|
|
221
244
|
}
|
|
222
245
|
}
|
|
223
|
-
return out;
|
|
246
|
+
return { desired: out, unfilled: filled.unfilled };
|
|
224
247
|
}
|
|
225
248
|
|
|
249
|
+
/** Whether two dotted paths name the same field, or one a field inside the other. */
|
|
250
|
+
const overlaps = (a: string, b: string) => a === b || a.startsWith(`${b}.`) || b.startsWith(`${a}.`);
|
|
251
|
+
|
|
252
|
+
/** Why a step cannot write a field a `from` reference takes: its resource has no state, or nothing at the path. */
|
|
253
|
+
const waitingFor = ({ at, named, from, stated }: Unfilled) =>
|
|
254
|
+
`its ${at} come from ${named}, ${stated ? `whose state has no ${from} yet` : "which has no state yet"}`;
|
|
255
|
+
|
|
226
256
|
/** Why apply cannot `what` (create, update, delete) an object of a type. */
|
|
227
257
|
const cannotChange = (type: Pick<Resource, "vendor" | "type" | "writable"> | undefined, what: string) =>
|
|
228
258
|
type?.writable
|
|
@@ -292,6 +322,9 @@ function decide(
|
|
|
292
322
|
return result.status === "drifted" ? { step, problem: cannot("update") } : { step };
|
|
293
323
|
}
|
|
294
324
|
|
|
325
|
+
/** Whether apply makes a declared resource: one unbound (`absent`) or `gone`. */
|
|
326
|
+
const creates = (result: DriftResult) => result.status === "absent" || result.status === "gone";
|
|
327
|
+
|
|
295
328
|
/** The step a `plan` answer makes of a declared resource: a create for one unbound or gone, else an update, a replace or none. */
|
|
296
329
|
function fromPlan(
|
|
297
330
|
r: Declaration,
|
|
@@ -299,12 +332,21 @@ function fromPlan(
|
|
|
299
332
|
p: { action: PlanAction; planned?: State; unknown: string[]; replace: string[] },
|
|
300
333
|
): { step?: PlanStep; problem?: ResourceProblem } {
|
|
301
334
|
const head = { id: r.id, vendor: r.vendor, type: r.type };
|
|
302
|
-
const creating = result
|
|
335
|
+
const creating = creates(result);
|
|
303
336
|
if (creating && p.action === "create") {
|
|
304
337
|
return { step: { ...head, action: "create", planned: p.planned ?? {}, unknown: p.unknown } };
|
|
305
338
|
}
|
|
306
339
|
if (!creating && (p.action === "update" || p.action === "replace")) {
|
|
307
|
-
return {
|
|
340
|
+
return {
|
|
341
|
+
step: {
|
|
342
|
+
...head,
|
|
343
|
+
action: p.action,
|
|
344
|
+
binding: result.binding!,
|
|
345
|
+
fields: result.fields,
|
|
346
|
+
replace: p.replace,
|
|
347
|
+
...(p.unknown.length && { unknown: p.unknown }),
|
|
348
|
+
},
|
|
349
|
+
};
|
|
308
350
|
}
|
|
309
351
|
if (!creating && p.action === "none") return { step: { ...head, action: "none", binding: result.binding! } };
|
|
310
352
|
return { problem: problemOf(r.id, `the vendor plans to ${p.action} it, which apply does not do here`) };
|
|
@@ -432,9 +474,14 @@ function messageOf(step: PlanStep, before: Binding | undefined, after: Binding |
|
|
|
432
474
|
* and right after one that changes a binding, the lockfile written and committed
|
|
433
475
|
* (`steps.write`), so an object made is never left unbound. An update is given the plan's action
|
|
434
476
|
* and replace (`expect`), and refuses (`plan_changed`) when the vendor now plans otherwise; a
|
|
435
|
-
* reference to a resource made in this run is given its new binding,
|
|
436
|
-
*
|
|
437
|
-
*
|
|
477
|
+
* reference to a resource made in this run is given its new binding, a `from` reference that
|
|
478
|
+
* resource's state at its path as an earlier step left it (planned as `null` while this apply
|
|
479
|
+
* changes it there, or a create's while it has none there, so the change is planned and approved
|
|
480
|
+
* up front, and the step planned again once the value is known: done without a write when it
|
|
481
|
+
* plans `none`, else expecting the fresh plan; a step whose resource still has none there, its
|
|
482
|
+
* step failed or not done, fails before its driver is called), and a wakeup's `host` the URL its host's state gives
|
|
483
|
+
* (`outputs(state).url`), found or made in this run. A failed step is reported and the run
|
|
484
|
+
* goes on; a failure that ends the run (`isRunControlError`) ends it.
|
|
438
485
|
*/
|
|
439
486
|
export function applyWorkflow(
|
|
440
487
|
types: ReadonlyMap<string, Resource>,
|
|
@@ -499,15 +546,21 @@ export function applyWorkflow(
|
|
|
499
546
|
}
|
|
500
547
|
}
|
|
501
548
|
}
|
|
502
|
-
//
|
|
549
|
+
// Each declared resource's state, found now or made below, for a `from` reference to it, and
|
|
550
|
+
// where each declared host answers, as its state says: a wakeup is given it.
|
|
551
|
+
const states = new Map<string, State>();
|
|
503
552
|
const urls = new Map<string, string>();
|
|
504
|
-
|
|
553
|
+
// The resources whose step to change them has started and not left a state yet.
|
|
554
|
+
const unsettled = new Set<string>();
|
|
555
|
+
const keep = (r: Declaration, state: State) => {
|
|
556
|
+
states.set(r.id, state);
|
|
557
|
+
unsettled.delete(r.id);
|
|
505
558
|
const url = types.get(`${r.vendor}.${r.type}`)?.host?.outputs(state).url;
|
|
506
559
|
if (url) urls.set(r.id, url);
|
|
507
560
|
};
|
|
508
561
|
for (const resource of resources) {
|
|
509
562
|
const now = found.get(resource.id);
|
|
510
|
-
if (now && "state" in now)
|
|
563
|
+
if (now && "state" in now) keep(resource, now.state);
|
|
511
564
|
}
|
|
512
565
|
// A host wanted runs the commit its ref names now, resolved before planning: a merge is a change
|
|
513
566
|
// to it. One bound by the input needs none.
|
|
@@ -534,32 +587,69 @@ export function applyWorkflow(
|
|
|
534
587
|
}
|
|
535
588
|
}
|
|
536
589
|
const drift = new Map(compare(types, resources, found, revisions).map((result) => [result.id, result]));
|
|
537
|
-
|
|
538
|
-
|
|
590
|
+
// Each declaration's fields as planned, each after the ones it names. A `from` field whose
|
|
591
|
+
// value this apply changes is planned unknown (`null`), so the change it makes is in the plan,
|
|
592
|
+
// and the approval: its resource created or replaced, or updated where the update's plan
|
|
593
|
+
// leaves the path unknown or plans another value there. One whose resource has no state
|
|
594
|
+
// there is `null` in a create's plan, and left out of a bound object's, as drift does, and
|
|
595
|
+
// run so.
|
|
596
|
+
const desired = new Map<string, State>();
|
|
597
|
+
// For each resource a step changes: whether the change touches a path of its state.
|
|
598
|
+
const touches = new Map<string, (from: string) => boolean>();
|
|
599
|
+
// For each step, the `from` fields planned left out: run so, not waited for.
|
|
600
|
+
const dropped = new Map<string, Set<string>>();
|
|
601
|
+
// The steps planned with a `from` field `null`: planned again at their step, once known.
|
|
602
|
+
const awaited = new Set<string>();
|
|
539
603
|
const planned: PlanStep[] = [];
|
|
604
|
+
const add = (step: PlanStep, after?: State) => {
|
|
605
|
+
planned.push(step);
|
|
606
|
+
const before = states.get(step.id);
|
|
607
|
+
if (runOf(step) === "create" || step.action === "replace") touches.set(step.id, () => true);
|
|
608
|
+
else if (step.action === "update")
|
|
609
|
+
touches.set(
|
|
610
|
+
step.id,
|
|
611
|
+
(from) =>
|
|
612
|
+
(step.unknown ?? []).some((path) => overlaps(path, from)) ||
|
|
613
|
+
after === undefined ||
|
|
614
|
+
!same(valueAt(after, from), valueAt(before, from)),
|
|
615
|
+
);
|
|
616
|
+
};
|
|
540
617
|
for (const resource of inDependencyOrder(resources).filter((r) => wanted(r.id))) {
|
|
541
618
|
const result = drift.get(resource.id)!;
|
|
619
|
+
const changesAt = (named: string, from: string) => touches.get(named)?.(from) ?? false;
|
|
620
|
+
const missing = (named: string, from: string): Missing =>
|
|
621
|
+
creates(result) || changesAt(named, from) ? "unknown" : "drop";
|
|
622
|
+
const stateOf = (named: string, from: string) => (changesAt(named, from) ? undefined : states.get(named));
|
|
623
|
+
const { desired: fields, unfilled } = desiredOf(
|
|
624
|
+
resource,
|
|
625
|
+
types,
|
|
626
|
+
{ bindings: locked, hosts, urls, stateOf },
|
|
627
|
+
missing,
|
|
628
|
+
);
|
|
629
|
+
desired.set(resource.id, fields);
|
|
630
|
+
const left = unfilled.filter((u) => missing(u.named, u.from) === "drop").map((u) => u.at);
|
|
631
|
+
if (left.length) dropped.set(resource.id, new Set(left));
|
|
632
|
+
if (left.length < unfilled.length) awaited.add(resource.id);
|
|
542
633
|
const unresolved = revisions.get(resource.id);
|
|
543
634
|
// A host whose ref could not be resolved has no commit to run (compare says so only for one it found).
|
|
544
635
|
const next =
|
|
545
636
|
unresolved && "error" in unresolved && result.status !== "error"
|
|
546
637
|
? { problem: problemOf(resource.id, unresolved.error) }
|
|
547
|
-
: decide(resource, result, found.get(resource.id)!, input,
|
|
638
|
+
: decide(resource, result, found.get(resource.id)!, input, fields, types, usable);
|
|
548
639
|
if (next.ask !== undefined) {
|
|
549
640
|
try {
|
|
550
|
-
const
|
|
551
|
-
resource,
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
);
|
|
555
|
-
if (answer.step) planned.push(answer.step);
|
|
641
|
+
const answered = await ctx[resource.vendor]![resource.type]!.plan(next.ask, {
|
|
642
|
+
connection: resource.connection,
|
|
643
|
+
});
|
|
644
|
+
const answer = fromPlan(resource, result, answered);
|
|
645
|
+
if (answer.step) add(answer.step, answered.planned);
|
|
556
646
|
if (answer.problem) problems.push(answer.problem);
|
|
557
647
|
} catch (err) {
|
|
558
648
|
if (isRunControlError(err)) throw err;
|
|
559
649
|
problems.push(problemOf(resource.id, `could not be planned: ${errorMessage(err)}`));
|
|
560
650
|
}
|
|
561
651
|
}
|
|
562
|
-
if (next.step)
|
|
652
|
+
if (next.step) add(next.step);
|
|
563
653
|
if (next.problem) problems.push(next.problem);
|
|
564
654
|
}
|
|
565
655
|
const orphaned = orphansOf(orphans, input, wanted, usable, types);
|
|
@@ -579,47 +669,74 @@ export function applyWorkflow(
|
|
|
579
669
|
}
|
|
580
670
|
|
|
581
671
|
const bindings: Bindings = { ...locked };
|
|
672
|
+
// A resource whose step failed or waited has no state known where its change touches it: a
|
|
673
|
+
// `from` reference there fails, never given the state before; elsewhere the state stands.
|
|
674
|
+
const settled = (named: string, from: string) =>
|
|
675
|
+
unsettled.has(named) && touches.get(named)?.(from) ? undefined : states.get(named);
|
|
676
|
+
const known: Known = { bindings, hosts, urls, stateOf: settled };
|
|
582
677
|
const results: ApplyResult[] = [];
|
|
583
678
|
let written = false;
|
|
584
679
|
let revision: string | undefined;
|
|
585
680
|
for (const step of plan.steps) {
|
|
586
|
-
const
|
|
681
|
+
const declared = declarations.get(step.id);
|
|
682
|
+
const binding = "binding" in step ? step.binding : "";
|
|
683
|
+
const run = runOf(step);
|
|
684
|
+
const writing = run === "create" || run === "update";
|
|
685
|
+
// For a step that writes them, its fields as the run knows them now, a `from` field from
|
|
686
|
+
// its resource's state as an earlier step left it. One not known yet is left out, so a
|
|
687
|
+
// driver is never given `null`: planned unknown, the step fails, its driver not called;
|
|
688
|
+
// planned left out (its resource had no state there and no change), it runs without.
|
|
689
|
+
const filled = declared && writing ? desiredOf(declared, types, known, "drop") : undefined;
|
|
690
|
+
const unfilled = filled?.unfilled.find((u) => !dropped.get(step.id)?.has(u.at));
|
|
691
|
+
const waiting = unfilled && waitingFor(unfilled);
|
|
692
|
+
// Unsettled until the step leaves its new state (`keep`). Its URL stays: a host answers
|
|
693
|
+
// where it did until a change moves it.
|
|
694
|
+
if (writing) unsettled.add(step.id);
|
|
695
|
+
const todo = waiting === undefined ? run : "none";
|
|
587
696
|
const key = keyOf(step);
|
|
588
697
|
const type = `${step.vendor}.${step.type}`;
|
|
589
698
|
const before = bindings[key];
|
|
590
|
-
const binding = "binding" in step ? step.binding : "";
|
|
591
|
-
const declared = declarations.get(step.id);
|
|
592
699
|
const spec = types.get(type);
|
|
593
700
|
let state: State | undefined;
|
|
594
701
|
try {
|
|
595
702
|
if (todo === "create") {
|
|
596
703
|
const made = await ctx[step.vendor]![step.type]!.create(
|
|
597
|
-
{
|
|
598
|
-
desired: desiredOf(declared!, types, bindings, hosts, urls),
|
|
599
|
-
},
|
|
704
|
+
{ desired: filled!.desired },
|
|
600
705
|
{ connection: step.connection },
|
|
601
706
|
);
|
|
602
707
|
bindings[key] = { type, id: made.id, ...(step.connection && { connection: step.connection }) };
|
|
603
708
|
state = made.state;
|
|
604
709
|
} else if (todo === "update" && (step.action === "update" || step.action === "replace")) {
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
710
|
+
// A step planned with a `from` field unknown (its resource changed first) is planned again with its fields as now known: the approval covered the change in kind,
|
|
711
|
+
// and the vendor now says which. Nothing to write, it is done; else the update expects
|
|
712
|
+
// the fresh plan, an action other than an update or replace refused as changed.
|
|
713
|
+
let expect: Expect = { action: step.action, replace: step.replace };
|
|
714
|
+
let unchanged = false;
|
|
715
|
+
if (awaited.has(step.id)) {
|
|
716
|
+
const fresh = await ctx[step.vendor]![step.type]!.plan(
|
|
717
|
+
{ id: binding, desired: filled!.desired },
|
|
718
|
+
{ connection: step.connection },
|
|
719
|
+
);
|
|
720
|
+
unchanged = fresh.action === "none";
|
|
721
|
+
if (fresh.action === "update" || fresh.action === "replace")
|
|
722
|
+
expect = { action: fresh.action, replace: fresh.replace };
|
|
723
|
+
}
|
|
724
|
+
if (unchanged) unsettled.delete(step.id);
|
|
725
|
+
else {
|
|
726
|
+
const changed = await ctx[step.vendor]![step.type]!.update(
|
|
727
|
+
{ id: binding, desired: filled!.desired, expect },
|
|
728
|
+
{ connection: step.connection },
|
|
729
|
+
);
|
|
730
|
+
bindings[key] = { type, id: changed.id, ...(step.connection && { connection: step.connection }) };
|
|
731
|
+
state = changed.state;
|
|
732
|
+
}
|
|
616
733
|
} else if (todo === "delete") {
|
|
617
734
|
await ctx[step.vendor]![step.type]!.delete({ id: binding }, { connection: step.connection });
|
|
618
735
|
delete bindings[key];
|
|
619
736
|
} else if (todo === "bind")
|
|
620
737
|
bindings[key] = { type, id: binding, ...(step.connection && { connection: step.connection }) };
|
|
621
738
|
else if (todo === "forget") delete bindings[key];
|
|
622
|
-
if (state && declared)
|
|
739
|
+
if (state && declared) keep(declared, state);
|
|
623
740
|
const after = bindings[key];
|
|
624
741
|
if (after?.id !== before?.id) {
|
|
625
742
|
const wrote = await steps.write(key, after, messageOf(step, before, after));
|
|
@@ -630,7 +747,8 @@ export function applyWorkflow(
|
|
|
630
747
|
// id, again every few seconds until its output passes `until`; one that never does fails
|
|
631
748
|
// the step, and the rest are not called. The loop `callAfterCreate` has, inline: a
|
|
632
749
|
// function defined here may not close over `ctx`.
|
|
633
|
-
|
|
750
|
+
// A step waiting on a `from` reference ran as `none`, and fails here with why.
|
|
751
|
+
let stuck = waiting;
|
|
634
752
|
for (const hook of todo === "create" ? (spec?.afterCreate ?? []) : []) {
|
|
635
753
|
if (stuck === undefined) {
|
|
636
754
|
const [vendor = "", group = "", name = ""] = hook.op.split(".");
|