openship 0.6.9 → 0.7.1
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-AB4SMTNJ.js +29 -0
- package/dist/{chunk-P7RCYELG.js → chunk-2BAKEGGF.js} +1 -1
- package/dist/{chunk-VAI5VOOI.js → chunk-2YAY5XHK.js} +1 -1
- package/dist/{chunk-X53JXRS4.js → chunk-37XZTLBJ.js} +3 -3
- package/dist/{chunk-R5DC5PEF.js → chunk-3K65MMYV.js} +39 -10
- package/dist/{chunk-D3OEMXYP.js → chunk-3WBKLDGC.js} +12 -7
- package/dist/{chunk-ENKJ7XIF.js → chunk-3YSSXSC2.js} +12 -12
- package/dist/{chunk-3MP6ACKM.js → chunk-7MCPDYKP.js} +799 -165
- package/dist/{chunk-D6HU4VUZ.js → chunk-7TQP6723.js} +2 -2
- package/dist/{chunk-SK4FFCFR.js → chunk-AMADTKC6.js} +1 -1
- package/dist/{chunk-NPSRGIHV.js → chunk-B2BQX6JX.js} +6 -5
- package/dist/{chunk-MUWVC5R4.js → chunk-BBPKAQ54.js} +12 -9
- package/dist/{chunk-WEZFTL4V.js → chunk-COI4VFRW.js} +217 -2
- package/dist/{chunk-5DJOB7IX.js → chunk-CQ2JOXEQ.js} +3 -3
- package/dist/{chunk-7PEXM2UI.js → chunk-DQR5TPFB.js} +6 -6
- package/dist/{chunk-IAMOUDHY.js → chunk-ETK6IBCH.js} +24 -15
- package/dist/{chunk-T46BQOLY.js → chunk-FNWNUYS3.js} +3 -3
- package/dist/{chunk-UAWY6X7V.js → chunk-GPTBEPUE.js} +485 -67
- package/dist/{chunk-634DDFT5.js → chunk-H36ASAYI.js} +8 -8
- package/dist/{chunk-AHJYP7DG.js → chunk-IVMPA6RC.js} +74 -17
- package/dist/{chunk-5UXHT6ED.js → chunk-IXBOV7BE.js} +113 -20
- package/dist/{chunk-GNOMEMNI.js → chunk-KATXZ5AB.js} +1 -1
- package/dist/{chunk-T6DVUX4F.js → chunk-KCMEWNP7.js} +14 -3
- package/dist/{chunk-N5YZMO33.js → chunk-L4DRH6ZA.js} +12 -1
- package/dist/{chunk-BO6CY4V2.js → chunk-NF7NQOAP.js} +47 -4
- package/dist/{chunk-FCGJN5Q5.js → chunk-NIOLZENU.js} +9 -9
- package/dist/{chunk-7YBWXEM6.js → chunk-OEYXXSAM.js} +4 -4
- package/dist/{chunk-6GU6JSK6.js → chunk-S5GU345P.js} +3 -3
- package/dist/{chunk-TAZZZKYO.js → chunk-TKK5NPDQ.js} +2 -2
- package/dist/{chunk-NUT6HKK6.js → chunk-WG5PDWZ3.js} +5 -5
- package/dist/{chunk-NIYD7MD2.js → chunk-XJSLJLNY.js} +90 -46
- package/dist/{cloud-REV3DPJH.js → cloud-T2JOFEQL.js} +20 -20
- package/dist/{detect-BBFT5GEU.js → detect-SWLZURYX.js} +5 -5
- package/dist/{docker-EG3QSE6I.js → docker-SQNZRZXN.js} +11 -11
- package/dist/{docker-edge-executor-E5TOTLMR.js → docker-edge-executor-BSSQQS76.js} +8 -8
- package/dist/{edge-import-YJVJUGYC.js → edge-import-LUDX77C2.js} +27 -27
- package/dist/{edge-preflight-QUW4BM7N.js → edge-preflight-JAEFWBRI.js} +14 -14
- package/dist/{ensure-container-edge-FOEFQ3PI.js → ensure-container-edge-U7FTLFVJ.js} +12 -12
- package/dist/{executor-NTWDJ3DB.js → executor-GYRZ7RIU.js} +7 -7
- package/dist/host-channel-preflight-U4IZCRXR.js +54 -0
- package/dist/index.js +72 -50
- package/dist/{local-executor-OQ2GRN7K.js → local-executor-JCR46VAP.js} +3 -3
- package/dist/{nginx-4U4C2XUS.js → nginx-YA6IRPJT.js} +10 -10
- package/dist/{openresty-lua-LLWT5XQW.js → openresty-lua-DUOB64TP.js} +8 -8
- package/dist/{privilege-MNDVMDST.js → privilege-4B2TMVW2.js} +6 -6
- package/dist/server/index.js +13286 -5381
- package/dist/server/lua/site_logger.lua +18 -1
- package/dist/server/migrations/0117_github_installation_workspace_scope.sql +24 -0
- package/dist/server/migrations/0118_git_sources.sql +66 -0
- package/dist/server/migrations/0119_backup_run_batch.sql +8 -0
- package/dist/server/migrations/0120_domain_primary_unique.sql +24 -0
- package/dist/server/migrations/0121_host_port_claim_overlap.sql +14 -0
- package/dist/server/migrations/0122_data_transfer_staging.sql +45 -0
- package/dist/server/migrations/meta/_journal.json +42 -0
- package/dist/setup-T3WN3HRS.js +25 -0
- package/dist/{ssh-client-2XWZCMGI.js → ssh-client-FZDWP5PQ.js} +3 -3
- package/dist/up-U73RUN5R.js +61 -0
- package/package.json +1 -1
- package/dist/bare-FA66N7GC.js +0 -29
- package/dist/host-channel-preflight-OI2TRHSG.js +0 -54
- package/dist/setup-IFIMPQZJ.js +0 -25
- package/dist/up-RC5ZQIAD.js +0 -61
|
@@ -0,0 +1,54 @@
|
|
|
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-H36ASAYI.js";
|
|
9
|
+
import "./chunk-IXBOV7BE.js";
|
|
10
|
+
import "./chunk-QWHBRY2K.js";
|
|
11
|
+
import "./chunk-ELGRMZOW.js";
|
|
12
|
+
import "./chunk-3K65MMYV.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-3WBKLDGC.js";
|
|
22
|
+
import "./chunk-BBPKAQ54.js";
|
|
23
|
+
import "./chunk-XJSLJLNY.js";
|
|
24
|
+
import "./chunk-ETK6IBCH.js";
|
|
25
|
+
import "./chunk-DQR5TPFB.js";
|
|
26
|
+
import "./chunk-I3DPMTSF.js";
|
|
27
|
+
import "./chunk-WNWQBB7F.js";
|
|
28
|
+
import "./chunk-NRU2EBYZ.js";
|
|
29
|
+
import "./chunk-RHLNVZMS.js";
|
|
30
|
+
import "./chunk-7MCPDYKP.js";
|
|
31
|
+
import "./chunk-S5GU345P.js";
|
|
32
|
+
import "./chunk-3YSSXSC2.js";
|
|
33
|
+
import "./chunk-CQ2JOXEQ.js";
|
|
34
|
+
import "./chunk-AMADTKC6.js";
|
|
35
|
+
import "./chunk-IVMPA6RC.js";
|
|
36
|
+
import "./chunk-GPTBEPUE.js";
|
|
37
|
+
import "./chunk-R4VDPFLS.js";
|
|
38
|
+
import "./chunk-2YAY5XHK.js";
|
|
39
|
+
import "./chunk-TKK5NPDQ.js";
|
|
40
|
+
import "./chunk-KCMEWNP7.js";
|
|
41
|
+
import "./chunk-FNWNUYS3.js";
|
|
42
|
+
import "./chunk-KATXZ5AB.js";
|
|
43
|
+
import "./chunk-B2BQX6JX.js";
|
|
44
|
+
import "./chunk-2BAKEGGF.js";
|
|
45
|
+
import "./chunk-37XZTLBJ.js";
|
|
46
|
+
import "./chunk-NF7NQOAP.js";
|
|
47
|
+
import "./chunk-7TQP6723.js";
|
|
48
|
+
import "./chunk-L4DRH6ZA.js";
|
|
49
|
+
import "./chunk-COI4VFRW.js";
|
|
50
|
+
import "./chunk-PXKCZB2I.js";
|
|
51
|
+
export {
|
|
52
|
+
checkHostChannel,
|
|
53
|
+
verifyHostChannel
|
|
54
|
+
};
|
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-NIOLZENU.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-H36ASAYI.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-OEYXXSAM.js";
|
|
75
75
|
import {
|
|
76
76
|
startUnitHint
|
|
77
|
-
} from "./chunk-
|
|
77
|
+
} from "./chunk-IXBOV7BE.js";
|
|
78
78
|
import "./chunk-QWHBRY2K.js";
|
|
79
79
|
import {
|
|
80
80
|
completeHostEdge,
|
|
@@ -85,13 +85,13 @@ import {
|
|
|
85
85
|
renderEdgeConflict,
|
|
86
86
|
repairEdgeConflict,
|
|
87
87
|
rollbackHostEdge
|
|
88
|
-
} from "./chunk-
|
|
88
|
+
} from "./chunk-WG5PDWZ3.js";
|
|
89
89
|
import {
|
|
90
90
|
DATA_DIR,
|
|
91
91
|
LOG_DIR,
|
|
92
92
|
OS_DIR
|
|
93
93
|
} from "./chunk-ELGRMZOW.js";
|
|
94
|
-
import "./chunk-
|
|
94
|
+
import "./chunk-3K65MMYV.js";
|
|
95
95
|
import "./chunk-ONKEYSMY.js";
|
|
96
96
|
import "./chunk-XZYFZ6A5.js";
|
|
97
97
|
import "./chunk-PDW4L3NV.js";
|
|
@@ -100,39 +100,39 @@ import "./chunk-42WQABXM.js";
|
|
|
100
100
|
import "./chunk-DRK3MEDS.js";
|
|
101
101
|
import "./chunk-3NQQXMDR.js";
|
|
102
102
|
import "./chunk-ZWLDLTJP.js";
|
|
103
|
-
import "./chunk-
|
|
104
|
-
import "./chunk-
|
|
103
|
+
import "./chunk-3WBKLDGC.js";
|
|
104
|
+
import "./chunk-BBPKAQ54.js";
|
|
105
105
|
import {
|
|
106
106
|
detectInstalledProxy,
|
|
107
107
|
scanImportableSites
|
|
108
|
-
} from "./chunk-
|
|
109
|
-
import "./chunk-
|
|
110
|
-
import "./chunk-
|
|
108
|
+
} from "./chunk-XJSLJLNY.js";
|
|
109
|
+
import "./chunk-ETK6IBCH.js";
|
|
110
|
+
import "./chunk-DQR5TPFB.js";
|
|
111
111
|
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-
|
|
116
|
-
import "./chunk-
|
|
117
|
-
import "./chunk-
|
|
118
|
-
import "./chunk-
|
|
119
|
-
import "./chunk-
|
|
120
|
-
import "./chunk-
|
|
121
|
-
import "./chunk-
|
|
115
|
+
import "./chunk-7MCPDYKP.js";
|
|
116
|
+
import "./chunk-S5GU345P.js";
|
|
117
|
+
import "./chunk-3YSSXSC2.js";
|
|
118
|
+
import "./chunk-CQ2JOXEQ.js";
|
|
119
|
+
import "./chunk-AMADTKC6.js";
|
|
120
|
+
import "./chunk-IVMPA6RC.js";
|
|
121
|
+
import "./chunk-GPTBEPUE.js";
|
|
122
122
|
import "./chunk-R4VDPFLS.js";
|
|
123
|
-
import "./chunk-
|
|
124
|
-
import "./chunk-
|
|
123
|
+
import "./chunk-2YAY5XHK.js";
|
|
124
|
+
import "./chunk-TKK5NPDQ.js";
|
|
125
125
|
import {
|
|
126
126
|
LocalExecutor
|
|
127
|
-
} from "./chunk-
|
|
128
|
-
import "./chunk-
|
|
129
|
-
import "./chunk-
|
|
130
|
-
import "./chunk-
|
|
131
|
-
import "./chunk-
|
|
132
|
-
import "./chunk-
|
|
133
|
-
import "./chunk-
|
|
134
|
-
import "./chunk-
|
|
135
|
-
import "./chunk-
|
|
127
|
+
} from "./chunk-KCMEWNP7.js";
|
|
128
|
+
import "./chunk-FNWNUYS3.js";
|
|
129
|
+
import "./chunk-KATXZ5AB.js";
|
|
130
|
+
import "./chunk-B2BQX6JX.js";
|
|
131
|
+
import "./chunk-2BAKEGGF.js";
|
|
132
|
+
import "./chunk-37XZTLBJ.js";
|
|
133
|
+
import "./chunk-NF7NQOAP.js";
|
|
134
|
+
import "./chunk-7TQP6723.js";
|
|
135
|
+
import "./chunk-L4DRH6ZA.js";
|
|
136
136
|
import {
|
|
137
137
|
CLOUD_DASHBOARD_URL,
|
|
138
138
|
HOST_CHANNEL_AUTH_REJECTED_SHORT,
|
|
@@ -154,7 +154,7 @@ import {
|
|
|
154
154
|
summarizeHostChannelCause,
|
|
155
155
|
validateReleaseRepository,
|
|
156
156
|
validateReleaseVersionUrl
|
|
157
|
-
} from "./chunk-
|
|
157
|
+
} from "./chunk-COI4VFRW.js";
|
|
158
158
|
import "./chunk-PXKCZB2I.js";
|
|
159
159
|
|
|
160
160
|
// src/index.ts
|
|
@@ -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.
|
|
316
|
+
var USER_AGENT = `openship-cli/${true ? "0.7.1" : "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-U4IZCRXR.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-U4IZCRXR.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.");
|
|
@@ -1595,7 +1595,8 @@ function detectPackageManager(dir) {
|
|
|
1595
1595
|
function detectStack(dir) {
|
|
1596
1596
|
if (existsSync9(join7(dir, "go.mod"))) return "go";
|
|
1597
1597
|
if (existsSync9(join7(dir, "Cargo.toml"))) return "rust";
|
|
1598
|
-
if (existsSync9(join7(dir, "requirements.txt")) || existsSync9(join7(dir, "pyproject.toml")))
|
|
1598
|
+
if (existsSync9(join7(dir, "requirements.txt")) || existsSync9(join7(dir, "pyproject.toml")))
|
|
1599
|
+
return "python";
|
|
1599
1600
|
if (existsSync9(join7(dir, "package.json"))) return "node";
|
|
1600
1601
|
return void 0;
|
|
1601
1602
|
}
|
|
@@ -1607,7 +1608,11 @@ async function deployFolder(opts) {
|
|
|
1607
1608
|
step("Creating upload session");
|
|
1608
1609
|
const session = await apiRequest("/projects/folder/session", {
|
|
1609
1610
|
method: "POST",
|
|
1610
|
-
body: JSON.stringify({
|
|
1611
|
+
body: JSON.stringify({
|
|
1612
|
+
name,
|
|
1613
|
+
packageManager: detectPackageManager(cwd),
|
|
1614
|
+
stack: detectStack(cwd)
|
|
1615
|
+
})
|
|
1611
1616
|
});
|
|
1612
1617
|
if (!session.sessionId || !session.upload) {
|
|
1613
1618
|
throw new Error(session.error || "Failed to open upload session");
|
|
@@ -1654,6 +1659,7 @@ async function deployFolder(opts) {
|
|
|
1654
1659
|
method: "POST",
|
|
1655
1660
|
body: JSON.stringify({
|
|
1656
1661
|
projectId: opts.projectId,
|
|
1662
|
+
...opts.serverId ? { serverId: opts.serverId } : {},
|
|
1657
1663
|
name: scan.name || name,
|
|
1658
1664
|
gitProvider: "upload",
|
|
1659
1665
|
framework: scan.stack,
|
|
@@ -1678,6 +1684,7 @@ async function deployFolder(opts) {
|
|
|
1678
1684
|
body: JSON.stringify({
|
|
1679
1685
|
projectId: ensured.project_id,
|
|
1680
1686
|
uploadSessionId: session.sessionId,
|
|
1687
|
+
...opts.serverId ? { deployTarget: "server", serverId: opts.serverId } : {},
|
|
1681
1688
|
...opts.environment ? { environment: opts.environment } : {},
|
|
1682
1689
|
// Carry the scanned compose services so a multi-service folder deploys as
|
|
1683
1690
|
// a services project (persisted rows + services-mode preflight). Absent for
|
|
@@ -1855,7 +1862,10 @@ function git(args) {
|
|
|
1855
1862
|
return void 0;
|
|
1856
1863
|
}
|
|
1857
1864
|
}
|
|
1858
|
-
var deployCommand = new Command11("deploy").description("Trigger a deployment for the current project").option("--project <id>", "Project ID (defaults to the linked project in .openship/project.json)").option("--branch <name>", "Git branch to deploy (defaults to the current branch)").option("--commit <sha>", "Specific commit SHA (defaults to the latest commit on the branch)").option("--env <environment>", "Target environment: production | preview", "production").option("--force-all", "Rebuild every enabled service (skip smart per-service routing)").option("--service-ids <ids>", "Comma-separated service IDs to deploy (smart routing)").option("--smart-route", "Rebuild only services changed since the active deploy").option("--refresh", "Re-apply current env to the active deploy (no git pull, no rebuild)").option(
|
|
1865
|
+
var deployCommand = new Command11("deploy").description("Trigger a deployment for the current project").option("--project <id>", "Project ID (defaults to the linked project in .openship/project.json)").option("--branch <name>", "Git branch to deploy (defaults to the current branch)").option("--commit <sha>", "Specific commit SHA (defaults to the latest commit on the branch)").option("--env <environment>", "Target environment: production | preview", "production").option("--force-all", "Rebuild every enabled service (skip smart per-service routing)").option("--service-ids <ids>", "Comma-separated service IDs to deploy (smart routing)").option("--smart-route", "Rebuild only services changed since the active deploy").option("--refresh", "Re-apply current env to the active deploy (no git pull, no rebuild)").option(
|
|
1866
|
+
"--name <name>",
|
|
1867
|
+
"Project name for a folder (non-git) deploy (defaults to the directory name)"
|
|
1868
|
+
).option("--server <id>", "Registered server ID (see `openship server list`)").option("--watch", "Stream the deployment logs until it finishes").action(async (opts) => {
|
|
1859
1869
|
const link = readProjectLink();
|
|
1860
1870
|
const env = opts.env;
|
|
1861
1871
|
if (env !== "production" && env !== "preview") {
|
|
@@ -1875,6 +1885,7 @@ var deployCommand = new Command11("deploy").description("Trigger a deployment fo
|
|
|
1875
1885
|
name: opts.name,
|
|
1876
1886
|
projectId: opts.project || link?.projectId,
|
|
1877
1887
|
environment: env,
|
|
1888
|
+
serverId: opts.server,
|
|
1878
1889
|
serviceIds,
|
|
1879
1890
|
onStep: (m) => {
|
|
1880
1891
|
if (spinner5) spinner5.text = m;
|
|
@@ -1910,6 +1921,7 @@ var deployCommand = new Command11("deploy").description("Trigger a deployment fo
|
|
|
1910
1921
|
branch,
|
|
1911
1922
|
commitSha: opts.commit || void 0,
|
|
1912
1923
|
environment: env,
|
|
1924
|
+
serverId: opts.server || void 0,
|
|
1913
1925
|
forceAll: opts.forceAll || void 0,
|
|
1914
1926
|
serviceIds,
|
|
1915
1927
|
smartRoute: opts.smartRoute || void 0,
|
|
@@ -2058,6 +2070,11 @@ var pin = new Command12("pin").description("Pin (or unpin) a deployment's rollba
|
|
|
2058
2070
|
var cancel2 = new Command12("cancel").description("Cancel an in-progress deployment").argument("<id>", "Deployment ID").action(
|
|
2059
2071
|
run(async (id) => {
|
|
2060
2072
|
const res = await apiRequest(`/deployments/${id}/cancel`, { method: "POST" });
|
|
2073
|
+
if (res.pending || !res.success) {
|
|
2074
|
+
throw new Error(
|
|
2075
|
+
res.message || "Cancellation is still pending; wait for the deployment worker to stop before redeploying."
|
|
2076
|
+
);
|
|
2077
|
+
}
|
|
2061
2078
|
report(res, `Cancelled ${id}`);
|
|
2062
2079
|
})
|
|
2063
2080
|
);
|
|
@@ -2204,6 +2221,8 @@ function printProject(project) {
|
|
|
2204
2221
|
project.gitOwner && project.gitRepo ? `${project.gitOwner}/${project.gitRepo}` : null
|
|
2205
2222
|
],
|
|
2206
2223
|
["gitBranch", project.gitBranch],
|
|
2224
|
+
["deployTarget", project.deployTarget],
|
|
2225
|
+
["serverId", project.serverId],
|
|
2207
2226
|
["autoDeploy", project.autoDeploy],
|
|
2208
2227
|
["status", project.status]
|
|
2209
2228
|
];
|
|
@@ -2297,7 +2316,7 @@ var releaseImageCmd = new Command14("release-image").description("Track and depl
|
|
|
2297
2316
|
`);
|
|
2298
2317
|
})
|
|
2299
2318
|
);
|
|
2300
|
-
var createCmd = new Command14("create").description("Create a project").requiredOption("--name <name>", "Project name").option("--slug <slug>", "Free-subdomain slug (slug.opsh.io)").option("--git-owner <owner>", "GitHub owner/org").option("--git-repo <repo>", "GitHub repository name").option("--git-branch <branch>", "Git branch to deploy").option("--framework <framework>", "Stack/framework id").option("--local-path <path>", "Local source path").option("--port <port>", "Container port", (v) => Number(v)).option("--type <type>", "Project type: app | docker | services | monorepo").action(
|
|
2319
|
+
var createCmd = new Command14("create").description("Create a project").requiredOption("--name <name>", "Project name").option("--slug <slug>", "Free-subdomain slug (slug.opsh.io)").option("--git-owner <owner>", "GitHub owner/org").option("--git-repo <repo>", "GitHub repository name").option("--git-branch <branch>", "Git branch to deploy").option("--framework <framework>", "Stack/framework id").option("--local-path <path>", "Local source path").option("--port <port>", "Container port", (v) => Number(v)).option("--type <type>", "Project type: app | docker | services | monorepo").option("--server <id>", "Registered server ID (see `openship server list`)").action(
|
|
2301
2320
|
action(async (opts) => {
|
|
2302
2321
|
const body = { name: opts.name };
|
|
2303
2322
|
if (opts.slug) body.slug = opts.slug;
|
|
@@ -2308,7 +2327,9 @@ var createCmd = new Command14("create").description("Create a project").required
|
|
|
2308
2327
|
if (opts.localPath) body.localPath = opts.localPath;
|
|
2309
2328
|
if (opts.port) body.port = opts.port;
|
|
2310
2329
|
if (opts.type) body.projectType = opts.type;
|
|
2311
|
-
|
|
2330
|
+
if (opts.server) body.serverId = opts.server;
|
|
2331
|
+
const endpoint = opts.localPath ? "/projects/import" : "/projects";
|
|
2332
|
+
const { data } = await apiRequest(endpoint, {
|
|
2312
2333
|
method: "POST",
|
|
2313
2334
|
body: JSON.stringify(body)
|
|
2314
2335
|
});
|
|
@@ -2984,6 +3005,7 @@ function mapComposeService(name, def, baseDir, errors) {
|
|
|
2984
3005
|
if (build && typeof build === "object" && Object.hasOwn(build, "args")) {
|
|
2985
3006
|
advanced.buildArgTemplateKeys = [];
|
|
2986
3007
|
}
|
|
3008
|
+
if (Object.hasOwn(d, "environment")) advanced.environmentTemplateKeys = [];
|
|
2987
3009
|
if (Object.keys(advanced).length > 0) svc.advanced = advanced;
|
|
2988
3010
|
return svc;
|
|
2989
3011
|
}
|
|
@@ -3585,7 +3607,7 @@ async function runRepair2(mode) {
|
|
|
3585
3607
|
requireLinux();
|
|
3586
3608
|
const sp = spin2(mode === "migrate" ? "Migrating the existing proxy's sites into the edge\u2026" : "Taking over :80/:443\u2026");
|
|
3587
3609
|
try {
|
|
3588
|
-
const { repairEdgeConflict: repairEdgeConflict2 } = await import("./edge-preflight-
|
|
3610
|
+
const { repairEdgeConflict: repairEdgeConflict2 } = await import("./edge-preflight-JAEFWBRI.js");
|
|
3589
3611
|
sp?.stop();
|
|
3590
3612
|
const res = await repairEdgeConflict2(mode, apiPort(), onLog);
|
|
3591
3613
|
reportRepair(res);
|
|
@@ -3734,7 +3756,7 @@ async function panelStatus() {
|
|
|
3734
3756
|
async function panelRepair(mode) {
|
|
3735
3757
|
const sp = spin2(mode === "migrate" ? "Migrating the existing proxy's sites\u2026" : "Taking over :80/:443\u2026");
|
|
3736
3758
|
try {
|
|
3737
|
-
const { repairEdgeConflict: repairEdgeConflict2 } = await import("./edge-preflight-
|
|
3759
|
+
const { repairEdgeConflict: repairEdgeConflict2 } = await import("./edge-preflight-JAEFWBRI.js");
|
|
3738
3760
|
sp?.stop();
|
|
3739
3761
|
const res = await repairEdgeConflict2(mode, apiPort(), onLog);
|
|
3740
3762
|
renderRepair(res);
|
|
@@ -4576,7 +4598,7 @@ function printMonitoringNextSteps() {
|
|
|
4576
4598
|
info(" openship edge analytics -p <project> per-domain analytics");
|
|
4577
4599
|
}
|
|
4578
4600
|
async function runMonitoringInstall(opts) {
|
|
4579
|
-
const up = await import("./up-
|
|
4601
|
+
const up = await import("./up-U73RUN5R.js");
|
|
4580
4602
|
let adminName = opts.adminName;
|
|
4581
4603
|
let adminEmail = opts.adminEmail;
|
|
4582
4604
|
let adminPassword = opts.adminPassword;
|
|
@@ -6733,7 +6755,7 @@ function applyOnlyArgv(selfArgs, json) {
|
|
|
6733
6755
|
// src/commands/update.ts
|
|
6734
6756
|
async function verifyHostChannelAfterUpdate() {
|
|
6735
6757
|
if (isJsonMode()) return;
|
|
6736
|
-
const { verifyHostChannel } = await import("./host-channel-preflight-
|
|
6758
|
+
const { verifyHostChannel } = await import("./host-channel-preflight-U4IZCRXR.js");
|
|
6737
6759
|
await verifyHostChannel().catch(() => {
|
|
6738
6760
|
});
|
|
6739
6761
|
}
|
|
@@ -6810,7 +6832,7 @@ async function runSourceUpdate(source, opts) {
|
|
|
6810
6832
|
}
|
|
6811
6833
|
var REINSTALL_HINT = "curl -fsSL https://get.openship.io | sh";
|
|
6812
6834
|
async function runTarballUpdate(install, opts) {
|
|
6813
|
-
const current = "0.
|
|
6835
|
+
const current = "0.7.1";
|
|
6814
6836
|
let latest;
|
|
6815
6837
|
try {
|
|
6816
6838
|
latest = (await resolveLatestTag()).replace(/^v/, "");
|
|
@@ -6894,7 +6916,7 @@ var updateCommand = new Command26("update").description("Update the Openship CLI
|
|
|
6894
6916
|
if (source) return runSourceUpdate(source, opts);
|
|
6895
6917
|
const cliInstall = readCliInstall();
|
|
6896
6918
|
if (cliInstall?.method === "tarball") return runTarballUpdate(cliInstall, opts);
|
|
6897
|
-
const current = "0.
|
|
6919
|
+
const current = "0.7.1";
|
|
6898
6920
|
let latest;
|
|
6899
6921
|
try {
|
|
6900
6922
|
latest = (await resolveLatestTag()).replace(/^v/, "");
|
|
@@ -7502,7 +7524,7 @@ async function runWizard() {
|
|
|
7502
7524
|
}
|
|
7503
7525
|
}
|
|
7504
7526
|
}
|
|
7505
|
-
const uiTag = `v${"0.
|
|
7527
|
+
const uiTag = `v${"0.7.1"}`;
|
|
7506
7528
|
if (method === "bare") {
|
|
7507
7529
|
const dl = spinner4();
|
|
7508
7530
|
dl.start("Pulling the Openship dist from GitHub");
|
|
@@ -7562,7 +7584,7 @@ async function runWizard() {
|
|
|
7562
7584
|
const dashboardPort = String(ports.dashboard);
|
|
7563
7585
|
const moved = portMoveNotice(ports, composeTrustedOriginUrls());
|
|
7564
7586
|
if (moved.length) log5.info(moved.join("\n"));
|
|
7565
|
-
if (!pinnedImagesReady({ version: "0.
|
|
7587
|
+
if (!pinnedImagesReady({ version: "0.7.1" })) {
|
|
7566
7588
|
cancel4("The pinned Openship image tag isn't in the registry yet \u2014 nothing on this box was changed.");
|
|
7567
7589
|
process.exit(1);
|
|
7568
7590
|
}
|
|
@@ -7586,7 +7608,7 @@ async function runWizard() {
|
|
|
7586
7608
|
dashboardPort,
|
|
7587
7609
|
publicUrl,
|
|
7588
7610
|
trustProxy: behindProxy,
|
|
7589
|
-
version: "0.
|
|
7611
|
+
version: "0.7.1",
|
|
7590
7612
|
noHostControl: !allowHostControl
|
|
7591
7613
|
});
|
|
7592
7614
|
if (!fetched.ok) {
|
|
@@ -7615,7 +7637,7 @@ async function runWizard() {
|
|
|
7615
7637
|
dashboardPort,
|
|
7616
7638
|
publicUrl,
|
|
7617
7639
|
trustProxy: behindProxy,
|
|
7618
|
-
version: "0.
|
|
7640
|
+
version: "0.7.1",
|
|
7619
7641
|
noHostControl: !allowHostControl
|
|
7620
7642
|
});
|
|
7621
7643
|
if (!up.ok) {
|
|
@@ -7716,7 +7738,7 @@ async function runWizard() {
|
|
|
7716
7738
|
if (result.liveUrl) liveUrl2 = result.liveUrl;
|
|
7717
7739
|
else if (!result.domainRegistered) liveUrl2 = `http://localhost:${started.dashPort}`;
|
|
7718
7740
|
for (const w of result.warnings) log5.warn(w);
|
|
7719
|
-
const { verifyHostChannel } = await import("./host-channel-preflight-
|
|
7741
|
+
const { verifyHostChannel } = await import("./host-channel-preflight-U4IZCRXR.js");
|
|
7720
7742
|
await verifyHostChannel().catch(() => {
|
|
7721
7743
|
});
|
|
7722
7744
|
finishSetup({
|
|
@@ -7995,7 +8017,7 @@ function attachCompletion(program2) {
|
|
|
7995
8017
|
|
|
7996
8018
|
// src/index.ts
|
|
7997
8019
|
var program = new Command28();
|
|
7998
|
-
program.name("openship").description("Openship CLI \u2014 install, run, and manage Openship from your terminal").version("0.
|
|
8020
|
+
program.name("openship").description("Openship CLI \u2014 install, run, and manage Openship from your terminal").version("0.7.1").option("--json", "Machine-readable JSON output (stdout data only)").hook("preAction", (thisCommand) => {
|
|
7999
8021
|
if (thisCommand.opts().json) setJsonMode(true);
|
|
8000
8022
|
}).action(async () => {
|
|
8001
8023
|
const installed = serviceStatus().installed || readInstallMethod() === "compose";
|
|
@@ -4,9 +4,9 @@ import { createRequire as __ospCreateRequire } from "node:module";
|
|
|
4
4
|
const require = __ospCreateRequire(import.meta.url);
|
|
5
5
|
import {
|
|
6
6
|
LocalExecutor
|
|
7
|
-
} from "./chunk-
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
7
|
+
} from "./chunk-KCMEWNP7.js";
|
|
8
|
+
import "./chunk-2BAKEGGF.js";
|
|
9
|
+
import "./chunk-COI4VFRW.js";
|
|
10
10
|
import "./chunk-PXKCZB2I.js";
|
|
11
11
|
export {
|
|
12
12
|
LocalExecutor
|
|
@@ -14,18 +14,18 @@ import {
|
|
|
14
14
|
renderProxyOptions,
|
|
15
15
|
renderProxyTlsOptions,
|
|
16
16
|
summarizeCertbotFailure
|
|
17
|
-
} from "./chunk-
|
|
18
|
-
import "./chunk-
|
|
17
|
+
} from "./chunk-ETK6IBCH.js";
|
|
18
|
+
import "./chunk-DQR5TPFB.js";
|
|
19
19
|
import "./chunk-I3DPMTSF.js";
|
|
20
20
|
import "./chunk-R4VDPFLS.js";
|
|
21
|
-
import "./chunk-
|
|
22
|
-
import "./chunk-
|
|
23
|
-
import "./chunk-
|
|
24
|
-
import "./chunk-
|
|
25
|
-
import "./chunk-
|
|
26
|
-
import "./chunk-
|
|
27
|
-
import "./chunk-
|
|
28
|
-
import "./chunk-
|
|
21
|
+
import "./chunk-KATXZ5AB.js";
|
|
22
|
+
import "./chunk-B2BQX6JX.js";
|
|
23
|
+
import "./chunk-2BAKEGGF.js";
|
|
24
|
+
import "./chunk-37XZTLBJ.js";
|
|
25
|
+
import "./chunk-NF7NQOAP.js";
|
|
26
|
+
import "./chunk-7TQP6723.js";
|
|
27
|
+
import "./chunk-L4DRH6ZA.js";
|
|
28
|
+
import "./chunk-COI4VFRW.js";
|
|
29
29
|
import "./chunk-PXKCZB2I.js";
|
|
30
30
|
export {
|
|
31
31
|
MANAGED_STATIC_BASE,
|
|
@@ -40,14 +40,14 @@ import {
|
|
|
40
40
|
ensureOpenRestyConfig,
|
|
41
41
|
luaSourceAvailable,
|
|
42
42
|
parseNginxVersion
|
|
43
|
-
} from "./chunk-
|
|
44
|
-
import "./chunk-
|
|
45
|
-
import "./chunk-
|
|
46
|
-
import "./chunk-
|
|
47
|
-
import "./chunk-
|
|
48
|
-
import "./chunk-
|
|
49
|
-
import "./chunk-
|
|
50
|
-
import "./chunk-
|
|
43
|
+
} from "./chunk-DQR5TPFB.js";
|
|
44
|
+
import "./chunk-KATXZ5AB.js";
|
|
45
|
+
import "./chunk-B2BQX6JX.js";
|
|
46
|
+
import "./chunk-2BAKEGGF.js";
|
|
47
|
+
import "./chunk-NF7NQOAP.js";
|
|
48
|
+
import "./chunk-7TQP6723.js";
|
|
49
|
+
import "./chunk-L4DRH6ZA.js";
|
|
50
|
+
import "./chunk-COI4VFRW.js";
|
|
51
51
|
import "./chunk-PXKCZB2I.js";
|
|
52
52
|
export {
|
|
53
53
|
ACME_CHALLENGE_LOCATION,
|
|
@@ -6,12 +6,12 @@ import {
|
|
|
6
6
|
privilegedExecutor,
|
|
7
7
|
rootChecked,
|
|
8
8
|
rootOrDegrade
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
9
|
+
} from "./chunk-FNWNUYS3.js";
|
|
10
|
+
import "./chunk-KATXZ5AB.js";
|
|
11
|
+
import "./chunk-B2BQX6JX.js";
|
|
12
|
+
import "./chunk-2BAKEGGF.js";
|
|
13
|
+
import "./chunk-L4DRH6ZA.js";
|
|
14
|
+
import "./chunk-COI4VFRW.js";
|
|
15
15
|
import "./chunk-PXKCZB2I.js";
|
|
16
16
|
export {
|
|
17
17
|
privilegedExecutor,
|