@mesh-tech/mesh-cli 0.13.0 → 0.15.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 (56) hide show
  1. package/dist/bin/mesh.js +940 -277
  2. package/dist/bin/mesh.js.map +4 -4
  3. package/dist/build-info.json +2 -2
  4. package/dist/src/commands/create-app.d.ts +4 -0
  5. package/dist/src/commands/create-app.d.ts.map +1 -1
  6. package/dist/src/commands/create-app.js +13 -6
  7. package/dist/src/commands/create-app.js.map +1 -1
  8. package/dist/src/commands/dev.d.ts +11 -0
  9. package/dist/src/commands/dev.d.ts.map +1 -1
  10. package/dist/src/commands/dev.js +70 -1
  11. package/dist/src/commands/dev.js.map +1 -1
  12. package/dist/src/commands/hub/index.d.ts.map +1 -1
  13. package/dist/src/commands/hub/index.js +65 -4
  14. package/dist/src/commands/hub/index.js.map +1 -1
  15. package/dist/src/commands/local/auth-provision.d.ts +34 -0
  16. package/dist/src/commands/local/auth-provision.d.ts.map +1 -1
  17. package/dist/src/commands/local/auth-provision.js +78 -1
  18. package/dist/src/commands/local/auth-provision.js.map +1 -1
  19. package/dist/src/commands/local/hub-local.d.ts +38 -0
  20. package/dist/src/commands/local/hub-local.d.ts.map +1 -1
  21. package/dist/src/commands/local/hub-local.js +137 -0
  22. package/dist/src/commands/local/hub-local.js.map +1 -1
  23. package/dist/src/commands/local/index.d.ts.map +1 -1
  24. package/dist/src/commands/local/index.js +31 -3
  25. package/dist/src/commands/local/index.js.map +1 -1
  26. package/dist/src/commands/local/seed-zitadel.d.ts +10 -3
  27. package/dist/src/commands/local/seed-zitadel.d.ts.map +1 -1
  28. package/dist/src/commands/local/seed-zitadel.js +259 -78
  29. package/dist/src/commands/local/seed-zitadel.js.map +1 -1
  30. package/dist/src/commands/local/stack.d.ts +30 -0
  31. package/dist/src/commands/local/stack.d.ts.map +1 -1
  32. package/dist/src/commands/local/stack.js +48 -0
  33. package/dist/src/commands/local/stack.js.map +1 -1
  34. package/dist/src/commands/secrets/index.d.ts +1 -0
  35. package/dist/src/commands/secrets/index.d.ts.map +1 -1
  36. package/dist/src/commands/secrets/index.js +12 -0
  37. package/dist/src/commands/secrets/index.js.map +1 -1
  38. package/dist/src/commands/secrets/reindex.d.ts +48 -0
  39. package/dist/src/commands/secrets/reindex.d.ts.map +1 -0
  40. package/dist/src/commands/secrets/reindex.js +157 -0
  41. package/dist/src/commands/secrets/reindex.js.map +1 -0
  42. package/dist/src/commands/secrets/set.d.ts +63 -0
  43. package/dist/src/commands/secrets/set.d.ts.map +1 -1
  44. package/dist/src/commands/secrets/set.js +78 -3
  45. package/dist/src/commands/secrets/set.js.map +1 -1
  46. package/fragments/base/index.ts.hbs +9 -0
  47. package/fragments/base/package.json.hbs +1 -1
  48. package/fragments/service/api/package.json.hbs +4 -0
  49. package/fragments/service/api/src/index.ts.hbs +1 -4
  50. package/fragments/temporal/worker/package.json.hbs +1 -0
  51. package/fragments/temporal/worker/src/activities.ts.hbs +5 -1
  52. package/fragments/temporal/worker/src/workflows.ts.hbs +4 -1
  53. package/package.json +3 -2
  54. package/skills/core/SKILL.md +4 -2
  55. package/stack/docker-compose.hub.yml +5 -0
  56. package/stack/docker-compose.yml +35 -0
@@ -19,6 +19,36 @@ export declare function localLogsDir(): string;
19
19
  * stack's Prometheus. The local analog of the hosted Probe CRs.
20
20
  */
