@geekmidas/cli 10.0.0-alpha.71 → 10.0.0-alpha.73

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 (191) hide show
  1. package/dist/{OpenApiTsGenerator-DZZwHdDC.cjs → EndpointGenerator-CP6sBvQV.cjs} +7 -513
  2. package/dist/EndpointGenerator-CP6sBvQV.cjs.map +1 -0
  3. package/dist/{OpenApiTsGenerator-Bhr_XWWN.mjs → EndpointGenerator-DftalLYg.mjs} +6 -512
  4. package/dist/EndpointGenerator-DftalLYg.mjs.map +1 -0
  5. package/dist/{LegacyStateStore-NSHEinQi.mjs → LegacyStateStore-DTo7z924.mjs} +2 -2
  6. package/dist/{LegacyStateStore-NSHEinQi.mjs.map → LegacyStateStore-DTo7z924.mjs.map} +1 -1
  7. package/dist/{LegacyStateStore-Dd5IwiyC.cjs → LegacyStateStore-D_78eaHM.cjs} +2 -2
  8. package/dist/{LegacyStateStore-Dd5IwiyC.cjs.map → LegacyStateStore-D_78eaHM.cjs.map} +1 -1
  9. package/dist/{LocalStateStore-DTylG4T4.cjs → LocalStateStore-BhrlQIXD.cjs} +2 -2
  10. package/dist/{LocalStateStore-DTylG4T4.cjs.map → LocalStateStore-BhrlQIXD.cjs.map} +1 -1
  11. package/dist/{LocalStateStore-DUoG2wA_.mjs → LocalStateStore-CNjgkRk4.mjs} +2 -2
  12. package/dist/{LocalStateStore-DUoG2wA_.mjs.map → LocalStateStore-CNjgkRk4.mjs.map} +1 -1
  13. package/dist/OpenApiTsGenerator-CKBCckKz.cjs +514 -0
  14. package/dist/OpenApiTsGenerator-CKBCckKz.cjs.map +1 -0
  15. package/dist/OpenApiTsGenerator-nu1r1NgB.mjs +509 -0
  16. package/dist/OpenApiTsGenerator-nu1r1NgB.mjs.map +1 -0
  17. package/dist/{S3StateStore-Dxob3PNA.mjs → S3StateStore-g2P7T_Mo.mjs} +2 -2
  18. package/dist/{S3StateStore-Dxob3PNA.mjs.map → S3StateStore-g2P7T_Mo.mjs.map} +1 -1
  19. package/dist/{S3StateStore-D7hrU-sy.cjs → S3StateStore-oCxRs6HM.cjs} +2 -2
  20. package/dist/{S3StateStore-D7hrU-sy.cjs.map → S3StateStore-oCxRs6HM.cjs.map} +1 -1
  21. package/dist/{SSMStateStore-Dvl4A8Up.mjs → SSMStateStore-CYenunmK.mjs} +2 -2
  22. package/dist/{SSMStateStore-Dvl4A8Up.mjs.map → SSMStateStore-CYenunmK.mjs.map} +1 -1
  23. package/dist/{SSMStateStore-DGIKJ4NN.cjs → SSMStateStore-DXp0m7XI.cjs} +2 -2
  24. package/dist/{SSMStateStore-DGIKJ4NN.cjs.map → SSMStateStore-DXp0m7XI.cjs.map} +1 -1
  25. package/dist/SubscriberGenerator-Bixm28fN.cjs +461 -0
  26. package/dist/SubscriberGenerator-Bixm28fN.cjs.map +1 -0
  27. package/dist/SubscriberGenerator-DZk_pKDh.mjs +432 -0
  28. package/dist/SubscriberGenerator-DZk_pKDh.mjs.map +1 -0
  29. package/dist/{add-XTLU19_E.mjs → add-BiPlBUq3.mjs} +4 -4
  30. package/dist/{add-XTLU19_E.mjs.map → add-BiPlBUq3.mjs.map} +1 -1
  31. package/dist/{add-DeC2Kyyv.cjs → add-C1ojB2Yy.cjs} +4 -4
  32. package/dist/{add-DeC2Kyyv.cjs.map → add-C1ojB2Yy.cjs.map} +1 -1
  33. package/dist/{bundler-CNTVLCCA.mjs → bundler-C2LZoLdP.mjs} +6 -6
  34. package/dist/bundler-C2LZoLdP.mjs.map +1 -0
  35. package/dist/{bundler-CEaR6Dpb.cjs → bundler-C35h0WKt.cjs} +6 -6
  36. package/dist/bundler-C35h0WKt.cjs.map +1 -0
  37. package/dist/{cli-D1arS0p1.mjs → cli-BfdfyTF6.mjs} +4 -4
  38. package/dist/{cli-D1arS0p1.mjs.map → cli-BfdfyTF6.mjs.map} +1 -1
  39. package/dist/{cli-MMgBrHx7.cjs → cli-DJVL2sL9.cjs} +4 -4
  40. package/dist/{cli-MMgBrHx7.cjs.map → cli-DJVL2sL9.cjs.map} +1 -1
  41. package/dist/{compose-T3hnnjKZ.mjs → compose-9II-0IsK.mjs} +221 -64
  42. package/dist/compose-9II-0IsK.mjs.map +1 -0
  43. package/dist/{compose-B-MME-4C.cjs → compose-CNnw8meq.cjs} +223 -66
  44. package/dist/compose-CNnw8meq.cjs.map +1 -0
  45. package/dist/{config-BN6iXvyR.d.mts → config-B8OR_TrO.d.mts} +3 -3
  46. package/dist/{config-BN6iXvyR.d.mts.map → config-B8OR_TrO.d.mts.map} +1 -1
  47. package/dist/{config-j9zBKaEG.d.cts → config-RLuR2o9A.d.cts} +3 -3
  48. package/dist/{config-j9zBKaEG.d.cts.map → config-RLuR2o9A.d.cts.map} +1 -1
  49. package/dist/config.cjs +4 -1
  50. package/dist/config.cjs.map +1 -1
  51. package/dist/config.d.cts +3 -3
  52. package/dist/config.d.mts +3 -3
  53. package/dist/config.mjs +4 -1
  54. package/dist/config.mjs.map +1 -1
  55. package/dist/{credentialSchemas-BmYxnEz_.mjs → credentialSchemas-BJqRJNK4.mjs} +2 -2
  56. package/dist/{credentialSchemas-BmYxnEz_.mjs.map → credentialSchemas-BJqRJNK4.mjs.map} +1 -1
  57. package/dist/{credentialSchemas-BcNL1N5R.cjs → credentialSchemas-DCR4Wd1W.cjs} +2 -2
  58. package/dist/{credentialSchemas-BcNL1N5R.cjs.map → credentialSchemas-DCR4Wd1W.cjs.map} +1 -1
  59. package/dist/deploy/public.cjs +7 -7
  60. package/dist/deploy/public.d.cts +4 -4
  61. package/dist/deploy/public.d.cts.map +1 -1
  62. package/dist/deploy/public.d.mts +4 -4
  63. package/dist/deploy/public.d.mts.map +1 -1
  64. package/dist/deploy/public.mjs +7 -7
  65. package/dist/deploy/sniffer-routes-worker.cjs +2 -2
  66. package/dist/deploy/sniffer-routes-worker.mjs +2 -2
  67. package/dist/{deploy-CZE0m6jd.cjs → deploy-BitZLdnY.cjs} +12 -6
  68. package/dist/deploy-BitZLdnY.cjs.map +1 -0
  69. package/dist/{deploy-ClC53rc6.mjs → deploy-nmov4j0B.mjs} +12 -6
  70. package/dist/deploy-nmov4j0B.mjs.map +1 -0
  71. package/dist/{discover-Buwf1z4P.mjs → discover-BPelzeGW.mjs} +21 -2
  72. package/dist/discover-BPelzeGW.mjs.map +1 -0
  73. package/dist/{discover-B_IkPukx.d.cts → discover-CU0paUyH.d.cts} +10 -1
  74. package/dist/discover-CU0paUyH.d.cts.map +1 -0
  75. package/dist/{discover-B4VjaFJk.cjs → discover-D1It5r_h.cjs} +21 -2
  76. package/dist/discover-D1It5r_h.cjs.map +1 -0
  77. package/dist/{discover-B6yPpvRV.d.mts → discover-DFiJxwfv.d.mts} +10 -1
  78. package/dist/discover-DFiJxwfv.d.mts.map +1 -0
  79. package/dist/{dokploy-D1UwQKm3.mjs → dokploy-CZ1vZt21.mjs} +2 -2
  80. package/dist/{dokploy-D1UwQKm3.mjs.map → dokploy-CZ1vZt21.mjs.map} +1 -1
  81. package/dist/{dokploy-lwmH05zr.cjs → dokploy-Ce_VTytN.cjs} +2 -2
  82. package/dist/{dokploy-lwmH05zr.cjs.map → dokploy-Ce_VTytN.cjs.map} +1 -1
  83. package/dist/{encryption-D05sNwED.cjs → encryption-CDGRdcMr.cjs} +2 -2
  84. package/dist/{encryption-D05sNwED.cjs.map → encryption-CDGRdcMr.cjs.map} +1 -1
  85. package/dist/{encryption-DcrxWl1s.mjs → encryption-CmfPICSN.mjs} +2 -2
  86. package/dist/{encryption-DcrxWl1s.mjs.map → encryption-CmfPICSN.mjs.map} +1 -1
  87. package/dist/{engine-DmQS3XHX.mjs → engine-B37qBO5W.mjs} +117 -17
  88. package/dist/engine-B37qBO5W.mjs.map +1 -0
  89. package/dist/{engine-Cry1vwMz.cjs → engine-DL2-PW6m.cjs} +117 -17
  90. package/dist/engine-DL2-PW6m.cjs.map +1 -0
  91. package/dist/{github-BchWoiVx.cjs → github-C6qF8kHg.cjs} +2 -2
  92. package/dist/{github-BchWoiVx.cjs.map → github-C6qF8kHg.cjs.map} +1 -1
  93. package/dist/{github-CqYOP8cI.mjs → github-hjHHm7jM.mjs} +2 -2
  94. package/dist/{github-CqYOP8cI.mjs.map → github-hjHHm7jM.mjs.map} +1 -1
  95. package/dist/{index-DvoxuTqR.d.mts → index-DHyTqGG3.d.mts} +2 -2
  96. package/dist/{index-Bk3NY6DN.d.cts.map → index-DHyTqGG3.d.mts.map} +1 -1
  97. package/dist/{index-Bk3NY6DN.d.cts → index-Dg-UZ4Hm.d.cts} +2 -2
  98. package/dist/{index-DvoxuTqR.d.mts.map → index-Dg-UZ4Hm.d.cts.map} +1 -1
  99. package/dist/index.cjs +124 -448
  100. package/dist/index.cjs.map +1 -1
  101. package/dist/index.mjs +118 -442
  102. package/dist/index.mjs.map +1 -1
  103. package/dist/{migrate-guck0NJK.mjs → migrate-CFFC3esE.mjs} +3 -3
  104. package/dist/{migrate-guck0NJK.mjs.map → migrate-CFFC3esE.mjs.map} +1 -1
  105. package/dist/{migrate-qKeGYq21.cjs → migrate-kA_j1TPK.cjs} +3 -3
  106. package/dist/{migrate-qKeGYq21.cjs.map → migrate-kA_j1TPK.cjs.map} +1 -1
  107. package/dist/openapi.cjs +3 -2
  108. package/dist/openapi.cjs.map +1 -1
  109. package/dist/openapi.d.cts +1 -1
  110. package/dist/openapi.d.mts +1 -1
  111. package/dist/openapi.mjs +2 -1
  112. package/dist/openapi.mjs.map +1 -1
  113. package/dist/{ready-Dp6arkI4.cjs → ready-BIuMw6wH.cjs} +66 -289
  114. package/dist/ready-BIuMw6wH.cjs.map +1 -0
  115. package/dist/{ready-xpoX11uu.mjs → ready-C0U0NYfB.mjs} +58 -281
  116. package/dist/ready-C0U0NYfB.mjs.map +1 -0
  117. package/dist/reconcile/public.cjs +1 -1
  118. package/dist/reconcile/public.d.cts +2 -2
  119. package/dist/reconcile/public.d.mts +2 -2
  120. package/dist/reconcile/public.mjs +1 -1
  121. package/dist/{resolve-BsXEXAUz.mjs → resolve-CV4eQkDa.mjs} +3 -3
  122. package/dist/{resolve-BsXEXAUz.mjs.map → resolve-CV4eQkDa.mjs.map} +1 -1
  123. package/dist/{resolve-wEjEvbJ5.cjs → resolve-E5RfY0bm.cjs} +3 -3
  124. package/dist/{resolve-wEjEvbJ5.cjs.map → resolve-E5RfY0bm.cjs.map} +1 -1
  125. package/dist/{rollback-Bk91csFg.mjs → rollback-C-V-Rf4a.mjs} +4 -4
  126. package/dist/{rollback-Bk91csFg.mjs.map → rollback-C-V-Rf4a.mjs.map} +1 -1
  127. package/dist/{rollback-DmcU-efZ.cjs → rollback-QGwomD64.cjs} +4 -4
  128. package/dist/{rollback-DmcU-efZ.cjs.map → rollback-QGwomD64.cjs.map} +1 -1
  129. package/dist/{runtime-DHJhe4QI.d.mts → runtime-CWYLIeCU.d.mts} +2 -2
  130. package/dist/{runtime-CYAO4iZG.d.cts.map → runtime-CWYLIeCU.d.mts.map} +1 -1
  131. package/dist/{runtime-CYAO4iZG.d.cts → runtime-CmuQOT6A.d.cts} +2 -2
  132. package/dist/{runtime-DHJhe4QI.d.mts.map → runtime-CmuQOT6A.d.cts.map} +1 -1
  133. package/dist/sandbox/credentials-worker.cjs +2 -2
  134. package/dist/sandbox/credentials-worker.mjs +2 -2
  135. package/dist/sandbox/discover-worker.cjs +6 -3
  136. package/dist/sandbox/discover-worker.cjs.map +1 -1
  137. package/dist/sandbox/discover-worker.mjs +6 -3
  138. package/dist/sandbox/discover-worker.mjs.map +1 -1
  139. package/dist/sandbox/migrate-worker.cjs +1 -1
  140. package/dist/sandbox/migrate-worker.mjs +1 -1
  141. package/dist/{sniffer-vAXsU_4G.mjs → sniffer-BFmdZpZ2.mjs} +6 -6
  142. package/dist/{sniffer-vAXsU_4G.mjs.map → sniffer-BFmdZpZ2.mjs.map} +1 -1
  143. package/dist/{sniffer-DpHpFZBD.cjs → sniffer-C-T7dSMN.cjs} +6 -6
  144. package/dist/{sniffer-DpHpFZBD.cjs.map → sniffer-C-T7dSMN.cjs.map} +1 -1
  145. package/dist/{state-CCuTJNRH.cjs → state-DMjFPOhf.cjs} +942 -22
  146. package/dist/state-DMjFPOhf.cjs.map +1 -0
  147. package/dist/{state-BJFherj1.mjs → state-DtS2HEfi.mjs} +877 -17
  148. package/dist/state-DtS2HEfi.mjs.map +1 -0
  149. package/dist/target/public.cjs +1 -1
  150. package/dist/target/public.d.cts +2 -2
  151. package/dist/target/public.d.mts +2 -2
  152. package/dist/target/public.mjs +1 -1
  153. package/dist/{terminal-CFO3xWoF.cjs → terminal-BL5E0xbR.cjs} +2 -2
  154. package/dist/{terminal-CFO3xWoF.cjs.map → terminal-BL5E0xbR.cjs.map} +1 -1
  155. package/dist/{terminal-C6TBo_SA.mjs → terminal-BdvrmkaC.mjs} +2 -2
  156. package/dist/{terminal-C6TBo_SA.mjs.map → terminal-BdvrmkaC.mjs.map} +1 -1
  157. package/dist/{types-DkG5WW8l.d.mts → types-BLdCL4fB.d.mts} +17 -1
  158. package/dist/types-BLdCL4fB.d.mts.map +1 -0
  159. package/dist/{types-BD1jgA85.d.cts → types-DwCQCkC-.d.cts} +17 -1
  160. package/dist/types-DwCQCkC-.d.cts.map +1 -0
  161. package/dist/vitest.cjs +1 -1
  162. package/dist/vitest.mjs +1 -1
  163. package/dist/workspace/index.d.cts +2 -2
  164. package/dist/workspace/index.d.mts +2 -2
  165. package/dist/workspace-C7NqCsQF.mjs.map +1 -1
  166. package/dist/workspace-vdrcRI-m.cjs.map +1 -1
  167. package/package.json +15 -15
  168. package/dist/OpenApiTsGenerator-Bhr_XWWN.mjs.map +0 -1
  169. package/dist/OpenApiTsGenerator-DZZwHdDC.cjs.map +0 -1
  170. package/dist/bundler-CEaR6Dpb.cjs.map +0 -1
  171. package/dist/bundler-CNTVLCCA.mjs.map +0 -1
  172. package/dist/compose-B-MME-4C.cjs.map +0 -1
  173. package/dist/compose-T3hnnjKZ.mjs.map +0 -1
  174. package/dist/deploy-CZE0m6jd.cjs.map +0 -1
  175. package/dist/deploy-ClC53rc6.mjs.map +0 -1
  176. package/dist/discover-B4VjaFJk.cjs.map +0 -1
  177. package/dist/discover-B6yPpvRV.d.mts.map +0 -1
  178. package/dist/discover-B_IkPukx.d.cts.map +0 -1
  179. package/dist/discover-Buwf1z4P.mjs.map +0 -1
  180. package/dist/engine-Cry1vwMz.cjs.map +0 -1
  181. package/dist/engine-DmQS3XHX.mjs.map +0 -1
  182. package/dist/fakes-C9RiT6XG.mjs +0 -125
  183. package/dist/fakes-C9RiT6XG.mjs.map +0 -1
  184. package/dist/fakes-zW-jNAbQ.cjs +0 -148
  185. package/dist/fakes-zW-jNAbQ.cjs.map +0 -1
  186. package/dist/ready-Dp6arkI4.cjs.map +0 -1
  187. package/dist/ready-xpoX11uu.mjs.map +0 -1
  188. package/dist/state-BJFherj1.mjs.map +0 -1
  189. package/dist/state-CCuTJNRH.cjs.map +0 -1
  190. package/dist/types-BD1jgA85.d.cts.map +0 -1
  191. package/dist/types-DkG5WW8l.d.mts.map +0 -1
