@geekmidas/cli 10.0.0-alpha.113 → 10.0.0-alpha.115
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/{GoDaddyProvider-DWrDIXzQ.cjs → GoDaddyProvider-BDvIMTO-.cjs} +2 -2
- package/dist/{GoDaddyProvider-DWrDIXzQ.cjs.map → GoDaddyProvider-BDvIMTO-.cjs.map} +1 -1
- package/dist/{GoDaddyProvider-CPabc3XW.mjs → GoDaddyProvider-eW1mre1g.mjs} +2 -2
- package/dist/{GoDaddyProvider-CPabc3XW.mjs.map → GoDaddyProvider-eW1mre1g.mjs.map} +1 -1
- package/dist/{LegacyStateStore-BdXoAlYY.mjs → LegacyStateStore-Ba1_x0cr.mjs} +3 -3
- package/dist/{LegacyStateStore-BdXoAlYY.mjs.map → LegacyStateStore-Ba1_x0cr.mjs.map} +1 -1
- package/dist/{LegacyStateStore-fsyPGBWu.cjs → LegacyStateStore-DFeykTd8.cjs} +3 -3
- package/dist/{LegacyStateStore-fsyPGBWu.cjs.map → LegacyStateStore-DFeykTd8.cjs.map} +1 -1
- package/dist/{LocalStateStore-BrAX5yy7.mjs → LocalStateStore-C1rUUvBr.mjs} +2 -2
- package/dist/{LocalStateStore-BrAX5yy7.mjs.map → LocalStateStore-C1rUUvBr.mjs.map} +1 -1
- package/dist/{LocalStateStore-AtviUBky.cjs → LocalStateStore-CV-04jpI.cjs} +2 -2
- package/dist/{LocalStateStore-AtviUBky.cjs.map → LocalStateStore-CV-04jpI.cjs.map} +1 -1
- package/dist/{S3StateStore-tn5g80Sx.cjs → S3StateStore-CqYi-1sb.cjs} +2 -2
- package/dist/{S3StateStore-tn5g80Sx.cjs.map → S3StateStore-CqYi-1sb.cjs.map} +1 -1
- package/dist/{S3StateStore-Cx7njkBz.mjs → S3StateStore-Dszt4fN5.mjs} +2 -2
- package/dist/{S3StateStore-Cx7njkBz.mjs.map → S3StateStore-Dszt4fN5.mjs.map} +1 -1
- package/dist/{SSMStateStore-sqZ3oDmn.mjs → SSMStateStore-BYRUyMkE.mjs} +2 -2
- package/dist/{SSMStateStore-sqZ3oDmn.mjs.map → SSMStateStore-BYRUyMkE.mjs.map} +1 -1
- package/dist/{SSMStateStore-CAFde-Fq.cjs → SSMStateStore-zpHjDCAW.cjs} +2 -2
- package/dist/{SSMStateStore-CAFde-Fq.cjs.map → SSMStateStore-zpHjDCAW.cjs.map} +1 -1
- package/dist/{add-Cs8yT5iH.cjs → add-0XI8_HOf.cjs} +3 -3
- package/dist/{add-Cs8yT5iH.cjs.map → add-0XI8_HOf.cjs.map} +1 -1
- package/dist/{add-DJE7zqJ4.mjs → add-DXdJjp0b.mjs} +3 -3
- package/dist/{add-DJE7zqJ4.mjs.map → add-DXdJjp0b.mjs.map} +1 -1
- package/dist/{bundler-DrySVbXF.mjs → bundler-B2ysiCTa.mjs} +5 -5
- package/dist/{bundler-DrySVbXF.mjs.map → bundler-B2ysiCTa.mjs.map} +1 -1
- package/dist/{bundler-NrtItVBp.cjs → bundler-hvCgi0EG.cjs} +5 -5
- package/dist/{bundler-NrtItVBp.cjs.map → bundler-hvCgi0EG.cjs.map} +1 -1
- package/dist/{cli-CHzpFBh-.cjs → cli-5k6kV_i4.cjs} +2 -2
- package/dist/{cli-CHzpFBh-.cjs.map → cli-5k6kV_i4.cjs.map} +1 -1
- package/dist/{cli-DDY3jfTt.mjs → cli-H0uB_znq.mjs} +2 -2
- package/dist/{cli-DDY3jfTt.mjs.map → cli-H0uB_znq.mjs.map} +1 -1
- package/dist/{compose-CDC2bCme.mjs → compose-BEiJWrB7.mjs} +3 -3
- package/dist/{compose-CDC2bCme.mjs.map → compose-BEiJWrB7.mjs.map} +1 -1
- package/dist/{compose-ByIbIrzs.cjs → compose-CYeMW2_o.cjs} +3 -3
- package/dist/{compose-ByIbIrzs.cjs.map → compose-CYeMW2_o.cjs.map} +1 -1
- package/dist/deploy/public.cjs +6 -6
- package/dist/deploy/public.mjs +6 -6
- package/dist/{deploy-DLq9-m6H.mjs → deploy-Cyx5fSb7.mjs} +5 -5
- package/dist/{deploy-DLq9-m6H.mjs.map → deploy-Cyx5fSb7.mjs.map} +1 -1
- package/dist/{deploy-Dl_NavYE.cjs → deploy-Q5qo1OP-.cjs} +5 -5
- package/dist/{deploy-Dl_NavYE.cjs.map → deploy-Q5qo1OP-.cjs.map} +1 -1
- package/dist/{dns-pzftumxg.mjs → dns-CsApfzLc.mjs} +2 -2
- package/dist/{dns-pzftumxg.mjs.map → dns-CsApfzLc.mjs.map} +1 -1
- package/dist/{dns-C2TGXUF4.cjs → dns-v9viladZ.cjs} +2 -2
- package/dist/{dns-C2TGXUF4.cjs.map → dns-v9viladZ.cjs.map} +1 -1
- package/dist/{dokploy-B7-OwY2s.mjs → dokploy-DfUo_QRw.mjs} +2 -2
- package/dist/{dokploy-B7-OwY2s.mjs.map → dokploy-DfUo_QRw.mjs.map} +1 -1
- package/dist/{dokploy-OqBh8G4g.cjs → dokploy-Di7rC2z0.cjs} +2 -2
- package/dist/{dokploy-OqBh8G4g.cjs.map → dokploy-Di7rC2z0.cjs.map} +1 -1
- package/dist/{eas-Cne743nQ.cjs → eas-CIvNT6qa.cjs} +2 -2
- package/dist/{eas-Cne743nQ.cjs.map → eas-CIvNT6qa.cjs.map} +1 -1
- package/dist/{eas-DEpwISrQ.mjs → eas-CTfRmndW.mjs} +2 -2
- package/dist/{eas-DEpwISrQ.mjs.map → eas-CTfRmndW.mjs.map} +1 -1
- package/dist/{encryption-DoVnVU82.cjs → encryption--U4NsK7N.cjs} +2 -2
- package/dist/{encryption-DoVnVU82.cjs.map → encryption--U4NsK7N.cjs.map} +1 -1
- package/dist/{encryption-DJv_jEXi.mjs → encryption-BpTPmd7h.mjs} +2 -2
- package/dist/{encryption-DJv_jEXi.mjs.map → encryption-BpTPmd7h.mjs.map} +1 -1
- package/dist/{engine-Db71-OZL.mjs → engine-BFmHfek1.mjs} +3 -3
- package/dist/{engine-Db71-OZL.mjs.map → engine-BFmHfek1.mjs.map} +1 -1
- package/dist/{engine-CJhQb50j.cjs → engine-Ovl1PB6i.cjs} +3 -3
- package/dist/{engine-CJhQb50j.cjs.map → engine-Ovl1PB6i.cjs.map} +1 -1
- package/dist/{github-C3gblUvr.cjs → github-CTlPQ5Ra.cjs} +4 -4
- package/dist/{github-C3gblUvr.cjs.map → github-CTlPQ5Ra.cjs.map} +1 -1
- package/dist/{github-BMakI-k3.mjs → github-tWAGuR9i.mjs} +4 -4
- package/dist/{github-BMakI-k3.mjs.map → github-tWAGuR9i.mjs.map} +1 -1
- package/dist/{googlePlay-B6uiHi65.cjs → googlePlay-BNH729It.cjs} +3 -3
- package/dist/{googlePlay-B6uiHi65.cjs.map → googlePlay-BNH729It.cjs.map} +1 -1
- package/dist/{googlePlay-BYZ-J5sC.mjs → googlePlay-m1De-qIJ.mjs} +3 -3
- package/dist/{googlePlay-BYZ-J5sC.mjs.map → googlePlay-m1De-qIJ.mjs.map} +1 -1
- package/dist/index.cjs +104 -68
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +104 -68
- package/dist/index.mjs.map +1 -1
- package/dist/{migrate-CQUGbptv.mjs → migrate-4B4RgAjU.mjs} +2 -2
- package/dist/{migrate-CQUGbptv.mjs.map → migrate-4B4RgAjU.mjs.map} +1 -1
- package/dist/{migrate-bDQzFvBN.cjs → migrate-BYEmpoIg.cjs} +2 -2
- package/dist/{migrate-bDQzFvBN.cjs.map → migrate-BYEmpoIg.cjs.map} +1 -1
- package/dist/{migrate-GLBZlrlJ.cjs → migrate-DZ2--SaO.cjs} +2 -2
- package/dist/{migrate-GLBZlrlJ.cjs.map → migrate-DZ2--SaO.cjs.map} +1 -1
- package/dist/{migrate-xHYaeBkd.mjs → migrate-X0Y7fz3N.mjs} +2 -2
- package/dist/{migrate-xHYaeBkd.mjs.map → migrate-X0Y7fz3N.mjs.map} +1 -1
- package/dist/{publish-SDG1WfYn.cjs → publish-BUvYjiZH.cjs} +2 -2
- package/dist/{publish-SDG1WfYn.cjs.map → publish-BUvYjiZH.cjs.map} +1 -1
- package/dist/{publish-CSctCNf4.mjs → publish-hhgraEhO.mjs} +2 -2
- package/dist/{publish-CSctCNf4.mjs.map → publish-hhgraEhO.mjs.map} +1 -1
- package/dist/{resolve-wG49Woex.cjs → resolve-DdFKTx8l.cjs} +3 -3
- package/dist/{resolve-wG49Woex.cjs.map → resolve-DdFKTx8l.cjs.map} +1 -1
- package/dist/{resolve-CxDqDmCD.mjs → resolve-DotGHvtX.mjs} +3 -3
- package/dist/{resolve-CxDqDmCD.mjs.map → resolve-DotGHvtX.mjs.map} +1 -1
- package/dist/{rollback-BQgEdr_p.mjs → rollback-9t9G3c_u.mjs} +4 -4
- package/dist/{rollback-BQgEdr_p.mjs.map → rollback-9t9G3c_u.mjs.map} +1 -1
- package/dist/{rollback-Cw-Z0mWn.cjs → rollback-D4xeUQvG.cjs} +4 -4
- package/dist/{rollback-Cw-Z0mWn.cjs.map → rollback-D4xeUQvG.cjs.map} +1 -1
- package/dist/{seeds-CIk0l4SC.mjs → seeds-CRkKeyW0.mjs} +19 -6
- package/dist/seeds-CRkKeyW0.mjs.map +1 -0
- package/dist/{seeds-Dk8YkLkM.cjs → seeds-DbKNcs3o.cjs} +19 -6
- package/dist/seeds-DbKNcs3o.cjs.map +1 -0
- package/dist/{serverSetup-BCbD8ksJ.cjs → serverSetup-CcWgNtiC.cjs} +93 -21
- package/dist/serverSetup-CcWgNtiC.cjs.map +1 -0
- package/dist/{serverSetup--O61SRvg.mjs → serverSetup-DlRKRfTi.mjs} +93 -21
- package/dist/serverSetup-DlRKRfTi.mjs.map +1 -0
- package/dist/{sniffer-2aK7cB2u.cjs → sniffer-B6T6za4n.cjs} +6 -6
- package/dist/{sniffer-2aK7cB2u.cjs.map → sniffer-B6T6za4n.cjs.map} +1 -1
- package/dist/{sniffer-CABMO-Bh.mjs → sniffer-CakkKKqQ.mjs} +6 -6
- package/dist/{sniffer-CABMO-Bh.mjs.map → sniffer-CakkKKqQ.mjs.map} +1 -1
- package/dist/{stage-ClKTHQoM.mjs → stage-Mp6qQIoD.mjs} +4 -4
- package/dist/{stage-ClKTHQoM.mjs.map → stage-Mp6qQIoD.mjs.map} +1 -1
- package/dist/{stage-DrCS0vKD.cjs → stage-W3PUt7ar.cjs} +4 -4
- package/dist/{stage-DrCS0vKD.cjs.map → stage-W3PUt7ar.cjs.map} +1 -1
- package/dist/{stages-DJrOYLZ-.mjs → stages-Cb9rqRbN.mjs} +16 -2
- package/dist/stages-Cb9rqRbN.mjs.map +1 -0
- package/dist/{stages-_3RVNG83.cjs → stages-D4SnG5yl.cjs} +16 -2
- package/dist/stages-D4SnG5yl.cjs.map +1 -0
- package/dist/target/public.cjs +1 -1
- package/dist/target/public.mjs +1 -1
- package/package.json +15 -15
- package/dist/seeds-CIk0l4SC.mjs.map +0 -1
- package/dist/seeds-Dk8YkLkM.cjs.map +0 -1
- package/dist/serverSetup--O61SRvg.mjs.map +0 -1
- package/dist/serverSetup-BCbD8ksJ.cjs.map +0 -1
- package/dist/stages-DJrOYLZ-.mjs.map +0 -1
- package/dist/stages-_3RVNG83.cjs.map +0 -1
package/dist/index.cjs
CHANGED
|
@@ -4,25 +4,25 @@ const require_rolldown_runtime = require("./rolldown-runtime-C0BPl7ul.cjs");
|
|
|
4
4
|
const require_errors = require("./errors-DMC4Umsb.cjs");
|
|
5
5
|
const require_run = require("./run-fVZ-rLnc.cjs");
|
|
6
6
|
const require_credentials = require("./credentials-Zqr3QQYB.cjs");
|
|
7
|
-
const require_compose = require("./compose-
|
|
7
|
+
const require_compose = require("./compose-CYeMW2_o.cjs");
|
|
8
8
|
const require_workspace = require("./workspace-BwqQnool.cjs");
|
|
9
|
-
const require_dns = require("./dns-
|
|
10
|
-
const require_seeds = require("./seeds-
|
|
9
|
+
const require_dns = require("./dns-v9viladZ.cjs");
|
|
10
|
+
const require_seeds = require("./seeds-DbKNcs3o.cjs");
|
|
11
11
|
const require_derive = require("./derive-DAbo49sm.cjs");
|
|
12
12
|
const require_SubscriberGenerator = require("./SubscriberGenerator-CeH7wbYt.cjs");
|
|
13
13
|
const require_identity = require("./identity-CbLfgQNT.cjs");
|
|
14
14
|
const require_EndpointGenerator = require("./EndpointGenerator-BwbYTMtB.cjs");
|
|
15
15
|
const require_discover = require("./discover-Bsr7HjqJ.cjs");
|
|
16
16
|
const require_config = require("./config.cjs");
|
|
17
|
-
const require_deploy = require("./deploy-
|
|
17
|
+
const require_deploy = require("./deploy-Q5qo1OP-.cjs");
|
|
18
18
|
const require_openapi = require("./openapi.cjs");
|
|
19
19
|
const require_appPorts = require("./appPorts-IW-OZmRi.cjs");
|
|
20
20
|
const require_drivers = require("./drivers-GKaA6ITM.cjs");
|
|
21
21
|
const require_emit = require("./emit-Dmc1nvdS.cjs");
|
|
22
22
|
const require_local = require("./local-DNhnkugT.cjs");
|
|
23
|
-
const require_sniffer = require("./sniffer-
|
|
23
|
+
const require_sniffer = require("./sniffer-B6T6za4n.cjs");
|
|
24
24
|
const require_credentialSchemas = require("./credentialSchemas-D_VUCDUh.cjs");
|
|
25
|
-
const require_LocalStateStore = require("./LocalStateStore-
|
|
25
|
+
const require_LocalStateStore = require("./LocalStateStore-CV-04jpI.cjs");
|
|
26
26
|
const require_utils = require("./utils-D2Nk1Nv2.cjs");
|
|
27
27
|
const require_ready = require("./ready-BMFjxBYA.cjs");
|
|
28
28
|
let node_path = require("node:path");
|
|
@@ -57,7 +57,7 @@ crypto = require_rolldown_runtime.__toESM(crypto, 1);
|
|
|
57
57
|
let _geekmidas_constructs_functions = require("@geekmidas/constructs/functions");
|
|
58
58
|
let _geekmidas_constructs_topic = require("@geekmidas/constructs/topic");
|
|
59
59
|
//#region package.json
|
|
60
|
-
var version = "10.0.0-alpha.
|
|
60
|
+
var version = "10.0.0-alpha.115";
|
|
61
61
|
//#endregion
|
|
62
62
|
//#region src/prompt.ts
|
|
63
63
|
/**
|
|
@@ -140,7 +140,7 @@ const logger$8 = console;
|
|
|
140
140
|
* Validate Dokploy token by making a test API call
|
|
141
141
|
*/
|
|
142
142
|
async function validateDokployToken(endpoint, token) {
|
|
143
|
-
const { DokployApi } = await Promise.resolve().then(() => require("./sniffer-
|
|
143
|
+
const { DokployApi } = await Promise.resolve().then(() => require("./sniffer-B6T6za4n.cjs")).then((n) => n.dokploy_api_exports);
|
|
144
144
|
return new DokployApi({
|
|
145
145
|
baseUrl: endpoint,
|
|
146
146
|
token
|
|
@@ -2180,7 +2180,7 @@ async function execCommand(commandArgs, options = {}, stageDeps) {
|
|
|
2180
2180
|
const cwd = options.cwd ?? process.cwd();
|
|
2181
2181
|
if (!commandArgs[0]) throw new NoCommandSpecified();
|
|
2182
2182
|
if (options.stage && !require_seeds.isImageBuild()) {
|
|
2183
|
-
const { execOnStage } = await Promise.resolve().then(() => require("./stage-
|
|
2183
|
+
const { execOnStage } = await Promise.resolve().then(() => require("./stage-W3PUt7ar.cjs")).then((n) => n.stage_exports);
|
|
2184
2184
|
const { loadWorkspaceConfig } = await Promise.resolve().then(() => require("./config.cjs"));
|
|
2185
2185
|
const { workspace } = await loadWorkspaceConfig(cwd);
|
|
2186
2186
|
if (options.stage !== workspace.stages.local) {
|
|
@@ -2753,9 +2753,9 @@ async function workspaceDevCommand(configured, options) {
|
|
|
2753
2753
|
for (const { id, port } of fakes) logger$5.log(`🎭 ${id} fake: http://localhost:${port}`);
|
|
2754
2754
|
logger$5.log(options.migrate || options.seed ? "🗄️ Migrating the databases" : "🗄️ Checking for pending migrations");
|
|
2755
2755
|
if (options.migrate || options.seed) {
|
|
2756
|
-
const { prepareDevDatabases } = await Promise.resolve().then(() => require("./migrate-
|
|
2756
|
+
const { prepareDevDatabases } = await Promise.resolve().then(() => require("./migrate-BYEmpoIg.cjs"));
|
|
2757
2757
|
await prepareDevDatabases(workspace, reconciled.env, { seed: !!options.seed });
|
|
2758
|
-
} else await Promise.resolve().then(() => require("./migrate-
|
|
2758
|
+
} else await Promise.resolve().then(() => require("./migrate-BYEmpoIg.cjs")).then(({ reportPendingMigrations }) => reportPendingMigrations(workspace, reconciled.env)).catch((error) => {
|
|
2759
2759
|
logger$5.log(`⚠️ Could not check for pending migrations: ${error instanceof Error ? error.message : String(error)}`);
|
|
2760
2760
|
});
|
|
2761
2761
|
const appUrls = {};
|
|
@@ -3831,7 +3831,7 @@ async function buildApp(input) {
|
|
|
3831
3831
|
...production,
|
|
3832
3832
|
...telemetry ? { telemetry } : {}
|
|
3833
3833
|
});
|
|
3834
|
-
const { bundleServer } = await Promise.resolve().then(() => require("./bundler-
|
|
3834
|
+
const { bundleServer } = await Promise.resolve().then(() => require("./bundler-hvCgi0EG.cjs"));
|
|
3835
3835
|
await bundleServer({
|
|
3836
3836
|
entryPoint,
|
|
3837
3837
|
outputDir: (0, node_path.join)(outputDir, "dist"),
|
|
@@ -4030,7 +4030,7 @@ async function buildWorkers(input) {
|
|
|
4030
4030
|
});
|
|
4031
4031
|
logger$4.log(`Generated worker ${worker.id}: ${crons.length} crons, ${queues.length} queues, ${subscribers.length} subscribers`);
|
|
4032
4032
|
if (!input.bundle) continue;
|
|
4033
|
-
const { bundleServer } = await Promise.resolve().then(() => require("./bundler-
|
|
4033
|
+
const { bundleServer } = await Promise.resolve().then(() => require("./bundler-hvCgi0EG.cjs"));
|
|
4034
4034
|
const outfile = require_seeds.workerBundleName(worker.id);
|
|
4035
4035
|
await bundleServer({
|
|
4036
4036
|
entryPoint,
|
|
@@ -4116,7 +4116,7 @@ async function buildForTarget(target, context, appRoot, workspaceRoot, endpointG
|
|
|
4116
4116
|
let masterKey;
|
|
4117
4117
|
if (context.production?.bundle && !skipBundle) {
|
|
4118
4118
|
logger$4.log(`\n📦 Bundling production server...`);
|
|
4119
|
-
const { bundleServer } = await Promise.resolve().then(() => require("./bundler-
|
|
4119
|
+
const { bundleServer } = await Promise.resolve().then(() => require("./bundler-hvCgi0EG.cjs"));
|
|
4120
4120
|
const allConstructs = [
|
|
4121
4121
|
...endpoints.map((e) => e.construct),
|
|
4122
4122
|
...functions.map((f) => f.construct),
|
|
@@ -5839,6 +5839,7 @@ const DEPENDENCY_VERSIONS = {
|
|
|
5839
5839
|
"better-auth": "~1.7.6",
|
|
5840
5840
|
hono: "~4.13.9",
|
|
5841
5841
|
"@hono/node-server": "~1.19.17",
|
|
5842
|
+
"@hono/node-ws": "~1.3.1",
|
|
5842
5843
|
kysely: "~0.29.6",
|
|
5843
5844
|
pg: "~8.23.0",
|
|
5844
5845
|
pino: "~10.3.1",
|
|
@@ -5949,25 +5950,25 @@ function loadPackageJson() {
|
|
|
5949
5950
|
* Run: pnpm --filter @geekmidas/cli sync-versions
|
|
5950
5951
|
*/
|
|
5951
5952
|
const GEEKMIDAS_VERSIONS = {
|
|
5952
|
-
"@geekmidas/audit": "~10.0.0-alpha.
|
|
5953
|
-
"@geekmidas/auth": "~10.0.0-alpha.
|
|
5954
|
-
"@geekmidas/cache": "~10.0.0-alpha.
|
|
5955
|
-
"@geekmidas/client": "~10.0.0-alpha.
|
|
5956
|
-
"@geekmidas/cloud": "~10.0.0-alpha.
|
|
5957
|
-
"@geekmidas/constructs": "~10.0.0-alpha.
|
|
5958
|
-
"@geekmidas/db": "~10.0.0-alpha.
|
|
5959
|
-
"@geekmidas/emailkit": "~10.0.0-alpha.
|
|
5960
|
-
"@geekmidas/envkit": "~10.0.0-alpha.
|
|
5961
|
-
"@geekmidas/errors": "~10.0.0-alpha.
|
|
5962
|
-
"@geekmidas/events": "~10.0.0-alpha.
|
|
5963
|
-
"@geekmidas/logger": "~10.0.0-alpha.
|
|
5964
|
-
"@geekmidas/manifest": "~10.0.0-alpha.
|
|
5965
|
-
"@geekmidas/rate-limit": "~10.0.0-alpha.
|
|
5966
|
-
"@geekmidas/schema": "~10.0.0-alpha.
|
|
5967
|
-
"@geekmidas/services": "~10.0.0-alpha.
|
|
5968
|
-
"@geekmidas/storage": "~10.0.0-alpha.
|
|
5969
|
-
"@geekmidas/telescope": "~10.0.0-alpha.
|
|
5970
|
-
"@geekmidas/testkit": "~10.0.0-alpha.
|
|
5953
|
+
"@geekmidas/audit": "~10.0.0-alpha.115",
|
|
5954
|
+
"@geekmidas/auth": "~10.0.0-alpha.115",
|
|
5955
|
+
"@geekmidas/cache": "~10.0.0-alpha.115",
|
|
5956
|
+
"@geekmidas/client": "~10.0.0-alpha.115",
|
|
5957
|
+
"@geekmidas/cloud": "~10.0.0-alpha.115",
|
|
5958
|
+
"@geekmidas/constructs": "~10.0.0-alpha.115",
|
|
5959
|
+
"@geekmidas/db": "~10.0.0-alpha.115",
|
|
5960
|
+
"@geekmidas/emailkit": "~10.0.0-alpha.115",
|
|
5961
|
+
"@geekmidas/envkit": "~10.0.0-alpha.115",
|
|
5962
|
+
"@geekmidas/errors": "~10.0.0-alpha.115",
|
|
5963
|
+
"@geekmidas/events": "~10.0.0-alpha.115",
|
|
5964
|
+
"@geekmidas/logger": "~10.0.0-alpha.115",
|
|
5965
|
+
"@geekmidas/manifest": "~10.0.0-alpha.115",
|
|
5966
|
+
"@geekmidas/rate-limit": "~10.0.0-alpha.115",
|
|
5967
|
+
"@geekmidas/schema": "~10.0.0-alpha.115",
|
|
5968
|
+
"@geekmidas/services": "~10.0.0-alpha.115",
|
|
5969
|
+
"@geekmidas/storage": "~10.0.0-alpha.115",
|
|
5970
|
+
"@geekmidas/telescope": "~10.0.0-alpha.115",
|
|
5971
|
+
"@geekmidas/testkit": "~10.0.0-alpha.115",
|
|
5971
5972
|
"@geekmidas/cli": `~${loadPackageJson().version}`
|
|
5972
5973
|
};
|
|
5973
5974
|
//#endregion
|
|
@@ -7160,7 +7161,7 @@ const COMMIT = /^[0-9a-f]{40}$/;
|
|
|
7160
7161
|
* The `uses:` value for the stages action, with a comment saying which CLI
|
|
7161
7162
|
* release the pinned commit is.
|
|
7162
7163
|
*/
|
|
7163
|
-
function stagesActionUses(commit = "
|
|
7164
|
+
function stagesActionUses(commit = "f1cb336edfa0ad66598783740950d96f53f1108c", version = cliVersion()) {
|
|
7164
7165
|
return commit && COMMIT.test(commit) ? `${STAGES_ACTION}@${commit} # @geekmidas/cli ${version}` : `${STAGES_ACTION}@main # pin to a commit SHA: see the action's README`;
|
|
7165
7166
|
}
|
|
7166
7167
|
//#endregion
|
|
@@ -7412,6 +7413,7 @@ function stagesJob(options) {
|
|
|
7412
7413
|
has-build: \${{ steps.stages.outputs.has-build }}
|
|
7413
7414
|
has-deploy: \${{ steps.stages.outputs.has-deploy }}
|
|
7414
7415
|
aws-region: \${{ steps.stages.outputs.aws-region }}
|
|
7416
|
+
registry: \${{ steps.stages.outputs.registry }}
|
|
7415
7417
|
steps:
|
|
7416
7418
|
- uses: actions/checkout@v4
|
|
7417
7419
|
|
|
@@ -7430,17 +7432,25 @@ ${pm.setup}
|
|
|
7430
7432
|
`;
|
|
7431
7433
|
}
|
|
7432
7434
|
/**
|
|
7433
|
-
* The registry login a compose build pushes with
|
|
7434
|
-
*
|
|
7435
|
+
* The registry login a compose build pushes with, and a deploy pulls with.
|
|
7436
|
+
* The host is `deploy.registry`'s, read from gkm.config.ts by the stages
|
|
7437
|
+
* job at run time — never written here, so the workflow follows the config:
|
|
7438
|
+
* GitHub's own token on ghcr.io, otherwise the stage environment's
|
|
7439
|
+
* `REGISTRY_USERNAME` variable and `REGISTRY_PASSWORD` secret.
|
|
7435
7440
|
*/
|
|
7436
|
-
function registryLogin(
|
|
7437
|
-
const
|
|
7438
|
-
|
|
7439
|
-
|
|
7441
|
+
function registryLogin() {
|
|
7442
|
+
const ghcr = "needs.stages.outputs.registry == 'ghcr.io'";
|
|
7443
|
+
return ` # deploy.registry in gkm.config.ts: GitHub's registry with this
|
|
7444
|
+
# workflow's own token (the job's \`packages\` permission decides push
|
|
7445
|
+
# or pull), any other with the stage's REGISTRY_USERNAME variable and
|
|
7446
|
+
# REGISTRY_PASSWORD secret.
|
|
7447
|
+
- name: Log in to the registry
|
|
7448
|
+
if: needs.stages.outputs.registry != ''
|
|
7449
|
+
uses: docker/login-action@v3
|
|
7440
7450
|
with:
|
|
7441
|
-
registry:
|
|
7442
|
-
username: ${ghcr
|
|
7443
|
-
password: ${ghcr
|
|
7451
|
+
registry: \${{ needs.stages.outputs.registry }}
|
|
7452
|
+
username: \${{ ${ghcr} && github.actor || vars.REGISTRY_USERNAME }}
|
|
7453
|
+
password: \${{ ${ghcr} && secrets.GITHUB_TOKEN || secrets.REGISTRY_PASSWORD }}
|
|
7444
7454
|
`;
|
|
7445
7455
|
}
|
|
7446
7456
|
/**
|
|
@@ -7459,8 +7469,14 @@ function registryLogin(registry) {
|
|
|
7459
7469
|
*/
|
|
7460
7470
|
function composeDeploy(options) {
|
|
7461
7471
|
const pm = tooling(options);
|
|
7462
|
-
const registry = options.registry ?? "";
|
|
7463
7472
|
return `${deployHeader(true)}
|
|
7473
|
+
# A push to main builds main's newest commit: a later push cancels an earlier
|
|
7474
|
+
# push's run, so several merges in a row build once. A release or a manual
|
|
7475
|
+
# run shares no group (its run id is in the name), and is never cancelled.
|
|
7476
|
+
concurrency:
|
|
7477
|
+
group: \${{ github.workflow }}-\${{ github.event_name == 'push' && github.ref || github.run_id }}
|
|
7478
|
+
cancel-in-progress: \${{ github.event_name == 'push' }}
|
|
7479
|
+
|
|
7464
7480
|
jobs:
|
|
7465
7481
|
${stagesJob(options)}
|
|
7466
7482
|
build:
|
|
@@ -7479,13 +7495,22 @@ ${stagesJob(options)}
|
|
|
7479
7495
|
packages: write
|
|
7480
7496
|
id-token: write
|
|
7481
7497
|
steps:
|
|
7498
|
+
# The runner's preinstalled toolchains, none of them used here: with
|
|
7499
|
+
# them, building every image of a workspace runs out of disk.
|
|
7500
|
+
- name: Free disk space
|
|
7501
|
+
run: |
|
|
7502
|
+
sudo rm -rf /usr/local/lib/android /usr/share/dotnet /opt/ghc \\
|
|
7503
|
+
/usr/local/.ghcup /opt/hostedtoolcache/CodeQL
|
|
7504
|
+
sudo docker image prune --all --force
|
|
7505
|
+
df -h /
|
|
7506
|
+
|
|
7482
7507
|
- uses: actions/checkout@v4
|
|
7483
7508
|
|
|
7484
7509
|
${pm.setup}
|
|
7485
7510
|
- name: Install
|
|
7486
7511
|
run: ${pm.install}
|
|
7487
7512
|
|
|
7488
|
-
${registryLogin(
|
|
7513
|
+
${registryLogin()}
|
|
7489
7514
|
# A site's public URLs are built into it, so the build reads the stage's
|
|
7490
7515
|
# secrets store. With secrets.store on S3, SSM or Secrets Manager the job
|
|
7491
7516
|
# assumes the stage's role (AWS_ROLE_ARN, set by gkm deploy:github);
|
|
@@ -7511,6 +7536,7 @@ ${registryLogin(registry)}
|
|
|
7511
7536
|
with:
|
|
7512
7537
|
name: digests-\${{ matrix.stage }}
|
|
7513
7538
|
path: digests.json
|
|
7539
|
+
if-no-files-found: error
|
|
7514
7540
|
retention-days: 90
|
|
7515
7541
|
|
|
7516
7542
|
deploy:
|
|
@@ -7544,8 +7570,14 @@ ${registryLogin(registry)}
|
|
|
7544
7570
|
workflow_dispatch) ref="\${REF:-$SHA}" ;;
|
|
7545
7571
|
*) ref="$SHA" ;;
|
|
7546
7572
|
esac
|
|
7547
|
-
|
|
7548
|
-
|
|
7573
|
+
case "$ref" in
|
|
7574
|
+
''|-*) echo "::error::Not a tag or commit: '$ref'"; exit 1 ;;
|
|
7575
|
+
esac
|
|
7576
|
+
if ! sha=$(gh api "repos/$REPO/commits/$ref" --jq .sha); then
|
|
7577
|
+
echo "::error::'$ref' is not a tag, branch or commit in this repository"
|
|
7578
|
+
exit 1
|
|
7579
|
+
fi
|
|
7580
|
+
echo "Deploying $ref = $sha"
|
|
7549
7581
|
echo "sha=$sha" >> "$GITHUB_OUTPUT"
|
|
7550
7582
|
env:
|
|
7551
7583
|
GH_TOKEN: \${{ github.token }}
|
|
@@ -7566,7 +7598,7 @@ ${pm.setup}
|
|
|
7566
7598
|
|
|
7567
7599
|
# The server's engine pulls with the login docker sends from here: it
|
|
7568
7600
|
# holds none of its own.
|
|
7569
|
-
${registryLogin(
|
|
7601
|
+
${registryLogin()}
|
|
7570
7602
|
# The stage's secrets and deploy state are read and written here, with
|
|
7571
7603
|
# the stage's role (AWS_ROLE_ARN, set by gkm deploy:github). With the
|
|
7572
7604
|
# default 'file' secrets store there is no role, and no secrets file in
|
|
@@ -10675,7 +10707,10 @@ function generatePackageJson(options, template) {
|
|
|
10675
10707
|
const devDependencies = { ...template.devDependencies };
|
|
10676
10708
|
const scripts = { ...template.scripts };
|
|
10677
10709
|
if (options.loggerType === "pino") dependencies.pino = DEPENDENCY_VERSIONS.pino;
|
|
10678
|
-
if (telescope)
|
|
10710
|
+
if (telescope) {
|
|
10711
|
+
dependencies["@geekmidas/telescope"] = GEEKMIDAS_VERSIONS["@geekmidas/telescope"];
|
|
10712
|
+
dependencies["@hono/node-ws"] = DEPENDENCY_VERSIONS["@hono/node-ws"];
|
|
10713
|
+
}
|
|
10679
10714
|
const declares = !monorepo;
|
|
10680
10715
|
if (declares && (database || uploads || cache || mail)) dependencies["@geekmidas/manifest"] = GEEKMIDAS_VERSIONS["@geekmidas/manifest"];
|
|
10681
10716
|
if (declares && uploads) dependencies["@geekmidas/storage"] = GEEKMIDAS_VERSIONS["@geekmidas/storage"];
|
|
@@ -13046,6 +13081,7 @@ export default function RootLayout({
|
|
|
13046
13081
|
`;
|
|
13047
13082
|
const pages = app.key === "admin" ? adminPages() : webPages(options);
|
|
13048
13083
|
const gitignore = `.next/
|
|
13084
|
+
next-env.d.ts
|
|
13049
13085
|
node_modules/
|
|
13050
13086
|
.env.local
|
|
13051
13087
|
*.log
|
|
@@ -15996,7 +16032,7 @@ function testDatabases(reconciled) {
|
|
|
15996
16032
|
* starts without the reference data the app needs.
|
|
15997
16033
|
*/
|
|
15998
16034
|
async function migrateTestStage(workspace, env) {
|
|
15999
|
-
const { migrateAndSeed } = await Promise.resolve().then(() => require("./migrate-
|
|
16035
|
+
const { migrateAndSeed } = await Promise.resolve().then(() => require("./migrate-BYEmpoIg.cjs"));
|
|
16000
16036
|
const { discover } = await Promise.resolve().then(() => require("./discover-Bsr7HjqJ.cjs")).then((n) => n.discover_exports);
|
|
16001
16037
|
const sources = {};
|
|
16002
16038
|
const manifest = await discover({
|
|
@@ -16420,7 +16456,7 @@ program.command("eas:sync").description("Set up a mobile app's EAS project for a
|
|
|
16420
16456
|
try {
|
|
16421
16457
|
const globalOptions = program.opts();
|
|
16422
16458
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
16423
|
-
const { easSync } = await Promise.resolve().then(() => require("./eas-
|
|
16459
|
+
const { easSync } = await Promise.resolve().then(() => require("./eas-CIvNT6qa.cjs"));
|
|
16424
16460
|
await easSync(options);
|
|
16425
16461
|
} catch (error) {
|
|
16426
16462
|
exitWithError(error);
|
|
@@ -16430,7 +16466,7 @@ program.command("publish").description("Ship a mobile app for a deployed stage:
|
|
|
16430
16466
|
try {
|
|
16431
16467
|
const globalOptions = program.opts();
|
|
16432
16468
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
16433
|
-
const { publish, PublishModeConflict } = await Promise.resolve().then(() => require("./publish-
|
|
16469
|
+
const { publish, PublishModeConflict } = await Promise.resolve().then(() => require("./publish-BUvYjiZH.cjs"));
|
|
16434
16470
|
if (options.build && options.update) throw new PublishModeConflict();
|
|
16435
16471
|
const { build, update, ...rest } = options;
|
|
16436
16472
|
await publish({
|
|
@@ -16446,7 +16482,7 @@ program.command("deploy:google-play").description("Let EAS Submit publish a mobi
|
|
|
16446
16482
|
try {
|
|
16447
16483
|
const globalOptions = program.opts();
|
|
16448
16484
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
16449
|
-
const { deployGooglePlay } = await Promise.resolve().then(() => require("./googlePlay-
|
|
16485
|
+
const { deployGooglePlay } = await Promise.resolve().then(() => require("./googlePlay-BNH729It.cjs"));
|
|
16450
16486
|
await deployGooglePlay(options);
|
|
16451
16487
|
} catch (error) {
|
|
16452
16488
|
exitWithError(error);
|
|
@@ -16468,7 +16504,7 @@ program.command("migrate").description("Apply each database construct's migratio
|
|
|
16468
16504
|
try {
|
|
16469
16505
|
const globalOptions = program.opts();
|
|
16470
16506
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
16471
|
-
const { migrateCommand } = await Promise.resolve().then(() => require("./migrate-
|
|
16507
|
+
const { migrateCommand } = await Promise.resolve().then(() => require("./migrate-BYEmpoIg.cjs"));
|
|
16472
16508
|
await migrateCommand({
|
|
16473
16509
|
...options,
|
|
16474
16510
|
...construct ? { construct } : {}
|
|
@@ -16481,7 +16517,7 @@ program.command("seed").description("Migrate, then run each database construct's
|
|
|
16481
16517
|
try {
|
|
16482
16518
|
const globalOptions = program.opts();
|
|
16483
16519
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
16484
|
-
const { seedCommand } = await Promise.resolve().then(() => require("./migrate-
|
|
16520
|
+
const { seedCommand } = await Promise.resolve().then(() => require("./migrate-BYEmpoIg.cjs"));
|
|
16485
16521
|
await seedCommand({
|
|
16486
16522
|
...options,
|
|
16487
16523
|
...construct ? { construct } : {}
|
|
@@ -16494,7 +16530,7 @@ program.command("migration").description("Write a construct's next migration: an
|
|
|
16494
16530
|
try {
|
|
16495
16531
|
const globalOptions = program.opts();
|
|
16496
16532
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
16497
|
-
const { migrationCommand } = await Promise.resolve().then(() => require("./migrate-
|
|
16533
|
+
const { migrationCommand } = await Promise.resolve().then(() => require("./migrate-BYEmpoIg.cjs"));
|
|
16498
16534
|
await migrationCommand({
|
|
16499
16535
|
construct,
|
|
16500
16536
|
...name ? { name } : {}
|
|
@@ -16594,7 +16630,7 @@ program.command("secrets:add").description("Build the keys a stage must be given
|
|
|
16594
16630
|
try {
|
|
16595
16631
|
const globalOptions = program.opts();
|
|
16596
16632
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
16597
|
-
const { secretsAddCommand } = await Promise.resolve().then(() => require("./add-
|
|
16633
|
+
const { secretsAddCommand } = await Promise.resolve().then(() => require("./add-0XI8_HOf.cjs"));
|
|
16598
16634
|
await secretsAddCommand(options);
|
|
16599
16635
|
} catch (error) {
|
|
16600
16636
|
exitWithError(error);
|
|
@@ -16604,7 +16640,7 @@ program.command("encryption:rotate").description("Add a new current key to an En
|
|
|
16604
16640
|
try {
|
|
16605
16641
|
const globalOptions = program.opts();
|
|
16606
16642
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
16607
|
-
const { encryptionRotateCommand } = await Promise.resolve().then(() => require("./encryption
|
|
16643
|
+
const { encryptionRotateCommand } = await Promise.resolve().then(() => require("./encryption--U4NsK7N.cjs"));
|
|
16608
16644
|
await encryptionRotateCommand(construct, options);
|
|
16609
16645
|
} catch (error) {
|
|
16610
16646
|
exitWithError(error);
|
|
@@ -16614,7 +16650,7 @@ program.command("encryption:retire").description("Remove an old key from an Encr
|
|
|
16614
16650
|
try {
|
|
16615
16651
|
const globalOptions = program.opts();
|
|
16616
16652
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
16617
|
-
const { encryptionRetireCommand } = await Promise.resolve().then(() => require("./encryption
|
|
16653
|
+
const { encryptionRetireCommand } = await Promise.resolve().then(() => require("./encryption--U4NsK7N.cjs"));
|
|
16618
16654
|
await encryptionRetireCommand(construct, key, options);
|
|
16619
16655
|
} catch (error) {
|
|
16620
16656
|
exitWithError(error);
|
|
@@ -16653,7 +16689,7 @@ program.command("secrets:reconcile").description("Backfill missing custom secret
|
|
|
16653
16689
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
16654
16690
|
const { loadWorkspaceConfig } = await Promise.resolve().then(() => require("./config.cjs"));
|
|
16655
16691
|
const { reconcileMissingSecrets } = await Promise.resolve().then(() => require("./reconcile-CuCQBa5-.cjs"));
|
|
16656
|
-
const { secretsStoreFor } = await Promise.resolve().then(() => require("./seeds-
|
|
16692
|
+
const { secretsStoreFor } = await Promise.resolve().then(() => require("./seeds-DbKNcs3o.cjs")).then((n) => n.store_exports);
|
|
16657
16693
|
const { workspace } = await loadWorkspaceConfig();
|
|
16658
16694
|
const stage = options.stage ?? workspace.stages.local;
|
|
16659
16695
|
const store = await secretsStoreFor(workspace, stage);
|
|
@@ -16662,7 +16698,7 @@ program.command("secrets:reconcile").description("Backfill missing custom secret
|
|
|
16662
16698
|
console.error(`No secrets found for stage "${stage}". Run "gkm secrets:init --stage ${stage}" first.`);
|
|
16663
16699
|
process.exit(1);
|
|
16664
16700
|
}
|
|
16665
|
-
const { derivedContainers } = await Promise.resolve().then(() => require("./seeds-
|
|
16701
|
+
const { derivedContainers } = await Promise.resolve().then(() => require("./seeds-DbKNcs3o.cjs")).then((n) => n.workspace_exports);
|
|
16666
16702
|
const result = reconcileMissingSecrets(secrets, workspace, await derivedContainers(workspace, stage));
|
|
16667
16703
|
if (!result) {
|
|
16668
16704
|
console.log(`\n✓ Secrets for stage "${stage}" are up-to-date`);
|
|
@@ -16679,14 +16715,14 @@ program.command("secrets:migrate").description("Copy a deployed stage's secrets
|
|
|
16679
16715
|
try {
|
|
16680
16716
|
const globalOptions = program.opts();
|
|
16681
16717
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
16682
|
-
const { secretsMigrateCommand } = await Promise.resolve().then(() => require("./migrate-
|
|
16718
|
+
const { secretsMigrateCommand } = await Promise.resolve().then(() => require("./migrate-DZ2--SaO.cjs"));
|
|
16683
16719
|
await secretsMigrateCommand(options);
|
|
16684
16720
|
} catch (error) {
|
|
16685
16721
|
exitWithError(error);
|
|
16686
16722
|
}
|
|
16687
16723
|
});
|
|
16688
16724
|
program.command("deploy").description("Deploy a stage through its target").option("--target <name>", "Deploy target: dokploy, compose, sst, or one named in deploy.targets (default: deploy.default)").option("--provider <provider>", "[DEPRECATED] Use --target instead").requiredOption("--stage <stage>", "Deployment stage (e.g., production, staging)").option("--tag <tag>", "Image tag (default: stage-timestamp; compose: the commit). Compose pulls a given tag").option("--skip-push", "Skip pushing image to registry").option("--skip-build", "Skip build step (use existing build)").option("--json", "Write events as JSON lines instead of progress; never prompts").option("--dry-run", "Show what would be created or reused; change, build and push nothing").option("--atomic", "If the release fails, roll back every app it released, not only the failed ones").option("--allow-dev-services", "Server targets: run the dev service (MinIO, Mailpit) for every bucket and mail the stage doesn't account for. Not production-grade").option("--skip-dns", "Compose: neither write the public hosts' DNS records nor check they point at GKM_SERVER_IPV4 (a CDN or proxy in front, or records written elsewhere)").option("--rotate-keys", "Deployed stage: each provider issues its runtime keys a successor (the old one is deleted by the next deploy)").option("--retire-old-keys", "Deployed stage: delete a rotated-out key now instead of on the next deploy").action(async (options) => {
|
|
16689
|
-
const { deployCli } = await Promise.resolve().then(() => require("./cli-
|
|
16725
|
+
const { deployCli } = await Promise.resolve().then(() => require("./cli-5k6kV_i4.cjs"));
|
|
16690
16726
|
const globalOptions = program.opts();
|
|
16691
16727
|
const code = await deployCli({
|
|
16692
16728
|
cwd: (0, node_path.resolve)(globalOptions.cwd ?? process.cwd()),
|
|
@@ -16706,7 +16742,7 @@ program.command("deploy").description("Deploy a stage through its target").optio
|
|
|
16706
16742
|
});
|
|
16707
16743
|
program.command("deploy:rollback").description("Put a stage's app back on its previous release (Dokploy): one app with --app, every app with --atomic").requiredOption("--stage <stage>", "A deployed stage").option("--app <app>", "The app to roll back").option("--atomic", "Roll back every app that has an earlier release").action(async (options) => {
|
|
16708
16744
|
try {
|
|
16709
|
-
const { rollbackStage } = await Promise.resolve().then(() => require("./rollback-
|
|
16745
|
+
const { rollbackStage } = await Promise.resolve().then(() => require("./rollback-D4xeUQvG.cjs")).then((n) => n.rollback_exports);
|
|
16710
16746
|
const { terminalCredentials } = await Promise.resolve().then(() => require("./terminal-D_NRPW4W.cjs"));
|
|
16711
16747
|
const globalOptions = program.opts();
|
|
16712
16748
|
await rollbackStage({
|
|
@@ -16721,11 +16757,11 @@ program.command("deploy:rollback").description("Put a stage's app back on its pr
|
|
|
16721
16757
|
exitWithError(error);
|
|
16722
16758
|
}
|
|
16723
16759
|
});
|
|
16724
|
-
program.command("compose:server").description("Set up a stage's server for compose deploys: harden it (SSH keys only, no root login, firewall, security updates, fail2ban), install Docker, create the deploy user, and give its key to GitHub").requiredOption("--stage <stage>", "A deployed stage from gkm.config.ts").option("--admin <user>", "The sudo user you log in to the server as — never root (
|
|
16760
|
+
program.command("compose:server").description("Set up a stage's server for compose deploys: harden it (SSH keys only, no root login, firewall, security updates, fail2ban), install Docker, create the deploy user, and give its key to GitHub").requiredOption("--stage <stage>", "A deployed stage from gkm.config.ts").option("--admin <user>", "The sudo user you log in to the server as — never root (default: ssh's own user for the host)").option("--identity <path>", "The SSH key the admin logs in with (default: ssh's own choice)").option("--key-file <path>", "The deploy key pair (default: ~/.ssh/gkm-<project>-<stage>)").option("--repo <owner/name>", "GitHub repository (default: this one)").option("--no-github", "Leave the GitHub environment's key and host alone").option("--yes", "Set the server up without asking first").option("--dry-run", "Print the plan and the script; connect to nothing").action(async (options) => {
|
|
16725
16761
|
try {
|
|
16726
16762
|
const globalOptions = program.opts();
|
|
16727
16763
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
16728
|
-
const { composeServerCommand } = await Promise.resolve().then(() => require("./serverSetup-
|
|
16764
|
+
const { composeServerCommand } = await Promise.resolve().then(() => require("./serverSetup-CcWgNtiC.cjs"));
|
|
16729
16765
|
await composeServerCommand(options);
|
|
16730
16766
|
} catch (error) {
|
|
16731
16767
|
exitWithError(error);
|
|
@@ -16750,7 +16786,7 @@ program.command("deploy:github").description("Let GitHub Actions deploy a stage:
|
|
|
16750
16786
|
try {
|
|
16751
16787
|
const globalOptions = program.opts();
|
|
16752
16788
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
16753
|
-
const { deployGithubCommand } = await Promise.resolve().then(() => require("./github-
|
|
16789
|
+
const { deployGithubCommand } = await Promise.resolve().then(() => require("./github-CTlPQ5Ra.cjs"));
|
|
16754
16790
|
await deployGithubCommand(options);
|
|
16755
16791
|
} catch (error) {
|
|
16756
16792
|
exitWithError(error);
|
|
@@ -16760,7 +16796,7 @@ program.command("stages").description("The workspace's stages from gkm.config.ts
|
|
|
16760
16796
|
try {
|
|
16761
16797
|
const globalOptions = program.opts();
|
|
16762
16798
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
16763
|
-
const { stagesCommand } = await Promise.resolve().then(() => require("./stages-
|
|
16799
|
+
const { stagesCommand } = await Promise.resolve().then(() => require("./stages-D4SnG5yl.cjs"));
|
|
16764
16800
|
await stagesCommand(options);
|
|
16765
16801
|
} catch (error) {
|
|
16766
16802
|
exitWithError(error);
|