@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.mjs CHANGED
@@ -5,7 +5,7 @@ import { l as withOwningTsconfigJsx, r as discover, u as ConstructGenerator } fr
5
5
  import { t as appKey } from "./derive-B4vDpzgP.mjs";
6
6
  import { A as InvalidStages, F as stageProblems, P as deployedProblems, R as stageSampleRate, a as allConstructGlobs, d as getAppGkmConfig, j as TEST_STAGE, u as getAppBuildOrder } from "./workspace-CJ0lKFq-.mjs";
7
7
  import { ConfigNotFound, NotABackendApp, NotInAnApp, loadAppConfig, loadConfig, loadWorkspaceConfig, loadWorkspaceSettings, parseModuleConfig } from "./config.mjs";
8
- import { $n as LOCAL_LOGS_EMAIL, $t as isImageBuild, An as prepareEntryCredentials, Cn as createCredentialsPreload, Dn as loadEnvFiles, Dt as LOCAL_CA_PATH, En as isPortAvailable, Fn as FileSecretsStore, Ft as quoteIdentifier, In as getKeyPath, Mn as secretsStoreFor, Nt as postgresDatabaseNames, On as loadPortState, Ot as forgetState, Qn as withCustomSecret, Qt as imageBuildCredentials, Rn as projectKey, Sn as primaryPortKey, Tn as findAvailablePort, U as createStateStore, Vn as deployIdentity, X as assertDevServicesFlag, Yn as maskPassword, Zn as toEmbeddableSecrets, a as provisionStage, at as WorkerGenerator, ct as QueueGenerator, dn as appTelemetry, dt as backendsOf$1, en as cacheBackendFor, ft as constructGlobs, h as dockerCommand, hn as telemetryOf, in as CLUSTER_DATABASE, it as workerUnits, kn as loadSecretsForApp, lt as CronGenerator, mn as surfaceClientTraced, mt as reconcileWorkspace, nn as providerOf, ot as workerBundleName, pn as scopeTelemetryEnv, pt as derivedContainers, sn as TELEMETRY_CONTAINER, st as workerEntryDir, tn as eventsBackendFor, u as provisionCommand, ut as FAKE_ENV, vn as describeServices, wn as createEntryWrapper, xn as portsOf, yn as fakeKey, yt as readLocalCredentials, zt as pgClient } from "./seeds-perzdN81.mjs";
8
+ import { $n as LOCAL_LOGS_EMAIL, $t as isImageBuild, An as prepareEntryCredentials, Cn as createCredentialsPreload, Dn as loadEnvFiles, Dt as LOCAL_CA_PATH, En as isPortAvailable, Fn as FileSecretsStore, Ft as quoteIdentifier, In as getKeyPath, Mn as secretsStoreFor, Nt as postgresDatabaseNames, On as loadPortState, Ot as forgetState, Qn as withCustomSecret, Qt as imageBuildCredentials, Rn as projectKey, Sn as primaryPortKey, Tn as findAvailablePort, U as createStateStore, Vn as deployIdentity, X as assertDevServicesFlag, Yn as maskPassword, Zn as toEmbeddableSecrets, a as provisionStage, at as WorkerGenerator, ct as QueueGenerator, dn as appTelemetry, dt as backendsOf$1, en as cacheBackendFor, ft as constructGlobs, h as dockerCommand, hn as telemetryOf, in as CLUSTER_DATABASE, it as workerUnits, kn as loadSecretsForApp, lt as CronGenerator, mn as surfaceClientTraced, mt as reconcileWorkspace, nn as providerOf, ot as workerBundleName, pn as scopeTelemetryEnv, pt as derivedContainers, sn as TELEMETRY_CONTAINER, st as workerEntryDir, tn as eventsBackendFor, u as provisionCommand, ut as FAKE_ENV, vn as describeServices, wn as createEntryWrapper, xn as portsOf, yn as fakeKey, yt as readLocalCredentials, zt as pgClient } from "./seeds-odfgSCmu.mjs";
9
9
  import { c as startTelemetryCode, l as telemetryFor, n as runtimeFor, o as mountRequestSpansCode, r as parseTelemetryFlag, s as routeTelemetry, t as EndpointGenerator, u as writeTelemetryModule } from "./EndpointGenerator-CVc6Oi1Y.mjs";
10
10
  import { generateOpenApi, openapiCommand, resolveOpenApiConfig } from "./openapi.mjs";
11
11
  import { s as isCacheBackend, t as SubscriberGenerator } from "./SubscriberGenerator-BPqQf8fB.mjs";
