hatchkit 0.1.39 → 0.1.41

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 (77) hide show
  1. package/dist/adopt.d.ts.map +1 -1
  2. package/dist/adopt.js +311 -77
  3. package/dist/adopt.js.map +1 -1
  4. package/dist/deploy/coolify-app.d.ts +9 -9
  5. package/dist/deploy/coolify-app.d.ts.map +1 -1
  6. package/dist/deploy/coolify-app.js +14 -19
  7. package/dist/deploy/coolify-app.js.map +1 -1
  8. package/dist/deploy/coolify.d.ts.map +1 -1
  9. package/dist/deploy/coolify.js +6 -2
  10. package/dist/deploy/coolify.js.map +1 -1
  11. package/dist/deploy/keys.d.ts +7 -2
  12. package/dist/deploy/keys.d.ts.map +1 -1
  13. package/dist/deploy/keys.js +27 -7
  14. package/dist/deploy/keys.js.map +1 -1
  15. package/dist/deploy/pages.d.ts +41 -0
  16. package/dist/deploy/pages.d.ts.map +1 -1
  17. package/dist/deploy/pages.js +360 -13
  18. package/dist/deploy/pages.js.map +1 -1
  19. package/dist/deploy/regen-infra.js +4 -0
  20. package/dist/deploy/regen-infra.js.map +1 -1
  21. package/dist/deploy/rollback.d.ts.map +1 -1
  22. package/dist/deploy/rollback.js +94 -22
  23. package/dist/deploy/rollback.js.map +1 -1
  24. package/dist/deploy/sync.d.ts +10 -7
  25. package/dist/deploy/sync.d.ts.map +1 -1
  26. package/dist/deploy/sync.js +13 -9
  27. package/dist/deploy/sync.js.map +1 -1
  28. package/dist/index.js +269 -23
  29. package/dist/index.js.map +1 -1
  30. package/dist/inventory.d.ts +144 -0
  31. package/dist/inventory.d.ts.map +1 -0
  32. package/dist/inventory.js +1980 -0
  33. package/dist/inventory.js.map +1 -0
  34. package/dist/overview.d.ts +101 -0
  35. package/dist/overview.d.ts.map +1 -0
  36. package/dist/overview.js +852 -0
  37. package/dist/overview.js.map +1 -0
  38. package/dist/prompts.d.ts +22 -7
  39. package/dist/prompts.d.ts.map +1 -1
  40. package/dist/prompts.js +240 -40
  41. package/dist/prompts.js.map +1 -1
  42. package/dist/scaffold/app.js +1 -1
  43. package/dist/scaffold/app.js.map +1 -1
  44. package/dist/scaffold/infra.d.ts.map +1 -1
  45. package/dist/scaffold/infra.js +8 -2
  46. package/dist/scaffold/infra.js.map +1 -1
  47. package/dist/scaffold/manifest.d.ts +6 -0
  48. package/dist/scaffold/manifest.d.ts.map +1 -1
  49. package/dist/scaffold/manifest.js +1 -0
  50. package/dist/scaffold/manifest.js.map +1 -1
  51. package/dist/scaffold/pages-heuristics.d.ts +17 -0
  52. package/dist/scaffold/pages-heuristics.d.ts.map +1 -0
  53. package/dist/scaffold/pages-heuristics.js +344 -0
  54. package/dist/scaffold/pages-heuristics.js.map +1 -0
  55. package/dist/scaffold/pages-mode.d.ts +10 -0
  56. package/dist/scaffold/pages-mode.d.ts.map +1 -0
  57. package/dist/scaffold/pages-mode.js +109 -0
  58. package/dist/scaffold/pages-mode.js.map +1 -0
  59. package/dist/scaffold/surfaces.d.ts.map +1 -1
  60. package/dist/scaffold/surfaces.js +12 -1
  61. package/dist/scaffold/surfaces.js.map +1 -1
  62. package/dist/utils/cloudflare-api.d.ts +19 -0
  63. package/dist/utils/cloudflare-api.d.ts.map +1 -1
  64. package/dist/utils/cloudflare-api.js +16 -0
  65. package/dist/utils/cloudflare-api.js.map +1 -1
  66. package/dist/utils/coolify-api.d.ts +20 -0
  67. package/dist/utils/coolify-api.d.ts.map +1 -1
  68. package/dist/utils/coolify-api.js +51 -0
  69. package/dist/utils/coolify-api.js.map +1 -1
  70. package/dist/utils/coolify-server-ips.d.ts +6 -12
  71. package/dist/utils/coolify-server-ips.d.ts.map +1 -1
  72. package/dist/utils/coolify-server-ips.js +26 -81
  73. package/dist/utils/coolify-server-ips.js.map +1 -1
  74. package/dist/utils/run-ledger.d.ts +20 -0
  75. package/dist/utils/run-ledger.d.ts.map +1 -1
  76. package/dist/utils/run-ledger.js.map +1 -1
  77. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"overview.js","sourceRoot":"","sources":["../src/overview.ts"],"names":[],"mappings":"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"}
