@geekmidas/cli 10.0.0-alpha.89 → 10.0.0-alpha.90

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 (87) hide show
  1. package/dist/{GoDaddyProvider--36rw8cP.mjs → GoDaddyProvider-DSStJVAv.mjs} +2 -2
  2. package/dist/{GoDaddyProvider--36rw8cP.mjs.map → GoDaddyProvider-DSStJVAv.mjs.map} +1 -1
  3. package/dist/{GoDaddyProvider-DnRor066.cjs → GoDaddyProvider-DqZ1qD_F.cjs} +2 -2
  4. package/dist/{GoDaddyProvider-DnRor066.cjs.map → GoDaddyProvider-DqZ1qD_F.cjs.map} +1 -1
  5. package/dist/{LegacyStateStore-BaBoYl59.cjs → LegacyStateStore-DXmNA7hy.cjs} +2 -2
  6. package/dist/{LegacyStateStore-BaBoYl59.cjs.map → LegacyStateStore-DXmNA7hy.cjs.map} +1 -1
  7. package/dist/{LegacyStateStore-CO7bzJCU.mjs → LegacyStateStore-ZkdmiUFZ.mjs} +2 -2
  8. package/dist/{LegacyStateStore-CO7bzJCU.mjs.map → LegacyStateStore-ZkdmiUFZ.mjs.map} +1 -1
  9. package/dist/{LocalStateStore-CUWh2BWU.cjs → LocalStateStore-BBeTlRTH.cjs} +2 -2
  10. package/dist/{LocalStateStore-CUWh2BWU.cjs.map → LocalStateStore-BBeTlRTH.cjs.map} +1 -1
  11. package/dist/{LocalStateStore-C_hYDv6I.mjs → LocalStateStore-CU-O0SBp.mjs} +2 -2
  12. package/dist/{LocalStateStore-C_hYDv6I.mjs.map → LocalStateStore-CU-O0SBp.mjs.map} +1 -1
  13. package/dist/{S3StateStore-O8EYfjfG.cjs → S3StateStore-Br8VMY22.cjs} +2 -2
  14. package/dist/{S3StateStore-O8EYfjfG.cjs.map → S3StateStore-Br8VMY22.cjs.map} +1 -1
  15. package/dist/{S3StateStore-hIm8Rrmu.mjs → S3StateStore-bwxcI_wQ.mjs} +2 -2
  16. package/dist/{S3StateStore-hIm8Rrmu.mjs.map → S3StateStore-bwxcI_wQ.mjs.map} +1 -1
  17. package/dist/{SSMStateStore-IvcjTk8h.mjs → SSMStateStore-CsOS0W1y.mjs} +2 -2
  18. package/dist/{SSMStateStore-IvcjTk8h.mjs.map → SSMStateStore-CsOS0W1y.mjs.map} +1 -1
  19. package/dist/{SSMStateStore-DIzbiqCz.cjs → SSMStateStore-DoZE1Wi1.cjs} +2 -2
  20. package/dist/{SSMStateStore-DIzbiqCz.cjs.map → SSMStateStore-DoZE1Wi1.cjs.map} +1 -1
  21. package/dist/{add-C9qX4Juc.cjs → add-CNMF0Q3m.cjs} +2 -2
  22. package/dist/{add-C9qX4Juc.cjs.map → add-CNMF0Q3m.cjs.map} +1 -1
  23. package/dist/{add-v3tCbrpE.mjs → add-DHk1roh_.mjs} +2 -2
  24. package/dist/{add-v3tCbrpE.mjs.map → add-DHk1roh_.mjs.map} +1 -1
  25. package/dist/{bundler-C4NmpRTD.cjs → bundler-BQJiB7Ub.cjs} +3 -3
  26. package/dist/{bundler-C4NmpRTD.cjs.map → bundler-BQJiB7Ub.cjs.map} +1 -1
  27. package/dist/{bundler-C_fCgcVO.mjs → bundler-D6eBfVkl.mjs} +3 -3
  28. package/dist/{bundler-C_fCgcVO.mjs.map → bundler-D6eBfVkl.mjs.map} +1 -1
  29. package/dist/{cli-C85Dut8K.cjs → cli-BE9mqeX8.cjs} +2 -2
  30. package/dist/{cli-C85Dut8K.cjs.map → cli-BE9mqeX8.cjs.map} +1 -1
  31. package/dist/{cli-REdO9X5b.mjs → cli-DD-Yk-I5.mjs} +2 -2
  32. package/dist/{cli-REdO9X5b.mjs.map → cli-DD-Yk-I5.mjs.map} +1 -1
  33. package/dist/{compose-Dn0oAgQ0.mjs → compose-Bhmf0n4o.mjs} +2 -2
  34. package/dist/{compose-Dn0oAgQ0.mjs.map → compose-Bhmf0n4o.mjs.map} +1 -1
  35. package/dist/{compose-BvrhDwJ6.cjs → compose-CvpU6ooi.cjs} +2 -2
  36. package/dist/{compose-BvrhDwJ6.cjs.map → compose-CvpU6ooi.cjs.map} +1 -1
  37. package/dist/deploy/public.cjs +5 -5
  38. package/dist/deploy/public.mjs +5 -5
  39. package/dist/{deploy-DbBGo3a6.cjs → deploy-CuHasEA4.cjs} +3 -3
  40. package/dist/{deploy-DbBGo3a6.cjs.map → deploy-CuHasEA4.cjs.map} +1 -1
  41. package/dist/{deploy-BaERRh0Q.mjs → deploy-QNtx_eWR.mjs} +3 -3
  42. package/dist/{deploy-BaERRh0Q.mjs.map → deploy-QNtx_eWR.mjs.map} +1 -1
  43. package/dist/{dokploy-CMmD_ddX.mjs → dokploy-CYcMLh9-.mjs} +2 -2
  44. package/dist/{dokploy-CMmD_ddX.mjs.map → dokploy-CYcMLh9-.mjs.map} +1 -1
  45. package/dist/{dokploy-DwAaKA9B.cjs → dokploy-DIowwyIB.cjs} +2 -2
  46. package/dist/{dokploy-DwAaKA9B.cjs.map → dokploy-DIowwyIB.cjs.map} +1 -1
  47. package/dist/{encryption-BQmhq9_y.mjs → encryption-BrEef7Jk.mjs} +2 -2
  48. package/dist/{encryption-BQmhq9_y.mjs.map → encryption-BrEef7Jk.mjs.map} +1 -1
  49. package/dist/{encryption-BrN_9_CM.cjs → encryption-CjYdUb2s.cjs} +2 -2
  50. package/dist/{encryption-BrN_9_CM.cjs.map → encryption-CjYdUb2s.cjs.map} +1 -1
  51. package/dist/{engine-DILocOOH.mjs → engine-2h4k5ICq.mjs} +2 -2
  52. package/dist/{engine-DILocOOH.mjs.map → engine-2h4k5ICq.mjs.map} +1 -1
  53. package/dist/{engine-DgHoFBMw.cjs → engine-BhJ7ZP9K.cjs} +2 -2
  54. package/dist/{engine-DgHoFBMw.cjs.map → engine-BhJ7ZP9K.cjs.map} +1 -1
  55. package/dist/{github-Bf7pz6AV.cjs → github-B5Bw4HIu.cjs} +2 -2
  56. package/dist/{github-Bf7pz6AV.cjs.map → github-B5Bw4HIu.cjs.map} +1 -1
  57. package/dist/{github-xzg99wz8.mjs → github-BCDF6xVH.mjs} +2 -2
  58. package/dist/{github-xzg99wz8.mjs.map → github-BCDF6xVH.mjs.map} +1 -1
  59. package/dist/index.cjs +89 -46
  60. package/dist/index.cjs.map +1 -1
  61. package/dist/index.mjs +89 -46
  62. package/dist/index.mjs.map +1 -1
  63. package/dist/{migrate-DPF7ZF8M.cjs → migrate-CGaancHY.cjs} +2 -2
  64. package/dist/{migrate-DPF7ZF8M.cjs.map → migrate-CGaancHY.cjs.map} +1 -1
  65. package/dist/{migrate-CpmO5qnl.mjs → migrate-DWZz9kah.mjs} +2 -2
  66. package/dist/{migrate-CpmO5qnl.mjs.map → migrate-DWZz9kah.mjs.map} +1 -1
  67. package/dist/{migrate-CKLJ73OO.mjs → migrate-DbtcuOr_.mjs} +2 -2
  68. package/dist/{migrate-CKLJ73OO.mjs.map → migrate-DbtcuOr_.mjs.map} +1 -1
  69. package/dist/{migrate-7xayVtzL.cjs → migrate-q2YYLJLE.cjs} +2 -2
  70. package/dist/{migrate-7xayVtzL.cjs.map → migrate-q2YYLJLE.cjs.map} +1 -1
  71. package/dist/{resolve-dlKPFNgv.cjs → resolve-Cns0v6dN.cjs} +3 -3
  72. package/dist/{resolve-dlKPFNgv.cjs.map → resolve-Cns0v6dN.cjs.map} +1 -1
  73. package/dist/{resolve-Dv_weZoh.mjs → resolve-DNg0icnh.mjs} +3 -3
  74. package/dist/{resolve-Dv_weZoh.mjs.map → resolve-DNg0icnh.mjs.map} +1 -1
  75. package/dist/{rollback-DpSU2DsD.mjs → rollback-CFrNLmxs.mjs} +3 -3
  76. package/dist/{rollback-DpSU2DsD.mjs.map → rollback-CFrNLmxs.mjs.map} +1 -1
  77. package/dist/{rollback-65VVIdBM.cjs → rollback-UIjS25F1.cjs} +3 -3
  78. package/dist/{rollback-65VVIdBM.cjs.map → rollback-UIjS25F1.cjs.map} +1 -1
  79. package/dist/{seeds-CN6tB-va.cjs → seeds-CkIPFGNO.cjs} +65 -13
  80. package/dist/seeds-CkIPFGNO.cjs.map +1 -0
  81. package/dist/{seeds-perzdN81.mjs → seeds-odfgSCmu.mjs} +65 -13
  82. package/dist/seeds-odfgSCmu.mjs.map +1 -0
  83. package/dist/target/public.cjs +1 -1
  84. package/dist/target/public.mjs +1 -1
  85. package/package.json +15 -15
  86. package/dist/seeds-CN6tB-va.cjs.map +0 -1
  87. package/dist/seeds-perzdN81.mjs.map +0 -1
