@geekmidas/cli 10.0.0-alpha.121 → 10.0.0-alpha.122

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 (116) hide show
  1. package/dist/{GoDaddyProvider-3C8U_tVu.cjs → GoDaddyProvider-BJ9j9mR7.cjs} +2 -2
  2. package/dist/{GoDaddyProvider-3C8U_tVu.cjs.map → GoDaddyProvider-BJ9j9mR7.cjs.map} +1 -1
  3. package/dist/{GoDaddyProvider-D0MQoOM4.mjs → GoDaddyProvider-wIKYdm7V.mjs} +2 -2
  4. package/dist/{GoDaddyProvider-D0MQoOM4.mjs.map → GoDaddyProvider-wIKYdm7V.mjs.map} +1 -1
  5. package/dist/{LegacyStateStore-CRi7TosX.mjs → LegacyStateStore-CkXUJP7i.mjs} +3 -3
  6. package/dist/{LegacyStateStore-CRi7TosX.mjs.map → LegacyStateStore-CkXUJP7i.mjs.map} +1 -1
  7. package/dist/{LegacyStateStore-DHsoQGOo.cjs → LegacyStateStore-D1S87I_B.cjs} +3 -3
  8. package/dist/{LegacyStateStore-DHsoQGOo.cjs.map → LegacyStateStore-D1S87I_B.cjs.map} +1 -1
  9. package/dist/{LocalStateStore-Dkth0jXX.mjs → LocalStateStore-BWoWeSq0.mjs} +2 -2
  10. package/dist/{LocalStateStore-Dkth0jXX.mjs.map → LocalStateStore-BWoWeSq0.mjs.map} +1 -1
  11. package/dist/{LocalStateStore-BQXTkeoS.cjs → LocalStateStore-DmXfpvu4.cjs} +2 -2
  12. package/dist/{LocalStateStore-BQXTkeoS.cjs.map → LocalStateStore-DmXfpvu4.cjs.map} +1 -1
  13. package/dist/{S3StateStore-DGKZgyKz.cjs → S3StateStore-BEdsjjP4.cjs} +2 -2
  14. package/dist/{S3StateStore-DGKZgyKz.cjs.map → S3StateStore-BEdsjjP4.cjs.map} +1 -1
  15. package/dist/{S3StateStore-pZZnLLBd.mjs → S3StateStore-D19JSGE9.mjs} +2 -2
  16. package/dist/{S3StateStore-pZZnLLBd.mjs.map → S3StateStore-D19JSGE9.mjs.map} +1 -1
  17. package/dist/{SSMStateStore-DzkyjQ5D.cjs → SSMStateStore--2bcxoiH.cjs} +2 -2
  18. package/dist/{SSMStateStore-DzkyjQ5D.cjs.map → SSMStateStore--2bcxoiH.cjs.map} +1 -1
  19. package/dist/{SSMStateStore-CZRMERDA.mjs → SSMStateStore-7xKw0Zz9.mjs} +2 -2
  20. package/dist/{SSMStateStore-CZRMERDA.mjs.map → SSMStateStore-7xKw0Zz9.mjs.map} +1 -1
  21. package/dist/{add-C0kXOsWS.mjs → add-Bu6FkaTn.mjs} +3 -3
  22. package/dist/{add-C0kXOsWS.mjs.map → add-Bu6FkaTn.mjs.map} +1 -1
  23. package/dist/{add-Df8cmz0H.cjs → add-DlFUKdjX.cjs} +3 -3
  24. package/dist/{add-Df8cmz0H.cjs.map → add-DlFUKdjX.cjs.map} +1 -1
  25. package/dist/{bundler-Dx_grUmc.cjs → bundler-Bg0lPDoi.cjs} +5 -5
  26. package/dist/{bundler-Dx_grUmc.cjs.map → bundler-Bg0lPDoi.cjs.map} +1 -1
  27. package/dist/{bundler-B-I4Du99.mjs → bundler-CgE5XTyr.mjs} +5 -5
  28. package/dist/{bundler-B-I4Du99.mjs.map → bundler-CgE5XTyr.mjs.map} +1 -1
  29. package/dist/{cli-Cd9exatJ.cjs → cli-Cvjlnpon.cjs} +2 -2
  30. package/dist/{cli-Cd9exatJ.cjs.map → cli-Cvjlnpon.cjs.map} +1 -1
  31. package/dist/{cli-DL7GxGAe.mjs → cli-z5S3bHyK.mjs} +2 -2
  32. package/dist/{cli-DL7GxGAe.mjs.map → cli-z5S3bHyK.mjs.map} +1 -1
  33. package/dist/{compose-C43c03WZ.mjs → compose-CgBPA44v.mjs} +28 -5
  34. package/dist/{compose-C43c03WZ.mjs.map → compose-CgBPA44v.mjs.map} +1 -1
  35. package/dist/{compose-Mdgea4Yt.cjs → compose-bKLAtHLj.cjs} +28 -5
  36. package/dist/compose-bKLAtHLj.cjs.map +1 -0
  37. package/dist/deploy/public.cjs +6 -6
  38. package/dist/deploy/public.mjs +6 -6
  39. package/dist/{deploy-BMM2hx-K.cjs → deploy-CI85F6dr.cjs} +5 -5
  40. package/dist/{deploy-BMM2hx-K.cjs.map → deploy-CI85F6dr.cjs.map} +1 -1
  41. package/dist/{deploy-D5YhwDng.mjs → deploy-Ddy8UBoE.mjs} +5 -5
  42. package/dist/{deploy-D5YhwDng.mjs.map → deploy-Ddy8UBoE.mjs.map} +1 -1
  43. package/dist/{dns-agf2VCdV.mjs → dns-BgxvvcQa.mjs} +164 -26
  44. package/dist/dns-BgxvvcQa.mjs.map +1 -0
  45. package/dist/{dns-BIYf20p7.cjs → dns-CfEZHt7r.cjs} +164 -26
  46. package/dist/dns-CfEZHt7r.cjs.map +1 -0
  47. package/dist/{dokploy-2p4PK6ej.mjs → dokploy-Boj1NSHV.mjs} +2 -2
  48. package/dist/{dokploy-2p4PK6ej.mjs.map → dokploy-Boj1NSHV.mjs.map} +1 -1
  49. package/dist/{dokploy-BANMTroy.cjs → dokploy-CiozgdKO.cjs} +2 -2
  50. package/dist/{dokploy-BANMTroy.cjs.map → dokploy-CiozgdKO.cjs.map} +1 -1
  51. package/dist/{eas-CNi16SoO.cjs → eas-BmBjIFf_.cjs} +2 -2
  52. package/dist/{eas-CNi16SoO.cjs.map → eas-BmBjIFf_.cjs.map} +1 -1
  53. package/dist/{eas-iT2JDHCh.mjs → eas-DCg41jKK.mjs} +2 -2
  54. package/dist/{eas-iT2JDHCh.mjs.map → eas-DCg41jKK.mjs.map} +1 -1
  55. package/dist/{encryption-d2lLtkYx.cjs → encryption-CwLWV2ig.cjs} +2 -2
  56. package/dist/{encryption-d2lLtkYx.cjs.map → encryption-CwLWV2ig.cjs.map} +1 -1
  57. package/dist/{encryption-DkXVbyZc.mjs → encryption-QOQbGXgV.mjs} +2 -2
  58. package/dist/{encryption-DkXVbyZc.mjs.map → encryption-QOQbGXgV.mjs.map} +1 -1
  59. package/dist/{engine-DlEHexED.cjs → engine-D7YNY3v7.cjs} +3 -3
  60. package/dist/{engine-DlEHexED.cjs.map → engine-D7YNY3v7.cjs.map} +1 -1
  61. package/dist/{engine-CatKW6E-.mjs → engine-HVqo3mQu.mjs} +3 -3
  62. package/dist/{engine-CatKW6E-.mjs.map → engine-HVqo3mQu.mjs.map} +1 -1
  63. package/dist/{github-BAeaC1Pl.cjs → github-CO8W9SDs.cjs} +4 -4
  64. package/dist/{github-BAeaC1Pl.cjs.map → github-CO8W9SDs.cjs.map} +1 -1
  65. package/dist/{github-DErsqKGN.mjs → github-CQt3xc3o.mjs} +4 -4
  66. package/dist/{github-DErsqKGN.mjs.map → github-CQt3xc3o.mjs.map} +1 -1
  67. package/dist/{googlePlay-BXJ5ZjMK.mjs → googlePlay-Cfu17aEp.mjs} +3 -3
  68. package/dist/{googlePlay-BXJ5ZjMK.mjs.map → googlePlay-Cfu17aEp.mjs.map} +1 -1
  69. package/dist/{googlePlay-BVcfFWRO.cjs → googlePlay-DSuF6jbF.cjs} +3 -3
  70. package/dist/{googlePlay-BVcfFWRO.cjs.map → googlePlay-DSuF6jbF.cjs.map} +1 -1
  71. package/dist/index.cjs +51 -51
  72. package/dist/index.cjs.map +1 -1
  73. package/dist/index.mjs +51 -51
  74. package/dist/index.mjs.map +1 -1
  75. package/dist/{migrate-s4QizIoM.mjs → migrate-Bkz8BGaZ.mjs} +2 -2
  76. package/dist/{migrate-s4QizIoM.mjs.map → migrate-Bkz8BGaZ.mjs.map} +1 -1
  77. package/dist/{migrate-Bb1MmGHl.mjs → migrate-CGkir5LM.mjs} +2 -2
  78. package/dist/{migrate-Bb1MmGHl.mjs.map → migrate-CGkir5LM.mjs.map} +1 -1
  79. package/dist/{migrate-L4a273dY.cjs → migrate-CXsMaHbb.cjs} +2 -2
  80. package/dist/{migrate-L4a273dY.cjs.map → migrate-CXsMaHbb.cjs.map} +1 -1
  81. package/dist/{migrate-D79GI0XM.cjs → migrate-dbAI2XF8.cjs} +2 -2
  82. package/dist/{migrate-D79GI0XM.cjs.map → migrate-dbAI2XF8.cjs.map} +1 -1
  83. package/dist/{publish-ydscCYsW.cjs → publish-Bbd-2PI2.cjs} +2 -2
  84. package/dist/{publish-ydscCYsW.cjs.map → publish-Bbd-2PI2.cjs.map} +1 -1
  85. package/dist/{publish-CcTlmJT6.mjs → publish-eUcWvSdP.mjs} +2 -2
  86. package/dist/{publish-CcTlmJT6.mjs.map → publish-eUcWvSdP.mjs.map} +1 -1
  87. package/dist/{resolve-BgL-brF9.cjs → resolve-CyprRcQo.cjs} +3 -3
  88. package/dist/{resolve-BgL-brF9.cjs.map → resolve-CyprRcQo.cjs.map} +1 -1
  89. package/dist/{resolve-BLp2trep.mjs → resolve-DSilYpzm.mjs} +3 -3
  90. package/dist/{resolve-BLp2trep.mjs.map → resolve-DSilYpzm.mjs.map} +1 -1
  91. package/dist/{rollback-DwqZ8zzj.mjs → rollback-C4ri3h7i.mjs} +4 -4
  92. package/dist/{rollback-DwqZ8zzj.mjs.map → rollback-C4ri3h7i.mjs.map} +1 -1
  93. package/dist/{rollback-2cyLXEH1.cjs → rollback-DfwsnwGO.cjs} +4 -4
  94. package/dist/{rollback-2cyLXEH1.cjs.map → rollback-DfwsnwGO.cjs.map} +1 -1
  95. package/dist/{seeds-C2w4UqVP.cjs → seeds-CFG-f24B.cjs} +9 -3
  96. package/dist/{seeds-C2w4UqVP.cjs.map → seeds-CFG-f24B.cjs.map} +1 -1
  97. package/dist/{seeds-Cwtv-U9-.mjs → seeds-oY0qDqui.mjs} +4 -4
  98. package/dist/{seeds-Cwtv-U9-.mjs.map → seeds-oY0qDqui.mjs.map} +1 -1
  99. package/dist/{serverSetup-BdFOD93s.cjs → serverSetup-CQZt0OT6.cjs} +5 -5
  100. package/dist/{serverSetup-BdFOD93s.cjs.map → serverSetup-CQZt0OT6.cjs.map} +1 -1
  101. package/dist/{serverSetup-utKsoyGH.mjs → serverSetup-D8nngcNL.mjs} +5 -5
  102. package/dist/{serverSetup-utKsoyGH.mjs.map → serverSetup-D8nngcNL.mjs.map} +1 -1
  103. package/dist/{sniffer-CF7wNxMo.cjs → sniffer-BAmtXzou.cjs} +6 -6
  104. package/dist/{sniffer-CF7wNxMo.cjs.map → sniffer-BAmtXzou.cjs.map} +1 -1
  105. package/dist/{sniffer-8C4q6Szd.mjs → sniffer-Cgx608Tl.mjs} +6 -6
  106. package/dist/{sniffer-8C4q6Szd.mjs.map → sniffer-Cgx608Tl.mjs.map} +1 -1
  107. package/dist/{stage-BvM_u2z4.mjs → stage-BKDdQm65.mjs} +4 -4
  108. package/dist/{stage-BvM_u2z4.mjs.map → stage-BKDdQm65.mjs.map} +1 -1
  109. package/dist/{stage-DEQJGW3r.cjs → stage-CJysBXWB.cjs} +4 -4
  110. package/dist/{stage-DEQJGW3r.cjs.map → stage-CJysBXWB.cjs.map} +1 -1
  111. package/dist/target/public.cjs +1 -1
  112. package/dist/target/public.mjs +1 -1
  113. package/package.json +15 -15
  114. package/dist/compose-Mdgea4Yt.cjs.map +0 -1
  115. package/dist/dns-BIYf20p7.cjs.map +0 -1
  116. package/dist/dns-agf2VCdV.mjs.map +0 -1