package/dist/prompts.d.ts CHANGED
@@ -1,4 +1,16 @@
1
1
  export type DeployTarget = "existing" | "new";
2
+ /** Where the project's runtime ultimately lives.
3
+ * · `coolify` — provision (or reuse) a Coolify-managed host. The
4
+ * default for full-stack and server-only projects;
5
+ * drives the rest of the existing pipeline (Hetzner,
6
+ * Mongo, GlitchTip, …).
7
+ * · `gh-pages` — static-only deploy via GitHub Pages. Only offered
8
+ * when `surfaces === "client-only"` — Pages has no
9
+ * runtime, so a server-bearing project can't use it.
10
+ * Skips Coolify/Hetzner/Mongo prompts entirely.
11
+ * · `scaffold-only` — write files + (optionally) push to GitHub, no
12
+ * deploy. Equivalent to today's `runDeployment: false`. */
13
+ export type DeploymentMode = "coolify" | "gh-pages" | "scaffold-only";
2
14
  export type DnsProvider = "inwx" | "cloudflare" | "manual";
3
15
  export type S3Provider = "hetzner" | "r2" | "aws" | "existing" | "none";
4
16
  export type GpuPlatform = "modal" | "runpod" | "hf" | "replicate";
@@ -51,10 +63,6 @@ export interface ProjectConfig {
51
63
  * is configured. Empty string when absent — the Cloudflare DNS
52
64
  * module skips AAAA records on empty. */
53
65
  serverIpv6?: string;
54
- /** Set when Coolify's reported public IPv4 disagrees with the
55
- * dashboard's DNS A record. Used to surface a yellow warning in
56
- * the review summary. */
57
- serverIpMismatchWarning?: string;
58
66
  serverSize?: string;
59
67
  serverLocation?: string;
60
68
  features: Feature[];
@@ -97,6 +105,16 @@ export interface ProjectConfig {
97
105
  * scaffold) so the whole `hatchkit create` flow is non-blocking once
98
106
  * the user proceeds — they can walk away while it runs. */
99
107
  installDeps: boolean;
108
+ /** Where this project deploys. `coolify` (default) drives the existing
109
+ * Hetzner + Mongo + providers pipeline. `gh-pages` is only offered
110
+ * alongside `surfaces === "client-only"` and skips the Coolify path
111
+ * entirely in favour of `hatchkit gh-pages`. `scaffold-only` writes
112
+ * files but doesn't deploy. */
113
+ deploymentMode: DeploymentMode;
114
+ /** Derived from {@link deploymentMode} for back-compat with the many
115
+ * existing call sites that gate on a boolean: true when the mode
116
+ * triggers an actual deploy step (coolify / gh-pages), false when
117
+ * scaffold-only. New code should branch on `deploymentMode` directly. */
100
118
  runDeployment: boolean;
101
119
  dryRun: boolean;
102
120
  }
