hatchkit 0.1.5 → 0.1.6

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.
@@ -1 +1 @@
1
- {"version":3,"file":"adopt.d.ts","sourceRoot":"","sources":["../src/adopt.ts"],"names":[],"mappings":"AAqFA,wBAAsB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAmCzD"}
1
+ {"version":3,"file":"adopt.d.ts","sourceRoot":"","sources":["../src/adopt.ts"],"names":[],"mappings":"AAsGA,wBAAsB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAgDzD"}
package/dist/adopt.js CHANGED
@@ -33,15 +33,16 @@
33
33
  * a second run on the same dir notices the existing manifest and
34
34
  * exits early with a "use `hatchkit update` instead" hint.
35
35
  */
36
- import { existsSync, readFileSync } from "node:fs";
36
+ import { existsSync, readFileSync, readdirSync } from "node:fs";
37
37
  import { join, relative } from "node:path";
38
38
  import { Separator, checkbox, confirm, input, select } from "@inquirer/prompts";
39
39
  import chalk from "chalk";
40
- import { getCoolifyConfig } from "./config.js";
40
+ import { ensureGitHub, getCoolifyConfig } from "./config.js";
41
41
  import { pushProjectKeyToCoolify } from "./deploy/keys.js";
42
42
  import { runProvision } from "./provision/index.js";
43
43
  import { MANIFEST_FILENAME, writeManifest } from "./scaffold/manifest.js";
44
44
  import { CoolifyApi } from "./utils/coolify-api.js";
45
+ import { exec, execOk } from "./utils/exec.js";
45
46
  import { SECRET_KEYS, setSecret } from "./utils/secrets.js";
46
47
  import { validateDomain, validateProjectName } from "./utils/validate.js";
47
48
  import { getCliVersion } from "./utils/version.js";
