@geekmidas/cli 10.0.0-alpha.93 → 10.0.0-alpha.95

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 (213) hide show
  1. package/dist/{GoDaddyProvider-Mi3vptSR.mjs → GoDaddyProvider-BwW51hPm.mjs} +3 -3
  2. package/dist/{GoDaddyProvider-Mi3vptSR.mjs.map → GoDaddyProvider-BwW51hPm.mjs.map} +1 -1
  3. package/dist/{GoDaddyProvider-BZb-V14e.cjs → GoDaddyProvider-C_DgIkMv.cjs} +3 -3
  4. package/dist/{GoDaddyProvider-BZb-V14e.cjs.map → GoDaddyProvider-C_DgIkMv.cjs.map} +1 -1
  5. package/dist/{HostingerProvider-1mqD6aG8.mjs → HostingerProvider-BNpS9aRJ.mjs} +9 -4
  6. package/dist/{HostingerProvider-1mqD6aG8.mjs.map → HostingerProvider-BNpS9aRJ.mjs.map} +1 -1
  7. package/dist/{HostingerProvider-C6t-PSNe.cjs → HostingerProvider-DR1iws1P.cjs} +9 -4
  8. package/dist/HostingerProvider-DR1iws1P.cjs.map +1 -0
  9. package/dist/{LegacyStateStore-BlYXQQSE.cjs → LegacyStateStore-BawjE_5n.cjs} +10 -9
  10. package/dist/{LegacyStateStore-BlYXQQSE.cjs.map → LegacyStateStore-BawjE_5n.cjs.map} +1 -1
  11. package/dist/{LegacyStateStore-CtwO7fwy.mjs → LegacyStateStore-D5DarNA2.mjs} +3 -2
  12. package/dist/{LegacyStateStore-CtwO7fwy.mjs.map → LegacyStateStore-D5DarNA2.mjs.map} +1 -1
  13. package/dist/{LocalStateStore-oX_zxj9V.cjs → LocalStateStore-D8fu5WiF.cjs} +8 -8
  14. package/dist/{LocalStateStore-oX_zxj9V.cjs.map → LocalStateStore-D8fu5WiF.cjs.map} +1 -1
  15. package/dist/{LocalStateStore-D40_SDmJ.mjs → LocalStateStore-YjIqlgAz.mjs} +2 -2
  16. package/dist/{LocalStateStore-D40_SDmJ.mjs.map → LocalStateStore-YjIqlgAz.mjs.map} +1 -1
  17. package/dist/{S3StateStore-BzS0IeSt.mjs → S3StateStore-CjTAVsWh.mjs} +2 -2
  18. package/dist/{S3StateStore-BzS0IeSt.mjs.map → S3StateStore-CjTAVsWh.mjs.map} +1 -1
  19. package/dist/{S3StateStore-DeI7jtvi.cjs → S3StateStore-Cm-v2IPI.cjs} +5 -5
  20. package/dist/{S3StateStore-DeI7jtvi.cjs.map → S3StateStore-Cm-v2IPI.cjs.map} +1 -1
  21. package/dist/{SSMStateStore-CaCtrzFL.cjs → SSMStateStore-BS4BiZCN.cjs} +9 -9
  22. package/dist/{SSMStateStore-CaCtrzFL.cjs.map → SSMStateStore-BS4BiZCN.cjs.map} +1 -1
  23. package/dist/{SSMStateStore-k_Ew7TWx.mjs → SSMStateStore-BhtM6jOh.mjs} +2 -2
  24. package/dist/{SSMStateStore-k_Ew7TWx.mjs.map → SSMStateStore-BhtM6jOh.mjs.map} +1 -1
  25. package/dist/{add-VcyJnsPX.cjs → add-D-3IKT7W.cjs} +24 -53
  26. package/dist/add-D-3IKT7W.cjs.map +1 -0
  27. package/dist/{add-CP1podDH.mjs → add-ylx8dejw.mjs} +23 -52
  28. package/dist/add-ylx8dejw.mjs.map +1 -0
  29. package/dist/{bundler-Dfsr6KXU.cjs → bundler-CI3elfZS.cjs} +5 -5
  30. package/dist/{bundler-Dfsr6KXU.cjs.map → bundler-CI3elfZS.cjs.map} +1 -1
  31. package/dist/{bundler-BWrh-AJH.mjs → bundler-ywR3C1B_.mjs} +5 -5
  32. package/dist/{bundler-BWrh-AJH.mjs.map → bundler-ywR3C1B_.mjs.map} +1 -1
  33. package/dist/{cli-B8otnZfX.mjs → cli-BCSuCfQk.mjs} +9 -5
  34. package/dist/cli-BCSuCfQk.mjs.map +1 -0
  35. package/dist/{cli-DL19w4OE.cjs → cli-Dewt2T21.cjs} +9 -5
  36. package/dist/cli-Dewt2T21.cjs.map +1 -0
  37. package/dist/{compose-DrEB_4F-.mjs → compose-C4js1JDv.mjs} +82 -47
  38. package/dist/compose-C4js1JDv.mjs.map +1 -0
  39. package/dist/{compose-BHVKLluX.cjs → compose-Dd0XphvF.cjs} +94 -59
  40. package/dist/compose-Dd0XphvF.cjs.map +1 -0
  41. package/dist/{config-DCCcrOSo.d.cts → config-4yirvxS8.d.cts} +4 -4
  42. package/dist/{config-CHX5GOo3.d.mts.map → config-4yirvxS8.d.cts.map} +1 -1
  43. package/dist/{config-CHX5GOo3.d.mts → config-C8NPCn1l.d.mts} +4 -4
  44. package/dist/{config-DCCcrOSo.d.cts.map → config-C8NPCn1l.d.mts.map} +1 -1
  45. package/dist/config.cjs +1 -1
  46. package/dist/config.d.cts +3 -3
  47. package/dist/config.d.mts +3 -3
  48. package/dist/config.mjs +1 -1
  49. package/dist/{credentials-C4KII3PD.mjs → credentials-B5N5yKk6.mjs} +12 -134
  50. package/dist/credentials-B5N5yKk6.mjs.map +1 -0
  51. package/dist/{credentials-QBu7VgaQ.cjs → credentials-Zqr3QQYB.cjs} +11 -175
  52. package/dist/credentials-Zqr3QQYB.cjs.map +1 -0
  53. package/dist/deploy/public.cjs +19 -18
  54. package/dist/deploy/public.cjs.map +1 -1
  55. package/dist/deploy/public.d.cts +24 -9
  56. package/dist/deploy/public.d.cts.map +1 -1
  57. package/dist/deploy/public.d.mts +24 -9
  58. package/dist/deploy/public.d.mts.map +1 -1
  59. package/dist/deploy/public.mjs +11 -10
  60. package/dist/deploy/public.mjs.map +1 -1
  61. package/dist/deploy-B0drCD6s.mjs +1854 -0
  62. package/dist/deploy-B0drCD6s.mjs.map +1 -0
  63. package/dist/deploy-Bw1FjX_x.cjs +1903 -0
  64. package/dist/deploy-Bw1FjX_x.cjs.map +1 -0
  65. package/dist/{discover-vk2r5giK.d.cts → discover-BtFofyQB.d.cts} +2 -2
  66. package/dist/{discover-DqwlBVyY.d.mts.map → discover-BtFofyQB.d.cts.map} +1 -1
  67. package/dist/{discover-DqwlBVyY.d.mts → discover-D-MdXZgm.d.mts} +2 -2
  68. package/dist/{discover-vk2r5giK.d.cts.map → discover-D-MdXZgm.d.mts.map} +1 -1
  69. package/dist/dns-Bmk7P9c2.cjs +663 -0
  70. package/dist/dns-Bmk7P9c2.cjs.map +1 -0
  71. package/dist/dns-CyMIq6to.cjs +55 -0
  72. package/dist/dns-CyMIq6to.cjs.map +1 -0
  73. package/dist/dns-X3oqEV4C.mjs +44 -0
  74. package/dist/dns-X3oqEV4C.mjs.map +1 -0
  75. package/dist/dns-idXfyCay.mjs +610 -0
  76. package/dist/dns-idXfyCay.mjs.map +1 -0
  77. package/dist/{dokploy-o4I6vb9W.mjs → dokploy-CZYxXeMa.mjs} +2 -2
  78. package/dist/{dokploy-o4I6vb9W.mjs.map → dokploy-CZYxXeMa.mjs.map} +1 -1
  79. package/dist/{dokploy-rivb1RFt.cjs → dokploy-DaT0mgLU.cjs} +2 -2
  80. package/dist/{dokploy-rivb1RFt.cjs.map → dokploy-DaT0mgLU.cjs.map} +1 -1
  81. package/dist/{encryption-B6ilrT7p.mjs → encryption-D0ucY4O7.mjs} +3 -3
  82. package/dist/{encryption-B6ilrT7p.mjs.map → encryption-D0ucY4O7.mjs.map} +1 -1
  83. package/dist/{encryption-D7zmwzWz.cjs → encryption-Dp0IvLVX.cjs} +3 -3
  84. package/dist/{encryption-D7zmwzWz.cjs.map → encryption-Dp0IvLVX.cjs.map} +1 -1
  85. package/dist/{engine-DjEcovm-.mjs → engine-BcuhnyQO.mjs} +14 -31
  86. package/dist/{engine-DjEcovm-.mjs.map → engine-BcuhnyQO.mjs.map} +1 -1
  87. package/dist/{engine-Cfx8fEZU.cjs → engine-WY6j_kvA.cjs} +18 -35
  88. package/dist/engine-WY6j_kvA.cjs.map +1 -0
  89. package/dist/{github-CzBbs43W.mjs → github-DUGA57du.mjs} +96 -6
  90. package/dist/github-DUGA57du.mjs.map +1 -0
  91. package/dist/{github-zneTMvnO.cjs → github-DgmW83OP.cjs} +96 -6
  92. package/dist/github-DgmW83OP.cjs.map +1 -0
  93. package/dist/{index-BiYU7cUl.d.mts → index-5eL8rM6H.d.mts} +2 -2
  94. package/dist/{index-BiYU7cUl.d.mts.map → index-5eL8rM6H.d.mts.map} +1 -1
  95. package/dist/{index-Dm6V9bwh.d.cts → index-Dz-gyjm_.d.cts} +2 -2
  96. package/dist/{index-Dm6V9bwh.d.cts.map → index-Dz-gyjm_.d.cts.map} +1 -1
  97. package/dist/index.cjs +150 -118
  98. package/dist/index.cjs.map +1 -1
  99. package/dist/index.mjs +144 -112
  100. package/dist/index.mjs.map +1 -1
  101. package/dist/{local-Otp74ak0.mjs → local-BwC2v2Y8.mjs} +2 -2
  102. package/dist/{local-Otp74ak0.mjs.map → local-BwC2v2Y8.mjs.map} +1 -1
  103. package/dist/{local-B61kUh0w.cjs → local-DNhnkugT.cjs} +3 -3
  104. package/dist/{local-B61kUh0w.cjs.map → local-DNhnkugT.cjs.map} +1 -1
  105. package/dist/{migrate-DFjbGnSr.cjs → migrate-BBcG1dhS.cjs} +3 -3
  106. package/dist/{migrate-DFjbGnSr.cjs.map → migrate-BBcG1dhS.cjs.map} +1 -1
  107. package/dist/{migrate-CsBZKALY.mjs → migrate-CZ-v5WV0.mjs} +3 -3
  108. package/dist/{migrate-CsBZKALY.mjs.map → migrate-CZ-v5WV0.mjs.map} +1 -1
  109. package/dist/{migrate-BaC4w0sb.mjs → migrate-D6PlNv2o.mjs} +3 -3
  110. package/dist/{migrate-BaC4w0sb.mjs.map → migrate-D6PlNv2o.mjs.map} +1 -1
  111. package/dist/{migrate-C8wTpakT.cjs → migrate-afgRL3Hg.cjs} +3 -3
  112. package/dist/{migrate-C8wTpakT.cjs.map → migrate-afgRL3Hg.cjs.map} +1 -1
  113. package/dist/openapi.cjs +1 -1
  114. package/dist/openapi.d.cts +1 -1
  115. package/dist/openapi.d.mts +1 -1
  116. package/dist/openapi.mjs +1 -1
  117. package/dist/reconcile/public.d.cts +2 -2
  118. package/dist/reconcile/public.d.mts +2 -2
  119. package/dist/{resolve-g8htuR80.cjs → resolve-CFb4Navi.cjs} +4 -4
  120. package/dist/{resolve-g8htuR80.cjs.map → resolve-CFb4Navi.cjs.map} +1 -1
  121. package/dist/{resolve-Ccjlpnd9.mjs → resolve-DakDhr6Z.mjs} +4 -4
  122. package/dist/{resolve-Ccjlpnd9.mjs.map → resolve-DakDhr6Z.mjs.map} +1 -1
  123. package/dist/{rollback--ympG9ss.cjs → rollback-B-1dPP0m.cjs} +9 -8
  124. package/dist/{rollback--ympG9ss.cjs.map → rollback-B-1dPP0m.cjs.map} +1 -1
  125. package/dist/{rollback-Drbg0OeR.mjs → rollback-B1TIpjdE.mjs} +7 -6
  126. package/dist/{rollback-Drbg0OeR.mjs.map → rollback-B1TIpjdE.mjs.map} +1 -1
  127. package/dist/run-BJLIerMM.mjs +133 -0
  128. package/dist/run-BJLIerMM.mjs.map +1 -0
  129. package/dist/run-fVZ-rLnc.cjs +174 -0
  130. package/dist/run-fVZ-rLnc.cjs.map +1 -0
  131. package/dist/{runtime-_wEVtshH.d.mts → runtime-DUQdM-mW.d.cts} +2 -2
  132. package/dist/{runtime-D_J3ExJn.d.cts.map → runtime-DUQdM-mW.d.cts.map} +1 -1
  133. package/dist/{runtime-D_J3ExJn.d.cts → runtime-Vr6mleo2.d.mts} +2 -2
  134. package/dist/{runtime-_wEVtshH.d.mts.map → runtime-Vr6mleo2.d.mts.map} +1 -1
  135. package/dist/{sandbox-CPJq1Kia.d.mts → sandbox-BbJmh2rI.d.cts} +2 -2
  136. package/dist/{sandbox-CPJq1Kia.d.mts.map → sandbox-BbJmh2rI.d.cts.map} +1 -1
  137. package/dist/{sandbox-JwuPAl7I.d.cts → sandbox-DGOsMPMf.d.mts} +2 -2
  138. package/dist/{sandbox-JwuPAl7I.d.cts.map → sandbox-DGOsMPMf.d.mts.map} +1 -1
  139. package/dist/{secrets-DJteijZo.cjs → secrets-CPM0Qffe.cjs} +3 -3
  140. package/dist/secrets-CPM0Qffe.cjs.map +1 -0
  141. package/dist/{secrets-DbPmAS4k.mjs → secrets-oI9ClAPR.mjs} +3 -3
  142. package/dist/secrets-oI9ClAPR.mjs.map +1 -0
  143. package/dist/{seeds-c-ByX9je.cjs → seeds-CnXkgKUv.cjs} +1339 -3594
  144. package/dist/seeds-CnXkgKUv.cjs.map +1 -0
  145. package/dist/{seeds-BSL55F6q.mjs → seeds-CoKkrSny.mjs} +1126 -3266
  146. package/dist/seeds-CoKkrSny.mjs.map +1 -0
  147. package/dist/{sniffer-BTtGAtm3.mjs → sniffer-CFRzIrby.mjs} +496 -5
  148. package/dist/sniffer-CFRzIrby.mjs.map +1 -0
  149. package/dist/{sniffer-Dq5BS98f.cjs → sniffer-vbiQ2Isn.cjs} +572 -3
  150. package/dist/sniffer-vbiQ2Isn.cjs.map +1 -0
  151. package/dist/{sst-BaRXp2Dd.mjs → sst-CGdjHn2A.mjs} +4 -3
  152. package/dist/{sst-BaRXp2Dd.mjs.map → sst-CGdjHn2A.mjs.map} +1 -1
  153. package/dist/{sst-CnKY-CSh.cjs → sst-DGuHDxVU.cjs} +5 -4
  154. package/dist/{sst-CnKY-CSh.cjs.map → sst-DGuHDxVU.cjs.map} +1 -1
  155. package/dist/{stack-1PeLJS2j.cjs → stack-1g57OfOw.cjs} +14 -52
  156. package/dist/stack-1g57OfOw.cjs.map +1 -0
  157. package/dist/{stack-Co4uZkAo.mjs → stack-B7O975TR.mjs} +14 -52
  158. package/dist/stack-B7O975TR.mjs.map +1 -0
  159. package/dist/{stages-DY-fQKmo.mjs → stages-Bt4OggMm.mjs} +17 -3
  160. package/dist/stages-Bt4OggMm.mjs.map +1 -0
  161. package/dist/{stages-BI8JvPzI.cjs → stages-BujUB4we.cjs} +17 -3
  162. package/dist/stages-BujUB4we.cjs.map +1 -0
  163. package/dist/target/public.cjs +1 -1
  164. package/dist/target/public.d.cts +2 -2
  165. package/dist/target/public.d.mts +2 -2
  166. package/dist/target/public.mjs +1 -1
  167. package/dist/{terminal-8XngdSTo.cjs → terminal-CPHuH4S1.cjs} +2 -2
  168. package/dist/{terminal-8XngdSTo.cjs.map → terminal-CPHuH4S1.cjs.map} +1 -1
  169. package/dist/{terminal-C4XRdwnU.mjs → terminal-iNmAXXjs.mjs} +2 -2
  170. package/dist/{terminal-C4XRdwnU.mjs.map → terminal-iNmAXXjs.mjs.map} +1 -1
  171. package/dist/{types-BibpiHKB.d.cts → types-bkqVscdN.d.mts} +43 -11
  172. package/dist/types-bkqVscdN.d.mts.map +1 -0
  173. package/dist/{types-B6lmD3en.d.mts → types-dipJRmKV.d.cts} +44 -10
  174. package/dist/types-dipJRmKV.d.cts.map +1 -0
  175. package/dist/workspace/index.cjs +1 -1
  176. package/dist/workspace/index.d.cts +2 -2
  177. package/dist/workspace/index.d.mts +2 -2
  178. package/dist/workspace/index.mjs +1 -1
  179. package/dist/{workspace-Bzw7Zs82.mjs → workspace-DWK1PTXP.mjs} +4 -4
  180. package/dist/workspace-DWK1PTXP.mjs.map +1 -0
  181. package/dist/{workspace-CHOB2Xg3.cjs → workspace-cSyi5nb1.cjs} +4 -4
  182. package/dist/workspace-cSyi5nb1.cjs.map +1 -0
  183. package/package.json +15 -15
  184. package/dist/HostingerProvider-C6t-PSNe.cjs.map +0 -1
  185. package/dist/add-CP1podDH.mjs.map +0 -1
  186. package/dist/add-VcyJnsPX.cjs.map +0 -1
  187. package/dist/cli-B8otnZfX.mjs.map +0 -1
  188. package/dist/cli-DL19w4OE.cjs.map +0 -1
  189. package/dist/compose-BHVKLluX.cjs.map +0 -1
  190. package/dist/compose-DrEB_4F-.mjs.map +0 -1
  191. package/dist/credentials-C4KII3PD.mjs.map +0 -1
  192. package/dist/credentials-QBu7VgaQ.cjs.map +0 -1
  193. package/dist/deploy-C3Mhnmus.cjs +0 -556
  194. package/dist/deploy-C3Mhnmus.cjs.map +0 -1
  195. package/dist/deploy-DYIyIUYd.mjs +0 -527
  196. package/dist/deploy-DYIyIUYd.mjs.map +0 -1
  197. package/dist/engine-Cfx8fEZU.cjs.map +0 -1
  198. package/dist/github-CzBbs43W.mjs.map +0 -1
  199. package/dist/github-zneTMvnO.cjs.map +0 -1
  200. package/dist/secrets-DJteijZo.cjs.map +0 -1
  201. package/dist/secrets-DbPmAS4k.mjs.map +0 -1
  202. package/dist/seeds-BSL55F6q.mjs.map +0 -1
  203. package/dist/seeds-c-ByX9je.cjs.map +0 -1
  204. package/dist/sniffer-BTtGAtm3.mjs.map +0 -1
  205. package/dist/sniffer-Dq5BS98f.cjs.map +0 -1
  206. package/dist/stack-1PeLJS2j.cjs.map +0 -1
  207. package/dist/stack-Co4uZkAo.mjs.map +0 -1
  208. package/dist/stages-BI8JvPzI.cjs.map +0 -1
  209. package/dist/stages-DY-fQKmo.mjs.map +0 -1
  210. package/dist/types-B6lmD3en.d.mts.map +0 -1
  211. package/dist/types-BibpiHKB.d.cts.map +0 -1
  212. package/dist/workspace-Bzw7Zs82.mjs.map +0 -1
  213. package/dist/workspace-CHOB2Xg3.cjs.map +0 -1