@@ -136,8 +154,5 @@ export interface SelectedServer {
136
154
  ipv4?: string;
137
155
  /** Validated public IPv6 — fed to Terraform's `target_ipv6`. */
138
156
  ipv6?: string;
139
- /** Set when Coolify's reported public IPv4 disagrees with what
140
- * dashboard DNS resolves to. */
141
- mismatchWarning?: string;
142
157
  }
143
158
  //# sourceMappingURL=prompts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"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"}
package/dist/prompts.js CHANGED
@@ -54,6 +54,33 @@ export async function collectProjectConfig(options) {
54
54
  { name: "Client only (static site / SPA — no backend)", value: "client-only" },
55
55
  ],
56
56
  }), "both");
57
+ // Deployment mode — where this project ultimately runs. The
58
+ // `gh-pages` option is *only* offered for `client-only` surfaces.
59
+ // Pages has no runtime, so server-bearing projects can't deploy
60
+ // there; we hide the option rather than offering it and then
61
+ // having to refuse the choice mid-flow.
62
+ const deploymentMode = await askDeploymentMode(surfaces, presets.deploymentMode, nonInteractive);
63
+ // gh-pages takes a different path than the Coolify pipeline: no
64
+ // server provisioning, no Mongo, no features. Collect just the
65
+ // basics, then fall through to the same review-and-edit loop the
66
+ // Coolify path uses (with Coolify-specific groups hidden).
67
+ if (deploymentMode === "gh-pages") {
68
+ let pagesConfig = await collectPagesProjectConfig({
69
+ name,
70
+ domain,
71
+ baseDomain,
72
+ subdomain,
73
+ surfaces,
74
+ deploymentMode,
75
+ presets,
76
+ nonInteractive,
77
+ dryRun: options.dryRun || false,
78
+ });
79
+ if (!nonInteractive) {
80
+ pagesConfig = await reviewAndEditLoop(pagesConfig);
81
+ }
82
+ return pagesConfig;
83
+ }
57
84
  // Deploy target. Non-interactive default is "new" rather than
58
85
  // "existing": "existing" has no sensible default (it needs a real
59
86
  // serverId + serverIp that only make sense with a configured