@@ -14,10 +14,10 @@ import { n as driversFor, r as eventsBackendsIn, t as cacheBackendsIn } from "./
14
14
  import { n as withCompute, r as withRoutes, t as manifestModule } from "./emit-C1e8qD08.mjs";
15
15
  import { t as LocalSandbox } from "./local-IuoIF3CT.mjs";
16
16
  import { f as keyFingerprint, n as sniffAppEnvironment, o as DokployApi } from "./sniffer-BTtX3NUM.mjs";
17
- import { t as deploy$1 } from "./deploy-BaERRh0Q.mjs";
18
- import { _ as planStackDns, a as stackOverrideFile, b as serverAddressHint, d as pinnedRef, f as edgeDir, g as applyStackDns, h as dockerCompose, i as ComposePushNeedsBuild, m as EDGE_PROJECT, o as composeProject, p as removeEdgeRoutes, r as ComposePinNeedsPull, s as stackDir, t as composeTarget, u as parseDigests, v as requiredServerAddress, x as stackHosts, y as serverAddress } from "./compose-Dn0oAgQ0.mjs";
17
+ import { t as deploy$1 } from "./deploy-QNtx_eWR.mjs";
18
+ import { _ as planStackDns, a as stackOverrideFile, b as serverAddressHint, d as pinnedRef, f as edgeDir, g as applyStackDns, h as dockerCompose, i as ComposePushNeedsBuild, m as EDGE_PROJECT, o as composeProject, p as removeEdgeRoutes, r as ComposePinNeedsPull, s as stackDir, t as composeTarget, u as parseDigests, v as requiredServerAddress, x as stackHosts, y as serverAddress } from "./compose-Bhmf0n4o.mjs";
19
19
  import { o as loadCredentialSchemas, t as CredentialsInvalid } from "./credentialSchemas-BJqRJNK4.mjs";
20
- import { t as LocalStateStore } from "./LocalStateStore-C_hYDv6I.mjs";
20
+ import { t as LocalStateStore } from "./LocalStateStore-CU-O0SBp.mjs";
21
21
  import { a as getExecCommand, c as validateProjectName, i as findWorkspaceRoot, n as detectPackageManager$1, o as getInstallCommand, r as findWorkspacePackages, s as getRunCommand, t as checkDirectoryExists } from "./utils-D_fxUqvU.mjs";
22
22
  import { a as writeTestHarness, i as TEST_MANIFEST_ENV, n as TEST_READY_FILE, t as TEST_READY_ENV } from "./ready-b6vm0-W-.mjs";
23
23
  import { createRequire } from "node:module";
@@ -47,7 +47,7 @@ import crypto from "crypto";
47
47
  import { Function } from "@geekmidas/constructs/functions";
48
48
  import { Topic } from "@geekmidas/constructs/topic";
49
49
  //#region package.json
50
- var version = "10.0.0-alpha.89";
50
+ var version = "10.0.0-alpha.90";
51
51
  //#endregion
52
52
  //#region src/prompt.ts
