@fnndsc/stratus 0.2.0 → 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.
Files changed (59) hide show
  1. package/dist/backend.d.ts +3 -0
  2. package/dist/backend.js +20 -3
  3. package/dist/backend.js.map +1 -1
  4. package/dist/cloud/builder.d.ts +13 -0
  5. package/dist/cloud/fake/builder.d.ts +9 -0
  6. package/dist/cloud/fake/builder.js +12 -0
  7. package/dist/cloud/fake/builder.js.map +1 -1
  8. package/dist/cloud/oci/buildApi.d.ts +9 -0
  9. package/dist/cloud/oci/buildApi.js +30 -0
  10. package/dist/cloud/oci/buildApi.js.map +1 -1
  11. package/dist/cloud/oci/builder.d.ts +28 -0
  12. package/dist/cloud/oci/builder.js +58 -6
  13. package/dist/cloud/oci/builder.js.map +1 -1
  14. package/dist/cloud/oci/stackVars.d.ts +4 -2
  15. package/dist/cloud/oci/stackVars.js +1 -1
  16. package/dist/cloud/oci/stackVars.js.map +1 -1
  17. package/dist/commands/build.d.ts +15 -0
  18. package/dist/commands/build.js +62 -7
  19. package/dist/commands/build.js.map +1 -1
  20. package/dist/commands/domain.js +13 -12
  21. package/dist/commands/domain.js.map +1 -1
  22. package/dist/commands/protect.d.ts +10 -0
  23. package/dist/commands/protect.js +37 -0
  24. package/dist/commands/protect.js.map +1 -0
  25. package/dist/commands/size.d.ts +10 -0
  26. package/dist/commands/size.js +80 -0
  27. package/dist/commands/size.js.map +1 -0
  28. package/dist/commands/teardown.js +2 -0
  29. package/dist/commands/teardown.js.map +1 -1
  30. package/dist/commands/verify.js +5 -1
  31. package/dist/commands/verify.js.map +1 -1
  32. package/dist/domain/adopt.js +2 -0
  33. package/dist/domain/adopt.js.map +1 -1
  34. package/dist/domain/expect.d.ts +32 -0
  35. package/dist/domain/expect.js +53 -0
  36. package/dist/domain/expect.js.map +1 -0
  37. package/dist/domain/manifests.d.ts +17 -0
  38. package/dist/domain/manifests.js +36 -0
  39. package/dist/domain/manifests.js.map +1 -0
  40. package/dist/domain/readout.d.ts +69 -0
  41. package/dist/domain/readout.js +186 -0
  42. package/dist/domain/readout.js.map +1 -0
  43. package/dist/domain/state.d.ts +4 -0
  44. package/dist/domain/state.js.map +1 -1
  45. package/dist/domain/steps.js +12 -2
  46. package/dist/domain/steps.js.map +1 -1
  47. package/dist/domain/view.d.ts +3 -1
  48. package/dist/domain/view.js +4 -1
  49. package/dist/domain/view.js.map +1 -1
  50. package/dist/installer/account.d.ts +16 -0
  51. package/dist/installer/account.js +33 -0
  52. package/dist/installer/account.js.map +1 -0
  53. package/dist/stratus.js +2 -0
  54. package/dist/stratus.js.map +1 -1
  55. package/dist/vfs/domains.d.ts +3 -0
  56. package/dist/vfs/domains.js +10 -2
  57. package/dist/vfs/domains.js.map +1 -1
  58. package/manifests/tenant.mise +29 -0
  59. package/package.json +6 -5
@@ -2,6 +2,7 @@ import { type CommandEnvelope } from '@fnndsc/menu';
2
2
  import { type JobRecord, type JobRunner } from '@fnndsc/brasa/core';
3
3
  import type { CloudDriver } from '../cloud/driver.js';
4
4
  import { type CloudBuilder } from '../cloud/builder.js';
5
+ import type { InstallerAccountKeeper } from '../installer/account.js';
5
6
  import type { VerifyReach } from './verify.js';
6
7
  import type { DomainTree } from '../vfs/domains.js';
7
8
  import { type DomainStore } from '../domain/state.js';
@@ -22,7 +23,21 @@ export interface BuildCommandContext {
22
23
  readonly verifyReach?: VerifyReach;
23
24
  /** The DNS zone a new domain's names live under when `--base-domain` is not given. */
24
25
  readonly baseDomain: string | null;
26
+ /** Where the installer's account is kept; a build asks for it when it is missing. */
27
+ readonly account?: InstallerAccountKeeper;
28
+ /** The folder the domains stand in (`/net/oci/<tenancy>/domains`), for the state event's paths. */
29
+ readonly domainsPath?: () => string;
25
30
  }