@@ -2,9 +2,9 @@ const require_rolldown_runtime = require("./rolldown-runtime-C0BPl7ul.cjs");
2
2
  const require_errors = require("./errors-DMC4Umsb.cjs");
3
3
  const require_run = require("./run-fVZ-rLnc.cjs");
4
4
  const require_workspace = require("./workspace-BwqQnool.cjs");
5
- const require_dns = require("./dns-BIYf20p7.cjs");
5
+ const require_dns = require("./dns-CfEZHt7r.cjs");
6
6
  const require_define = require("./define-crmMcXFS.cjs");
7
- const require_seeds = require("./seeds-C2w4UqVP.cjs");
7
+ const require_seeds = require("./seeds-CFG-f24B.cjs");
8
8
  const require_derive = require("./derive-DAbo49sm.cjs");
9
9
  const require_SubscriberGenerator = require("./SubscriberGenerator-C8CPxrCK.cjs");
10
10
  const require_identity = require("./identity-CbLfgQNT.cjs");
@@ -2477,7 +2477,8 @@ async function readyCompose(ctx, run, deps) {
2477
2477
  }
2478
2478
  if (stack.local) return;
2479
2479
  if (run.server && !ctx.dryRun && !run.push) await deps.server.check(run.server);
2480
- await stageHostsDns(ctx, deps, require_dns.stackHosts(stack).filter((host) => !require_dns.isLocalHost(host)), run.secrets?.custom);
2480
+ const prune = await stageHostsDns(ctx, deps, require_dns.stackHosts(stack).filter((host) => !require_dns.isLocalHost(host)), run.secrets?.custom);
2481
+ if (prune) run.pruneDns = prune;
2481
2482
  }
