hatchkit 0.1.22 → 0.1.24
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.
- package/dist/adopt.d.ts.map +1 -1
- package/dist/adopt.js +119 -5
- package/dist/adopt.js.map +1 -1
- package/dist/completion.d.ts.map +1 -1
- package/dist/completion.js +2 -0
- package/dist/completion.js.map +1 -1
- package/dist/config.d.ts +36 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +138 -3
- package/dist/config.js.map +1 -1
- package/dist/deploy/coolify-app.d.ts +10 -2
- package/dist/deploy/coolify-app.d.ts.map +1 -1
- package/dist/deploy/coolify-app.js +191 -13
- package/dist/deploy/coolify-app.js.map +1 -1
- package/dist/deploy/coolify.d.ts.map +1 -1
- package/dist/deploy/coolify.js +30 -17
- package/dist/deploy/coolify.js.map +1 -1
- package/dist/deploy/ghcr.d.ts +68 -0
- package/dist/deploy/ghcr.d.ts.map +1 -0
- package/dist/deploy/ghcr.js +228 -0
- package/dist/deploy/ghcr.js.map +1 -0
- package/dist/deploy/rollback.d.ts.map +1 -1
- package/dist/deploy/rollback.js +12 -0
- package/dist/deploy/rollback.js.map +1 -1
- package/dist/doctor.d.ts.map +1 -1
- package/dist/doctor.js +83 -2
- package/dist/doctor.js.map +1 -1
- package/dist/explain.js +1 -1
- package/dist/explain.js.map +1 -1
- package/dist/index.js +126 -4
- package/dist/index.js.map +1 -1
- package/dist/prompts.js +1 -1
- package/dist/prompts.js.map +1 -1
- package/dist/provision/s3-buckets.d.ts +62 -0
- package/dist/provision/s3-buckets.d.ts.map +1 -0
- package/dist/provision/s3-buckets.js +376 -0
- package/dist/provision/s3-buckets.js.map +1 -0
- package/dist/scaffold/manifest.d.ts +24 -0
- package/dist/scaffold/manifest.d.ts.map +1 -1
- package/dist/scaffold/manifest.js.map +1 -1
- package/dist/utils/cloudflare-api.d.ts +88 -0
- package/dist/utils/cloudflare-api.d.ts.map +1 -1
- package/dist/utils/cloudflare-api.js +174 -0
- package/dist/utils/cloudflare-api.js.map +1 -1
- package/dist/utils/coolify-api.d.ts +39 -1
- package/dist/utils/coolify-api.d.ts.map +1 -1
- package/dist/utils/coolify-api.js +56 -0
- package/dist/utils/coolify-api.js.map +1 -1
- package/dist/utils/run-ledger.d.ts +8 -0
- package/dist/utils/run-ledger.d.ts.map +1 -1
- package/dist/utils/run-ledger.js.map +1 -1
- package/dist/utils/secrets.d.ts +14 -0
- package/dist/utils/secrets.d.ts.map +1 -1
- package/dist/utils/secrets.js +14 -0
- package/dist/utils/secrets.js.map +1 -1
- package/package.json +1 -1
|
@@ -24,6 +24,8 @@
|
|
|
24
24
|
* provider whose record CRUD is wired up today). INWX users get
|
|
25
25
|
* a clear "add an A record yourself" hint.
|
|
26
26
|
*/
|
|
27
|
+
import { existsSync, readFileSync } from "node:fs";
|
|
28
|
+
import { join } from "node:path";
|
|
27
29
|
import chalk from "chalk";
|
|
28
30
|
import ora from "ora";
|
|
29
31
|
import { getCoolifyConfig, getDnsConfig } from "../config.js";
|
|
@@ -150,22 +152,37 @@ export async function wireProjectIntoCoolify(input) {
|
|
|
150
152
|
}
|
|
151
153
|
}
|
|
152
154
|
else {
|
|
155
|
+
// Pick the compose service name the public domain should bind to.
|
|
156
|
+
// Coolify's dockercompose build pack rejects a flat `domains` field
|
|
157
|
+
// (422 — "Use docker_compose_domains instead") because routing has
|
|
158
|
+
// to be per-service. Resolution order:
|
|
159
|
+
// 1. Explicit `dockerComposeServiceName` from the caller (e.g.
|
|
160
|
+
// adopt's stepper override).
|
|
161
|
+
// 2. Auto-detect from the project's compose file by port match,
|
|
162
|
+
// so user-authored composes with non-default service names
|
|
163
|
+
// (`web`, `client`, …) just work.
|
|
164
|
+
// 3. `app` — hatchkit's scaffolded compose template uses that
|
|
165
|
+
// name. Safe fallback when neither signal is present.
|
|
166
|
+
const dockerComposeServiceName = buildPack === "dockercompose"
|
|
167
|
+
? (input.dockerComposeServiceName ??
|
|
168
|
+
pickComposeServiceForPort(input.projectDir, portsExposes))
|
|
169
|
+
: undefined;
|
|
153
170
|
const baseInput = {
|
|
154
171
|
projectUuid,
|
|
155
172
|
serverUuid: resolveServer.uuid,
|
|
156
173
|
gitRepository: repoRef.gitRepository,
|
|
157
174
|
gitBranch: input.gitBranch ?? "main",
|
|
158
|
-
portsExposes
|
|
175
|
+
portsExposes,
|
|
159
176
|
// hatchkit's canonical pipeline = GitHub Actions builds image →
|
|
160
177
|
// pushes to GHCR → Coolify pulls via docker-compose.yml. Caller
|
|
161
178
|
// can still override (e.g. for legacy nixpacks paths) but
|
|
162
179
|
// `dockercompose` is the default for any project that's gone
|
|
163
180
|
// through `hatchkit adopt`'s build-pipeline scaffold.
|
|
164
|
-
buildPack
|
|
181
|
+
buildPack,
|
|
165
182
|
name: input.projectName,
|
|
166
183
|
description: "Adopted by hatchkit",
|
|
167
184
|
domains: [appDomain],
|
|
168
|
-
dockerComposeDomainServiceName:
|
|
185
|
+
dockerComposeDomainServiceName: dockerComposeServiceName,
|
|
169
186
|
instantDeploy: false,
|
|
170
187
|
};
|
|
171
188
|
const createApp = ora(`Coolify: creating app for ${repoRef.gitRepository}`).start();
|
|
@@ -223,16 +240,24 @@ export async function wireProjectIntoCoolify(input) {
|
|
|
223
240
|
// misconfigured public_ipv4 / proxy setups).
|
|
224
241
|
const ips = await discoverPublicIps(api, resolveServer.uuid, server.ip, cfg.url);
|
|
225
242
|
const dnsResult = await wireDns(input.domain, ips);
|
|
226
|
-
// ── 7.
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
243
|
+
// ── 7. First deploy is owned by GitHub Actions, not us. ─────────────
|
|
244
|
+
//
|
|
245
|
+
// The compose file references `ghcr.io/<owner>/<repo>:latest`, which
|
|
246
|
+
// only exists after the scaffolded `.github/workflows/deploy.yml`
|
|
247
|
+
// has run (build → push to GHCR → call Coolify's deploy webhook).
|
|
248
|
+
// If we trigger a deploy here, Coolify tries to pull an image that
|
|
249
|
+
// hasn't been pushed yet and fails with `unauthorized` (GHCR's
|
|
250
|
+
// generic "manifest not found / no creds" response).
|
|
251
|
+
//
|
|
252
|
+
// The canonical hatchkit pipeline:
|
|
253
|
+
// adopt scaffolds workflow → adopt pushes branch → Actions builds
|
|
254
|
+
// + pushes image to GHCR → Actions hits Coolify deploy webhook →
|
|
255
|
+
// Coolify pulls + starts containers.
|
|
256
|
+
//
|
|
257
|
+
// So we just print a heads-up here and let the workflow do its job.
|
|
258
|
+
console.log(chalk.dim(` · First deploy runs when GitHub Actions builds + pushes the image to GHCR.\n` +
|
|
259
|
+
" Watch the workflow in the repo's Actions tab; Coolify auto-pulls via\n" +
|
|
260
|
+
" the deploy webhook once the image is up."));
|
|
236
261
|
return {
|
|
237
262
|
appUuid,
|
|
238
263
|
projectUuid,
|
|
@@ -347,8 +372,50 @@ async function wireDns(domain, ips) {
|
|
|
347
372
|
result.managed = true;
|
|
348
373
|
}
|
|
349
374
|
}
|
|
375
|
+
// Edge hardening — only attempt once we've actually managed at least
|
|
376
|
+
// one record on this zone (i.e. it's a hatchkit-relevant zone, not a
|
|
377
|
+
// bystander one we happened to look up). Pure best-effort: failures
|
|
378
|
+
// here are logged but never fail the wire-up. Stricter user-set
|
|
379
|
+
// values are preserved (see CloudflareApi.enableEdgeHardening).
|
|
380
|
+
if (result.managed) {
|
|
381
|
+
const harden = ora(`Cloudflare: applying edge protection to ${zone.name}`).start();
|
|
382
|
+
try {
|
|
383
|
+
const r = await cf.enableEdgeHardening(zone.id);
|
|
384
|
+
const summary = [];
|
|
385
|
+
if (r.changed.length > 0) {
|
|
386
|
+
summary.push(`${r.changed.length} updated`);
|
|
387
|
+
}
|
|
388
|
+
if (r.kept.length > 0) {
|
|
389
|
+
summary.push(`${r.kept.length} already strict`);
|
|
390
|
+
}
|
|
391
|
+
if (r.failed.length > 0) {
|
|
392
|
+
summary.push(`${r.failed.length} skipped`);
|
|
393
|
+
}
|
|
394
|
+
harden.succeed(`Cloudflare: edge protection on ${zone.name}` +
|
|
395
|
+
(summary.length > 0 ? ` (${summary.join(", ")})` : ""));
|
|
396
|
+
for (const c of r.changed) {
|
|
397
|
+
console.log(chalk.dim(` · ${c.id}: ${formatSetting(c.from)} → ${formatSetting(c.to)}`));
|
|
398
|
+
}
|
|
399
|
+
for (const f of r.failed) {
|
|
400
|
+
console.log(chalk.dim(` · ${f.id} skipped — ${f.error}`));
|
|
401
|
+
}
|
|
402
|
+
}
|
|
403
|
+
catch (err) {
|
|
404
|
+
harden.fail(`Cloudflare: edge protection skipped — ${err.message}`);
|
|
405
|
+
}
|
|
406
|
+
}
|
|
350
407
|
return result;
|
|
351
408
|
}
|
|
409
|
+
/** Format a zone-setting value for one-line display. Cloudflare returns
|
|
410
|
+
* string scalars for the toggles we touch but the field is loosely
|
|
411
|
+
* typed; coerce safely. */
|
|
412
|
+
function formatSetting(v) {
|
|
413
|
+
if (typeof v === "string")
|
|
414
|
+
return v;
|
|
415
|
+
if (v == null)
|
|
416
|
+
return "(unset)";
|
|
417
|
+
return JSON.stringify(v);
|
|
418
|
+
}
|
|
352
419
|
async function upsertOne(cf, zoneId, type, domain, content) {
|
|
353
420
|
const spinner = ora(`Cloudflare: upserting ${type} ${domain} → ${content}`).start();
|
|
354
421
|
try {
|
|
@@ -366,6 +433,117 @@ async function upsertOne(cf, zoneId, type, domain, content) {
|
|
|
366
433
|
return undefined;
|
|
367
434
|
}
|
|
368
435
|
}
|
|
436
|
+
/** Read the project's compose file and pick the service the public
|
|
437
|
+
* domain should bind to under Coolify's dockercompose build pack.
|
|
438
|
+
*
|
|
439
|
+
* Why this exists: Coolify's API rejects the flat `domains` field for
|
|
440
|
+
* dockercompose apps and requires `docker_compose_domains` keyed by
|
|
441
|
+
* service name (422 — "Use docker_compose_domains instead to set
|
|
442
|
+
* domains for individual services"). The compose file is the source
|
|
443
|
+
* of truth for which service names exist on this project, so we read
|
|
444
|
+
* it directly instead of guessing.
|
|
445
|
+
*
|
|
446
|
+
* Selection rules (first match wins):
|
|
447
|
+
* 1. A service whose `ports:` mapping includes `<portsExposes>` —
|
|
448
|
+
* most accurate signal that this is the public-facing service.
|
|
449
|
+
* 2. The first top-level service in the file — a sensible fallback
|
|
450
|
+
* for compose files written without explicit port mappings (e.g.
|
|
451
|
+
* hatchkit's own template, where the app service exposes the
|
|
452
|
+
* port via a build arg).
|
|
453
|
+
* 3. `app` — the service name in hatchkit's compose template. Used
|
|
454
|
+
* when there's no compose file on disk yet (the build-pipeline
|
|
455
|
+
* scaffold may have written it after a hatchkit run that didn't
|
|
456
|
+
* reach this branch) or the file can't be parsed.
|
|
457
|
+
*
|
|
458
|
+
* We deliberately avoid pulling in a YAML library — the regex below
|
|
459
|
+
* matches top-level `<name>:` keys and `<host>:<container>` port
|
|
460
|
+
* entries, which is enough for any compose file that compose itself
|
|
461
|
+
* parses successfully. */
|
|
462
|
+
function pickComposeServiceForPort(projectDir, portsExposes) {
|
|
463
|
+
if (!projectDir)
|
|
464
|
+
return "app";
|
|
465
|
+
for (const name of ["compose.yaml", "compose.yml", "docker-compose.yaml", "docker-compose.yml"]) {
|
|
466
|
+
const path = join(projectDir, name);
|
|
467
|
+
if (!existsSync(path))
|
|
468
|
+
continue;
|
|
469
|
+
try {
|
|
470
|
+
const content = readFileSync(path, "utf-8");
|
|
471
|
+
const match = matchComposeService(content, portsExposes);
|
|
472
|
+
if (match)
|
|
473
|
+
return match;
|
|
474
|
+
}
|
|
475
|
+
catch {
|
|
476
|
+
// Fall through to the default — better to send a request that
|
|
477
|
+
// might fail with a clearer Coolify error than to crash the
|
|
478
|
+
// adopt flow on a malformed compose file.
|
|
479
|
+
}
|
|
480
|
+
break;
|
|
481
|
+
}
|
|
482
|
+
return "app";
|
|
483
|
+
}
|
|
484
|
+
/** Extract service-name candidates from a compose file. Returns the
|
|
485
|
+
* first service with a port mapping that includes `portsExposes`,
|
|
486
|
+
* else the first top-level service, else undefined. */
|
|
487
|
+
function matchComposeService(content, portsExposes) {
|
|
488
|
+
// Find the `services:` block. Anything before it (e.g. version, name)
|
|
489
|
+
// is irrelevant.
|
|
490
|
+
const lines = content.split(/\r?\n/);
|
|
491
|
+
let servicesIndent = -1;
|
|
492
|
+
let inServices = false;
|
|
493
|
+
let firstService;
|
|
494
|
+
let portMatchService;
|
|
495
|
+
let currentService;
|
|
496
|
+
let currentServiceIndent = -1;
|
|
497
|
+
for (const raw of lines) {
|
|
498
|
+
const line = raw.replace(/#.*$/, "").trimEnd();
|
|
499
|
+
if (!line.trim())
|
|
500
|
+
continue;
|
|
501
|
+
const indent = line.length - line.trimStart().length;
|
|
502
|
+
if (!inServices) {
|
|
503
|
+
if (/^services\s*:/.test(line)) {
|
|
504
|
+
inServices = true;
|
|
505
|
+
servicesIndent = indent;
|
|
506
|
+
}
|
|
507
|
+
continue;
|
|
508
|
+
}
|
|
509
|
+
// Exited the services block.
|
|
510
|
+
if (indent <= servicesIndent)
|
|
511
|
+
break;
|
|
512
|
+
// A service header — `<name>:` indented deeper than `services:`
|
|
513
|
+
// and not deeper than another service. We track the first one we
|
|
514
|
+
// see at the shallowest depth; deeper lines belong to the same
|
|
515
|
+
// service definition.
|
|
516
|
+
if (currentServiceIndent === -1 || indent === currentServiceIndent) {
|
|
517
|
+
const m = line.match(/^\s*([A-Za-z0-9_.-]+)\s*:\s*$/);
|
|
518
|
+
if (m) {
|
|
519
|
+
currentService = m[1];
|
|
520
|
+
currentServiceIndent = indent;
|
|
521
|
+
if (!firstService)
|
|
522
|
+
firstService = currentService;
|
|
523
|
+
continue;
|
|
524
|
+
}
|
|
525
|
+
}
|
|
526
|
+
// Inside a service body: look for a port mapping that includes
|
|
527
|
+
// the host or container port we care about. Compose accepts
|
|
528
|
+
// "<host>:<container>", "<container>", or the long form with a
|
|
529
|
+
// `target:` key — we match all three.
|
|
530
|
+
if (currentService && !portMatchService) {
|
|
531
|
+
const portsLine = line.match(/^\s*-\s*"?([0-9]+)(?::([0-9]+))?(?:\/[a-z]+)?"?$/);
|
|
532
|
+
if (portsLine) {
|
|
533
|
+
const host = portsLine[1];
|
|
534
|
+
const container = portsLine[2] ?? portsLine[1];
|
|
535
|
+
if (host === portsExposes || container === portsExposes) {
|
|
536
|
+
portMatchService = currentService;
|
|
537
|
+
}
|
|
538
|
+
}
|
|
539
|
+
const targetLine = line.match(/^\s*target\s*:\s*"?([0-9]+)"?\s*$/);
|
|
540
|
+
if (targetLine && targetLine[1] === portsExposes) {
|
|
541
|
+
portMatchService = currentService;
|
|
542
|
+
}
|
|
543
|
+
}
|
|
544
|
+
}
|
|
545
|
+
return portMatchService ?? firstService;
|
|
546
|
+
}
|
|
369
547
|
/** Best-effort eTLD+1 inference. Works for the common case
|
|
370
548
|
* (sub.domain.tld → domain.tld). For multi-segment public suffixes
|
|
371
549
|
* (foo.co.uk) the user may need to override; rare enough that
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coolify-app.js","sourceRoot":"","sources":["../../src/deploy/coolify-app.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"coolify-app.js","sourceRoot":"","sources":["../../src/deploy/coolify-app.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coolify.d.ts","sourceRoot":"","sources":["../../src/deploy/coolify.ts"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAGnD,MAAM,WAAW,sBAAsB;IACrC;;sCAEkC;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;kEAE8D;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;uDAEmD;IACnD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC;;wDAEoD;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB;;4CAEwC;IACxC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;oDAEoD;AACpD,wBAAsB,eAAe,CACnC,MAAM,EAAE,aAAa,EACrB,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,qBAAqB,CAAC,
|
|
1
|
+
{"version":3,"file":"coolify.d.ts","sourceRoot":"","sources":["../../src/deploy/coolify.ts"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAGnD,MAAM,WAAW,sBAAsB;IACrC;;sCAEkC;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;kEAE8D;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;uDAEmD;IACnD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC;;wDAEoD;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB;;4CAEwC;IACxC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;oDAEoD;AACpD,wBAAsB,eAAe,CACnC,MAAM,EAAE,aAAa,EACrB,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,qBAAqB,CAAC,CA2IhC"}
|
package/dist/deploy/coolify.js
CHANGED
|
@@ -63,25 +63,35 @@ export async function runCoolifySetup(config, options = {}) {
|
|
|
63
63
|
projectUuid = project.uuid;
|
|
64
64
|
console.log(chalk.green(` ✓ Project created: ${config.name} (${projectUuid})`));
|
|
65
65
|
}
|
|
66
|
-
// Domain routing:
|
|
67
|
-
//
|
|
68
|
-
//
|
|
69
|
-
//
|
|
70
|
-
//
|
|
71
|
-
// ·
|
|
72
|
-
//
|
|
73
|
-
//
|
|
66
|
+
// Domain routing: split across the two public services in the starter's
|
|
67
|
+
// compose file (`server` and `client`). Coolify's dockercompose build
|
|
68
|
+
// pack rejects a flat `domains` field (422 — "Use docker_compose_domains
|
|
69
|
+
// instead to set domains for individual services") because routing has
|
|
70
|
+
// to be per-service. The starter ships:
|
|
71
|
+
// · client : Next.js (static or Node) — frontend hostname only
|
|
72
|
+
// · server : Express API + WebSocket — every API/WS host
|
|
73
|
+
// Traefik routes each domain to the matching service inside the compose
|
|
74
|
+
// network; the app code itself only needs to handle the path/host
|
|
75
|
+
// dispatch within `server`.
|
|
74
76
|
const apiDomain = `api.${config.domain}`;
|
|
75
|
-
const
|
|
76
|
-
|
|
77
|
+
const frontendDomain = `https://${config.domain}`;
|
|
78
|
+
const backendDomains = [
|
|
77
79
|
`https://${apiDomain}`,
|
|
78
80
|
`https://${config.domain}/api`,
|
|
79
81
|
`https://${config.domain}/api/ws`,
|
|
80
82
|
`https://${apiDomain}/ws`,
|
|
81
83
|
];
|
|
84
|
+
// Coolify's API takes a flat array of `{ name, domain }` entries, one
|
|
85
|
+
// per (service, hostname) pair. Multi-domain services (the server here)
|
|
86
|
+
// get one entry per domain rather than a comma-joined string — easier
|
|
87
|
+
// for Coolify's per-domain routing rules.
|
|
88
|
+
const dockerComposeDomains = [
|
|
89
|
+
{ name: "client", domain: frontendDomain },
|
|
90
|
+
...backendDomains.map((domain) => ({ name: "server", domain })),
|
|
91
|
+
];
|
|
82
92
|
console.log(chalk.dim(" Domain routing:"));
|
|
83
|
-
console.log(chalk.dim(` Frontend:
|
|
84
|
-
console.log(chalk.dim(` Backend:
|
|
93
|
+
console.log(chalk.dim(` Frontend (client): ${frontendDomain}`));
|
|
94
|
+
console.log(chalk.dim(` Backend (server): ${backendDomains.join(", ")}`));
|
|
85
95
|
// Application: reuse-by-name. `findApplicationByName` matches across
|
|
86
96
|
// every project the user can see; first hit wins. Within a single
|
|
87
97
|
// hatchkit-managed Coolify install, project names are unique enough
|
|
@@ -112,13 +122,16 @@ export async function runCoolifySetup(config, options = {}) {
|
|
|
112
122
|
// ignore that compose file and try to build the repo directly,
|
|
113
123
|
// which fails on the monorepo layout.
|
|
114
124
|
buildPack: "dockercompose",
|
|
115
|
-
// Coolify
|
|
116
|
-
//
|
|
117
|
-
//
|
|
118
|
-
//
|
|
125
|
+
// Coolify still requires a `ports_exposes` value even for
|
|
126
|
+
// dockercompose apps — it's metadata once the compose file
|
|
127
|
+
// takes over. The server's Express port is the conventional
|
|
128
|
+
// pick.
|
|
119
129
|
portsExposes: String(options.serverPort ?? 3000),
|
|
120
130
|
name: appName,
|
|
121
|
-
|
|
131
|
+
// Per-service routing (see comment above). Bypasses the
|
|
132
|
+
// `domains`-flat translation in coolify-api.ts because the
|
|
133
|
+
// starter's compose has more than one public service.
|
|
134
|
+
dockerComposeDomains,
|
|
122
135
|
// First deploy lands via GitHub Actions on first push, so we
|
|
123
136
|
// don't need Coolify to start the (empty) container right now.
|
|
124
137
|
instantDeploy: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coolify.js","sourceRoot":"","sources":["../../src/deploy/coolify.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AA4BrD;;oDAEoD;AACpD,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAAqB,EACrB,UAAkC,EAAE;IAEpC,MAAM,GAAG,GAAG,MAAM,gBAAgB,EAAE,CAAC;IACrC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;IACzF,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;IAE/D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC,CAAC;IAE5F,MAAM,MAAM,GAAG,GAAG,CAAC,4BAA4B,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IAClE,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;QACvC,MAAM,CAAC,OAAO,CAAC,yBAAyB,OAAO,EAAE,CAAC,CAAC;IACrD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,+BAA+B,GAAG,CAAC,GAAG,KAAM,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;IACvF,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAExD,mEAAmE;IACnE,oEAAoE;IACpE,yBAAyB;IACzB,IAAI,WAAmB,CAAC;IACxB,MAAM,eAAe,GAAG,MAAM,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACjE,IAAI,eAAe,EAAE,CAAC;QACpB,WAAW,GAAG,eAAe,CAAC,IAAI,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,oCAAoC,MAAM,CAAC,IAAI,KAAK,WAAW,GAAG,CAAC,CAAC,CAAC;IAC7F,CAAC;SAAM,CAAC;QACN,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACrD,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,wBAAwB,MAAM,CAAC,IAAI,KAAK,WAAW,GAAG,CAAC,CAAC,CAAC;IACnF,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"coolify.js","sourceRoot":"","sources":["../../src/deploy/coolify.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import type { CoolifyApi } from "../utils/coolify-api.js";
|
|
2
|
+
export interface GhcrSetupOptions {
|
|
3
|
+
/** Owner/repo slug, e.g. `trebeljahr/extinction-protocol`. */
|
|
4
|
+
repoSlug: string;
|
|
5
|
+
/** Maximum time to wait for the first Actions push to create the
|
|
6
|
+
* package in GHCR. Default 5 minutes — enough headroom for cold
|
|
7
|
+
* builds without keeping the user staring at a spinner forever. */
|
|
8
|
+
waitTimeoutMs?: number;
|
|
9
|
+
/** How often to recheck whether the package exists. Default 8s —
|
|
10
|
+
* matches GHCR's typical sync delay after a push. */
|
|
11
|
+
pollIntervalMs?: number;
|
|
12
|
+
}
|
|
13
|
+
/** Outcome surface for adopt's caveats list. The caller logs success
|
|
14
|
+
* inline and only forwards `failed`/`skipped` to the run's caveat
|
|
15
|
+
* block — that way the user sees the recovery recipe right where
|
|
16
|
+
* they need it. */
|
|
17
|
+
export type GhcrSetupResult = {
|
|
18
|
+
kind: "public-set";
|
|
19
|
+
visibility: "public";
|
|
20
|
+
} | {
|
|
21
|
+
kind: "private-registered";
|
|
22
|
+
registryUuid: string;
|
|
23
|
+
} | {
|
|
24
|
+
kind: "skipped";
|
|
25
|
+
reason: string;
|
|
26
|
+
recovery: string[];
|
|
27
|
+
} | {
|
|
28
|
+
kind: "failed";
|
|
29
|
+
reason: string;
|
|
30
|
+
recovery: string[];
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* Path A — make the GHCR package public.
|
|
34
|
+
*
|
|
35
|
+
* Runs after `pushInitialBranch` so we know Actions has been triggered.
|
|
36
|
+
* The poll loop waits for the registry to surface the package (anonymous
|
|
37
|
+
* token endpoint returns 200 once the package row exists, regardless of
|
|
38
|
+
* visibility), then PATCHes visibility. Bounded by `waitTimeoutMs` so
|
|
39
|
+
* the user isn't stuck if Actions failed for an unrelated reason.
|
|
40
|
+
*/
|
|
41
|
+
export declare function makeGhcrPackagePublic(options: GhcrSetupOptions): Promise<GhcrSetupResult>;
|
|
42
|
+
/**
|
|
43
|
+
* Path B — register a GHCR PAT with Coolify so it can pull a private
|
|
44
|
+
* package. Reads the PAT (and its owner login) from `getGhcrConfig()`;
|
|
45
|
+
* when missing, surfaces a caveat pointing at `hatchkit config add
|
|
46
|
+
* ghcr` rather than prompting mid-adopt.
|
|
47
|
+
*
|
|
48
|
+
* Username vs repo owner: the registry login docker uses is the *PAT
|
|
49
|
+
* owner's* GitHub username, not necessarily the repo owner. They line
|
|
50
|
+
* up for personal repos but diverge for org-owned repos pulled with a
|
|
51
|
+
* personal PAT. Callers pass the username explicitly.
|
|
52
|
+
*
|
|
53
|
+
* The Coolify private-registries endpoint is system-wide: once a creds
|
|
54
|
+
* entry exists for `ghcr.io`, every app on every server in this Coolify
|
|
55
|
+
* install pulls authenticated from there. So we only register once per
|
|
56
|
+
* Coolify install (idempotent on hostname).
|
|
57
|
+
*/
|
|
58
|
+
export declare function registerGhcrCredsWithCoolify(options: GhcrSetupOptions & {
|
|
59
|
+
api: CoolifyApi;
|
|
60
|
+
/** GHCR PAT (scope `read:packages`). Caller owns the keychain
|
|
61
|
+
* lookup so this module stays IO-free aside from `gh`. */
|
|
62
|
+
pullToken: string | undefined;
|
|
63
|
+
/** GitHub login the PAT belongs to. Sent as the registry username.
|
|
64
|
+
* When undefined we treat it as "creds incomplete" and surface
|
|
65
|
+
* the same `config add ghcr` caveat. */
|
|
66
|
+
username: string | undefined;
|
|
67
|
+
}): Promise<GhcrSetupResult>;
|
|
68
|
+
//# sourceMappingURL=ghcr.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ghcr.d.ts","sourceRoot":"","sources":["../../src/deploy/ghcr.ts"],"names":[],"mappings":"AAkCA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAG1D,MAAM,WAAW,gBAAgB;IAC/B,8DAA8D;IAC9D,QAAQ,EAAE,MAAM,CAAC;IACjB;;wEAEoE;IACpE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;0DACsD;IACtD,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;oBAGoB;AACpB,MAAM,MAAM,eAAe,GACvB;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,UAAU,EAAE,QAAQ,CAAA;CAAE,GAC5C;IAAE,IAAI,EAAE,oBAAoB,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GACpD;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,GACvD;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAE3D;;;;;;;;GAQG;AACH,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CAiE/F;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,4BAA4B,CAChD,OAAO,EAAE,gBAAgB,GAAG;IAC1B,GAAG,EAAE,UAAU,CAAC;IAChB;+DAC2D;IAC3D,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B;;6CAEyC;IACzC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B,GACA,OAAO,CAAC,eAAe,CAAC,CA2C1B"}
|