@@ -56,13 +57,26 @@ export async function runAdopt(cwd) {
56
57
  console.log(chalk.bold("\n hatchkit adopt"));
57
58
  printDetected(state);
58
59
  // Initial plan — pre-filled from detection.
60
+ // bootstrapDotenvx: default ON when there's no encrypted prod env —
61
+ // adopt's whole point is "make this manageable", and that needs a
62
+ // dotenvx keypair so everything else (key push, encrypted writes
63
+ // by `add`) has something to work with.
64
+ // setupGitHub: default ON when there's no origin remote yet.
59
65
  let plan = {
60
66
  name: state.packageName ?? "",
61
67
  domain: "",
62
68
  features: state.features,
63
69
  serverDir: state.serverDir ?? state.projectDir,
64
70
  clientDir: state.clientDir,
71
+ bootstrapDotenvx: !state.prodEnvIsEncrypted,
72
+ setupGitHub: !state.gitRemoteUrl,
73
+ wireCoolify: !state.coolifyAppMatch,
74
+ appPort: "3000",
65
75
  services: ["glitchtip", "openpanel", "resend"],
76
+ // Default the push only when there's already a Coolify app to push to.
77
+ // When wireCoolify creates a fresh app, it sets the baseline env
78
+ // itself (including the dotenvx key), so a separate push is
79
+ // redundant in that branch.
66
80
  pushKey: !!state.coolifyAppMatch,
67
81
  };
68
82
  plan = await reviewLoop(state, plan);
@@ -81,20 +95,29 @@ async function detectProject(projectDir) {
81
95
  catch {
82
96
  // No package.json at root — that's fine for a non-Node project.
83
97
  }
84
- // Walk a small set of common monorepo layouts.
98
+ // Walk a generous set of common monorepo layouts.
85
99
  const serverDir = firstExisting(projectDir, [
86
100
  "packages/server",
87
101
  "apps/server",
88
102
  "apps/api",
103
+ "apps/backend",
89
104
  "server",
105
+ "backend",
106
+ "api",
107
+ "src/server",
108
+ "services/server",
90
109
  ]);
91
110
  const clientDir = firstExisting(projectDir, [
92
111
  "packages/client",
93
112
  "packages/web",
113
+ "packages/frontend",
94
114
  "apps/web",
95
115
  "apps/client",
116
+ "apps/frontend",
96
117
  "client",
118
+ "frontend",
97
119
  "web",
120
+ "src/client",
98
121
  ]);
99
122
  // Feature detection: cheap heuristics from package.json deps + env files.
100
123
  const features = detectFeatures(projectDir, serverDir);
@@ -130,6 +153,25 @@ async function detectProject(projectDir) {
130
153
  catch {
131
154
  // Best-effort only.
132
155
  }
156
+ // Git state — is this a repo? Does it already have an origin remote?
157
+ // We only auto-init + create a remote when the user opts in via the
158
+ // stepper; here we just gather state for the summary.
159
+ const isGitRepo = existsSync(join(projectDir, ".git"));
160
+ let gitRemoteUrl;
161
+ if (isGitRepo) {
162
+ try {
163
+ const res = await exec("git", ["remote", "get-url", "origin"], {
164
+ cwd: projectDir,
165
+ // No spinner — this is a sub-second silent check.
166
+ });
167
+ const url = res.stdout.trim();
168
+ if (res.exitCode === 0 && url)
169
+ gitRemoteUrl = url;
170
+ }
171
+ catch {
172
+ // Either no `origin` set yet (exit 128) or git failed — fine.
173
+ }
174
+ }
133
175
  return {
134
176
  projectDir,
135
177
  packageName,
@@ -140,6 +182,8 @@ async function detectProject(projectDir) {
140
182
  prodEnvIsEncrypted,
141
183
  hasEnvKeys,
142
184
  coolifyAppMatch,
185
+ isGitRepo,
186
+ gitRemoteUrl,
143
187
  };
144
188
  }
145
189
  function firstExisting(root, candidates) {
@@ -152,11 +196,28 @@ function firstExisting(root, candidates) {
152
196
  }
153
197
  function detectFeatures(projectDir, serverDir) {
154
198
  const found = new Set();
155
- // Look at root + server package.json deps.
156
- const pkgJsonPaths = [
157
- join(projectDir, "package.json"),
158
- serverDir ? join(serverDir, "package.json") : undefined,
159
- ].filter((p) => !!p);
199
+ // Cast a wider net than just <root> + <serverDir>: also walk the
200
+ // first level of the common monorepo package roots so a project
201
+ // organized as e.g. `apps/web` + `apps/server` doesn't end up with
202
+ // "no features detected" when serverDir resolves to a sibling.
203
+ const pkgJsonPaths = new Set();
204
+ pkgJsonPaths.add(join(projectDir, "package.json"));
205
+ if (serverDir)
206
+ pkgJsonPaths.add(join(serverDir, "package.json"));
207
+ for (const root of ["packages", "apps", "services"]) {
208
+ const dir = join(projectDir, root);
209
+ if (!existsSync(dir))
210
+ continue;
211
+ let entries;
212
+ try {
213
+ entries = readdirSync(dir);
214
+ }
215
+ catch {
216
+ continue;
217
+ }
218
+ for (const e of entries)
219
+ pkgJsonPaths.add(join(dir, e, "package.json"));
220
+ }
160
221
  for (const p of pkgJsonPaths) {
161
222
  if (!existsSync(p))
162
223
  continue;
@@ -167,19 +228,32 @@ function detectFeatures(projectDir, serverDir) {
167
228
  catch {
168
229
  continue;
169
230
  }
170
- const deps = { ...(json.dependencies ?? {}), ...(json.devDependencies ?? {}) };
171
- if ("stripe" in deps || "@stripe/stripe-js" in deps)
231
+ const deps = {
232
+ ...(json.dependencies ?? {}),
233
+ ...(json.devDependencies ?? {}),
234
+ ...(json.peerDependencies ?? {}),
235
+ ...(json.optionalDependencies ?? {}),
236
+ };
237
+ if ("stripe" in deps || "@stripe/stripe-js" in deps || "@stripe/react-stripe-js" in deps) {
172
238
  found.add("stripe");
173
- if ("socket.io" in deps || "ws" in deps)
239
+ }
240
+ if ("socket.io" in deps || "socket.io-client" in deps || "ws" in deps) {
174
241
  found.add("websocket");
175
- if ("@sentry/node" in deps || "@sentry/browser" in deps || "@openpanel/web" in deps) {
242
+ }
243
+ if ("@sentry/node" in deps ||
244
+ "@sentry/browser" in deps ||
245
+ "@sentry/react" in deps ||
246
+ "@sentry/nextjs" in deps ||
247
+ "@openpanel/web" in deps ||
248
+ "@openpanel/sdk" in deps ||
249
+ "@openpanel/nextjs" in deps) {
176
250
  found.add("analytics");
177
251
  }
178
- if ("@aws-sdk/client-s3" in deps)
252
+ if ("@aws-sdk/client-s3" in deps || "minio" in deps)
179
253
  found.add("s3");
180
254
  if ("electron" in deps || "electron-builder" in deps)
181
255
  found.add("desktop");
182
- if ("@capacitor/core" in deps)
256
+ if ("@capacitor/core" in deps || "@capacitor/cli" in deps)
183
257
  found.add("mobile");
184
258
  }
185
259
  // .env.production / .env.example as a hint when package.json is sparse.
@@ -227,7 +301,12 @@ function printDetected(state) {
227
301
  lines.push(row(".env.keys", state.hasEnvKeys ? chalk.green("present ✓") : chalk.dim("missing")));
228
302
  lines.push(row("Coolify app", state.coolifyAppMatch
229
303
  ? chalk.green(`${state.coolifyAppMatch.name} ✓`)
230
- : chalk.dim("(no match — keys push will be skipped by default)")));
304
+ : chalk.dim("(no match)")));
305
+ lines.push(row("git remote", state.gitRemoteUrl
306
+ ? chalk.green(state.gitRemoteUrl)
307
+ : state.isGitRepo
308
+ ? chalk.yellow("repo present, no `origin` set")
309
+ : chalk.dim("not a git repo yet")));
231
310
  lines.push(row("features (guess)", state.features.length > 0 ? state.features.join(", ") : chalk.dim("none detected")));
232
311
  for (const l of lines)
233
312
  console.log(l);
@@ -317,6 +396,50 @@ function buildAdoptGroups(state, plan) {
317
396
  },
318
397
  ],
319
398
  },
399
+ {
400
+ title: "Bootstrap",
401
+ steps: [
402
+ {
403
+ key: "bootstrapDotenvx",
404
+ label: "Initialize dotenvx",
405
+ set: true,
406
+ summary: plan.bootstrapDotenvx
407
+ ? state.prodEnvIsEncrypted
408
+ ? chalk.dim("already encrypted — will skip")
409
+ : "yes — generate keypair + encrypt .env.production"
410
+ : chalk.dim("no"),
411
+ },
412
+ {
413
+ key: "setupGitHub",
414
+ label: "GitHub remote",
415
+ set: true,
416
+ summary: plan.setupGitHub
417
+ ? state.gitRemoteUrl
418
+ ? chalk.dim("already set — will skip")
419
+ : "yes — `gh repo create` + push"
420
+ : state.gitRemoteUrl
421
+ ? chalk.dim(state.gitRemoteUrl)
422
+ : chalk.dim("no"),
423
+ },
424
+ ],
425
+ },
426
+ {
427
+ title: "Deploy",
428
+ steps: [
429
+ {
430
+ key: "wireCoolify",
431
+ label: "Coolify + DNS",
432
+ set: true,
433
+ summary: plan.wireCoolify
434
+ ? state.coolifyAppMatch
435
+ ? chalk.dim(`existing app "${state.coolifyAppMatch.name}" — will skip create`)
436
+ : `yes — create app + upsert DNS (port ${plan.appPort})`
437
+ : state.coolifyAppMatch
438
+ ? chalk.dim(`already exists: ${state.coolifyAppMatch.name}`)
439
+ : chalk.dim("no"),
440
+ },
441
+ ],
442
+ },
320
443
  {
321
444
  title: "Provisioning",
322
445
  steps: [
@@ -433,6 +556,44 @@ async function editAdoptStep(state, plan, step) {
433
556
  });
434
557
  return { ...plan, pushKey };
435
558
  }
559
+ if (step === "bootstrapDotenvx") {
560
+ const bootstrapDotenvx = await confirm({
561
+ message: state.prodEnvIsEncrypted
562
+ ? ".env.production is already encrypted — re-encrypt anyway?"
563
+ : "Initialize dotenvx (creates an encrypted .env.production + .env.keys)?",
564
+ default: plan.bootstrapDotenvx,
565
+ });
566
+ return { ...plan, bootstrapDotenvx };
567
+ }
568
+ if (step === "setupGitHub") {
569
+ if (state.gitRemoteUrl) {
570
+ console.log(chalk.dim(`\n origin already set to ${state.gitRemoteUrl} — adopt won't replace it.\n`));
571
+ return { ...plan, setupGitHub: false };
572
+ }
573
+ const setupGitHub = await confirm({
574
+ message: state.isGitRepo
575
+ ? "Create a GitHub repo and push this project to it?"
576
+ : "Initialize git, create a GitHub repo, and push?",
577
+ default: plan.setupGitHub,
578
+ });
579
+ return { ...plan, setupGitHub };
580
+ }
581
+ if (step === "wireCoolify") {
582
+ const wireCoolify = await confirm({
583
+ message: state.coolifyAppMatch
584
+ ? `App "${state.coolifyAppMatch.name}" already exists — re-wire (will create a duplicate)?`
585
+ : "Create a Coolify app + upsert DNS now?",
586
+ default: plan.wireCoolify,
587
+ });
588
+ if (!wireCoolify)
589
+ return { ...plan, wireCoolify };
590
+ const appPort = (await input({
591
+ message: "Container port the server listens on:",
592
+ default: plan.appPort,
593
+ validate: (v) => /^\d+$/.test(v.trim()) || "Must be an integer port number.",
594
+ })).trim();
595
+ return { ...plan, wireCoolify, appPort };
596
+ }
436
597
  return plan;
437
598
  }
438
599
  // ---------------------------------------------------------------------------
@@ -440,15 +601,62 @@ async function editAdoptStep(state, plan, step) {
440
601
  // ---------------------------------------------------------------------------
441
602
  async function executePlan(state, plan) {
442
603
  console.log(chalk.bold("\n ── Adopting ──────────────────────────────────────────────\n"));
443
- // Step 1: dotenvx encryption + key import.
444
- await encryptIfNeeded(state, plan);
604
+ // Step 1: bootstrap / encrypt dotenvx so a key actually exists.
605
+ if (plan.bootstrapDotenvx) {
606
+ await bootstrapDotenvxNow(state, plan);
607
+ }
608
+ else {
609
+ console.log(chalk.dim(" · Skipping dotenvx bootstrap (per stepper choice)."));
610
+ }
445
611
  await importKeyToKeychain(state, plan);
446
612
  // Step 2: write the manifest. Done after key import so a partial
447
613
  // failure doesn't leave a manifest pointing at no key. The
448
614
  // manifest lives at the project ROOT (not under packages/server).
449
615
  writeAdoptManifest(state.projectDir, plan);
450
616
  console.log(chalk.green(` ✓ Wrote ${MANIFEST_FILENAME} at ${relativeTo(state.projectDir)}`));
451
- // Step 3: provision clients via the existing `add` machinery so the
617
+ // Step 3: GitHub remote (init + create + push). Skipped if origin is
618
+ // already set or the user opted out.
619
+ let remoteUrl = state.gitRemoteUrl;
620
+ if (plan.setupGitHub && !state.gitRemoteUrl) {
621
+ remoteUrl = await setupGitHubRemote(state, plan);
622
+ }
623
+ else if (state.gitRemoteUrl) {
624
+ console.log(chalk.dim(` · git origin already set → ${state.gitRemoteUrl}`));
625
+ }
626
+ // Step 3b: Wire the repo into Coolify + DNS via direct API calls.
627
+ // No infra/ submodule, no Terraform — just hits the Coolify and
628
+ // DNS-provider REST endpoints with credentials we already have in
629
+ // keychain. Idempotent on the DNS side (upsert); not yet on the
630
+ // app-create side (Coolify accepts duplicate app names).
631
+ let coolifyResult;
632
+ if (plan.wireCoolify && remoteUrl) {
633
+ try {
634
+ const { wireProjectIntoCoolify } = await import("./deploy/coolify-app.js");
635
+ coolifyResult = await wireProjectIntoCoolify({
636
+ projectName: plan.name,
637
+ domain: plan.domain,
638
+ gitRepository: remoteUrl,
639
+ portsExposes: plan.appPort,
640
+ // Default assumption: anything we just `gh repo create --private`d
641
+ // is private. If origin was already set we don't know for sure;
642
+ // try public first (cheaper auth) and let the orchestrator handle
643
+ // the fallback.
644
+ isPrivate: plan.setupGitHub,
645
+ });
646
+ }
647
+ catch (err) {
648
+ console.log(chalk.yellow(`\n Couldn't wire Coolify: ${err.message}`));
649
+ console.log(chalk.dim(` Create the app manually in the Coolify dashboard pointing at\n` +
650
+ ` ${remoteUrl}\n` +
651
+ ` with domain ${plan.domain} and port ${plan.appPort}, then run\n` +
652
+ ` hatchkit keys push ${plan.name}`));
653
+ }
654
+ }
655
+ else if (plan.wireCoolify && !remoteUrl) {
656
+ console.log(chalk.yellow(" Coolify wiring needs a git remote URL — skipping (no `origin` set and the GitHub step\n" +
657
+ " was off). Set the remote yourself or re-run with `setup GitHub remote = yes`."));
658
+ }
659
+ // Step 4: provision clients via the existing `add` machinery so the
452
660
  // surfaces stepper, idempotency, and env writes behave identically
453
661
  // to a normal `hatchkit add`.
454
662
  if (plan.services.length > 0) {
@@ -463,7 +671,7 @@ async function executePlan(state, plan) {
463
671
  },
464
672
  });
465
673
  }
466
- // Step 4: push key to Coolify.
674
+ // Step 5: push key to Coolify.
467
675
  if (plan.pushKey) {
468
676
  try {
469
677
  await pushProjectKeyToCoolify(plan.name);
@@ -481,37 +689,96 @@ async function executePlan(state, plan) {
481
689
  if (plan.clientDir)
482
690
  console.log(` Client: ${chalk.cyan(relativeTo(plan.clientDir))}`);
483
691
  console.log(` Manifest: ${chalk.dim(join(state.projectDir, MANIFEST_FILENAME))}`);
484
- console.log(chalk.dim("\n Next: `hatchkit doctor` to verify providers, `hatchkit keys push` if you skipped that step.\n"));
485
- }
486
- async function encryptIfNeeded(state, plan) {
487
- if (state.prodEnvIsEncrypted) {
488
- console.log(chalk.dim(" · .env.production already encrypted — skipping encrypt step."));
489
- return;
692
+ if (remoteUrl)
693
+ console.log(` Git: ${chalk.cyan(remoteUrl)}`);
694
+ if (coolifyResult) {
695
+ console.log(` Coolify: ${chalk.cyan(coolifyResult.appUuid)} ${chalk.dim(`@ ${coolifyResult.serverIp}`)}`);
696
+ if (coolifyResult.dnsManaged) {
697
+ console.log(` DNS: ${chalk.green("✓")} ${chalk.dim(`A ${plan.domain} → ${coolifyResult.serverIp}`)}`);
698
+ }
699
+ else if (plan.domain && coolifyResult.serverIp) {
700
+ console.log(` DNS: ${chalk.yellow("✗")} ${chalk.dim(`add A ${plan.domain} → ${coolifyResult.serverIp} manually`)}`);
701
+ }
490
702
  }
703
+ console.log();
704
+ }
705
+ async function bootstrapDotenvxNow(state, plan) {
491
706
  const prodPath = join(plan.serverDir, ".env.production");
492
- if (!existsSync(prodPath)) {
493
- console.log(chalk.dim(` · No .env.production at ${relativeTo(prodPath)} yet — provisioning will create + encrypt it.`));
494
- return;
495
- }
496
707
  const ora = (await import("ora")).default;
497
- const spinner = ora("Encrypting .env.production with dotenvx...").start();
708
+ const label = state.prodEnvIsEncrypted
709
+ ? "Re-encrypting .env.production with dotenvx..."
710
+ : existsSync(prodPath)
711
+ ? "Encrypting .env.production with dotenvx..."
712
+ : "Generating .env.production + .env.keys with dotenvx...";
713
+ const spinner = ora(label).start();
498
714
  try {
499
- // Calling `dotenvx set` with a no-op key forces encryption of the
500
- // existing file: it reads, encrypts, generates the keypair, and
501
- // writes .env.keys. We use a sentinel that's a real string so it
502
- // stays in the file (no harm, easy to grep + remove later).
715
+ // First call to `dotenvx set` with encrypt: true creates the file
716
+ // (if missing), generates the keypair, and writes .env.keys.
717
+ // Subsequent calls reuse the existing keypair. Using HATCHKIT_ADOPTED
718
+ // as the sentinel keeps the file non-empty so the keypair survives.
503
719
  const { set: dotenvxSet } = await import("@dotenvx/dotenvx");
504
720
  dotenvxSet("HATCHKIT_ADOPTED", new Date().toISOString(), {
505
721
  path: prodPath,
506
722
  encrypt: true,
507
723
  });
508
- spinner.succeed("Encrypted .env.production");
724
+ spinner.succeed(existsSync(prodPath)
725
+ ? "dotenvx initialized — .env.production is now encrypted"
726
+ : "dotenvx initialized");
509
727
  }
510
728
  catch (err) {
511
- spinner.fail("Failed to encrypt .env.production");
729
+ spinner.fail("Failed to initialize dotenvx");
512
730
  throw err;
513
731
  }
514
732
  }
733
+ async function setupGitHubRemote(state, plan) {
734
+ // Pre-flight gh CLI auth. ensureGitHub prompts the user to log in
735
+ // when needed; if they cancel, surface a clear "you can do this
736
+ // later" rather than crashing the whole adopt run.
737
+ try {
738
+ await ensureGitHub();
739
+ }
740
+ catch (err) {
741
+ console.log(chalk.yellow(`\n Couldn't reach GitHub (${err.message}). Skipping remote creation.`));
742
+ return undefined;
743
+ }
744
+ console.log(chalk.bold("\n ── GitHub ────────────────────────────────────────────────\n"));
745
+ if (!state.isGitRepo) {
746
+ await exec("git", ["init"], {
747
+ cwd: state.projectDir,
748
+ spinner: "Initializing git repo...",
749
+ });
750
+ }
751
+ // Stage everything + commit when there's anything staged.
752
+ // `git diff --cached --quiet` exits 0 → no diff (nothing staged)
753
+ // 1 → diff present (commit needed)
754
+ // execOk returns true on exit 0, so the inverse is "something to commit".
755
+ await exec("git", ["add", "-A"], { cwd: state.projectDir });
756
+ const cleanIndex = await execOk("git", ["diff", "--cached", "--quiet"], {
757
+ cwd: state.projectDir,
758
+ });
759
+ if (!cleanIndex) {
760
+ await exec("git", ["commit", "-m", "Adopt under hatchkit management"], {
761
+ cwd: state.projectDir,
762
+ spinner: "Creating commit...",
763
+ });
764
+ }
765
+ // `gh repo create` with --source=. + --push handles remote creation
766
+ // and the initial push in one shot. --private matches the default
767
+ // behaviour of `hatchkit create`.
768
+ const create = await exec("gh", ["repo", "create", plan.name, "--private", "--source=.", "--push"], { cwd: state.projectDir, spinner: `Creating GitHub repo: ${plan.name}...` });
769
+ if (create.exitCode !== 0) {
770
+ console.log(chalk.yellow(" Could not create GitHub repo. Push manually once it exists:"));
771
+ console.log(chalk.dim(` cd ${state.projectDir}`));
772
+ console.log(chalk.dim(` gh repo create ${plan.name} --private --source=. --push`));
773
+ return undefined;
774
+ }
775
+ const urlRes = await exec("gh", ["repo", "view", "--json", "url", "-q", ".url"], {
776
+ cwd: state.projectDir,
777
+ });
778
+ const url = urlRes.stdout.trim();
779
+ console.log(chalk.green(` ✓ GitHub repo: ${url}`));
780
+ return url || undefined;
781
+ }
515
782
  async function importKeyToKeychain(state, plan) {
516
783
  const envKeysPath = join(plan.serverDir, ".env.keys");
517
784
  if (!existsSync(envKeysPath)) {
package/dist/adopt.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"adopt.js","sourceRoot":"","sources":["../src/adopt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adopt.js","sourceRoot":"","sources":["../src/adopt.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ export interface WireUpInput {
2
+ projectName: string;
3
+ domain: string;
4
+ /** GitHub repo URL — `https://github.com/owner/repo`. */
5
+ gitRepository: string;
6
+ /** Default `main`. */
7
+ gitBranch?: string;
8
+ /** Container port the app listens on. Default `3000`. */
9
+ portsExposes?: string;
10
+ /** Treat the repo as private. When true, hatchkit picks (or asks
11
+ * for) a Coolify GitHub App uuid. */
12
+ isPrivate?: boolean;
13
+ /** When the user has already chosen one previously, skip the picker. */
14
+ githubAppUuid?: string;
15
+ }
16
+ export interface WireUpResult {
17
+ /** Coolify application uuid. */
18
+ appUuid: string;
19
+ /** Coolify project uuid (existing or freshly created). */
20
+ projectUuid: string;
21
+ /** Coolify server uuid the app runs on. */
22
+ serverUuid: string;
23
+ /** Server IP — used by the DNS step + reported back. */
24
+ serverIp: string;
25
+ /** Cloudflare DNS record id for the apex/sub A record, if we
26
+ * managed it. */
27
+ dnsRecordId?: string;
28
+ /** True when DNS provider is Cloudflare and we wrote the A record. */
29
+ dnsManaged: boolean;
30
+ }
31
+ /** Top-level wire-up. Throws on the first hard failure (no project,
32
+ * no server, app create rejected). The DNS step is best-effort —
33
+ * failures there log a hint and return without setting `dnsManaged`. */
34
+ export declare function wireProjectIntoCoolify(input: WireUpInput): Promise<WireUpResult>;
35
+ //# sourceMappingURL=coolify-app.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coolify-app.d.ts","sourceRoot":"","sources":["../../src/deploy/coolify-app.ts"],"names":[],"mappings":"AAmCA,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,yDAAyD;IACzD,aAAa,EAAE,MAAM,CAAC;IACtB,sBAAsB;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;0CACsC;IACtC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,wEAAwE;IACxE,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,gCAAgC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,0DAA0D;IAC1D,WAAW,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,UAAU,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,QAAQ,EAAE,MAAM,CAAC;IACjB;sBACkB;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sEAAsE;IACtE,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;yEAEyE;AACzE,wBAAsB,sBAAsB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CA2JtF"}