openship 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/bare-7QD623QV.js +29 -0
- package/dist/chunk-2ANV5ZQ5.js +88 -0
- package/dist/{chunk-LEYSL46B.js → chunk-2VSW6Q6C.js} +3911 -898
- package/dist/{chunk-5OUWIPOB.js → chunk-5T4UVOM3.js} +16 -86
- package/dist/{chunk-EZPPTWJQ.js → chunk-BLEXTYRK.js} +1 -1
- package/dist/{chunk-3ZAGC5NT.js → chunk-CIJV43LH.js} +83 -33
- package/dist/{chunk-7S4USQYF.js → chunk-DDFUESPJ.js} +67 -124
- package/dist/{chunk-6FH4AXVY.js → chunk-E2X26PXR.js} +1 -1
- package/dist/{chunk-XVOBL7BC.js → chunk-FYPFEDPZ.js} +1 -1
- package/dist/{chunk-WFRXYWK2.js → chunk-FZ6QCF6B.js} +8 -6
- package/dist/{chunk-VHMOQL5Y.js → chunk-GGIAIGUL.js} +125 -80
- package/dist/{chunk-WE7BXW6L.js → chunk-GIPJNNI5.js} +38 -44
- package/dist/{chunk-ZFJXPCQP.js → chunk-H3WT3A6R.js} +4 -3
- package/dist/chunk-H4FS5BED.js +936 -0
- package/dist/{chunk-HPXP6LXZ.js → chunk-J2XM3QSP.js} +8 -5
- package/dist/{chunk-6JELW75A.js → chunk-J3K6XABC.js} +5 -5
- package/dist/{chunk-VDESJSG6.js → chunk-LHFXSC36.js} +558 -109
- package/dist/{chunk-MSZUCNPV.js → chunk-MEE6OZFP.js} +3 -3
- package/dist/chunk-N5YZMO33.js +111 -0
- package/dist/{chunk-VLQ3UIVO.js → chunk-NRTJRNAE.js} +105 -37
- package/dist/chunk-PPEBIY5F.js +2331 -0
- package/dist/{chunk-RFWJE7ZN.js → chunk-PVP4RGWT.js} +3 -3
- package/dist/{chunk-PZRRL5PC.js → chunk-QHMDCYZ3.js} +15 -4
- package/dist/chunk-R4VDPFLS.js +106 -0
- package/dist/chunk-RDXT4BQB.js +310 -0
- package/dist/{chunk-GRTXMUHA.js → chunk-S6B2Z3OO.js} +145 -60
- package/dist/chunk-UWEV6XTS.js +249 -0
- package/dist/{chunk-QLX7NBEA.js → chunk-VQM6JHJB.js} +1004 -2046
- package/dist/{chunk-A7EWM2KA.js → chunk-VSTFHUCV.js} +44 -50
- package/dist/chunk-WU54BXFE.js +70 -0
- package/dist/{chunk-LFCSC4IU.js → chunk-XWHWTHEL.js} +313 -469
- package/dist/{chunk-7334NSJL.js → chunk-ZPJ74LXE.js} +76 -38
- package/dist/cloud-KNNABE3O.js +40 -0
- package/dist/{detect-P4CIQBRH.js → detect-G4DR3U2N.js} +9 -6
- package/dist/{docker-3K2NEBD6.js → docker-YOVPCIB4.js} +11 -7
- package/dist/{docker-edge-executor-YZZ6P7IC.js → docker-edge-executor-QFXD3337.js} +8 -6
- package/dist/edge-import-CRFVSR6P.js +56 -0
- package/dist/{edge-preflight-ES6FH4JK.js → edge-preflight-MXERVAMG.js} +15 -12
- package/dist/{ensure-container-edge-YPITNH45.js → ensure-container-edge-F4JUNQIK.js} +13 -10
- package/dist/{executor-DZGX55K2.js → executor-CVPAYYHR.js} +10 -5
- package/dist/host-channel-preflight-QTDNGLCK.js +54 -0
- package/dist/index.js +139 -92
- package/dist/{local-executor-WOFZD72X.js → local-executor-ODC6RANU.js} +3 -2
- package/dist/{nginx-NSAHWGJV.js → nginx-KLFF43TC.js} +13 -8
- package/dist/{openresty-lua-DR4D3EZ6.js → openresty-lua-VKWUV4GB.js} +8 -5
- package/dist/{privilege-YTVI4SKF.js → privilege-7D3SSOL3.js} +6 -5
- package/dist/server/engine/samples/amavisd/amavisd.conf +25 -0
- package/dist/server/engine/samples/postfix/master.cf +14 -0
- package/dist/server/index.js +44526 -33476
- package/dist/server/migrations/0105_mail_inbound_rules.sql +80 -0
- package/dist/server/migrations/0106_mcp_call_tracking.sql +23 -0
- package/dist/server/migrations/0107_build_minute_metering_indexes.sql +20 -0
- package/dist/server/migrations/0108_credential.sql +68 -0
- package/dist/server/migrations/meta/_journal.json +28 -0
- package/dist/setup-I5AJC6NJ.js +25 -0
- package/dist/ssh-client-625VWGKP.js +29 -0
- package/dist/up-QXTOOVXC.js +61 -0
- package/package.json +1 -1
- package/dist/bare-XQIPDO4R.js +0 -24
- package/dist/chunk-6HOA5JT7.js +0 -124
- package/dist/chunk-TM2IQPYU.js +0 -434
- package/dist/chunk-XRNRT37W.js +0 -316
- package/dist/cloud-3DODOWTR.js +0 -36
- package/dist/edge-import-MCJNVTZ2.js +0 -51
- package/dist/host-channel-preflight-MUXE3KZU.js +0 -49
- package/dist/setup-WUUZURHS.js +0 -22
- package/dist/up-XEO3SR6Z.js +0 -58
- /package/dist/{dist-es-ZP5QDSJ3.js → dist-es-AXFRS7PS.js} +0 -0
package/dist/chunk-XRNRT37W.js
DELETED
|
@@ -1,316 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env sh
|
|
2
|
-
":" //# ; exec "$(command -v node || command -v bun)" "$0" "$@"
|
|
3
|
-
import { createRequire as __ospCreateRequire } from "node:module";
|
|
4
|
-
const require = __ospCreateRequire(import.meta.url);
|
|
5
|
-
import {
|
|
6
|
-
composeHostChannel,
|
|
7
|
-
composeHostChannelExpected,
|
|
8
|
-
composePaths,
|
|
9
|
-
thisHost
|
|
10
|
-
} from "./chunk-QLX7NBEA.js";
|
|
11
|
-
import {
|
|
12
|
-
HOST_CHANNEL_BLOCKED,
|
|
13
|
-
HOST_CHANNEL_NOT_PROVISIONED,
|
|
14
|
-
HOST_CHANNEL_OPT_OUT,
|
|
15
|
-
HOST_CHANNEL_RECHECK,
|
|
16
|
-
HOST_CHANNEL_SYMPTOM,
|
|
17
|
-
HOST_CHANNEL_UNAFFECTED,
|
|
18
|
-
HOST_CHANNEL_UNPROVISIONED,
|
|
19
|
-
explainHostChannelCause,
|
|
20
|
-
firewallAllowSteps,
|
|
21
|
-
firewallManager,
|
|
22
|
-
firewallPersists,
|
|
23
|
-
hostChannelRuleScope,
|
|
24
|
-
hostFirewallRule,
|
|
25
|
-
hostFirewallRuleRemoval,
|
|
26
|
-
wrapText
|
|
27
|
-
} from "./chunk-LEYSL46B.js";
|
|
28
|
-
|
|
29
|
-
// src/lib/host-channel-preflight.ts
|
|
30
|
-
import { spawnSync } from "child_process";
|
|
31
|
-
import chalk from "chalk";
|
|
32
|
-
import { confirm, isCancel } from "@clack/prompts";
|
|
33
|
-
var INDENT = " ";
|
|
34
|
-
function dimWrapped(text, width = 84) {
|
|
35
|
-
return wrapText(text, width).map((l) => chalk.dim(`${INDENT}${l}
|
|
36
|
-
`)).join("");
|
|
37
|
-
}
|
|
38
|
-
function blockedTail() {
|
|
39
|
-
return "\n" + dimWrapped(HOST_CHANNEL_RECHECK) + dimWrapped(HOST_CHANNEL_OPT_OUT);
|
|
40
|
-
}
|
|
41
|
-
var PROBE_SCRIPT = `const net = require("node:net");
|
|
42
|
-
const s = net.connect({ host: process.env.OPENSHIP_PROBE_HOST, port: Number(process.env.OPENSHIP_PROBE_PORT) });
|
|
43
|
-
const done = (m) => { console.log("openship-probe:" + m); try { s.destroy(); } catch {} process.exit(0); };
|
|
44
|
-
s.setTimeout(Number(process.env.OPENSHIP_PROBE_TIMEOUT || 4000));
|
|
45
|
-
s.on("connect", () => done("open"));
|
|
46
|
-
s.on("timeout", () => done("timeout"));
|
|
47
|
-
s.on("error", (e) => done("error:" + (e && e.code ? e.code : String(e && e.message))));`;
|
|
48
|
-
async function realProbe(host, port) {
|
|
49
|
-
const r = spawnSync(
|
|
50
|
-
"docker",
|
|
51
|
-
[
|
|
52
|
-
"compose",
|
|
53
|
-
"-f",
|
|
54
|
-
composePaths.file,
|
|
55
|
-
"exec",
|
|
56
|
-
"-T",
|
|
57
|
-
"-e",
|
|
58
|
-
`OPENSHIP_PROBE_HOST=${host}`,
|
|
59
|
-
"-e",
|
|
60
|
-
`OPENSHIP_PROBE_PORT=${port}`,
|
|
61
|
-
"api",
|
|
62
|
-
"bun",
|
|
63
|
-
"-e",
|
|
64
|
-
PROBE_SCRIPT
|
|
65
|
-
],
|
|
66
|
-
{ cwd: composePaths.dir, encoding: "utf8", timeout: 3e4 }
|
|
67
|
-
);
|
|
68
|
-
const token = (r.stdout || "").match(/openship-probe:(\S+)/)?.[1];
|
|
69
|
-
if (!token) {
|
|
70
|
-
const why = (r.stderr || r.stdout || r.error?.message || "").trim().split("\n").pop();
|
|
71
|
-
return { code: "unavailable", detail: why || void 0 };
|
|
72
|
-
}
|
|
73
|
-
if (token === "open" || token === "timeout") return { code: token };
|
|
74
|
-
const errno = token.startsWith("error:") ? token.slice("error:".length) : token;
|
|
75
|
-
if (errno === "ECONNREFUSED" || errno === "ECONNRESET") return { code: "refused", detail: errno };
|
|
76
|
-
if (errno === "ENOTFOUND" || errno === "EAI_AGAIN") return { code: "unresolved", detail: errno };
|
|
77
|
-
if (errno === "ENETUNREACH" || errno === "EHOSTUNREACH" || errno === "EHOSTDOWN") {
|
|
78
|
-
return { code: "no_route", detail: errno };
|
|
79
|
-
}
|
|
80
|
-
return { code: "error", detail: errno };
|
|
81
|
-
}
|
|
82
|
-
function realSourceCidrs() {
|
|
83
|
-
const id = spawnSync("docker", ["compose", "-f", composePaths.file, "ps", "-q", "api"], {
|
|
84
|
-
cwd: composePaths.dir,
|
|
85
|
-
encoding: "utf8"
|
|
86
|
-
}).stdout?.trim().split("\n")[0];
|
|
87
|
-
if (!id) return [];
|
|
88
|
-
const nets = spawnSync(
|
|
89
|
-
"docker",
|
|
90
|
-
["inspect", id, "--format", "{{range $k, $v := .NetworkSettings.Networks}}{{$k}}\n{{end}}"],
|
|
91
|
-
{ encoding: "utf8" }
|
|
92
|
-
).stdout;
|
|
93
|
-
const cidrs = /* @__PURE__ */ new Set();
|
|
94
|
-
for (const net of (nets || "").split("\n").map((n) => n.trim()).filter(Boolean)) {
|
|
95
|
-
const subnets = spawnSync(
|
|
96
|
-
"docker",
|
|
97
|
-
["network", "inspect", net, "--format", "{{range .IPAM.Config}}{{.Subnet}}\n{{end}}"],
|
|
98
|
-
{ encoding: "utf8" }
|
|
99
|
-
).stdout;
|
|
100
|
-
for (const s of (subnets || "").split("\n").map((v) => v.trim())) {
|
|
101
|
-
if (/^\d+\.\d+\.\d+\.\d+\/\d+$/.test(s)) cidrs.add(s);
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
return [...cidrs];
|
|
105
|
-
}
|
|
106
|
-
function sudoPrefix() {
|
|
107
|
-
if (typeof process.getuid === "function" && process.getuid() === 0) return [];
|
|
108
|
-
return process.stdin.isTTY ? ["sudo"] : ["sudo", "-n"];
|
|
109
|
-
}
|
|
110
|
-
function realApplyRule(fw, cidrs, port) {
|
|
111
|
-
const steps = firewallAllowSteps(fw, hostChannelRuleScope(cidrs, port));
|
|
112
|
-
if (!steps.supported) return { ok: false, detail: steps.reason };
|
|
113
|
-
for (const step of steps.value) {
|
|
114
|
-
const [cmd, ...rest] = [...sudoPrefix(), "sh", "-c", step];
|
|
115
|
-
const r = spawnSync(cmd, rest, { encoding: "utf8", stdio: ["inherit", "pipe", "pipe"] });
|
|
116
|
-
if (r.status !== 0) {
|
|
117
|
-
return { ok: false, detail: (r.stderr || r.stdout || "").trim().split("\n").pop() };
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
return { ok: true };
|
|
121
|
-
}
|
|
122
|
-
function defaultDeps() {
|
|
123
|
-
return {
|
|
124
|
-
platform: process.platform,
|
|
125
|
-
interactive: Boolean(process.stdin.isTTY && process.stdout.isTTY),
|
|
126
|
-
channel: composeHostChannel,
|
|
127
|
-
expected: composeHostChannelExpected,
|
|
128
|
-
probe: realProbe,
|
|
129
|
-
sourceCidrs: realSourceCidrs,
|
|
130
|
-
// All three off the one resolver, which measures this box once. This file used to
|
|
131
|
-
// run its own `command -v ufw` + `ufw status` ladder, so the CLI and the API could
|
|
132
|
-
// reach different conclusions about the same host — and it had no way at all to
|
|
133
|
-
// report nftables, the RHEL-family default.
|
|
134
|
-
firewall: () => thisHost().profile.firewall,
|
|
135
|
-
distroFamily: () => thisHost().profile.distroFamily,
|
|
136
|
-
sshdEnableHint: () => thisHost().sshdEnableHint(),
|
|
137
|
-
applyRule: realApplyRule,
|
|
138
|
-
confirmOpen: async ({ rule, port }) => {
|
|
139
|
-
const ok = await confirm({
|
|
140
|
-
message: `Open the host firewall so containers can reach port ${port}?`,
|
|
141
|
-
// Never default-yes: this edits the host's firewall.
|
|
142
|
-
initialValue: false
|
|
143
|
-
});
|
|
144
|
-
return !isCancel(ok) && ok === true;
|
|
145
|
-
},
|
|
146
|
-
print: (text) => console.log(text)
|
|
147
|
-
};
|
|
148
|
-
}
|
|
149
|
-
function impactLines() {
|
|
150
|
-
return dimWrapped(HOST_CHANNEL_UNAFFECTED) + chalk.dim(`${INDENT}Blocked until the channel works:
|
|
151
|
-
`) + HOST_CHANNEL_BLOCKED.map((l) => chalk.dim(`${INDENT} \xB7 ${l}
|
|
152
|
-
`)).join("") + dimWrapped(HOST_CHANNEL_SYMPTOM);
|
|
153
|
-
}
|
|
154
|
-
function causeOf(code) {
|
|
155
|
-
switch (code) {
|
|
156
|
-
case "timeout":
|
|
157
|
-
case "refused":
|
|
158
|
-
case "unresolved":
|
|
159
|
-
case "no_route":
|
|
160
|
-
case "error":
|
|
161
|
-
return code;
|
|
162
|
-
default:
|
|
163
|
-
return null;
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
function diagnose(target, probe, sshdEnableHint) {
|
|
167
|
-
const cause = causeOf(probe.code);
|
|
168
|
-
if (!cause) {
|
|
169
|
-
return {
|
|
170
|
-
firewall: false,
|
|
171
|
-
text: chalk.yellow(`${INDENT}${target} \u2014 ${probe.detail || "the connection failed"}
|
|
172
|
-
`)
|
|
173
|
-
};
|
|
174
|
-
}
|
|
175
|
-
const { headline, body, firewallShaped } = explainHostChannelCause(cause, {
|
|
176
|
-
target,
|
|
177
|
-
host: target.split(":")[0],
|
|
178
|
-
detail: probe.detail,
|
|
179
|
-
sshdEnableHint
|
|
180
|
-
});
|
|
181
|
-
return {
|
|
182
|
-
firewall: firewallShaped,
|
|
183
|
-
text: chalk.yellow(`${INDENT}${headline}
|
|
184
|
-
|
|
185
|
-
`) + (body ? dimWrapped(body) : "")
|
|
186
|
-
};
|
|
187
|
-
}
|
|
188
|
-
async function checkHostChannel(overrides = {}) {
|
|
189
|
-
const deps = { ...defaultDeps(), ...overrides };
|
|
190
|
-
if (deps.platform !== "linux") return { configured: false };
|
|
191
|
-
const channel = deps.channel();
|
|
192
|
-
if (!channel) return { configured: false, unprovisioned: deps.expected() };
|
|
193
|
-
const probe = await deps.probe(channel.host, channel.port);
|
|
194
|
-
return {
|
|
195
|
-
configured: true,
|
|
196
|
-
target: `${channel.host}:${channel.port}`,
|
|
197
|
-
code: probe.code,
|
|
198
|
-
detail: probe.detail
|
|
199
|
-
};
|
|
200
|
-
}
|
|
201
|
-
async function verifyHostChannel(opts = {}, overrides = {}) {
|
|
202
|
-
const deps = { ...defaultDeps(), ...overrides };
|
|
203
|
-
if (deps.platform !== "linux") return { status: "skipped" };
|
|
204
|
-
const channel = deps.channel();
|
|
205
|
-
if (!channel) {
|
|
206
|
-
if (!deps.expected()) return { status: "skipped" };
|
|
207
|
-
deps.print(
|
|
208
|
-
chalk.yellow(`
|
|
209
|
-
${INDENT}Host control was not provisioned on this box.
|
|
210
|
-
|
|
211
|
-
`) + dimWrapped(HOST_CHANNEL_UNPROVISIONED) + "\n" + impactLines() + // The remedy, not a firewall rule: nothing was dialed, so no packet filter has
|
|
212
|
-
// been established — the same line core's `firewallShaped` draws. It carries the
|
|
213
|
-
// recheck command itself, so `blockedTail` would only repeat it.
|
|
214
|
-
chalk.dim(`
|
|
215
|
-
${INDENT}Fix:
|
|
216
|
-
`) + dimWrapped(HOST_CHANNEL_NOT_PROVISIONED) + dimWrapped(HOST_CHANNEL_OPT_OUT)
|
|
217
|
-
);
|
|
218
|
-
return { status: "unprovisioned" };
|
|
219
|
-
}
|
|
220
|
-
const target = `${channel.host}:${channel.port}`;
|
|
221
|
-
const probe = await deps.probe(channel.host, channel.port);
|
|
222
|
-
if (probe.code === "open") return { status: "ok", code: "open" };
|
|
223
|
-
if (probe.code === "unavailable") {
|
|
224
|
-
deps.print(
|
|
225
|
-
chalk.dim(
|
|
226
|
-
`
|
|
227
|
-
${INDENT}Couldn't check the host channel from the api container${probe.detail ? ` (${probe.detail})` : ""}.
|
|
228
|
-
${INDENT}Verify it later with \`openship doctor\`.
|
|
229
|
-
`
|
|
230
|
-
)
|
|
231
|
-
);
|
|
232
|
-
return { status: "skipped", code: "unavailable" };
|
|
233
|
-
}
|
|
234
|
-
const { text, firewall: firewallShaped } = diagnose(target, probe, deps.sshdEnableHint());
|
|
235
|
-
deps.print(
|
|
236
|
-
chalk.yellow(`
|
|
237
|
-
${INDENT}Host control is configured, but the api container can't reach it.
|
|
238
|
-
|
|
239
|
-
`) + text + "\n" + impactLines()
|
|
240
|
-
);
|
|
241
|
-
if (!firewallShaped) {
|
|
242
|
-
deps.print(blockedTail());
|
|
243
|
-
return { status: "blocked", code: probe.code };
|
|
244
|
-
}
|
|
245
|
-
const cidrs = deps.sourceCidrs();
|
|
246
|
-
const firewall = deps.firewall();
|
|
247
|
-
const rule = hostFirewallRule(firewall, cidrs, channel.port, deps.distroFamily());
|
|
248
|
-
const ruleBlock = chalk.dim(`
|
|
249
|
-
${INDENT}Rule to allow it${cidrs.length ? "" : ` (docker's default pool \u2014 the exact subnet couldn't be read)`}:
|
|
250
|
-
`) + rule.split("\n").map((l) => `${INDENT} ${chalk.cyan(l)}`).join("\n") + "\n";
|
|
251
|
-
const offerOnly = (why) => {
|
|
252
|
-
deps.print(ruleBlock + "\n" + dimWrapped(why) + blockedTail());
|
|
253
|
-
return { status: "blocked", code: probe.code, rule };
|
|
254
|
-
};
|
|
255
|
-
const manager = firewallManager(firewall);
|
|
256
|
-
if (!manager.supported) return offerOnly(manager.reason);
|
|
257
|
-
if (!firewallPersists(firewall)) {
|
|
258
|
-
return offerOnly(
|
|
259
|
-
`Openship won't add this ${firewall} rule for you: it lives in the running ruleset only, so it would not survive a reboot unless something saves it \u2014 and where that is depends on this box. A rule that quietly disappears is worse than one you installed knowing where it lives.`
|
|
260
|
-
);
|
|
261
|
-
}
|
|
262
|
-
deps.print(ruleBlock);
|
|
263
|
-
const consented = opts.openFirewall ? true : deps.interactive ? await deps.confirmOpen({ rule, port: channel.port }) : false;
|
|
264
|
-
if (!consented) {
|
|
265
|
-
deps.print(
|
|
266
|
-
chalk.dim(
|
|
267
|
-
`
|
|
268
|
-
${INDENT}Left the firewall alone \u2014 apply the rule above when you're ready.
|
|
269
|
-
` + (deps.interactive ? "" : `${INDENT}To have \`openship up\` add it for you: --open-host-firewall
|
|
270
|
-
`)
|
|
271
|
-
) + blockedTail()
|
|
272
|
-
);
|
|
273
|
-
return { status: "blocked", code: probe.code, rule };
|
|
274
|
-
}
|
|
275
|
-
const applied = deps.applyRule(manager.value, cidrs, channel.port);
|
|
276
|
-
if (!applied.ok) {
|
|
277
|
-
deps.print(
|
|
278
|
-
chalk.red(
|
|
279
|
-
`
|
|
280
|
-
${INDENT}Couldn't add the rule${applied.detail ? `: ${applied.detail}` : "."}
|
|
281
|
-
`
|
|
282
|
-
) + chalk.dim(`${INDENT}Run it yourself with the command above.
|
|
283
|
-
`) + blockedTail()
|
|
284
|
-
);
|
|
285
|
-
return { status: "blocked", code: probe.code, rule };
|
|
286
|
-
}
|
|
287
|
-
const again = await deps.probe(channel.host, channel.port);
|
|
288
|
-
if (again.code === "open") {
|
|
289
|
-
deps.print(chalk.green(`
|
|
290
|
-
${INDENT}Opened \u2014 the host channel is reachable.
|
|
291
|
-
`));
|
|
292
|
-
return { status: "fixed", code: "open", rule };
|
|
293
|
-
}
|
|
294
|
-
deps.print(
|
|
295
|
-
chalk.yellow(`
|
|
296
|
-
${INDENT}Rule added, but ${target} still isn't reachable.
|
|
297
|
-
|
|
298
|
-
`) + (again.code === probe.code ? chalk.dim(
|
|
299
|
-
`${INDENT}Nothing changed, so something ahead of ${firewall} is dropping it \u2014 check
|
|
300
|
-
${INDENT}the DOCKER-USER chain and any cloud/provider firewall.
|
|
301
|
-
`
|
|
302
|
-
) : diagnose(target, again, deps.sshdEnableHint()).text) + // The rule is a host change made on the premise that it was the blocker, so it
|
|
303
|
-
// must not be left invisible. It is deliberately NOT reverted for us: a failure
|
|
304
|
-
// that changed shape means the rule did something, and it may well be needed
|
|
305
|
-
// once the real cause is fixed.
|
|
306
|
-
chalk.dim(`
|
|
307
|
-
${INDENT}The rule is in place; to undo it:
|
|
308
|
-
`) + hostFirewallRuleRemoval(firewall, cidrs, channel.port).split("\n").map((l) => `${INDENT} ${chalk.cyan(l)}`).join("\n") + "\n" + blockedTail()
|
|
309
|
-
);
|
|
310
|
-
return { status: "blocked", code: again.code, rule };
|
|
311
|
-
}
|
|
312
|
-
|
|
313
|
-
export {
|
|
314
|
-
checkHostChannel,
|
|
315
|
-
verifyHostChannel
|
|
316
|
-
};
|
package/dist/cloud-3DODOWTR.js
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env sh
|
|
2
|
-
":" //# ; exec "$(command -v node || command -v bun)" "$0" "$@"
|
|
3
|
-
import { createRequire as __ospCreateRequire } from "node:module";
|
|
4
|
-
const require = __ospCreateRequire(import.meta.url);
|
|
5
|
-
import {
|
|
6
|
-
CloudRuntime,
|
|
7
|
-
HostBuildForbiddenError,
|
|
8
|
-
PAGE_CONTAINER_PREFIX,
|
|
9
|
-
isHostBuildForbiddenError,
|
|
10
|
-
provisionCloudWorkspace
|
|
11
|
-
} from "./chunk-3ZAGC5NT.js";
|
|
12
|
-
import "./chunk-7334NSJL.js";
|
|
13
|
-
import "./chunk-VLQ3UIVO.js";
|
|
14
|
-
import "./chunk-I3DPMTSF.js";
|
|
15
|
-
import "./chunk-LFCSC4IU.js";
|
|
16
|
-
import "./chunk-MSZUCNPV.js";
|
|
17
|
-
import "./chunk-TM2IQPYU.js";
|
|
18
|
-
import "./chunk-VHMOQL5Y.js";
|
|
19
|
-
import "./chunk-5OUWIPOB.js";
|
|
20
|
-
import "./chunk-6FH4AXVY.js";
|
|
21
|
-
import "./chunk-RFWJE7ZN.js";
|
|
22
|
-
import "./chunk-WE7BXW6L.js";
|
|
23
|
-
import "./chunk-A7EWM2KA.js";
|
|
24
|
-
import "./chunk-PZRRL5PC.js";
|
|
25
|
-
import "./chunk-EZPPTWJQ.js";
|
|
26
|
-
import "./chunk-WFRXYWK2.js";
|
|
27
|
-
import "./chunk-ZFJXPCQP.js";
|
|
28
|
-
import "./chunk-LEYSL46B.js";
|
|
29
|
-
import "./chunk-PXKCZB2I.js";
|
|
30
|
-
export {
|
|
31
|
-
CloudRuntime,
|
|
32
|
-
HostBuildForbiddenError,
|
|
33
|
-
PAGE_CONTAINER_PREFIX,
|
|
34
|
-
isHostBuildForbiddenError,
|
|
35
|
-
provisionCloudWorkspace
|
|
36
|
-
};
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env sh
|
|
2
|
-
":" //# ; exec "$(command -v node || command -v bun)" "$0" "$@"
|
|
3
|
-
import { createRequire as __ospCreateRequire } from "node:module";
|
|
4
|
-
const require = __ospCreateRequire(import.meta.url);
|
|
5
|
-
import {
|
|
6
|
-
importMigratedSites,
|
|
7
|
-
waitForApiHealth,
|
|
8
|
-
waitForEdgeRunning
|
|
9
|
-
} from "./chunk-6HOA5JT7.js";
|
|
10
|
-
import "./chunk-QLX7NBEA.js";
|
|
11
|
-
import "./chunk-QWHBRY2K.js";
|
|
12
|
-
import "./chunk-ELGRMZOW.js";
|
|
13
|
-
import "./chunk-ONKEYSMY.js";
|
|
14
|
-
import "./chunk-XZYFZ6A5.js";
|
|
15
|
-
import "./chunk-PDW4L3NV.js";
|
|
16
|
-
import "./chunk-DOD2BXHQ.js";
|
|
17
|
-
import "./chunk-42WQABXM.js";
|
|
18
|
-
import "./chunk-DRK3MEDS.js";
|
|
19
|
-
import "./chunk-3NQQXMDR.js";
|
|
20
|
-
import "./chunk-ZWLDLTJP.js";
|
|
21
|
-
import "./chunk-6JELW75A.js";
|
|
22
|
-
import "./chunk-3ZAGC5NT.js";
|
|
23
|
-
import "./chunk-WNWQBB7F.js";
|
|
24
|
-
import "./chunk-2GWYYHOR.js";
|
|
25
|
-
import "./chunk-RXQBD4ZY.js";
|
|
26
|
-
import "./chunk-XVOBL7BC.js";
|
|
27
|
-
import "./chunk-7334NSJL.js";
|
|
28
|
-
import "./chunk-VLQ3UIVO.js";
|
|
29
|
-
import "./chunk-I3DPMTSF.js";
|
|
30
|
-
import "./chunk-VDESJSG6.js";
|
|
31
|
-
import "./chunk-LFCSC4IU.js";
|
|
32
|
-
import "./chunk-GRTXMUHA.js";
|
|
33
|
-
import "./chunk-MSZUCNPV.js";
|
|
34
|
-
import "./chunk-TM2IQPYU.js";
|
|
35
|
-
import "./chunk-VHMOQL5Y.js";
|
|
36
|
-
import "./chunk-5OUWIPOB.js";
|
|
37
|
-
import "./chunk-6FH4AXVY.js";
|
|
38
|
-
import "./chunk-RFWJE7ZN.js";
|
|
39
|
-
import "./chunk-WE7BXW6L.js";
|
|
40
|
-
import "./chunk-A7EWM2KA.js";
|
|
41
|
-
import "./chunk-PZRRL5PC.js";
|
|
42
|
-
import "./chunk-EZPPTWJQ.js";
|
|
43
|
-
import "./chunk-WFRXYWK2.js";
|
|
44
|
-
import "./chunk-ZFJXPCQP.js";
|
|
45
|
-
import "./chunk-LEYSL46B.js";
|
|
46
|
-
import "./chunk-PXKCZB2I.js";
|
|
47
|
-
export {
|
|
48
|
-
importMigratedSites,
|
|
49
|
-
waitForApiHealth,
|
|
50
|
-
waitForEdgeRunning
|
|
51
|
-
};
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env sh
|
|
2
|
-
":" //# ; exec "$(command -v node || command -v bun)" "$0" "$@"
|
|
3
|
-
import { createRequire as __ospCreateRequire } from "node:module";
|
|
4
|
-
const require = __ospCreateRequire(import.meta.url);
|
|
5
|
-
import {
|
|
6
|
-
checkHostChannel,
|
|
7
|
-
verifyHostChannel
|
|
8
|
-
} from "./chunk-XRNRT37W.js";
|
|
9
|
-
import "./chunk-QLX7NBEA.js";
|
|
10
|
-
import "./chunk-QWHBRY2K.js";
|
|
11
|
-
import "./chunk-ELGRMZOW.js";
|
|
12
|
-
import "./chunk-ONKEYSMY.js";
|
|
13
|
-
import "./chunk-XZYFZ6A5.js";
|
|
14
|
-
import "./chunk-PDW4L3NV.js";
|
|
15
|
-
import "./chunk-DOD2BXHQ.js";
|
|
16
|
-
import "./chunk-42WQABXM.js";
|
|
17
|
-
import "./chunk-DRK3MEDS.js";
|
|
18
|
-
import "./chunk-3NQQXMDR.js";
|
|
19
|
-
import "./chunk-ZWLDLTJP.js";
|
|
20
|
-
import "./chunk-6JELW75A.js";
|
|
21
|
-
import "./chunk-3ZAGC5NT.js";
|
|
22
|
-
import "./chunk-WNWQBB7F.js";
|
|
23
|
-
import "./chunk-2GWYYHOR.js";
|
|
24
|
-
import "./chunk-RXQBD4ZY.js";
|
|
25
|
-
import "./chunk-XVOBL7BC.js";
|
|
26
|
-
import "./chunk-7334NSJL.js";
|
|
27
|
-
import "./chunk-VLQ3UIVO.js";
|
|
28
|
-
import "./chunk-I3DPMTSF.js";
|
|
29
|
-
import "./chunk-VDESJSG6.js";
|
|
30
|
-
import "./chunk-LFCSC4IU.js";
|
|
31
|
-
import "./chunk-GRTXMUHA.js";
|
|
32
|
-
import "./chunk-MSZUCNPV.js";
|
|
33
|
-
import "./chunk-TM2IQPYU.js";
|
|
34
|
-
import "./chunk-VHMOQL5Y.js";
|
|
35
|
-
import "./chunk-5OUWIPOB.js";
|
|
36
|
-
import "./chunk-6FH4AXVY.js";
|
|
37
|
-
import "./chunk-RFWJE7ZN.js";
|
|
38
|
-
import "./chunk-WE7BXW6L.js";
|
|
39
|
-
import "./chunk-A7EWM2KA.js";
|
|
40
|
-
import "./chunk-PZRRL5PC.js";
|
|
41
|
-
import "./chunk-EZPPTWJQ.js";
|
|
42
|
-
import "./chunk-WFRXYWK2.js";
|
|
43
|
-
import "./chunk-ZFJXPCQP.js";
|
|
44
|
-
import "./chunk-LEYSL46B.js";
|
|
45
|
-
import "./chunk-PXKCZB2I.js";
|
|
46
|
-
export {
|
|
47
|
-
checkHostChannel,
|
|
48
|
-
verifyHostChannel
|
|
49
|
-
};
|
package/dist/setup-WUUZURHS.js
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env sh
|
|
2
|
-
":" //# ; exec "$(command -v node || command -v bun)" "$0" "$@"
|
|
3
|
-
import { createRequire as __ospCreateRequire } from "node:module";
|
|
4
|
-
const require = __ospCreateRequire(import.meta.url);
|
|
5
|
-
import {
|
|
6
|
-
SystemManager
|
|
7
|
-
} from "./chunk-XVOBL7BC.js";
|
|
8
|
-
import "./chunk-7334NSJL.js";
|
|
9
|
-
import "./chunk-VLQ3UIVO.js";
|
|
10
|
-
import "./chunk-I3DPMTSF.js";
|
|
11
|
-
import "./chunk-RFWJE7ZN.js";
|
|
12
|
-
import "./chunk-WE7BXW6L.js";
|
|
13
|
-
import "./chunk-A7EWM2KA.js";
|
|
14
|
-
import "./chunk-PZRRL5PC.js";
|
|
15
|
-
import "./chunk-EZPPTWJQ.js";
|
|
16
|
-
import "./chunk-WFRXYWK2.js";
|
|
17
|
-
import "./chunk-ZFJXPCQP.js";
|
|
18
|
-
import "./chunk-LEYSL46B.js";
|
|
19
|
-
import "./chunk-PXKCZB2I.js";
|
|
20
|
-
export {
|
|
21
|
-
SystemManager
|
|
22
|
-
};
|
package/dist/up-XEO3SR6Z.js
DELETED
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env sh
|
|
2
|
-
":" //# ; exec "$(command -v node || command -v bun)" "$0" "$@"
|
|
3
|
-
import { createRequire as __ospCreateRequire } from "node:module";
|
|
4
|
-
const require = __ospCreateRequire(import.meta.url);
|
|
5
|
-
import {
|
|
6
|
-
ensureInternalToken,
|
|
7
|
-
normalizeUrl,
|
|
8
|
-
runHeadlessProvision,
|
|
9
|
-
startService,
|
|
10
|
-
upCommand
|
|
11
|
-
} from "./chunk-7S4USQYF.js";
|
|
12
|
-
import "./chunk-6HOA5JT7.js";
|
|
13
|
-
import "./chunk-HPXP6LXZ.js";
|
|
14
|
-
import "./chunk-XRNRT37W.js";
|
|
15
|
-
import "./chunk-QLX7NBEA.js";
|
|
16
|
-
import "./chunk-QWHBRY2K.js";
|
|
17
|
-
import "./chunk-ELGRMZOW.js";
|
|
18
|
-
import "./chunk-ONKEYSMY.js";
|
|
19
|
-
import "./chunk-XZYFZ6A5.js";
|
|
20
|
-
import "./chunk-PDW4L3NV.js";
|
|
21
|
-
import "./chunk-DOD2BXHQ.js";
|
|
22
|
-
import "./chunk-42WQABXM.js";
|
|
23
|
-
import "./chunk-DRK3MEDS.js";
|
|
24
|
-
import "./chunk-3NQQXMDR.js";
|
|
25
|
-
import "./chunk-ZWLDLTJP.js";
|
|
26
|
-
import "./chunk-6JELW75A.js";
|
|
27
|
-
import "./chunk-3ZAGC5NT.js";
|
|
28
|
-
import "./chunk-WNWQBB7F.js";
|
|
29
|
-
import "./chunk-2GWYYHOR.js";
|
|
30
|
-
import "./chunk-RXQBD4ZY.js";
|
|
31
|
-
import "./chunk-XVOBL7BC.js";
|
|
32
|
-
import "./chunk-7334NSJL.js";
|
|
33
|
-
import "./chunk-VLQ3UIVO.js";
|
|
34
|
-
import "./chunk-I3DPMTSF.js";
|
|
35
|
-
import "./chunk-VDESJSG6.js";
|
|
36
|
-
import "./chunk-LFCSC4IU.js";
|
|
37
|
-
import "./chunk-GRTXMUHA.js";
|
|
38
|
-
import "./chunk-MSZUCNPV.js";
|
|
39
|
-
import "./chunk-TM2IQPYU.js";
|
|
40
|
-
import "./chunk-VHMOQL5Y.js";
|
|
41
|
-
import "./chunk-5OUWIPOB.js";
|
|
42
|
-
import "./chunk-6FH4AXVY.js";
|
|
43
|
-
import "./chunk-RFWJE7ZN.js";
|
|
44
|
-
import "./chunk-WE7BXW6L.js";
|
|
45
|
-
import "./chunk-A7EWM2KA.js";
|
|
46
|
-
import "./chunk-PZRRL5PC.js";
|
|
47
|
-
import "./chunk-EZPPTWJQ.js";
|
|
48
|
-
import "./chunk-WFRXYWK2.js";
|
|
49
|
-
import "./chunk-ZFJXPCQP.js";
|
|
50
|
-
import "./chunk-LEYSL46B.js";
|
|
51
|
-
import "./chunk-PXKCZB2I.js";
|
|
52
|
-
export {
|
|
53
|
-
ensureInternalToken,
|
|
54
|
-
normalizeUrl,
|
|
55
|
-
runHeadlessProvision,
|
|
56
|
-
startService,
|
|
57
|
-
upCommand
|
|
58
|
-
};
|
|
File without changes
|