53
53
  /**
@@ -2324,9 +2324,9 @@ async function workspaceDevCommand(configured, options) {
2324
2324
  for (const { id, port } of fakes) logger$5.log(`🎭 ${id} fake: http://localhost:${port}`);
2325
2325
  logger$5.log(options.migrate || options.seed ? "🗄️ Migrating the databases" : "🗄️ Checking for pending migrations");
2326
2326
  if (options.migrate || options.seed) {
2327
- const { prepareDevDatabases } = await import("./migrate-CKLJ73OO.mjs");
2327
+ const { prepareDevDatabases } = await import("./migrate-DbtcuOr_.mjs");
2328
2328
  await prepareDevDatabases(workspace, reconciled.env, { seed: !!options.seed });
2329
- } else await import("./migrate-CKLJ73OO.mjs").then(({ reportPendingMigrations }) => reportPendingMigrations(workspace, reconciled.env)).catch((error) => {
2329
+ } else await import("./migrate-DbtcuOr_.mjs").then(({ reportPendingMigrations }) => reportPendingMigrations(workspace, reconciled.env)).catch((error) => {
2330
2330
  logger$5.log(`⚠️ Could not check for pending migrations: ${error instanceof Error ? error.message : String(error)}`);
2331
2331
  });
2332
2332
  const appUrls = {};
@@ -3379,7 +3379,7 @@ async function buildApp(input) {
3379
3379
  ...production,
3380
3380
  ...telemetry ? { telemetry } : {}
3381
3381
  });
3382
- const { bundleServer } = await import("./bundler-C_fCgcVO.mjs");
3382
+ const { bundleServer } = await import("./bundler-D6eBfVkl.mjs");
3383
3383
  await bundleServer({
3384
3384
  entryPoint,
3385
3385
  outputDir: join(outputDir, "dist"),
@@ -3524,7 +3524,7 @@ async function buildWorkers(input) {
3524
3524
  });
3525
3525
  logger$4.log(`Generated worker ${worker.id}: ${crons.length} crons, ${queues.length} queues, ${subscribers.length} subscribers`);
3526
3526
  if (!input.bundle) continue;
3527
- const { bundleServer } = await import("./bundler-C_fCgcVO.mjs");
3527
+ const { bundleServer } = await import("./bundler-D6eBfVkl.mjs");
3528
3528
  const outfile = workerBundleName(worker.id);
3529
3529
  await bundleServer({
3530
3530
  entryPoint,
@@ -3610,7 +3610,7 @@ async function buildForTarget(target, context, appRoot, workspaceRoot, endpointG
3610
3610
  let masterKey;
3611
3611
  if (context.production?.bundle && !skipBundle) {
3612
3612
  logger$4.log(`\n📦 Bundling production server...`);
3613
- const { bundleServer } = await import("./bundler-C_fCgcVO.mjs");
3613
+ const { bundleServer } = await import("./bundler-D6eBfVkl.mjs");
3614
3614
  const allConstructs = [
3615
3615
  ...endpoints.map((e) => e.construct),
3616
3616
  ...functions.map((f) => f.construct),
@@ -5312,25 +5312,25 @@ function loadPackageJson() {
5312
5312
  * Run: pnpm --filter @geekmidas/cli sync-versions
5313
5313
  */
5314
5314
  const GEEKMIDAS_VERSIONS = {
5315
- "@geekmidas/audit": "~10.0.0-alpha.89",
5316
- "@geekmidas/auth": "~10.0.0-alpha.89",
5317
- "@geekmidas/cache": "~10.0.0-alpha.89",
5318
- "@geekmidas/client": "~10.0.0-alpha.89",
5319
- "@geekmidas/cloud": "~10.0.0-alpha.89",
5320
- "@geekmidas/constructs": "~10.0.0-alpha.89",
5321
- "@geekmidas/db": "~10.0.0-alpha.89",
5322
- "@geekmidas/emailkit": "~10.0.0-alpha.89",
5323
- "@geekmidas/envkit": "~10.0.0-alpha.89",
5324
- "@geekmidas/errors": "~10.0.0-alpha.89",
5325
- "@geekmidas/events": "~10.0.0-alpha.89",
5326
- "@geekmidas/logger": "~10.0.0-alpha.89",
5327
- "@geekmidas/manifest": "~10.0.0-alpha.89",
5328
- "@geekmidas/rate-limit": "~10.0.0-alpha.89",
5329
- "@geekmidas/schema": "~10.0.0-alpha.89",
5330
- "@geekmidas/services": "~10.0.0-alpha.89",
5331
- "@geekmidas/storage": "~10.0.0-alpha.89",
5332
- "@geekmidas/telescope": "~10.0.0-alpha.89",
5333
- "@geekmidas/testkit": "~10.0.0-alpha.89",
5315
+ "@geekmidas/audit": "~10.0.0-alpha.90",
5316
+ "@geekmidas/auth": "~10.0.0-alpha.90",
5317
+ "@geekmidas/cache": "~10.0.0-alpha.90",
5318
+ "@geekmidas/client": "~10.0.0-alpha.90",
5319
+ "@geekmidas/cloud": "~10.0.0-alpha.90",
5320
+ "@geekmidas/constructs": "~10.0.0-alpha.90",
5321
+ "@geekmidas/db": "~10.0.0-alpha.90",
5322
+ "@geekmidas/emailkit": "~10.0.0-alpha.90",
5323
+ "@geekmidas/envkit": "~10.0.0-alpha.90",
5324
+ "@geekmidas/errors": "~10.0.0-alpha.90",
5325
+ "@geekmidas/events": "~10.0.0-alpha.90",
5326
+ "@geekmidas/logger": "~10.0.0-alpha.90",
5327
+ "@geekmidas/manifest": "~10.0.0-alpha.90",
5328
+ "@geekmidas/rate-limit": "~10.0.0-alpha.90",
5329
+ "@geekmidas/schema": "~10.0.0-alpha.90",
5330
+ "@geekmidas/services": "~10.0.0-alpha.90",
5331
+ "@geekmidas/storage": "~10.0.0-alpha.90",
5332
+ "@geekmidas/telescope": "~10.0.0-alpha.90",
5333
+ "@geekmidas/testkit": "~10.0.0-alpha.90",
5334
5334
  "@geekmidas/cli": `~${loadPackageJson().version}`
5335
5335
  };