package/dist/index.cjs CHANGED
@@ -6,7 +6,7 @@ const require_discover = require("./discover-D1It5r_h.cjs");
6
6
  const require_derive = require("./derive-DAbo49sm.cjs");
7
7
  const require_workspace = require("./workspace-CwW3Gkru.cjs");
8
8
  const require_config = require("./config.cjs");
9
- const require_seeds = require("./seeds-CN6tB-va.cjs");
9
+ const require_seeds = require("./seeds-CkIPFGNO.cjs");
10
10
  const require_EndpointGenerator = require("./EndpointGenerator-CwLjBCFE.cjs");
11
11
  const require_openapi = require("./openapi.cjs");
12
12
  const require_SubscriberGenerator = require("./SubscriberGenerator-BVn7cQ-2.cjs");
@@ -15,10 +15,10 @@ const require_drivers = require("./drivers-LYSdQDmd.cjs");
15
15
  const require_emit = require("./emit-Dmc1nvdS.cjs");
16
16
  const require_local = require("./local-BjxDfPvy.cjs");
17
17
  const require_sniffer = require("./sniffer-IAQEpsQb.cjs");
18
- const require_deploy = require("./deploy-DbBGo3a6.cjs");
19
- const require_compose = require("./compose-BvrhDwJ6.cjs");
18
+ const require_deploy = require("./deploy-CuHasEA4.cjs");
19
+ const require_compose = require("./compose-CvpU6ooi.cjs");
20
20
  const require_credentialSchemas = require("./credentialSchemas-DCR4Wd1W.cjs");