package/dist/index.cjs CHANGED
@@ -2,27 +2,27 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const require_rolldown_runtime = require("./rolldown-runtime-C0BPl7ul.cjs");
4
4
  const require_errors = require("./errors-DMC4Umsb.cjs");
5
- const require_credentials = require("./credentials-QBu7VgaQ.cjs");
5
+ const require_run = require("./run-fVZ-rLnc.cjs");
6
+ const require_credentials = require("./credentials-Zqr3QQYB.cjs");
6
7
  const require_discover = require("./discover-DPgu-ScS.cjs");
7
8
  const require_derive = require("./derive-DAbo49sm.cjs");
8
- const require_workspace = require("./workspace-CHOB2Xg3.cjs");
9
+ const require_workspace = require("./workspace-cSyi5nb1.cjs");
9
10
  const require_config = require("./config.cjs");
10
- const require_seeds = require("./seeds-c-ByX9je.cjs");
11
+ const require_seeds = require("./seeds-CnXkgKUv.cjs");
11
12
  const require_EndpointGenerator = require("./EndpointGenerator-De03t1hd.cjs");
12
13
  const require_openapi = require("./openapi.cjs");
13
14
  const require_SubscriberGenerator = require("./SubscriberGenerator-Dvz7EzqK.cjs");
14
15
  const require_appPorts = require("./appPorts-Cu79hJF6.cjs");
