dokku-compose 0.6.5 → 0.6.7
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/index.js +23 -67
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -142,11 +142,6 @@ function createRunner(opts = {}) {
|
|
|
142
142
|
const result = await execa("dokku", args);
|
|
143
143
|
return { stdout: result.stdout, ok: true };
|
|
144
144
|
} catch (e) {
|
|
145
|
-
if (process.env.DOKKU_COMPOSE_DEBUG) {
|
|
146
|
-
console.error(`[debug] execDokku error for: dokku ${args.join(" ")}`);
|
|
147
|
-
console.error(`[debug] exit code: ${e.exitCode}, stderr: ${(e.stderr ?? "").slice(0, 200)}`);
|
|
148
|
-
console.error(`[debug] stdout length: ${(e.stdout ?? "").length}`);
|
|
149
|
-
}
|
|
150
145
|
return { stdout: e.stdout ?? "", ok: false };
|
|
151
146
|
}
|
|
152
147
|
}
|
|
@@ -546,64 +541,32 @@ function parseBuildArgs(dockerOptsBuild) {
|
|
|
546
541
|
for (const m of matches) args[m[1]] = m[2];
|
|
547
542
|
return args;
|
|
548
543
|
}
|
|
549
|
-
function buildConfigFromReports(builderReport, dockerfileReport, appJsonReport, dockerOptsBuild) {
|
|
550
|
-
const config = {};
|
|
551
|
-
if (dockerfileReport["dockerfile-path"])
|
|
552
|
-
config.dockerfile = dockerfileReport["dockerfile-path"];
|
|
553
|
-
if (appJsonReport["selected"])
|
|
554
|
-
config.app_json = appJsonReport["selected"];
|
|
555
|
-
if (builderReport["build-dir"])
|
|
556
|
-
config.context = builderReport["build-dir"];
|
|
557
|
-
const args = parseBuildArgs(dockerOptsBuild);
|
|
558
|
-
if (Object.keys(args).length > 0) config.args = args;
|
|
559
|
-
return config;
|
|
560
|
-
}
|
|
561
544
|
var Builder = {
|
|
562
545
|
key: "build",
|
|
563
546
|
async read(ctx, target) {
|
|
564
|
-
const builderRaw = await
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
547
|
+
const [builderRaw, dockerfileRaw, appJsonRaw, dockerOptsRaw] = await Promise.all([
|
|
548
|
+
ctx.query("builder:report", target),
|
|
549
|
+
ctx.query("builder-dockerfile:report", target),
|
|
550
|
+
ctx.query("app-json:report", target),
|
|
551
|
+
ctx.query("docker-options:report", target)
|
|
552
|
+
]);
|
|
553
|
+
const config = {};
|
|
554
|
+
const builderReport = parseReport(builderRaw, "builder");
|
|
555
|
+
const dockerfileReport = parseReport(dockerfileRaw, "builder-dockerfile");
|
|
556
|
+
const appJsonReport = parseReport(appJsonRaw, "app-json");
|
|
568
557
|
const dockerOptsReport = parseReport(dockerOptsRaw, "docker-options");
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
const dockerfileRaw = await ctx.query("builder-dockerfile:report");
|
|
579
|
-
const appJsonRaw = await ctx.query("app-json:report");
|
|
580
|
-
const dockerOptsRaw = await ctx.query("docker-options:report");
|
|
581
|
-
const builderBulk = parseBulkReport(builderRaw, "builder");
|
|
582
|
-
const dockerfileBulk = parseBulkReport(dockerfileRaw, "builder-dockerfile");
|
|
583
|
-
const appJsonBulk = parseBulkReport(appJsonRaw, "app-json");
|
|
584
|
-
const dockerOptsBulk = parseBulkReport(dockerOptsRaw, "docker-options");
|
|
585
|
-
if (process.env.DOKKU_COMPOSE_DEBUG) {
|
|
586
|
-
console.error("[debug] builderRaw length:", builderRaw.length);
|
|
587
|
-
console.error("[debug] dockerfileRaw length:", dockerfileRaw.length);
|
|
588
|
-
console.error("[debug] appJsonRaw length:", appJsonRaw.length);
|
|
589
|
-
console.error("[debug] dockerOptsRaw length:", dockerOptsRaw.length);
|
|
590
|
-
console.error("[debug] dockerfileRaw first 300:", JSON.stringify(dockerfileRaw.slice(0, 300)));
|
|
591
|
-
console.error("[debug] dockerOptsRaw first 300:", JSON.stringify(dockerOptsRaw.slice(0, 300)));
|
|
592
|
-
console.error("[debug] builderBulk keys:", [...builderBulk.keys()]);
|
|
593
|
-
console.error("[debug] dockerfileBulk keys:", [...dockerfileBulk.keys()]);
|
|
594
|
-
console.error("[debug] dockerOptsBulk keys:", [...dockerOptsBulk.keys()]);
|
|
595
|
-
}
|
|
596
|
-
const result = /* @__PURE__ */ new Map();
|
|
597
|
-
for (const app of builderBulk.keys()) {
|
|
598
|
-
result.set(app, buildConfigFromReports(
|
|
599
|
-
builderBulk.get(app) ?? {},
|
|
600
|
-
dockerfileBulk.get(app) ?? {},
|
|
601
|
-
appJsonBulk.get(app) ?? {},
|
|
602
|
-
dockerOptsBulk.get(app)?.["build"] ?? ""
|
|
603
|
-
));
|
|
604
|
-
}
|
|
605
|
-
return result;
|
|
558
|
+
if (dockerfileReport["dockerfile-path"])
|
|
559
|
+
config.dockerfile = dockerfileReport["dockerfile-path"];
|
|
560
|
+
if (appJsonReport["selected"])
|
|
561
|
+
config.app_json = appJsonReport["selected"];
|
|
562
|
+
if (builderReport["build-dir"])
|
|
563
|
+
config.context = builderReport["build-dir"];
|
|
564
|
+
const args = parseBuildArgs(dockerOptsReport["build"] ?? "");
|
|
565
|
+
if (Object.keys(args).length > 0) config.args = args;
|
|
566
|
+
return config;
|
|
606
567
|
},
|
|
568
|
+
// No readAll — builder-dockerfile:report and docker-options:report
|
|
569
|
+
// don't support bulk mode (no app arg) on all Dokku installations
|
|
607
570
|
async onChange(ctx, target, { after }) {
|
|
608
571
|
if (after.dockerfile)
|
|
609
572
|
await ctx.run("builder-dockerfile:set", target, "dockerfile-path", after.dockerfile);
|
|
@@ -643,15 +606,8 @@ var DockerOptions = {
|
|
|
643
606
|
const raw = await ctx.query("docker-options:report", target);
|
|
644
607
|
return dockerOptsFromReport(parseReport(raw, "docker-options"));
|
|
645
608
|
},
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
const bulk = parseBulkReport(raw, "docker-options");
|
|
649
|
-
const result = /* @__PURE__ */ new Map();
|
|
650
|
-
for (const [app, report] of bulk) {
|
|
651
|
-
result.set(app, dockerOptsFromReport(report));
|
|
652
|
-
}
|
|
653
|
-
return result;
|
|
654
|
-
},
|
|
609
|
+
// No readAll — docker-options:report doesn't support bulk mode (no app arg)
|
|
610
|
+
// on all Dokku installations due to basher environment issues
|
|
655
611
|
async onChange(ctx, target, { before, after }) {
|
|
656
612
|
for (const phase of PHASES) {
|
|
657
613
|
const prev = new Set(before[phase] ?? []);
|