21
- const require_LocalStateStore = require("./LocalStateStore-CUWh2BWU.cjs");
21
+ const require_LocalStateStore = require("./LocalStateStore-BBeTlRTH.cjs");
22
22
  const require_utils = require("./utils-D2Nk1Nv2.cjs");
23
23
  const require_ready = require("./ready-BpNbORRB.cjs");
24
24
  let node_path = require("node:path");
@@ -53,7 +53,7 @@ crypto = require_rolldown_runtime.__toESM(crypto, 1);
53
53
  let _geekmidas_constructs_functions = require("@geekmidas/constructs/functions");
54
54
  let _geekmidas_constructs_topic = require("@geekmidas/constructs/topic");
55
55
  //#region package.json
56
- var version = "10.0.0-alpha.89";
56
+ var version = "10.0.0-alpha.90";
57
57
  //#endregion
58
58
  //#region src/prompt.ts
59
59
  /**
@@ -2330,9 +2330,9 @@ async function workspaceDevCommand(configured, options) {
2330
2330
  for (const { id, port } of fakes) logger$5.log(`🎭 ${id} fake: http://localhost:${port}`);
2331
2331
  logger$5.log(options.migrate || options.seed ? "🗄️ Migrating the databases" : "🗄️ Checking for pending migrations");
2332
2332
  if (options.migrate || options.seed) {
2333
- const { prepareDevDatabases } = await Promise.resolve().then(() => require("./migrate-7xayVtzL.cjs"));
2333
+ const { prepareDevDatabases } = await Promise.resolve().then(() => require("./migrate-q2YYLJLE.cjs"));
2334
2334
  await prepareDevDatabases(workspace, reconciled.env, { seed: !!options.seed });
2335
- } else await Promise.resolve().then(() => require("./migrate-7xayVtzL.cjs")).then(({ reportPendingMigrations }) => reportPendingMigrations(workspace, reconciled.env)).catch((error) => {
2335
+ } else await Promise.resolve().then(() => require("./migrate-q2YYLJLE.cjs")).then(({ reportPendingMigrations }) => reportPendingMigrations(workspace, reconciled.env)).catch((error) => {
2336
2336
  logger$5.log(`⚠️ Could not check for pending migrations: ${error instanceof Error ? error.message : String(error)}`);
2337
2337
  });
2338
2338
  const appUrls = {};
@@ -3385,7 +3385,7 @@ async function buildApp(input) {
3385
3385
  ...production,
3386
3386
  ...telemetry ? { telemetry } : {}
3387
3387
  });
3388
- const { bundleServer } = await Promise.resolve().then(() => require("./bundler-C4NmpRTD.cjs"));
3388
+ const { bundleServer } = await Promise.resolve().then(() => require("./bundler-BQJiB7Ub.cjs"));
3389
3389
  await bundleServer({
3390
3390
  entryPoint,
3391
3391
  outputDir: (0, node_path.join)(outputDir, "dist"),
@@ -3530,7 +3530,7 @@ async function buildWorkers(input) {
3530
3530
  });
3531
3531
  logger$4.log(`Generated worker ${worker.id}: ${crons.length} crons, ${queues.length} queues, ${subscribers.length} subscribers`);
3532
3532
  if (!input.bundle) continue;
3533
- const { bundleServer } = await Promise.resolve().then(() => require("./bundler-C4NmpRTD.cjs"));
3533
+ const { bundleServer } = await Promise.resolve().then(() => require("./bundler-BQJiB7Ub.cjs"));
3534
3534
  const outfile = require_seeds.workerBundleName(worker.id);
3535
3535
  await bundleServer({
3536
3536
  entryPoint,
@@ -3616,7 +3616,7 @@ async function buildForTarget(target, context, appRoot, workspaceRoot, endpointG
3616
3616
  let masterKey;
3617
3617
  if (context.production?.bundle && !skipBundle) {
3618
3618
  logger$4.log(`\n📦 Bundling production server...`);
3619
- const { bundleServer } = await Promise.resolve().then(() => require("./bundler-C4NmpRTD.cjs"));
3619
+ const { bundleServer } = await Promise.resolve().then(() => require("./bundler-BQJiB7Ub.cjs"));
3620
3620
  const allConstructs = [
3621
3621
  ...endpoints.map((e) => e.construct),
3622
3622
  ...functions.map((f) => f.construct),
@@ -5318,25 +5318,25 @@ function loadPackageJson() {
5318
5318
  * Run: pnpm --filter @geekmidas/cli sync-versions
5319
5319
  */