@@ -1,13 +1,13 @@
1
1
  const require_credentials = require("./credentials-BVs7mrtw.cjs");
2
2
  const require_schemas = require("./schemas-BObwxB_t.cjs");
3
- const require_discover = require("./discover-B4VjaFJk.cjs");
3
+ const require_discover = require("./discover-D1It5r_h.cjs");
4
4
  const require_sandbox = require("./sandbox-CL--ZDui.cjs");
5
5
  const require_derive = require("./derive-DAbo49sm.cjs");
6
6
  const require_workspace = require("./workspace-vdrcRI-m.cjs");
7
- const require_state = require("./state-CCuTJNRH.cjs");
8
- const require_sniffer = require("./sniffer-DpHpFZBD.cjs");
7
+ const require_state = require("./state-DMjFPOhf.cjs");
8
+ const require_sniffer = require("./sniffer-C-T7dSMN.cjs");
9
9
  const require_provider = require("./provider-B3Sv_a74.cjs");
10
- const require_credentialSchemas = require("./credentialSchemas-BcNL1N5R.cjs");
10
+ const require_credentialSchemas = require("./credentialSchemas-DCR4Wd1W.cjs");
11
11
  let node_path = require("node:path");
12
12
  let _geekmidas_manifest = require("@geekmidas/manifest");
