@fnndsc/stratus 0.2.1 → 0.3.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/backend.d.ts +3 -0
- package/dist/backend.js +20 -3
- package/dist/backend.js.map +1 -1
- package/dist/cloud/builder.d.ts +13 -0
- package/dist/cloud/fake/builder.d.ts +9 -0
- package/dist/cloud/fake/builder.js +12 -0
- package/dist/cloud/fake/builder.js.map +1 -1
- package/dist/cloud/oci/buildApi.d.ts +9 -0
- package/dist/cloud/oci/buildApi.js +30 -0
- package/dist/cloud/oci/buildApi.js.map +1 -1
- package/dist/cloud/oci/builder.d.ts +28 -0
- package/dist/cloud/oci/builder.js +58 -6
- package/dist/cloud/oci/builder.js.map +1 -1
- package/dist/cloud/oci/stackVars.d.ts +4 -2
- package/dist/cloud/oci/stackVars.js +1 -1
- package/dist/cloud/oci/stackVars.js.map +1 -1
- package/dist/commands/build.d.ts +15 -0
- package/dist/commands/build.js +62 -7
- package/dist/commands/build.js.map +1 -1
- package/dist/commands/domain.js +13 -12
- package/dist/commands/domain.js.map +1 -1
- package/dist/commands/protect.d.ts +10 -0
- package/dist/commands/protect.js +37 -0
- package/dist/commands/protect.js.map +1 -0
- package/dist/commands/size.d.ts +10 -0
- package/dist/commands/size.js +80 -0
- package/dist/commands/size.js.map +1 -0
- package/dist/commands/teardown.js +2 -0
- package/dist/commands/teardown.js.map +1 -1
- package/dist/commands/verify.js +5 -1
- package/dist/commands/verify.js.map +1 -1
- package/dist/domain/adopt.js +2 -0
- package/dist/domain/adopt.js.map +1 -1
- package/dist/domain/expect.d.ts +32 -0
- package/dist/domain/expect.js +53 -0
- package/dist/domain/expect.js.map +1 -0
- package/dist/domain/manifests.d.ts +17 -0
- package/dist/domain/manifests.js +36 -0
- package/dist/domain/manifests.js.map +1 -0
- package/dist/domain/readout.d.ts +69 -0
- package/dist/domain/readout.js +186 -0
- package/dist/domain/readout.js.map +1 -0
- package/dist/domain/state.d.ts +4 -0
- package/dist/domain/state.js.map +1 -1
- package/dist/domain/steps.js +12 -2
- package/dist/domain/steps.js.map +1 -1
- package/dist/domain/view.d.ts +3 -1
- package/dist/domain/view.js +4 -1
- package/dist/domain/view.js.map +1 -1
- package/dist/installer/account.d.ts +16 -0
- package/dist/installer/account.js +33 -0
- package/dist/installer/account.js.map +1 -0
- package/dist/stratus.js +2 -0
- package/dist/stratus.js.map +1 -1
- package/dist/vfs/domains.d.ts +3 -0
- package/dist/vfs/domains.js +10 -2
- package/dist/vfs/domains.js.map +1 -1
- package/manifests/tenant.mise +29 -0
- package/package.json +6 -5
package/dist/domain/adopt.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adopt.js","sourceRoot":"","sources":["../../src/domain/adopt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAqB,MAAM,yBAAyB,CAAC;AAE9F,OAAO,EAAE,cAAc,EAAE,YAAY,EAAmB,MAAM,WAAW,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"adopt.js","sourceRoot":"","sources":["../../src/domain/adopt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAqB,MAAM,yBAAyB,CAAC;AAE9F,OAAO,EAAE,cAAc,EAAE,YAAY,EAAmB,MAAM,WAAW,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAkBhD,oDAAoD;AACpD,MAAM,YAAY,GAA0B,CAAC,YAAY,EAAE,oBAAoB,CAAC,CAAC;AAEjF;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAyC;IAC3E,MAAM,SAAS,GAA2B,EAAE,CAAC;IAC7C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,SAAS,CAAC,GAAG,CAAC,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC9H,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,IAAY,EAAE,GAAS;IACjE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI,6CAA6C,EAAE,CAAC;IAClH,MAAM,MAAM,GAAiB,iBAAiB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;IACpE,MAAM,MAAM,GAAmC,MAAM,CAAC,KAAK,CAAC;IAC5D,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI,mDAAmD,EAAE,CAAC;IAClG,MAAM,QAAQ,GAA2B;QACvC,GAAG,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7G,GAAG,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,kBAAkB,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1H,CAAC;IACF,MAAM,QAAQ,GAAY,MAAM,CAAC,UAAU,CAAC,CAAC;IAC7C,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAAE,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI,iEAAiE,EAAE,CAAC;IAC7H,MAAM,SAAS,GAAW,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACrF,MAAM,UAAU,GAAW,IAAI,CAAC,SAAS,EAAE,yBAAyB,CAAC,CAAC;IACtE,MAAM,SAAS,GAAW,IAAI,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;IAC/D,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,GAAG,UAAU,WAAW,EAAE,CAAC;IACxE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,GAAG,SAAS,sCAAsC,EAAE,CAAC;IACjG,MAAM,MAAM,GAAuB,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC1D,MAAM,UAAU,GAAuB,QAAQ,CAAC,aAAa,CAAC,CAAC;IAC/D,MAAM,aAAa,GAAuB,QAAQ,CAAC,sBAAsB,CAAC,CAAC;IAC3E,IAAI,MAAM,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS,IAAI,aAAa,KAAK,SAAS;QAAE,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI,qEAAqE,EAAE,CAAC;IACpL,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC3F,IAAI,OAAO,IAAI,MAAM;QAAE,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI,eAAe,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;IAC9E,MAAM,KAAK,GAA+B,EAAE,CAAC;IAC7C,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAChC,2FAA2F;QAC3F,IAAI,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,qCAAqC,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;IAC1J,CAAC;IACD,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,mBAAmB,EAAE,CAAC;IAClD,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,mBAAmB,CAAC,EAAE,CAAC,YAAY,EAAE,oBAAoB,CAAC,EAAE,CAAC,WAAW,EAAE,eAAe,CAAC,CAAU,EAAE,CAAC;QAC/I,IAAI,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,QAAQ;YAAE,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAW,CAAC;IAC5E,CAAC;IACD,8EAA8E;IAC9E,MAAM,OAAO,GAAyC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAuD,CAAC,OAAO,IAAI,EAAE,CAAC;IACvK,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,wBAAwB,CAAC,EAAE,CAAC,UAAU,EAAE,4BAA4B,CAAC,EAAE,CAAC,QAAQ,EAAE,yBAAyB,CAAC,CAAU,EAAE,CAAC;QAC9J,IAAI,OAAO,OAAO,CAAC,MAAM,CAAC,EAAE,KAAK,KAAK,QAAQ;YAAE,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAE,CAAC,KAAe,CAAC;IAC9F,CAAC;IACD,MAAM,MAAM,GAAiB;QAC3B,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,aAAa;QAC/E,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,WAAW,EAAE,EAAE;KAC/C,CAAC;IACF,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAW,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/F,OAAO;QACL,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO;QACrD,SAAS,EAAE,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAA4B,CAAC;QACxG,YAAY,EAAE,QAAQ,CAAC,mBAAmB,CAAC,IAAI,EAAE;KAClD,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,KAAkB,EAAE,IAAkB;IAClE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO;QAAE,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;AAC/H,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,aAAa,CAAC,KAAkB,EAAE,OAAqB,EAAE,IAAY,EAAE,SAAiC,EAAE,SAAiB,EAAE,aAAqB,EAAE,YAAoB;IACtL,OAAO,KAAK,EAAE,OAAmB,EAAiB,EAAE;QAClD,MAAM,MAAM,GAAwB,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC5D,IAAI,MAAM,KAAK,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,kBAAkB,CAAC,CAAC;QAChE,IAAI,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,SAAS,EAAE,CAAC;YAAC,OAAO,CAAC,SAAS,CAAC,gCAAgC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QAClI,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,CAAC,EAAE,mCAAmC,CAAC,CAAC;QACzG,MAAM,QAAQ,GAAW,MAAM,OAAO,CAAC,WAAW,CAChD,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,CAAC,SAAS,CAAC,EAAE,YAAY,EAAE,EAC/G,EAAE,GAAG,EAAE,CAAC,IAAY,EAAQ,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CACjF,CAAC;QACF,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO;QACnC,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,OAAqB,EAAQ,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACpG,OAAO,CAAC,SAAS,CAAC,kBAAkB,QAAQ,EAAE,CAAC,CAAC;IAClD,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file What `expect` can claim about a domain: how a step stands, how its
|
|
3
|
+
* last verify went, what it costs an hour, and which class it is. Registered
|
|
4
|
+
* with the stratus backend (`Backend.expectSubjects`), so a tenant's manifest
|
|
5
|
+
* asserts its domain as a ChRIS manifest asserts its runs:
|
|
6
|
+
*
|
|
7
|
+
* expect domain ${NAME} step run eq done
|
|
8
|
+
* expect domain ${NAME} verify eq 10
|
|
9
|
+
* expect domain ${NAME} cost lt 1.00
|
|
10
|
+
*
|
|
11
|
+
* Every property reads what the domain's state holds or what the cloud
|
|
12
|
+
* answers; none of them changes anything, so `--within` may ask as often as
|
|
13
|
+
* it likes.
|
|
14
|
+
*
|
|
15
|
+
* @module
|
|
16
|
+
*/
|
|
17
|
+
import type { ExpectSubject } from '@fnndsc/brasa/core';
|
|
18
|
+
import type { CloudDriver } from '../cloud/driver.js';
|
|
19
|
+
import type { DomainStore } from './state.js';
|
|
20
|
+
/** What the domain subject reads. */
|
|
21
|
+
export interface DomainExpectDeps {
|
|
22
|
+
readonly store: DomainStore;
|
|
23
|
+
readonly driver: CloudDriver;
|
|
24
|
+
readonly now: () => Date;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* The domain subject, over a session's store and cloud.
|
|
28
|
+
*
|
|
29
|
+
* @param deps - The store and the cloud.
|
|
30
|
+
* @returns The subject.
|
|
31
|
+
*/
|
|
32
|
+
export declare function domainExpectSubject_make(deps: DomainExpectDeps): ExpectSubject;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { spend_read } from './spend.js';
|
|
2
|
+
/** How a verify's summary note begins: `10 of 10 pass`. */
|
|
3
|
+
const VERIFY_PASSED = /^(\d+) of \d+ pass/;
|
|
4
|
+
/**
|
|
5
|
+
* Reads one property of one domain.
|
|
6
|
+
*
|
|
7
|
+
* @param deps - The store and the cloud.
|
|
8
|
+
* @param ask - The claim.
|
|
9
|
+
* @returns The value, or why it has none.
|
|
10
|
+
*/
|
|
11
|
+
async function domain_read(deps, ask) {
|
|
12
|
+
const name = ask.target ?? '';
|
|
13
|
+
const record = deps.store.record_read(name);
|
|
14
|
+
if (record === null) {
|
|
15
|
+
const kept = deps.store.names_list().join(', ') || 'none';
|
|
16
|
+
return { got: null, refusal: `no domain "${name}" is kept in this session (kept: ${kept})` };
|
|
17
|
+
}
|
|
18
|
+
if (ask.property === 'step') {
|
|
19
|
+
const step = ask.words[0];
|
|
20
|
+
if (step === undefined)
|
|
21
|
+
return { got: null, refusal: 'expect domain <name> step <step> <predicate> <value>' };
|
|
22
|
+
return { got: record.steps[step]?.state ?? 'not done' };
|
|
23
|
+
}
|
|
24
|
+
if (ask.property === 'verify') {
|
|
25
|
+
const note = record.steps['verify']?.note;
|
|
26
|
+
const passed = note === undefined ? null : note.match(VERIFY_PASSED);
|
|
27
|
+
if (passed === null)
|
|
28
|
+
return { got: null, refusal: `${name} has not been verified here yet: domain verify ${name}` };
|
|
29
|
+
return { got: passed[1] };
|
|
30
|
+
}
|
|
31
|
+
if (ask.property === 'class') {
|
|
32
|
+
return { got: record.gone !== undefined ? 'torn down' : record.adopted !== undefined ? 'adopted' : 'built' };
|
|
33
|
+
}
|
|
34
|
+
if (record.compartmentId === undefined)
|
|
35
|
+
return { got: null, refusal: `${name} has no compartment recorded yet, so nothing to price` };
|
|
36
|
+
const spend = await spend_read(deps.driver, record.compartmentId, record.region, deps.now());
|
|
37
|
+
return { got: spend.hourly.toFixed(4) };
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* The domain subject, over a session's store and cloud.
|
|
41
|
+
*
|
|
42
|
+
* @param deps - The store and the cloud.
|
|
43
|
+
* @returns The subject.
|
|
44
|
+
*/
|
|
45
|
+
export function domainExpectSubject_make(deps) {
|
|
46
|
+
return {
|
|
47
|
+
name: 'domain',
|
|
48
|
+
named: true,
|
|
49
|
+
properties: { step: 1, verify: 0, class: 0, cost: 0 },
|
|
50
|
+
read: async (ask) => await domain_read(deps, ask),
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=expect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"expect.js","sourceRoot":"","sources":["../../src/domain/expect.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,UAAU,EAAc,MAAM,YAAY,CAAC;AASpD,2DAA2D;AAC3D,MAAM,aAAa,GAAW,oBAAoB,CAAC;AAEnD;;;;;;GAMG;AACH,KAAK,UAAU,WAAW,CAAC,IAAsB,EAAE,GAAc;IAC/D,MAAM,IAAI,GAAW,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC;IACtC,MAAM,MAAM,GAAwB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACjE,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,MAAM,IAAI,GAAW,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC;QAClE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,IAAI,oCAAoC,IAAI,GAAG,EAAE,CAAC;IAC/F,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAuB,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,sDAAsD,EAAE,CAAC;QAC9G,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,UAAU,EAAE,CAAC;IAC1D,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAuB,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC;QAC9D,MAAM,MAAM,GAA4B,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC9F,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,kDAAkD,IAAI,EAAE,EAAE,CAAC;QACpH,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAW,EAAE,CAAC;IACtC,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC7B,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAC/G,CAAC;IACD,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS;QAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,uDAAuD,EAAE,CAAC;IACtI,MAAM,KAAK,GAAU,MAAM,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACpG,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;AAC1C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CAAC,IAAsB;IAC7D,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE;QACrD,IAAI,EAAE,KAAK,EAAE,GAAc,EAA0B,EAAE,CAAC,MAAM,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC;KACrF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/** One manifest the engine ships. */
|
|
2
|
+
export interface ShippedManifest {
|
|
3
|
+
/** Its name in the session's home. */
|
|
4
|
+
readonly name: string;
|
|
5
|
+
/** Its text. */
|
|
6
|
+
readonly text: string;
|
|
7
|
+
}
|
|
8
|
+
/** The tenant's manifest, by its name in the home. */
|
|
9
|
+
export declare const TENANT_MANIFEST: string;
|
|
10
|
+
/**
|
|
11
|
+
* Reads the shipped manifests from the package's `manifests/`; one that
|
|
12
|
+
* cannot be read is left out rather than shown empty.
|
|
13
|
+
*
|
|
14
|
+
* @param folder - Where they are; the package's own folder when absent.
|
|
15
|
+
* @returns The manifests.
|
|
16
|
+
*/
|
|
17
|
+
export declare function shippedManifests_read(folder?: URL): ShippedManifest[];
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file The manifests stratus ships: `tenant.mise`, the procedure that
|
|
3
|
+
* builds a Trusted Domain from its written spec to a verified cluster
|
|
4
|
+
* (docs/stratus.adoc, D14).
|
|
5
|
+
*
|
|
6
|
+
* They are files of the package, read once from beside `dist/`, and shown in
|
|
7
|
+
* the session's home (`~/tenant.mise`, beside the domains), so `play` finds
|
|
8
|
+
* one there as a ChRIS session finds a manifest in its home.
|
|
9
|
+
*
|
|
10
|
+
* @module
|
|
11
|
+
*/
|
|
12
|
+
import { readFileSync } from 'node:fs';
|
|
13
|
+
/** The tenant's manifest, by its name in the home. */
|
|
14
|
+
export const TENANT_MANIFEST = 'tenant.mise';
|
|
15
|
+
/** The manifests the package holds, by name. */
|
|
16
|
+
const SHIPPED = [TENANT_MANIFEST];
|
|
17
|
+
/**
|
|
18
|
+
* Reads the shipped manifests from the package's `manifests/`; one that
|
|
19
|
+
* cannot be read is left out rather than shown empty.
|
|
20
|
+
*
|
|
21
|
+
* @param folder - Where they are; the package's own folder when absent.
|
|
22
|
+
* @returns The manifests.
|
|
23
|
+
*/
|
|
24
|
+
export function shippedManifests_read(folder = new URL('../../manifests/', import.meta.url)) {
|
|
25
|
+
const read = [];
|
|
26
|
+
for (const name of SHIPPED) {
|
|
27
|
+
try {
|
|
28
|
+
read.push({ name, text: readFileSync(new URL(name, folder), 'utf8') });
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
// A package without its manifests still builds and reads domains.
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return read;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=manifests.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifests.js","sourceRoot":"","sources":["../../src/domain/manifests.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAUvC,sDAAsD;AACtD,MAAM,CAAC,MAAM,eAAe,GAAW,aAAa,CAAC;AAErD,gDAAgD;AAChD,MAAM,OAAO,GAA0B,CAAC,eAAe,CAAC,CAAC;AAEzD;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,SAAc,IAAI,GAAG,CAAC,kBAAkB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;IAC9F,MAAM,IAAI,GAAsB,EAAE,CAAC;IACnC,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QACzE,CAAC;QAAC,MAAM,CAAC;YACP,kEAAkE;QACpE,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { type DomainCondition, type DomainSummary, type PlanSummary, type VerifyCheckModel } from '@fnndsc/menu';
|
|
2
|
+
import { type JobRecord } from '@fnndsc/brasa/core';
|
|
3
|
+
import { type InfraPlan } from '../cloud/builder.js';
|
|
4
|
+
import { type HarborDomain } from '../domains/harborOci.js';
|
|
5
|
+
import type { DomainRecord, DomainStore } from './state.js';
|
|
6
|
+
/** The file `domain verify` keeps its checks in, beside `plan.json`. */
|
|
7
|
+
export declare const VERIFY_FILE: string;
|
|
8
|
+
/** What `verify.json` holds. */
|
|
9
|
+
export interface VerifyKept {
|
|
10
|
+
at: string;
|
|
11
|
+
checks: VerifyCheckModel[];
|
|
12
|
+
}
|
|
13
|
+
/** The parts of a summary the controller draws, beyond the tile's glance. */
|
|
14
|
+
export type DomainReadout = Required<Pick<DomainSummary, 'condition' | 'billing' | 'origin' | 'protected' | 'refused' | 'region' | 'compartment' | 'gone' | 'spec' | 'next' | 'billingStep' | 'running' | 'plan' | 'verify' | 'asking'>>;
|
|
15
|
+
/**
|
|
16
|
+
* Where a domain stands in one word.
|
|
17
|
+
*
|
|
18
|
+
* @param domain - The domain.
|
|
19
|
+
* @param record - Its state on the host, or null for one read from a checkout.
|
|
20
|
+
* @param running - Whether its build is running.
|
|
21
|
+
* @param asking - Whether the engine waits on a question about it.
|
|
22
|
+
* @returns The condition.
|
|
23
|
+
*/
|
|
24
|
+
export declare function condition_of(domain: HarborDomain, record: DomainRecord | null, running: boolean, asking: boolean): DomainCondition;
|
|
25
|
+
/**
|
|
26
|
+
* The verbs refused on a domain, with why, in the words the verbs refuse with.
|
|
27
|
+
*
|
|
28
|
+
* @param domain - The domain.
|
|
29
|
+
* @param record - Its state on the host, or null.
|
|
30
|
+
* @returns By verb.
|
|
31
|
+
*/
|
|
32
|
+
export declare function refusals_of(domain: HarborDomain, record: DomainRecord | null): Record<string, string>;
|
|
33
|
+
/**
|
|
34
|
+
* The last plan, counted, its rows grouped by action and kind.
|
|
35
|
+
*
|
|
36
|
+
* @param plan - The plan.
|
|
37
|
+
* @param at - When it was made.
|
|
38
|
+
* @returns The summary.
|
|
39
|
+
*/
|
|
40
|
+
export declare function planSummary_of(plan: InfraPlan, at: string | null): PlanSummary;
|
|
41
|
+
/**
|
|
42
|
+
* What the controller draws of a domain, from the host.
|
|
43
|
+
*
|
|
44
|
+
* @param domain - The domain.
|
|
45
|
+
* @param store - The domains this daemon keeps, or null when it keeps none.
|
|
46
|
+
* @param job - The build's task, when one was ever started.
|
|
47
|
+
* @param asking - The question the engine waits on about it, or null.
|
|
48
|
+
* @returns The readout.
|
|
49
|
+
*/
|
|
50
|
+
export declare function domainReadout_of(domain: HarborDomain, store: DomainStore | null, job: JobRecord | undefined, asking?: string | null): DomainReadout;
|
|
51
|
+
/**
|
|
52
|
+
* A domain's steps for the model: each with its name, evidence and times.
|
|
53
|
+
*
|
|
54
|
+
* @param domain - The domain.
|
|
55
|
+
* @param record - Its state on the host, or null.
|
|
56
|
+
* @returns The steps.
|
|
57
|
+
*/
|
|
58
|
+
export declare function summarySteps_of(domain: HarborDomain, record: DomainRecord | null): DomainSummary['steps'];
|
|
59
|
+
/**
|
|
60
|
+
* One domain's summary as the host knows it, without asking the cloud: the
|
|
61
|
+
* live counts null and the cost absent. What a build's state event carries.
|
|
62
|
+
*
|
|
63
|
+
* @param store - The domains this daemon keeps, or null.
|
|
64
|
+
* @param domainsPath - The folder the domains stand in.
|
|
65
|
+
* @param domain - The domain.
|
|
66
|
+
* @param asking - The question the engine waits on about it, or null.
|
|
67
|
+
* @returns The summary.
|
|
68
|
+
*/
|
|
69
|
+
export declare function domainSummary_read(store: DomainStore | null, domainsPath: string, domain: HarborDomain, asking?: string | null): DomainSummary;
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file What the TD controller draws of a domain, read from the host
|
|
3
|
+
* (docs/stratus.adoc, D13): its condition in one word, whether money runs,
|
|
4
|
+
* what it is (built here, adopted, read from a checkout) and what is refused
|
|
5
|
+
* on it, its spec, each step with its times, the build's task while it
|
|
6
|
+
* runs, the last plan counted with drift apart, and the last verify check by
|
|
7
|
+
* check. Nothing here asks the cloud: `domain status` adds the live counts
|
|
8
|
+
* and the cost, and a build's state event carries this alone.
|
|
9
|
+
*
|
|
10
|
+
* @module
|
|
11
|
+
*/
|
|
12
|
+
import * as fs from 'fs';
|
|
13
|
+
import * as path from 'path';
|
|
14
|
+
import { taskState_isOver } from '@fnndsc/menu';
|
|
15
|
+
import { runner_get } from '@fnndsc/brasa/core';
|
|
16
|
+
import { planCounts_of } from '../cloud/builder.js';
|
|
17
|
+
import { lastDone_of } from '../domains/harborOci.js';
|
|
18
|
+
import { buildJob_id, FIRST_BILLING_STEP, stepNext_of, STEPS_SOURCE } from './steps.js';
|
|
19
|
+
/** The file `domain verify` keeps its checks in, beside `plan.json`. */
|
|
20
|
+
export const VERIFY_FILE = 'verify.json';
|
|
21
|
+
/**
|
|
22
|
+
* A step's state, as kept or as read from a checkout.
|
|
23
|
+
*
|
|
24
|
+
* @param domain - The domain.
|
|
25
|
+
* @param name - The step.
|
|
26
|
+
* @returns Its state, or `not done`.
|
|
27
|
+
*/
|
|
28
|
+
function stepState_of(domain, name) {
|
|
29
|
+
return domain.steps.find((step) => step.name === name)?.state ?? 'not done';
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Where a domain stands in one word.
|
|
33
|
+
*
|
|
34
|
+
* @param domain - The domain.
|
|
35
|
+
* @param record - Its state on the host, or null for one read from a checkout.
|
|
36
|
+
* @param running - Whether its build is running.
|
|
37
|
+
* @param asking - Whether the engine waits on a question about it.
|
|
38
|
+
* @returns The condition.
|
|
39
|
+
*/
|
|
40
|
+
export function condition_of(domain, record, running, asking) {
|
|
41
|
+
if (record?.gone !== undefined)
|
|
42
|
+
return 'GONE';
|
|
43
|
+
if (asking)
|
|
44
|
+
return 'ASKING';
|
|
45
|
+
if (running || domain.steps.some((step) => step.state === 'running'))
|
|
46
|
+
return 'BUILDING';
|
|
47
|
+
if (domain.steps.some((step) => step.state === 'failed'))
|
|
48
|
+
return 'FAILED';
|
|
49
|
+
if (stepState_of(domain, 'smoke') === 'done')
|
|
50
|
+
return 'SERVING';
|
|
51
|
+
if (stepState_of(domain, 'run') === 'done')
|
|
52
|
+
return 'UP';
|
|
53
|
+
return 'SIZING';
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* The verbs refused on a domain, with why, in the words the verbs refuse with.
|
|
57
|
+
*
|
|
58
|
+
* @param domain - The domain.
|
|
59
|
+
* @param record - Its state on the host, or null.
|
|
60
|
+
* @returns By verb.
|
|
61
|
+
*/
|
|
62
|
+
export function refusals_of(domain, record) {
|
|
63
|
+
if (domain.origin !== 'built' || record === null)
|
|
64
|
+
return { build: 'read from a harbor-oci checkout, not built here', teardown: 'read from a harbor-oci checkout, not built here' };
|
|
65
|
+
if (record.adopted !== undefined)
|
|
66
|
+
return { build: `adopted from ${record.adopted.from}`, teardown: 'adopted, not built here' };
|
|
67
|
+
if (record.gone !== undefined)
|
|
68
|
+
return { build: 'torn down', teardown: 'already torn down' };
|
|
69
|
+
return record.protected !== false ? { teardown: `protected (domain protect ${domain.name} off lifts it)` } : {};
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* The last plan, counted, its rows grouped by action and kind.
|
|
73
|
+
*
|
|
74
|
+
* @param plan - The plan.
|
|
75
|
+
* @param at - When it was made.
|
|
76
|
+
* @returns The summary.
|
|
77
|
+
*/
|
|
78
|
+
export function planSummary_of(plan, at) {
|
|
79
|
+
const counts = planCounts_of(plan);
|
|
80
|
+
const created = new Set(plan.rows.filter((row) => row.action === 'create').map((row) => row.name));
|
|
81
|
+
const destroyed = new Set(plan.rows.filter((row) => row.action === 'destroy').map((row) => row.name));
|
|
82
|
+
const groups = new Map();
|
|
83
|
+
for (const row of plan.rows) {
|
|
84
|
+
const replaced = created.has(row.name) && destroyed.has(row.name);
|
|
85
|
+
if (replaced && row.action === 'destroy')
|
|
86
|
+
continue;
|
|
87
|
+
const action = replaced ? 'replace' : row.action === 'change' && row.drift === true ? 'drift' : row.action;
|
|
88
|
+
const key = `${action}\u0000${row.kind}`;
|
|
89
|
+
const group = groups.get(key) ?? { action, kind: row.kind, count: 0, names: [] };
|
|
90
|
+
group.count++;
|
|
91
|
+
group.names.push(row.name);
|
|
92
|
+
groups.set(key, group);
|
|
93
|
+
}
|
|
94
|
+
return { create: counts.create, replace: counts.replace, change: counts.change, drift: counts.drift, destroy: counts.destroy, groups: [...groups.values()], at };
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* When one of a domain's files was written.
|
|
98
|
+
*
|
|
99
|
+
* @param store - The domains kept.
|
|
100
|
+
* @param name - The domain.
|
|
101
|
+
* @param file - The file.
|
|
102
|
+
* @returns Its time, or null.
|
|
103
|
+
*/
|
|
104
|
+
function fileTime_of(store, name, file) {
|
|
105
|
+
try {
|
|
106
|
+
return fs.statSync(path.join(store.folder_of(name), file)).mtime.toISOString();
|
|
107
|
+
}
|
|
108
|
+
catch {
|
|
109
|
+
return null;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* What the controller draws of a domain, from the host.
|
|
114
|
+
*
|
|
115
|
+
* @param domain - The domain.
|
|
116
|
+
* @param store - The domains this daemon keeps, or null when it keeps none.
|
|
117
|
+
* @param job - The build's task, when one was ever started.
|
|
118
|
+
* @param asking - The question the engine waits on about it, or null.
|
|
119
|
+
* @returns The readout.
|
|
120
|
+
*/
|
|
121
|
+
export function domainReadout_of(domain, store, job, asking = null) {
|
|
122
|
+
const record = store?.record_read(domain.name) ?? null;
|
|
123
|
+
const running = job !== undefined && !taskState_isOver(job.state);
|
|
124
|
+
const runningStep = domain.steps.find((step) => step.state === 'running')?.name ?? null;
|
|
125
|
+
const planText = store?.file_read(domain.name, 'plan.json') ?? null;
|
|
126
|
+
const verifyText = store?.file_read(domain.name, VERIFY_FILE) ?? null;
|
|
127
|
+
const verify = verifyText === null ? null : JSON.parse(verifyText);
|
|
128
|
+
const applied = stepState_of(domain, FIRST_BILLING_STEP) === 'done' || lastDone_of(domain) !== null && (record === null || record.adopted !== undefined);
|
|
129
|
+
return {
|
|
130
|
+
condition: condition_of(domain, record, running, asking !== null),
|
|
131
|
+
billing: record?.gone === undefined && applied,
|
|
132
|
+
origin: domain.origin !== 'built' || record === null ? 'checkout' : record.adopted !== undefined ? 'adopted' : 'built',
|
|
133
|
+
protected: record?.protected !== false,
|
|
134
|
+
refused: refusals_of(domain, record),
|
|
135
|
+
region: record?.region ?? domain.settings['OCI_REGION'] ?? null,
|
|
136
|
+
compartment: record?.compartmentId ?? domain.settings['OCI_COMPARTMENT_OCID'] ?? null,
|
|
137
|
+
gone: record?.gone ?? null,
|
|
138
|
+
spec: store?.spec_read(domain.name)?.spec ?? null,
|
|
139
|
+
next: record === null || record.adopted !== undefined || record.gone !== undefined ? null : stepNext_of(record),
|
|
140
|
+
billingStep: FIRST_BILLING_STEP,
|
|
141
|
+
running: running ? { job: job.id, step: runningStep, since: record?.steps[runningStep ?? '']?.started ?? job.started } : null,
|
|
142
|
+
plan: planText === null || store === null ? null : planSummary_of(JSON.parse(planText), fileTime_of(store, domain.name, 'plan.json')),
|
|
143
|
+
verify: verify === null ? null : { at: verify.at, checks: verify.checks },
|
|
144
|
+
asking,
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* A domain's steps for the model: each with its name, evidence and times.
|
|
149
|
+
*
|
|
150
|
+
* @param domain - The domain.
|
|
151
|
+
* @param record - Its state on the host, or null.
|
|
152
|
+
* @returns The steps.
|
|
153
|
+
*/
|
|
154
|
+
export function summarySteps_of(domain, record) {
|
|
155
|
+
return domain.steps.map((step) => ({
|
|
156
|
+
folder: step.folder,
|
|
157
|
+
state: step.state,
|
|
158
|
+
name: step.name,
|
|
159
|
+
evidence: step.evidence,
|
|
160
|
+
started: record?.steps[step.name]?.started ?? null,
|
|
161
|
+
ended: record?.steps[step.name]?.ended ?? null,
|
|
162
|
+
}));
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* One domain's summary as the host knows it, without asking the cloud: the
|
|
166
|
+
* live counts null and the cost absent. What a build's state event carries.
|
|
167
|
+
*
|
|
168
|
+
* @param store - The domains this daemon keeps, or null.
|
|
169
|
+
* @param domainsPath - The folder the domains stand in.
|
|
170
|
+
* @param domain - The domain.
|
|
171
|
+
* @param asking - The question the engine waits on about it, or null.
|
|
172
|
+
* @returns The summary.
|
|
173
|
+
*/
|
|
174
|
+
export function domainSummary_read(store, domainsPath, domain, asking = null) {
|
|
175
|
+
const job = runner_get()?.job_get(STEPS_SOURCE, buildJob_id(domain.name));
|
|
176
|
+
return {
|
|
177
|
+
name: domain.name,
|
|
178
|
+
path: `${domainsPath}/${domain.name}`,
|
|
179
|
+
cluster: domain.cluster,
|
|
180
|
+
lastDone: lastDone_of(domain)?.folder ?? null,
|
|
181
|
+
steps: summarySteps_of(domain, store?.record_read(domain.name) ?? null),
|
|
182
|
+
resources: null,
|
|
183
|
+
...domainReadout_of(domain, store, job, asking),
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
//# sourceMappingURL=readout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"readout.js","sourceRoot":"","sources":["../../src/domain/readout.ts"],"names":[],"mappings":"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"}
|
package/dist/domain/state.d.ts
CHANGED
|
@@ -22,6 +22,9 @@ export interface StepRecord {
|
|
|
22
22
|
* @property compartmentId - The compartment its resources live in, when known.
|
|
23
23
|
* @property adopted - Where it was adopted from, and when: built elsewhere, never built on here.
|
|
24
24
|
* @property gone - When its teardown removed what it built.
|
|
25
|
+
* @property protected - Whether teardown is refused. A domain is born
|
|
26
|
+
* protected; `domain protect <name> off` lifts it, as its own line, so no
|
|
27
|
+
* single slip or replayed line removes a tenant. Absent reads as protected.
|
|
25
28
|
*/
|
|
26
29
|
export interface DomainRecord {
|
|
27
30
|
name: string;
|
|
@@ -37,6 +40,7 @@ export interface DomainRecord {
|
|
|
37
40
|
at: string;
|
|
38
41
|
};
|
|
39
42
|
gone?: string;
|
|
43
|
+
protected?: boolean;
|
|
40
44
|
}
|
|
41
45
|
/**
|
|
42
46
|
* The folder a daemon keeps its domains in.
|
package/dist/domain/state.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/domain/state.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,eAAe,EAAmB,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/domain/state.ts"],"names":[],"mappings":"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"}
|
package/dist/domain/steps.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { planCounts_alter, planCounts_of, planCounts_words } from '../cloud/builder.js';
|
|
2
2
|
import { specNodes_of } from './spec.js';
|
|
3
3
|
/** The build's steps, in order: the machine, then ChRIS on it. */
|
|
4
|
-
export const BUILD_STEPS = ['preflight', 'cluster', 'iso', 'infra-plan', 'infra-apply', 'dns', 'manifests', 'hosts', 'run', 'postinstall', 'verify', 'chris-deploy', 'chris-seed', 'smoke'];
|
|
4
|
+
export const BUILD_STEPS = ['compartment', 'preflight', 'cluster', 'iso', 'infra-plan', 'infra-apply', 'dns', 'manifests', 'hosts', 'run', 'postinstall', 'verify', 'chris-deploy', 'chris-seed', 'smoke'];
|
|
5
5
|
/** The first step that bills: the run stops before it until the cost is accepted. */
|
|
6
6
|
export const FIRST_BILLING_STEP = 'infra-apply';
|
|
7
7
|
/** The steps this session has; the run stops before any other. */
|
|
8
|
-
export const STEPS_WRITTEN = ['preflight', 'cluster', 'iso', 'infra-plan', 'infra-apply', 'dns', 'manifests', 'hosts', 'run'];
|
|
8
|
+
export const STEPS_WRITTEN = ['compartment', 'preflight', 'cluster', 'iso', 'infra-plan', 'infra-apply', 'dns', 'manifests', 'hosts', 'run'];
|
|
9
9
|
/** The task source the runs are kept in. */
|
|
10
10
|
export const STEPS_SOURCE = 'steps';
|
|
11
11
|
/** The waits `harbor-oci` proved, polled each minute. */
|
|
@@ -68,6 +68,16 @@ function ids_need(record) {
|
|
|
68
68
|
}
|
|
69
69
|
/** Each step's work. */
|
|
70
70
|
const STEP_WORK = {
|
|
71
|
+
compartment: async (call) => {
|
|
72
|
+
const record = call.record();
|
|
73
|
+
if (record.compartmentId !== undefined)
|
|
74
|
+
return `in ${record.compartmentId}`;
|
|
75
|
+
if (call.deps.builder.compartment_ensure === undefined)
|
|
76
|
+
throw new Error('this cloud cannot make a compartment: domain new --compartment <id> names one');
|
|
77
|
+
const own = await call.deps.builder.compartment_ensure({ domain: call.name, region: record.region }, call);
|
|
78
|
+
call.deps.store.record_update(call.name, (current) => { current.compartmentId = own.id; });
|
|
79
|
+
return `${own.made ? 'made' : 'found'} domains/${call.name}: ${own.id}`;
|
|
80
|
+
},
|
|
71
81
|
preflight: async (call) => {
|
|
72
82
|
const record = call.record();
|
|
73
83
|
const checks = await call.deps.builder.preflight({ domain: call.name, spec: call.spec, region: record.region, baseDomain: record.baseDomain, compartmentId: record.compartmentId ?? '' }, call);
|
package/dist/domain/steps.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"steps.js","sourceRoot":"","sources":["../../src/domain/steps.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"steps.js","sourceRoot":"","sources":["../../src/domain/steps.ts"],"names":[],"mappings":"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"}
|
package/dist/domain/view.d.ts
CHANGED
|
@@ -6,7 +6,9 @@
|
|
|
6
6
|
* @module
|
|
7
7
|
*/
|
|
8
8
|
import type { HarborDomain, StepState } from '../domains/harborOci.js';
|
|
9
|
-
import type { DomainRecord, DomainStore } from './state.js';
|
|
9
|
+
import type { DomainRecord, DomainStore, StepRecord } from './state.js';
|
|
10
|
+
/** The compartment step of a domain adopted in a compartment of its own. */
|
|
11
|
+
export declare const ADOPTED_COMPARTMENT: StepRecord;
|
|
10
12
|
/**
|
|
11
13
|
* A built domain's steps, numbered in build order.
|
|
12
14
|
*
|
package/dist/domain/view.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { BUILD_STEPS, STEPS_WRITTEN } from './steps.js';
|
|
2
|
+
/** The compartment step of a domain adopted in a compartment of its own. */
|
|
3
|
+
export const ADOPTED_COMPARTMENT = { state: 'done', note: 'its own compartment, made before adoption' };
|
|
2
4
|
/**
|
|
3
5
|
* A built domain's steps, numbered in build order.
|
|
4
6
|
*
|
|
@@ -7,7 +9,8 @@ import { BUILD_STEPS, STEPS_WRITTEN } from './steps.js';
|
|
|
7
9
|
*/
|
|
8
10
|
export function builtSteps_of(record) {
|
|
9
11
|
return BUILD_STEPS.map((step, index) => {
|
|
10
|
-
|
|
12
|
+
// An adopted domain came with its compartment; one adopted before that step existed keeps no record of it.
|
|
13
|
+
const kept = record.steps[step] ?? (step === 'compartment' && record.adopted !== undefined ? ADOPTED_COMPARTMENT : undefined);
|
|
11
14
|
const evidence = kept?.note ?? (STEPS_WRITTEN.includes(step) ? 'not run yet' : 'not a step this session has yet');
|
|
12
15
|
return { folder: `${String(index + 1).padStart(2, '0')}-${step}`, name: step, state: kept?.state ?? 'not done', evidence };
|
|
13
16
|
});
|