5336
5336
  //#endregion
@@ -5731,7 +5731,7 @@ const COMMIT = /^[0-9a-f]{40}$/;
5731
5731
  * The `uses:` value for the stages action, with a comment saying which CLI
5732
5732
  * release the pinned commit is.
5733
5733
  */
5734
- function stagesActionUses(commit = "e1be097c3e5909843479a2dcd97f06e952f5b1aa", version = cliVersion()) {
5734
+ function stagesActionUses(commit = "108157b10491802890a494443587d8bbd312f5db", version = cliVersion()) {
5735
5735
  return commit && COMMIT.test(commit) ? `${STAGES_ACTION}@${commit} # @geekmidas/cli ${version}` : `${STAGES_ACTION}@main # pin to a commit SHA: see the action's README`;
5736
5736
  }
5737
5737
  //#endregion
@@ -11049,8 +11049,8 @@ async function composeStageHosts(options) {
11049
11049
  ...options.profile ? { profile: options.profile } : {},
11050
11050
  ...options.home ? { home: options.home } : {}
11051
11051
  })).read(stage);
11052
- const { deployedStackSecrets } = await import("./compose-Dn0oAgQ0.mjs").then((n) => n.l);
11053
- const { composeStack } = await import("./compose-Dn0oAgQ0.mjs").then((n) => n.c);
11052
+ const { deployedStackSecrets } = await import("./compose-Bhmf0n4o.mjs").then((n) => n.l);
11053
+ const { composeStack } = await import("./compose-Bhmf0n4o.mjs").then((n) => n.c);
11054
11054
  const { secrets } = deployedStackSecrets(workspace, stage, stored, manifest);