13
13
  let node_crypto = require("node:crypto");
@@ -2102,9 +2102,15 @@ async function validateDokploy(phase) {
2102
2102
  stage,
2103
2103
  supplied: stored?.custom ?? {}
2104
2104
  });
2105
+ const runnables = phase.runnables ?? {};
2106
+ const background = phase.background ?? {};
2107
+ const workers = require_state.workerUnits(workspace, phase.manifest, background).filter((worker) => appsToDeployNames.includes(worker.app));
2108
+ if (workers.length > 0) logger.log(` Deploying workers: ${workers.map((w) => `${w.name} (from ${w.app})`).join(", ")}`);
2105
2109
  return {
2106
2110
  ...run,
2107
2111
  allowDevServices: phase.allowDevServices,
2112
+ workers,
2113
+ runnables,
2108
2114
  preflight: await preflight(run),
2109
2115
  verify: verifySettings(workspace.deploy.dokploy?.verify),
2110
2116
  atomic: phase.atomic,
@@ -2428,7 +2434,6 @@ async function releaseDokploy(run) {
2428
2434
  * release, with what ran before it as the one a rollback restores.
2429
2435
  */
2430
2436
  const release = async (appName, applicationId, image, envVars, host) => {
2431
- const app = workspace.apps[appName];
2432
2437
  released.applicationIds.set(appName, applicationId);
2433
2438
  const since = await api.latestDeploymentAt(applicationId);
2434
2439
  const before = state.releases?.[appName]?.current;
@@ -2440,9 +2445,11 @@ async function releaseDokploy(run) {
2440
2445
  await api.saveApplicationEnv(applicationId, envVars.join("\n"));
2441
2446
  logger.log(` Deploying to Dokploy...`);
2442
2447
  await api.deployApplication(applicationId);
2443
- const domainId = await ensureDomain(api, journal, host, app.port, applicationId, applied);
2444
- appHostnames.set(appName, host);
2445
- if (domainId) appDomainIds.set(appName, domainId);
2448
+ if (host) {
2449
+ const domainId = await ensureDomain(api, journal, host, workspace.apps[appName].port, applicationId, applied);
2450
+ appHostnames.set(appName, host);
2451
+ if (domainId) appDomainIds.set(appName, domainId);
2452
+ }
2446
2453
  logger.log(` Waiting for the deployment to finish...`);
2447
2454
  await api.waitForDeployment(applicationId, {
2448
2455
  since,
@@ -2455,7 +2462,7 @@ async function releaseDokploy(run) {
2455
2462
  tag: imageTag
2456
2463
  });
2457
2464
  await journal.save();
2458
- publicUrls[appName] = `https://${host}`;
2465
+ if (host) publicUrls[appName] = `https://${host}`;
2459
2466
  };
2460
2467
  const frontendUrls = [];
2461
2468
  for (const appName of frontendApps) frontendUrls.push(`https://${hostOf(workspace, appName, stage)}`);
@@ -2546,6 +2553,71 @@ async function releaseDokploy(run) {
2546
2553
  throw new BackendDeployFailed(appName, error);
2547
2554
  }
2548
2555
  }
2556
+ if (run.workers.length > 0) {
2557
+ logger.log("\n🧵 Deploying workers...");
2558
+ for (const worker of run.workers) {
2559
+ ctx.signal?.throwIfAborted();
2560
+ logger.log(`\n 🧵 Deploying ${worker.name} (worker ${worker.id})...`);
2561
+ try {
2562
+ const application = await ensureApplication(api, journal, worker.name, require_state.applicationName(identity, worker.name), project.projectId, environmentId, applied);
2563
+ const keys = [...require_state.workerEnvKeys(run.manifest, worker.id, run.runnables) ?? []].sort();
2564
+ const secrets = prepareSecretsForApp(stageSecrets, {
2565
+ appName: worker.name,
2566
+ requiredEnvVars: keys,
2567
+ optionalEnvVars: []
2568
+ });
2569
+ const credentials = secrets.secretCount > 0 ? {
2570
+ encrypted: secrets.payload.encrypted,
2571
+ iv: secrets.payload.iv
2572
+ } : void 0;
2573
+ const imageRef$2 = require_state.imageRef(identity, worker.name, registry, imageTag);
2574
+ logger.log(` Building Docker image: ${imageRef$2}`);
2575
+ const image = await require_state.deployDocker({
2576
+ stage,
2577
+ tag: imageTag,
2578
+ skipPush: false,
2579
+ config: {
2580
+ registry,
2581
+ imageName: require_state.imageName(identity, worker.name),
2582
+ appName: worker.name
2583
+ },
2584
+ credentials,
2585
+ cwd: workspace.root,
2586
+ dockerfile: require_state.workerDockerfileOf(worker.name),
2587
+ ...ctx.signal ? { signal: ctx.signal } : {},
2588
+ ...ctx.stdio ? { stdio: ctx.stdio } : {}
2589
+ });
2590
+ built(worker.name, image, imageRef$2);
2591
+ const env = {
2592
+ ...Object.fromEntries(Object.entries(declaredEnv).filter(([key]) => keys.includes(key))),
2593
+ ...require_state.otelEnv(stageSecrets?.custom ?? {}, worker.name),
2594
+ ...credentials ? { GKM_MASTER_KEY: secrets.masterKey } : {},
2595
+ NODE_ENV: "production",
2596
+ PORT: String(require_state.WORKER_PORT),
2597
+ STAGE: stage
2598
+ };
2599
+ logger.log(` Resolved ${Object.keys(env).length} env vars: ${Object.keys(env).sort().join(", ")}`);
2600
+ await release(worker.name, application.applicationId, {
2601
+ ref: image.imageRef ?? imageRef$2,
2602
+ ...image.digest ? { digest: image.digest } : {}
2603
+ }, Object.entries(env).map(([key, value]) => `${key}=${value}`), void 0);
2604
+ await checkHealth(run, worker.name);
2605
+ results.push({
2606
+ appName: worker.name,
2607
+ type: "backend",
2608
+ success: true,
2609
+ applicationId: application.applicationId,
2610
+ imageRef: imageRef$2,
2611
+ ...image.digest ? { digest: image.digest } : {}
2612
+ });
2613
+ logger.log(` ✓ ${worker.name} deployed successfully`);
2614
+ } catch (error) {
2615
+ if (ctx.signal?.aborted) throw ctx.signal.reason;
2616
+ failed(run, worker.name, error);
2617
+ throw new BackendDeployFailed(worker.name, error);
2618
+ }
2619
+ }
2620
+ }
2549
2621
  let frontendFailure;
2550
2622
  if (frontendApps.length > 0) {
2551
2623
  logger.log("\n🌐 PHASE 2: Deploying frontend applications...");
@@ -2583,8 +2655,8 @@ async function releaseDokploy(run) {
2583
2655
  }
2584
2656
  }
2585
2657
  if (buildArgs.length > 0) logger.log(` Build args: ${publicUrlArgNames.join(", ")}`);
2586
- const imageRef$2 = require_state.imageRef(identity, appName, registry, imageTag);
2587
- logger.log(` Building Docker image: ${imageRef$2}`);
2658
+ const imageRef$3 = require_state.imageRef(identity, appName, registry, imageTag);
2659
+ logger.log(` Building Docker image: ${imageRef$3}`);
2588
2660
  const image = await require_state.deployDocker({
2589
2661
  stage,
2590
2662
  tag: imageTag,
@@ -2598,7 +2670,7 @@ async function releaseDokploy(run) {
2598
2670
  publicUrlArgs: publicUrlArgNames,
2599
2671
  ...dockerRun(workspace, app, ctx)
2600
2672
  });
2601
- built(appName, image, imageRef$2);
2673
+ built(appName, image, imageRef$3);
2602
2674
  const envVars = [
2603
2675
  `NODE_ENV=production`,
2604
2676
  `PORT=${app.port}`,
@@ -2606,14 +2678,14 @@ async function releaseDokploy(run) {
2606
2678
  ];
2607
2679
  for (const [key, value] of Object.entries(resolved)) envVars.push(`${key}=${value}`);
2608
2680
  await release(appName, application.applicationId, {
2609
- ref: image.imageRef ?? imageRef$2,
2681
+ ref: image.imageRef ?? imageRef$3,
2610
2682
  ...image.digest ? { digest: image.digest } : {}
2611
2683
  }, envVars, frontendHost);
2612
2684
  deployed(appName, {
2613
2685
  appName,
2614
2686
  type: app.type,
2615
2687
  applicationId: application.applicationId,
2616
- imageRef: imageRef$2,
2688
+ imageRef: imageRef$3,
2617
2689
  ...image.digest ? { digest: image.digest } : {}
2618
2690
  }, frontendHost);
2619
2691
  logger.log(` ✓ ${appName} deployed successfully`);
@@ -2651,7 +2723,7 @@ async function verifyDokploy(run) {
2651
2723
  * health is what failed.
2652
2724
  */
2653
2725
  function failed(run, appName, error) {
2654
- const app = run.workspace.apps[appName];
2726
+ const type = run.workspace.apps[appName]?.type ?? "backend";
2655
2727
  const message = error instanceof Error ? error.message : "Unknown error";
2656
2728
  logger.log(` ✗ Failed to deploy ${appName}: ${message}`);
2657
2729
  const results = run.released.results;
@@ -2661,7 +2733,7 @@ function failed(run, appName, error) {
2661
2733
  recorded.error = message;
2662
2734
  } else results.push({
2663
2735
  appName,
2664
- type: app.type,
2736
+ type,
2665
2737
  success: false,
2666
2738
  error: message
2667
2739
  });
@@ -3082,6 +3154,34 @@ async function planDokploy(run) {
3082
3154
  ...existing ? { applicationId: existing.applicationId } : {}
3083
3155
  });
3084
3156
  }
3157
+ for (const worker of run.workers) {
3158
+ const dokployAppName = require_state.applicationName(identity, worker.name);
3159
+ const recordedId = state?.applications?.[worker.name];
3160
+ const existing = project && environment ? (recordedId ? await api.getApplication(recordedId).catch(() => null) : null) ?? await api.findApplicationByName(project.projectId, dokployAppName, environment.environmentId) : null;
3161
+ plan(existing ? {
3162
+ key: `application:${worker.name}`,
3163
+ resourceType: "application",
3164
+ action: "reuse",
3165
+ id: existing.applicationId
3166
+ } : {
3167
+ key: `application:${worker.name}`,
3168
+ resourceType: "application",
3169
+ action: "create"
3170
+ }, `${dokployAppName}, worker ${worker.id} — no domain`);
3171
+ const ref = require_state.imageRef(identity, worker.name, workspace.deploy.registry, imageTag);
3172
+ plan({
3173
+ key: `image:${worker.name}`,
3174
+ resourceType: "image",
3175
+ action: "build"
3176
+ }, ref);
3177
+ apps.push({
3178
+ appName: worker.name,
3179
+ type: "backend",
3180
+ success: true,
3181
+ imageRef: ref,
3182
+ ...existing ? { applicationId: existing.applicationId } : {}
3183
+ });
3184
+ }
3085
3185
  const creates = changes.filter((c) => c.action !== "reuse").length;
3086
3186
  logger.log(`\n✅ Dry run complete: ${creates} to create or build, ${changes.length - creates} to reuse.`);
3087
3187
  run.result = {
@@ -3217,4 +3317,4 @@ Object.defineProperty(exports, "verifySettings", {
3217
3317
  }
3218
3318
  });
3219
3319
 
3220
- //# sourceMappingURL=engine-Cry1vwMz.cjs.map
3320
+ //# sourceMappingURL=engine-DL2-PW6m.cjs.map