21
21
  export declare function localProbesDir(): string;
22
+ /**
23
+ * Register the app's OWN services as blackbox probe targets.
24
+ *
25
+ * Uptime in the Hub has three sources: blackbox probes, Kubernetes pod
26
+ * readiness, and external-service probes. Locally the middle one cannot exist —
27
+ * `mesh dev --local` runs services as host processes, not Deployments, so
28
+ * kube-state-metrics has nothing to report — and nothing used to register the
29
+ * host processes with blackbox either. The result was an app that is plainly
30
+ * running and shows no uptime at all, which reads as a broken panel rather than
31
+ * an unmonitored one.
32
+ *
33
+ * The labels match what `ExternalService` already emits (`tenant`/`env`/`app`),
34
+ * because that is what the Hub's scoped discovery query selects on. `target` is
35
+ * the service name, which is how the Hub names the row.
36
+ *
37
+ * Targets use `host.docker.internal` — Prometheus and blackbox run inside the
38
+ * stack's network and reach host processes only through that name.
39
+ *
40
+ * Returns the file written, for the session to remove on `--kill`; a stale probe
41
+ * would otherwise report a service down long after its session ended.
42
+ */
43
+ export declare function writeAppServiceProbes(args: {
44
+ tenant: string;
45
+ env: string;
46
+ app: string;
47
+ /** Service name → host port. Mock stand-ins are the caller's to exclude. */
48
+ services: Record<string, number>;
49
+ /** Health path every service exposes. */
50
+ healthPath?: string;
51
+ }): string | undefined;
22
52
  /** Endpoints the local stack exposes on the host. */
