@geekmidas/cli 10.0.0-alpha.93 → 10.0.0-alpha.95
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-Mi3vptSR.mjs → GoDaddyProvider-BwW51hPm.mjs} +3 -3
- package/dist/{GoDaddyProvider-Mi3vptSR.mjs.map → GoDaddyProvider-BwW51hPm.mjs.map} +1 -1
- package/dist/{GoDaddyProvider-BZb-V14e.cjs → GoDaddyProvider-C_DgIkMv.cjs} +3 -3
- package/dist/{GoDaddyProvider-BZb-V14e.cjs.map → GoDaddyProvider-C_DgIkMv.cjs.map} +1 -1
- package/dist/{HostingerProvider-1mqD6aG8.mjs → HostingerProvider-BNpS9aRJ.mjs} +9 -4
- package/dist/{HostingerProvider-1mqD6aG8.mjs.map → HostingerProvider-BNpS9aRJ.mjs.map} +1 -1
- package/dist/{HostingerProvider-C6t-PSNe.cjs → HostingerProvider-DR1iws1P.cjs} +9 -4
- package/dist/HostingerProvider-DR1iws1P.cjs.map +1 -0
- package/dist/{LegacyStateStore-BlYXQQSE.cjs → LegacyStateStore-BawjE_5n.cjs} +10 -9
- package/dist/{LegacyStateStore-BlYXQQSE.cjs.map → LegacyStateStore-BawjE_5n.cjs.map} +1 -1
- package/dist/{LegacyStateStore-CtwO7fwy.mjs → LegacyStateStore-D5DarNA2.mjs} +3 -2
- package/dist/{LegacyStateStore-CtwO7fwy.mjs.map → LegacyStateStore-D5DarNA2.mjs.map} +1 -1
- package/dist/{LocalStateStore-oX_zxj9V.cjs → LocalStateStore-D8fu5WiF.cjs} +8 -8
- package/dist/{LocalStateStore-oX_zxj9V.cjs.map → LocalStateStore-D8fu5WiF.cjs.map} +1 -1
- package/dist/{LocalStateStore-D40_SDmJ.mjs → LocalStateStore-YjIqlgAz.mjs} +2 -2
- package/dist/{LocalStateStore-D40_SDmJ.mjs.map → LocalStateStore-YjIqlgAz.mjs.map} +1 -1
- package/dist/{S3StateStore-BzS0IeSt.mjs → S3StateStore-CjTAVsWh.mjs} +2 -2
- package/dist/{S3StateStore-BzS0IeSt.mjs.map → S3StateStore-CjTAVsWh.mjs.map} +1 -1
- package/dist/{S3StateStore-DeI7jtvi.cjs → S3StateStore-Cm-v2IPI.cjs} +5 -5
- package/dist/{S3StateStore-DeI7jtvi.cjs.map → S3StateStore-Cm-v2IPI.cjs.map} +1 -1
- package/dist/{SSMStateStore-CaCtrzFL.cjs → SSMStateStore-BS4BiZCN.cjs} +9 -9
- package/dist/{SSMStateStore-CaCtrzFL.cjs.map → SSMStateStore-BS4BiZCN.cjs.map} +1 -1
- package/dist/{SSMStateStore-k_Ew7TWx.mjs → SSMStateStore-BhtM6jOh.mjs} +2 -2
- package/dist/{SSMStateStore-k_Ew7TWx.mjs.map → SSMStateStore-BhtM6jOh.mjs.map} +1 -1
- package/dist/{add-VcyJnsPX.cjs → add-D-3IKT7W.cjs} +24 -53
- package/dist/add-D-3IKT7W.cjs.map +1 -0
- package/dist/{add-CP1podDH.mjs → add-ylx8dejw.mjs} +23 -52
- package/dist/add-ylx8dejw.mjs.map +1 -0
- package/dist/{bundler-Dfsr6KXU.cjs → bundler-CI3elfZS.cjs} +5 -5
- package/dist/{bundler-Dfsr6KXU.cjs.map → bundler-CI3elfZS.cjs.map} +1 -1
- package/dist/{bundler-BWrh-AJH.mjs → bundler-ywR3C1B_.mjs} +5 -5
- package/dist/{bundler-BWrh-AJH.mjs.map → bundler-ywR3C1B_.mjs.map} +1 -1
- package/dist/{cli-B8otnZfX.mjs → cli-BCSuCfQk.mjs} +9 -5
- package/dist/cli-BCSuCfQk.mjs.map +1 -0
- package/dist/{cli-DL19w4OE.cjs → cli-Dewt2T21.cjs} +9 -5
- package/dist/cli-Dewt2T21.cjs.map +1 -0
- package/dist/{compose-DrEB_4F-.mjs → compose-C4js1JDv.mjs} +82 -47
- package/dist/compose-C4js1JDv.mjs.map +1 -0
- package/dist/{compose-BHVKLluX.cjs → compose-Dd0XphvF.cjs} +94 -59
- package/dist/compose-Dd0XphvF.cjs.map +1 -0
- package/dist/{config-DCCcrOSo.d.cts → config-4yirvxS8.d.cts} +4 -4
- package/dist/{config-CHX5GOo3.d.mts.map → config-4yirvxS8.d.cts.map} +1 -1
- package/dist/{config-CHX5GOo3.d.mts → config-C8NPCn1l.d.mts} +4 -4
- package/dist/{config-DCCcrOSo.d.cts.map → config-C8NPCn1l.d.mts.map} +1 -1
- package/dist/config.cjs +1 -1
- package/dist/config.d.cts +3 -3
- package/dist/config.d.mts +3 -3
- package/dist/config.mjs +1 -1
- package/dist/{credentials-C4KII3PD.mjs → credentials-B5N5yKk6.mjs} +12 -134
- package/dist/credentials-B5N5yKk6.mjs.map +1 -0
- package/dist/{credentials-QBu7VgaQ.cjs → credentials-Zqr3QQYB.cjs} +11 -175
- package/dist/credentials-Zqr3QQYB.cjs.map +1 -0
- package/dist/deploy/public.cjs +19 -18
- package/dist/deploy/public.cjs.map +1 -1
- package/dist/deploy/public.d.cts +24 -9
- package/dist/deploy/public.d.cts.map +1 -1
- package/dist/deploy/public.d.mts +24 -9
- package/dist/deploy/public.d.mts.map +1 -1
- package/dist/deploy/public.mjs +11 -10
- package/dist/deploy/public.mjs.map +1 -1
- package/dist/deploy-B0drCD6s.mjs +1854 -0
- package/dist/deploy-B0drCD6s.mjs.map +1 -0
- package/dist/deploy-Bw1FjX_x.cjs +1903 -0
- package/dist/deploy-Bw1FjX_x.cjs.map +1 -0
- package/dist/{discover-vk2r5giK.d.cts → discover-BtFofyQB.d.cts} +2 -2
- package/dist/{discover-DqwlBVyY.d.mts.map → discover-BtFofyQB.d.cts.map} +1 -1
- package/dist/{discover-DqwlBVyY.d.mts → discover-D-MdXZgm.d.mts} +2 -2
- package/dist/{discover-vk2r5giK.d.cts.map → discover-D-MdXZgm.d.mts.map} +1 -1
- package/dist/dns-Bmk7P9c2.cjs +663 -0
- package/dist/dns-Bmk7P9c2.cjs.map +1 -0
- package/dist/dns-CyMIq6to.cjs +55 -0
- package/dist/dns-CyMIq6to.cjs.map +1 -0
- package/dist/dns-X3oqEV4C.mjs +44 -0
- package/dist/dns-X3oqEV4C.mjs.map +1 -0
- package/dist/dns-idXfyCay.mjs +610 -0
- package/dist/dns-idXfyCay.mjs.map +1 -0
- package/dist/{dokploy-o4I6vb9W.mjs → dokploy-CZYxXeMa.mjs} +2 -2
- package/dist/{dokploy-o4I6vb9W.mjs.map → dokploy-CZYxXeMa.mjs.map} +1 -1
- package/dist/{dokploy-rivb1RFt.cjs → dokploy-DaT0mgLU.cjs} +2 -2
- package/dist/{dokploy-rivb1RFt.cjs.map → dokploy-DaT0mgLU.cjs.map} +1 -1
- package/dist/{encryption-B6ilrT7p.mjs → encryption-D0ucY4O7.mjs} +3 -3
- package/dist/{encryption-B6ilrT7p.mjs.map → encryption-D0ucY4O7.mjs.map} +1 -1
- package/dist/{encryption-D7zmwzWz.cjs → encryption-Dp0IvLVX.cjs} +3 -3
- package/dist/{encryption-D7zmwzWz.cjs.map → encryption-Dp0IvLVX.cjs.map} +1 -1
- package/dist/{engine-DjEcovm-.mjs → engine-BcuhnyQO.mjs} +14 -31
- package/dist/{engine-DjEcovm-.mjs.map → engine-BcuhnyQO.mjs.map} +1 -1
- package/dist/{engine-Cfx8fEZU.cjs → engine-WY6j_kvA.cjs} +18 -35
- package/dist/engine-WY6j_kvA.cjs.map +1 -0
- package/dist/{github-CzBbs43W.mjs → github-DUGA57du.mjs} +96 -6
- package/dist/github-DUGA57du.mjs.map +1 -0
- package/dist/{github-zneTMvnO.cjs → github-DgmW83OP.cjs} +96 -6
- package/dist/github-DgmW83OP.cjs.map +1 -0
- package/dist/{index-BiYU7cUl.d.mts → index-5eL8rM6H.d.mts} +2 -2
- package/dist/{index-BiYU7cUl.d.mts.map → index-5eL8rM6H.d.mts.map} +1 -1
- package/dist/{index-Dm6V9bwh.d.cts → index-Dz-gyjm_.d.cts} +2 -2
- package/dist/{index-Dm6V9bwh.d.cts.map → index-Dz-gyjm_.d.cts.map} +1 -1
- package/dist/index.cjs +150 -118
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +144 -112
- package/dist/index.mjs.map +1 -1
- package/dist/{local-Otp74ak0.mjs → local-BwC2v2Y8.mjs} +2 -2
- package/dist/{local-Otp74ak0.mjs.map → local-BwC2v2Y8.mjs.map} +1 -1
- package/dist/{local-B61kUh0w.cjs → local-DNhnkugT.cjs} +3 -3
- package/dist/{local-B61kUh0w.cjs.map → local-DNhnkugT.cjs.map} +1 -1
- package/dist/{migrate-DFjbGnSr.cjs → migrate-BBcG1dhS.cjs} +3 -3
- package/dist/{migrate-DFjbGnSr.cjs.map → migrate-BBcG1dhS.cjs.map} +1 -1
- package/dist/{migrate-CsBZKALY.mjs → migrate-CZ-v5WV0.mjs} +3 -3
- package/dist/{migrate-CsBZKALY.mjs.map → migrate-CZ-v5WV0.mjs.map} +1 -1
- package/dist/{migrate-BaC4w0sb.mjs → migrate-D6PlNv2o.mjs} +3 -3
- package/dist/{migrate-BaC4w0sb.mjs.map → migrate-D6PlNv2o.mjs.map} +1 -1
- package/dist/{migrate-C8wTpakT.cjs → migrate-afgRL3Hg.cjs} +3 -3
- package/dist/{migrate-C8wTpakT.cjs.map → migrate-afgRL3Hg.cjs.map} +1 -1
- package/dist/openapi.cjs +1 -1
- package/dist/openapi.d.cts +1 -1
- package/dist/openapi.d.mts +1 -1
- package/dist/openapi.mjs +1 -1
- package/dist/reconcile/public.d.cts +2 -2
- package/dist/reconcile/public.d.mts +2 -2
- package/dist/{resolve-g8htuR80.cjs → resolve-CFb4Navi.cjs} +4 -4
- package/dist/{resolve-g8htuR80.cjs.map → resolve-CFb4Navi.cjs.map} +1 -1
- package/dist/{resolve-Ccjlpnd9.mjs → resolve-DakDhr6Z.mjs} +4 -4
- package/dist/{resolve-Ccjlpnd9.mjs.map → resolve-DakDhr6Z.mjs.map} +1 -1
- package/dist/{rollback--ympG9ss.cjs → rollback-B-1dPP0m.cjs} +9 -8
- package/dist/{rollback--ympG9ss.cjs.map → rollback-B-1dPP0m.cjs.map} +1 -1
- package/dist/{rollback-Drbg0OeR.mjs → rollback-B1TIpjdE.mjs} +7 -6
- package/dist/{rollback-Drbg0OeR.mjs.map → rollback-B1TIpjdE.mjs.map} +1 -1
- package/dist/run-BJLIerMM.mjs +133 -0
- package/dist/run-BJLIerMM.mjs.map +1 -0
- package/dist/run-fVZ-rLnc.cjs +174 -0
- package/dist/run-fVZ-rLnc.cjs.map +1 -0
- package/dist/{runtime-_wEVtshH.d.mts → runtime-DUQdM-mW.d.cts} +2 -2
- package/dist/{runtime-D_J3ExJn.d.cts.map → runtime-DUQdM-mW.d.cts.map} +1 -1
- package/dist/{runtime-D_J3ExJn.d.cts → runtime-Vr6mleo2.d.mts} +2 -2
- package/dist/{runtime-_wEVtshH.d.mts.map → runtime-Vr6mleo2.d.mts.map} +1 -1
- package/dist/{sandbox-CPJq1Kia.d.mts → sandbox-BbJmh2rI.d.cts} +2 -2
- package/dist/{sandbox-CPJq1Kia.d.mts.map → sandbox-BbJmh2rI.d.cts.map} +1 -1
- package/dist/{sandbox-JwuPAl7I.d.cts → sandbox-DGOsMPMf.d.mts} +2 -2
- package/dist/{sandbox-JwuPAl7I.d.cts.map → sandbox-DGOsMPMf.d.mts.map} +1 -1
- package/dist/{secrets-DJteijZo.cjs → secrets-CPM0Qffe.cjs} +3 -3
- package/dist/secrets-CPM0Qffe.cjs.map +1 -0
- package/dist/{secrets-DbPmAS4k.mjs → secrets-oI9ClAPR.mjs} +3 -3
- package/dist/secrets-oI9ClAPR.mjs.map +1 -0
- package/dist/{seeds-c-ByX9je.cjs → seeds-CnXkgKUv.cjs} +1339 -3594
- package/dist/seeds-CnXkgKUv.cjs.map +1 -0
- package/dist/{seeds-BSL55F6q.mjs → seeds-CoKkrSny.mjs} +1126 -3266
- package/dist/seeds-CoKkrSny.mjs.map +1 -0
- package/dist/{sniffer-BTtGAtm3.mjs → sniffer-CFRzIrby.mjs} +496 -5
- package/dist/sniffer-CFRzIrby.mjs.map +1 -0
- package/dist/{sniffer-Dq5BS98f.cjs → sniffer-vbiQ2Isn.cjs} +572 -3
- package/dist/sniffer-vbiQ2Isn.cjs.map +1 -0
- package/dist/{sst-BaRXp2Dd.mjs → sst-CGdjHn2A.mjs} +4 -3
- package/dist/{sst-BaRXp2Dd.mjs.map → sst-CGdjHn2A.mjs.map} +1 -1
- package/dist/{sst-CnKY-CSh.cjs → sst-DGuHDxVU.cjs} +5 -4
- package/dist/{sst-CnKY-CSh.cjs.map → sst-DGuHDxVU.cjs.map} +1 -1
- package/dist/{stack-1PeLJS2j.cjs → stack-1g57OfOw.cjs} +14 -52
- package/dist/stack-1g57OfOw.cjs.map +1 -0
- package/dist/{stack-Co4uZkAo.mjs → stack-B7O975TR.mjs} +14 -52
- package/dist/stack-B7O975TR.mjs.map +1 -0
- package/dist/{stages-DY-fQKmo.mjs → stages-Bt4OggMm.mjs} +17 -3
- package/dist/stages-Bt4OggMm.mjs.map +1 -0
- package/dist/{stages-BI8JvPzI.cjs → stages-BujUB4we.cjs} +17 -3
- package/dist/stages-BujUB4we.cjs.map +1 -0
- package/dist/target/public.cjs +1 -1
- package/dist/target/public.d.cts +2 -2
- package/dist/target/public.d.mts +2 -2
- package/dist/target/public.mjs +1 -1
- package/dist/{terminal-8XngdSTo.cjs → terminal-CPHuH4S1.cjs} +2 -2
- package/dist/{terminal-8XngdSTo.cjs.map → terminal-CPHuH4S1.cjs.map} +1 -1
- package/dist/{terminal-C4XRdwnU.mjs → terminal-iNmAXXjs.mjs} +2 -2
- package/dist/{terminal-C4XRdwnU.mjs.map → terminal-iNmAXXjs.mjs.map} +1 -1
- package/dist/{types-BibpiHKB.d.cts → types-bkqVscdN.d.mts} +43 -11
- package/dist/types-bkqVscdN.d.mts.map +1 -0
- package/dist/{types-B6lmD3en.d.mts → types-dipJRmKV.d.cts} +44 -10
- package/dist/types-dipJRmKV.d.cts.map +1 -0
- package/dist/workspace/index.cjs +1 -1
- package/dist/workspace/index.d.cts +2 -2
- package/dist/workspace/index.d.mts +2 -2
- package/dist/workspace/index.mjs +1 -1
- package/dist/{workspace-Bzw7Zs82.mjs → workspace-DWK1PTXP.mjs} +4 -4
- package/dist/workspace-DWK1PTXP.mjs.map +1 -0
- package/dist/{workspace-CHOB2Xg3.cjs → workspace-cSyi5nb1.cjs} +4 -4
- package/dist/workspace-cSyi5nb1.cjs.map +1 -0
- package/package.json +15 -15
- package/dist/HostingerProvider-C6t-PSNe.cjs.map +0 -1
- package/dist/add-CP1podDH.mjs.map +0 -1
- package/dist/add-VcyJnsPX.cjs.map +0 -1
- package/dist/cli-B8otnZfX.mjs.map +0 -1
- package/dist/cli-DL19w4OE.cjs.map +0 -1
- package/dist/compose-BHVKLluX.cjs.map +0 -1
- package/dist/compose-DrEB_4F-.mjs.map +0 -1
- package/dist/credentials-C4KII3PD.mjs.map +0 -1
- package/dist/credentials-QBu7VgaQ.cjs.map +0 -1
- package/dist/deploy-C3Mhnmus.cjs +0 -556
- package/dist/deploy-C3Mhnmus.cjs.map +0 -1
- package/dist/deploy-DYIyIUYd.mjs +0 -527
- package/dist/deploy-DYIyIUYd.mjs.map +0 -1
- package/dist/engine-Cfx8fEZU.cjs.map +0 -1
- package/dist/github-CzBbs43W.mjs.map +0 -1
- package/dist/github-zneTMvnO.cjs.map +0 -1
- package/dist/secrets-DJteijZo.cjs.map +0 -1
- package/dist/secrets-DbPmAS4k.mjs.map +0 -1
- package/dist/seeds-BSL55F6q.mjs.map +0 -1
- package/dist/seeds-c-ByX9je.cjs.map +0 -1
- package/dist/sniffer-BTtGAtm3.mjs.map +0 -1
- package/dist/sniffer-Dq5BS98f.cjs.map +0 -1
- package/dist/stack-1PeLJS2j.cjs.map +0 -1
- package/dist/stack-Co4uZkAo.mjs.map +0 -1
- package/dist/stages-BI8JvPzI.cjs.map +0 -1
- package/dist/stages-DY-fQKmo.mjs.map +0 -1
- package/dist/types-B6lmD3en.d.mts.map +0 -1
- package/dist/types-BibpiHKB.d.cts.map +0 -1
- package/dist/workspace-Bzw7Zs82.mjs.map +0 -1
- package/dist/workspace-CHOB2Xg3.cjs.map +0 -1
package/dist/index.cjs
CHANGED
|
@@ -2,27 +2,27 @@
|
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const require_rolldown_runtime = require("./rolldown-runtime-C0BPl7ul.cjs");
|
|
4
4
|
const require_errors = require("./errors-DMC4Umsb.cjs");
|
|
5
|
-
const
|
|
5
|
+
const require_run = require("./run-fVZ-rLnc.cjs");
|
|
6
|
+
const require_credentials = require("./credentials-Zqr3QQYB.cjs");
|
|
6
7
|
const require_discover = require("./discover-DPgu-ScS.cjs");
|
|
7
8
|
const require_derive = require("./derive-DAbo49sm.cjs");
|
|
8
|
-
const require_workspace = require("./workspace-
|
|
9
|
+
const require_workspace = require("./workspace-cSyi5nb1.cjs");
|
|
9
10
|
const require_config = require("./config.cjs");
|
|
10
|
-
const require_seeds = require("./seeds-
|
|
11
|
+
const require_seeds = require("./seeds-CnXkgKUv.cjs");
|
|
11
12
|
const require_EndpointGenerator = require("./EndpointGenerator-De03t1hd.cjs");
|
|
12
13
|
const require_openapi = require("./openapi.cjs");
|
|
13
14
|
const require_SubscriberGenerator = require("./SubscriberGenerator-Dvz7EzqK.cjs");
|
|
14
15
|
const require_appPorts = require("./appPorts-Cu79hJF6.cjs");
|
|
15
16
|
const require_drivers = require("./drivers-DDojgzz0.cjs");
|
|
16
17
|
const require_emit = require("./emit-Dmc1nvdS.cjs");
|
|
17
|
-
const require_local = require("./local-
|
|
18
|
-
const require_sniffer = require("./sniffer-
|
|
19
|
-
const require_deploy = require("./deploy-
|
|
20
|
-
const require_compose = require("./compose-BHVKLluX.cjs");
|
|
21
|
-
const require_stack = require("./stack-1PeLJS2j.cjs");
|
|
18
|
+
const require_local = require("./local-DNhnkugT.cjs");
|
|
19
|
+
const require_sniffer = require("./sniffer-vbiQ2Isn.cjs");
|
|
20
|
+
const require_deploy = require("./deploy-Bw1FjX_x.cjs");
|
|
22
21
|
const require_credentialSchemas = require("./credentialSchemas-CAPKFkrG.cjs");
|
|
23
|
-
const
|
|
22
|
+
const require_compose = require("./compose-Dd0XphvF.cjs");
|
|
23
|
+
const require_stack = require("./stack-1g57OfOw.cjs");
|
|
24
|
+
const require_LocalStateStore = require("./LocalStateStore-D8fu5WiF.cjs");
|
|
24
25
|
const require_utils = require("./utils-D2Nk1Nv2.cjs");
|
|
25
|
-
require("./awsStore-B5We7bMg.cjs");
|
|
26
26
|
const require_ready = require("./ready-D3PIjx3S.cjs");
|
|
27
27
|
let node_path = require("node:path");
|
|
28
28
|
let commander = require("commander");
|
|
@@ -56,7 +56,7 @@ crypto = require_rolldown_runtime.__toESM(crypto, 1);
|
|
|
56
56
|
let _geekmidas_constructs_functions = require("@geekmidas/constructs/functions");
|
|
57
57
|
let _geekmidas_constructs_topic = require("@geekmidas/constructs/topic");
|
|
58
58
|
//#region package.json
|
|
59
|
-
var version = "10.0.0-alpha.
|
|
59
|
+
var version = "10.0.0-alpha.95";
|
|
60
60
|
//#endregion
|
|
61
61
|
//#region src/prompt.ts
|
|
62
62
|
/**
|
|
@@ -139,7 +139,7 @@ const logger$8 = console;
|
|
|
139
139
|
* Validate Dokploy token by making a test API call
|
|
140
140
|
*/
|
|
141
141
|
async function validateDokployToken(endpoint, token) {
|
|
142
|
-
const { DokployApi } = await Promise.resolve().then(() => require("./sniffer-
|
|
142
|
+
const { DokployApi } = await Promise.resolve().then(() => require("./sniffer-vbiQ2Isn.cjs")).then((n) => n.dokploy_api_exports);
|
|
143
143
|
return new DokployApi({
|
|
144
144
|
baseUrl: endpoint,
|
|
145
145
|
token
|
|
@@ -215,7 +215,7 @@ async function loginCommand(options) {
|
|
|
215
215
|
* Store a GoDaddy Personal Access Token. Not validated: the only call that
|
|
216
216
|
* proves a token without a domain is an account call (`GET /v1/domains`),
|
|
217
217
|
* which a token scoped to `domains.dns:update` alone may not make — the first
|
|
218
|
-
*
|
|
218
|
+
* deploy that writes a record is where a bad token reports itself.
|
|
219
219
|
*/
|
|
220
220
|
async function loginGoDaddy(options) {
|
|
221
221
|
logger$8.log("\n🔐 Logging in to GoDaddy...\n");
|
|
@@ -236,7 +236,7 @@ async function loginGoDaddy(options) {
|
|
|
236
236
|
logger$8.log("\n✓ GoDaddy token stored.");
|
|
237
237
|
logger$8.log(` Token: ${maskToken(token)}`);
|
|
238
238
|
logger$8.log(` Credentials stored in: ${require_credentials.getCredentialsPath(where)}`);
|
|
239
|
-
logger$8.log(" Not validated here: proving a token without a domain needs an account\n scope a DNS-only token does not have, so the first
|
|
239
|
+
logger$8.log(" Not validated here: proving a token without a domain needs an account\n scope a DNS-only token does not have, so the first deploy that\n writes a record is where a bad token reports itself.");
|
|
240
240
|
logger$8.log("\nYou can now use it as a DNS provider without setting GODADDY_API_TOKEN.");
|
|
241
241
|
}
|
|
242
242
|
/**
|
|
@@ -2333,9 +2333,9 @@ async function workspaceDevCommand(configured, options) {
|
|
|
2333
2333
|
for (const { id, port } of fakes) logger$5.log(`🎭 ${id} fake: http://localhost:${port}`);
|
|
2334
2334
|
logger$5.log(options.migrate || options.seed ? "🗄️ Migrating the databases" : "🗄️ Checking for pending migrations");
|
|
2335
2335
|
if (options.migrate || options.seed) {
|
|
2336
|
-
const { prepareDevDatabases } = await Promise.resolve().then(() => require("./migrate-
|
|
2336
|
+
const { prepareDevDatabases } = await Promise.resolve().then(() => require("./migrate-afgRL3Hg.cjs"));
|
|
2337
2337
|
await prepareDevDatabases(workspace, reconciled.env, { seed: !!options.seed });
|
|
2338
|
-
} else await Promise.resolve().then(() => require("./migrate-
|
|
2338
|
+
} else await Promise.resolve().then(() => require("./migrate-afgRL3Hg.cjs")).then(({ reportPendingMigrations }) => reportPendingMigrations(workspace, reconciled.env)).catch((error) => {
|
|
2339
2339
|
logger$5.log(`⚠️ Could not check for pending migrations: ${error instanceof Error ? error.message : String(error)}`);
|
|
2340
2340
|
});
|
|
2341
2341
|
const appUrls = {};
|
|
@@ -3388,7 +3388,7 @@ async function buildApp(input) {
|
|
|
3388
3388
|
...production,
|
|
3389
3389
|
...telemetry ? { telemetry } : {}
|
|
3390
3390
|
});
|
|
3391
|
-
const { bundleServer } = await Promise.resolve().then(() => require("./bundler-
|
|
3391
|
+
const { bundleServer } = await Promise.resolve().then(() => require("./bundler-CI3elfZS.cjs"));
|
|
3392
3392
|
await bundleServer({
|
|
3393
3393
|
entryPoint,
|
|
3394
3394
|
outputDir: (0, node_path.join)(outputDir, "dist"),
|
|
@@ -3533,7 +3533,7 @@ async function buildWorkers(input) {
|
|
|
3533
3533
|
});
|
|
3534
3534
|
logger$4.log(`Generated worker ${worker.id}: ${crons.length} crons, ${queues.length} queues, ${subscribers.length} subscribers`);
|
|
3535
3535
|
if (!input.bundle) continue;
|
|
3536
|
-
const { bundleServer } = await Promise.resolve().then(() => require("./bundler-
|
|
3536
|
+
const { bundleServer } = await Promise.resolve().then(() => require("./bundler-CI3elfZS.cjs"));
|
|
3537
3537
|
const outfile = require_seeds.workerBundleName(worker.id);
|
|
3538
3538
|
await bundleServer({
|
|
3539
3539
|
entryPoint,
|
|
@@ -3619,7 +3619,7 @@ async function buildForTarget(target, context, appRoot, workspaceRoot, endpointG
|
|
|
3619
3619
|
let masterKey;
|
|
3620
3620
|
if (context.production?.bundle && !skipBundle) {
|
|
3621
3621
|
logger$4.log(`\n📦 Bundling production server...`);
|
|
3622
|
-
const { bundleServer } = await Promise.resolve().then(() => require("./bundler-
|
|
3622
|
+
const { bundleServer } = await Promise.resolve().then(() => require("./bundler-CI3elfZS.cjs"));
|
|
3623
3623
|
const allConstructs = [
|
|
3624
3624
|
...endpoints.map((e) => e.construct),
|
|
3625
3625
|
...functions.map((f) => f.construct),
|
|
@@ -3793,10 +3793,10 @@ async function workspaceBuildCommand(workspace, options) {
|
|
|
3793
3793
|
...sandbox.env,
|
|
3794
3794
|
NODE_ENV: options.production ? "production" : "development"
|
|
3795
3795
|
},
|
|
3796
|
-
timeoutMs:
|
|
3796
|
+
timeoutMs: require_run.DEFAULT_TIMEOUT_MS,
|
|
3797
3797
|
output: "inherit"
|
|
3798
3798
|
});
|
|
3799
|
-
if (built.exitCode !== 0) throw new
|
|
3799
|
+
if (built.exitCode !== 0) throw new require_run.CommandFailed(turboBin, turboArgs, built.exitCode, built.signal);
|
|
3800
3800
|
}
|
|
3801
3801
|
for (const [appName, app] of apps) {
|
|
3802
3802
|
const outputPath = getAppOutputPath(workspace, appName, app);
|
|
@@ -3913,7 +3913,11 @@ async function composeCommand(options, deps = {}) {
|
|
|
3913
3913
|
...options.dryRun ? { dryRun: true } : {},
|
|
3914
3914
|
...options.push ? { buildOnly: true } : {},
|
|
3915
3915
|
...options.allowDevServices ? { allowDevServices: true } : {},
|
|
3916
|
-
...options.
|
|
3916
|
+
...options.skipDns ? { skipDns: true } : {},
|
|
3917
|
+
...options.resourcesOnly ? { resourcesOnly: true } : {},
|
|
3918
|
+
...options.skipResources ? { skipResources: true } : {},
|
|
3919
|
+
...options.rotateKeys ? { rotateKeys: true } : {},
|
|
3920
|
+
...options.retireOldKeys ? { retireOldKeys: true } : {},
|
|
3917
3921
|
logger: {
|
|
3918
3922
|
info: (message) => console.log(message),
|
|
3919
3923
|
warn: (message) => console.warn(message),
|
|
@@ -4183,7 +4187,7 @@ async function statePushCommand(options) {
|
|
|
4183
4187
|
*/
|
|
4184
4188
|
async function stateShowCommand(options) {
|
|
4185
4189
|
const { workspace } = await require_config.loadWorkspaceConfig();
|
|
4186
|
-
const stored = await (await
|
|
4190
|
+
const stored = await (await require_sniffer.createStateStore({
|
|
4187
4191
|
config: workspace.state,
|
|
4188
4192
|
workspaceRoot: workspace.root,
|
|
4189
4193
|
workspaceName: workspace.name
|
|
@@ -4210,7 +4214,7 @@ async function stateShowCommand(options) {
|
|
|
4210
4214
|
*/
|
|
4211
4215
|
async function stateUnlockCommand(options) {
|
|
4212
4216
|
const { workspace } = await require_config.loadWorkspaceConfig();
|
|
4213
|
-
const holder = await (await
|
|
4217
|
+
const holder = await (await require_sniffer.createStateStore({
|
|
4214
4218
|
config: workspace.state,
|
|
4215
4219
|
workspaceRoot: workspace.root,
|
|
4216
4220
|
workspaceName: workspace.name
|
|
@@ -4287,7 +4291,7 @@ async function remoteAndLocal(workspace, hint = ["Add a remote provider in gkm.c
|
|
|
4287
4291
|
}
|
|
4288
4292
|
return {
|
|
4289
4293
|
local: new require_LocalStateStore.LocalStateStore(workspace.root),
|
|
4290
|
-
remote: await
|
|
4294
|
+
remote: await require_sniffer.createStateStore({
|
|
4291
4295
|
config: workspace.state,
|
|
4292
4296
|
workspaceRoot: workspace.root,
|
|
4293
4297
|
workspaceName: workspace.name
|
|
@@ -4435,7 +4439,7 @@ function printDnsRecords(resources) {
|
|
|
4435
4439
|
*/
|
|
4436
4440
|
async function stateHistoryCommand(options) {
|
|
4437
4441
|
const { workspace } = await require_config.loadWorkspaceConfig();
|
|
4438
|
-
const stored = await (await
|
|
4442
|
+
const stored = await (await require_sniffer.createStateStore({
|
|
4439
4443
|
config: workspace.state,
|
|
4440
4444
|
workspaceRoot: workspace.root,
|
|
4441
4445
|
workspaceName: workspace.name
|
|
@@ -5430,25 +5434,25 @@ function loadPackageJson() {
|
|
|
5430
5434
|
* Run: pnpm --filter @geekmidas/cli sync-versions
|
|
5431
5435
|
*/
|
|
5432
5436
|
const GEEKMIDAS_VERSIONS = {
|
|
5433
|
-
"@geekmidas/audit": "~10.0.0-alpha.
|
|
5434
|
-
"@geekmidas/auth": "~10.0.0-alpha.
|
|
5435
|
-
"@geekmidas/cache": "~10.0.0-alpha.
|
|
5436
|
-
"@geekmidas/client": "~10.0.0-alpha.
|
|
5437
|
-
"@geekmidas/cloud": "~10.0.0-alpha.
|
|
5438
|
-
"@geekmidas/constructs": "~10.0.0-alpha.
|
|
5439
|
-
"@geekmidas/db": "~10.0.0-alpha.
|
|
5440
|
-
"@geekmidas/emailkit": "~10.0.0-alpha.
|
|
5441
|
-
"@geekmidas/envkit": "~10.0.0-alpha.
|
|
5442
|
-
"@geekmidas/errors": "~10.0.0-alpha.
|
|
5443
|
-
"@geekmidas/events": "~10.0.0-alpha.
|
|
5444
|
-
"@geekmidas/logger": "~10.0.0-alpha.
|
|
5445
|
-
"@geekmidas/manifest": "~10.0.0-alpha.
|
|
5446
|
-
"@geekmidas/rate-limit": "~10.0.0-alpha.
|
|
5447
|
-
"@geekmidas/schema": "~10.0.0-alpha.
|
|
5448
|
-
"@geekmidas/services": "~10.0.0-alpha.
|
|
5449
|
-
"@geekmidas/storage": "~10.0.0-alpha.
|
|
5450
|
-
"@geekmidas/telescope": "~10.0.0-alpha.
|
|
5451
|
-
"@geekmidas/testkit": "~10.0.0-alpha.
|
|
5437
|
+
"@geekmidas/audit": "~10.0.0-alpha.95",
|
|
5438
|
+
"@geekmidas/auth": "~10.0.0-alpha.95",
|
|
5439
|
+
"@geekmidas/cache": "~10.0.0-alpha.95",
|
|
5440
|
+
"@geekmidas/client": "~10.0.0-alpha.95",
|
|
5441
|
+
"@geekmidas/cloud": "~10.0.0-alpha.95",
|
|
5442
|
+
"@geekmidas/constructs": "~10.0.0-alpha.95",
|
|
5443
|
+
"@geekmidas/db": "~10.0.0-alpha.95",
|
|
5444
|
+
"@geekmidas/emailkit": "~10.0.0-alpha.95",
|
|
5445
|
+
"@geekmidas/envkit": "~10.0.0-alpha.95",
|
|
5446
|
+
"@geekmidas/errors": "~10.0.0-alpha.95",
|
|
5447
|
+
"@geekmidas/events": "~10.0.0-alpha.95",
|
|
5448
|
+
"@geekmidas/logger": "~10.0.0-alpha.95",
|
|
5449
|
+
"@geekmidas/manifest": "~10.0.0-alpha.95",
|
|
5450
|
+
"@geekmidas/rate-limit": "~10.0.0-alpha.95",
|
|
5451
|
+
"@geekmidas/schema": "~10.0.0-alpha.95",
|
|
5452
|
+
"@geekmidas/services": "~10.0.0-alpha.95",
|
|
5453
|
+
"@geekmidas/storage": "~10.0.0-alpha.95",
|
|
5454
|
+
"@geekmidas/telescope": "~10.0.0-alpha.95",
|
|
5455
|
+
"@geekmidas/testkit": "~10.0.0-alpha.95",
|
|
5452
5456
|
"@geekmidas/cli": `~${loadPackageJson().version}`
|
|
5453
5457
|
};
|
|
5454
5458
|
//#endregion
|
|
@@ -5849,7 +5853,7 @@ const COMMIT = /^[0-9a-f]{40}$/;
|
|
|
5849
5853
|
* The `uses:` value for the stages action, with a comment saying which CLI
|
|
5850
5854
|
* release the pinned commit is.
|
|
5851
5855
|
*/
|
|
5852
|
-
function stagesActionUses(commit = "
|
|
5856
|
+
function stagesActionUses(commit = "6872ad96b3244965b8a15e38e14ce79b966d5fba", version = cliVersion()) {
|
|
5853
5857
|
return commit && COMMIT.test(commit) ? `${STAGES_ACTION}@${commit} # @geekmidas/cli ${version}` : `${STAGES_ACTION}@main # pin to a commit SHA: see the action's README`;
|
|
5854
5858
|
}
|
|
5855
5859
|
//#endregion
|
|
@@ -6101,6 +6105,7 @@ function stagesJob(options) {
|
|
|
6101
6105
|
has-build: \${{ steps.stages.outputs.has-build }}
|
|
6102
6106
|
has-deploy: \${{ steps.stages.outputs.has-deploy }}
|
|
6103
6107
|
aws-region: \${{ steps.stages.outputs.aws-region }}
|
|
6108
|
+
resources: \${{ steps.stages.outputs.resources }}
|
|
6104
6109
|
steps:
|
|
6105
6110
|
- uses: actions/checkout@v4
|
|
6106
6111
|
|
|
@@ -6118,6 +6123,10 @@ ${pm.setup}
|
|
|
6118
6123
|
stage: \${{ inputs.stage }}
|
|
6119
6124
|
`;
|
|
6120
6125
|
}
|
|
6126
|
+
/** Every step in `steps` run only when `condition` holds. */
|
|
6127
|
+
function onlyIf(steps, condition) {
|
|
6128
|
+
return steps.replace(/^ {6}- /gm, ` - if: ${condition}\n `);
|
|
6129
|
+
}
|
|
6121
6130
|
/**
|
|
6122
6131
|
* The registry login a compose build pushes with: GitHub's own token on
|
|
6123
6132
|
* ghcr.io, otherwise a username variable and a password secret.
|
|
@@ -6142,6 +6151,11 @@ function registryLogin(registry) {
|
|
|
6142
6151
|
* `ref` — then that commit's push build, whose digests pin each image. Over
|
|
6143
6152
|
* SSH, with a pinned host key, the server checks the commit out and runs
|
|
6144
6153
|
* `gkm compose` on exactly those images.
|
|
6154
|
+
* - Resources: where the stage has some the deploy creates — a provider's
|
|
6155
|
+
* bucket and key, DNS records through a provider — the runner creates them
|
|
6156
|
+
* first (`gkm deploy --resources-only`) with the stage's role and the DNS
|
|
6157
|
+
* token from its environment, and the server deploys with
|
|
6158
|
+
* `--skip-resources`: neither credential reaches the server.
|
|
6145
6159
|
*/
|
|
6146
6160
|
function composeDeploy(options) {
|
|
6147
6161
|
const pm = tooling(options);
|
|
@@ -6217,6 +6231,13 @@ ${registryLogin(registry)}
|
|
|
6217
6231
|
permissions:
|
|
6218
6232
|
contents: read
|
|
6219
6233
|
actions: read
|
|
6234
|
+
id-token: write
|
|
6235
|
+
env:
|
|
6236
|
+
# Whether the stage has resources the deploy creates — a provider's
|
|
6237
|
+
# bucket and key (deploy.<kind>.<stage>), DNS records through a provider
|
|
6238
|
+
# in dns: the runner creates them with the stage's role and DNS token,
|
|
6239
|
+
# so neither reaches the server, which deploys with --skip-resources.
|
|
6240
|
+
RESOURCES_ON_RUNNER: \${{ contains(fromJSON(needs.stages.outputs.resources || '[]'), matrix.stage) }}
|
|
6220
6241
|
steps:
|
|
6221
6242
|
# A release deploys its tag's commit, never its target_commitish — the
|
|
6222
6243
|
# branch it was drafted against, which has moved on since.
|
|
@@ -6239,6 +6260,40 @@ ${registryLogin(registry)}
|
|
|
6239
6260
|
REF: \${{ inputs.ref }}
|
|
6240
6261
|
SHA: \${{ github.sha }}
|
|
6241
6262
|
|
|
6263
|
+
# The deploy's resources, here on the runner: each provider's bucket
|
|
6264
|
+
# and key (written into the stage's secrets store), and every public
|
|
6265
|
+
# host's DNS record — a new app's included, one per host, never a
|
|
6266
|
+
# wildcard — written through the provider where it is missing or out of
|
|
6267
|
+
# date and read back from it. The stage's secrets (GKM_SERVER_IPV4
|
|
6268
|
+
# among them) are read with the stage's role; the DNS token is a secret
|
|
6269
|
+
# on this stage's environment. A missing credential fails here, before
|
|
6270
|
+
# anything is deployed.
|
|
6271
|
+
- name: Check out the commit
|
|
6272
|
+
if: env.RESOURCES_ON_RUNNER == 'true'
|
|
6273
|
+
uses: actions/checkout@v4
|
|
6274
|
+
with:
|
|
6275
|
+
ref: \${{ steps.commit.outputs.sha }}
|
|
6276
|
+
|
|
6277
|
+
${onlyIf(pm.setup, "env.RESOURCES_ON_RUNNER == 'true'")}
|
|
6278
|
+
- name: Install
|
|
6279
|
+
if: env.RESOURCES_ON_RUNNER == 'true'
|
|
6280
|
+
run: ${pm.install}
|
|
6281
|
+
|
|
6282
|
+
- name: Assume the stage's AWS role
|
|
6283
|
+
if: env.RESOURCES_ON_RUNNER == 'true' && needs.stages.outputs.aws-region != ''
|
|
6284
|
+
uses: aws-actions/configure-aws-credentials@v4
|
|
6285
|
+
with:
|
|
6286
|
+
role-to-assume: \${{ vars.AWS_ROLE_ARN }}
|
|
6287
|
+
aws-region: \${{ needs.stages.outputs.aws-region }}
|
|
6288
|
+
|
|
6289
|
+
- name: Create the stage's resources
|
|
6290
|
+
if: env.RESOURCES_ON_RUNNER == 'true'
|
|
6291
|
+
run: ${pm.exec} gkm deploy --stage "$STAGE" --resources-only
|
|
6292
|
+
env:
|
|
6293
|
+
STAGE: \${{ matrix.stage }}
|
|
6294
|
+
GODADDY_API_TOKEN: \${{ secrets.GODADDY_API_TOKEN }}
|
|
6295
|
+
HOSTINGER_API_TOKEN: \${{ secrets.HOSTINGER_API_TOKEN }}
|
|
6296
|
+
|
|
6242
6297
|
# The push run of this workflow that built the commit for this stage:
|
|
6243
6298
|
# this run on a push, the newest one with the stage's digests otherwise.
|
|
6244
6299
|
- name: Find the commit's push build
|
|
@@ -6300,9 +6355,9 @@ ${registryLogin(registry)}
|
|
|
6300
6355
|
if [ -f digests.json ]; then digests=$(base64 -w0 < digests.json); fi
|
|
6301
6356
|
ssh -i ~/.ssh/deploy_key -o IdentitiesOnly=yes -o StrictHostKeyChecking=yes \\
|
|
6302
6357
|
"$DEPLOY_USER@$DEPLOY_HOST" \\
|
|
6303
|
-
"bash -s -- $(printf '%q ' "$STAGE" "$SHA" "$DEPLOY_PATH" "$digests")" <<'REMOTE'
|
|
6358
|
+
"bash -s -- $(printf '%q ' "$STAGE" "$SHA" "$DEPLOY_PATH" "$digests" "$RESOURCES_ON_RUNNER")" <<'REMOTE'
|
|
6304
6359
|
set -euo pipefail
|
|
6305
|
-
stage=$1 sha=$2 dir=$3 digests=$4
|
|
6360
|
+
stage=$1 sha=$2 dir=$3 digests=$4 resources_on_runner=$5
|
|
6306
6361
|
cd "$dir"
|
|
6307
6362
|
git fetch --quiet origin
|
|
6308
6363
|
git checkout --quiet --detach "$sha"
|
|
@@ -6313,6 +6368,8 @@ ${registryLogin(registry)}
|
|
|
6313
6368
|
printf '%s' "$digests" | base64 -d > ".gkm/digests-$stage.json"
|
|
6314
6369
|
args+=(--digests-file ".gkm/digests-$stage.json")
|
|
6315
6370
|
fi
|
|
6371
|
+
# Created and confirmed from the runner already.
|
|
6372
|
+
if [ "$resources_on_runner" = true ]; then args+=(--skip-resources); fi
|
|
6316
6373
|
${pm.exec} gkm compose "\${args[@]}"
|
|
6317
6374
|
REMOTE
|
|
6318
6375
|
env:
|
|
@@ -6361,7 +6418,9 @@ function targetDeploy(options) {
|
|
|
6361
6418
|
`;
|
|
6362
6419
|
const deployEnv = sst ? "" : `
|
|
6363
6420
|
DOKPLOY_API_TOKEN: \${{ secrets.DOKPLOY_API_TOKEN }}
|
|
6364
|
-
DOKPLOY_ENDPOINT: \${{ vars.DOKPLOY_ENDPOINT }}
|
|
6421
|
+
DOKPLOY_ENDPOINT: \${{ vars.DOKPLOY_ENDPOINT }}
|
|
6422
|
+
GODADDY_API_TOKEN: \${{ secrets.GODADDY_API_TOKEN }}
|
|
6423
|
+
HOSTINGER_API_TOKEN: \${{ secrets.HOSTINGER_API_TOKEN }}`;
|
|
6365
6424
|
return `${deployHeader(false)}
|
|
6366
6425
|
jobs:
|
|
6367
6426
|
${stagesJob(options)}
|
|
@@ -11133,6 +11192,7 @@ function maskUrl(url) {
|
|
|
11133
11192
|
//#endregion
|
|
11134
11193
|
//#region src/setup/index.ts
|
|
11135
11194
|
var setup_exports = /* @__PURE__ */ require_rolldown_runtime.__exportAll({
|
|
11195
|
+
SetupIsLocal: () => SetupIsLocal,
|
|
11136
11196
|
createFreshWorkspaceSecrets: () => createFreshWorkspaceSecrets,
|
|
11137
11197
|
ensureStageSecrets: () => ensureStageSecrets,
|
|
11138
11198
|
reconcileSecrets: () => reconcileSecrets,
|
|
@@ -11140,14 +11200,21 @@ var setup_exports = /* @__PURE__ */ require_rolldown_runtime.__exportAll({
|
|
|
11140
11200
|
});
|
|
11141
11201
|
const logger$1 = console;
|
|
11142
11202
|
/**
|
|
11143
|
-
*
|
|
11144
|
-
*
|
|
11145
|
-
|
|
11146
|
-
|
|
11147
|
-
|
|
11148
|
-
|
|
11149
|
-
|
|
11150
|
-
|
|
11203
|
+
* `gkm setup --stage <deployed stage>`: setup is this machine's, done once,
|
|
11204
|
+
* and creates nothing for a deployed stage — the deploy does.
|
|
11205
|
+
*/
|
|
11206
|
+
var SetupIsLocal = class extends require_errors.GkmError {
|
|
11207
|
+
stage;
|
|
11208
|
+
constructor(stage) {
|
|
11209
|
+
super(`gkm setup sets up this machine — its secrets and its containers — and '${stage}' is a deployed stage: nothing of it is set up from here. The deploy creates what '${stage}' needs — its buckets and keys, its DNS records — every time it runs: gkm deploy --stage ${stage} (gkm compose --stage ${stage} is the same deploy). Its --dry-run prints what it would create.`);
|
|
11210
|
+
this.stage = stage;
|
|
11211
|
+
this.name = "SetupIsLocal";
|
|
11212
|
+
}
|
|
11213
|
+
};
|
|
11214
|
+
/**
|
|
11215
|
+
* Set this machine up for the workspace, once: the local stage's secrets
|
|
11216
|
+
* (local → the stage's store → generated) and its containers. A deployed
|
|
11217
|
+
* stage is refused with {@link SetupIsLocal}: its resources are the deploy's.
|
|
11151
11218
|
*/
|
|
11152
11219
|
async function setupCommand(options = {}) {
|
|
11153
11220
|
let loadedConfig;
|
|
@@ -11159,27 +11226,15 @@ async function setupCommand(options = {}) {
|
|
|
11159
11226
|
}
|
|
11160
11227
|
const stage = options.stage ?? loadedConfig.workspace.stages.local;
|
|
11161
11228
|
const { workspace } = loadedConfig;
|
|
11162
|
-
|
|
11163
|
-
logger$1.log(
|
|
11229
|
+
if (workspace.stages.deployed.includes(stage)) throw new SetupIsLocal(stage);
|
|
11230
|
+
logger$1.log("\n🔧 Setting up the local environment...\n");
|
|
11164
11231
|
logger$1.log(`📦 Workspace: ${workspace.name}`);
|
|
11165
11232
|
logger$1.log(`📱 Apps: ${Object.keys(workspace.apps).join(", ")}`);
|
|
11166
11233
|
logger$1.log(`🔑 Stage: ${stage}\n`);
|
|
11167
|
-
if (!local) {
|
|
11168
|
-
const store = await require_seeds.secretsStoreFor(workspace, stage, { ...options.profile ? { profile: options.profile } : {} });
|
|
11169
|
-
require_seeds.assertStageServer(workspace, stage, await store.read(stage));
|
|
11170
|
-
}
|
|
11171
|
-
if (!local && options.dryRun) {
|
|
11172
|
-
await provisionDeployed(workspace, stage, options);
|
|
11173
|
-
return;
|
|
11174
|
-
}
|
|
11175
11234
|
if (!await resolveSecrets(stage, workspace, options)) {
|
|
11176
11235
|
logger$1.error("❌ Failed to resolve secrets. Exiting.");
|
|
11177
11236
|
process.exit(1);
|
|
11178
11237
|
}
|
|
11179
|
-
if (!local) {
|
|
11180
|
-
await provisionDeployed(workspace, stage, options);
|
|
11181
|
-
return;
|
|
11182
|
-
}
|
|
11183
11238
|
if (!options.skipDocker) {
|
|
11184
11239
|
logger$1.log("");
|
|
11185
11240
|
await reconcileLocal(workspace, stage, options);
|
|
@@ -11187,33 +11242,6 @@ async function setupCommand(options = {}) {
|
|
|
11187
11242
|
printSummary(workspace, stage);
|
|
11188
11243
|
}
|
|
11189
11244
|
/**
|
|
11190
|
-
* A deployed stage's providers: each one's `ensure()`, in the stage's own
|
|
11191
|
-
* account, its keys written into the stage's secrets.
|
|
11192
|
-
*/
|
|
11193
|
-
async function provisionDeployed(workspace, stage, options) {
|
|
11194
|
-
logger$1.log(options.dryRun ? `\n☁️ Providers for '${stage}' (dry run — nothing is created or written)` : `\n☁️ Providers for '${stage}'`);
|
|
11195
|
-
const configured = (await require_seeds.provisionStage({
|
|
11196
|
-
workspace,
|
|
11197
|
-
stage,
|
|
11198
|
-
...options.dryRun ? { dryRun: true } : {},
|
|
11199
|
-
...options.profile ? { profile: options.profile } : {},
|
|
11200
|
-
...options.rotateKeys ? { rotateKeys: true } : {},
|
|
11201
|
-
...options.retireOldKeys ? { retireOldKeys: true } : {},
|
|
11202
|
-
log: (line) => logger$1.log(line)
|
|
11203
|
-
})).filter((r) => r.mode === "provider");
|
|
11204
|
-
if (configured.length === 0) logger$1.log(` None configured: '${stage}' takes every key from its secrets (gkm secrets:add --stage ${stage}). Name one in gkm.config.ts — deploy: { objects: { ${stage}: { provider: 's3' } } } — to have ${require_seeds.provisionCommand(stage)} create it.`);
|
|
11205
|
-
const dns = await require_seeds.provisionStageDns({
|
|
11206
|
-
workspace,
|
|
11207
|
-
stage,
|
|
11208
|
-
...options.dryRun ? { dryRun: true } : {},
|
|
11209
|
-
...options.profile ? { profile: options.profile } : {},
|
|
11210
|
-
log: (line) => logger$1.log(line)
|
|
11211
|
-
});
|
|
11212
|
-
const changes = configured.reduce((n, r) => n + r.actions.length, 0) + dns.changes.filter((c) => c.action !== "unchanged" && c.action !== "manual").length;
|
|
11213
|
-
if (configured.length === 0 && dns.mode === "none") return;
|
|
11214
|
-
logger$1.log(options.dryRun ? `\n${changes === 0 ? "✅ Nothing to change" : `📋 ${changes} change${changes === 1 ? "" : "s"} planned`}` : `\n✅ '${stage}' provisioned${changes === 0 ? " — already up to date" : ` (${changes} change${changes === 1 ? "" : "s"})`}`);
|
|
11215
|
-
}
|
|
11216
|
-
/**
|
|
11217
11245
|
* Converge this machine on what the manifest declares.
|
|
11218
11246
|
*
|
|
11219
11247
|
* Says what it did in one line and stays silent when it did nothing, because
|
|
@@ -11238,7 +11266,7 @@ async function reconcileLocal(workspace, stage, options) {
|
|
|
11238
11266
|
/**
|
|
11239
11267
|
* Resolve secrets with priority:
|
|
11240
11268
|
* 1. Local secrets exist → use them (preserves manual additions)
|
|
11241
|
-
* 2.
|
|
11269
|
+
* 2. The stage's store has secrets → use them
|
|
11242
11270
|
* 3. Neither → generate fresh secrets
|
|
11243
11271
|
*
|
|
11244
11272
|
* --force skips checks 1 and 2 and always regenerates.
|
|
@@ -11565,7 +11593,7 @@ function testDatabases(reconciled) {
|
|
|
11565
11593
|
* starts without the reference data the app needs.
|
|
11566
11594
|
*/
|
|
11567
11595
|
async function migrateTestStage(workspace, env) {
|
|
11568
|
-
const { migrateAndSeed } = await Promise.resolve().then(() => require("./migrate-
|
|
11596
|
+
const { migrateAndSeed } = await Promise.resolve().then(() => require("./migrate-afgRL3Hg.cjs"));
|
|
11569
11597
|
const { discover } = await Promise.resolve().then(() => require("./discover-DPgu-ScS.cjs")).then((n) => n.discover_exports);
|
|
11570
11598
|
const sources = {};
|
|
11571
11599
|
const manifest = await discover({
|
|
@@ -11919,7 +11947,7 @@ program.command("trust").description("Trust the local edge's certificate authori
|
|
|
11919
11947
|
exitWithError(error);
|
|
11920
11948
|
}
|
|
11921
11949
|
});
|
|
11922
|
-
program.command("setup").description("
|
|
11950
|
+
program.command("setup").description("Set this machine up for the workspace, once: the local stage's secrets and containers. A deployed stage's resources are created by its deploy").option("--stage <stage>", "Stage name (default: stages.local); never a deployed stage").option("--force", "Regenerate secrets even if they exist").option("--skip-docker", "Skip starting Docker services").option("-y, --yes", "Skip prompts").action(async (options) => {
|
|
11923
11951
|
try {
|
|
11924
11952
|
const globalOptions = program.opts();
|
|
11925
11953
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
@@ -12001,7 +12029,7 @@ program.command("migrate").description("Apply each database construct's migratio
|
|
|
12001
12029
|
try {
|
|
12002
12030
|
const globalOptions = program.opts();
|
|
12003
12031
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
12004
|
-
const { migrateCommand } = await Promise.resolve().then(() => require("./migrate-
|
|
12032
|
+
const { migrateCommand } = await Promise.resolve().then(() => require("./migrate-afgRL3Hg.cjs"));
|
|
12005
12033
|
await migrateCommand({
|
|
12006
12034
|
...options,
|
|
12007
12035
|
...construct ? { construct } : {}
|
|
@@ -12014,7 +12042,7 @@ program.command("seed").description("Migrate, then run each database construct's
|
|
|
12014
12042
|
try {
|
|
12015
12043
|
const globalOptions = program.opts();
|
|
12016
12044
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
12017
|
-
const { seedCommand } = await Promise.resolve().then(() => require("./migrate-
|
|
12045
|
+
const { seedCommand } = await Promise.resolve().then(() => require("./migrate-afgRL3Hg.cjs"));
|
|
12018
12046
|
await seedCommand({
|
|
12019
12047
|
...options,
|
|
12020
12048
|
...construct ? { construct } : {}
|
|
@@ -12027,7 +12055,7 @@ program.command("migration").description("Write a construct's next migration: an
|
|
|
12027
12055
|
try {
|
|
12028
12056
|
const globalOptions = program.opts();
|
|
12029
12057
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
12030
|
-
const { migrationCommand } = await Promise.resolve().then(() => require("./migrate-
|
|
12058
|
+
const { migrationCommand } = await Promise.resolve().then(() => require("./migrate-afgRL3Hg.cjs"));
|
|
12031
12059
|
await migrationCommand({
|
|
12032
12060
|
construct,
|
|
12033
12061
|
...name ? { name } : {}
|
|
@@ -12073,7 +12101,7 @@ program.command("docker").description("Generate Docker deployment files").option
|
|
|
12073
12101
|
exitWithError(error);
|
|
12074
12102
|
}
|
|
12075
12103
|
});
|
|
12076
|
-
program.command("compose").description("Run the workspace's APIs and sites for a stage as one Docker Compose stack behind Caddy").requiredOption("--stage <stage>", "Stage to run — always named, so a stack is never a deployed stage by accident").option("--tag <tag>", "Run the images CI pushed at this tag (sites: <tag>-<stage>); nothing is built").option("--build", "Build images from this checkout, tagged with the commit").option("--pull", "Pull images (at --tag, or latest) rather than build them").option("--push", "With --build: push every image to deploy.registry and start nothing (for CI)").option("--digests-file <path>", "With --push: write each image as <ref>@sha256:… (JSON). With --tag: run the images at those digests").option("--dry-run", "Write the files and print the plan; start nothing").option("--down", "Stop the stage's stack (its volumes are kept)").option("--allow-dev-services", "Deployed stage: run the dev service (MinIO, Mailpit) for every bucket and mail the stage doesn't account for. Not production-grade").option("--skip-dns
|
|
12104
|
+
program.command("compose").description("Run the workspace's APIs and sites for a stage as one Docker Compose stack behind Caddy").requiredOption("--stage <stage>", "Stage to run — always named, so a stack is never a deployed stage by accident").option("--tag <tag>", "Run the images CI pushed at this tag (sites: <tag>-<stage>); nothing is built").option("--build", "Build images from this checkout, tagged with the commit").option("--pull", "Pull images (at --tag, or latest) rather than build them").option("--push", "With --build: push every image to deploy.registry and start nothing (for CI)").option("--digests-file <path>", "With --push: write each image as <ref>@sha256:… (JSON). With --tag: run the images at those digests").option("--dry-run", "Write the files and print the plan; start nothing").option("--down", "Stop the stage's stack (its volumes are kept)").option("--allow-dev-services", "Deployed stage: run the dev service (MinIO, Mailpit) for every bucket and mail the stage doesn't account for. Not production-grade").option("--skip-dns", "Deployed stage: 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("--resources-only", "Deployed stage: create its resources — deploy.<kind>.<stage> providers' buckets and keys, and its DNS records — and nothing else (a CI runner, before the server deploys)").option("--skip-resources", "Deployed stage: an earlier --resources-only run created its resources; run no provider and write or check no DNS record").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) => {
|
|
12077
12105
|
try {
|
|
12078
12106
|
const globalOptions = program.opts();
|
|
12079
12107
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
@@ -12127,7 +12155,7 @@ program.command("secrets:add").description("Build the keys a stage must be given
|
|
|
12127
12155
|
try {
|
|
12128
12156
|
const globalOptions = program.opts();
|
|
12129
12157
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
12130
|
-
const { secretsAddCommand } = await Promise.resolve().then(() => require("./add-
|
|
12158
|
+
const { secretsAddCommand } = await Promise.resolve().then(() => require("./add-D-3IKT7W.cjs"));
|
|
12131
12159
|
await secretsAddCommand(options);
|
|
12132
12160
|
} catch (error) {
|
|
12133
12161
|
exitWithError(error);
|
|
@@ -12137,7 +12165,7 @@ program.command("encryption:rotate").description("Add a new current key to an En
|
|
|
12137
12165
|
try {
|
|
12138
12166
|
const globalOptions = program.opts();
|
|
12139
12167
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
12140
|
-
const { encryptionRotateCommand } = await Promise.resolve().then(() => require("./encryption-
|
|
12168
|
+
const { encryptionRotateCommand } = await Promise.resolve().then(() => require("./encryption-Dp0IvLVX.cjs"));
|
|
12141
12169
|
await encryptionRotateCommand(construct, options);
|
|
12142
12170
|
} catch (error) {
|
|
12143
12171
|
exitWithError(error);
|
|
@@ -12147,7 +12175,7 @@ program.command("encryption:retire").description("Remove an old key from an Encr
|
|
|
12147
12175
|
try {
|
|
12148
12176
|
const globalOptions = program.opts();
|
|
12149
12177
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
12150
|
-
const { encryptionRetireCommand } = await Promise.resolve().then(() => require("./encryption-
|
|
12178
|
+
const { encryptionRetireCommand } = await Promise.resolve().then(() => require("./encryption-Dp0IvLVX.cjs"));
|
|
12151
12179
|
await encryptionRetireCommand(construct, key, options);
|
|
12152
12180
|
} catch (error) {
|
|
12153
12181
|
exitWithError(error);
|
|
@@ -12186,7 +12214,7 @@ program.command("secrets:reconcile").description("Backfill missing custom secret
|
|
|
12186
12214
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
12187
12215
|
const { loadWorkspaceConfig } = await Promise.resolve().then(() => require("./config.cjs"));
|
|
12188
12216
|
const { reconcileMissingSecrets } = await Promise.resolve().then(() => require("./reconcile-CuCQBa5-.cjs"));
|
|
12189
|
-
const { secretsStoreFor } = await Promise.resolve().then(() => require("./seeds-
|
|
12217
|
+
const { secretsStoreFor } = await Promise.resolve().then(() => require("./seeds-CnXkgKUv.cjs")).then((n) => n.store_exports);
|
|
12190
12218
|
const { workspace } = await loadWorkspaceConfig();
|
|
12191
12219
|
const stage = options.stage ?? workspace.stages.local;
|
|
12192
12220
|
const store = await secretsStoreFor(workspace, stage);
|
|
@@ -12195,7 +12223,7 @@ program.command("secrets:reconcile").description("Backfill missing custom secret
|
|
|
12195
12223
|
console.error(`No secrets found for stage "${stage}". Run "gkm secrets:init --stage ${stage}" first.`);
|
|
12196
12224
|
process.exit(1);
|
|
12197
12225
|
}
|
|
12198
|
-
const { derivedContainers } = await Promise.resolve().then(() => require("./seeds-
|
|
12226
|
+
const { derivedContainers } = await Promise.resolve().then(() => require("./seeds-CnXkgKUv.cjs")).then((n) => n.workspace_exports);
|
|
12199
12227
|
const result = reconcileMissingSecrets(secrets, workspace, await derivedContainers(workspace, stage));
|
|
12200
12228
|
if (!result) {
|
|
12201
12229
|
console.log(`\n✓ Secrets for stage "${stage}" are up-to-date`);
|
|
@@ -12212,14 +12240,14 @@ program.command("secrets:migrate").description("Copy a deployed stage's secrets
|
|
|
12212
12240
|
try {
|
|
12213
12241
|
const globalOptions = program.opts();
|
|
12214
12242
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
12215
|
-
const { secretsMigrateCommand } = await Promise.resolve().then(() => require("./migrate-
|
|
12243
|
+
const { secretsMigrateCommand } = await Promise.resolve().then(() => require("./migrate-BBcG1dhS.cjs"));
|
|
12216
12244
|
await secretsMigrateCommand(options);
|
|
12217
12245
|
} catch (error) {
|
|
12218
12246
|
exitWithError(error);
|
|
12219
12247
|
}
|
|
12220
12248
|
});
|
|
12221
|
-
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
|
|
12222
|
-
const { deployCli } = await Promise.resolve().then(() => require("./cli-
|
|
12249
|
+
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("--resources-only", "Deployed stage: create its resources — deploy.<kind>.<stage> providers' buckets and keys, and its DNS records — and nothing else (a CI runner, before the server deploys)").option("--skip-resources", "Deployed stage: an earlier --resources-only run created its resources; run no provider and write or check no DNS record").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) => {
|
|
12250
|
+
const { deployCli } = await Promise.resolve().then(() => require("./cli-Dewt2T21.cjs"));
|
|
12223
12251
|
const globalOptions = program.opts();
|
|
12224
12252
|
const code = await deployCli({
|
|
12225
12253
|
cwd: (0, node_path.resolve)(globalOptions.cwd ?? process.cwd()),
|
|
@@ -12231,14 +12259,18 @@ program.command("deploy").description("Deploy a stage through its target").optio
|
|
|
12231
12259
|
...options.dryRun ? { dryRun: true } : {},
|
|
12232
12260
|
...options.atomic ? { atomic: true } : {},
|
|
12233
12261
|
...options.allowDevServices ? { allowDevServices: true } : {},
|
|
12234
|
-
...options.
|
|
12262
|
+
...options.skipDns ? { skipDns: true } : {},
|
|
12263
|
+
...options.resourcesOnly ? { resourcesOnly: true } : {},
|
|
12264
|
+
...options.skipResources ? { skipResources: true } : {},
|
|
12265
|
+
...options.rotateKeys ? { rotateKeys: true } : {},
|
|
12266
|
+
...options.retireOldKeys ? { retireOldKeys: true } : {}
|
|
12235
12267
|
});
|
|
12236
12268
|
if (code !== 0) process.exit(code);
|
|
12237
12269
|
});
|
|
12238
12270
|
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) => {
|
|
12239
12271
|
try {
|
|
12240
|
-
const { rollbackStage } = await Promise.resolve().then(() => require("./rollback
|
|
12241
|
-
const { terminalCredentials } = await Promise.resolve().then(() => require("./terminal-
|
|
12272
|
+
const { rollbackStage } = await Promise.resolve().then(() => require("./rollback-B-1dPP0m.cjs")).then((n) => n.rollback_exports);
|
|
12273
|
+
const { terminalCredentials } = await Promise.resolve().then(() => require("./terminal-CPHuH4S1.cjs"));
|
|
12242
12274
|
const globalOptions = program.opts();
|
|
12243
12275
|
await rollbackStage({
|
|
12244
12276
|
cwd: (0, node_path.resolve)(globalOptions.cwd ?? process.cwd()),
|
|
@@ -12271,7 +12303,7 @@ program.command("deploy:github").description("Let GitHub Actions deploy a stage:
|
|
|
12271
12303
|
try {
|
|
12272
12304
|
const globalOptions = program.opts();
|
|
12273
12305
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
12274
|
-
const { deployGithubCommand } = await Promise.resolve().then(() => require("./github-
|
|
12306
|
+
const { deployGithubCommand } = await Promise.resolve().then(() => require("./github-DgmW83OP.cjs"));
|
|
12275
12307
|
await deployGithubCommand(options);
|
|
12276
12308
|
} catch (error) {
|
|
12277
12309
|
exitWithError(error);
|
|
@@ -12281,7 +12313,7 @@ program.command("stages").description("The workspace's stages from gkm.config.ts
|
|
|
12281
12313
|
try {
|
|
12282
12314
|
const globalOptions = program.opts();
|
|
12283
12315
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
12284
|
-
const { stagesCommand } = await Promise.resolve().then(() => require("./stages-
|
|
12316
|
+
const { stagesCommand } = await Promise.resolve().then(() => require("./stages-BujUB4we.cjs"));
|
|
12285
12317
|
await stagesCommand(options);
|
|
12286
12318
|
} catch (error) {
|
|
12287
12319
|
exitWithError(error);
|