15
16
  const require_drivers = require("./drivers-DDojgzz0.cjs");
16
17
  const require_emit = require("./emit-Dmc1nvdS.cjs");
17
- const require_local = require("./local-B61kUh0w.cjs");
18
- const require_sniffer = require("./sniffer-Dq5BS98f.cjs");
19
- const require_deploy = require("./deploy-C3Mhnmus.cjs");
20
- const require_compose = require("./compose-BHVKLluX.cjs");
21
- const require_stack = require("./stack-1PeLJS2j.cjs");
18
+ const require_local = require("./local-DNhnkugT.cjs");
19
+ const require_sniffer = require("./sniffer-vbiQ2Isn.cjs");
20
+ const require_deploy = require("./deploy-Bw1FjX_x.cjs");
22
21
  const require_credentialSchemas = require("./credentialSchemas-CAPKFkrG.cjs");
23
- const require_LocalStateStore = require("./LocalStateStore-oX_zxj9V.cjs");
22
+ const require_compose = require("./compose-Dd0XphvF.cjs");
23
+ const require_stack = require("./stack-1g57OfOw.cjs");
24
+ const require_LocalStateStore = require("./LocalStateStore-D8fu5WiF.cjs");
24
25
  const require_utils = require("./utils-D2Nk1Nv2.cjs");
25
- require("./awsStore-B5We7bMg.cjs");
26
26
  const require_ready = require("./ready-D3PIjx3S.cjs");
27
27
  let node_path = require("node:path");
28
28
  let commander = require("commander");
@@ -56,7 +56,7 @@ crypto = require_rolldown_runtime.__toESM(crypto, 1);
56
56
  let _geekmidas_constructs_functions = require("@geekmidas/constructs/functions");
57
57
  let _geekmidas_constructs_topic = require("@geekmidas/constructs/topic");
58
58
  //#region package.json
59
- var version = "10.0.0-alpha.93";
59
+ var version = "10.0.0-alpha.95";
60
60
  //#endregion
61
61
  //#region src/prompt.ts
62
62
  /**
@@ -139,7 +139,7 @@ const logger$8 = console;
139
139
  * Validate Dokploy token by making a test API call
140
140
  */