2482
2483
  /** A stack whose caches are in Redis, built for an app that has no client. */
2483
2484
  var RedisClientMissing = class extends require_errors.GkmError {
@@ -2510,7 +2511,8 @@ function assertRedisClient(workspace, stack, manifest, runnables) {
2510
2511
  * domain's provider in `dns` where they differ, read back from it, and
2511
2512
  * recorded in the stage's state; hosts no provider writes resolved with the
2512
2513
  * system resolver. A dry run prints the plan and writes nothing, and warns
2513
- * rather than stops.
2514
+ * rather than stops. Returns the prune of the records gkm wrote for hosts the
2515
+ * stage no longer serves — which a dry run prints there and then.
2514
2516
  *
2515
2517
  * @throws {ServerAddressMissing} when the stage has a domain and no address
2516
2518
  * @throws {ServerAddressInvalid} for a value that is not an address
@@ -2531,11 +2533,13 @@ async function stageHostsDns(ctx, deps, hosts, custom) {
2531
2533
  const log = (line) => ctx.logger.info(line);
2532
2534
  if (workspace.dns) log(`🌐 DNS for '${stage}' → ${server.ipv4}${server.ipv6 ? ` / ${server.ipv6}` : ""}${ctx.dryRun ? " (dry run — nothing is written)" : ""}`);
2533
2535
  try {
2536
+ const stored = await ctx.state.read(stage);
2534
2537
  const result = await require_dns.stageDns({
2535
2538
  stage,
2536
2539
  hosts,
2537
2540
  server,
2538
2541
  dns: workspace.dns,
2542
+ recorded: require_seeds.dnsResources(stored?.resources ?? {}),
2539
2543
  credentials: ctx.credentials,
2540
2544
  log,
2541
2545
  lookup: deps.lookup ?? require_dns.systemLookup,
@@ -2549,6 +2553,11 @@ async function stageHostsDns(ctx, deps, hosts, custom) {
2549
2553
  }
2550
2554
  const parts = [result.confirmed.length > 0 ? `${result.confirmed.length} host${result.confirmed.length === 1 ? "" : "s"} confirmed by the DNS provider` : "", result.resolved.length > 0 ? `${result.resolved.length} host${result.resolved.length === 1 ? "" : "s"} resolve${result.resolved.length === 1 ? "s" : ""} to ${server.ipv4}` : ""].filter(Boolean);
2551
2555
  if (parts.length > 0) log(`🌐 ${parts.join(", ")}`);
2556
+ if (ctx.dryRun) {
2557
+ await result.prune();
2558
+ return;
2559
+ }
2560
+ return result.recorded.stale.length > 0 ? result.prune : void 0;
2552
2561
  } catch (error) {
2553
2562
  if (ctx.dryRun && error instanceof require_dns.HostNotPointingAtServer) {
2554
2563
  ctx.logger.warn(`⚠ ${error.message}`);
@@ -2558,6 +2567,19 @@ async function stageHostsDns(ctx, deps, hosts, custom) {
2558
2567
  }
2559
2568
  }
2560
2569
  /**
2570
+ * The records gkm wrote for hosts the stage no longer serves, deleted once it
2571
+ * answers on its new ones — and forgotten from its state, deleted or not:
2572
+ * none is gkm's to manage any more.
2573
+ */
2574
+ async function pruneStageDns(ctx, run) {
2575
+ if (!run.pruneDns) return;
2576
+ const pruned = await run.pruneDns();
2577
+ const journal = await require_seeds.DeployJournal.open(ctx.state, ctx.stage, () => require_seeds.createComposeState(ctx.stage));
2578
+ for (const { record } of pruned) await require_seeds.forgetDnsResource(journal, record);
2579
+ const deleted = pruned.filter((p) => p.action === "delete").length;
2580
+ if (deleted > 0) ctx.logger.info(`🌐 ${deleted} record${deleted === 1 ? "" : "s"} deleted`);
2581
+ }
2582
+ /**
2561
2583
  * The stage's secrets — and, for a deployed stage, everything it generates
2562
2584
  * once: its seed, and each declared secret and keyring. Kept only once the
2563
2585
  * run goes ahead (`provision`), so a dry run, or a tag that is not there,
@@ -2964,6 +2986,7 @@ async function verifyCompose(ctx, run, deps) {
2964
2986
  last
2965
2987
  }));
2966
2988
  if (down.length > 0) throw new ComposeAppsUnhealthy(stack.project, down, stack.proxy);
2989
+ await pruneStageDns(ctx, run);
2967
2990
  if (stack.logs) reportLogs(ctx, stack.logs, stack.local, run.server);
2968
2991
  }
2969
2992
  /**
@@ -3424,4 +3447,4 @@ Object.defineProperty(exports, "stackPlan", {
3424
3447
  }
3425
3448
  });
3426
3449
 
3427
- //# sourceMappingURL=compose-Mdgea4Yt.cjs.map
3450
+ //# sourceMappingURL=compose-bKLAtHLj.cjs.map