5320
5320
  const GEEKMIDAS_VERSIONS = {
5321
- "@geekmidas/audit": "~10.0.0-alpha.89",
5322
- "@geekmidas/auth": "~10.0.0-alpha.89",
5323
- "@geekmidas/cache": "~10.0.0-alpha.89",
5324
- "@geekmidas/client": "~10.0.0-alpha.89",
5325
- "@geekmidas/cloud": "~10.0.0-alpha.89",
5326
- "@geekmidas/constructs": "~10.0.0-alpha.89",
5327
- "@geekmidas/db": "~10.0.0-alpha.89",
5328
- "@geekmidas/emailkit": "~10.0.0-alpha.89",
5329
- "@geekmidas/envkit": "~10.0.0-alpha.89",
5330
- "@geekmidas/errors": "~10.0.0-alpha.89",
5331
- "@geekmidas/events": "~10.0.0-alpha.89",
5332
- "@geekmidas/logger": "~10.0.0-alpha.89",
5333
- "@geekmidas/manifest": "~10.0.0-alpha.89",
5334
- "@geekmidas/rate-limit": "~10.0.0-alpha.89",
5335
- "@geekmidas/schema": "~10.0.0-alpha.89",
5336
- "@geekmidas/services": "~10.0.0-alpha.89",
5337
- "@geekmidas/storage": "~10.0.0-alpha.89",
5338
- "@geekmidas/telescope": "~10.0.0-alpha.89",
5339
- "@geekmidas/testkit": "~10.0.0-alpha.89",
5321
+ "@geekmidas/audit": "~10.0.0-alpha.90",
5322
+ "@geekmidas/auth": "~10.0.0-alpha.90",
5323
+ "@geekmidas/cache": "~10.0.0-alpha.90",
5324
+ "@geekmidas/client": "~10.0.0-alpha.90",
5325
+ "@geekmidas/cloud": "~10.0.0-alpha.90",
5326
+ "@geekmidas/constructs": "~10.0.0-alpha.90",
5327
+ "@geekmidas/db": "~10.0.0-alpha.90",
5328
+ "@geekmidas/emailkit": "~10.0.0-alpha.90",
5329
+ "@geekmidas/envkit": "~10.0.0-alpha.90",
5330
+ "@geekmidas/errors": "~10.0.0-alpha.90",
5331
+ "@geekmidas/events": "~10.0.0-alpha.90",
5332
+ "@geekmidas/logger": "~10.0.0-alpha.90",
5333
+ "@geekmidas/manifest": "~10.0.0-alpha.90",
5334
+ "@geekmidas/rate-limit": "~10.0.0-alpha.90",
5335
+ "@geekmidas/schema": "~10.0.0-alpha.90",
5336
+ "@geekmidas/services": "~10.0.0-alpha.90",
5337
+ "@geekmidas/storage": "~10.0.0-alpha.90",
5338
+ "@geekmidas/telescope": "~10.0.0-alpha.90",
5339
+ "@geekmidas/testkit": "~10.0.0-alpha.90",
5340
5340
  "@geekmidas/cli": `~${loadPackageJson().version}`
5341
5341
  };