11055
11055
  const stack = composeStack({
11056
11056
  workspace,
@@ -11144,6 +11144,7 @@ async function provisionStageDns(options) {
11144
11144
  //#endregion
11145
11145
  //#region src/setup/index.ts
11146
11146
  var setup_exports = /* @__PURE__ */ __exportAll({
11147
+ StageSecretsUnreadable: () => StageSecretsUnreadable,
11147
11148
  createFreshWorkspaceSecrets: () => createFreshWorkspaceSecrets,
11148
11149
  ensureStageSecrets: () => ensureStageSecrets,
11149
11150
  reconcileSecrets: () => reconcileSecrets,
@@ -11175,7 +11176,7 @@ async function setupCommand(options = {}) {
11175
11176
  logger$1.log(`📦 Workspace: ${workspace.name}`);
11176
11177
  logger$1.log(`📱 Apps: ${Object.keys(workspace.apps).join(", ")}`);
11177
11178
  logger$1.log(`🔑 Stage: ${stage}\n`);
11178
- if (!local) assertStageServer(workspace, stage, await (await secretsStoreFor(workspace, stage, { ...options.profile ? { profile: options.profile } : {} })).read(stage));
11179
+ if (!local) assertStageServer(workspace, stage, await readStageSecrets(await secretsStoreFor(workspace, stage, { ...options.profile ? { profile: options.profile } : {} }), stage, options));
11179
11180
  if (!local && options.dryRun) {
11180
11181
  await provisionDeployed(workspace, stage, options);
11181
11182
  return;
@@ -11194,6 +11195,48 @@ async function setupCommand(options = {}) {
11194
11195
  }
11195
11196
  printSummary(workspace, stage);
11196
11197
  }
11198
+ /** Where each AWS store keeps a stage's secrets, as a person reads it. */
11199
+ const AWS_STORES = {
11200
+ ssm: "SSM Parameter Store",
11201
+ "secrets-manager": "Secrets Manager"
11202
+ };
11203
+ /**
11204
+ * A deployed stage's secrets are kept in its AWS account, and no AWS
11205
+ * credentials were found to read them with.
11206
+ *
11207
+ * Raised before any provider runs: even a dry run reads the stage's secrets,
11208
+ * since its plan needs the server they name (`GKM_SERVER_IPV4`).
11209
+ */
11210
+ var StageSecretsUnreadable = class extends Error {
11211
+ stage;
11212
+ store;
11213
+ profile;
11214
+ dryRun;
11215
+ constructor(stage, store, profile, dryRun, cause) {
11216
+ const where = AWS_STORES[store] ?? `the '${store}' store`;
11217
+ const command = `gkm setup --stage ${stage}${dryRun ? " --dry-run" : ""}`;
11218
+ 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 });
11219
+ this.stage = stage;
11220
+ this.store = store;
11221
+ this.profile = profile;
11222
+ this.dryRun = dryRun;
11223
+ this.name = "StageSecretsUnreadable";
11224
+ }
11225
+ };
11226
+ /**
11227
+ * The stage's secrets from its store, refused with
11228
+ * {@link StageSecretsUnreadable} when there are no AWS credentials to read
11229
+ * them — matched by the SDK's error name, its message being free to change.
11230
+ * Any other failure is the store's own, and passes through.
11231
+ */
11232
+ async function readStageSecrets(store, stage, options) {
11233
+ try {
11234
+ return await store.read(stage);
11235
+ } catch (error) {
11236
+ if (error?.name === "CredentialsProviderError") throw new StageSecretsUnreadable(stage, store.name, options.profile, options.dryRun === true, error);
11237
+ throw error;
11238
+ }
11239
+ }
11197
11240
  /**
11198
11241
  * A deployed stage's providers: each one's `ensure()`, in the stage's own
11199
11242
  * account, its keys written into the stage's secrets.
@@ -11573,7 +11616,7 @@ function testDatabases(reconciled) {
11573
11616
  * starts without the reference data the app needs.
11574
11617
  */
11575
11618
  async function migrateTestStage(workspace, env) {
11576
- const { migrateAndSeed } = await import("./migrate-CKLJ73OO.mjs");
11619
+ const { migrateAndSeed } = await import("./migrate-DbtcuOr_.mjs");
11577
11620
  const { discover } = await import("./discover-BPelzeGW.mjs").then((n) => n.i);
11578
11621
  const sources = {};
11579
11622
  const manifest = await discover({
@@ -12017,7 +12060,7 @@ program.command("migrate").description("Apply each database construct's migratio
12017
12060
  try {
12018
12061
  const globalOptions = program.opts();
12019
12062
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
12020
- const { migrateCommand } = await import("./migrate-CKLJ73OO.mjs");
12063
+ const { migrateCommand } = await import("./migrate-DbtcuOr_.mjs");
12021
12064
  await migrateCommand({
12022
12065
  ...options,
12023
12066
  ...construct ? { construct } : {}
@@ -12031,7 +12074,7 @@ program.command("seed").description("Migrate, then run each database construct's
12031
12074
  try {
12032
12075
  const globalOptions = program.opts();
12033
12076
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
12034
- const { seedCommand } = await import("./migrate-CKLJ73OO.mjs");
12077
+ const { seedCommand } = await import("./migrate-DbtcuOr_.mjs");
12035
12078
  await seedCommand({
12036
12079
  ...options,
12037
12080
  ...construct ? { construct } : {}
@@ -12045,7 +12088,7 @@ program.command("migration").description("Write a construct's next migration: an
12045
12088
  try {
12046
12089
  const globalOptions = program.opts();
12047
12090
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
12048
- const { migrationCommand } = await import("./migrate-CKLJ73OO.mjs");
12091
+ const { migrationCommand } = await import("./migrate-DbtcuOr_.mjs");
12049
12092
  await migrationCommand({
12050
12093
  construct,
12051
12094
  ...name ? { name } : {}
@@ -12153,7 +12196,7 @@ program.command("secrets:add").description("Build the keys a stage must be given
12153
12196
  try {
12154
12197
  const globalOptions = program.opts();
12155
12198
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
12156
- const { secretsAddCommand } = await import("./add-v3tCbrpE.mjs");
12199
+ const { secretsAddCommand } = await import("./add-DHk1roh_.mjs");
12157
12200
  await secretsAddCommand(options);
12158
12201
  } catch (error) {
12159
12202
  console.error(formatError(error));
@@ -12164,7 +12207,7 @@ program.command("encryption:rotate").description("Add a new current key to an En
12164
12207
  try {
12165
12208
  const globalOptions = program.opts();
12166
12209
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
12167
- const { encryptionRotateCommand } = await import("./encryption-BQmhq9_y.mjs");
12210
+ const { encryptionRotateCommand } = await import("./encryption-BrEef7Jk.mjs");
12168
12211
  await encryptionRotateCommand(construct, options);
12169
12212
  } catch (error) {
12170
12213
  console.error(formatError(error));
@@ -12175,7 +12218,7 @@ program.command("encryption:retire").description("Remove an old key from an Encr
12175
12218
  try {
12176
12219
  const globalOptions = program.opts();
12177
12220
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
12178
- const { encryptionRetireCommand } = await import("./encryption-BQmhq9_y.mjs");
12221
+ const { encryptionRetireCommand } = await import("./encryption-BrEef7Jk.mjs");
12179
12222
  await encryptionRetireCommand(construct, key, options);
12180
12223
  } catch (error) {
12181
12224
  console.error(formatError(error));
@@ -12218,7 +12261,7 @@ program.command("secrets:reconcile").description("Backfill missing custom secret
12218
12261
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
12219
12262
  const { loadWorkspaceConfig } = await import("./config.mjs");
12220
12263
  const { reconcileMissingSecrets } = await import("./reconcile-Dh1Jk7WE.mjs");
12221
- const { secretsStoreFor } = await import("./seeds-perzdN81.mjs").then((n) => n.Pn);
12264
+ const { secretsStoreFor } = await import("./seeds-odfgSCmu.mjs").then((n) => n.Pn);
12222
12265
  const { workspace } = await loadWorkspaceConfig();
12223
12266
  const stage = options.stage ?? workspace.stages.local;
12224
12267
  const store = await secretsStoreFor(workspace, stage);
@@ -12227,7 +12270,7 @@ program.command("secrets:reconcile").description("Backfill missing custom secret
12227
12270
  console.error(`No secrets found for stage "${stage}". Run "gkm secrets:init --stage ${stage}" first.`);
12228
12271
  process.exit(1);
12229
12272
  }
12230
- const { derivedContainers } = await import("./seeds-perzdN81.mjs").then((n) => n.ht);
12273
+ const { derivedContainers } = await import("./seeds-odfgSCmu.mjs").then((n) => n.ht);
12231
12274
  const result = reconcileMissingSecrets(secrets, workspace, await derivedContainers(workspace, stage));
12232
12275
  if (!result) {
12233
12276
  console.log(`\n✓ Secrets for stage "${stage}" are up-to-date`);
@@ -12245,7 +12288,7 @@ program.command("secrets:migrate").description("Copy a deployed stage's secrets
12245
12288
  try {
12246
12289
  const globalOptions = program.opts();
12247
12290
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
12248
- const { secretsMigrateCommand } = await import("./migrate-CpmO5qnl.mjs");
12291
+ const { secretsMigrateCommand } = await import("./migrate-DWZz9kah.mjs");
12249
12292
  await secretsMigrateCommand(options);
12250
12293
  } catch (error) {
12251
12294
  console.error(formatError(error));
@@ -12253,7 +12296,7 @@ program.command("secrets:migrate").description("Copy a deployed stage's secrets
12253
12296
  }
12254
12297
  });
12255
12298
  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) => {
12256
- const { deployCli } = await import("./cli-REdO9X5b.mjs");
12299
+ const { deployCli } = await import("./cli-DD-Yk-I5.mjs");
12257
12300
  const globalOptions = program.opts();
12258
12301
  const code = await deployCli({
12259
12302
  cwd: resolve(globalOptions.cwd ?? process.cwd()),
@@ -12271,7 +12314,7 @@ program.command("deploy").description("Deploy a stage through its target").optio
12271
12314
  });
12272
12315
  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) => {
12273
12316
  try {
12274
- const { rollbackStage } = await import("./rollback-DpSU2DsD.mjs").then((n) => n.a);
12317
+ const { rollbackStage } = await import("./rollback-CFrNLmxs.mjs").then((n) => n.a);
12275
12318
  const { terminalCredentials } = await import("./terminal-D8TPK7o9.mjs");
12276
12319
  const globalOptions = program.opts();
12277
12320
  await rollbackStage({
@@ -12307,7 +12350,7 @@ program.command("deploy:github").description("Let GitHub Actions deploy a stage:
12307
12350
  try {
12308
12351
  const globalOptions = program.opts();
12309
12352
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
12310
- const { deployGithubCommand } = await import("./github-xzg99wz8.mjs");
12353
+ const { deployGithubCommand } = await import("./github-BCDF6xVH.mjs");
12311
12354
  await deployGithubCommand(options);
12312
12355
  } catch (error) {
12313
12356
  console.error(formatError(error));