31
+ /**
32
+ * Shows a domain as the host knows it, as a `stratus.domain.state` event: at
33
+ * a build's start, on each line it logs and before each question,
34
+ * so a surface watching (the TD controller) redraws without asking.
35
+ *
36
+ * @param context - The session.
37
+ * @param name - The domain.
38
+ * @param asking - The question about to be put, or null.
39
+ */
40
+ export declare function domainState_show(context: BuildCommandContext, name: string, asking?: string | null): void;
26
41
  /**
27
42
  * Reads `--name value` and `--name=value` pairs.
28
43
  *
@@ -14,14 +14,30 @@
14
14
  * @module
15
15
  */
16
16
  import chalk from 'chalk';
17
- import { envelope_error, envelope_ok, taskState_isOver } from '@fnndsc/menu';
18
- import { commandCancellation_enable, commandCancellation_signalGet, JobRefusal, repl_confirm, runner_get, sink_dataLine, surface_get, } from '@fnndsc/brasa/core';
17
+ import { envelope_error, envelope_ok, STRATUS_DOMAIN_STATE_EVENT, taskState_isOver } from '@fnndsc/menu';
18
+ import { commandCancellation_enable, commandCancellation_signalGet, JobRefusal, repl_confirm, repl_question, repl_questionHidden, runner_get, sink_dataLine, sink_get, surface_get, } from '@fnndsc/brasa/core';
19
19
  import { planCounts_alter, planCounts_of, planCounts_words } from '../cloud/builder.js';
20
20
  import { adoption_keep, adoptRun_make, checkout_read } from '../domain/adopt.js';
21
21
  import { DOMAIN_NAME } from '../domain/state.js';
22
22
  import { SPEC_DEFAULT, specOptions_apply } from '../domain/spec.js';
23
23
  import { cost_words, familyShape_find, specCost_of, specFit_read } from '../domain/sizing.js';
24
+ import { domainSummary_read } from '../domain/readout.js';
24
25
  import { BUILD_STEPS, buildJob_id, buildRun_make, FIRST_BILLING_STEP, planRun_make, stepNext_of, STEPS_SOURCE, STEPS_WRITTEN } from '../domain/steps.js';
26
+ /**
27
+ * Shows a domain as the host knows it, as a `stratus.domain.state` event: at
28
+ * a build's start, on each line it logs and before each question,
29
+ * so a surface watching (the TD controller) redraws without asking.
30
+ *
31
+ * @param context - The session.
32
+ * @param name - The domain.
33
+ * @param asking - The question about to be put, or null.
34
+ */
35
+ export function domainState_show(context, name, asking = null) {
36
+ const domain = context.domains.domain_read(name);
37
+ if (domain === null)
38
+ return;
39
+ sink_get().event_write?.(STRATUS_DOMAIN_STATE_EVENT, domainSummary_read(context.store, context.domainsPath?.() ?? '', domain, asking));
40
+ }
25
41
  /** The options `domain new` takes, each with a value. */
26
42
  const NEW_OPTIONS = ['--family', '--plane', '--workers', '--data', '--database', '--queue', '--base-domain', '--compartment'];
27
43
  /**
@@ -88,7 +104,7 @@ export async function domainNew_run(context, args) {
88
104
  const compartmentId = read.options.get('--compartment');
89
105
  if ('error' in sized)
90
106
  return envelope_error('', undefined, `domain new: ${sized.error}\n`);
91
- const record = { name, created: new Date().toISOString(), region, baseDomain, steps: {}, ids: {}, ...(compartmentId !== undefined ? { compartmentId } : {}) };
107
+ const record = { name, created: new Date().toISOString(), region, baseDomain, steps: {}, ids: {}, protected: true, ...(compartmentId !== undefined ? { compartmentId } : {}) };
92
108
  context.store.create(record, sized.spec);
93
109
  const lines = [
94
110
  `${chalk.bold(name)} ${name}.${baseDomain} spec written: ${context.store.folder_of(name)}/spec.yaml`,
@@ -195,12 +211,13 @@ export async function domainPlan_run(context, args) {
195
211
  *
196
212
  * @param runner - The runner.
197
213
  * @param id - The run's job id.
214
+ * @param shown - Called after each line, to show the domain again.
198
215
  * @returns Its record then.
199
216
  */
