@geekmidas/cli 10.0.0-alpha.88 → 10.0.0-alpha.89
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--36rw8cP.mjs +387 -0
- package/dist/GoDaddyProvider--36rw8cP.mjs.map +1 -0
- package/dist/GoDaddyProvider-DnRor066.cjs +387 -0
- package/dist/GoDaddyProvider-DnRor066.cjs.map +1 -0
- package/dist/{HostingerProvider-CVc3rLPB.mjs → HostingerProvider-BI6J7oJr.mjs} +2 -2
- package/dist/{HostingerProvider-CVc3rLPB.mjs.map → HostingerProvider-BI6J7oJr.mjs.map} +1 -1
- package/dist/{HostingerProvider-BCB1QJj1.cjs → HostingerProvider-CyTpG_jy.cjs} +2 -2
- package/dist/{HostingerProvider-BCB1QJj1.cjs.map → HostingerProvider-CyTpG_jy.cjs.map} +1 -1
- package/dist/{LegacyStateStore-CWG_HVC0.cjs → LegacyStateStore-BaBoYl59.cjs} +2 -2
- package/dist/{LegacyStateStore-CWG_HVC0.cjs.map → LegacyStateStore-BaBoYl59.cjs.map} +1 -1
- package/dist/{LegacyStateStore-B0R4LlX_.mjs → LegacyStateStore-CO7bzJCU.mjs} +2 -2
- package/dist/{LegacyStateStore-B0R4LlX_.mjs.map → LegacyStateStore-CO7bzJCU.mjs.map} +1 -1
- package/dist/{LocalStateStore-CLwa2DpK.cjs → LocalStateStore-CUWh2BWU.cjs} +2 -2
- package/dist/{LocalStateStore-CLwa2DpK.cjs.map → LocalStateStore-CUWh2BWU.cjs.map} +1 -1
- package/dist/{LocalStateStore-Q4vXg2ua.mjs → LocalStateStore-C_hYDv6I.mjs} +2 -2
- package/dist/{LocalStateStore-Q4vXg2ua.mjs.map → LocalStateStore-C_hYDv6I.mjs.map} +1 -1
- package/dist/{S3StateStore-Cea9_5gF.cjs → S3StateStore-O8EYfjfG.cjs} +2 -2
- package/dist/{S3StateStore-Cea9_5gF.cjs.map → S3StateStore-O8EYfjfG.cjs.map} +1 -1
- package/dist/{S3StateStore-CksKYKRa.mjs → S3StateStore-hIm8Rrmu.mjs} +2 -2
- package/dist/{S3StateStore-CksKYKRa.mjs.map → S3StateStore-hIm8Rrmu.mjs.map} +1 -1
- package/dist/{SSMStateStore-aBOTF018.cjs → SSMStateStore-DIzbiqCz.cjs} +2 -2
- package/dist/{SSMStateStore-aBOTF018.cjs.map → SSMStateStore-DIzbiqCz.cjs.map} +1 -1
- package/dist/{SSMStateStore-BszSCAS2.mjs → SSMStateStore-IvcjTk8h.mjs} +2 -2
- package/dist/{SSMStateStore-BszSCAS2.mjs.map → SSMStateStore-IvcjTk8h.mjs.map} +1 -1
- package/dist/SubscriberGenerator-BPqQf8fB.mjs.map +1 -1
- package/dist/SubscriberGenerator-BVn7cQ-2.cjs.map +1 -1
- package/dist/{add-5MZAXybv.cjs → add-C9qX4Juc.cjs} +30 -7
- package/dist/add-C9qX4Juc.cjs.map +1 -0
- package/dist/{add-D_jNqnfZ.mjs → add-v3tCbrpE.mjs} +30 -7
- package/dist/add-v3tCbrpE.mjs.map +1 -0
- package/dist/{bundler-1REMhKps.cjs → bundler-C4NmpRTD.cjs} +5 -5
- package/dist/{bundler-1REMhKps.cjs.map → bundler-C4NmpRTD.cjs.map} +1 -1
- package/dist/{bundler-BMo-JP5s.mjs → bundler-C_fCgcVO.mjs} +5 -5
- package/dist/{bundler-BMo-JP5s.mjs.map → bundler-C_fCgcVO.mjs.map} +1 -1
- package/dist/{cli-BL8ZHsLQ.cjs → cli-C85Dut8K.cjs} +6 -5
- package/dist/cli-C85Dut8K.cjs.map +1 -0
- package/dist/{cli-7edNFwGk.mjs → cli-REdO9X5b.mjs} +7 -6
- package/dist/cli-REdO9X5b.mjs.map +1 -0
- package/dist/{compose-xw86kVYi.cjs → compose-BvrhDwJ6.cjs} +556 -30
- package/dist/compose-BvrhDwJ6.cjs.map +1 -0
- package/dist/{compose-DbJhRQlh.mjs → compose-Dn0oAgQ0.mjs} +509 -31
- package/dist/compose-Dn0oAgQ0.mjs.map +1 -0
- package/dist/{config-DrCAyoH5.d.mts → config-CdEcTrjG.d.mts} +3 -3
- package/dist/{config-CpjsVxru.d.cts.map → config-CdEcTrjG.d.mts.map} +1 -1
- package/dist/{config-CpjsVxru.d.cts → config-pST7E0CS.d.cts} +3 -3
- package/dist/{config-DrCAyoH5.d.mts.map → config-pST7E0CS.d.cts.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-tr26-KML.cjs → credentials-BKfIugu2.cjs} +47 -2
- package/dist/credentials-BKfIugu2.cjs.map +1 -0
- package/dist/{credentials-BgJ5mS_d.mjs → credentials-CnVqoXMb.mjs} +30 -3
- package/dist/credentials-CnVqoXMb.mjs.map +1 -0
- package/dist/deploy/public.cjs +10 -10
- package/dist/deploy/public.d.cts +9 -3
- package/dist/deploy/public.d.cts.map +1 -1
- package/dist/deploy/public.d.mts +9 -3
- package/dist/deploy/public.d.mts.map +1 -1
- package/dist/deploy/public.mjs +10 -10
- package/dist/{deploy-BTfmXd3g.mjs → deploy-BaERRh0Q.mjs} +10 -8
- package/dist/deploy-BaERRh0Q.mjs.map +1 -0
- package/dist/{deploy-CtbZj4zN.cjs → deploy-DbBGo3a6.cjs} +10 -8
- package/dist/deploy-DbBGo3a6.cjs.map +1 -0
- package/dist/{dokploy-r69yZaIt.mjs → dokploy-CMmD_ddX.mjs} +2 -2
- package/dist/{dokploy-r69yZaIt.mjs.map → dokploy-CMmD_ddX.mjs.map} +1 -1
- package/dist/{dokploy-TGk3oPwr.cjs → dokploy-DwAaKA9B.cjs} +2 -2
- package/dist/{dokploy-TGk3oPwr.cjs.map → dokploy-DwAaKA9B.cjs.map} +1 -1
- package/dist/{encryption-C-8Tt5Hh.mjs → encryption-BQmhq9_y.mjs} +3 -3
- package/dist/{encryption-C-8Tt5Hh.mjs.map → encryption-BQmhq9_y.mjs.map} +1 -1
- package/dist/{encryption-CDn7BH5O.cjs → encryption-BrN_9_CM.cjs} +3 -3
- package/dist/{encryption-CDn7BH5O.cjs.map → encryption-BrN_9_CM.cjs.map} +1 -1
- package/dist/{engine-jAINgiOB.mjs → engine-DILocOOH.mjs} +23 -404
- package/dist/engine-DILocOOH.mjs.map +1 -0
- package/dist/{engine-Bt5k_UMq.cjs → engine-DgHoFBMw.cjs} +25 -406
- package/dist/engine-DgHoFBMw.cjs.map +1 -0
- package/dist/{github-DFhuJQlp.cjs → github-Bf7pz6AV.cjs} +3 -3
- package/dist/{github-DFhuJQlp.cjs.map → github-Bf7pz6AV.cjs.map} +1 -1
- package/dist/{github-CZHAtwPT.mjs → github-xzg99wz8.mjs} +3 -3
- package/dist/{github-CZHAtwPT.mjs.map → github-xzg99wz8.mjs.map} +1 -1
- package/dist/{index-MnUJuUlj.d.mts → index-D-F_hTDz.d.cts} +21 -4
- package/dist/index-D-F_hTDz.d.cts.map +1 -0
- package/dist/{index-elsLJTUv.d.cts → index-YFNxR5Ns.d.mts} +21 -4
- package/dist/index-YFNxR5Ns.d.mts.map +1 -0
- package/dist/index.cjs +246 -63
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +247 -65
- package/dist/index.mjs.map +1 -1
- package/dist/{local-Cq8qdgNX.cjs → local-BjxDfPvy.cjs} +2 -2
- package/dist/{local-Cq8qdgNX.cjs.map → local-BjxDfPvy.cjs.map} +1 -1
- package/dist/{local-Ciq-bTPr.mjs → local-IuoIF3CT.mjs} +2 -2
- package/dist/{local-Ciq-bTPr.mjs.map → local-IuoIF3CT.mjs.map} +1 -1
- package/dist/{migrate-B1rVlwj1.cjs → migrate-7xayVtzL.cjs} +3 -3
- package/dist/{migrate-B1rVlwj1.cjs.map → migrate-7xayVtzL.cjs.map} +1 -1
- package/dist/{migrate-ggkPVJRC.mjs → migrate-CKLJ73OO.mjs} +4 -4
- package/dist/{migrate-ggkPVJRC.mjs.map → migrate-CKLJ73OO.mjs.map} +1 -1
- package/dist/{migrate-Dn7nK6sh.mjs → migrate-CpmO5qnl.mjs} +3 -3
- package/dist/{migrate-Dn7nK6sh.mjs.map → migrate-CpmO5qnl.mjs.map} +1 -1
- package/dist/{migrate-B16qgYTn.cjs → migrate-DPF7ZF8M.cjs} +3 -3
- package/dist/{migrate-B16qgYTn.cjs.map → migrate-DPF7ZF8M.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 +1 -1
- package/dist/reconcile/public.d.mts +1 -1
- package/dist/{reconcile--I7V4Klj.mjs → reconcile-Dh1Jk7WE.mjs} +2 -2
- package/dist/{reconcile--I7V4Klj.mjs.map → reconcile-Dh1Jk7WE.mjs.map} +1 -1
- package/dist/{resolve-BSke45k6.mjs → resolve-Dv_weZoh.mjs} +4 -4
- package/dist/{resolve-BSke45k6.mjs.map → resolve-Dv_weZoh.mjs.map} +1 -1
- package/dist/{resolve-BXeXzpmU.cjs → resolve-dlKPFNgv.cjs} +4 -4
- package/dist/{resolve-BXeXzpmU.cjs.map → resolve-dlKPFNgv.cjs.map} +1 -1
- package/dist/{rollback-DFMiBWf0.cjs → rollback-65VVIdBM.cjs} +6 -6
- package/dist/{rollback-DFMiBWf0.cjs.map → rollback-65VVIdBM.cjs.map} +1 -1
- package/dist/{rollback-CEE6dse4.mjs → rollback-DpSU2DsD.mjs} +6 -6
- package/dist/{rollback-CEE6dse4.mjs.map → rollback-DpSU2DsD.mjs.map} +1 -1
- package/dist/{runtime-HabiNBtJ.d.mts → runtime-CN_kmqxo.d.cts} +2 -2
- package/dist/{runtime-D48ZKk8_.d.cts.map → runtime-CN_kmqxo.d.cts.map} +1 -1
- package/dist/{runtime-D48ZKk8_.d.cts → runtime-Cjvon3oj.d.mts} +2 -2
- package/dist/{runtime-HabiNBtJ.d.mts.map → runtime-Cjvon3oj.d.mts.map} +1 -1
- package/dist/{seeds-CsI0A_Ef.cjs → seeds-CN6tB-va.cjs} +646 -187
- package/dist/{seeds-CsI0A_Ef.cjs.map → seeds-CN6tB-va.cjs.map} +1 -1
- package/dist/{seeds-BYdrtZsC.mjs → seeds-perzdN81.mjs} +599 -164
- package/dist/seeds-perzdN81.mjs.map +1 -0
- package/dist/{sniffer-B0EU73bj.mjs → sniffer-BTtX3NUM.mjs} +3 -3
- package/dist/{sniffer-B0EU73bj.mjs.map → sniffer-BTtX3NUM.mjs.map} +1 -1
- package/dist/{sniffer-DJYupBeK.cjs → sniffer-IAQEpsQb.cjs} +3 -3
- package/dist/{sniffer-DJYupBeK.cjs.map → sniffer-IAQEpsQb.cjs.map} +1 -1
- package/dist/{sst-DAqUoZKG.cjs → sst-BgcOsaBi.cjs} +3 -3
- package/dist/{sst-DAqUoZKG.cjs.map → sst-BgcOsaBi.cjs.map} +1 -1
- package/dist/{sst-D1Qj4sIs.mjs → sst-CJzvyrEz.mjs} +3 -3
- package/dist/{sst-D1Qj4sIs.mjs.map → sst-CJzvyrEz.mjs.map} +1 -1
- package/dist/{stages-Brn3vcdy.cjs → stages-CUn6gvXL.cjs} +2 -2
- package/dist/{stages-Brn3vcdy.cjs.map → stages-CUn6gvXL.cjs.map} +1 -1
- package/dist/{stages-DoHHz6pS.mjs → stages-CnZRYmkI.mjs} +2 -2
- package/dist/{stages-DoHHz6pS.mjs.map → stages-CnZRYmkI.mjs.map} +1 -1
- 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-BTbZlrFV.mjs → terminal-D8TPK7o9.mjs} +3 -3
- package/dist/{terminal-BTbZlrFV.mjs.map → terminal-D8TPK7o9.mjs.map} +1 -1
- package/dist/{terminal-COv23heb.cjs → terminal-DuapRxh6.cjs} +2 -2
- package/dist/{terminal-COv23heb.cjs.map → terminal-DuapRxh6.cjs.map} +1 -1
- package/dist/{types-0oAyFOfR.d.cts → types-NqX1Hz4P.d.cts} +210 -205
- package/dist/types-NqX1Hz4P.d.cts.map +1 -0
- package/dist/{types-BZ01tZs-.d.mts → types-ZHuZ89hv.d.mts} +210 -205
- package/dist/types-ZHuZ89hv.d.mts.map +1 -0
- package/dist/workspace/index.cjs +3 -1
- package/dist/workspace/index.d.cts +3 -3
- package/dist/workspace/index.d.mts +3 -3
- package/dist/workspace/index.mjs +2 -2
- package/dist/{workspace-D2CYLMCW.mjs → workspace-CJ0lKFq-.mjs} +231 -10
- package/dist/workspace-CJ0lKFq-.mjs.map +1 -0
- package/dist/{workspace-CT0JM3Y8.cjs → workspace-CwW3Gkru.cjs} +266 -9
- package/dist/workspace-CwW3Gkru.cjs.map +1 -0
- package/package.json +15 -15
- package/dist/add-5MZAXybv.cjs.map +0 -1
- package/dist/add-D_jNqnfZ.mjs.map +0 -1
- package/dist/cli-7edNFwGk.mjs.map +0 -1
- package/dist/cli-BL8ZHsLQ.cjs.map +0 -1
- package/dist/compose-DbJhRQlh.mjs.map +0 -1
- package/dist/compose-xw86kVYi.cjs.map +0 -1
- package/dist/credentials-BgJ5mS_d.mjs.map +0 -1
- package/dist/credentials-tr26-KML.cjs.map +0 -1
- package/dist/deploy-BTfmXd3g.mjs.map +0 -1
- package/dist/deploy-CtbZj4zN.cjs.map +0 -1
- package/dist/engine-Bt5k_UMq.cjs.map +0 -1
- package/dist/engine-jAINgiOB.mjs.map +0 -1
- package/dist/index-MnUJuUlj.d.mts.map +0 -1
- package/dist/index-elsLJTUv.d.cts.map +0 -1
- package/dist/seeds-BYdrtZsC.mjs.map +0 -1
- package/dist/types-0oAyFOfR.d.cts.map +0 -1
- package/dist/types-BZ01tZs-.d.mts.map +0 -1
- package/dist/workspace-CT0JM3Y8.cjs.map +0 -1
- package/dist/workspace-D2CYLMCW.mjs.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { D as WorkspaceConfig, O as WorkspaceInput, _ as InferredWorkspaceConfig, a as Routes, j as Framework, l as AppsRecord, r as GkmConfig, v as LoadedConfig, x as NormalizedWorkspace } from "./types-
|
|
1
|
+
import { D as WorkspaceConfig, O as WorkspaceInput, _ as InferredWorkspaceConfig, a as Routes, j as Framework, l as AppsRecord, r as GkmConfig, v as LoadedConfig, x as NormalizedWorkspace } from "./types-ZHuZ89hv.mjs";
|
|
2
2
|
//#region src/workspace/publicEnv.d.ts
|
|
3
3
|
/**
|
|
4
4
|
* All public env-var prefixes the toolbox understands.
|
|
@@ -68,7 +68,7 @@ declare function stripPublicPrefix(name: string): string | null;
|
|
|
68
68
|
* // config.apps.foo <- TypeScript error
|
|
69
69
|
* ```
|
|
70
70
|
*/
|
|
71
|
-
declare function defineWorkspace<const TApps extends AppsRecord>(config: WorkspaceInput<TApps>): InferredWorkspaceConfig<TApps>;
|
|
71
|
+
declare function defineWorkspace<const TApps extends AppsRecord, const TDeployed extends string = string>(config: WorkspaceInput<TApps, TDeployed>): InferredWorkspaceConfig<TApps>;
|
|
72
72
|
/**
|
|
73
73
|
* Normalize a workspace configuration with resolved defaults.
|
|
74
74
|
*/
|
|
@@ -93,6 +93,23 @@ declare class DokployRegistryMoved extends Error {
|
|
|
93
93
|
readonly registry: unknown;
|
|
94
94
|
constructor(registry: unknown);
|
|
95
95
|
}
|
|
96
|
+
/**
|
|
97
|
+
* `deploy.domains`, which became `domains` at the root of the config: a stage's
|
|
98
|
+
* domain is a fact about the product every target and every command reads,
|
|
99
|
+
* not a deploy setting.
|
|
100
|
+
*/
|
|
101
|
+
declare class DomainsMoved extends Error {
|
|
102
|
+
readonly domains: unknown;
|
|
103
|
+
constructor(domains: unknown);
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* `deploy.dns`, which became `dns` at the root of the config, keyed by root
|
|
107
|
+
* domain.
|
|
108
|
+
*/
|
|
109
|
+
declare class DnsMoved extends Error {
|
|
110
|
+
readonly dns: unknown;
|
|
111
|
+
constructor(dns: unknown);
|
|
112
|
+
}
|
|
96
113
|
/** Refuse a deploy key that has moved, naming where it lives now. */
|
|
97
114
|
declare function assertNoMovedDeployKeys(deploy: unknown): void;
|
|
98
115
|
declare function processConfig(config: GkmConfig | WorkspaceConfig, cwd: string): LoadedConfig;
|
|
@@ -169,5 +186,5 @@ declare function getEndpointForStage(dokployConfig: {
|
|
|
169
186
|
endpoints?: Record<string, string>;
|
|
170
187
|
} | undefined, stage: string): string | undefined;
|
|
171
188
|
//#endregion
|
|
172
|
-
export {
|
|
173
|
-
//# sourceMappingURL=index-
|
|
189
|
+
export { PUBLIC_ENV_PREFIXES as _, allConstructGlobs as a, constructPatterns as c, getAppGkmConfig as d, getEndpointForStage as f, wrapSingleAppAsWorkspace as g, workspaceConstructGlobs as h, InvalidWorkspaceConfig as i, defineWorkspace as l, processConfig as m, DokployRegistryMoved as n, appConstructGlobs as o, normalizeWorkspace as p, DomainsMoved as r, assertNoMovedDeployKeys as s, DnsMoved as t, getAppBuildOrder as u, getPublicEnvPrefix as v, stripPublicPrefix as y };
|
|
190
|
+
//# sourceMappingURL=index-YFNxR5Ns.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-YFNxR5Ns.d.mts","names":[],"sources":["../src/workspace/publicEnv.ts","../src/workspace/index.ts"],"mappings":";;;;;;;;;cASa;;;;;;;;;;;;;;;iBAoBG,mBAAmB,YAAY;;;;;iBAoB/B,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBCgFlB,sBACT,cAAc,kBACd,mCACL,QAAQ,eAAe,OAAO,aAAa,wBAAwB;;;;iBAiCrD,mBACf,QAAQ,iBACR,cACE;;;;;iBAkDa,yBACf,QAAQ,WACR,cACE;;;;;;;;;;;;cAgEU,6BAA6B;WACpB;EAArB,YAAqB;;;;;;;cAcT,qBAAqB;WACZ;EAArB,YAAqB;;;;;;cAaT,iBAAiB;WACR;EAArB,YAAqB;;;iBAcN,wBAAwB;iBAaxB,cACf,QAAQ,YAAY,iBACpB,cACE;;cAiCU,+BAA+B;EAC3C,YAAY;;;;;;;;iBAYG,wBACf,WAAW;;;;;;;;;;;;iBAkBI,kBACf,WAAW,qBACX;;;;;;;iBAsBe,kBAAkB,WAAW;;iBAa7B,kBAAkB,QAAQ;;;;;iBAS1B,gBACf,WAAW,qBACX,kBACE;;;;;iBAgCa,iBAAiB,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAoD5B,oBACf;EACK;EAAmB,YAAY;eAEpC"}
|
package/dist/index.cjs
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
#!/usr/bin/env -S npx tsx
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const require_rolldown_runtime = require("./rolldown-runtime-C0BPl7ul.cjs");
|
|
4
|
-
const require_credentials = require("./credentials-
|
|
4
|
+
const require_credentials = require("./credentials-BKfIugu2.cjs");
|
|
5
5
|
const require_discover = require("./discover-D1It5r_h.cjs");
|
|
6
6
|
const require_derive = require("./derive-DAbo49sm.cjs");
|
|
7
|
-
const require_workspace = require("./workspace-
|
|
7
|
+
const require_workspace = require("./workspace-CwW3Gkru.cjs");
|
|
8
8
|
const require_config = require("./config.cjs");
|
|
9
|
-
const require_seeds = require("./seeds-
|
|
9
|
+
const require_seeds = require("./seeds-CN6tB-va.cjs");
|
|
10
10
|
const require_EndpointGenerator = require("./EndpointGenerator-CwLjBCFE.cjs");
|
|
11
11
|
const require_openapi = require("./openapi.cjs");
|
|
12
12
|
const require_SubscriberGenerator = require("./SubscriberGenerator-BVn7cQ-2.cjs");
|
|
13
13
|
const require_appPorts = require("./appPorts-Cu79hJF6.cjs");
|
|
14
14
|
const require_drivers = require("./drivers-LYSdQDmd.cjs");
|
|
15
15
|
const require_emit = require("./emit-Dmc1nvdS.cjs");
|
|
16
|
-
const require_local = require("./local-
|
|
17
|
-
const require_sniffer = require("./sniffer-
|
|
18
|
-
const require_deploy = require("./deploy-
|
|
19
|
-
const require_compose = require("./compose-
|
|
16
|
+
const require_local = require("./local-BjxDfPvy.cjs");
|
|
17
|
+
const require_sniffer = require("./sniffer-IAQEpsQb.cjs");
|
|
18
|
+
const require_deploy = require("./deploy-DbBGo3a6.cjs");
|
|
19
|
+
const require_compose = require("./compose-BvrhDwJ6.cjs");
|
|
20
20
|
const require_credentialSchemas = require("./credentialSchemas-DCR4Wd1W.cjs");
|
|
21
|
-
const require_LocalStateStore = require("./LocalStateStore-
|
|
21
|
+
const require_LocalStateStore = require("./LocalStateStore-CUWh2BWU.cjs");
|
|
22
22
|
const require_utils = require("./utils-D2Nk1Nv2.cjs");
|
|
23
23
|
const require_ready = require("./ready-BpNbORRB.cjs");
|
|
24
24
|
let node_path = require("node:path");
|
|
@@ -53,7 +53,7 @@ crypto = require_rolldown_runtime.__toESM(crypto, 1);
|
|
|
53
53
|
let _geekmidas_constructs_functions = require("@geekmidas/constructs/functions");
|
|
54
54
|
let _geekmidas_constructs_topic = require("@geekmidas/constructs/topic");
|
|
55
55
|
//#region package.json
|
|
56
|
-
var version = "10.0.0-alpha.
|
|
56
|
+
var version = "10.0.0-alpha.89";
|
|
57
57
|
//#endregion
|
|
58
58
|
//#region src/prompt.ts
|
|
59
59
|
/**
|
|
@@ -136,7 +136,7 @@ const logger$8 = console;
|
|
|
136
136
|
* Validate Dokploy token by making a test API call
|
|
137
137
|
*/
|
|
138
138
|
async function validateDokployToken(endpoint, token) {
|
|
139
|
-
const { DokployApi } = await Promise.resolve().then(() => require("./sniffer-
|
|
139
|
+
const { DokployApi } = await Promise.resolve().then(() => require("./sniffer-IAQEpsQb.cjs")).then((n) => n.dokploy_api_exports);
|
|
140
140
|
return new DokployApi({
|
|
141
141
|
baseUrl: endpoint,
|
|
142
142
|
token
|
|
@@ -183,6 +183,10 @@ async function loginCommand(options) {
|
|
|
183
183
|
logger$8.log(` Credentials stored in: ${require_credentials.getCredentialsPath()}`);
|
|
184
184
|
logger$8.log("\nYou can now use deploy commands without setting DOKPLOY_API_TOKEN.");
|
|
185
185
|
}
|
|
186
|
+
if (provider === "godaddy") {
|
|
187
|
+
await loginGoDaddy(options);
|
|
188
|
+
return;
|
|
189
|
+
}
|
|
186
190
|
if (provider === "hostinger") {
|
|
187
191
|
logger$8.log("\n🔐 Logging in to Hostinger...\n");
|
|
188
192
|
let token = providedToken;
|
|
@@ -205,15 +209,50 @@ async function loginCommand(options) {
|
|
|
205
209
|
}
|
|
206
210
|
}
|
|
207
211
|
/**
|
|
212
|
+
* Store a GoDaddy Personal Access Token. Not validated: the only call that
|
|
213
|
+
* proves a token without a domain is an account call (`GET /v1/domains`),
|
|
214
|
+
* which a token scoped to `domains.dns:update` alone may not make — the first
|
|
215
|
+
* `gkm setup` that writes a record is where a bad token reports itself.
|
|
216
|
+
*/
|
|
217
|
+
async function loginGoDaddy(options) {
|
|
218
|
+
logger$8.log("\n🔐 Logging in to GoDaddy...\n");
|
|
219
|
+
let token = options.token;
|
|
220
|
+
if (!token) {
|
|
221
|
+
logger$8.log("\nCreate a Personal Access Token in the GoDaddy developer dashboard\n(https://developer.godaddy.com) with only the domains.dns:update scope.\n");
|
|
222
|
+
token = await prompt("Personal Access Token: ", {
|
|
223
|
+
hidden: true,
|
|
224
|
+
instead: LOGIN_INSTEAD
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
if (!token) {
|
|
228
|
+
logger$8.error("Token is required");
|
|
229
|
+
process.exit(1);
|
|
230
|
+
}
|
|
231
|
+
const where = options.home ? { home: options.home } : void 0;
|
|
232
|
+
await require_credentials.storeGoDaddyToken(token, where);
|
|
233
|
+
logger$8.log("\n✓ GoDaddy token stored.");
|
|
234
|
+
logger$8.log(` Token: ${maskToken(token)}`);
|
|
235
|
+
logger$8.log(` Credentials stored in: ${require_credentials.getCredentialsPath(where)}`);
|
|
236
|
+
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 gkm setup that\n writes a record is where a bad token reports itself.");
|
|
237
|
+
logger$8.log("\nYou can now use it as a DNS provider without setting GODADDY_API_TOKEN.");
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
208
240
|
* Logout from a service
|
|
209
241
|
*/
|
|
210
242
|
async function logoutCommand(options) {
|
|
211
243
|
const { provider = "dokploy" } = options;
|
|
212
244
|
if (provider === "all") {
|
|
213
|
-
|
|
245
|
+
const dokployRemoved = await require_credentials.removeDokployCredentials();
|
|
246
|
+
const godaddyRemoved = await require_credentials.removeGoDaddyCredentials();
|
|
247
|
+
if (dokployRemoved || godaddyRemoved) logger$8.log("\n✓ Logged out from all services");
|
|
214
248
|
else logger$8.log("\nNo stored credentials found");
|
|
215
249
|
return;
|
|
216
250
|
}
|
|
251
|
+
if (provider === "godaddy") {
|
|
252
|
+
const removed = await require_credentials.removeGoDaddyCredentials();
|
|
253
|
+
logger$8.log(removed ? "\n✓ Logged out from GoDaddy" : "\nNo GoDaddy credentials found");
|
|
254
|
+
return;
|
|
255
|
+
}
|
|
217
256
|
if (provider === "dokploy") {
|
|
218
257
|
if (await require_credentials.removeDokployCredentials()) logger$8.log("\n✓ Logged out from Dokploy");
|
|
219
258
|
else logger$8.log("\nNo Dokploy credentials found");
|
|
@@ -230,6 +269,8 @@ async function whoamiCommand() {
|
|
|
230
269
|
logger$8.log(` Endpoint: ${dokploy.endpoint}`);
|
|
231
270
|
logger$8.log(` Token: ${maskToken(dokploy.token)}`);
|
|
232
271
|
} else logger$8.log(" Dokploy: Not logged in");
|
|
272
|
+
const godaddy = (await require_credentials.readCredentials()).godaddy;
|
|
273
|
+
logger$8.log(godaddy ? ` GoDaddy:\n Token: ${maskToken(godaddy.token)}` : " GoDaddy: Not logged in");
|
|
233
274
|
logger$8.log(`\n Credentials file: ${require_credentials.getCredentialsPath()}`);
|
|
234
275
|
}
|
|
235
276
|
/**
|
|
@@ -2289,9 +2330,9 @@ async function workspaceDevCommand(configured, options) {
|
|
|
2289
2330
|
for (const { id, port } of fakes) logger$5.log(`🎭 ${id} fake: http://localhost:${port}`);
|
|
2290
2331
|
logger$5.log(options.migrate || options.seed ? "🗄️ Migrating the databases" : "🗄️ Checking for pending migrations");
|
|
2291
2332
|
if (options.migrate || options.seed) {
|
|
2292
|
-
const { prepareDevDatabases } = await Promise.resolve().then(() => require("./migrate-
|
|
2333
|
+
const { prepareDevDatabases } = await Promise.resolve().then(() => require("./migrate-7xayVtzL.cjs"));
|
|
2293
2334
|
await prepareDevDatabases(workspace, reconciled.env, { seed: !!options.seed });
|
|
2294
|
-
} else await Promise.resolve().then(() => require("./migrate-
|
|
2335
|
+
} else await Promise.resolve().then(() => require("./migrate-7xayVtzL.cjs")).then(({ reportPendingMigrations }) => reportPendingMigrations(workspace, reconciled.env)).catch((error) => {
|
|
2295
2336
|
logger$5.log(`⚠️ Could not check for pending migrations: ${error instanceof Error ? error.message : String(error)}`);
|
|
2296
2337
|
});
|
|
2297
2338
|
const appUrls = {};
|
|
@@ -3344,7 +3385,7 @@ async function buildApp(input) {
|
|
|
3344
3385
|
...production,
|
|
3345
3386
|
...telemetry ? { telemetry } : {}
|
|
3346
3387
|
});
|
|
3347
|
-
const { bundleServer } = await Promise.resolve().then(() => require("./bundler-
|
|
3388
|
+
const { bundleServer } = await Promise.resolve().then(() => require("./bundler-C4NmpRTD.cjs"));
|
|
3348
3389
|
await bundleServer({
|
|
3349
3390
|
entryPoint,
|
|
3350
3391
|
outputDir: (0, node_path.join)(outputDir, "dist"),
|
|
@@ -3489,7 +3530,7 @@ async function buildWorkers(input) {
|
|
|
3489
3530
|
});
|
|
3490
3531
|
logger$4.log(`Generated worker ${worker.id}: ${crons.length} crons, ${queues.length} queues, ${subscribers.length} subscribers`);
|
|
3491
3532
|
if (!input.bundle) continue;
|
|
3492
|
-
const { bundleServer } = await Promise.resolve().then(() => require("./bundler-
|
|
3533
|
+
const { bundleServer } = await Promise.resolve().then(() => require("./bundler-C4NmpRTD.cjs"));
|
|
3493
3534
|
const outfile = require_seeds.workerBundleName(worker.id);
|
|
3494
3535
|
await bundleServer({
|
|
3495
3536
|
entryPoint,
|
|
@@ -3575,7 +3616,7 @@ async function buildForTarget(target, context, appRoot, workspaceRoot, endpointG
|
|
|
3575
3616
|
let masterKey;
|
|
3576
3617
|
if (context.production?.bundle && !skipBundle) {
|
|
3577
3618
|
logger$4.log(`\n📦 Bundling production server...`);
|
|
3578
|
-
const { bundleServer } = await Promise.resolve().then(() => require("./bundler-
|
|
3619
|
+
const { bundleServer } = await Promise.resolve().then(() => require("./bundler-C4NmpRTD.cjs"));
|
|
3579
3620
|
const allConstructs = [
|
|
3580
3621
|
...endpoints.map((e) => e.construct),
|
|
3581
3622
|
...functions.map((f) => f.construct),
|
|
@@ -3869,6 +3910,7 @@ async function composeCommand(options, deps = {}) {
|
|
|
3869
3910
|
...options.dryRun ? { dryRun: true } : {},
|
|
3870
3911
|
...options.push ? { buildOnly: true } : {},
|
|
3871
3912
|
...options.allowDevServices ? { allowDevServices: true } : {},
|
|
3913
|
+
...options.skipDnsCheck ? { skipDnsCheck: true } : {},
|
|
3872
3914
|
logger: {
|
|
3873
3915
|
info: (message) => console.log(message),
|
|
3874
3916
|
warn: (message) => console.warn(message),
|
|
@@ -5276,25 +5318,25 @@ function loadPackageJson() {
|
|
|
5276
5318
|
* Run: pnpm --filter @geekmidas/cli sync-versions
|
|
5277
5319
|
*/
|
|
5278
5320
|
const GEEKMIDAS_VERSIONS = {
|
|
5279
|
-
"@geekmidas/audit": "~10.0.0-alpha.
|
|
5280
|
-
"@geekmidas/auth": "~10.0.0-alpha.
|
|
5281
|
-
"@geekmidas/cache": "~10.0.0-alpha.
|
|
5282
|
-
"@geekmidas/client": "~10.0.0-alpha.
|
|
5283
|
-
"@geekmidas/cloud": "~10.0.0-alpha.
|
|
5284
|
-
"@geekmidas/constructs": "~10.0.0-alpha.
|
|
5285
|
-
"@geekmidas/db": "~10.0.0-alpha.
|
|
5286
|
-
"@geekmidas/emailkit": "~10.0.0-alpha.
|
|
5287
|
-
"@geekmidas/envkit": "~10.0.0-alpha.
|
|
5288
|
-
"@geekmidas/errors": "~10.0.0-alpha.
|
|
5289
|
-
"@geekmidas/events": "~10.0.0-alpha.
|
|
5290
|
-
"@geekmidas/logger": "~10.0.0-alpha.
|
|
5291
|
-
"@geekmidas/manifest": "~10.0.0-alpha.
|
|
5292
|
-
"@geekmidas/rate-limit": "~10.0.0-alpha.
|
|
5293
|
-
"@geekmidas/schema": "~10.0.0-alpha.
|
|
5294
|
-
"@geekmidas/services": "~10.0.0-alpha.
|
|
5295
|
-
"@geekmidas/storage": "~10.0.0-alpha.
|
|
5296
|
-
"@geekmidas/telescope": "~10.0.0-alpha.
|
|
5297
|
-
"@geekmidas/testkit": "~10.0.0-alpha.
|
|
5321
|
+
"@geekmidas/audit": "~10.0.0-alpha.89",
|
|
5322
|
+
"@geekmidas/auth": "~10.0.0-alpha.89",
|
|
5323
|
+
"@geekmidas/cache": "~10.0.0-alpha.89",
|
|
5324
|
+
"@geekmidas/client": "~10.0.0-alpha.89",
|
|
5325
|
+
"@geekmidas/cloud": "~10.0.0-alpha.89",
|
|
5326
|
+
"@geekmidas/constructs": "~10.0.0-alpha.89",
|
|
5327
|
+
"@geekmidas/db": "~10.0.0-alpha.89",
|
|
5328
|
+
"@geekmidas/emailkit": "~10.0.0-alpha.89",
|
|
5329
|
+
"@geekmidas/envkit": "~10.0.0-alpha.89",
|
|
5330
|
+
"@geekmidas/errors": "~10.0.0-alpha.89",
|
|
5331
|
+
"@geekmidas/events": "~10.0.0-alpha.89",
|
|
5332
|
+
"@geekmidas/logger": "~10.0.0-alpha.89",
|
|
5333
|
+
"@geekmidas/manifest": "~10.0.0-alpha.89",
|
|
5334
|
+
"@geekmidas/rate-limit": "~10.0.0-alpha.89",
|
|
5335
|
+
"@geekmidas/schema": "~10.0.0-alpha.89",
|
|
5336
|
+
"@geekmidas/services": "~10.0.0-alpha.89",
|
|
5337
|
+
"@geekmidas/storage": "~10.0.0-alpha.89",
|
|
5338
|
+
"@geekmidas/telescope": "~10.0.0-alpha.89",
|
|
5339
|
+
"@geekmidas/testkit": "~10.0.0-alpha.89",
|
|
5298
5340
|
"@geekmidas/cli": `~${loadPackageJson().version}`
|
|
5299
5341
|
};
|
|
5300
5342
|
//#endregion
|
|
@@ -5695,7 +5737,7 @@ const COMMIT = /^[0-9a-f]{40}$/;
|
|
|
5695
5737
|
* The `uses:` value for the stages action, with a comment saying which CLI
|
|
5696
5738
|
* release the pinned commit is.
|
|
5697
5739
|
*/
|
|
5698
|
-
function stagesActionUses(commit = "
|
|
5740
|
+
function stagesActionUses(commit = "e1be097c3e5909843479a2dcd97f06e952f5b1aa", version = cliVersion()) {
|
|
5699
5741
|
return commit && COMMIT.test(commit) ? `${STAGES_ACTION}@${commit} # @geekmidas/cli ${version}` : `${STAGES_ACTION}@main # pin to a commit SHA: see the action's README`;
|
|
5700
5742
|
}
|
|
5701
5743
|
//#endregion
|
|
@@ -10977,6 +11019,135 @@ function maskUrl(url) {
|
|
|
10977
11019
|
}
|
|
10978
11020
|
}
|
|
10979
11021
|
//#endregion
|
|
11022
|
+
//#region src/providers/dns.ts
|
|
11023
|
+
/** Whether the workspace deploys through the compose target. */
|
|
11024
|
+
function deploysWithCompose(workspace) {
|
|
11025
|
+
return workspace.deploy?.default === "compose" || Object.values(workspace.apps).some((app) => app.resolvedDeployTarget === "compose");
|
|
11026
|
+
}
|
|
11027
|
+
/**
|
|
11028
|
+
* A compose stage that serves a domain has its server's address in its
|
|
11029
|
+
* secrets — checked before `gkm setup --stage` does anything else.
|
|
11030
|
+
*
|
|
11031
|
+
* @throws {ServerAddressMissing} for a compose stage with a domain and none
|
|
11032
|
+
* @throws {ServerAddressInvalid} for a value that is not an address
|
|
11033
|
+
*/
|
|
11034
|
+
function assertStageServer(workspace, stage, secrets) {
|
|
11035
|
+
if (stage === workspace.stages.local) return void 0;
|
|
11036
|
+
if (!deploysWithCompose(workspace)) return require_compose.serverAddress(stage, secrets?.custom);
|
|
11037
|
+
return require_compose.requiredServerAddress(stage, workspace.domains?.[stage], secrets?.custom);
|
|
11038
|
+
}
|
|
11039
|
+
/**
|
|
11040
|
+
* The hosts a compose stage serves: its stack composed as a deploy would —
|
|
11041
|
+
* with the secrets it would generate made up in memory, never written — and
|
|
11042
|
+
* every route's host read off it.
|
|
11043
|
+
*/
|
|
11044
|
+
async function composeStageHosts(options) {
|
|
11045
|
+
const { workspace, stage } = options;
|
|
11046
|
+
const runnables = options.runnables ?? {};
|
|
11047
|
+
const background = options.background ?? {};
|
|
11048
|
+
const manifest = options.manifest ?? await require_discover.discover({
|
|
11049
|
+
patterns: require_seeds.constructGlobs(workspace),
|
|
11050
|
+
cwd: workspace.root,
|
|
11051
|
+
runnables,
|
|
11052
|
+
background
|
|
11053
|
+
});
|
|
11054
|
+
const stored = await (await require_seeds.secretsStoreFor(workspace, stage, {
|
|
11055
|
+
...options.profile ? { profile: options.profile } : {},
|
|
11056
|
+
...options.home ? { home: options.home } : {}
|
|
11057
|
+
})).read(stage);
|
|
11058
|
+
const { deployedStackSecrets } = await Promise.resolve().then(() => require("./compose-BvrhDwJ6.cjs")).then((n) => n.secrets_exports);
|
|
11059
|
+
const { composeStack } = await Promise.resolve().then(() => require("./compose-BvrhDwJ6.cjs")).then((n) => n.stack_exports);
|
|
11060
|
+
const { secrets } = deployedStackSecrets(workspace, stage, stored, manifest);
|
|
11061
|
+
const stack = composeStack({
|
|
11062
|
+
workspace,
|
|
11063
|
+
manifest,
|
|
11064
|
+
runnables,
|
|
11065
|
+
background,
|
|
11066
|
+
stage,
|
|
11067
|
+
identity: require_seeds.deployIdentity(workspace, stage),
|
|
11068
|
+
images: {
|
|
11069
|
+
mode: "pull",
|
|
11070
|
+
tag: "dns",
|
|
11071
|
+
...workspace.deploy?.registry ? { registry: workspace.deploy.registry } : {}
|
|
11072
|
+
},
|
|
11073
|
+
secrets,
|
|
11074
|
+
buildOnly: true,
|
|
11075
|
+
allowDevServices: true
|
|
11076
|
+
});
|
|
11077
|
+
return require_compose.stackHosts(stack);
|
|
11078
|
+
}
|
|
11079
|
+
/**
|
|
11080
|
+
* `GKM_SERVER_IPV4` from the stage's secrets and `dns`: each public host's
|
|
11081
|
+
* records, created or corrected. A dry run reads and prints, and writes
|
|
11082
|
+
* nothing.
|
|
11083
|
+
*/
|
|
11084
|
+
async function provisionStageDns(options) {
|
|
11085
|
+
const { workspace, stage } = options;
|
|
11086
|
+
const log = options.log ?? ((line) => console.log(line));
|
|
11087
|
+
if (stage === workspace.stages.local || !workspace.dns || !deploysWithCompose(workspace)) return {
|
|
11088
|
+
mode: "none",
|
|
11089
|
+
hosts: [],
|
|
11090
|
+
changes: []
|
|
11091
|
+
};
|
|
11092
|
+
const store = await require_seeds.secretsStoreFor(workspace, stage, {
|
|
11093
|
+
...options.profile ? { profile: options.profile } : {},
|
|
11094
|
+
...options.home ? { home: options.home } : {}
|
|
11095
|
+
});
|
|
11096
|
+
const server = require_compose.serverAddress(stage, (await store.read(stage))?.custom);
|
|
11097
|
+
if (!server) {
|
|
11098
|
+
log(`\n🌐 DNS for '${stage}': no GKM_SERVER_IPV4 in its secrets, so no records — ${require_compose.serverAddressHint(stage)}`);
|
|
11099
|
+
return {
|
|
11100
|
+
mode: "none",
|
|
11101
|
+
hosts: [],
|
|
11102
|
+
changes: []
|
|
11103
|
+
};
|
|
11104
|
+
}
|
|
11105
|
+
const hosts = [...options.hosts ?? await composeStageHosts({
|
|
11106
|
+
workspace,
|
|
11107
|
+
stage,
|
|
11108
|
+
...options.profile ? { profile: options.profile } : {},
|
|
11109
|
+
...options.home ? { home: options.home } : {},
|
|
11110
|
+
...options.manifest ? { manifest: options.manifest } : {},
|
|
11111
|
+
...options.runnables ? { runnables: options.runnables } : {},
|
|
11112
|
+
...options.background ? { background: options.background } : {}
|
|
11113
|
+
})];
|
|
11114
|
+
log(`\n🌐 DNS for '${stage}' → ${server.ipv4}${server.ipv6 ? ` / ${server.ipv6}` : ""}${options.dryRun ? " (dry run — nothing is written)" : ""}`);
|
|
11115
|
+
const plan = require_compose.planStackDns({
|
|
11116
|
+
stage,
|
|
11117
|
+
hosts,
|
|
11118
|
+
server,
|
|
11119
|
+
dns: workspace.dns
|
|
11120
|
+
});
|
|
11121
|
+
try {
|
|
11122
|
+
return {
|
|
11123
|
+
mode: "records",
|
|
11124
|
+
hosts,
|
|
11125
|
+
changes: await require_compose.applyStackDns(plan, {
|
|
11126
|
+
...options.dryRun ? { dryRun: true } : {},
|
|
11127
|
+
log,
|
|
11128
|
+
credentials: {
|
|
11129
|
+
env: options.env ?? process.env,
|
|
11130
|
+
...options.home ? { home: options.home } : {},
|
|
11131
|
+
log
|
|
11132
|
+
},
|
|
11133
|
+
...options.providerFor ? { providerFor: options.providerFor } : {}
|
|
11134
|
+
})
|
|
11135
|
+
};
|
|
11136
|
+
} catch (error) {
|
|
11137
|
+
if (error instanceof require_credentials.MissingCredential) {
|
|
11138
|
+
log(` ⚠ ${error.message}`);
|
|
11139
|
+
log(" Until then, create these records yourself:");
|
|
11140
|
+
for (const domain of plan.domains) for (const r of domain.records) log(` ${r.host.padEnd(32)} ${r.type.padEnd(5)} ${r.value} (TTL ${r.ttl})`);
|
|
11141
|
+
return {
|
|
11142
|
+
mode: "records",
|
|
11143
|
+
hosts,
|
|
11144
|
+
changes: []
|
|
11145
|
+
};
|
|
11146
|
+
}
|
|
11147
|
+
throw error;
|
|
11148
|
+
}
|
|
11149
|
+
}
|
|
11150
|
+
//#endregion
|
|
10980
11151
|
//#region src/setup/index.ts
|
|
10981
11152
|
var setup_exports = /* @__PURE__ */ require_rolldown_runtime.__exportAll({
|
|
10982
11153
|
createFreshWorkspaceSecrets: () => createFreshWorkspaceSecrets,
|
|
@@ -11010,6 +11181,7 @@ async function setupCommand(options = {}) {
|
|
|
11010
11181
|
logger$1.log(`📦 Workspace: ${workspace.name}`);
|
|
11011
11182
|
logger$1.log(`📱 Apps: ${Object.keys(workspace.apps).join(", ")}`);
|
|
11012
11183
|
logger$1.log(`🔑 Stage: ${stage}\n`);
|
|
11184
|
+
if (!local) assertStageServer(workspace, stage, await (await require_seeds.secretsStoreFor(workspace, stage, { ...options.profile ? { profile: options.profile } : {} })).read(stage));
|
|
11013
11185
|
if (!local && options.dryRun) {
|
|
11014
11186
|
await provisionDeployed(workspace, stage, options);
|
|
11015
11187
|
return;
|
|
@@ -11043,11 +11215,16 @@ async function provisionDeployed(workspace, stage, options) {
|
|
|
11043
11215
|
...options.retireOldKeys ? { retireOldKeys: true } : {},
|
|
11044
11216
|
log: (line) => logger$1.log(line)
|
|
11045
11217
|
})).filter((r) => r.mode === "provider");
|
|
11046
|
-
if (configured.length === 0) {
|
|
11047
|
-
|
|
11048
|
-
|
|
11049
|
-
|
|
11050
|
-
|
|
11218
|
+
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.`);
|
|
11219
|
+
const dns = await provisionStageDns({
|
|
11220
|
+
workspace,
|
|
11221
|
+
stage,
|
|
11222
|
+
...options.dryRun ? { dryRun: true } : {},
|
|
11223
|
+
...options.profile ? { profile: options.profile } : {},
|
|
11224
|
+
log: (line) => logger$1.log(line)
|
|
11225
|
+
});
|
|
11226
|
+
const changes = configured.reduce((n, r) => n + r.actions.length, 0) + dns.changes.filter((c) => c.action !== "unchanged" && c.action !== "manual").length;
|
|
11227
|
+
if (configured.length === 0 && dns.mode === "none") return;
|
|
11051
11228
|
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"})`}`);
|
|
11052
11229
|
}
|
|
11053
11230
|
/**
|
|
@@ -11402,7 +11579,7 @@ function testDatabases(reconciled) {
|
|
|
11402
11579
|
* starts without the reference data the app needs.
|
|
11403
11580
|
*/
|
|
11404
11581
|
async function migrateTestStage(workspace, env) {
|
|
11405
|
-
const { migrateAndSeed } = await Promise.resolve().then(() => require("./migrate-
|
|
11582
|
+
const { migrateAndSeed } = await Promise.resolve().then(() => require("./migrate-7xayVtzL.cjs"));
|
|
11406
11583
|
const { discover } = await Promise.resolve().then(() => require("./discover-D1It5r_h.cjs")).then((n) => n.discover_exports);
|
|
11407
11584
|
const sources = {};
|
|
11408
11585
|
const manifest = await discover({
|
|
@@ -11846,7 +12023,7 @@ program.command("migrate").description("Apply each database construct's migratio
|
|
|
11846
12023
|
try {
|
|
11847
12024
|
const globalOptions = program.opts();
|
|
11848
12025
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
11849
|
-
const { migrateCommand } = await Promise.resolve().then(() => require("./migrate-
|
|
12026
|
+
const { migrateCommand } = await Promise.resolve().then(() => require("./migrate-7xayVtzL.cjs"));
|
|
11850
12027
|
await migrateCommand({
|
|
11851
12028
|
...options,
|
|
11852
12029
|
...construct ? { construct } : {}
|
|
@@ -11860,7 +12037,7 @@ program.command("seed").description("Migrate, then run each database construct's
|
|
|
11860
12037
|
try {
|
|
11861
12038
|
const globalOptions = program.opts();
|
|
11862
12039
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
11863
|
-
const { seedCommand } = await Promise.resolve().then(() => require("./migrate-
|
|
12040
|
+
const { seedCommand } = await Promise.resolve().then(() => require("./migrate-7xayVtzL.cjs"));
|
|
11864
12041
|
await seedCommand({
|
|
11865
12042
|
...options,
|
|
11866
12043
|
...construct ? { construct } : {}
|
|
@@ -11874,7 +12051,7 @@ program.command("migration").description("Write a construct's next migration: an
|
|
|
11874
12051
|
try {
|
|
11875
12052
|
const globalOptions = program.opts();
|
|
11876
12053
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
11877
|
-
const { migrationCommand } = await Promise.resolve().then(() => require("./migrate-
|
|
12054
|
+
const { migrationCommand } = await Promise.resolve().then(() => require("./migrate-7xayVtzL.cjs"));
|
|
11878
12055
|
await migrationCommand({
|
|
11879
12056
|
construct,
|
|
11880
12057
|
...name ? { name } : {}
|
|
@@ -11923,7 +12100,7 @@ program.command("docker").description("Generate Docker deployment files").option
|
|
|
11923
12100
|
process.exit(1);
|
|
11924
12101
|
}
|
|
11925
12102
|
});
|
|
11926
|
-
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").action(async (options) => {
|
|
12103
|
+
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-check", "Deployed stage: do not check that each public host resolves to GKM_SERVER_IPV4 in the stage secrets before starting (a CDN or proxy in front)").action(async (options) => {
|
|
11927
12104
|
try {
|
|
11928
12105
|
const globalOptions = program.opts();
|
|
11929
12106
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
@@ -11982,7 +12159,7 @@ program.command("secrets:add").description("Build the keys a stage must be given
|
|
|
11982
12159
|
try {
|
|
11983
12160
|
const globalOptions = program.opts();
|
|
11984
12161
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
11985
|
-
const { secretsAddCommand } = await Promise.resolve().then(() => require("./add-
|
|
12162
|
+
const { secretsAddCommand } = await Promise.resolve().then(() => require("./add-C9qX4Juc.cjs"));
|
|
11986
12163
|
await secretsAddCommand(options);
|
|
11987
12164
|
} catch (error) {
|
|
11988
12165
|
console.error(formatError(error));
|
|
@@ -11993,7 +12170,7 @@ program.command("encryption:rotate").description("Add a new current key to an En
|
|
|
11993
12170
|
try {
|
|
11994
12171
|
const globalOptions = program.opts();
|
|
11995
12172
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
11996
|
-
const { encryptionRotateCommand } = await Promise.resolve().then(() => require("./encryption-
|
|
12173
|
+
const { encryptionRotateCommand } = await Promise.resolve().then(() => require("./encryption-BrN_9_CM.cjs"));
|
|
11997
12174
|
await encryptionRotateCommand(construct, options);
|
|
11998
12175
|
} catch (error) {
|
|
11999
12176
|
console.error(formatError(error));
|
|
@@ -12004,7 +12181,7 @@ program.command("encryption:retire").description("Remove an old key from an Encr
|
|
|
12004
12181
|
try {
|
|
12005
12182
|
const globalOptions = program.opts();
|
|
12006
12183
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
12007
|
-
const { encryptionRetireCommand } = await Promise.resolve().then(() => require("./encryption-
|
|
12184
|
+
const { encryptionRetireCommand } = await Promise.resolve().then(() => require("./encryption-BrN_9_CM.cjs"));
|
|
12008
12185
|
await encryptionRetireCommand(construct, key, options);
|
|
12009
12186
|
} catch (error) {
|
|
12010
12187
|
console.error(formatError(error));
|
|
@@ -12047,7 +12224,7 @@ program.command("secrets:reconcile").description("Backfill missing custom secret
|
|
|
12047
12224
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
12048
12225
|
const { loadWorkspaceConfig } = await Promise.resolve().then(() => require("./config.cjs"));
|
|
12049
12226
|
const { reconcileMissingSecrets } = await Promise.resolve().then(() => require("./reconcile-CuCQBa5-.cjs"));
|
|
12050
|
-
const { secretsStoreFor } = await Promise.resolve().then(() => require("./seeds-
|
|
12227
|
+
const { secretsStoreFor } = await Promise.resolve().then(() => require("./seeds-CN6tB-va.cjs")).then((n) => n.store_exports);
|
|
12051
12228
|
const { workspace } = await loadWorkspaceConfig();
|
|
12052
12229
|
const stage = options.stage ?? workspace.stages.local;
|
|
12053
12230
|
const store = await secretsStoreFor(workspace, stage);
|
|
@@ -12056,7 +12233,7 @@ program.command("secrets:reconcile").description("Backfill missing custom secret
|
|
|
12056
12233
|
console.error(`No secrets found for stage "${stage}". Run "gkm secrets:init --stage ${stage}" first.`);
|
|
12057
12234
|
process.exit(1);
|
|
12058
12235
|
}
|
|
12059
|
-
const { derivedContainers } = await Promise.resolve().then(() => require("./seeds-
|
|
12236
|
+
const { derivedContainers } = await Promise.resolve().then(() => require("./seeds-CN6tB-va.cjs")).then((n) => n.workspace_exports);
|
|
12060
12237
|
const result = reconcileMissingSecrets(secrets, workspace, await derivedContainers(workspace, stage));
|
|
12061
12238
|
if (!result) {
|
|
12062
12239
|
console.log(`\n✓ Secrets for stage "${stage}" are up-to-date`);
|
|
@@ -12074,15 +12251,15 @@ program.command("secrets:migrate").description("Copy a deployed stage's secrets
|
|
|
12074
12251
|
try {
|
|
12075
12252
|
const globalOptions = program.opts();
|
|
12076
12253
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
12077
|
-
const { secretsMigrateCommand } = await Promise.resolve().then(() => require("./migrate-
|
|
12254
|
+
const { secretsMigrateCommand } = await Promise.resolve().then(() => require("./migrate-DPF7ZF8M.cjs"));
|
|
12078
12255
|
await secretsMigrateCommand(options);
|
|
12079
12256
|
} catch (error) {
|
|
12080
12257
|
console.error(formatError(error));
|
|
12081
12258
|
process.exit(1);
|
|
12082
12259
|
}
|
|
12083
12260
|
});
|
|
12084
|
-
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").action(async (options) => {
|
|
12085
|
-
const { deployCli } = await Promise.resolve().then(() => require("./cli-
|
|
12261
|
+
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-check", "Compose: do not check that each public host resolves to GKM_SERVER_IPV4 in the stage secrets before starting (a CDN or proxy in front)").action(async (options) => {
|
|
12262
|
+
const { deployCli } = await Promise.resolve().then(() => require("./cli-C85Dut8K.cjs"));
|
|
12086
12263
|
const globalOptions = program.opts();
|
|
12087
12264
|
const code = await deployCli({
|
|
12088
12265
|
cwd: (0, node_path.resolve)(globalOptions.cwd ?? process.cwd()),
|
|
@@ -12093,14 +12270,15 @@ program.command("deploy").description("Deploy a stage through its target").optio
|
|
|
12093
12270
|
...options.json ? { json: true } : {},
|
|
12094
12271
|
...options.dryRun ? { dryRun: true } : {},
|
|
12095
12272
|
...options.atomic ? { atomic: true } : {},
|
|
12096
|
-
...options.allowDevServices ? { allowDevServices: true } : {}
|
|
12273
|
+
...options.allowDevServices ? { allowDevServices: true } : {},
|
|
12274
|
+
...options.skipDnsCheck ? { skipDnsCheck: true } : {}
|
|
12097
12275
|
});
|
|
12098
12276
|
if (code !== 0) process.exit(code);
|
|
12099
12277
|
});
|
|
12100
12278
|
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) => {
|
|
12101
12279
|
try {
|
|
12102
|
-
const { rollbackStage } = await Promise.resolve().then(() => require("./rollback-
|
|
12103
|
-
const { terminalCredentials } = await Promise.resolve().then(() => require("./terminal-
|
|
12280
|
+
const { rollbackStage } = await Promise.resolve().then(() => require("./rollback-65VVIdBM.cjs")).then((n) => n.rollback_exports);
|
|
12281
|
+
const { terminalCredentials } = await Promise.resolve().then(() => require("./terminal-DuapRxh6.cjs"));
|
|
12104
12282
|
const globalOptions = program.opts();
|
|
12105
12283
|
await rollbackStage({
|
|
12106
12284
|
cwd: (0, node_path.resolve)(globalOptions.cwd ?? process.cwd()),
|
|
@@ -12135,7 +12313,7 @@ program.command("deploy:github").description("Let GitHub Actions deploy a stage:
|
|
|
12135
12313
|
try {
|
|
12136
12314
|
const globalOptions = program.opts();
|
|
12137
12315
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
12138
|
-
const { deployGithubCommand } = await Promise.resolve().then(() => require("./github-
|
|
12316
|
+
const { deployGithubCommand } = await Promise.resolve().then(() => require("./github-Bf7pz6AV.cjs"));
|
|
12139
12317
|
await deployGithubCommand(options);
|
|
12140
12318
|
} catch (error) {
|
|
12141
12319
|
console.error(formatError(error));
|
|
@@ -12146,7 +12324,7 @@ program.command("stages").description("The workspace's stages from gkm.config.ts
|
|
|
12146
12324
|
try {
|
|
12147
12325
|
const globalOptions = program.opts();
|
|
12148
12326
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
12149
|
-
const { stagesCommand } = await Promise.resolve().then(() => require("./stages-
|
|
12327
|
+
const { stagesCommand } = await Promise.resolve().then(() => require("./stages-CUn6gvXL.cjs"));
|
|
12150
12328
|
await stagesCommand(options);
|
|
12151
12329
|
} catch (error) {
|
|
12152
12330
|
console.error(formatError(error));
|
|
@@ -12180,13 +12358,17 @@ program.command("deploy:list").description("List Dokploy resources (projects, re
|
|
|
12180
12358
|
process.exit(1);
|
|
12181
12359
|
}
|
|
12182
12360
|
});
|
|
12183
|
-
program.command("login").description("Authenticate with a deployment or DNS provider").option("--provider <provider>", "Provider to log in to (dokploy, hostinger)", "dokploy").option("--service <provider>", "[DEPRECATED] Use --provider instead").option("--token <token>", "API token (will prompt if not provided)").option("--endpoint <url>", "Service endpoint URL").action(async (options) => {
|
|
12361
|
+
program.command("login").description("Authenticate with a deployment or DNS provider").option("--provider <provider>", "Provider to log in to (dokploy, hostinger, godaddy)", "dokploy").option("--service <provider>", "[DEPRECATED] Use --provider instead").option("--token <token>", "API token (will prompt if not provided)").option("--endpoint <url>", "Service endpoint URL").action(async (options) => {
|
|
12184
12362
|
try {
|
|
12185
12363
|
const globalOptions = program.opts();
|
|
12186
12364
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
12187
12365
|
const provider = options.service ?? options.provider;
|
|
12188
|
-
if (![
|
|
12189
|
-
|
|
12366
|
+
if (![
|
|
12367
|
+
"dokploy",
|
|
12368
|
+
"hostinger",
|
|
12369
|
+
"godaddy"
|
|
12370
|
+
].includes(provider)) {
|
|
12371
|
+
console.error(`Unknown provider: ${provider}. Supported: dokploy, hostinger, godaddy`);
|
|
12190
12372
|
process.exit(1);
|
|
12191
12373
|
}
|
|
12192
12374
|
await loginCommand({
|
|
@@ -12199,7 +12381,7 @@ program.command("login").description("Authenticate with a deployment or DNS prov
|
|
|
12199
12381
|
process.exit(1);
|
|
12200
12382
|
}
|
|
12201
12383
|
});
|
|
12202
|
-
program.command("logout").description("Remove stored credentials").option("--provider <provider>", "Whose credentials to remove (dokploy, all)", "dokploy").option("--service <provider>", "[DEPRECATED] Use --provider instead").action(async (options) => {
|
|
12384
|
+
program.command("logout").description("Remove stored credentials").option("--provider <provider>", "Whose credentials to remove (dokploy, godaddy, all)", "dokploy").option("--service <provider>", "[DEPRECATED] Use --provider instead").action(async (options) => {
|
|
12203
12385
|
try {
|
|
12204
12386
|
const globalOptions = program.opts();
|
|
12205
12387
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
@@ -12288,6 +12470,7 @@ try {
|
|
|
12288
12470
|
program.parse();
|
|
12289
12471
|
//#endregion
|
|
12290
12472
|
exports.canPrompt = canPrompt;
|
|
12473
|
+
exports.deploysWithCompose = deploysWithCompose;
|
|
12291
12474
|
exports.formatError = formatError;
|
|
12292
12475
|
exports.generateFullstackCustomSecrets = generateFullstackCustomSecrets;
|
|
12293
12476
|
exports.prompt = prompt;
|