141
141
  async function validateDokployToken(endpoint, token) {
142
- const { DokployApi } = await Promise.resolve().then(() => require("./sniffer-Dq5BS98f.cjs")).then((n) => n.dokploy_api_exports);
142
+ const { DokployApi } = await Promise.resolve().then(() => require("./sniffer-vbiQ2Isn.cjs")).then((n) => n.dokploy_api_exports);
143
143
  return new DokployApi({
144
144
  baseUrl: endpoint,
145
145
  token
@@ -215,7 +215,7 @@ async function loginCommand(options) {
215
215
  * Store a GoDaddy Personal Access Token. Not validated: the only call that
216
216
  * proves a token without a domain is an account call (`GET /v1/domains`),
217
217
  * which a token scoped to `domains.dns:update` alone may not make — the first
218
- * `gkm setup` that writes a record is where a bad token reports itself.
218
+ * deploy that writes a record is where a bad token reports itself.
219
219
  */
220
220
  async function loginGoDaddy(options) {
221
221
  logger$8.log("\n🔐 Logging in to GoDaddy...\n");
@@ -236,7 +236,7 @@ async function loginGoDaddy(options) {
236
236
  logger$8.log("\n✓ GoDaddy token stored.");
237
237
  logger$8.log(` Token: ${maskToken(token)}`);
238
238
  logger$8.log(` Credentials stored in: ${require_credentials.getCredentialsPath(where)}`);
239
- logger$8.log(" Not validated here: proving a token without a domain needs an account\n scope a DNS-only token does not have, so the first gkm setup that\n writes a record is where a bad token reports itself.");
239
+ logger$8.log(" Not validated here: proving a token without a domain needs an account\n scope a DNS-only token does not have, so the first deploy that\n writes a record is where a bad token reports itself.");
240
240
  logger$8.log("\nYou can now use it as a DNS provider without setting GODADDY_API_TOKEN.");
241
241
  }
242
242
  /**
@@ -2333,9 +2333,9 @@ async function workspaceDevCommand(configured, options) {
2333
2333
  for (const { id, port } of fakes) logger$5.log(`🎭 ${id} fake: http://localhost:${port}`);
2334
2334
  logger$5.log(options.migrate || options.seed ? "🗄️ Migrating the databases" : "🗄️ Checking for pending migrations");
2335
2335
  if (options.migrate || options.seed) {
2336
- const { prepareDevDatabases } = await Promise.resolve().then(() => require("./migrate-C8wTpakT.cjs"));
2336
+ const { prepareDevDatabases } = await Promise.resolve().then(() => require("./migrate-afgRL3Hg.cjs"));
2337
2337
  await prepareDevDatabases(workspace, reconciled.env, { seed: !!options.seed });
2338
- } else await Promise.resolve().then(() => require("./migrate-C8wTpakT.cjs")).then(({ reportPendingMigrations }) => reportPendingMigrations(workspace, reconciled.env)).catch((error) => {
2338
+ } else await Promise.resolve().then(() => require("./migrate-afgRL3Hg.cjs")).then(({ reportPendingMigrations }) => reportPendingMigrations(workspace, reconciled.env)).catch((error) => {
2339
2339
  logger$5.log(`⚠️ Could not check for pending migrations: ${error instanceof Error ? error.message : String(error)}`);
2340
2340
  });
2341
2341
  const appUrls = {};
@@ -3388,7 +3388,7 @@ async function buildApp(input) {
3388
3388
  ...production,
3389
3389
  ...telemetry ? { telemetry } : {}
3390
3390
  });
3391
- const { bundleServer } = await Promise.resolve().then(() => require("./bundler-Dfsr6KXU.cjs"));
3391
+ const { bundleServer } = await Promise.resolve().then(() => require("./bundler-CI3elfZS.cjs"));
3392
3392
  await bundleServer({
3393
3393
  entryPoint,
3394
3394
  outputDir: (0, node_path.join)(outputDir, "dist"),
@@ -3533,7 +3533,7 @@ async function buildWorkers(input) {
3533
3533
  });
3534
3534
  logger$4.log(`Generated worker ${worker.id}: ${crons.length} crons, ${queues.length} queues, ${subscribers.length} subscribers`);
3535
3535
  if (!input.bundle) continue;
3536
- const { bundleServer } = await Promise.resolve().then(() => require("./bundler-Dfsr6KXU.cjs"));
3536
+ const { bundleServer } = await Promise.resolve().then(() => require("./bundler-CI3elfZS.cjs"));
3537
3537
  const outfile = require_seeds.workerBundleName(worker.id);
3538
3538
  await bundleServer({
3539
3539
  entryPoint,
@@ -3619,7 +3619,7 @@ async function buildForTarget(target, context, appRoot, workspaceRoot, endpointG
3619
3619
  let masterKey;
3620
3620
  if (context.production?.bundle && !skipBundle) {
3621
3621
  logger$4.log(`\n📦 Bundling production server...`);
3622
- const { bundleServer } = await Promise.resolve().then(() => require("./bundler-Dfsr6KXU.cjs"));
3622
+ const { bundleServer } = await Promise.resolve().then(() => require("./bundler-CI3elfZS.cjs"));
3623
3623
  const allConstructs = [
3624
3624
  ...endpoints.map((e) => e.construct),
3625
3625
  ...functions.map((f) => f.construct),
@@ -3793,10 +3793,10 @@ async function workspaceBuildCommand(workspace, options) {
3793
3793
  ...sandbox.env,
3794
3794
  NODE_ENV: options.production ? "production" : "development"
3795
3795
  },
3796
- timeoutMs: require_credentials.DEFAULT_TIMEOUT_MS,
3796
+ timeoutMs: require_run.DEFAULT_TIMEOUT_MS,
3797
3797
  output: "inherit"
3798
3798
  });
3799
- if (built.exitCode !== 0) throw new require_credentials.CommandFailed(turboBin, turboArgs, built.exitCode, built.signal);
3799
+ if (built.exitCode !== 0) throw new require_run.CommandFailed(turboBin, turboArgs, built.exitCode, built.signal);
3800
3800
  }
3801
3801
  for (const [appName, app] of apps) {
3802
3802
  const outputPath = getAppOutputPath(workspace, appName, app);
@@ -3913,7 +3913,11 @@ async function composeCommand(options, deps = {}) {
3913
3913
  ...options.dryRun ? { dryRun: true } : {},
3914
3914
  ...options.push ? { buildOnly: true } : {},
3915
3915
  ...options.allowDevServices ? { allowDevServices: true } : {},
3916
- ...options.skipDnsCheck ? { skipDnsCheck: true } : {},
3916
+ ...options.skipDns ? { skipDns: true } : {},
3917
+ ...options.resourcesOnly ? { resourcesOnly: true } : {},
3918
+ ...options.skipResources ? { skipResources: true } : {},
3919
+ ...options.rotateKeys ? { rotateKeys: true } : {},
3920
+ ...options.retireOldKeys ? { retireOldKeys: true } : {},
3917
3921
  logger: {
3918
3922
  info: (message) => console.log(message),
3919
3923
  warn: (message) => console.warn(message),
@@ -4183,7 +4187,7 @@ async function statePushCommand(options) {
4183
4187
  */
4184
4188
  async function stateShowCommand(options) {
4185
4189
  const { workspace } = await require_config.loadWorkspaceConfig();
4186
- const stored = await (await require_seeds.createStateStore({
4190
+ const stored = await (await require_sniffer.createStateStore({
4187
4191
  config: workspace.state,
4188
4192
  workspaceRoot: workspace.root,
4189
4193
  workspaceName: workspace.name
@@ -4210,7 +4214,7 @@ async function stateShowCommand(options) {
4210
4214
  */
4211
4215
  async function stateUnlockCommand(options) {
4212
4216
  const { workspace } = await require_config.loadWorkspaceConfig();
4213
- const holder = await (await require_seeds.createStateStore({
4217
+ const holder = await (await require_sniffer.createStateStore({
4214
4218
  config: workspace.state,
4215
4219
  workspaceRoot: workspace.root,
4216
4220
  workspaceName: workspace.name
@@ -4287,7 +4291,7 @@ async function remoteAndLocal(workspace, hint = ["Add a remote provider in gkm.c
4287
4291
  }
4288
4292
  return {
4289
4293
  local: new require_LocalStateStore.LocalStateStore(workspace.root),
4290
- remote: await require_seeds.createStateStore({
4294
+ remote: await require_sniffer.createStateStore({
4291
4295
  config: workspace.state,
4292
4296
  workspaceRoot: workspace.root,
4293
4297
  workspaceName: workspace.name
@@ -4435,7 +4439,7 @@ function printDnsRecords(resources) {
4435
4439
  */
4436
4440
  async function stateHistoryCommand(options) {
4437
4441
  const { workspace } = await require_config.loadWorkspaceConfig();
4438
- const stored = await (await require_seeds.createStateStore({
4442
+ const stored = await (await require_sniffer.createStateStore({
4439
4443
  config: workspace.state,
4440
4444
  workspaceRoot: workspace.root,
4441
4445
  workspaceName: workspace.name
@@ -5430,25 +5434,25 @@ function loadPackageJson() {
5430
5434
  * Run: pnpm --filter @geekmidas/cli sync-versions
5431
5435
  */
5432
5436
  const GEEKMIDAS_VERSIONS = {
5433
- "@geekmidas/audit": "~10.0.0-alpha.93",
5434
- "@geekmidas/auth": "~10.0.0-alpha.93",
5435
- "@geekmidas/cache": "~10.0.0-alpha.93",
5436
- "@geekmidas/client": "~10.0.0-alpha.93",
5437
- "@geekmidas/cloud": "~10.0.0-alpha.93",
5438
- "@geekmidas/constructs": "~10.0.0-alpha.93",
5439
- "@geekmidas/db": "~10.0.0-alpha.93",
5440
- "@geekmidas/emailkit": "~10.0.0-alpha.93",
5441
- "@geekmidas/envkit": "~10.0.0-alpha.93",
5442
- "@geekmidas/errors": "~10.0.0-alpha.93",
5443
- "@geekmidas/events": "~10.0.0-alpha.93",
5444
- "@geekmidas/logger": "~10.0.0-alpha.93",
5445
- "@geekmidas/manifest": "~10.0.0-alpha.93",
5446
- "@geekmidas/rate-limit": "~10.0.0-alpha.93",
5447
- "@geekmidas/schema": "~10.0.0-alpha.93",
5448
- "@geekmidas/services": "~10.0.0-alpha.93",
5449
- "@geekmidas/storage": "~10.0.0-alpha.93",
5450
- "@geekmidas/telescope": "~10.0.0-alpha.93",
5451
- "@geekmidas/testkit": "~10.0.0-alpha.93",
5437
+ "@geekmidas/audit": "~10.0.0-alpha.95",
5438
+ "@geekmidas/auth": "~10.0.0-alpha.95",
5439
+ "@geekmidas/cache": "~10.0.0-alpha.95",
5440
+ "@geekmidas/client": "~10.0.0-alpha.95",
5441
+ "@geekmidas/cloud": "~10.0.0-alpha.95",
5442
+ "@geekmidas/constructs": "~10.0.0-alpha.95",
5443
+ "@geekmidas/db": "~10.0.0-alpha.95",
5444
+ "@geekmidas/emailkit": "~10.0.0-alpha.95",
5445
+ "@geekmidas/envkit": "~10.0.0-alpha.95",
5446
+ "@geekmidas/errors": "~10.0.0-alpha.95",
5447
+ "@geekmidas/events": "~10.0.0-alpha.95",
5448
+ "@geekmidas/logger": "~10.0.0-alpha.95",
5449
+ "@geekmidas/manifest": "~10.0.0-alpha.95",
5450
+ "@geekmidas/rate-limit": "~10.0.0-alpha.95",
5451
+ "@geekmidas/schema": "~10.0.0-alpha.95",
5452
+ "@geekmidas/services": "~10.0.0-alpha.95",
5453
+ "@geekmidas/storage": "~10.0.0-alpha.95",
5454
+ "@geekmidas/telescope": "~10.0.0-alpha.95",
5455
+ "@geekmidas/testkit": "~10.0.0-alpha.95",
5452
5456
  "@geekmidas/cli": `~${loadPackageJson().version}`
5453
5457
  };
5454
5458
  //#endregion
@@ -5849,7 +5853,7 @@ const COMMIT = /^[0-9a-f]{40}$/;
5849
5853
  * The `uses:` value for the stages action, with a comment saying which CLI
5850
5854
  * release the pinned commit is.
5851
5855
  */
5852
- function stagesActionUses(commit = "a619ff213e362417b184dff08c8175a86f5d9d07", version = cliVersion()) {
5856
+ function stagesActionUses(commit = "6872ad96b3244965b8a15e38e14ce79b966d5fba", version = cliVersion()) {
5853
5857
  return commit && COMMIT.test(commit) ? `${STAGES_ACTION}@${commit} # @geekmidas/cli ${version}` : `${STAGES_ACTION}@main # pin to a commit SHA: see the action's README`;
5854
5858
  }
5855
5859
  //#endregion
@@ -6101,6 +6105,7 @@ function stagesJob(options) {
6101
6105
  has-build: \${{ steps.stages.outputs.has-build }}
6102
6106
  has-deploy: \${{ steps.stages.outputs.has-deploy }}
6103
6107
  aws-region: \${{ steps.stages.outputs.aws-region }}
6108
+ resources: \${{ steps.stages.outputs.resources }}
6104
6109
  steps:
6105
6110
  - uses: actions/checkout@v4
6106
6111
 
@@ -6118,6 +6123,10 @@ ${pm.setup}
6118
6123
  stage: \${{ inputs.stage }}
6119
6124
  `;
6120
6125
  }
6126
+ /** Every step in `steps` run only when `condition` holds. */
6127
+ function onlyIf(steps, condition) {
6128
+ return steps.replace(/^ {6}- /gm, ` - if: ${condition}\n `);
6129
+ }
6121
6130
  /**
6122
6131
  * The registry login a compose build pushes with: GitHub's own token on
6123
6132
  * ghcr.io, otherwise a username variable and a password secret.
@@ -6142,6 +6151,11 @@ function registryLogin(registry) {
6142
6151
  * `ref` — then that commit's push build, whose digests pin each image. Over
6143
6152
  * SSH, with a pinned host key, the server checks the commit out and runs
6144
6153
  * `gkm compose` on exactly those images.
6154
+ * - Resources: where the stage has some the deploy creates — a provider's
6155
+ * bucket and key, DNS records through a provider — the runner creates them
6156
+ * first (`gkm deploy --resources-only`) with the stage's role and the DNS
6157
+ * token from its environment, and the server deploys with
6158
+ * `--skip-resources`: neither credential reaches the server.
6145
6159
  */
6146
6160
  function composeDeploy(options) {
6147
6161
  const pm = tooling(options);
@@ -6217,6 +6231,13 @@ ${registryLogin(registry)}
6217
6231
  permissions:
6218
6232
  contents: read
6219
6233
  actions: read
6234
+ id-token: write
6235
+ env:
6236
+ # Whether the stage has resources the deploy creates — a provider's
6237
+ # bucket and key (deploy.<kind>.<stage>), DNS records through a provider
6238
+ # in dns: the runner creates them with the stage's role and DNS token,
6239
+ # so neither reaches the server, which deploys with --skip-resources.
6240
+ RESOURCES_ON_RUNNER: \${{ contains(fromJSON(needs.stages.outputs.resources || '[]'), matrix.stage) }}
6220
6241
  steps:
6221
6242
  # A release deploys its tag's commit, never its target_commitish — the
6222
6243
  # branch it was drafted against, which has moved on since.
@@ -6239,6 +6260,40 @@ ${registryLogin(registry)}
6239
6260
  REF: \${{ inputs.ref }}
6240
6261
  SHA: \${{ github.sha }}
6241
6262
 
6263
+ # The deploy's resources, here on the runner: each provider's bucket
6264
+ # and key (written into the stage's secrets store), and every public
6265
+ # host's DNS record — a new app's included, one per host, never a
6266
+ # wildcard — written through the provider where it is missing or out of
6267
+ # date and read back from it. The stage's secrets (GKM_SERVER_IPV4
6268
+ # among them) are read with the stage's role; the DNS token is a secret
6269
+ # on this stage's environment. A missing credential fails here, before
6270
+ # anything is deployed.
6271
+ - name: Check out the commit
6272
+ if: env.RESOURCES_ON_RUNNER == 'true'
6273
+ uses: actions/checkout@v4
6274
+ with:
6275
+ ref: \${{ steps.commit.outputs.sha }}
6276
+
6277
+ ${onlyIf(pm.setup, "env.RESOURCES_ON_RUNNER == 'true'")}
6278
+ - name: Install
6279
+ if: env.RESOURCES_ON_RUNNER == 'true'
6280
+ run: ${pm.install}
6281
+
6282
+ - name: Assume the stage's AWS role
6283
+ if: env.RESOURCES_ON_RUNNER == 'true' && needs.stages.outputs.aws-region != ''
6284
+ uses: aws-actions/configure-aws-credentials@v4
6285
+ with:
6286
+ role-to-assume: \${{ vars.AWS_ROLE_ARN }}
6287
+ aws-region: \${{ needs.stages.outputs.aws-region }}
6288
+
6289
+ - name: Create the stage's resources
6290
+ if: env.RESOURCES_ON_RUNNER == 'true'
6291
+ run: ${pm.exec} gkm deploy --stage "$STAGE" --resources-only
6292
+ env:
6293
+ STAGE: \${{ matrix.stage }}
6294
+ GODADDY_API_TOKEN: \${{ secrets.GODADDY_API_TOKEN }}
6295
+ HOSTINGER_API_TOKEN: \${{ secrets.HOSTINGER_API_TOKEN }}
6296
+
6242
6297
  # The push run of this workflow that built the commit for this stage:
6243
6298
  # this run on a push, the newest one with the stage's digests otherwise.
6244
6299
  - name: Find the commit's push build
@@ -6300,9 +6355,9 @@ ${registryLogin(registry)}
6300
6355
  if [ -f digests.json ]; then digests=$(base64 -w0 < digests.json); fi
6301
6356
  ssh -i ~/.ssh/deploy_key -o IdentitiesOnly=yes -o StrictHostKeyChecking=yes \\
6302
6357
  "$DEPLOY_USER@$DEPLOY_HOST" \\
6303
- "bash -s -- $(printf '%q ' "$STAGE" "$SHA" "$DEPLOY_PATH" "$digests")" <<'REMOTE'
6358
+ "bash -s -- $(printf '%q ' "$STAGE" "$SHA" "$DEPLOY_PATH" "$digests" "$RESOURCES_ON_RUNNER")" <<'REMOTE'
6304
6359
  set -euo pipefail
6305
- stage=$1 sha=$2 dir=$3 digests=$4
6360
+ stage=$1 sha=$2 dir=$3 digests=$4 resources_on_runner=$5
6306
6361
  cd "$dir"
6307
6362
  git fetch --quiet origin
6308
6363
  git checkout --quiet --detach "$sha"
@@ -6313,6 +6368,8 @@ ${registryLogin(registry)}
6313
6368
  printf '%s' "$digests" | base64 -d > ".gkm/digests-$stage.json"
6314
6369
  args+=(--digests-file ".gkm/digests-$stage.json")
6315
6370
  fi
6371
+ # Created and confirmed from the runner already.
6372
+ if [ "$resources_on_runner" = true ]; then args+=(--skip-resources); fi
6316
6373
  ${pm.exec} gkm compose "\${args[@]}"
6317
6374
  REMOTE
6318
6375
  env:
@@ -6361,7 +6418,9 @@ function targetDeploy(options) {
6361
6418
  `;
6362
6419
  const deployEnv = sst ? "" : `
6363
6420
  DOKPLOY_API_TOKEN: \${{ secrets.DOKPLOY_API_TOKEN }}
6364
- DOKPLOY_ENDPOINT: \${{ vars.DOKPLOY_ENDPOINT }}`;
6421
+ DOKPLOY_ENDPOINT: \${{ vars.DOKPLOY_ENDPOINT }}
6422
+ GODADDY_API_TOKEN: \${{ secrets.GODADDY_API_TOKEN }}
6423
+ HOSTINGER_API_TOKEN: \${{ secrets.HOSTINGER_API_TOKEN }}`;
6365
6424
  return `${deployHeader(false)}
6366
6425
  jobs:
6367
6426
  ${stagesJob(options)}
@@ -11133,6 +11192,7 @@ function maskUrl(url) {
11133
11192
  //#endregion
11134
11193
  //#region src/setup/index.ts
11135
11194
  var setup_exports = /* @__PURE__ */ require_rolldown_runtime.__exportAll({
11195
+ SetupIsLocal: () => SetupIsLocal,
11136
11196
  createFreshWorkspaceSecrets: () => createFreshWorkspaceSecrets,
11137
11197
  ensureStageSecrets: () => ensureStageSecrets,
11138
11198
  reconcileSecrets: () => reconcileSecrets,
@@ -11140,14 +11200,21 @@ var setup_exports = /* @__PURE__ */ require_rolldown_runtime.__exportAll({
11140
11200
  });
11141
11201
  const logger$1 = console;
11142
11202
  /**
11143
- * Converge a stage on what its constructs declare.
11144
- *
11145
- * The local stage: its secrets (local → the stage's store → generated) and
11146
- * the containers on this machine. A deployed stage: its secrets, and then
11147
- * every provider `deploy.<kind>.<stage>` names — the bucket, user and key an
11148
- * `objects: { provider: 's3' }` stage is backed by — created or repaired in
11149
- * the stage's own account. A deployed stage's infrastructure is not on this
11150
- * machine, so no container is started for one.
11203
+ * `gkm setup --stage <deployed stage>`: setup is this machine's, done once,
11204
+ * and creates nothing for a deployed stage — the deploy does.
11205
+ */
11206
+ var SetupIsLocal = class extends require_errors.GkmError {
11207
+ stage;
11208
+ constructor(stage) {
11209
+ super(`gkm setup sets up this machine — its secrets and its containers — and '${stage}' is a deployed stage: nothing of it is set up from here. The deploy creates what '${stage}' needs — its buckets and keys, its DNS records — every time it runs: gkm deploy --stage ${stage} (gkm compose --stage ${stage} is the same deploy). Its --dry-run prints what it would create.`);
11210
+ this.stage = stage;
11211
+ this.name = "SetupIsLocal";
11212
+ }
11213
+ };
11214
+ /**
11215
+ * Set this machine up for the workspace, once: the local stage's secrets
11216
+ * (local → the stage's store → generated) and its containers. A deployed
11217
+ * stage is refused with {@link SetupIsLocal}: its resources are the deploy's.
11151
11218
  */
11152
11219
  async function setupCommand(options = {}) {
11153
11220
  let loadedConfig;
@@ -11159,27 +11226,15 @@ async function setupCommand(options = {}) {
11159
11226
  }
11160
11227
  const stage = options.stage ?? loadedConfig.workspace.stages.local;
11161
11228
  const { workspace } = loadedConfig;
11162
- const local = stage === workspace.stages.local;
11163
- logger$1.log(local ? "\n🔧 Setting up the local environment...\n" : `\n☁️ Provisioning the '${stage}' stage${options.dryRun ? " (dry run)" : ""}...\n`);
11229
+ if (workspace.stages.deployed.includes(stage)) throw new SetupIsLocal(stage);
11230
+ logger$1.log("\n🔧 Setting up the local environment...\n");
11164
11231
  logger$1.log(`📦 Workspace: ${workspace.name}`);
11165
11232
  logger$1.log(`📱 Apps: ${Object.keys(workspace.apps).join(", ")}`);
11166
11233
  logger$1.log(`🔑 Stage: ${stage}\n`);
11167
- if (!local) {
11168
- const store = await require_seeds.secretsStoreFor(workspace, stage, { ...options.profile ? { profile: options.profile } : {} });
11169
- require_seeds.assertStageServer(workspace, stage, await store.read(stage));
11170
- }
11171
- if (!local && options.dryRun) {
11172
- await provisionDeployed(workspace, stage, options);
11173
- return;
11174
- }
11175
11234
  if (!await resolveSecrets(stage, workspace, options)) {
11176
11235
  logger$1.error("❌ Failed to resolve secrets. Exiting.");
11177
11236
  process.exit(1);
11178
11237
  }
11179
- if (!local) {
11180
- await provisionDeployed(workspace, stage, options);
11181
- return;
11182
- }
11183
11238
  if (!options.skipDocker) {
11184
11239
  logger$1.log("");
11185
11240
  await reconcileLocal(workspace, stage, options);
@@ -11187,33 +11242,6 @@ async function setupCommand(options = {}) {
11187
11242
  printSummary(workspace, stage);
11188
11243
  }
11189
11244
  /**
11190
- * A deployed stage's providers: each one's `ensure()`, in the stage's own
11191
- * account, its keys written into the stage's secrets.
11192
- */
11193
- async function provisionDeployed(workspace, stage, options) {
11194
- logger$1.log(options.dryRun ? `\n☁️ Providers for '${stage}' (dry run — nothing is created or written)` : `\n☁️ Providers for '${stage}'`);
11195
- const configured = (await require_seeds.provisionStage({
11196
- workspace,
11197
- stage,
11198
- ...options.dryRun ? { dryRun: true } : {},
11199
- ...options.profile ? { profile: options.profile } : {},
11200
- ...options.rotateKeys ? { rotateKeys: true } : {},
11201
- ...options.retireOldKeys ? { retireOldKeys: true } : {},
11202
- log: (line) => logger$1.log(line)
11203
- })).filter((r) => r.mode === "provider");
11204
- if (configured.length === 0) logger$1.log(` None configured: '${stage}' takes every key from its secrets (gkm secrets:add --stage ${stage}). Name one in gkm.config.ts — deploy: { objects: { ${stage}: { provider: 's3' } } } — to have ${require_seeds.provisionCommand(stage)} create it.`);
11205
- const dns = await require_seeds.provisionStageDns({
11206
- workspace,
11207
- stage,
11208
- ...options.dryRun ? { dryRun: true } : {},
11209
- ...options.profile ? { profile: options.profile } : {},
11210
- log: (line) => logger$1.log(line)
11211
- });
11212
- const changes = configured.reduce((n, r) => n + r.actions.length, 0) + dns.changes.filter((c) => c.action !== "unchanged" && c.action !== "manual").length;
11213
- if (configured.length === 0 && dns.mode === "none") return;
11214
- logger$1.log(options.dryRun ? `\n${changes === 0 ? "✅ Nothing to change" : `📋 ${changes} change${changes === 1 ? "" : "s"} planned`}` : `\n✅ '${stage}' provisioned${changes === 0 ? " — already up to date" : ` (${changes} change${changes === 1 ? "" : "s"})`}`);
11215
- }
11216
- /**
11217
11245
  * Converge this machine on what the manifest declares.
11218
11246
  *
11219
11247
  * Says what it did in one line and stays silent when it did nothing, because
@@ -11238,7 +11266,7 @@ async function reconcileLocal(workspace, stage, options) {
11238
11266
  /**
11239
11267
  * Resolve secrets with priority:
11240
11268
  * 1. Local secrets exist → use them (preserves manual additions)
11241
- * 2. A deployed stage whose store has secrets → pull and use
11269
+ * 2. The stage's store has secrets → use them
11242
11270
  * 3. Neither → generate fresh secrets
11243
11271
  *
11244
11272
  * --force skips checks 1 and 2 and always regenerates.
@@ -11565,7 +11593,7 @@ function testDatabases(reconciled) {
11565
11593
  * starts without the reference data the app needs.
11566
11594
  */
11567
11595
  async function migrateTestStage(workspace, env) {
11568
- const { migrateAndSeed } = await Promise.resolve().then(() => require("./migrate-C8wTpakT.cjs"));
11596
+ const { migrateAndSeed } = await Promise.resolve().then(() => require("./migrate-afgRL3Hg.cjs"));
11569
11597
  const { discover } = await Promise.resolve().then(() => require("./discover-DPgu-ScS.cjs")).then((n) => n.discover_exports);
11570
11598
  const sources = {};
11571
11599
  const manifest = await discover({
@@ -11919,7 +11947,7 @@ program.command("trust").description("Trust the local edge's certificate authori
11919
11947
  exitWithError(error);
11920
11948
  }
11921
11949
  });
11922
- program.command("setup").description("Reconcile declared constructs — locally, containers and secrets; on a deployed stage, its providers (deploy.objects)").option("--stage <stage>", "Stage name (default: stages.local)").option("--force", "Regenerate secrets even if they exist").option("--skip-docker", "Skip starting Docker services").option("-y, --yes", "Skip prompts").option("--dry-run", "A deployed stage: print what its providers would create or change, and write nothing").option("--profile <profile>", "AWS profile for the stage's account").option("--rotate-keys", "A deployed stage: issue each provisioned key a successor (the old one is deleted after the next deploy)").option("--retire-old-keys", "A deployed stage: delete a rotated-out key now instead of after the next deploy").action(async (options) => {
11950
+ program.command("setup").description("Set this machine up for the workspace, once: the local stage's secrets and containers. A deployed stage's resources are created by its deploy").option("--stage <stage>", "Stage name (default: stages.local); never a deployed stage").option("--force", "Regenerate secrets even if they exist").option("--skip-docker", "Skip starting Docker services").option("-y, --yes", "Skip prompts").action(async (options) => {
11923
11951
  try {
11924
11952
  const globalOptions = program.opts();
11925
11953
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
@@ -12001,7 +12029,7 @@ program.command("migrate").description("Apply each database construct's migratio
12001
12029
  try {
12002
12030
  const globalOptions = program.opts();
12003
12031
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
12004
- const { migrateCommand } = await Promise.resolve().then(() => require("./migrate-C8wTpakT.cjs"));
12032
+ const { migrateCommand } = await Promise.resolve().then(() => require("./migrate-afgRL3Hg.cjs"));
12005
12033
  await migrateCommand({
12006
12034
  ...options,
12007
12035
  ...construct ? { construct } : {}
@@ -12014,7 +12042,7 @@ program.command("seed").description("Migrate, then run each database construct's
12014
12042
  try {
12015
12043
  const globalOptions = program.opts();
12016
12044
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
12017
- const { seedCommand } = await Promise.resolve().then(() => require("./migrate-C8wTpakT.cjs"));
12045
+ const { seedCommand } = await Promise.resolve().then(() => require("./migrate-afgRL3Hg.cjs"));
12018
12046
  await seedCommand({
12019
12047
  ...options,
12020
12048
  ...construct ? { construct } : {}
@@ -12027,7 +12055,7 @@ program.command("migration").description("Write a construct's next migration: an
12027
12055
  try {
12028
12056
  const globalOptions = program.opts();
12029
12057
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
12030
- const { migrationCommand } = await Promise.resolve().then(() => require("./migrate-C8wTpakT.cjs"));
12058
+ const { migrationCommand } = await Promise.resolve().then(() => require("./migrate-afgRL3Hg.cjs"));
12031
12059
  await migrationCommand({
12032
12060
  construct,
12033
12061
  ...name ? { name } : {}
@@ -12073,7 +12101,7 @@ program.command("docker").description("Generate Docker deployment files").option
12073
12101
  exitWithError(error);
12074
12102
  }
12075
12103
  });
12076
- program.command("compose").description("Run the workspace's APIs and sites for a stage as one Docker Compose stack behind Caddy").requiredOption("--stage <stage>", "Stage to run — always named, so a stack is never a deployed stage by accident").option("--tag <tag>", "Run the images CI pushed at this tag (sites: <tag>-<stage>); nothing is built").option("--build", "Build images from this checkout, tagged with the commit").option("--pull", "Pull images (at --tag, or latest) rather than build them").option("--push", "With --build: push every image to deploy.registry and start nothing (for CI)").option("--digests-file <path>", "With --push: write each image as <ref>@sha256:… (JSON). With --tag: run the images at those digests").option("--dry-run", "Write the files and print the plan; start nothing").option("--down", "Stop the stage's stack (its volumes are kept)").option("--allow-dev-services", "Deployed stage: run the dev service (MinIO, Mailpit) for every bucket and mail the stage doesn't account for. Not production-grade").option("--skip-dns-check", "Deployed stage: 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) => {
12104
+ program.command("compose").description("Run the workspace's APIs and sites for a stage as one Docker Compose stack behind Caddy").requiredOption("--stage <stage>", "Stage to run — always named, so a stack is never a deployed stage by accident").option("--tag <tag>", "Run the images CI pushed at this tag (sites: <tag>-<stage>); nothing is built").option("--build", "Build images from this checkout, tagged with the commit").option("--pull", "Pull images (at --tag, or latest) rather than build them").option("--push", "With --build: push every image to deploy.registry and start nothing (for CI)").option("--digests-file <path>", "With --push: write each image as <ref>@sha256:… (JSON). With --tag: run the images at those digests").option("--dry-run", "Write the files and print the plan; start nothing").option("--down", "Stop the stage's stack (its volumes are kept)").option("--allow-dev-services", "Deployed stage: run the dev service (MinIO, Mailpit) for every bucket and mail the stage doesn't account for. Not production-grade").option("--skip-dns", "Deployed stage: neither write the public hosts' DNS records nor check they point at GKM_SERVER_IPV4 (a CDN or proxy in front, or records written elsewhere)").option("--resources-only", "Deployed stage: create its resources — deploy.<kind>.<stage> providers' buckets and keys, and its DNS records — and nothing else (a CI runner, before the server deploys)").option("--skip-resources", "Deployed stage: an earlier --resources-only run created its resources; run no provider and write or check no DNS record").option("--rotate-keys", "Deployed stage: each provider issues its runtime keys a successor (the old one is deleted by the next deploy)").option("--retire-old-keys", "Deployed stage: delete a rotated-out key now instead of on the next deploy").action(async (options) => {
12077
12105
  try {
12078
12106
  const globalOptions = program.opts();
12079
12107
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
@@ -12127,7 +12155,7 @@ program.command("secrets:add").description("Build the keys a stage must be given
12127
12155
  try {
12128
12156
  const globalOptions = program.opts();
12129
12157
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
12130
- const { secretsAddCommand } = await Promise.resolve().then(() => require("./add-VcyJnsPX.cjs"));
12158
+ const { secretsAddCommand } = await Promise.resolve().then(() => require("./add-D-3IKT7W.cjs"));
12131
12159
  await secretsAddCommand(options);
12132
12160
  } catch (error) {
12133
12161
  exitWithError(error);
@@ -12137,7 +12165,7 @@ program.command("encryption:rotate").description("Add a new current key to an En
12137
12165
  try {
12138
12166
  const globalOptions = program.opts();
12139
12167
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
12140
- const { encryptionRotateCommand } = await Promise.resolve().then(() => require("./encryption-D7zmwzWz.cjs"));
12168
+ const { encryptionRotateCommand } = await Promise.resolve().then(() => require("./encryption-Dp0IvLVX.cjs"));
12141
12169
  await encryptionRotateCommand(construct, options);
12142
12170
  } catch (error) {
12143
12171
  exitWithError(error);
@@ -12147,7 +12175,7 @@ program.command("encryption:retire").description("Remove an old key from an Encr
12147
12175
  try {
12148
12176
  const globalOptions = program.opts();
12149
12177
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
12150
- const { encryptionRetireCommand } = await Promise.resolve().then(() => require("./encryption-D7zmwzWz.cjs"));
12178
+ const { encryptionRetireCommand } = await Promise.resolve().then(() => require("./encryption-Dp0IvLVX.cjs"));
12151
12179
  await encryptionRetireCommand(construct, key, options);
12152
12180
  } catch (error) {
12153
12181
  exitWithError(error);
@@ -12186,7 +12214,7 @@ program.command("secrets:reconcile").description("Backfill missing custom secret
12186
12214
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
12187
12215
  const { loadWorkspaceConfig } = await Promise.resolve().then(() => require("./config.cjs"));
12188
12216
  const { reconcileMissingSecrets } = await Promise.resolve().then(() => require("./reconcile-CuCQBa5-.cjs"));
12189
- const { secretsStoreFor } = await Promise.resolve().then(() => require("./seeds-c-ByX9je.cjs")).then((n) => n.store_exports);
12217
+ const { secretsStoreFor } = await Promise.resolve().then(() => require("./seeds-CnXkgKUv.cjs")).then((n) => n.store_exports);
12190
12218
  const { workspace } = await loadWorkspaceConfig();
12191
12219
  const stage = options.stage ?? workspace.stages.local;
12192
12220
  const store = await secretsStoreFor(workspace, stage);
@@ -12195,7 +12223,7 @@ program.command("secrets:reconcile").description("Backfill missing custom secret
12195
12223
  console.error(`No secrets found for stage "${stage}". Run "gkm secrets:init --stage ${stage}" first.`);
12196
12224
  process.exit(1);
12197
12225
  }
12198
- const { derivedContainers } = await Promise.resolve().then(() => require("./seeds-c-ByX9je.cjs")).then((n) => n.workspace_exports);
12226
+ const { derivedContainers } = await Promise.resolve().then(() => require("./seeds-CnXkgKUv.cjs")).then((n) => n.workspace_exports);
12199
12227
  const result = reconcileMissingSecrets(secrets, workspace, await derivedContainers(workspace, stage));
12200
12228
  if (!result) {
12201
12229
  console.log(`\n✓ Secrets for stage "${stage}" are up-to-date`);
@@ -12212,14 +12240,14 @@ program.command("secrets:migrate").description("Copy a deployed stage's secrets
12212
12240
  try {
12213
12241
  const globalOptions = program.opts();
12214
12242
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
12215
- const { secretsMigrateCommand } = await Promise.resolve().then(() => require("./migrate-DFjbGnSr.cjs"));
12243
+ const { secretsMigrateCommand } = await Promise.resolve().then(() => require("./migrate-BBcG1dhS.cjs"));
12216
12244
  await secretsMigrateCommand(options);
12217
12245
  } catch (error) {
12218
12246
  exitWithError(error);
12219
12247
  }
12220
12248
  });
12221
- 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) => {
12222
- const { deployCli } = await Promise.resolve().then(() => require("./cli-DL19w4OE.cjs"));
12249
+ 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", "Compose: neither write the public hosts' DNS records nor check they point at GKM_SERVER_IPV4 (a CDN or proxy in front, or records written elsewhere)").option("--resources-only", "Deployed stage: create its resources — deploy.<kind>.<stage> providers' buckets and keys, and its DNS records — and nothing else (a CI runner, before the server deploys)").option("--skip-resources", "Deployed stage: an earlier --resources-only run created its resources; run no provider and write or check no DNS record").option("--rotate-keys", "Deployed stage: each provider issues its runtime keys a successor (the old one is deleted by the next deploy)").option("--retire-old-keys", "Deployed stage: delete a rotated-out key now instead of on the next deploy").action(async (options) => {
12250
+ const { deployCli } = await Promise.resolve().then(() => require("./cli-Dewt2T21.cjs"));
12223
12251
  const globalOptions = program.opts();
12224
12252
  const code = await deployCli({
12225
12253
  cwd: (0, node_path.resolve)(globalOptions.cwd ?? process.cwd()),
@@ -12231,14 +12259,18 @@ program.command("deploy").description("Deploy a stage through its target").optio
12231
12259
  ...options.dryRun ? { dryRun: true } : {},
12232
12260
  ...options.atomic ? { atomic: true } : {},
12233
12261
  ...options.allowDevServices ? { allowDevServices: true } : {},
12234
- ...options.skipDnsCheck ? { skipDnsCheck: true } : {}
12262
+ ...options.skipDns ? { skipDns: true } : {},
12263
+ ...options.resourcesOnly ? { resourcesOnly: true } : {},
12264
+ ...options.skipResources ? { skipResources: true } : {},
12265
+ ...options.rotateKeys ? { rotateKeys: true } : {},
12266
+ ...options.retireOldKeys ? { retireOldKeys: true } : {}
12235
12267
  });
12236
12268
  if (code !== 0) process.exit(code);
12237
12269
  });
12238
12270
  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) => {
12239
12271
  try {
12240
- const { rollbackStage } = await Promise.resolve().then(() => require("./rollback--ympG9ss.cjs")).then((n) => n.rollback_exports);
12241
- const { terminalCredentials } = await Promise.resolve().then(() => require("./terminal-8XngdSTo.cjs"));
12272
+ const { rollbackStage } = await Promise.resolve().then(() => require("./rollback-B-1dPP0m.cjs")).then((n) => n.rollback_exports);
12273
+ const { terminalCredentials } = await Promise.resolve().then(() => require("./terminal-CPHuH4S1.cjs"));
12242
12274
  const globalOptions = program.opts();
12243
12275
  await rollbackStage({
12244
12276
  cwd: (0, node_path.resolve)(globalOptions.cwd ?? process.cwd()),
@@ -12271,7 +12303,7 @@ program.command("deploy:github").description("Let GitHub Actions deploy a stage:
12271
12303
  try {
12272
12304
  const globalOptions = program.opts();
12273
12305
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
12274
- const { deployGithubCommand } = await Promise.resolve().then(() => require("./github-zneTMvnO.cjs"));
12306
+ const { deployGithubCommand } = await Promise.resolve().then(() => require("./github-DgmW83OP.cjs"));
12275
12307
  await deployGithubCommand(options);
12276
12308
  } catch (error) {
12277
12309
  exitWithError(error);
@@ -12281,7 +12313,7 @@ program.command("stages").description("The workspace's stages from gkm.config.ts
12281
12313
  try {
12282
12314
  const globalOptions = program.opts();
12283
12315
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
12284
- const { stagesCommand } = await Promise.resolve().then(() => require("./stages-BI8JvPzI.cjs"));
12316
+ const { stagesCommand } = await Promise.resolve().then(() => require("./stages-BujUB4we.cjs"));
12285
12317
  await stagesCommand(options);
12286
12318
  } catch (error) {
12287
12319
  exitWithError(error);