200
- async function run_follow(runner, id) {
217
+ async function run_follow(runner, id, shown) {
201
218
  commandCancellation_enable();
202
219
  const signal = commandCancellation_signalGet();
203
- return runner.job_follow(STEPS_SOURCE, id, (line) => sink_dataLine(line), signal);
220
+ return runner.job_follow(STEPS_SOURCE, id, (line) => { sink_dataLine(line); shown?.(); }, signal);
204
221
  }
205
222
  /**
206
223
  * Starts a job and follows it to its end.
@@ -272,6 +289,9 @@ export async function domainBuild_run(context, args) {
272
289
  if (runner === null)
273
290
  return envelope_error('', undefined, 'domain build: this session runs no tasks\n');
274
291
  const name = need.domain.name;
292
+ const asked = await account_askWhenMissing(context, need.record, through);
293
+ if (asked !== null)
294
+ return envelope_error('', undefined, `domain build: ${asked}\n`);
275
295
  const id = buildJob_id(name);
276
296
  for (;;) {
277
297
  const running = runner.job_get(STEPS_SOURCE, id);
@@ -284,7 +304,9 @@ export async function domainBuild_run(context, args) {
284
304
  }
285
305
  }
286
306
  sink_dataLine(chalk.gray(`following /proc/${STEPS_SOURCE}/${id}; Ctrl-C stops following, not the build (wait ${id} follows it again)`));
287
- const ended = await run_follow(runner, id);
307
+ domainState_show(context, name);
308
+ // Shown again after each line; at the end, by the question that follows or by the next read.
309
+ const ended = await run_follow(runner, id, () => domainState_show(context, name));
288
310
  if (ended === undefined)
289
311
  return envelope_error('', undefined, `domain build: /proc/${STEPS_SOURCE}/${id}: gone\n`);
290
312
  if (!taskState_isOver(ended.state))
@@ -294,7 +316,10 @@ export async function domainBuild_run(context, args) {
294
316
  const stoppedBefore = ended.data['stoppedBefore'];
295
317
  const record = context.store.record_read(name);
296
318
  if (stoppedBefore === FIRST_BILLING_STEP && record.billingAccepted === undefined && (through === undefined || BUILD_STEPS.indexOf(through) >= BUILD_STEPS.indexOf(FIRST_BILLING_STEP))) {
297
- const yes = await repl_confirm(await billing_question(context, name, record, need.spec));
319
+ const question = await billing_question(context, name, record, need.spec);
320
+ domainState_show(context, name, question);
321
+ const yes = await repl_confirm(question);
322
+ domainState_show(context, name);
298
323
  if (!yes)
299
324
  return envelope_ok(`${chalk.gray(`stopped before ${FIRST_BILLING_STEP}; nothing bills (domain build ${name} asks again)`)}\n`);
300
325
  context.store.record_update(name, (current) => { current.billingAccepted = new Date().toISOString(); });
@@ -308,6 +333,36 @@ export async function domainBuild_run(context, args) {
308
333
  return envelope_ok(`${summary}\n`);
309
334
  }
310
335
  }
336
+ /**
337
+ * Asks for the installer's account when the build will need it and the host
338
+ * has none: the id in the open, the secret hidden, kept on the host only.
339
+ *
340
+ * @param context - The session.
341
+ * @param record - The domain's state.
342
+ * @param through - The last step asked for, when one was.
343
+ * @returns Why the build cannot go on, or null when it can.
344
+ */
345
+ async function account_askWhenMissing(context, record, through) {
346
+ const account = context.account;
347
+ if (account === undefined || account.present())
348
+ return null;
349
+ const next = stepNext_of(record);
350
+ const needs = next !== null && BUILD_STEPS.indexOf(next) <= BUILD_STEPS.indexOf('cluster')
351
+ && (through === undefined || BUILD_STEPS.indexOf(through) >= BUILD_STEPS.indexOf('cluster'));
352
+ if (!needs)
353
+ return null;
354
+ sink_dataLine(chalk.yellow(`The build needs Red Hat's service account (console.redhat.com, Service Accounts); none is kept in ${account.path}.`));
355
+ domainState_show(context, record.name, 'Red Hat service account client id:');
356
+ const clientId = (await repl_question('Red Hat service account client id:')).trim();
357
+ if (clientId === '')
358
+ return 'no client id given; nothing kept, nothing started';
359
+ const secret = (await repl_questionHidden('Its client secret:')).trim();
360
+ if (secret === '')
361
+ return 'no secret given; nothing kept, nothing started';
362
+ account.keep(clientId, secret);
363
+ sink_dataLine(chalk.gray(`kept in ${account.path}, mode 600, on this host only`));
364
+ return null;
365
+ }
311
366
  /**
312
367
  * `domain adopt <name> --from <checkout> [--stack-compartment <ocid>]`.
313
368
  *
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"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"}
@@ -12,13 +12,15 @@
12
12
  import chalk from 'chalk';
13
13
  import { envelope_error, envelope_ok, STRATUS_DOMAINS_MODEL_KIND } from '@fnndsc/menu';
14
14
  import { stateTone_paint } from '../vfs/look.js';
15
- import { lastDone_of } from '../domains/harborOci.js';
16
15
  import { capacity_run, CAPACITY_HELP } from './capacity.js';
17
16
  import { spend_line, spend_read } from '../domain/spend.js';
18
17
  import { spend_run, SPEND_HELP } from './spend.js';
19
18
  import { domainAdopt_run, domainBuild_run, domainNew_run, domainPlan_run } from './build.js';
20
19
  import { domainVerify_run, verifyReach_default } from './verify.js';
21
20
  import { domainTeardown_run } from './teardown.js';
21
+ import { domainProtect_run } from './protect.js';
22
+ import { domainSize_run } from './size.js';
23
+ import { domainSummary_read } from '../domain/readout.js';
22
24
  /** The order the counted kinds are said in. */
23
25
  const COUNT_ORDER = ['instances', 'networks', 'subnets', 'securitygroups', 'loadbalancers', 'volumes', 'buckets', 'dns'];
24
26
  /**
@@ -82,11 +84,7 @@ export async function domainStatus_read(context, domain) {
82
84
  cost.line,
83
85
  ];
84
86
  const summary = {
85
- name: domain.name,
86
- path: `${context.domainsPath()}/${domain.name}`,
87
- cluster: domain.cluster,
88
- lastDone: lastDone_of(domain)?.folder ?? null,
89
- steps: domain.steps.map((step) => ({ folder: step.folder, state: step.state })),
87
+ ...domainSummary_read(context.build?.store ?? null, context.domainsPath(), domain),
90
88
  resources: compartment.counts === null ? null : { ...compartment.counts },
91
89
  cost: cost.spend === null ? null : { hourly: cost.spend.hourly, soFar: cost.spend.soFar, currency: cost.spend.currency },
92
90
  };
@@ -101,13 +99,16 @@ export async function domainStatus_read(context, domain) {
101
99
  */
102
100
  export async function domain_run(context, args) {
103
101
  const [verb = 'status', ...rest] = args;
104
- const builds = { new: domainNew_run, plan: domainPlan_run, build: domainBuild_run, adopt: domainAdopt_run, teardown: domainTeardown_run, verify: (build, words) => domainVerify_run(build, build.verifyReach ?? verifyReach_default(), words) };
102
+ const builds = { new: domainNew_run, plan: domainPlan_run, build: domainBuild_run, adopt: domainAdopt_run, teardown: domainTeardown_run, protect: domainProtect_run, size: domainSize_run, verify: (build, words) => domainVerify_run(build, build.verifyReach ?? verifyReach_default(), words) };
105
103
  const build = builds[verb];
106
104
  if (build !== undefined)
107
105
  return context.build === undefined ? envelope_error('', undefined, `domain: ${verb}: this session builds no domains\n`) : build(context.build, rest);
108
- if (verb !== 'status')
109
- return envelope_error('', undefined, `domain: ${verb}: not a verb this session has yet (domain status, new, plan, build, adopt, verify, teardown)\n`);
110
106
  const all = context.domains.domains_read();
107
+ // `domain <name>` is that domain's status: the line the TD controller opens on, and the same line as text in chell.
108
+ if (verb !== 'status' && rest.length === 0 && all.some((domain) => domain.name === verb))
109
+ return domain_run(context, ['status', verb]);
110
+ if (verb !== 'status')
111
+ return envelope_error('', undefined, `domain: ${verb}: not a verb this session has yet (domain status, new, size, plan, build, adopt, verify, protect, teardown)\n`);
111
112
  if (all.length === 0)
112
113
  return envelope_ok('no domains: domain new <name> makes one; stratus --domain <name>=<harbor-oci checkout> reads one\n', { kind: STRATUS_DOMAINS_MODEL_KIND, data: { domains: [] } });
113
114
  const chosen = rest.length === 0 ? all : all.filter((domain) => rest.includes(domain.name));
@@ -125,11 +126,11 @@ export async function domain_run(context, args) {
125
126
  }
126
127
  /** `domain`'s help. */
127
128
  export const DOMAIN_HELP = {
128
- usage: 'domain [status [<name>…]] | domain new <name> [options] | domain plan [<name>] | domain build [<name>] [--through <step>] | domain adopt <name> --from <checkout> | domain verify [<name>]',
129
+ usage: 'domain [status [<name>…]] | domain <name> | domain new <name> [options] | domain size [--family <family>] | domain plan [<name>] | domain build [<name>] [--through <step>] | domain adopt <name> --from <checkout> | domain verify [<name>] | domain protect <name> [on|off] | domain teardown <name>',
129
130
  summary: 'Make, plan, build, and see where each Trusted Domain stands',
130
131
  category: 'Resources',
131
- description: 'domain status prints each domain: those this daemon builds, and those read from a harbor-oci checkout (stratus --domain <name>=<checkout>), with its cluster, each build step with its state and the evidence for it, and its compartment\'s live resources in the session\'s region. A bare domain is domain status for every domain. domain new writes a domain\'s spec and nothing else (--family E5, --plane 3x8/24, --workers 2x8/32 as count x vCPU / GiB, --data, --database, --queue in GiB, --base-domain zone). domain plan reads only: whether the spec fits each availability domain, what it costs an hour, where the steps stand; the infrastructure plan needs the tasks tier. domain build runs the steps from the first not done as a task (/proc/steps/<name>-build) and follows it; before the first step that bills it asks, with the plan\'s counts and the cost. Ctrl-C stops following, not the build: wait <name>-build follows it again, kill <name>-build asks it to stop. domain adopt keeps a domain harbor-oci built and, with the tasks tier, takes its stack and state into the cloud\'s Resource Manager; an adopted domain is planned against, never built on. domain verify runs ten checks against the cluster through its kubeconfig, which stays on the host: nine read, and the block-volume probe, which makes a claim and a pod, runs only with the tasks tier. The domain\'s files are under ~ (domains/<name>/); its credentials stay on the host.',
132
- examples: ['domain', 'domain new trial --workers 2x8/32 --data 100', 'domain plan trial', 'domain build trial --through infra-plan', 'domain build trial', 'domain adopt harbor --from ~/src/harbor-oci', 'domain verify harbor', 'cat ~/harbor/steps/05-infra-apply/evidence'],
132
+ description: 'domain status prints each domain: those this daemon builds, and those read from a harbor-oci checkout (stratus --domain <name>=<checkout>), with its cluster, each build step with its state and the evidence for it, and its compartment\'s live resources in the session\'s region. A bare domain is domain status for every domain, and domain <name> is that one\'s. domain new writes a domain\'s spec and nothing else (--family E5, --plane 3x8/24, --workers 2x8/32 as count x vCPU / GiB, --data, --database, --queue in GiB, --base-domain zone). domain size reads what a new domain is sized against in the region: each availability domain\'s free cores and memory for the family, its price, and the spec a new domain starts from. domain plan reads only: whether the spec fits each availability domain, what it costs an hour, where the steps stand; the infrastructure plan needs the tasks tier. domain build runs the steps from the first not done as a task (/proc/steps/<name>-build) and follows it; before the first step that bills it asks, with the plan\'s counts and the cost. Ctrl-C stops following, not the build: wait <name>-build follows it again, kill <name>-build asks it to stop. domain adopt keeps a domain harbor-oci built and, with the tasks tier, takes its stack and state into the cloud\'s Resource Manager; an adopted domain is planned against, never built on. A domain is born protected: domain teardown refuses it until domain protect <name> off, a line of its own, and then still asks for its name typed back. domain verify runs ten checks against the cluster through its kubeconfig, which stays on the host: nine read, and the block-volume probe, which makes a claim and a pod, runs only with the tasks tier. The domain\'s files are under ~ (domains/<name>/); its credentials stay on the host.',
133
+ examples: ['domain', 'domain size', 'domain new trial --workers 2x8/32 --data 100', 'domain plan trial', 'domain build trial --through infra-plan', 'domain build trial', 'domain adopt harbor --from ~/src/harbor-oci', 'domain verify harbor', 'domain protect quay off', 'cat ~/harbor/steps/05-infra-apply/evidence'],
133
134
  };
134
135
  /**
135
136
  * The stratus backend's commands: `domain` and `capacity`.
@@ -1 +1 @@
1
- {"version":3,"file":"domain.js","sourceRoot":"","sources":["../../src/commands/domain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"domain.js","sourceRoot":"","sources":["../../src/commands/domain.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { type CommandEnvelope } from '@fnndsc/menu';
2
+ import type { BuildCommandContext } from './build.js';
3
+ /**
4
+ * `domain protect <name> [on|off]`.
5
+ *
6
+ * @param context - The session.
7
+ * @param args - The words after `protect`.
8
+ * @returns The envelope.
9
+ */
10
+ export declare function domainProtect_run(context: BuildCommandContext, args: ReadonlyArray<string>): Promise<CommandEnvelope>;
@@ -0,0 +1,37 @@
1
+ /**
2
+ * @file `domain protect <name> on|off`: whether a domain may be torn down.
3
+ *
4
+ * A domain is born protected (docs/stratus.adoc, D14). Lifting it is a line
5
+ * of its own, so tearing a tenant down takes two deliberate acts: this, and
6
+ * teardown's name typed back. It changes only the domain's state on this
7
+ * host, never the cloud, so it needs no tier. Bare, it says how the domain
8
+ * stands.
9
+ *
10
+ * @module
11
+ */
12
+ import chalk from 'chalk';
13
+ import { envelope_error, envelope_ok } from '@fnndsc/menu';
14
+ /**
15
+ * `domain protect <name> [on|off]`.
16
+ *
17
+ * @param context - The session.
18
+ * @param args - The words after `protect`.
19
+ * @returns The envelope.
20
+ */
21
+ export async function domainProtect_run(context, args) {
22
+ const [name, setting, ...extra] = args;
23
+ if (name === undefined || extra.length > 0 || (setting !== undefined && setting !== 'on' && setting !== 'off')) {
24
+ return envelope_error('', undefined, 'domain protect: usage: domain protect <name> [on|off]\n');
25
+ }
26
+ const record = context.store.record_read(name);
27
+ if (record === null)
28
+ return envelope_error('', undefined, `domain protect: ${name}: no such domain kept here\n`);
29
+ if (setting === undefined) {
30
+ return envelope_ok(`${name}: ${record.protected !== false ? 'protected (teardown refused)' : 'not protected (teardown asks for its name)'}\n`);
31
+ }
32
+ context.store.record_update(name, (current) => { current.protected = setting === 'on'; });
33
+ return envelope_ok(setting === 'on'
34
+ ? `${name}: protected; teardown is refused\n`
35
+ : `${chalk.yellow(name)}: no longer protected; domain teardown ${name} will ask for its name\n`);
36
+ }
37
+ //# sourceMappingURL=protect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protect.js","sourceRoot":"","sources":["../../src/commands/protect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,WAAW,EAAwB,MAAM,cAAc,CAAC;AAIjF;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAA4B,EAAE,IAA2B;IAC/F,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC;IACvC,IAAI,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,CAAC,EAAE,CAAC;QAC/G,OAAO,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,yDAAyD,CAAC,CAAC;IAClG,CAAC;IACD,MAAM,MAAM,GAAwB,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACpE,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,mBAAmB,IAAI,8BAA8B,CAAC,CAAC;IACjH,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,WAAW,CAAC,GAAG,IAAI,KAAK,MAAM,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,4CAA4C,IAAI,CAAC,CAAC;IACjJ,CAAC;IACD,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,OAAqB,EAAQ,EAAE,GAAG,OAAO,CAAC,SAAS,GAAG,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9G,OAAO,WAAW,CAAC,OAAO,KAAK,IAAI;QACjC,CAAC,CAAC,GAAG,IAAI,oCAAoC;QAC7C,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,0CAA0C,IAAI,0BAA0B,CAAC,CAAC;AACrG,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { type CommandEnvelope } from '@fnndsc/menu';
2
+ import { type BuildCommandContext } from './build.js';
3
+ /**
4
+ * `domain size [--family <family>]`.
5
+ *
6
+ * @param context - The session.
7
+ * @param args - The words after `size`.
8
+ * @returns The envelope.
9
+ */
10
+ export declare function domainSize_run(context: BuildCommandContext, args: ReadonlyArray<string>): Promise<CommandEnvelope>;
@@ -0,0 +1,80 @@
1
+ /**
2
+ * @file `domain size [--family <family>]`: what a new domain is sized
3
+ * against in the session's region, read and never written (docs/stratus.adoc,
4
+ * D13, SIZE): each availability domain's free cores and memory for the
5
+ * family, the family's flexible shape and price, what storage and load
6
+ * balancing cost, and the spec a new domain starts from.
7
+ *
8
+ * The answer carries the `stratus.domain.size` model, so a surface redraws
9
+ * fit and cost as its levers move without a line per move; what it shows is
10
+ * presentation, and `domain new` checks again when the spec is committed.
11
+ *
12
+ * @module
13
+ */
14
+ import chalk from 'chalk';
15
+ import { envelope_error, envelope_ok, STRATUS_DOMAIN_SIZE_MODEL_KIND } from '@fnndsc/menu';
16
+ import { capacityRows_read } from './capacity.js';
17
+ import { familyShape_find } from '../domain/sizing.js';
18
+ import { SPEC_DEFAULT } from '../domain/spec.js';
19
+ import { options_read, spec_line } from './build.js';
20
+ /**
21
+ * What a limit leaves free in a zone, by a word in its name (`core`, `memory`).
22
+ *
23
+ * @param rows - The family's limits.
24
+ * @param zone - The zone.
25
+ * @param word - The word.
26
+ * @returns What is free, or null when the cloud does not say.
27
+ */
28
+ function free_of(rows, zone, word) {
29
+ return rows.find((row) => row.zone === zone && row.limit.includes(word))?.available ?? null;
30
+ }
31
+ /**
32
+ * `domain size [--family <family>]`.
33
+ *
34
+ * @param context - The session.
35
+ * @param args - The words after `size`.
36
+ * @returns The envelope.
37
+ */
38
+ export async function domainSize_run(context, args) {
39
+ const read = options_read(args, ['--family']);
40
+ if ('error' in read)
41
+ return envelope_error('', undefined, `domain size: ${read.error} (--family)\n`);
42
+ if (read.rest.length > 0)
43
+ return envelope_error('', undefined, 'domain size: usage: domain size [--family <family>]\n');
44
+ const region = context.region();
45
+ if (region === null)
46
+ return envelope_error('', undefined, 'domain size: not connected\n');
47
+ const family = read.options.get('--family') ?? SPEC_DEFAULT.family;
48
+ const shapes = await context.driver.shapes_list(region);
49
+ const shape = familyShape_find(shapes, family);
50
+ if (shape === undefined)
51
+ return envelope_error('', undefined, `domain size: ${family}: no such family in ${region} (${[...new Set(shapes.map((each) => each.family))].sort().join(', ')})\n`);
52
+ const [zones, prices, services, rows] = await Promise.all([
53
+ context.driver.zones_list(region),
54
+ context.driver.prices_list(),
55
+ context.driver.servicePrices_get(),
56
+ capacityRows_read(context.driver, region, [family]),
57
+ ]);
58
+ const price = prices.find((entry) => entry.shape === shape.name);
59
+ const model = {
60
+ region,
61
+ family: shape.family,
62
+ families: [...new Set(shapes.filter((each) => each.flexible).map((each) => each.family))].sort(),
63
+ vcpuPerCore: shape.vcpuPerCore,
64
+ cores: shape.flexible ? { ...shape.cores } : null,
65
+ memoryGib: shape.flexible ? { ...shape.memoryGib } : null,
66
+ zones: zones.map((zone) => ({ zone: zone.name, coresFree: free_of(rows, zone.name, 'core'), memoryFree: free_of(rows, zone.name, 'memory') })),
67
+ price: price === undefined ? null : { vcpuHour: price.vcpuHour, gibHour: price.gibHour, currency: price.currency },
68
+ services: services === null ? null : { volumeGibMonth: services.volumeGibMonth, vpuGibMonth: services.vpuGibMonth, balancerHour: services.balancerHour, balancerMbpsHour: services.balancerMbpsHour },
69
+ start: { ...SPEC_DEFAULT, family: shape.family },
70
+ baseDomain: context.baseDomain,
71
+ };
72
+ const free = (value) => value === null ? '?' : String(value);
73
+ const lines = [
74
+ `${chalk.bold(shape.family)} ${shape.name} in ${region}${price === undefined ? chalk.gray(' not in the price list') : ` ${price.currency} ${price.vcpuHour} a vCPU-hour, ${price.gibHour} a GiB-hour`}`,
75
+ ...model.zones.map((zone) => ` ${zone.zone.padEnd(24)} ${free(zone.coresFree)} cores, ${free(zone.memoryFree)} GiB free`),
76
+ chalk.gray(`starts from: ${spec_line(model.start)}`),
77
+ ];
78
+ return envelope_ok(`${lines.join('\n')}\n`, { kind: STRATUS_DOMAIN_SIZE_MODEL_KIND, data: model });
79
+ }
80
+ //# sourceMappingURL=size.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"size.js","sourceRoot":"","sources":["../../src/commands/size.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,8 @@ export async function domainTeardown_run(context, args) {
32
32
  return envelope_error('', undefined, `domain teardown: ${name}: Operation not permitted: adopted, not built here\n`);
33
33
  if (record.gone !== undefined)
34
34
  return envelope_ok(`${name}: already torn down (${record.gone.slice(0, 16)})\n`);
35
+ if (record.protected !== false)
36
+ return envelope_error('', undefined, `domain teardown: ${name}: Operation not permitted: protected (domain protect ${name} off lifts it, as its own line)\n`);
35
37
  const builder = context.builder;
36
38
  if (builder === null || builder.teardown_run === undefined)
37
39
  return envelope_error('', undefined, 'domain teardown: this cloud cannot tear a domain down yet\n');
@@ -1 +1 @@
1
- {"version":3,"file":"teardown.js","sourceRoot":"","sources":["../../src/commands/teardown.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"teardown.js","sourceRoot":"","sources":["../../src/commands/teardown.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ import { envelope_error, envelope_ok } from '@fnndsc/menu';
13
13
  import { commandCancellation_enable, commandCancellation_signalGet, surface_get } from '@fnndsc/brasa/core';
14
14
  import { kubeconfig_read } from '../cluster/kube.js';
15
15
  import { httpsStatus_get, kubeApi_make } from '../cluster/kubeHttp.js';
16
+ import { VERIFY_FILE } from '../domain/readout.js';
16
17
  import { familyShape_find } from '../domain/sizing.js';
17
18
  import { verify_run } from '../domain/verify.js';
18
19
  /** The resolver `verify` asks, as `harbor-oci` did: one outside the tenancy. */
@@ -89,9 +90,12 @@ export async function domainVerify_run(context, reach, args) {
89
90
  const failed = ran.length - passed;
90
91
  const skipped = checks.length - ran.length;
91
92
  const summary = `${passed} of ${checks.length} pass${failed > 0 ? `, ${failed} fail` : ''}${skipped > 0 ? `, ${skipped} not run (needs the tasks tier)` : ''}`;
93
+ const at = new Date().toISOString();
92
94
  context.store.record_update(name, (current) => {
93
- current.steps['verify'] = { state: failed > 0 ? 'failed' : 'done', ended: new Date().toISOString(), note: summary };
95
+ current.steps['verify'] = { state: failed > 0 ? 'failed' : 'done', ended: at, note: summary };
94
96
  });
97
+ const verified = { at, checks: checks.map((check) => ({ name: check.name, ok: check.ok, detail: check.detail, how: check.how })) };
98
+ context.store.file_write(name, VERIFY_FILE, `${JSON.stringify(verified, null, 2)}\n`);
95
99
  const text = [`${chalk.bold(name)} ${name}.${record.baseDomain}`, ...checks.map(check_line), `verify: ${summary}`].join('\n');
96
100
  return failed > 0 ? { ...envelope_error(`${text}\n`), renderedErr: '' } : envelope_ok(`${text}\n`);
97
101
  }
@@ -1 +1 @@
1
- {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/commands/verify.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/commands/verify.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,7 @@ import { join } from 'node:path';
20
20
  import { envFile_parse, harborDomain_read } from '../domains/harborOci.js';
21
21
  import { specYaml_parse, SPEC_DEFAULT } from './spec.js';
22
22
  import { STEPS_WRITTEN } from './steps.js';
23
+ import { ADOPTED_COMPARTMENT } from './view.js';
23
24
  /** The secrets a domain keeps from its checkout. */
24
25
  const KEPT_SECRETS = ['kubeconfig', 'kubeadmin-password'];
25
26
  /**
@@ -77,6 +78,7 @@ export function checkout_read(name, root, now) {
77
78
  if (STEPS_WRITTEN.includes(step.name))
78
79
  steps[step.name] = { state: 'done', note: `done before adoption (harbor-oci: ${step.state}, ${step.evidence})` };
79
80
  }
81
+ steps['compartment'] = { ...ADOPTED_COMPARTMENT };
80
82
  const ids = {};
81
83
  for (const [key, field] of [['clusterId', 'assistedClusterId'], ['infraEnvId', 'assistedInfraEnvId'], ['isoObject', 'isoObjectName']]) {
82
84
  if (typeof harbor[field] === 'string')