openship 0.7.1 → 0.7.2
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/{chunk-7MCPDYKP.js → chunk-EXXKRORU.js} +28 -15
- package/dist/{chunk-IXBOV7BE.js → chunk-JJD4YD2O.js} +1 -1
- package/dist/{chunk-OEYXXSAM.js → chunk-KQPFPKL4.js} +1 -1
- package/dist/{chunk-NIOLZENU.js → chunk-V7JLX2QD.js} +5 -5
- package/dist/{chunk-H36ASAYI.js → chunk-XKLY2GH5.js} +3 -3
- package/dist/{chunk-WG5PDWZ3.js → chunk-XWZVDLGF.js} +1 -1
- package/dist/{docker-SQNZRZXN.js → docker-N3OVJUSM.js} +1 -1
- package/dist/{edge-import-LUDX77C2.js → edge-import-YU5YKFXT.js} +3 -3
- package/dist/{edge-preflight-JAEFWBRI.js → edge-preflight-RCXSCKM3.js} +1 -1
- package/dist/{host-channel-preflight-U4IZCRXR.js → host-channel-preflight-U4NF425M.js} +3 -3
- package/dist/index.js +21 -21
- package/dist/server/index.js +24 -12
- package/dist/{up-U73RUN5R.js → up-Z2CMXZED.js} +6 -6
- package/package.json +1 -1
|
@@ -5647,14 +5647,17 @@ function memoryGuidance(context) {
|
|
|
5647
5647
|
}
|
|
5648
5648
|
return "This build path was not under an OpenShip-enforced memory cap; check available RAM/swap and the host or Docker daemon OOM logs.";
|
|
5649
5649
|
}
|
|
5650
|
-
function
|
|
5651
|
-
const match
|
|
5652
|
-
/(?:returned a non-zero code|
|
|
5653
|
-
)
|
|
5654
|
-
|
|
5650
|
+
function findNonZeroExitCode(output) {
|
|
5651
|
+
for (const match of output.matchAll(
|
|
5652
|
+
/(?:returned a non-zero code|exit(?:ed)? with(?: exit)? code|exit code)\s*:?\s*(\d+)\b/gi
|
|
5653
|
+
)) {
|
|
5654
|
+
const code = Number(match[1]);
|
|
5655
|
+
if (code !== 0) return code;
|
|
5656
|
+
}
|
|
5657
|
+
return null;
|
|
5655
5658
|
}
|
|
5656
5659
|
function extractDockerBuildFailureHint(line, context = {}) {
|
|
5657
|
-
const code =
|
|
5660
|
+
const code = findNonZeroExitCode(line);
|
|
5658
5661
|
if (code === 137) {
|
|
5659
5662
|
return `${line} \u2014 The build process was killed by SIGKILL (exit code 137). Memory exhaustion is the most common cause, but exit 137 alone does not prove OOM. ${memoryGuidance(context)}`;
|
|
5660
5663
|
}
|
|
@@ -6467,10 +6470,13 @@ var DockerRuntime = class _DockerRuntime {
|
|
|
6467
6470
|
logger.step(step, status, message);
|
|
6468
6471
|
}
|
|
6469
6472
|
handleBuildEvent(event, logger, trace, diagnosticContext = {}) {
|
|
6470
|
-
const errorMessage = event.errorDetail?.message
|
|
6473
|
+
const errorMessage = event.errorDetail?.message || event.error;
|
|
6471
6474
|
if (errorMessage) {
|
|
6472
6475
|
logger.log(errorMessage, "error");
|
|
6473
|
-
return
|
|
6476
|
+
return {
|
|
6477
|
+
errorMessage,
|
|
6478
|
+
failureHint: this.extractBuildFailureHint(errorMessage, diagnosticContext) ?? errorMessage
|
|
6479
|
+
};
|
|
6474
6480
|
}
|
|
6475
6481
|
if (event.id === "moby.buildkit.trace" && typeof event.aux === "string") {
|
|
6476
6482
|
let hint = null;
|
|
@@ -6478,10 +6484,10 @@ var DockerRuntime = class _DockerRuntime {
|
|
|
6478
6484
|
logger.log(line.message, line.level === "error" ? "error" : parseLogLevel(line.message));
|
|
6479
6485
|
hint = chooseDockerBuildFailureHint(
|
|
6480
6486
|
hint,
|
|
6481
|
-
this.extractBuildFailureHint(line.message, diagnosticContext)
|
|
6487
|
+
this.extractBuildFailureHint(line.message, diagnosticContext) ?? (line.level === "error" ? line.message : null)
|
|
6482
6488
|
);
|
|
6483
6489
|
}
|
|
6484
|
-
return hint;
|
|
6490
|
+
return { failureHint: hint };
|
|
6485
6491
|
}
|
|
6486
6492
|
if (event.stream) {
|
|
6487
6493
|
const line = event.stream.trim();
|
|
@@ -6506,7 +6512,7 @@ var DockerRuntime = class _DockerRuntime {
|
|
|
6506
6512
|
return null;
|
|
6507
6513
|
}
|
|
6508
6514
|
logger.log(line, parseLogLevel(line));
|
|
6509
|
-
return this.extractBuildFailureHint(line, diagnosticContext);
|
|
6515
|
+
return { failureHint: this.extractBuildFailureHint(line, diagnosticContext) };
|
|
6510
6516
|
}
|
|
6511
6517
|
if (event.status) {
|
|
6512
6518
|
const parts = [event.id, event.status, event.progress].filter((p) => Boolean(p?.trim())).map((p) => p.trim());
|
|
@@ -7079,6 +7085,7 @@ var DockerRuntime = class _DockerRuntime {
|
|
|
7079
7085
|
*/
|
|
7080
7086
|
async streamDockerodeBuild(stream, log, options = {}) {
|
|
7081
7087
|
let fatalBuildError = null;
|
|
7088
|
+
let streamedFailureHint = null;
|
|
7082
7089
|
const timeoutMs = getDockerBuildIdleTimeoutMs();
|
|
7083
7090
|
const diagnosticContext = options.diagnosticContext ?? {};
|
|
7084
7091
|
const buildContainerTracker = options.legacyBuilder ? this.legacyBuildContainerTracker(
|
|
@@ -7159,9 +7166,11 @@ var DockerRuntime = class _DockerRuntime {
|
|
|
7159
7166
|
(event) => {
|
|
7160
7167
|
idleMonitor?.progress();
|
|
7161
7168
|
buildContainerTracker?.observe(event.stream);
|
|
7162
|
-
|
|
7163
|
-
|
|
7164
|
-
|
|
7169
|
+
const diagnostics = this.handleBuildEvent(event, log, options.trace, diagnosticContext);
|
|
7170
|
+
fatalBuildError ??= diagnostics?.errorMessage ?? null;
|
|
7171
|
+
streamedFailureHint = chooseDockerBuildFailureHint(
|
|
7172
|
+
streamedFailureHint,
|
|
7173
|
+
diagnostics?.failureHint ?? null
|
|
7165
7174
|
);
|
|
7166
7175
|
}
|
|
7167
7176
|
);
|
|
@@ -7179,7 +7188,11 @@ var DockerRuntime = class _DockerRuntime {
|
|
|
7179
7188
|
throw new BuildCancelledError();
|
|
7180
7189
|
}
|
|
7181
7190
|
if (fatalBuildError) {
|
|
7182
|
-
|
|
7191
|
+
const hint = chooseDockerBuildFailureHint(fatalBuildError, streamedFailureHint);
|
|
7192
|
+
throw new Error(
|
|
7193
|
+
hint && !hint.includes(fatalBuildError) ? `${fatalBuildError}
|
|
7194
|
+
${hint}` : hint ?? fatalBuildError
|
|
7195
|
+
);
|
|
7183
7196
|
}
|
|
7184
7197
|
}
|
|
7185
7198
|
/**
|
|
@@ -28,7 +28,7 @@ import {
|
|
|
28
28
|
resolvePorts,
|
|
29
29
|
sourceBuildDir,
|
|
30
30
|
verifyHostChannel
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-XKLY2GH5.js";
|
|
32
32
|
import {
|
|
33
33
|
bootstrapAdmin,
|
|
34
34
|
importMigratedSites,
|
|
@@ -36,18 +36,18 @@ import {
|
|
|
36
36
|
internalPost,
|
|
37
37
|
mintBareInternalToken,
|
|
38
38
|
waitHealthy
|
|
39
|
-
} from "./chunk-
|
|
39
|
+
} from "./chunk-KQPFPKL4.js";
|
|
40
40
|
import {
|
|
41
41
|
startUnitHint,
|
|
42
42
|
thisHost
|
|
43
|
-
} from "./chunk-
|
|
43
|
+
} from "./chunk-JJD4YD2O.js";
|
|
44
44
|
import {
|
|
45
45
|
completeHostEdge,
|
|
46
46
|
markStoppedProxyImported,
|
|
47
47
|
planAndApplyHostEdge,
|
|
48
48
|
previewHostEdge,
|
|
49
49
|
rollbackHostEdge
|
|
50
|
-
} from "./chunk-
|
|
50
|
+
} from "./chunk-XWZVDLGF.js";
|
|
51
51
|
import {
|
|
52
52
|
AUTH_SECRET_FILE,
|
|
53
53
|
DATA_DIR,
|
|
@@ -1564,7 +1564,7 @@ async function runForeground(opts, source) {
|
|
|
1564
1564
|
const uiSpinner = ora("Preparing the dashboard\u2026").start();
|
|
1565
1565
|
try {
|
|
1566
1566
|
const bundle = await ensureDashboard({
|
|
1567
|
-
tag: source ? "local" : opts.uiVersion || `v${"0.7.
|
|
1567
|
+
tag: source ? "local" : opts.uiVersion || `v${"0.7.2"}`,
|
|
1568
1568
|
onProgress: (received, total) => {
|
|
1569
1569
|
if (total) {
|
|
1570
1570
|
uiSpinner.text = `Downloading dashboard\u2026 ${Math.round(received / total * 100)}%`;
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
readComposeEnvFile,
|
|
11
11
|
resolveLocalEnvironmentSync,
|
|
12
12
|
thisHost
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-JJD4YD2O.js";
|
|
14
14
|
import {
|
|
15
15
|
OS_DIR
|
|
16
16
|
} from "./chunk-ELGRMZOW.js";
|
|
@@ -24,7 +24,7 @@ import {
|
|
|
24
24
|
import {
|
|
25
25
|
DEFAULT_DOCKER_SOCKET_PATH,
|
|
26
26
|
resolveLocalDockerSocketPath
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-EXXKRORU.js";
|
|
28
28
|
import {
|
|
29
29
|
LocalExecutor
|
|
30
30
|
} from "./chunk-KCMEWNP7.js";
|
|
@@ -1627,7 +1627,7 @@ function operatorEnvPassthrough(managed, prev) {
|
|
|
1627
1627
|
}
|
|
1628
1628
|
var PRESERVED_ENV_HEADER = "# Preserved from your existing .env \u2014 set by you, not by `openship up` (#485).";
|
|
1629
1629
|
function resolveImageVersion(opts) {
|
|
1630
|
-
return opts.version?.trim() || process.env.OPENSHIP_VERSION?.trim() || (true ? "0.7.
|
|
1630
|
+
return opts.version?.trim() || process.env.OPENSHIP_VERSION?.trim() || (true ? "0.7.2" : "latest");
|
|
1631
1631
|
}
|
|
1632
1632
|
function managedEnvLines(opts, host, cfg, prev) {
|
|
1633
1633
|
const lines = [
|
|
@@ -243,7 +243,7 @@ async function repairEdgeConflict(mode, apiPort, onLog) {
|
|
|
243
243
|
}
|
|
244
244
|
spawnSync("docker", ["restart", "openship-edge"], { stdio: "ignore" });
|
|
245
245
|
if (mode === "migrate" && scan.sites.length > 0) {
|
|
246
|
-
const { importMigratedSites } = await import("./edge-import-
|
|
246
|
+
const { importMigratedSites } = await import("./edge-import-YU5YKFXT.js");
|
|
247
247
|
const outcome = await importMigratedSites(apiPort, scan.sites, certPems);
|
|
248
248
|
if (outcome.registered.length === 0) {
|
|
249
249
|
return {
|
|
@@ -6,8 +6,8 @@ import {
|
|
|
6
6
|
importMigratedSites,
|
|
7
7
|
waitForApiHealth,
|
|
8
8
|
waitForEdgeRunning
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-
|
|
9
|
+
} from "./chunk-KQPFPKL4.js";
|
|
10
|
+
import "./chunk-JJD4YD2O.js";
|
|
11
11
|
import "./chunk-QWHBRY2K.js";
|
|
12
12
|
import "./chunk-ELGRMZOW.js";
|
|
13
13
|
import "./chunk-3K65MMYV.js";
|
|
@@ -28,7 +28,7 @@ import "./chunk-I3DPMTSF.js";
|
|
|
28
28
|
import "./chunk-WNWQBB7F.js";
|
|
29
29
|
import "./chunk-NRU2EBYZ.js";
|
|
30
30
|
import "./chunk-RHLNVZMS.js";
|
|
31
|
-
import "./chunk-
|
|
31
|
+
import "./chunk-EXXKRORU.js";
|
|
32
32
|
import "./chunk-S5GU345P.js";
|
|
33
33
|
import "./chunk-3YSSXSC2.js";
|
|
34
34
|
import "./chunk-CQ2JOXEQ.js";
|
|
@@ -5,8 +5,8 @@ const require = __ospCreateRequire(import.meta.url);
|
|
|
5
5
|
import {
|
|
6
6
|
checkHostChannel,
|
|
7
7
|
verifyHostChannel
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-XKLY2GH5.js";
|
|
9
|
+
import "./chunk-JJD4YD2O.js";
|
|
10
10
|
import "./chunk-QWHBRY2K.js";
|
|
11
11
|
import "./chunk-ELGRMZOW.js";
|
|
12
12
|
import "./chunk-3K65MMYV.js";
|
|
@@ -27,7 +27,7 @@ import "./chunk-I3DPMTSF.js";
|
|
|
27
27
|
import "./chunk-WNWQBB7F.js";
|
|
28
28
|
import "./chunk-NRU2EBYZ.js";
|
|
29
29
|
import "./chunk-RHLNVZMS.js";
|
|
30
|
-
import "./chunk-
|
|
30
|
+
import "./chunk-EXXKRORU.js";
|
|
31
31
|
import "./chunk-S5GU345P.js";
|
|
32
32
|
import "./chunk-3YSSXSC2.js";
|
|
33
33
|
import "./chunk-CQ2JOXEQ.js";
|
package/dist/index.js
CHANGED
|
@@ -26,7 +26,7 @@ import {
|
|
|
26
26
|
stop,
|
|
27
27
|
upCommand,
|
|
28
28
|
writeCliInstall
|
|
29
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-V7JLX2QD.js";
|
|
30
30
|
import {
|
|
31
31
|
composeDown,
|
|
32
32
|
composeInternalToken,
|
|
@@ -60,7 +60,7 @@ import {
|
|
|
60
60
|
sourceBuildDir,
|
|
61
61
|
storedApiPort,
|
|
62
62
|
storedDashboardPort
|
|
63
|
-
} from "./chunk-
|
|
63
|
+
} from "./chunk-XKLY2GH5.js";
|
|
64
64
|
import {
|
|
65
65
|
bootstrapAdmin,
|
|
66
66
|
detectPublicIp,
|
|
@@ -71,10 +71,10 @@ import {
|
|
|
71
71
|
internalTokenRejectedProblem,
|
|
72
72
|
waitDashboard,
|
|
73
73
|
waitHealthy
|
|
74
|
-
} from "./chunk-
|
|
74
|
+
} from "./chunk-KQPFPKL4.js";
|
|
75
75
|
import {
|
|
76
76
|
startUnitHint
|
|
77
|
-
} from "./chunk-
|
|
77
|
+
} from "./chunk-JJD4YD2O.js";
|
|
78
78
|
import "./chunk-QWHBRY2K.js";
|
|
79
79
|
import {
|
|
80
80
|
completeHostEdge,
|
|
@@ -85,7 +85,7 @@ import {
|
|
|
85
85
|
renderEdgeConflict,
|
|
86
86
|
repairEdgeConflict,
|
|
87
87
|
rollbackHostEdge
|
|
88
|
-
} from "./chunk-
|
|
88
|
+
} from "./chunk-XWZVDLGF.js";
|
|
89
89
|
import {
|
|
90
90
|
DATA_DIR,
|
|
91
91
|
LOG_DIR,
|
|
@@ -112,7 +112,7 @@ import "./chunk-I3DPMTSF.js";
|
|
|
112
112
|
import "./chunk-WNWQBB7F.js";
|
|
113
113
|
import "./chunk-NRU2EBYZ.js";
|
|
114
114
|
import "./chunk-RHLNVZMS.js";
|
|
115
|
-
import "./chunk-
|
|
115
|
+
import "./chunk-EXXKRORU.js";
|
|
116
116
|
import "./chunk-S5GU345P.js";
|
|
117
117
|
import "./chunk-3YSSXSC2.js";
|
|
118
118
|
import "./chunk-CQ2JOXEQ.js";
|
|
@@ -313,7 +313,7 @@ function getDashboardUrl(name) {
|
|
|
313
313
|
}
|
|
314
314
|
|
|
315
315
|
// src/lib/api-client.ts
|
|
316
|
-
var USER_AGENT = `openship-cli/${true ? "0.7.
|
|
316
|
+
var USER_AGENT = `openship-cli/${true ? "0.7.2" : "dev"}`;
|
|
317
317
|
function getApiUrl2() {
|
|
318
318
|
return `${getApiUrl()}/api`;
|
|
319
319
|
}
|
|
@@ -1109,7 +1109,7 @@ function dockerNameRunning(nameFilter) {
|
|
|
1109
1109
|
return r.stdout.trim().length > 0;
|
|
1110
1110
|
}
|
|
1111
1111
|
async function hostControlCheck(api) {
|
|
1112
|
-
const { checkHostChannel } = await import("./host-channel-preflight-
|
|
1112
|
+
const { checkHostChannel } = await import("./host-channel-preflight-U4NF425M.js");
|
|
1113
1113
|
return hostControlRow(await checkHostChannel().catch(() => null), api);
|
|
1114
1114
|
}
|
|
1115
1115
|
var NEVER_PROVISIONED_DETAIL = `never provisioned \u2014 run \`${HOST_CHANNEL_PROVISION_COMMAND}\``;
|
|
@@ -1514,7 +1514,7 @@ async function interactiveDoctor() {
|
|
|
1514
1514
|
continue;
|
|
1515
1515
|
}
|
|
1516
1516
|
if (action2 === "host-control") {
|
|
1517
|
-
const { verifyHostChannel } = await import("./host-channel-preflight-
|
|
1517
|
+
const { verifyHostChannel } = await import("./host-channel-preflight-U4NF425M.js");
|
|
1518
1518
|
const report3 = await verifyHostChannel().catch(() => null);
|
|
1519
1519
|
if (report3?.status === "fixed") log2.success("Host control is reachable now.");
|
|
1520
1520
|
else if (report3?.status === "ok") log2.success("Host control was already reachable.");
|
|
@@ -3607,7 +3607,7 @@ async function runRepair2(mode) {
|
|
|
3607
3607
|
requireLinux();
|
|
3608
3608
|
const sp = spin2(mode === "migrate" ? "Migrating the existing proxy's sites into the edge\u2026" : "Taking over :80/:443\u2026");
|
|
3609
3609
|
try {
|
|
3610
|
-
const { repairEdgeConflict: repairEdgeConflict2 } = await import("./edge-preflight-
|
|
3610
|
+
const { repairEdgeConflict: repairEdgeConflict2 } = await import("./edge-preflight-RCXSCKM3.js");
|
|
3611
3611
|
sp?.stop();
|
|
3612
3612
|
const res = await repairEdgeConflict2(mode, apiPort(), onLog);
|
|
3613
3613
|
reportRepair(res);
|
|
@@ -3756,7 +3756,7 @@ async function panelStatus() {
|
|
|
3756
3756
|
async function panelRepair(mode) {
|
|
3757
3757
|
const sp = spin2(mode === "migrate" ? "Migrating the existing proxy's sites\u2026" : "Taking over :80/:443\u2026");
|
|
3758
3758
|
try {
|
|
3759
|
-
const { repairEdgeConflict: repairEdgeConflict2 } = await import("./edge-preflight-
|
|
3759
|
+
const { repairEdgeConflict: repairEdgeConflict2 } = await import("./edge-preflight-RCXSCKM3.js");
|
|
3760
3760
|
sp?.stop();
|
|
3761
3761
|
const res = await repairEdgeConflict2(mode, apiPort(), onLog);
|
|
3762
3762
|
renderRepair(res);
|
|
@@ -4598,7 +4598,7 @@ function printMonitoringNextSteps() {
|
|
|
4598
4598
|
info(" openship edge analytics -p <project> per-domain analytics");
|
|
4599
4599
|
}
|
|
4600
4600
|
async function runMonitoringInstall(opts) {
|
|
4601
|
-
const up = await import("./up-
|
|
4601
|
+
const up = await import("./up-Z2CMXZED.js");
|
|
4602
4602
|
let adminName = opts.adminName;
|
|
4603
4603
|
let adminEmail = opts.adminEmail;
|
|
4604
4604
|
let adminPassword = opts.adminPassword;
|
|
@@ -6755,7 +6755,7 @@ function applyOnlyArgv(selfArgs, json) {
|
|
|
6755
6755
|
// src/commands/update.ts
|
|
6756
6756
|
async function verifyHostChannelAfterUpdate() {
|
|
6757
6757
|
if (isJsonMode()) return;
|
|
6758
|
-
const { verifyHostChannel } = await import("./host-channel-preflight-
|
|
6758
|
+
const { verifyHostChannel } = await import("./host-channel-preflight-U4NF425M.js");
|
|
6759
6759
|
await verifyHostChannel().catch(() => {
|
|
6760
6760
|
});
|
|
6761
6761
|
}
|
|
@@ -6832,7 +6832,7 @@ async function runSourceUpdate(source, opts) {
|
|
|
6832
6832
|
}
|
|
6833
6833
|
var REINSTALL_HINT = "curl -fsSL https://get.openship.io | sh";
|
|
6834
6834
|
async function runTarballUpdate(install, opts) {
|
|
6835
|
-
const current = "0.7.
|
|
6835
|
+
const current = "0.7.2";
|
|
6836
6836
|
let latest;
|
|
6837
6837
|
try {
|
|
6838
6838
|
latest = (await resolveLatestTag()).replace(/^v/, "");
|
|
@@ -6916,7 +6916,7 @@ var updateCommand = new Command26("update").description("Update the Openship CLI
|
|
|
6916
6916
|
if (source) return runSourceUpdate(source, opts);
|
|
6917
6917
|
const cliInstall = readCliInstall();
|
|
6918
6918
|
if (cliInstall?.method === "tarball") return runTarballUpdate(cliInstall, opts);
|
|
6919
|
-
const current = "0.7.
|
|
6919
|
+
const current = "0.7.2";
|
|
6920
6920
|
let latest;
|
|
6921
6921
|
try {
|
|
6922
6922
|
latest = (await resolveLatestTag()).replace(/^v/, "");
|
|
@@ -7524,7 +7524,7 @@ async function runWizard() {
|
|
|
7524
7524
|
}
|
|
7525
7525
|
}
|
|
7526
7526
|
}
|
|
7527
|
-
const uiTag = `v${"0.7.
|
|
7527
|
+
const uiTag = `v${"0.7.2"}`;
|
|
7528
7528
|
if (method === "bare") {
|
|
7529
7529
|
const dl = spinner4();
|
|
7530
7530
|
dl.start("Pulling the Openship dist from GitHub");
|
|
@@ -7584,7 +7584,7 @@ async function runWizard() {
|
|
|
7584
7584
|
const dashboardPort = String(ports.dashboard);
|
|
7585
7585
|
const moved = portMoveNotice(ports, composeTrustedOriginUrls());
|
|
7586
7586
|
if (moved.length) log5.info(moved.join("\n"));
|
|
7587
|
-
if (!pinnedImagesReady({ version: "0.7.
|
|
7587
|
+
if (!pinnedImagesReady({ version: "0.7.2" })) {
|
|
7588
7588
|
cancel4("The pinned Openship image tag isn't in the registry yet \u2014 nothing on this box was changed.");
|
|
7589
7589
|
process.exit(1);
|
|
7590
7590
|
}
|
|
@@ -7608,7 +7608,7 @@ async function runWizard() {
|
|
|
7608
7608
|
dashboardPort,
|
|
7609
7609
|
publicUrl,
|
|
7610
7610
|
trustProxy: behindProxy,
|
|
7611
|
-
version: "0.7.
|
|
7611
|
+
version: "0.7.2",
|
|
7612
7612
|
noHostControl: !allowHostControl
|
|
7613
7613
|
});
|
|
7614
7614
|
if (!fetched.ok) {
|
|
@@ -7637,7 +7637,7 @@ async function runWizard() {
|
|
|
7637
7637
|
dashboardPort,
|
|
7638
7638
|
publicUrl,
|
|
7639
7639
|
trustProxy: behindProxy,
|
|
7640
|
-
version: "0.7.
|
|
7640
|
+
version: "0.7.2",
|
|
7641
7641
|
noHostControl: !allowHostControl
|
|
7642
7642
|
});
|
|
7643
7643
|
if (!up.ok) {
|
|
@@ -7738,7 +7738,7 @@ async function runWizard() {
|
|
|
7738
7738
|
if (result.liveUrl) liveUrl2 = result.liveUrl;
|
|
7739
7739
|
else if (!result.domainRegistered) liveUrl2 = `http://localhost:${started.dashPort}`;
|
|
7740
7740
|
for (const w of result.warnings) log5.warn(w);
|
|
7741
|
-
const { verifyHostChannel } = await import("./host-channel-preflight-
|
|
7741
|
+
const { verifyHostChannel } = await import("./host-channel-preflight-U4NF425M.js");
|
|
7742
7742
|
await verifyHostChannel().catch(() => {
|
|
7743
7743
|
});
|
|
7744
7744
|
finishSetup({
|
|
@@ -8017,7 +8017,7 @@ function attachCompletion(program2) {
|
|
|
8017
8017
|
|
|
8018
8018
|
// src/index.ts
|
|
8019
8019
|
var program = new Command28();
|
|
8020
|
-
program.name("openship").description("Openship CLI \u2014 install, run, and manage Openship from your terminal").version("0.7.
|
|
8020
|
+
program.name("openship").description("Openship CLI \u2014 install, run, and manage Openship from your terminal").version("0.7.2").option("--json", "Machine-readable JSON output (stdout data only)").hook("preAction", (thisCommand) => {
|
|
8021
8021
|
if (thisCommand.opts().json) setJsonMode(true);
|
|
8022
8022
|
}).action(async () => {
|
|
8023
8023
|
const installed = serviceStatus().installed || readInstallMethod() === "compose";
|
package/dist/server/index.js
CHANGED
|
@@ -37667,12 +37667,16 @@ function memoryGuidance(context) {
|
|
|
37667
37667
|
}
|
|
37668
37668
|
return "This build path was not under an OpenShip-enforced memory cap; check available RAM/swap and the host or Docker daemon OOM logs.";
|
|
37669
37669
|
}
|
|
37670
|
-
function
|
|
37671
|
-
const match
|
|
37672
|
-
|
|
37670
|
+
function findNonZeroExitCode(output) {
|
|
37671
|
+
for (const match of output.matchAll(/(?:returned a non-zero code|exit(?:ed)? with(?: exit)? code|exit code)\s*:?\s*(\d+)\b/gi)) {
|
|
37672
|
+
const code = Number(match[1]);
|
|
37673
|
+
if (code !== 0)
|
|
37674
|
+
return code;
|
|
37675
|
+
}
|
|
37676
|
+
return null;
|
|
37673
37677
|
}
|
|
37674
37678
|
function extractDockerBuildFailureHint(line, context = {}) {
|
|
37675
|
-
const code =
|
|
37679
|
+
const code = findNonZeroExitCode(line);
|
|
37676
37680
|
if (code === 137) {
|
|
37677
37681
|
return `${line} — The build process was killed by SIGKILL (exit code 137). Memory exhaustion is the most common cause, but exit 137 alone does not prove OOM. ${memoryGuidance(context)}`;
|
|
37678
37682
|
}
|
|
@@ -38518,18 +38522,21 @@ var init_docker2 = __esm(() => {
|
|
|
38518
38522
|
logger.step(step, status, message);
|
|
38519
38523
|
}
|
|
38520
38524
|
handleBuildEvent(event, logger, trace, diagnosticContext = {}) {
|
|
38521
|
-
const errorMessage = event.errorDetail?.message
|
|
38525
|
+
const errorMessage = event.errorDetail?.message || event.error;
|
|
38522
38526
|
if (errorMessage) {
|
|
38523
38527
|
logger.log(errorMessage, "error");
|
|
38524
|
-
return
|
|
38528
|
+
return {
|
|
38529
|
+
errorMessage,
|
|
38530
|
+
failureHint: this.extractBuildFailureHint(errorMessage, diagnosticContext) ?? errorMessage
|
|
38531
|
+
};
|
|
38525
38532
|
}
|
|
38526
38533
|
if (event.id === "moby.buildkit.trace" && typeof event.aux === "string") {
|
|
38527
38534
|
let hint = null;
|
|
38528
38535
|
for (const line of trace?.push(event.aux) ?? []) {
|
|
38529
38536
|
logger.log(line.message, line.level === "error" ? "error" : parseLogLevel(line.message));
|
|
38530
|
-
hint = chooseDockerBuildFailureHint(hint, this.extractBuildFailureHint(line.message, diagnosticContext));
|
|
38537
|
+
hint = chooseDockerBuildFailureHint(hint, this.extractBuildFailureHint(line.message, diagnosticContext) ?? (line.level === "error" ? line.message : null));
|
|
38531
38538
|
}
|
|
38532
|
-
return hint;
|
|
38539
|
+
return { failureHint: hint };
|
|
38533
38540
|
}
|
|
38534
38541
|
if (event.stream) {
|
|
38535
38542
|
const line = event.stream.trim();
|
|
@@ -38548,7 +38555,7 @@ var init_docker2 = __esm(() => {
|
|
|
38548
38555
|
return null;
|
|
38549
38556
|
}
|
|
38550
38557
|
logger.log(line, parseLogLevel(line));
|
|
38551
|
-
return this.extractBuildFailureHint(line, diagnosticContext);
|
|
38558
|
+
return { failureHint: this.extractBuildFailureHint(line, diagnosticContext) };
|
|
38552
38559
|
}
|
|
38553
38560
|
if (event.status) {
|
|
38554
38561
|
const parts2 = [event.id, event.status, event.progress].filter((p) => Boolean(p?.trim())).map((p) => p.trim());
|
|
@@ -38913,6 +38920,7 @@ var init_docker2 = __esm(() => {
|
|
|
38913
38920
|
}
|
|
38914
38921
|
async streamDockerodeBuild(stream, log, options = {}) {
|
|
38915
38922
|
let fatalBuildError = null;
|
|
38923
|
+
let streamedFailureHint = null;
|
|
38916
38924
|
const timeoutMs = getDockerBuildIdleTimeoutMs();
|
|
38917
38925
|
const diagnosticContext = options.diagnosticContext ?? {};
|
|
38918
38926
|
const buildContainerTracker = options.legacyBuilder ? this.legacyBuildContainerTracker(options.legacyBuilder.expectedMemoryBytes, options.legacyBuilder.ownershipHost) : null;
|
|
@@ -38992,7 +39000,9 @@ var init_docker2 = __esm(() => {
|
|
|
38992
39000
|
}, (event) => {
|
|
38993
39001
|
idleMonitor?.progress();
|
|
38994
39002
|
buildContainerTracker?.observe(event.stream);
|
|
38995
|
-
|
|
39003
|
+
const diagnostics = this.handleBuildEvent(event, log, options.trace, diagnosticContext);
|
|
39004
|
+
fatalBuildError ??= diagnostics?.errorMessage ?? null;
|
|
39005
|
+
streamedFailureHint = chooseDockerBuildFailureHint(streamedFailureHint, diagnostics?.failureHint ?? null);
|
|
38996
39006
|
});
|
|
38997
39007
|
});
|
|
38998
39008
|
} catch (error51) {
|
|
@@ -39004,7 +39014,9 @@ var init_docker2 = __esm(() => {
|
|
|
39004
39014
|
throw new BuildCancelledError;
|
|
39005
39015
|
}
|
|
39006
39016
|
if (fatalBuildError) {
|
|
39007
|
-
|
|
39017
|
+
const hint = chooseDockerBuildFailureHint(fatalBuildError, streamedFailureHint);
|
|
39018
|
+
throw new Error(hint && !hint.includes(fatalBuildError) ? `${fatalBuildError}
|
|
39019
|
+
${hint}` : hint ?? fatalBuildError);
|
|
39008
39020
|
}
|
|
39009
39021
|
}
|
|
39010
39022
|
async verifyImageBuilt(tag) {
|
|
@@ -216847,7 +216859,7 @@ var package_default;
|
|
|
216847
216859
|
var init_package = __esm(() => {
|
|
216848
216860
|
package_default = {
|
|
216849
216861
|
name: "@repo/api",
|
|
216850
|
-
version: "0.7.
|
|
216862
|
+
version: "0.7.2",
|
|
216851
216863
|
license: "Apache-2.0",
|
|
216852
216864
|
private: true,
|
|
216853
216865
|
type: "module",
|
|
@@ -7,12 +7,12 @@ import {
|
|
|
7
7
|
runHeadlessProvision,
|
|
8
8
|
startService,
|
|
9
9
|
upCommand
|
|
10
|
-
} from "./chunk-
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
10
|
+
} from "./chunk-V7JLX2QD.js";
|
|
11
|
+
import "./chunk-XKLY2GH5.js";
|
|
12
|
+
import "./chunk-KQPFPKL4.js";
|
|
13
|
+
import "./chunk-JJD4YD2O.js";
|
|
14
14
|
import "./chunk-QWHBRY2K.js";
|
|
15
|
-
import "./chunk-
|
|
15
|
+
import "./chunk-XWZVDLGF.js";
|
|
16
16
|
import "./chunk-ELGRMZOW.js";
|
|
17
17
|
import "./chunk-3K65MMYV.js";
|
|
18
18
|
import "./chunk-ONKEYSMY.js";
|
|
@@ -32,7 +32,7 @@ import "./chunk-I3DPMTSF.js";
|
|
|
32
32
|
import "./chunk-WNWQBB7F.js";
|
|
33
33
|
import "./chunk-NRU2EBYZ.js";
|
|
34
34
|
import "./chunk-RHLNVZMS.js";
|
|
35
|
-
import "./chunk-
|
|
35
|
+
import "./chunk-EXXKRORU.js";
|
|
36
36
|
import "./chunk-S5GU345P.js";
|
|
37
37
|
import "./chunk-3YSSXSC2.js";
|
|
38
38
|
import "./chunk-CQ2JOXEQ.js";
|