23
53
  export interface StackEndpoint {
24
54
  service: string;
@@ -1 +1 @@
1
- {"version":3,"file":"stack.d.ts","sourceRoot":"","sources":["../../../../src/commands/local/stack.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stack.d.ts","sourceRoot":"","sources":["../../../../src/commands/local/stack.ts"],"names":[],"mappings":"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"}
@@ -36,6 +36,47 @@ export function localProbesDir() {
36
36
  fs.mkdirSync(dir, { recursive: true });
37
37
  return dir;
38
38
  }
39
+ /**
40
+ * Register the app's OWN services as blackbox probe targets.
41
+ *
42
+ * Uptime in the Hub has three sources: blackbox probes, Kubernetes pod
43
+ * readiness, and external-service probes. Locally the middle one cannot exist —
44
+ * `mesh dev --local` runs services as host processes, not Deployments, so
45
+ * kube-state-metrics has nothing to report — and nothing used to register the
46
+ * host processes with blackbox either. The result was an app that is plainly
47
+ * running and shows no uptime at all, which reads as a broken panel rather than
48
+ * an unmonitored one.
49
+ *
50
+ * The labels match what `ExternalService` already emits (`tenant`/`env`/`app`),
51
+ * because that is what the Hub's scoped discovery query selects on. `target` is
52
+ * the service name, which is how the Hub names the row.
53
+ *
54
+ * Targets use `host.docker.internal` — Prometheus and blackbox run inside the
55
+ * stack's network and reach host processes only through that name.
56
+ *
57
+ * Returns the file written, for the session to remove on `--kill`; a stale probe
58
+ * would otherwise report a service down long after its session ended.
59
+ */
60
+ export function writeAppServiceProbes(args) {
61
+ const entries = Object.entries(args.services);
62
+ if (entries.length === 0)
63
+ return undefined;
64
+ const healthPath = args.healthPath ?? "/health";
65
+ const targets = entries.map(([name, port]) => ({
66
+ targets: [`http://host.docker.internal:${port}${healthPath}`],
67
+ labels: {
68
+ type: "service",
69
+ tenant: args.tenant,
70
+ env: args.env,
71
+ app: args.app,
72
+ service: name,
73
+ target: name,
74
+ },
75
+ }));
76
+ const file = path.join(localProbesDir(), `${args.tenant}-${args.app}-services.json`);
77
+ fs.writeFileSync(file, `${JSON.stringify(targets, null, 2)}\n`);
78
+ return file;
79
+ }
39
80
  export const STACK_ENDPOINTS = [
40
81
  {
41
82
  service: "temporal",
@@ -57,6 +98,13 @@ export const STACK_ENDPOINTS = [
57
98
  probe: { kind: "http", url: "http://localhost:8080/debug/healthz" },
58
99
  hint: "admin@local.mesh / LocalDev1!",
59
100
  },
101
+ {
102
+ service: "mailpit",
103
+ label: "Mailbox (local mail)",
104
+ url: "http://localhost:8025",
105
+ probe: { kind: "http", url: "http://localhost:8025/readyz" },
106
+ hint: "every activation + password-reset mail Zitadel sends locally lands here",
107
+ },
60
108
  {
61
109
  service: "database",
62
110
  label: "Postgres",
@@ -1 +1 @@
1
- {"version":3,"file":"stack.js","sourceRoot":"","sources":["../../../../src/commands/local/stack.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stack.js","sourceRoot":"","sources":["../../../../src/commands/local/stack.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@
4
4
  * Commands:
5
5
  * mesh secrets exec - Run command with secrets injected as environment variables
6
6
  * mesh secrets set - Set credentials for an external service
7
+ * mesh secrets reindex - Rebuild a keyed service's instance index from Secrets Manager
7
8
  */
8
9
  import { Command } from "commander";
9
10
  export declare function registerSecretsCommands(program: Command): void;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/secrets/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAK5C,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAuC9D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/secrets/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAM5C,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoD9D"}
@@ -4,10 +4,12 @@
4
4
  * Commands:
5
5
  * mesh secrets exec - Run command with secrets injected as environment variables
6
6
  * mesh secrets set - Set credentials for an external service
7
+ * mesh secrets reindex - Rebuild a keyed service's instance index from Secrets Manager
7
8
  */
8
9
  import { Option } from "commander";
9
10
  import { execCommand } from "./exec.js";
10
11
  import { setCommand } from "./set.js";
12
+ import { reindexCommand } from "./reindex.js";
11
13
  import { migrateConfigCommand } from "./migrate-config.js";
12
14
  export function registerSecretsCommands(program) {
13
15
  const secrets = program
@@ -34,6 +36,16 @@ export function registerSecretsCommands(program) {
34
36
  .action(async (service, opts) => {
35
37
  await setCommand(service, opts);
36
38
  });
39
+ secrets
40
+ .command("reindex [service]")
41
+ .description("Rebuild a multi-instance external service's instance index (the {prefix}/.index secret listInstances() reads) from the per-key secrets actually in Secrets Manager — the repair for an instance secret created or deleted out of band")
42
+ .option("--dry-run", "Show what would change without writing")
43
+ .option("--stack <stack>", "Pulumi stack name (override detection)")
44
+ .addOption(new Option("--stage <stack>", "Deprecated alias for --stack").hideHelp())
45
+ .option("--region <region>", "AWS region (default: us-east-2)")
46
+ .action(async (service, opts) => {
47
+ await reindexCommand(service, opts);
48
+ });
37
49
  secrets
38
50
  .command("migrate-config")
39
51
  .description("Backfill .config mirror secrets for all external services")
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/secrets/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAW,MAAM,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,MAAM,UAAU,uBAAuB,CAAC,OAAgB;IACtD,MAAM,OAAO,GAAG,OAAO;SACpB,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,+BAA+B,CAAC,CAAC;IAEhD,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,mDAAmD,CAAC;SAChE,kBAAkB,CAAC,IAAI,CAAC;SACxB,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC3B,oCAAoC;QACpC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QACtB,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,eAAe,CAAC;SACxB,WAAW,CAAC,mFAAmF,CAAC;SAChG,MAAM,CAAC,aAAa,EAAE,wDAAwD,CAAC;SAC/E,MAAM,CAAC,OAAO,EAAE,+CAA+C,CAAC;SAChE,MAAM,CAAC,eAAe,EAAE,yCAAyC,CAAC;SAClE,MAAM,CAAC,iBAAiB,EAAE,wCAAwC,CAAC;SACnE,SAAS,CAAC,IAAI,MAAM,CAAC,iBAAiB,EAAE,8BAA8B,CAAC,CAAC,QAAQ,EAAE,CAAC;SACnF,MAAM,CAAC,mBAAmB,EAAE,iCAAiC,CAAC;SAC9D,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QAC9B,MAAM,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,gBAAgB,CAAC;SACzB,WAAW,CAAC,2DAA2D,CAAC;SACxE,MAAM,CAAC,SAAS,EAAE,oCAAoC,CAAC;SACvD,MAAM,CAAC,WAAW,EAAE,4CAA4C,CAAC;SACjE,MAAM,CAAC,iBAAiB,EAAE,wCAAwC,CAAC;SACnE,SAAS,CAAC,IAAI,MAAM,CAAC,iBAAiB,EAAE,8BAA8B,CAAC,CAAC,QAAQ,EAAE,CAAC;SACnF,MAAM,CAAC,mBAAmB,EAAE,iCAAiC,CAAC;SAC9D,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,MAAM,oBAAoB,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/secrets/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAW,MAAM,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,MAAM,UAAU,uBAAuB,CAAC,OAAgB;IACtD,MAAM,OAAO,GAAG,OAAO;SACpB,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,+BAA+B,CAAC,CAAC;IAEhD,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,mDAAmD,CAAC;SAChE,kBAAkB,CAAC,IAAI,CAAC;SACxB,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC3B,oCAAoC;QACpC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QACtB,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,eAAe,CAAC;SACxB,WAAW,CAAC,mFAAmF,CAAC;SAChG,MAAM,CAAC,aAAa,EAAE,wDAAwD,CAAC;SAC/E,MAAM,CAAC,OAAO,EAAE,+CAA+C,CAAC;SAChE,MAAM,CAAC,eAAe,EAAE,yCAAyC,CAAC;SAClE,MAAM,CAAC,iBAAiB,EAAE,wCAAwC,CAAC;SACnE,SAAS,CAAC,IAAI,MAAM,CAAC,iBAAiB,EAAE,8BAA8B,CAAC,CAAC,QAAQ,EAAE,CAAC;SACnF,MAAM,CAAC,mBAAmB,EAAE,iCAAiC,CAAC;SAC9D,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QAC9B,MAAM,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,mBAAmB,CAAC;SAC5B,WAAW,CACV,uOAAuO,CACxO;SACA,MAAM,CAAC,WAAW,EAAE,wCAAwC,CAAC;SAC7D,MAAM,CAAC,iBAAiB,EAAE,wCAAwC,CAAC;SACnE,SAAS,CAAC,IAAI,MAAM,CAAC,iBAAiB,EAAE,8BAA8B,CAAC,CAAC,QAAQ,EAAE,CAAC;SACnF,MAAM,CAAC,mBAAmB,EAAE,iCAAiC,CAAC;SAC9D,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QAC9B,MAAM,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,gBAAgB,CAAC;SACzB,WAAW,CAAC,2DAA2D,CAAC;SACxE,MAAM,CAAC,SAAS,EAAE,oCAAoC,CAAC;SACvD,MAAM,CAAC,WAAW,EAAE,4CAA4C,CAAC;SACjE,MAAM,CAAC,iBAAiB,EAAE,wCAAwC,CAAC;SACnE,SAAS,CAAC,IAAI,MAAM,CAAC,iBAAiB,EAAE,8BAA8B,CAAC,CAAC,QAAQ,EAAE,CAAC;SACnF,MAAM,CAAC,mBAAmB,EAAE,iCAAiC,CAAC;SAC9D,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,MAAM,oBAAoB,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * mesh secrets reindex — Rebuild a keyed external service's instance index.
3
+ *
4
+ * The instance index (`{secretPrefix}/.index`) is what `listInstances()`
5
+ * reads, and it is only as correct as its writers: `mesh secrets set --key`
6
+ * and the Hub maintain it as they create and delete instance secrets, but a
7
+ * per-key secret created or deleted OUT OF BAND (the AWS console, a raw SDK
8
+ * call) leaves it stale — the instance exists but is invisible, or is listed
9
+ * but gone. This command is the repair: it scans the real per-key secrets
10
+ * under the prefix with `secretsmanager:ListSecrets` (an operator-credential
11
+ * call — pods cannot make it, which is why the index exists at all) and
12
+ * rewrites the index to match.
13
+ *
14
+ * Usage:
15
+ * mesh secrets reindex external/symitar
16
+ * mesh secrets reindex external/symitar --dry-run
17
+ *
18
+ * The command detects tenant/stage from Pulumi config in the current
19
+ * directory, like `mesh secrets set`.
20
+ */
21
+ import { SecretsManagerClient } from "@aws-sdk/client-secrets-manager";
22
+ /**
23
+ * Scan the per-key secrets actually present under the prefix. Uses the shared
24
+ * `instanceKeyFromSecretName` filter, so "which secrets are instances" cannot
25
+ * drift from what `mesh secrets set` and the Hub consider an instance.
26
+ */
27
+ export declare function scanInstanceKeys(client: SecretsManagerClient, secretPrefix: string): Promise<string[]>;
28
+ /**
29
+ * Whether the index can be left untouched. A malformed index never counts as
30
+ * matching — even when the diff is empty (zero per-key secrets): the whole
31
+ * point of the repair is to leave a well-formed index behind.
32
+ */
33
+ export declare function indexAlreadyMatches(missing: string[], stale: string[], indexExists: boolean, malformed: boolean): boolean;
34
+ export declare function reindexCommand(servicePath: string | undefined, opts: {
35
+ stack?: string;
36
+ stage?: string;
37
+ region?: string;
38
+ dryRun?: boolean;
39
+ }): Promise<void>;
40
+ /**
41
+ * Write the canonical index value for `keys`, creating the index secret when
42
+ * it does not exist. The create path warns that the secret is not
43
+ * stack-managed: the declaring stack also declares it, and created here
44
+ * first it is not in the stack's state, so the stack's next deploy fails on
45
+ * the name collision until the secret is imported or deleted.
46
+ */
47
+ export declare function writeInstanceIndex(client: SecretsManagerClient, secretPrefix: string, serviceName: string, keys: string[]): Promise<void>;
48
+ //# sourceMappingURL=reindex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reindex.d.ts","sourceRoot":"","sources":["../../../../src/commands/secrets/reindex.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,EACL,oBAAoB,EAKrB,MAAM,iCAAiC,CAAC;AAgBzC;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,oBAAoB,EAC5B,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,EAAE,CAAC,CAiBnB;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EAAE,EACjB,KAAK,EAAE,MAAM,EAAE,EACf,WAAW,EAAE,OAAO,EACpB,SAAS,EAAE,OAAO,GACjB,OAAO,CAET;AAED,wBAAsB,cAAc,CAClC,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,IAAI,EAAE;IACJ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,GACA,OAAO,CAAC,IAAI,CAAC,CA+Ef;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,oBAAoB,EAC5B,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EAAE,GACb,OAAO,CAAC,IAAI,CAAC,CA0Bf"}
@@ -0,0 +1,157 @@
1
+ /**
2
+ * mesh secrets reindex — Rebuild a keyed external service's instance index.
3
+ *
4
+ * The instance index (`{secretPrefix}/.index`) is what `listInstances()`
5
+ * reads, and it is only as correct as its writers: `mesh secrets set --key`
6
+ * and the Hub maintain it as they create and delete instance secrets, but a
7
+ * per-key secret created or deleted OUT OF BAND (the AWS console, a raw SDK
8
+ * call) leaves it stale — the instance exists but is invisible, or is listed
9
+ * but gone. This command is the repair: it scans the real per-key secrets
10
+ * under the prefix with `secretsmanager:ListSecrets` (an operator-credential
11
+ * call — pods cannot make it, which is why the index exists at all) and
12
+ * rewrites the index to match.
13
+ *
14
+ * Usage:
15
+ * mesh secrets reindex external/symitar
16
+ * mesh secrets reindex external/symitar --dry-run
17
+ *
18
+ * The command detects tenant/stage from Pulumi config in the current
19
+ * directory, like `mesh secrets set`.
20
+ */
21
+ import { SSMClient } from "@aws-sdk/client-ssm";
22
+ import { SecretsManagerClient, ListSecretsCommand, GetSecretValueCommand, PutSecretValueCommand, CreateSecretCommand, } from "@aws-sdk/client-secrets-manager";
23
+ import { buildInstanceIndexValue, instanceIndexSecretId, instanceKeyFromSecretName, parseInstanceIndex, } from "@mesh-tech/secrets";
24
+ import { detectContext } from "../../utils/context.js";
25
+ import { logInfo, logSuccess, logError } from "../../utils/log.js";
26
+ import { resolveStackOption } from "../../utils/stack-flag.js";
27
+ import { discoverExternalServices, ensureAwsCredentialsForStack, isResourceNotFound, } from "./set.js";
28
+ /**
29
+ * Scan the per-key secrets actually present under the prefix. Uses the shared
30
+ * `instanceKeyFromSecretName` filter, so "which secrets are instances" cannot
31
+ * drift from what `mesh secrets set` and the Hub consider an instance.
32
+ */
33
+ export async function scanInstanceKeys(client, secretPrefix) {
34
+ const keys = [];
35
+ let nextToken;
36
+ do {
37
+ const response = await client.send(new ListSecretsCommand({
38
+ Filters: [{ Key: "name", Values: [`${secretPrefix}/`] }],
39
+ NextToken: nextToken,
40
+ }));
41
+ for (const secret of response.SecretList ?? []) {
42
+ const key = secret.Name ? instanceKeyFromSecretName(secretPrefix, secret.Name) : null;
43
+ if (key)
44
+ keys.push(key);
45
+ }
46
+ nextToken = response.NextToken;
47
+ } while (nextToken);
48
+ return keys;
49
+ }
50
+ /**
51
+ * Whether the index can be left untouched. A malformed index never counts as
52
+ * matching — even when the diff is empty (zero per-key secrets): the whole
53
+ * point of the repair is to leave a well-formed index behind.
54
+ */
55
+ export function indexAlreadyMatches(missing, stale, indexExists, malformed) {
56
+ return missing.length === 0 && stale.length === 0 && indexExists && !malformed;
57
+ }
58
+ export async function reindexCommand(servicePath, opts) {
59
+ const stackOpt = resolveStackOption(opts);
60
+ const context = detectContext(stackOpt);
61
+ const region = opts.region ?? process.env.AWS_REGION ?? "us-east-2";
62
+ await ensureAwsCredentialsForStack(stackOpt ?? context.stage);
63
+ const ssmClient = new SSMClient({ region });
64
+ const smClient = new SecretsManagerClient({ region });
65
+ const services = await discoverExternalServices(ssmClient, context.tenant, context.platformEnv);
66
+ const serviceName = servicePath?.replace(/^external\//, "");
67
+ if (!serviceName || !services.has(serviceName)) {
68
+ if (serviceName) {
69
+ logError(`External service "${serviceName}" not found.`);
70
+ }
71
+ const keyed = [...services.entries()].filter(([, s]) => s.schema?.keyedBy);
72
+ console.error("\nMulti-instance external services:");
73
+ for (const [name, svc] of keyed) {
74
+ console.error(` ${name} (keyed by ${svc.schema.keyedBy})`);
75
+ }
76
+ if (keyed.length === 0)
77
+ console.error(" (none)");
78
+ console.error(`\nUsage: mesh secrets reindex external/<name>`);
79
+ process.exit(serviceName ? 1 : 0);
80
+ }
81
+ const svc = services.get(serviceName);
82
+ if (!svc.schema?.keyedBy) {
83
+ logError(`"${serviceName}" is single-instance (no keyedBy) — it has no instance index.`);
84
+ process.exit(1);
85
+ }
86
+ const secretPrefix = svc.meta.secretPrefix;
87
+ const indexId = instanceIndexSecretId(secretPrefix);
88
+ // What the account actually holds vs what the index claims.
89
+ const actual = [...new Set(await scanInstanceKeys(smClient, secretPrefix))].sort();
90
+ let listed = [];
91
+ let indexExists = true;
92
+ let malformed = false;
93
+ try {
94
+ const res = await smClient.send(new GetSecretValueCommand({ SecretId: indexId }));
95
+ try {
96
+ listed = parseInstanceIndex(res.SecretString ?? "");
97
+ }
98
+ catch {
99
+ malformed = true;
100
+ logInfo(`Existing index at ${indexId} is malformed — rebuilding from scratch.`);
101
+ }
102
+ }
103
+ catch (err) {
104
+ if (!isResourceNotFound(err))
105
+ throw err;
106
+ indexExists = false;
107
+ logInfo(`No index at ${indexId} yet — it will be created.`);
108
+ }
109
+ const missing = actual.filter((k) => !listed.includes(k));
110
+ const stale = listed.filter((k) => !actual.includes(k));
111
+ logInfo(`Instances in Secrets Manager: ${actual.length ? actual.join(", ") : "(none)"}`);
112
+ if (missing.length > 0)
113
+ logInfo(`Missing from index: ${missing.join(", ")}`);
114
+ if (stale.length > 0)
115
+ logInfo(`Stale in index (secret gone): ${stale.join(", ")}`);
116
+ if (indexAlreadyMatches(missing, stale, indexExists, malformed)) {
117
+ logSuccess(`Index at ${indexId} already matches — nothing to do.`);
118
+ return;
119
+ }
120
+ if (opts.dryRun) {
121
+ logInfo(`Dry run — would write ${indexId} with ${actual.length} instance(s).`);
122
+ return;
123
+ }
124
+ await writeInstanceIndex(smClient, secretPrefix, serviceName, actual);
125
+ logSuccess(`Index rebuilt: ${indexId} now lists ${actual.length} instance(s).`);
126
+ }
127
+ /**
128
+ * Write the canonical index value for `keys`, creating the index secret when
129
+ * it does not exist. The create path warns that the secret is not
130
+ * stack-managed: the declaring stack also declares it, and created here
131
+ * first it is not in the stack's state, so the stack's next deploy fails on
132
+ * the name collision until the secret is imported or deleted.
133
+ */
134
+ export async function writeInstanceIndex(client, secretPrefix, serviceName, keys) {
135
+ const indexId = instanceIndexSecretId(secretPrefix);
136
+ const secretString = buildInstanceIndexValue(keys);
137
+ try {
138
+ await client.send(new PutSecretValueCommand({ SecretId: indexId, SecretString: secretString }));
139
+ }
140
+ catch (err) {
141
+ if (!isResourceNotFound(err))
142
+ throw err;
143
+ await client.send(new CreateSecretCommand({
144
+ Name: indexId,
145
+ Description: `Instance-key index for ${serviceName} (read by listInstances(); maintained by mesh secrets set/reindex and the Hub)`,
146
+ SecretString: secretString,
147
+ Tags: [
148
+ { Key: "mesh:type", Value: "external-service-index" },
149
+ { Key: "mesh:service", Value: serviceName },
150
+ ],
151
+ }));
152
+ logInfo(`Created ${indexId} OUT OF BAND — the declaring stack does not manage it. ` +
153
+ `Deploy the declaring stack BEFORE reindex next time, or import this ` +
154
+ `secret into the stack before its next deploy.`);
155
+ }
156
+ }
157
+ //# sourceMappingURL=reindex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reindex.js","sourceRoot":"","sources":["../../../../src/commands/secrets/reindex.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,50 @@
15
15
  *
16
16
  * The command detects tenant/stage from Pulumi config in the current directory.
17
17
  */
18
+ import { SSMClient } from "@aws-sdk/client-ssm";
19
+ import { SecretsManagerClient } from "@aws-sdk/client-secrets-manager";
20
+ /**
21
+ * Ensure AWS credentials are available for the SSM/Secrets Manager calls. If the
22
+ * environment has none, assume the stack's `mesh:deployerRole` — which triggers
23
+ * `mesh login` automatically when there's no active session. No-op when
24
+ * credentials are already present or the stack/role can't be resolved.
25
+ *
26
+ * The stack is the locally-detected stage (from the `Pulumi.<stage>.yaml`
27
+ * filename) — NOT `pulumi stack --show-name`, which would itself need creds to
28
+ * read the backend (the chicken-and-egg this is meant to avoid).
29
+ */
30
+ export declare function ensureAwsCredentialsForStack(stack: string | undefined): Promise<void>;
31
+ /** Leaf field in the credential schema */
32
+ interface SchemaField {
33
+ type: "field";
34
+ name: string;
35
+ description: string;
36
+ secret: boolean;
37
+ optional: boolean;
38
+ }
39
+ /** Group of fields (may nest further) */
40
+ interface SchemaGroup {
41
+ type: "group";
42
+ name: string;
43
+ description: string;
44
+ fields: Record<string, SchemaField | SchemaGroup>;
45
+ }
46
+ /** A schema entry is either a leaf field or a nested group */
47
+ type SchemaEntry = SchemaField | SchemaGroup;
48
+ export interface CredentialSchema {
49
+ fields: Record<string, SchemaEntry>;
50
+ keyedBy: string | null;
51
+ }
52
+ export interface ExternalServiceMeta {
53
+ name: string;
54
+ type: string;
55
+ description: string;
56
+ secretPrefix: string;
57
+ }
58
+ export declare function discoverExternalServices(ssmClient: SSMClient, tenant: string, platformEnv: string): Promise<Map<string, {
59
+ meta: ExternalServiceMeta;
60
+ schema?: CredentialSchema;
61
+ }>>;
18
62
  export declare function setCommand(servicePath: string | undefined, opts: {
19
63
  key?: string;
20
64
  all?: boolean;
@@ -23,4 +67,23 @@ export declare function setCommand(servicePath: string | undefined, opts: {
23
67
  stage?: string;
24
68
  region?: string;
25
69
  }): Promise<void>;
70
+ export declare function isResourceNotFound(err: unknown): boolean;
71
+ /**
72
+ * Add an instance key to the service's instance index at
73
+ * `{secretPrefix}/.index` — the list `listInstances()` reads. Read-modify-
74
+ * write: a MISSING index is created from just this key (the deploy normally
75
+ * seeds an empty one), an already-listed key is a no-op. A MALFORMED index
76
+ * is deliberately left alone (warn only): rebuilding it from just this key
77
+ * would silently drop the rest of the fleet from the list, so the full
78
+ * repair belongs to `mesh secrets reindex`. The read-modify-write itself is
79
+ * unguarded — Secrets Manager has no conditional put — so two concurrent
80
+ * writers to the same service can drop a key; same repair.
81
+ *
82
+ * Non-fatal by design, like the `.config` mirror: the credential itself is
83
+ * already written, so failing the whole command here would report a write
84
+ * that succeeded as failed. The cost of skipping is an instance invisible to
85
+ * `listInstances()` until repaired — the warning names the repair.
86
+ */
87
+ export declare function addKeyToInstanceIndex(client: SecretsManagerClient, secretPrefix: string, key: string, serviceName: string): Promise<void>;
88
+ export {};
26
89
  //# sourceMappingURL=set.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"set.d.ts","sourceRoot":"","sources":["../../../../src/commands/secrets/set.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AA4RH,wBAAsB,UAAU,CAC9B,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,IAAI,EAAE;IACJ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GACA,OAAO,CAAC,IAAI,CAAC,CA6Hf"}
1
+ {"version":3,"file":"set.d.ts","sourceRoot":"","sources":["../../../../src/commands/secrets/set.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EACL,SAAS,EAEV,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,oBAAoB,EAIrB,MAAM,iCAAiC,CAAC;AAezC;;;;;;;;;GASG;AACH,wBAAsB,4BAA4B,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAY3F;AAMD,0CAA0C;AAC1C,UAAU,WAAW;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,yCAAyC;AACzC,UAAU,WAAW;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,CAAC,CAAC;CACnD;AAED,8DAA8D;AAC9D,KAAK,WAAW,GAAG,WAAW,GAAG,WAAW,CAAC;AAE7C,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACpC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB;AA2CD,wBAAsB,wBAAwB,CAC5C,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,MAAM,CAAC,EAAE,gBAAgB,CAAA;CAAE,CAAC,CAAC,CAwDhF;AAuGD,wBAAsB,UAAU,CAC9B,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,IAAI,EAAE;IACJ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GACA,OAAO,CAAC,IAAI,CAAC,CA6If;AAMD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAgBxD;AAsFD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,oBAAoB,EAC5B,YAAY,EAAE,MAAM,EACpB,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CA8Cf"}