@@ -66,7 +93,6 @@ export async function collectProjectConfig(options) {
66
93
  let serverIp;
67
94
  let serverIpv4;
68
95
  let serverIpv6;
69
- let serverIpMismatchWarning;
70
96
  let serverSize;
71
97
  let serverLocation;
72
98
  if (deployTarget === "existing") {
@@ -91,7 +117,6 @@ export async function collectProjectConfig(options) {
91
117
  serverIp = server.ip;
92
118
  serverIpv4 = server.ipv4;
93
119
  serverIpv6 = server.ipv6;
94
- serverIpMismatchWarning = server.mismatchWarning;
95
120
  }
96
121
  }
97
122
  else {
@@ -253,7 +278,12 @@ export async function collectProjectConfig(options) {
253
278
  const installDeps = scaffoldRepo
254
279
  ? await presetOrPrompt(presets.installDeps, nonInteractive, () => confirm({ message: "Run pnpm install after scaffolding?", default: true }), true)
255
280
  : false;
256
- const runDeployment = options.dryRun
281
+ // Late-stage "deploy now?" still makes sense for the Coolify path —
282
+ // it lets a user pick the Coolify mode upfront but defer the actual
283
+ // provisioning to a later run. For `scaffold-only` it's already
284
+ // implied false. `gh-pages` exits via the short path above and never
285
+ // reaches this branch.
286
+ const runDeployment = deploymentMode === "scaffold-only" || options.dryRun
257
287
  ? false
258
288
  : await presetOrPrompt(presets.runDeployment, nonInteractive, () => confirm({
259
289
  message: "Run deployment now?",
@@ -351,7 +381,6 @@ export async function collectProjectConfig(options) {
351
381
  serverIp,
352
382
  serverIpv4,
353
383
  serverIpv6,
354
- serverIpMismatchWarning,
355
384
  serverSize,
356
385
  serverLocation,
357
386
  features,
@@ -370,6 +399,7 @@ export async function collectProjectConfig(options) {
370
399
  scaffoldRepo,
371
400
  createGithubRepo,
372
401
  installDeps,
402
+ deploymentMode,
373
403
  runDeployment,
374
404
  envValues,
375
405
  dryRun: options.dryRun || false,
@@ -383,6 +413,89 @@ export async function collectProjectConfig(options) {
383
413
  return config;
384
414
  }
385
415
  // ---------------------------------------------------------------------------
416
+ // Deployment-mode prompt + gh-pages short path
417
+ // ---------------------------------------------------------------------------
418
+ async function askDeploymentMode(surfaces, preset, nonInteractive) {
419
+ // gh-pages requires client-only — Pages has no runtime. Validate
420
+ // presets the same way so `--deployment-mode gh-pages` paired with
421
+ // a server-bearing surface fails fast.
422
+ if (preset === "gh-pages" && surfaces !== "client-only") {
423
+ throw new Error(`--deployment-mode gh-pages requires --surfaces client-only (got: ${surfaces}). GitHub Pages serves static files only.`);
424
+ }
425
+ if (preset !== undefined)
426
+ return preset;
427
+ if (nonInteractive)
428
+ return "coolify";
429
+ const choices = [
430
+ {
431
+ name: "Coolify — full-stack on Hetzner (Mongo / providers / Docker)",
432
+ value: "coolify",
433
+ },
434
+ ];
435
+ if (surfaces === "client-only") {
436
+ choices.push({
437
+ name: "GitHub Pages — static-only, served from your repo",
438
+ value: "gh-pages",
439
+ });
440
+ }
441
+ choices.push({
442
+ name: "Scaffold only — write files, don't deploy",
443
+ value: "scaffold-only",
444
+ });
445
+ return select({
446
+ message: "Where do you want to deploy?",
447
+ choices,
448
+ default: "coolify",
449
+ });
450
+ }
451
+ /** Minimal config collection for the `gh-pages` deployment mode.
452
+ * Skips every Coolify-tied prompt (server target, features, S3, ML,
453
+ * Mongo, env values) — Pages is a static-only deploy with no
454
+ * runtime, so none of those concepts apply. */
455
+ async function collectPagesProjectConfig(args) {
456
+ const { name, domain, baseDomain, subdomain, surfaces, deploymentMode, presets, nonInteractive } = args;
457
+ // gh-pages requires client-only. The check in askDeploymentMode
458
+ // also catches this for presets, but defend against direct calls.
459
+ if (surfaces !== "client-only") {
460
+ throw new Error(`gh-pages deployment mode requires surfaces="client-only" (got: ${surfaces}).`);
461
+ }
462
+ const scaffoldRepo = await presetOrPrompt(presets.scaffoldRepo, nonInteractive, () => confirm({ message: "Scaffold the starter into ./<name>/?", default: true }), true);
463
+ let createGithubRepo = false;
464
+ if (scaffoldRepo) {
465
+ createGithubRepo = await presetOrPrompt(presets.createGithubRepo, nonInteractive, () => confirm({ message: "Create GitHub remote repo?", default: true }), true);
466
+ }
467
+ const installDeps = scaffoldRepo
468
+ ? await presetOrPrompt(presets.installDeps, nonInteractive, () => confirm({ message: "Run pnpm install after scaffolding?", default: true }), true)
469
+ : false;
470
+ // gh-pages always "deploys" when not in dry-run — there's no
471
+ // late-stage opt-out the way coolify has. If they wanted to skip
472
+ // deploy, they'd pick scaffold-only.
473
+ const runDeployment = !args.dryRun;
474
+ return {
475
+ name,
476
+ domain,
477
+ baseDomain,
478
+ subdomain,
479
+ surfaces,
480
+ // Placeholder — gh-pages doesn't use a Coolify server target.
481
+ // Set to "new" rather than `undefined` so any incidental reads
482
+ // (e.g. summary renderers) don't crash. Downstream code MUST
483
+ // gate Coolify steps on `deploymentMode === "coolify"`.
484
+ deployTarget: "new",
485
+ features: [],
486
+ s3Provider: "none",
487
+ mlServices: [],
488
+ forceRedeployMl: [],
489
+ mongodbProvider: "external",
490
+ scaffoldRepo,
491
+ createGithubRepo,
492
+ installDeps,
493
+ deploymentMode,
494
+ runDeployment,
495
+ dryRun: args.dryRun,
496
+ };
497
+ }
498
+ // ---------------------------------------------------------------------------
386
499
  // Review-and-edit loop
387
500
  // ---------------------------------------------------------------------------
388
501
  /** Render the review-and-edit stepper for `hatchkit create`. Mirrors
@@ -429,7 +542,8 @@ async function reviewAndEditLoop(initial) {
429
542
  }
430
543
  }
431
544
  function buildCreateStepGroups(cfg) {
432
- return [
545
+ const isPages = cfg.deploymentMode === "gh-pages";
546
+ const groups = [
433
547
  {
434
548
  title: "Project",
435
549
  steps: [
@@ -454,26 +568,38 @@ function buildCreateStepGroups(cfg) {
454
568
  title: "Deployment",
455
569
  steps: [
456
570
  {
457
- key: "deployTarget",
458
- label: "Deploy target",
459
- set: cfg.deployTarget === "existing" ? !!cfg.serverIp : !!cfg.serverSize,
460
- // Show the validated public IPv4 — that's what Terraform
461
- // actually writes into DNS. Fall back to the raw Coolify
462
- // value (`host.docker.internal` etc.) only when discovery
463
- // hasn't run yet, so the display still reflects state.
464
- summary: cfg.deployTarget === "existing"
465
- ? `existing server (${cfg.serverIpv4 ?? cfg.serverIp ?? "?"}${cfg.serverIpv6 ? ` · ${cfg.serverIpv6}` : ""})`
466
- : `new Hetzner ${cfg.serverSize ?? "?"} (${cfg.serverLocation ?? "nbg1"})`,
571
+ key: "deploymentMode",
572
+ label: "Deployment mode",
573
+ set: !!cfg.deploymentMode,
574
+ summary: renderDeploymentModeSummary(cfg.deploymentMode),
467
575
  },
576
+ // The Coolify target picker is only relevant when the mode is
577
+ // coolify. gh-pages and scaffold-only both skip it.
578
+ ...(cfg.deploymentMode === "coolify"
579
+ ? [
580
+ {
581
+ key: "deployTarget",
582
+ label: "Deploy target",
583
+ set: cfg.deployTarget === "existing" ? !!cfg.serverIp : !!cfg.serverSize,
584
+ summary: cfg.deployTarget === "existing"
585
+ ? `existing server (${cfg.serverIpv4 ?? cfg.serverIp ?? "?"}${cfg.serverIpv6 ? ` · ${cfg.serverIpv6}` : ""})`
586
+ : `new Hetzner ${cfg.serverSize ?? "?"} (${cfg.serverLocation ?? "nbg1"})`,
587
+ },
588
+ ]
589
+ : []),
468
590
  ],
469
591
  },
470
- {
592
+ ];
593
+ // The Stack and ML/GPU groups don't apply to a gh-pages deploy —
594
+ // it's static-only by definition, no features/Mongo/ML to wire.
595
+ if (!isPages) {
596
+ groups.push({
471
597
  title: "Stack",
472
598
  steps: [
473
599
  {
474
600
  key: "features",
475
601
  label: "Features",
476
- set: true, // an empty selection is a real choice
602
+ set: true,
477
603
  summary: cfg.features.length > 0 ? cfg.features.join(", ") : chalk.dim("none"),
478
604
  },
479
605
  {
@@ -487,8 +613,7 @@ function buildCreateStepGroups(cfg) {
487
613
  : "(unset)",
488
614
  },
489
615
  ],
490
- },
491
- {
616
+ }, {
492
617
  title: "ML & GPU",
493
618
  steps: [
494
619
  {
@@ -500,19 +625,34 @@ function buildCreateStepGroups(cfg) {
500
625
  : chalk.dim("none"),
501
626
  },
502
627
  ],
503
- },
504
- {
505
- title: "Run",
506
- steps: [
507
- {
508
- key: "scaffoldFlags",
509
- label: "Scaffold / GitHub / Install / Deploy",
510
- set: true,
511
- summary: `scaffold=${cfg.scaffoldRepo ? "yes" : "no"} · github=${cfg.createGithubRepo ? "yes" : "no"} · install=${cfg.installDeps ? "yes" : "no"} · deploy=${cfg.runDeployment ? "yes" : "no"}`,
512
- },
513
- ],
514
- },
515
- ];
628
+ });
629
+ }
630
+ groups.push({
631
+ title: "Run",
632
+ steps: [
633
+ {
634
+ key: "scaffoldFlags",
635
+ label: isPages
636
+ ? "Scaffold / GitHub / Install"
637
+ : "Scaffold / GitHub / Install / Deploy",
638
+ set: true,
639
+ summary: isPages
640
+ ? `scaffold=${cfg.scaffoldRepo ? "yes" : "no"} · github=${cfg.createGithubRepo ? "yes" : "no"} · install=${cfg.installDeps ? "yes" : "no"}`
641
+ : `scaffold=${cfg.scaffoldRepo ? "yes" : "no"} · github=${cfg.createGithubRepo ? "yes" : "no"} · install=${cfg.installDeps ? "yes" : "no"} · deploy=${cfg.runDeployment ? "yes" : "no"}`,
642
+ },
643
+ ],
644
+ });
645
+ return groups;
646
+ }
647
+ function renderDeploymentModeSummary(mode) {
648
+ switch (mode) {
649
+ case "coolify":
650
+ return "Coolify (full-stack)";
651
+ case "gh-pages":
652
+ return "GitHub Pages (static)";
653
+ case "scaffold-only":
654
+ return "Scaffold only (no deploy)";
655
+ }
516
656
  }
517
657
  function renderSurfaceSummary(surface) {
518
658
  switch (surface) {
@@ -578,10 +718,62 @@ async function editSection(cfg, section) {
578
718
  // server to read MONGODB_URI, so a Coolify-provisioned container
579
719
  // would be wasted. Switching away from client-only keeps the prior
580
720
  // value (the user can re-pick on the Mongo step if needed).
721
+ //
722
+ // Switching away from client-only also invalidates `gh-pages`
723
+ // deployment mode (Pages requires a static-only project). Snap
724
+ // it back to coolify in that case.
725
+ const nextDeploymentMode = cfg.deploymentMode === "gh-pages" && next !== "client-only"
726
+ ? "coolify"
727
+ : cfg.deploymentMode;
728
+ if (cfg.deploymentMode === "gh-pages" && next !== "client-only") {
729
+ console.log(chalk.yellow(" ⚠ gh-pages requires client-only surfaces — switched deployment mode back to coolify."));
730
+ }
581
731
  return {
582
732
  ...cfg,
583
733
  surfaces: next,
584
734
  mongodbProvider: next === "client-only" ? "external" : cfg.mongodbProvider,
735
+ deploymentMode: nextDeploymentMode,
736
+ runDeployment: nextDeploymentMode === "scaffold-only" ? false : cfg.runDeployment,
737
+ };
738
+ }
739
+ if (section === "deploymentMode") {
740
+ const next = await askDeploymentMode(cfg.surfaces, undefined, false);
741
+ if (next === cfg.deploymentMode)
742
+ return cfg;
743
+ // Switching INTO gh-pages clears the Coolify-shaped fields so
744
+ // the review doesn't show stale Hetzner / Mongo / feature
745
+ // choices that don't apply. The user can still edit them back
746
+ // if they later switch to coolify mode.
747
+ if (next === "gh-pages") {
748
+ return {
749
+ ...cfg,
750
+ deploymentMode: next,
751
+ runDeployment: !cfg.dryRun,
752
+ deployTarget: "new",
753
+ serverId: undefined,
754
+ serverUuid: undefined,
755
+ serverIp: undefined,
756
+ serverIpv4: undefined,
757
+ serverIpv6: undefined,
758
+ serverSize: undefined,
759
+ serverLocation: undefined,
760
+ features: [],
761
+ s3Provider: "none",
762
+ mlServices: [],
763
+ forceRedeployMl: [],
764
+ mongodbProvider: "external",
765
+ gpuPlatforms: undefined,
766
+ customHfModelId: undefined,
767
+ customHfGpuType: undefined,
768
+ };
769
+ }
770
+ // Switching to coolify or scaffold-only just updates the mode +
771
+ // derived `runDeployment`. Existing values (if any) are preserved
772
+ // so the user can step through them in the review.
773
+ return {
774
+ ...cfg,
775
+ deploymentMode: next,
776
+ runDeployment: next === "scaffold-only" ? false : cfg.runDeployment,
585
777
  };
586
778
  }
587
779
  if (section === "features") {
@@ -626,7 +818,6 @@ async function editSection(cfg, section) {
626
818
  serverIp: server.ip,
627
819
  serverIpv4: server.ipv4,
628
820
  serverIpv6: server.ipv6,
629
- serverIpMismatchWarning: server.mismatchWarning,
630
821
  serverSize: undefined,
631
822
  serverLocation: undefined,
632
823
  };
@@ -649,7 +840,6 @@ async function editSection(cfg, section) {
649
840
  serverIp: undefined,
650
841
  serverIpv4: undefined,
651
842
  serverIpv6: undefined,
652
- serverIpMismatchWarning: undefined,
653
843
  serverSize,
654
844
  serverLocation: cfg.serverLocation ?? "nbg1",
655
845
  };
@@ -720,10 +910,21 @@ async function editSection(cfg, section) {
720
910
  default: cfg.installDeps,
721
911
  })
722
912
  : false;
723
- const runDeployment = await confirm({
724
- message: "Run deployment now (Terraform + Coolify + ML)?",
725
- default: cfg.runDeployment,
726
- });
913
+ // "Deploy now?" is meaningful only for coolify — gh-pages always
914
+ // runs the pages setup, scaffold-only never deploys.
915
+ let runDeployment = cfg.runDeployment;
916
+ if (cfg.deploymentMode === "coolify") {
917
+ runDeployment = await confirm({
918
+ message: "Run deployment now (Terraform + Coolify + ML)?",
919
+ default: cfg.runDeployment,
920
+ });
921
+ }
922
+ else if (cfg.deploymentMode === "gh-pages") {
923
+ runDeployment = !cfg.dryRun;
924
+ }
925
+ else {
926
+ runDeployment = false;
927
+ }
727
928
  return { ...cfg, scaffoldRepo, createGithubRepo, installDeps, runDeployment };
728
929
  }
729
930
  return cfg;
@@ -780,7 +981,7 @@ async function selectExistingServer() {
780
981
  if (!resolved) {
781
982
  throw new Error(`Couldn't resolve uuid for server "${chosen.name}" (${chosen.ip}).`);
782
983
  }
783
- const ips = await discoverPublicIps(api, resolved.uuid, chosen.ip, coolifyConfig.url);
984
+ const ips = await discoverPublicIps(api, resolved.uuid, chosen.ip);
784
985
  if (!ips.v4) {
785
986
  console.log(chalk.yellow(` ⚠ Couldn't determine a public IPv4 for "${chosen.name}". DNS records can't be created until you set the server's public_ipv4 in the Coolify dashboard.`));
786
987
  }
@@ -795,7 +996,6 @@ async function selectExistingServer() {
795
996
  ip: chosen.ip,
796
997
  ipv4: ips.v4,
797
998
  ipv6: ips.v6,
798
- mismatchWarning: ips.mismatchWarning,
799
999
  };
800
1000
  }
801
1001
  //# sourceMappingURL=prompts.js.map