5342
5342
  //#endregion
@@ -5737,7 +5737,7 @@ const COMMIT = /^[0-9a-f]{40}$/;
5737
5737
  * The `uses:` value for the stages action, with a comment saying which CLI
5738
5738
  * release the pinned commit is.
5739
5739
  */
5740
- function stagesActionUses(commit = "e1be097c3e5909843479a2dcd97f06e952f5b1aa", version = cliVersion()) {
5740
+ function stagesActionUses(commit = "108157b10491802890a494443587d8bbd312f5db", version = cliVersion()) {
5741
5741
  return commit && COMMIT.test(commit) ? `${STAGES_ACTION}@${commit} # @geekmidas/cli ${version}` : `${STAGES_ACTION}@main # pin to a commit SHA: see the action's README`;
5742
5742
  }
5743
5743
  //#endregion
@@ -11055,8 +11055,8 @@ async function composeStageHosts(options) {
11055
11055
  ...options.profile ? { profile: options.profile } : {},
11056
11056
  ...options.home ? { home: options.home } : {}
11057
11057
  })).read(stage);
11058
- const { deployedStackSecrets } = await Promise.resolve().then(() => require("./compose-BvrhDwJ6.cjs")).then((n) => n.secrets_exports);
11059
- const { composeStack } = await Promise.resolve().then(() => require("./compose-BvrhDwJ6.cjs")).then((n) => n.stack_exports);
11058
+ const { deployedStackSecrets } = await Promise.resolve().then(() => require("./compose-CvpU6ooi.cjs")).then((n) => n.secrets_exports);
11059
+ const { composeStack } = await Promise.resolve().then(() => require("./compose-CvpU6ooi.cjs")).then((n) => n.stack_exports);
11060
11060
  const { secrets } = deployedStackSecrets(workspace, stage, stored, manifest);
