@mesh-tech/mesh-cli 0.18.1 → 0.19.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/README.md +111 -56
- package/dist/bin/mesh.js +4843 -4077
- package/dist/bin/mesh.js.map +4 -4
- package/dist/build-info.json +2 -2
- package/dist/src/commands/create-app.d.ts +28 -0
- package/dist/src/commands/create-app.d.ts.map +1 -1
- package/dist/src/commands/create-app.js +45 -1
- package/dist/src/commands/create-app.js.map +1 -1
- package/dist/src/commands/dev-doctor.js +2 -2
- package/dist/src/commands/dev-doctor.js.map +1 -1
- package/dist/src/commands/init/wizard.d.ts +216 -0
- package/dist/src/commands/init/wizard.d.ts.map +1 -0
- package/dist/src/commands/init/wizard.js +471 -0
- package/dist/src/commands/init/wizard.js.map +1 -0
- package/dist/src/commands/init.d.ts +14 -6
- package/dist/src/commands/init.d.ts.map +1 -1
- package/dist/src/commands/init.js +41 -15
- package/dist/src/commands/init.js.map +1 -1
- package/dist/src/commands/local/dev-local.d.ts.map +1 -1
- package/dist/src/commands/local/dev-local.js +6 -0
- package/dist/src/commands/local/dev-local.js.map +1 -1
- package/dist/src/commands/login.d.ts +76 -5
- package/dist/src/commands/login.d.ts.map +1 -1
- package/dist/src/commands/login.js +161 -60
- package/dist/src/commands/login.js.map +1 -1
- package/dist/src/commands/registry.d.ts +133 -10
- package/dist/src/commands/registry.d.ts.map +1 -1
- package/dist/src/commands/registry.js +238 -86
- package/dist/src/commands/registry.js.map +1 -1
- package/dist/src/commands/temporal.js +37 -23
- package/dist/src/commands/temporal.js.map +3 -3
- package/dist/src/docs/registry-docs.d.ts.map +1 -1
- package/dist/src/docs/registry-docs.js +8 -3
- package/dist/src/docs/registry-docs.js.map +1 -1
- package/dist/src/program.d.ts.map +1 -1
- package/dist/src/program.js +5 -1
- package/dist/src/program.js.map +1 -1
- package/dist/src/utils/auth-preflight.d.ts +51 -20
- package/dist/src/utils/auth-preflight.d.ts.map +1 -1
- package/dist/src/utils/auth-preflight.js +48 -21
- package/dist/src/utils/auth-preflight.js.map +1 -1
- package/dist/src/utils/mesh-json.d.ts +58 -0
- package/dist/src/utils/mesh-json.d.ts.map +1 -0
- package/dist/src/utils/mesh-json.js +85 -0
- package/dist/src/utils/mesh-json.js.map +1 -0
- package/dist/src/utils/registry-broker.d.ts +12 -29
- package/dist/src/utils/registry-broker.d.ts.map +1 -1
- package/dist/src/utils/registry-broker.js +12 -29
- package/dist/src/utils/registry-broker.js.map +1 -1
- package/dist/src/utils/registry-identity.d.ts +170 -0
- package/dist/src/utils/registry-identity.d.ts.map +1 -0
- package/dist/src/utils/registry-identity.js +273 -0
- package/dist/src/utils/registry-identity.js.map +1 -0
- package/package.json +3 -2
- package/skills/core/SKILL.md +13 -8
|
@@ -4,11 +4,17 @@
|
|
|
4
4
|
* Handles CodeArtifact token refresh and project .npmrc setup so that
|
|
5
5
|
* `pnpm install` can resolve @mesh-tech/* packages from the private registry.
|
|
6
6
|
*
|
|
7
|
+
* The registry is ONE global identity (`utils/registry-identity.ts`), so the
|
|
8
|
+
* read path needs no platform context: `mesh registry login` resolves the
|
|
9
|
+
* registry, signs in to its issuer if there is no cached session, asks the
|
|
10
|
+
* Zitadel-gated `registry-auth` broker for a token, and writes `~/.npmrc` —
|
|
11
|
+
* one command, one browser round-trip, no AWS anything on the machine.
|
|
12
|
+
*
|
|
7
13
|
* Credential resolution, in order:
|
|
8
|
-
* 0. The
|
|
9
|
-
*
|
|
14
|
+
* 0. The registry-auth BROKER, authenticated with the registry session.
|
|
15
|
+
* This is the path a brand-new developer takes.
|
|
10
16
|
* 1. Existing AWS credentials in environment (CI/CD) → use directly
|
|
11
|
-
* 2. Zitadel JWT from `mesh login
|
|
17
|
+
* 2. Zitadel JWT from `mesh login <context>` → AssumeRoleWithWebIdentity
|
|
12
18
|
* 3. AWS SSO / current profile → use directly
|
|
13
19
|
*
|
|
14
20
|
* Paths 1–3 all shell out to the AWS CLI, so they require it to be installed
|
|
@@ -16,19 +22,22 @@
|
|
|
16
22
|
* point (design: registry-access-without-aws-sso).
|
|
17
23
|
*
|
|
18
24
|
* Usage:
|
|
19
|
-
* mesh registry login —
|
|
20
|
-
* mesh registry login
|
|
21
|
-
* mesh registry login --ci — CI mode
|
|
25
|
+
* mesh registry login — broker first (signs in if needed), then the AWS paths
|
|
26
|
+
* mesh registry login --device — same, device-code sign-in (headless / SSH)
|
|
27
|
+
* mesh registry login --ci — CI mode: AWS chain only, skip .npmrc creation
|
|
22
28
|
* mesh registry login --no-broker — skip the broker, force the AWS paths
|
|
29
|
+
* mesh registry login --profile p — a deployer's AWS profile (skips the broker)
|
|
30
|
+
* mesh registry logout — forget the registry session
|
|
23
31
|
* mesh registry status — show current auth state
|
|
24
32
|
*/
|
|
25
33
|
import { execFileSync } from "child_process";
|
|
26
34
|
import * as fs from "fs";
|
|
27
35
|
import * as path from "path";
|
|
28
|
-
import {
|
|
36
|
+
import { logInfo, logSuccess, logWarn } from "../utils/log.js";
|
|
29
37
|
import { MeshCliError } from "../utils/errors.js";
|
|
30
|
-
import { awsConfigHasProfile, findUnscopedCodeArtifactRegistry, homeNpmrcPath, npmrcAuthKeyForEndpoint, probeRegistryToken, readAwsConfig,
|
|
31
|
-
import { fetchRegistryGrant, realGrantDeps,
|
|
38
|
+
import { awsConfigHasProfile, findUnscopedCodeArtifactRegistry, homeNpmrcPath, npmrcAuthKeyForEndpoint, probeRegistryToken, readAwsConfig, SSO_SESSION_SNIPPET, stripUnscopedCodeArtifactRegistry, upsertNpmrcLines, } from "../utils/auth-preflight.js";
|
|
39
|
+
import { fetchRegistryGrant, realGrantDeps, PUBLISHED_BROKER_TIMEOUT_MS, } from "../utils/registry-broker.js";
|
|
40
|
+
import { clearRegistrySession, describeSessionExpiry, ensureRegistrySession, identityChanged, logRegistryIdentity, readRegistrySession, resolveRegistryIdentity, } from "../utils/registry-identity.js";
|
|
32
41
|
import { readCredentials } from "./login.js";
|
|
33
42
|
import { registerRegistryPublish } from "./registry-publish.js";
|
|
34
43
|
// =============================================================================
|
|
@@ -333,25 +342,29 @@ export function applyGrantToUserNpmrc(grant, npmrcPath = homeNpmrcPath()) {
|
|
|
333
342
|
* working Mesh account that simply lacks the grant, and quietly trying AWS next
|
|
334
343
|
* would either succeed (masking a missing grant with an AWS account we're
|
|
335
344
|
* trying to stop requiring) or fail with an unrelated AWS error that buries the
|
|
336
|
-
* real answer.
|
|
345
|
+
* real answer. Its text ends by naming the re-run — the bare command, because
|
|
346
|
+
* the session is kept and no second sign-in is needed once the role lands.
|
|
347
|
+
*
|
|
348
|
+
* @example
|
|
349
|
+
* describeBrokerFailure({ kind: "unavailable", detail: "ECONNREFUSED" }).fatal; // → false
|
|
337
350
|
*/
|
|
338
|
-
export function describeBrokerFailure(failure
|
|
351
|
+
export function describeBrokerFailure(failure) {
|
|
339
352
|
switch (failure.kind) {
|
|
340
353
|
case "no-broker":
|
|
341
354
|
return {
|
|
342
|
-
message: "
|
|
355
|
+
message: "The registry publishes no broker — using the AWS paths.",
|
|
343
356
|
fatal: false,
|
|
344
357
|
};
|
|
345
358
|
case "no-session":
|
|
346
359
|
return {
|
|
347
|
-
message:
|
|
348
|
-
hint:
|
|
360
|
+
message: "No registry session — using the AWS paths.",
|
|
361
|
+
hint: "mesh registry login",
|
|
349
362
|
fatal: false,
|
|
350
363
|
};
|
|
351
364
|
case "unauthenticated":
|
|
352
365
|
return {
|
|
353
|
-
message: "The registry broker rejected your
|
|
354
|
-
hint:
|
|
366
|
+
message: "The registry broker rejected your session (expired or wrong audience).",
|
|
367
|
+
hint: "mesh registry logout && mesh registry login",
|
|
355
368
|
fatal: false,
|
|
356
369
|
};
|
|
357
370
|
case "not-authorized":
|
|
@@ -366,7 +379,8 @@ export function describeBrokerFailure(failure, context) {
|
|
|
366
379
|
: "") +
|
|
367
380
|
(failure.requestUrl
|
|
368
381
|
? `\n Request access: ${failure.requestUrl}`
|
|
369
|
-
: "\n Ask a Mesh platform admin to grant your account registry access.")
|
|
382
|
+
: "\n Ask a Mesh platform admin to grant your account registry access.") +
|
|
383
|
+
`\n ${NOT_AUTHORIZED_RERUN}`,
|
|
370
384
|
fatal: true,
|
|
371
385
|
};
|
|
372
386
|
case "unavailable":
|
|
@@ -377,58 +391,121 @@ export function describeBrokerFailure(failure, context) {
|
|
|
377
391
|
}
|
|
378
392
|
}
|
|
379
393
|
/**
|
|
380
|
-
*
|
|
381
|
-
*
|
|
394
|
+
* A valid Mesh account that lacks the registry role. Its own class so a
|
|
395
|
+
* caller that runs the login in-process (the `mesh init` wizard) can tell
|
|
396
|
+
* "ask for a grant" from every other failure structurally, not by parsing
|
|
397
|
+
* the sentence.
|
|
398
|
+
*
|
|
399
|
+
* @example
|
|
400
|
+
* try {
|
|
401
|
+
* await runRegistryLogin(undefined, {});
|
|
402
|
+
* } catch (err) {
|
|
403
|
+
* if (err instanceof RegistryNotAuthorizedError) markStepFailedAndContinue(err);
|
|
404
|
+
* else throw err;
|
|
405
|
+
* }
|
|
406
|
+
*/
|
|
407
|
+
export class RegistryNotAuthorizedError extends MeshCliError {
|
|
408
|
+
constructor(message) {
|
|
409
|
+
super(message);
|
|
410
|
+
this.name = "RegistryNotAuthorizedError";
|
|
411
|
+
}
|
|
412
|
+
}
|
|
413
|
+
/**
|
|
414
|
+
* Whether this run may start a sign-in: always with `--device` (the device
|
|
415
|
+
* code works anywhere the output can be read), otherwise only when there is
|
|
416
|
+
* a terminal to print a code to or open a browser from. Which sign-in runs
|
|
417
|
+
* is the login flow's choice — browser PKCE on a laptop, device code over
|
|
418
|
+
* SSH or in a container. A run with no TTY and no `--device` never starts a
|
|
419
|
+
* device-code poll nobody can complete — it falls to the AWS chain, which
|
|
420
|
+
* is what a CI runner with ambient credentials expects.
|
|
382
421
|
*
|
|
383
|
-
*
|
|
422
|
+
* @example
|
|
423
|
+
* registrySignInAllowed({}, false); // → false (CI runner, no --device)
|
|
424
|
+
* registrySignInAllowed({ device: true }, false); // → true
|
|
425
|
+
* registrySignInAllowed({}, true); // → true (a laptop, or an SSH session with a TTY)
|
|
384
426
|
*/
|
|
385
|
-
|
|
427
|
+
export function registrySignInAllowed(opts, hasTty = Boolean(process.stdin.isTTY && process.stdout.isTTY)) {
|
|
428
|
+
return Boolean(opts.device) || hasTty;
|
|
429
|
+
}
|
|
430
|
+
/** The closing line of the not-authorized text: what to run once the role is granted. */
|
|
431
|
+
export const NOT_AUTHORIZED_RERUN = "Once granted, run: mesh registry login (your sign-in is kept; no second browser trip)";
|
|
432
|
+
/** Printed when the read path is given a context it no longer needs. */
|
|
433
|
+
export const CONTEXT_IGNORED_NOTICE = "The registry is global — the context argument is no longer needed (ignored).";
|
|
434
|
+
/**
|
|
435
|
+
* Try the broker. Returns the grant when it produced one, otherwise the
|
|
436
|
+
* outcome the caller carries into the AWS chain so the final error names the
|
|
437
|
+
* right cause.
|
|
438
|
+
*
|
|
439
|
+
* Throws `MeshCliError` for the two fatal cases: `not-authorized` (a valid
|
|
440
|
+
* account without the role — see describeBrokerFailure) and a sign-in that
|
|
441
|
+
* failed outright (denied, timed out), because falling through to AWS after
|
|
442
|
+
* either would print an unrelated error over the real answer.
|
|
443
|
+
*/
|
|
444
|
+
async function tryBrokerLogin(opts) {
|
|
386
445
|
if (opts.broker === false)
|
|
387
|
-
return
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
446
|
+
return { outcome: { kind: "skipped-flag", flag: "--no-broker" } };
|
|
447
|
+
if (opts.ci)
|
|
448
|
+
return { outcome: { kind: "skipped-flag", flag: "--ci" } };
|
|
449
|
+
let identity;
|
|
450
|
+
try {
|
|
451
|
+
identity = await resolveRegistryIdentity();
|
|
452
|
+
}
|
|
453
|
+
catch (err) {
|
|
454
|
+
const detail = err.message.split("\n")[0] ?? String(err);
|
|
455
|
+
logWarn(`Registry broker unavailable (${detail}) — falling back to the AWS paths.`);
|
|
456
|
+
return { outcome: { kind: "unavailable", detail } };
|
|
457
|
+
}
|
|
458
|
+
logRegistryIdentity(identity);
|
|
459
|
+
const session = await ensureRegistrySession({
|
|
460
|
+
device: opts.device,
|
|
461
|
+
interactive: registrySignInAllowed(opts),
|
|
462
|
+
});
|
|
463
|
+
if (!session.ok) {
|
|
464
|
+
if (session.reason === "login-failed") {
|
|
465
|
+
throw new MeshCliError(`Registry sign-in failed: ${session.detail}`, {
|
|
466
|
+
remediation: { command: opts.device ? "mesh registry login --device" : "mesh registry login" },
|
|
467
|
+
});
|
|
397
468
|
}
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
469
|
+
logWarn(`No registry session (${session.detail}) — falling back to the AWS paths.`);
|
|
470
|
+
return { outcome: { kind: "no-session", detail: session.detail } };
|
|
471
|
+
}
|
|
472
|
+
logInfo(`Registry session: ${session.email}`);
|
|
473
|
+
let result = await requestGrant(session.context, identity);
|
|
474
|
+
if (!result.ok && (result.failure.kind === "unauthenticated" || result.failure.kind === "unavailable")) {
|
|
475
|
+
// The pinned record may be stale — a moved broker host or a rotated
|
|
476
|
+
// client id. Re-discover once and retry only when something changed, so
|
|
477
|
+
// a genuinely down broker is not paid for twice.
|
|
478
|
+
let fresh = null;
|
|
479
|
+
try {
|
|
480
|
+
fresh = await resolveRegistryIdentity({ refresh: true });
|
|
402
481
|
}
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
482
|
+
catch {
|
|
483
|
+
// still unreachable — the original failure stands
|
|
484
|
+
}
|
|
485
|
+
if (fresh && identityChanged(identity, fresh)) {
|
|
486
|
+
logInfo(`Registry identity changed since it was cached — retrying with ${fresh.registryBroker}`);
|
|
487
|
+
identity = fresh;
|
|
488
|
+
result = await requestGrant(session.context, identity);
|
|
407
489
|
}
|
|
408
490
|
}
|
|
409
|
-
const { url: brokerUrl, source } = resolveRegistryBrokerSource(context);
|
|
410
|
-
if (!brokerUrl) {
|
|
411
|
-
logInfo("No registry broker published for this context — using the AWS paths.");
|
|
412
|
-
return null;
|
|
413
|
-
}
|
|
414
|
-
logInfo(`Requesting a registry token from ${brokerUrl} (no AWS credentials needed)…`);
|
|
415
|
-
const result = await fetchRegistryGrant(context, brokerUrl, {
|
|
416
|
-
...realGrantDeps(),
|
|
417
|
-
// A DERIVED url is a guess at a host that, for every platform not yet
|
|
418
|
-
// redeployed, does not exist — and this wait also sits on the `mesh login`
|
|
419
|
-
// path. Don't make everyone pay the published-broker timeout for a guess.
|
|
420
|
-
timeoutMs: source === "published" ? PUBLISHED_BROKER_TIMEOUT_MS : DERIVED_BROKER_TIMEOUT_MS,
|
|
421
|
-
});
|
|
422
491
|
if (result.ok)
|
|
423
|
-
return result.grant;
|
|
424
|
-
const { message, hint, fatal } = describeBrokerFailure(result.failure
|
|
492
|
+
return { grant: result.grant };
|
|
493
|
+
const { message, hint, fatal } = describeBrokerFailure(result.failure);
|
|
425
494
|
if (fatal) {
|
|
426
|
-
throw new
|
|
495
|
+
throw new RegistryNotAuthorizedError(message);
|
|
427
496
|
}
|
|
428
497
|
logWarn(message);
|
|
429
498
|
if (hint)
|
|
430
499
|
logInfo(` Try: ${hint}`);
|
|
431
|
-
|
|
500
|
+
const detail = result.failure.kind === "unavailable" ? result.failure.detail : result.failure.kind;
|
|
501
|
+
return { outcome: { kind: "unavailable", detail } };
|
|
502
|
+
}
|
|
503
|
+
async function requestGrant(sessionContext, identity) {
|
|
504
|
+
logInfo(`Requesting a registry token from ${identity.registryBroker} (no AWS credentials needed)…`);
|
|
505
|
+
return fetchRegistryGrant(sessionContext, identity.registryBroker, {
|
|
506
|
+
...realGrantDeps(),
|
|
507
|
+
timeoutMs: PUBLISHED_BROKER_TIMEOUT_MS,
|
|
508
|
+
});
|
|
432
509
|
}
|
|
433
510
|
/**
|
|
434
511
|
* Whether this `mesh registry login` invocation may rewrite ~/.npmrc.
|
|
@@ -479,6 +556,18 @@ export function repairUnscopedRegistry(npmrcPath = homeNpmrcPath()) {
|
|
|
479
556
|
}
|
|
480
557
|
return { removed, backupPath };
|
|
481
558
|
}
|
|
559
|
+
/**
|
|
560
|
+
* The `Registry session:` line of `mesh registry status`. Pure; exported for
|
|
561
|
+
* the message test.
|
|
562
|
+
*
|
|
563
|
+
* @example
|
|
564
|
+
* renderRegistrySessionLine(null); // → "No registry session — run: mesh registry login"
|
|
565
|
+
*/
|
|
566
|
+
export function renderRegistrySessionLine(session, now = Date.now()) {
|
|
567
|
+
if (!session)
|
|
568
|
+
return "No registry session — run: mesh registry login";
|
|
569
|
+
return `Registry session: ${session.email} (expires in ${describeSessionExpiry(session.expiresAt, now)})`;
|
|
570
|
+
}
|
|
482
571
|
export async function checkExistingToken() {
|
|
483
572
|
const npmrcPath = homeNpmrcPath();
|
|
484
573
|
if (!fs.existsSync(npmrcPath))
|
|
@@ -545,6 +634,7 @@ export async function runRegistryStatus(opts) {
|
|
|
545
634
|
logInfo(`Endpoint: ${endpoint}`);
|
|
546
635
|
}
|
|
547
636
|
}
|
|
637
|
+
logInfo(renderRegistrySessionLine(opts?.session ?? readRegistrySession()));
|
|
548
638
|
// Project .npmrc — worth reporting even when the token couldn't be verified.
|
|
549
639
|
const projectRoot = findProjectRoot();
|
|
550
640
|
if (projectRoot) {
|
|
@@ -581,8 +671,8 @@ function ensureSsoProfile(profile) {
|
|
|
581
671
|
const awsConfig = readAwsConfig();
|
|
582
672
|
if (awsConfig && !awsConfigHasProfile(awsConfig, profile)) {
|
|
583
673
|
throw new MeshCliError(`AWS profile '${profile}' is not defined in ~/.aws/config — \`aws sso login --profile ${profile}\` cannot work until it exists.\n\n` +
|
|
584
|
-
"If you only need to INSTALL @mesh-tech packages, drop --profile: `mesh login
|
|
585
|
-
"
|
|
674
|
+
"If you only need to INSTALL @mesh-tech packages, drop --profile: `mesh registry login` uses the\n" +
|
|
675
|
+
"Zitadel-gated broker and needs no AWS account at all.\n\n" +
|
|
586
676
|
`If you DEPLOY and genuinely need this profile — one-time setup: \`aws configure sso --profile ${profile}\`,\n` +
|
|
587
677
|
`or add the session + profile by hand:\n` +
|
|
588
678
|
`${SSO_SESSION_SNIPPET}\n[profile ${profile}]\nsso_session = mesh\nsso_account_id = <account id>\nsso_role_name = <role>\nregion = us-east-2`, { remediation: { command: `aws configure sso --profile ${profile}` } });
|
|
@@ -613,8 +703,19 @@ function ensureSsoProfile(profile) {
|
|
|
613
703
|
}
|
|
614
704
|
/**
|
|
615
705
|
* The full registry-auth sequence (CodeArtifact token → ~/.npmrc → project
|
|
616
|
-
* .npmrc).
|
|
617
|
-
*
|
|
706
|
+
* .npmrc). `context` matters only to `--publish` (the publisher role comes
|
|
707
|
+
* from that context's SSM export) and to the explicit AWS chain
|
|
708
|
+
* (`--no-broker` / `--ci`, where a cached platform session can assume a
|
|
709
|
+
* role); on the default read path it is ignored, because the registry is
|
|
710
|
+
* global.
|
|
711
|
+
*
|
|
712
|
+
* Fails by throwing `MeshCliError` rather than exiting, so a caller that runs
|
|
713
|
+
* this in-process (the `mesh init` wizard, the app-tenant doctor's `--fix`)
|
|
714
|
+
* can report the outcome and carry on.
|
|
715
|
+
*
|
|
716
|
+
* @example
|
|
717
|
+
* await runRegistryLogin(undefined, {}); // a laptop: broker, browser if needed
|
|
718
|
+
* await runRegistryLogin(undefined, { ci: true }); // a runner: ambient AWS creds only
|
|
618
719
|
*/
|
|
619
720
|
export async function runRegistryLogin(context, opts) {
|
|
620
721
|
// --publish is the opt-in privileged path: resolve the publisher role
|
|
@@ -625,13 +726,11 @@ export async function runRegistryLogin(context, opts) {
|
|
|
625
726
|
let ssmArn;
|
|
626
727
|
if (!opts.role) {
|
|
627
728
|
if (!context) {
|
|
628
|
-
|
|
629
|
-
process.exit(1);
|
|
729
|
+
throw new MeshCliError('`--publish` requires a platform context, e.g. "mesh registry login mesh.dev --publish".');
|
|
630
730
|
}
|
|
631
731
|
const parsed = parseTenantEnv(context);
|
|
632
732
|
if (!parsed) {
|
|
633
|
-
|
|
634
|
-
process.exit(1);
|
|
733
|
+
throw new MeshCliError(`Could not parse tenant/env from context "${context}" (expected "<tenant>.<env>").`);
|
|
635
734
|
}
|
|
636
735
|
const registryExport = await getRegistrySsmExport(parsed.tenant, parsed.env);
|
|
637
736
|
ssmArn = registryExport?.publisherRoleArn;
|
|
@@ -640,8 +739,7 @@ export async function runRegistryLogin(context, opts) {
|
|
|
640
739
|
roleArn = resolvePublisherRoleArn({ roleArnFlag: opts.role, ssmArn });
|
|
641
740
|
}
|
|
642
741
|
catch (err) {
|
|
643
|
-
|
|
644
|
-
process.exit(1);
|
|
742
|
+
throw new MeshCliError(err.message);
|
|
645
743
|
}
|
|
646
744
|
logInfo(`Publisher role resolved: ${roleArn}`);
|
|
647
745
|
}
|
|
@@ -652,12 +750,21 @@ export async function runRegistryLogin(context, opts) {
|
|
|
652
750
|
// Skipped for --publish (a privileged write path that deliberately goes
|
|
653
751
|
// through an assumed IAM role) and for --profile (an explicit "use this AWS
|
|
654
752
|
// profile" instruction we must not silently override).
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
753
|
+
let outcome;
|
|
754
|
+
if (opts.publish) {
|
|
755
|
+
outcome = { kind: "skipped-flag", flag: "--publish" };
|
|
756
|
+
}
|
|
757
|
+
else if (opts.profile) {
|
|
758
|
+
outcome = { kind: "skipped-profile", profile: opts.profile };
|
|
759
|
+
}
|
|
760
|
+
else {
|
|
761
|
+
if (context && opts.broker !== false && !opts.ci)
|
|
762
|
+
logInfo(CONTEXT_IGNORED_NOTICE);
|
|
763
|
+
const attempt = await tryBrokerLogin(opts);
|
|
764
|
+
if ("grant" in attempt) {
|
|
765
|
+
const { path: npmrcPath } = applyGrantToUserNpmrc(attempt.grant);
|
|
659
766
|
logSuccess(`Registry token issued by the Mesh broker → ${npmrcPath}` +
|
|
660
|
-
(grant.expiresAt ? ` (expires ${grant.expiresAt})` : ""));
|
|
767
|
+
(attempt.grant.expiresAt ? ` (expires ${attempt.grant.expiresAt})` : ""));
|
|
661
768
|
// Same hijack repair as the AWS path — an unscoped `registry=` line left
|
|
662
769
|
// by a past bare `aws codeartifact login` breaks public installs
|
|
663
770
|
// regardless of where today's token came from.
|
|
@@ -672,7 +779,7 @@ export async function runRegistryLogin(context, opts) {
|
|
|
672
779
|
}
|
|
673
780
|
}
|
|
674
781
|
if (!opts.ci && !opts.skipNpmrc) {
|
|
675
|
-
const result = ensureProjectNpmrc(grant.endpoint);
|
|
782
|
+
const result = ensureProjectNpmrc(attempt.grant.endpoint);
|
|
676
783
|
if (result.created) {
|
|
677
784
|
logSuccess(`Created ${result.path} with ${CA_NAMESPACE} registry scope`);
|
|
678
785
|
}
|
|
@@ -686,6 +793,7 @@ export async function runRegistryLogin(context, opts) {
|
|
|
686
793
|
logSuccess(`Ready — run pnpm install to fetch ${CA_NAMESPACE} packages`);
|
|
687
794
|
return;
|
|
688
795
|
}
|
|
796
|
+
outcome = attempt.outcome;
|
|
689
797
|
}
|
|
690
798
|
let env;
|
|
691
799
|
if (opts.profile) {
|
|
@@ -706,15 +814,7 @@ export async function runRegistryLogin(context, opts) {
|
|
|
706
814
|
// Step 1: Run `aws codeartifact login` (sets token in ~/.npmrc)
|
|
707
815
|
logInfo("Authenticating with CodeArtifact...");
|
|
708
816
|
if (!codeartifactLogin(env)) {
|
|
709
|
-
|
|
710
|
-
"You do NOT need an AWS account to install @mesh-tech packages. The supported path is:\n" +
|
|
711
|
-
` mesh login ${context ?? "<context>"} # browser → Zitadel; then re-run this command\n\n` +
|
|
712
|
-
"This machine fell through to the AWS path, which means one of: the platform publishes no\n" +
|
|
713
|
-
"registry broker yet, your Mesh account is not signed in, or the broker was unreachable —\n" +
|
|
714
|
-
"the warning above says which.\n\n" +
|
|
715
|
-
"AWS SSO is only needed if you DEPLOY (mesh deploy):\n" +
|
|
716
|
-
" mesh registry login --profile mesh-dev # auto-runs `aws sso login`");
|
|
717
|
-
process.exit(1);
|
|
817
|
+
throw new MeshCliError(describeAwsChainFailure(outcome));
|
|
718
818
|
}
|
|
719
819
|
logSuccess("CodeArtifact token refreshed (valid for 12 hours)");
|
|
720
820
|
// Step 1b: Repair a hijacked ~/.npmrc. We always write the SCOPED form
|
|
@@ -761,27 +861,79 @@ export async function runRegistryLogin(context, opts) {
|
|
|
761
861
|
}
|
|
762
862
|
logSuccess(`Ready — run pnpm install to fetch ${CA_NAMESPACE} packages`);
|
|
763
863
|
}
|
|
864
|
+
/**
|
|
865
|
+
* The error for a failed `aws codeartifact login`, built from WHY the AWS
|
|
866
|
+
* chain was the path taken — so the text can only ever describe something
|
|
867
|
+
* that actually happened on this run.
|
|
868
|
+
*
|
|
869
|
+
* Three shapes:
|
|
870
|
+
*
|
|
871
|
+
* - `--profile`: the profile's AWS identity cannot read the registry. That
|
|
872
|
+
* flag is for deployers whose account is allowed to; anyone else should drop
|
|
873
|
+
* it and take the broker path, which needs no AWS at all.
|
|
874
|
+
* - broker unavailable / no session: the broker was tried and printed a
|
|
875
|
+
* warning; this names that warning and the two ways forward.
|
|
876
|
+
* - an explicit AWS flag (`--no-broker`, `--ci`, `--publish`): the caller asked
|
|
877
|
+
* for the AWS chain, so the fix is the AWS credentials, not the broker.
|
|
878
|
+
*
|
|
879
|
+
* Pure; exported for the message tests.
|
|
880
|
+
*
|
|
881
|
+
* @example
|
|
882
|
+
* describeAwsChainFailure({ kind: "skipped-profile", profile: "ctdev" }); // "AWS profile 'ctdev' cannot read…"
|
|
883
|
+
*/
|
|
884
|
+
export function describeAwsChainFailure(outcome) {
|
|
885
|
+
switch (outcome.kind) {
|
|
886
|
+
case "skipped-profile":
|
|
887
|
+
return (`AWS profile '${outcome.profile}' cannot read the Mesh registry (aws codeartifact login failed).\n\n` +
|
|
888
|
+
"--profile is for people who DEPLOY with an AWS account that is allowed to read the registry\n" +
|
|
889
|
+
"(Trabian's mesh-dev profile, or a tenant deployer role). Any other profile fails here.\n\n" +
|
|
890
|
+
"To install packages you do not need AWS at all — drop the flag:\n" +
|
|
891
|
+
" mesh registry login");
|
|
892
|
+
case "unavailable":
|
|
893
|
+
return (`Registry broker unavailable (${outcome.detail}) and this machine has no AWS path either.\n\n` +
|
|
894
|
+
"Retry in a minute: mesh registry login\n" +
|
|
895
|
+
"If you deploy and have an AWS account: mesh registry login --profile mesh-dev");
|
|
896
|
+
case "no-session":
|
|
897
|
+
return (`No registry session on this machine (${outcome.detail}) and the AWS chain failed too.\n\n` +
|
|
898
|
+
"Sign in once — on a headless box: mesh registry login --device\n" +
|
|
899
|
+
"In CI with AWS creds: mesh registry login --ci");
|
|
900
|
+
case "skipped-flag":
|
|
901
|
+
return (`CodeArtifact login failed with the AWS credential chain (${outcome.flag} skips the registry broker).\n\n` +
|
|
902
|
+
"This path needs AWS credentials that can read the registry — ambient keys, a live SSO\n" +
|
|
903
|
+
"session, or --profile <deployer-profile>.\n\n" +
|
|
904
|
+
"To install packages you do not need AWS at all — drop the flag:\n" +
|
|
905
|
+
" mesh registry login");
|
|
906
|
+
}
|
|
907
|
+
}
|
|
764
908
|
export function registerRegistryCommands(program) {
|
|
765
909
|
const registry = program
|
|
766
910
|
.command("registry")
|
|
767
911
|
.description("Manage npm registry auth for @mesh-tech packages");
|
|
768
912
|
registry
|
|
769
913
|
.command("login")
|
|
770
|
-
.description("
|
|
771
|
-
.argument("[context]", 'Platform context
|
|
914
|
+
.description("Sign in to the Mesh package registry (browser, or device code with --device) and configure ~/.npmrc + the project .npmrc. Needs no platform context and no AWS account.")
|
|
915
|
+
.argument("[context]", 'Platform context — only meaningful with --publish (publisher role from that context\'s SSM export) or on the explicit AWS chain; ignored on the default read path, which is global')
|
|
916
|
+
.option("--device", "Sign in with the device-code flow (headless box, SSH, no browser)")
|
|
772
917
|
.option("--role <arn>", "IAM role ARN for registry access")
|
|
773
|
-
.option("--ci", "CI mode — refresh token only, skip project .npmrc setup")
|
|
918
|
+
.option("--ci", "CI mode — AWS chain only (ambient credentials), refresh token only, skip project .npmrc setup")
|
|
774
919
|
.option("--skip-npmrc", "Skip project .npmrc setup")
|
|
775
|
-
.option("--profile <name>", "AWS SSO profile (e.g. mesh-dev)
|
|
920
|
+
.option("--profile <name>", "AWS SSO profile of an account allowed to READ the registry (deployers only — e.g. mesh-dev); skips the broker, auto-runs `aws sso login` when the session is stale")
|
|
776
921
|
.option("--no-broker", "Skip the Zitadel-gated registry broker and go straight to the AWS credential chain")
|
|
777
922
|
.option("--publish", "Assume the registry's publisher role for CodeArtifact publish access " +
|
|
778
923
|
"(opt-in privileged path — resolves publisherRoleArn from the registry's SSM export unless --role is given)")
|
|
779
924
|
.action(async (context, opts) => {
|
|
780
925
|
await runRegistryLogin(context, opts);
|
|
781
926
|
});
|
|
927
|
+
registry
|
|
928
|
+
.command("logout")
|
|
929
|
+
.description("Forget the package-registry session (platform logins under `mesh login` are untouched)")
|
|
930
|
+
.action(() => {
|
|
931
|
+
clearRegistrySession();
|
|
932
|
+
logSuccess("Registry session cleared. ~/.npmrc is untouched — its token expires on its own within 12 hours.");
|
|
933
|
+
});
|
|
782
934
|
registry
|
|
783
935
|
.command("status")
|
|
784
|
-
.description("Check current registry authentication status")
|
|
936
|
+
.description("Check current registry authentication status — the ~/.npmrc token and the registry session")
|
|
785
937
|
.action(async () => {
|
|
786
938
|
const code = await runRegistryStatus();
|
|
787
939
|
if (code !== 0)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/commands/registry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/commands/registry.ts"],"names":[],"mappings":"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"}
|