11061
11061
  const stack = composeStack({
11062
11062
  workspace,
@@ -11150,6 +11150,7 @@ async function provisionStageDns(options) {
11150
11150
  //#endregion
11151
11151
  //#region src/setup/index.ts
11152
11152
  var setup_exports = /* @__PURE__ */ require_rolldown_runtime.__exportAll({
11153
+ StageSecretsUnreadable: () => StageSecretsUnreadable,
11153
11154
  createFreshWorkspaceSecrets: () => createFreshWorkspaceSecrets,
11154
11155
  ensureStageSecrets: () => ensureStageSecrets,
11155
11156
  reconcileSecrets: () => reconcileSecrets,
@@ -11181,7 +11182,7 @@ async function setupCommand(options = {}) {
11181
11182
  logger$1.log(`📦 Workspace: ${workspace.name}`);
11182
11183
  logger$1.log(`📱 Apps: ${Object.keys(workspace.apps).join(", ")}`);
11183
11184
  logger$1.log(`🔑 Stage: ${stage}\n`);
11184
- if (!local) assertStageServer(workspace, stage, await (await require_seeds.secretsStoreFor(workspace, stage, { ...options.profile ? { profile: options.profile } : {} })).read(stage));
11185
+ if (!local) assertStageServer(workspace, stage, await readStageSecrets(await require_seeds.secretsStoreFor(workspace, stage, { ...options.profile ? { profile: options.profile } : {} }), stage, options));
11185
11186
  if (!local && options.dryRun) {
11186
11187
  await provisionDeployed(workspace, stage, options);
11187
11188
  return;
@@ -11200,6 +11201,48 @@ async function setupCommand(options = {}) {
11200
11201
  }
11201
11202
  printSummary(workspace, stage);
11202
11203
  }
11204
+ /** Where each AWS store keeps a stage's secrets, as a person reads it. */
11205
+ const AWS_STORES = {
11206
+ ssm: "SSM Parameter Store",
11207
+ "secrets-manager": "Secrets Manager"
11208
+ };
11209
+ /**
11210
+ * A deployed stage's secrets are kept in its AWS account, and no AWS
11211
+ * credentials were found to read them with.
11212
+ *
11213
+ * Raised before any provider runs: even a dry run reads the stage's secrets,
11214
+ * since its plan needs the server they name (`GKM_SERVER_IPV4`).
11215
+ */
11216
+ var StageSecretsUnreadable = class extends Error {
11217
+ stage;
11218
+ store;
11219
+ profile;
11220
+ dryRun;
11221
+ constructor(stage, store, profile, dryRun, cause) {
11222
+ const where = AWS_STORES[store] ?? `the '${store}' store`;
11223
+ const command = `gkm setup --stage ${stage}${dryRun ? " --dry-run" : ""}`;
11224
+ super(`The '${stage}' stage's secrets are kept in ${where}, in the stage's AWS account, and ` + (profile ? `the AWS profile '${profile}' has no credentials to read them with. Sign in to it (aws sso login --profile ${profile}) or name another: ${command} --profile <profile>.` : `no AWS credentials were found to read them with. Name the account's profile: ${command} --profile <profile>, or AWS_PROFILE=<profile> ${command}.`) + (dryRun ? " A dry run still reads them: its plan needs the server the stage names (GKM_SERVER_IPV4)." : ""), { cause });
11225
+ this.stage = stage;
11226
+ this.store = store;
11227
+ this.profile = profile;
11228
+ this.dryRun = dryRun;
11229
+ this.name = "StageSecretsUnreadable";
11230
+ }
11231
+ };
11232
+ /**
11233
+ * The stage's secrets from its store, refused with
11234
+ * {@link StageSecretsUnreadable} when there are no AWS credentials to read
11235
+ * them — matched by the SDK's error name, its message being free to change.
11236
+ * Any other failure is the store's own, and passes through.
11237
+ */
11238
+ async function readStageSecrets(store, stage, options) {
11239
+ try {
11240
+ return await store.read(stage);
11241
+ } catch (error) {
11242
+ if (error?.name === "CredentialsProviderError") throw new StageSecretsUnreadable(stage, store.name, options.profile, options.dryRun === true, error);
11243
+ throw error;
11244
+ }
11245
+ }
11203
11246
  /**
11204
11247
  * A deployed stage's providers: each one's `ensure()`, in the stage's own
11205
11248
  * account, its keys written into the stage's secrets.
@@ -11579,7 +11622,7 @@ function testDatabases(reconciled) {
11579
11622
  * starts without the reference data the app needs.
11580
11623
  */
11581
11624
  async function migrateTestStage(workspace, env) {
11582
- const { migrateAndSeed } = await Promise.resolve().then(() => require("./migrate-7xayVtzL.cjs"));
11625
+ const { migrateAndSeed } = await Promise.resolve().then(() => require("./migrate-q2YYLJLE.cjs"));
11583
11626
  const { discover } = await Promise.resolve().then(() => require("./discover-D1It5r_h.cjs")).then((n) => n.discover_exports);
11584
11627
  const sources = {};
11585
11628
  const manifest = await discover({
@@ -12023,7 +12066,7 @@ program.command("migrate").description("Apply each database construct's migratio
12023
12066
  try {
12024
12067
  const globalOptions = program.opts();
12025
12068
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
12026
- const { migrateCommand } = await Promise.resolve().then(() => require("./migrate-7xayVtzL.cjs"));
12069
+ const { migrateCommand } = await Promise.resolve().then(() => require("./migrate-q2YYLJLE.cjs"));
12027
12070
  await migrateCommand({
12028
12071
  ...options,
12029
12072
  ...construct ? { construct } : {}
@@ -12037,7 +12080,7 @@ program.command("seed").description("Migrate, then run each database construct's
12037
12080
  try {
12038
12081
  const globalOptions = program.opts();
12039
12082
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
12040
- const { seedCommand } = await Promise.resolve().then(() => require("./migrate-7xayVtzL.cjs"));
12083
+ const { seedCommand } = await Promise.resolve().then(() => require("./migrate-q2YYLJLE.cjs"));
12041
12084
  await seedCommand({
12042
12085
  ...options,
12043
12086
  ...construct ? { construct } : {}
@@ -12051,7 +12094,7 @@ program.command("migration").description("Write a construct's next migration: an
12051
12094
  try {
12052
12095
  const globalOptions = program.opts();
12053
12096
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
12054
- const { migrationCommand } = await Promise.resolve().then(() => require("./migrate-7xayVtzL.cjs"));
12097
+ const { migrationCommand } = await Promise.resolve().then(() => require("./migrate-q2YYLJLE.cjs"));
12055
12098
  await migrationCommand({
12056
12099
  construct,
12057
12100
  ...name ? { name } : {}
@@ -12159,7 +12202,7 @@ program.command("secrets:add").description("Build the keys a stage must be given
12159
12202
  try {
12160
12203
  const globalOptions = program.opts();
12161
12204
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
12162
- const { secretsAddCommand } = await Promise.resolve().then(() => require("./add-C9qX4Juc.cjs"));
12205
+ const { secretsAddCommand } = await Promise.resolve().then(() => require("./add-CNMF0Q3m.cjs"));
12163
12206
  await secretsAddCommand(options);
12164
12207
  } catch (error) {
12165
12208
  console.error(formatError(error));
@@ -12170,7 +12213,7 @@ program.command("encryption:rotate").description("Add a new current key to an En
12170
12213
  try {
12171
12214
  const globalOptions = program.opts();
12172
12215
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
12173
- const { encryptionRotateCommand } = await Promise.resolve().then(() => require("./encryption-BrN_9_CM.cjs"));
12216
+ const { encryptionRotateCommand } = await Promise.resolve().then(() => require("./encryption-CjYdUb2s.cjs"));
12174
12217
  await encryptionRotateCommand(construct, options);
12175
12218
  } catch (error) {
12176
12219
  console.error(formatError(error));
@@ -12181,7 +12224,7 @@ program.command("encryption:retire").description("Remove an old key from an Encr
12181
12224
  try {
12182
12225
  const globalOptions = program.opts();
12183
12226
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
12184
- const { encryptionRetireCommand } = await Promise.resolve().then(() => require("./encryption-BrN_9_CM.cjs"));
12227
+ const { encryptionRetireCommand } = await Promise.resolve().then(() => require("./encryption-CjYdUb2s.cjs"));
12185
12228
  await encryptionRetireCommand(construct, key, options);
12186
12229
  } catch (error) {
12187
12230
  console.error(formatError(error));
@@ -12224,7 +12267,7 @@ program.command("secrets:reconcile").description("Backfill missing custom secret
12224
12267
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
12225
12268
  const { loadWorkspaceConfig } = await Promise.resolve().then(() => require("./config.cjs"));
12226
12269
  const { reconcileMissingSecrets } = await Promise.resolve().then(() => require("./reconcile-CuCQBa5-.cjs"));
12227
- const { secretsStoreFor } = await Promise.resolve().then(() => require("./seeds-CN6tB-va.cjs")).then((n) => n.store_exports);
12270
+ const { secretsStoreFor } = await Promise.resolve().then(() => require("./seeds-CkIPFGNO.cjs")).then((n) => n.store_exports);
12228
12271
  const { workspace } = await loadWorkspaceConfig();
12229
12272
  const stage = options.stage ?? workspace.stages.local;
12230
12273
  const store = await secretsStoreFor(workspace, stage);
@@ -12233,7 +12276,7 @@ program.command("secrets:reconcile").description("Backfill missing custom secret
12233
12276
  console.error(`No secrets found for stage "${stage}". Run "gkm secrets:init --stage ${stage}" first.`);
12234
12277
  process.exit(1);
12235
12278
  }
12236
- const { derivedContainers } = await Promise.resolve().then(() => require("./seeds-CN6tB-va.cjs")).then((n) => n.workspace_exports);
12279
+ const { derivedContainers } = await Promise.resolve().then(() => require("./seeds-CkIPFGNO.cjs")).then((n) => n.workspace_exports);
12237
12280
  const result = reconcileMissingSecrets(secrets, workspace, await derivedContainers(workspace, stage));
12238
12281
  if (!result) {
12239
12282
  console.log(`\n✓ Secrets for stage "${stage}" are up-to-date`);
@@ -12251,7 +12294,7 @@ program.command("secrets:migrate").description("Copy a deployed stage's secrets
12251
12294
  try {
12252
12295
  const globalOptions = program.opts();
12253
12296
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
12254
- const { secretsMigrateCommand } = await Promise.resolve().then(() => require("./migrate-DPF7ZF8M.cjs"));
12297
+ const { secretsMigrateCommand } = await Promise.resolve().then(() => require("./migrate-CGaancHY.cjs"));
12255
12298
  await secretsMigrateCommand(options);
12256
12299
  } catch (error) {
12257
12300
  console.error(formatError(error));
@@ -12259,7 +12302,7 @@ program.command("secrets:migrate").description("Copy a deployed stage's secrets
12259
12302
  }
12260
12303
  });
12261
12304
  program.command("deploy").description("Deploy a stage through its target").option("--target <name>", "Deploy target: dokploy, compose, sst, or one named in deploy.targets (default: deploy.default)").option("--provider <provider>", "[DEPRECATED] Use --target instead").requiredOption("--stage <stage>", "Deployment stage (e.g., production, staging)").option("--tag <tag>", "Image tag (default: stage-timestamp; compose: the commit). Compose pulls a given tag").option("--skip-push", "Skip pushing image to registry").option("--skip-build", "Skip build step (use existing build)").option("--json", "Write events as JSON lines instead of progress; never prompts").option("--dry-run", "Show what would be created or reused; change, build and push nothing").option("--atomic", "If the release fails, roll back every app it released, not only the failed ones").option("--allow-dev-services", "Server targets: run the dev service (MinIO, Mailpit) for every bucket and mail the stage doesn't account for. Not production-grade").option("--skip-dns-check", "Compose: do not check that each public host resolves to GKM_SERVER_IPV4 in the stage secrets before starting (a CDN or proxy in front)").action(async (options) => {
12262
- const { deployCli } = await Promise.resolve().then(() => require("./cli-C85Dut8K.cjs"));
12305
+ const { deployCli } = await Promise.resolve().then(() => require("./cli-BE9mqeX8.cjs"));
12263
12306
  const globalOptions = program.opts();
12264
12307
  const code = await deployCli({
12265
12308
  cwd: (0, node_path.resolve)(globalOptions.cwd ?? process.cwd()),
@@ -12277,7 +12320,7 @@ program.command("deploy").description("Deploy a stage through its target").optio
12277
12320
  });
12278
12321
  program.command("deploy:rollback").description("Put a stage's app back on its previous release (Dokploy): one app with --app, every app with --atomic").requiredOption("--stage <stage>", "A deployed stage").option("--app <app>", "The app to roll back").option("--atomic", "Roll back every app that has an earlier release").action(async (options) => {
12279
12322
  try {
12280
- const { rollbackStage } = await Promise.resolve().then(() => require("./rollback-65VVIdBM.cjs")).then((n) => n.rollback_exports);
12323
+ const { rollbackStage } = await Promise.resolve().then(() => require("./rollback-UIjS25F1.cjs")).then((n) => n.rollback_exports);
12281
12324
  const { terminalCredentials } = await Promise.resolve().then(() => require("./terminal-DuapRxh6.cjs"));
12282
12325
  const globalOptions = program.opts();
12283
12326
  await rollbackStage({
@@ -12313,7 +12356,7 @@ program.command("deploy:github").description("Let GitHub Actions deploy a stage:
12313
12356
  try {
12314
12357
  const globalOptions = program.opts();
12315
12358
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
12316
- const { deployGithubCommand } = await Promise.resolve().then(() => require("./github-Bf7pz6AV.cjs"));
12359
+ const { deployGithubCommand } = await Promise.resolve().then(() => require("./github-B5Bw4HIu.cjs"));
12317
12360
  await deployGithubCommand(options);
12318
12361
  } catch (error) {
12319
12362
  console.error(formatError(error));