@geekmidas/cli 10.0.0-alpha.83 → 10.0.0-alpha.85
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/{EndpointGenerator-DtnIGafh.mjs → EndpointGenerator-CVc6Oi1Y.mjs} +185 -82
- package/dist/EndpointGenerator-CVc6Oi1Y.mjs.map +1 -0
- package/dist/{EndpointGenerator-cKlnllIu.cjs → EndpointGenerator-CwLjBCFE.cjs} +203 -82
- package/dist/EndpointGenerator-CwLjBCFE.cjs.map +1 -0
- package/dist/{LegacyStateStore-DFO3aJgs.mjs → LegacyStateStore-CJ2o18nT.mjs} +2 -2
- package/dist/{LegacyStateStore-DFO3aJgs.mjs.map → LegacyStateStore-CJ2o18nT.mjs.map} +1 -1
- package/dist/{LegacyStateStore-iUWVxrXU.cjs → LegacyStateStore-xGxPwP-m.cjs} +2 -2
- package/dist/{LegacyStateStore-iUWVxrXU.cjs.map → LegacyStateStore-xGxPwP-m.cjs.map} +1 -1
- package/dist/{LocalStateStore-DIfuh0Z1.mjs → LocalStateStore-ByVjUIvS.mjs} +12 -10
- package/dist/LocalStateStore-ByVjUIvS.mjs.map +1 -0
- package/dist/{LocalStateStore-BsFHdSeA.cjs → LocalStateStore-CkjFD-4b.cjs} +11 -9
- package/dist/LocalStateStore-CkjFD-4b.cjs.map +1 -0
- package/dist/{OpenApiTsGenerator-CdUM6Hvv.cjs → OpenApiTsGenerator-B--HV-sW.cjs} +2 -2
- package/dist/{OpenApiTsGenerator-CdUM6Hvv.cjs.map → OpenApiTsGenerator-B--HV-sW.cjs.map} +1 -1
- package/dist/{OpenApiTsGenerator-ByRPMbBN.mjs → OpenApiTsGenerator-CkvsPdgg.mjs} +2 -2
- package/dist/{OpenApiTsGenerator-ByRPMbBN.mjs.map → OpenApiTsGenerator-CkvsPdgg.mjs.map} +1 -1
- package/dist/{S3StateStore-ytvpIiv8.cjs → S3StateStore-iqMezbES.cjs} +2 -2
- package/dist/{S3StateStore-ytvpIiv8.cjs.map → S3StateStore-iqMezbES.cjs.map} +1 -1
- package/dist/{S3StateStore-DR2f78Dj.mjs → S3StateStore-kpFlGVLE.mjs} +2 -2
- package/dist/{S3StateStore-DR2f78Dj.mjs.map → S3StateStore-kpFlGVLE.mjs.map} +1 -1
- package/dist/{SSMStateStore-BZ3XL0Mr.mjs → SSMStateStore-Bkz5ztfo.mjs} +2 -2
- package/dist/{SSMStateStore-BZ3XL0Mr.mjs.map → SSMStateStore-Bkz5ztfo.mjs.map} +1 -1
- package/dist/{SSMStateStore-C1JruCD9.cjs → SSMStateStore-Z2OMVCtq.cjs} +2 -2
- package/dist/{SSMStateStore-C1JruCD9.cjs.map → SSMStateStore-Z2OMVCtq.cjs.map} +1 -1
- package/dist/{SubscriberGenerator-DQZeGkDW.mjs → SubscriberGenerator-BPqQf8fB.mjs} +2 -2
- package/dist/{SubscriberGenerator-DQZeGkDW.mjs.map → SubscriberGenerator-BPqQf8fB.mjs.map} +1 -1
- package/dist/{SubscriberGenerator-CYriX5BV.cjs → SubscriberGenerator-BVn7cQ-2.cjs} +2 -2
- package/dist/{SubscriberGenerator-CYriX5BV.cjs.map → SubscriberGenerator-BVn7cQ-2.cjs.map} +1 -1
- package/dist/{add-Bwddb4KD.cjs → add-CM7RLj89.cjs} +3 -3
- package/dist/{add-Bwddb4KD.cjs.map → add-CM7RLj89.cjs.map} +1 -1
- package/dist/{add-DkBEZ5_s.mjs → add-jpX7M8RB.mjs} +3 -3
- package/dist/{add-DkBEZ5_s.mjs.map → add-jpX7M8RB.mjs.map} +1 -1
- package/dist/{bundler-B8TGsunu.mjs → bundler-CaAKsbcN.mjs} +5 -5
- package/dist/{bundler-B8TGsunu.mjs.map → bundler-CaAKsbcN.mjs.map} +1 -1
- package/dist/{bundler-BkH1kPEX.cjs → bundler-lEBH8ENP.cjs} +5 -5
- package/dist/{bundler-BkH1kPEX.cjs.map → bundler-lEBH8ENP.cjs.map} +1 -1
- package/dist/{cli-BgDd4cZB.mjs → cli-BV3jzbk0.mjs} +3 -3
- package/dist/{cli-BgDd4cZB.mjs.map → cli-BV3jzbk0.mjs.map} +1 -1
- package/dist/{cli-DO7DQqCq.cjs → cli-DQCBcNlN.cjs} +3 -3
- package/dist/{cli-DO7DQqCq.cjs.map → cli-DQCBcNlN.cjs.map} +1 -1
- package/dist/{compose-BPJ9bUKp.mjs → compose-CQK6StuE.mjs} +86 -28
- package/dist/compose-CQK6StuE.mjs.map +1 -0
- package/dist/{compose-CGyxYe-h.cjs → compose-CSR0yEJm.cjs} +85 -27
- package/dist/compose-CSR0yEJm.cjs.map +1 -0
- package/dist/{config-DMdzdO5u.d.cts → config-BzIfP8a-.d.cts} +16 -3
- package/dist/config-BzIfP8a-.d.cts.map +1 -0
- package/dist/{config-BBFiH4qk.d.mts → config-DhdzmndX.d.mts} +16 -3
- package/dist/config-DhdzmndX.d.mts.map +1 -0
- 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/deploy/public.cjs +6 -6
- package/dist/deploy/public.d.cts +3 -3
- package/dist/deploy/public.d.cts.map +1 -1
- package/dist/deploy/public.d.mts +3 -3
- package/dist/deploy/public.d.mts.map +1 -1
- package/dist/deploy/public.mjs +6 -6
- package/dist/{deploy-0XpZDYAr.mjs → deploy-BuU117CA.mjs} +14 -5
- package/dist/deploy-BuU117CA.mjs.map +1 -0
- package/dist/{deploy-BlZx6J5x.cjs → deploy-Bw2Mm3x3.cjs} +14 -5
- package/dist/deploy-Bw2Mm3x3.cjs.map +1 -0
- package/dist/{dokploy-rjXmkuwH.cjs → dokploy-C81J1MVK.cjs} +2 -2
- package/dist/{dokploy-rjXmkuwH.cjs.map → dokploy-C81J1MVK.cjs.map} +1 -1
- package/dist/{dokploy-Crh4uDmP.mjs → dokploy-DWALWk7u.mjs} +2 -2
- package/dist/{dokploy-Crh4uDmP.mjs.map → dokploy-DWALWk7u.mjs.map} +1 -1
- package/dist/{drivers-B4RP2B2O.mjs → drivers-DTZzxeIl.mjs} +2 -2
- package/dist/{drivers-B4RP2B2O.mjs.map → drivers-DTZzxeIl.mjs.map} +1 -1
- package/dist/{drivers-CJx76mcb.cjs → drivers-LYSdQDmd.cjs} +2 -2
- package/dist/{drivers-CJx76mcb.cjs.map → drivers-LYSdQDmd.cjs.map} +1 -1
- package/dist/{encryption-CxTfRx4h.cjs → encryption-B8h8Tna0.cjs} +3 -3
- package/dist/{encryption-CxTfRx4h.cjs.map → encryption-B8h8Tna0.cjs.map} +1 -1
- package/dist/{encryption-0eo9aY_H.mjs → encryption-DpAum8W7.mjs} +3 -3
- package/dist/{encryption-0eo9aY_H.mjs.map → encryption-DpAum8W7.mjs.map} +1 -1
- package/dist/{engine-CMzSebbs.cjs → engine-B01fjhLt.cjs} +33 -13
- package/dist/engine-B01fjhLt.cjs.map +1 -0
- package/dist/{engine-DxWswfXe.mjs → engine-BXCtEhSH.mjs} +33 -13
- package/dist/engine-BXCtEhSH.mjs.map +1 -0
- package/dist/{github-HOfOpFI_.mjs → github-8B68qrLs.mjs} +3 -3
- package/dist/{github-HOfOpFI_.mjs.map → github-8B68qrLs.mjs.map} +1 -1
- package/dist/{github-Dukt5cJe.cjs → github-Cis9tYur.cjs} +3 -3
- package/dist/{github-Dukt5cJe.cjs.map → github-Cis9tYur.cjs.map} +1 -1
- package/dist/{index-Wuqpf316.d.mts → index-D1ODeM9s.d.cts} +2 -2
- package/dist/{index-DFrbhRwg.d.cts.map → index-D1ODeM9s.d.cts.map} +1 -1
- package/dist/{index-DFrbhRwg.d.cts → index-f77HdqN5.d.mts} +2 -2
- package/dist/{index-Wuqpf316.d.mts.map → index-f77HdqN5.d.mts.map} +1 -1
- package/dist/index.cjs +173 -70
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +173 -70
- package/dist/index.mjs.map +1 -1
- package/dist/{migrate-BgPWVnAZ.cjs → migrate-BBCp5blp.cjs} +3 -3
- package/dist/{migrate-BgPWVnAZ.cjs.map → migrate-BBCp5blp.cjs.map} +1 -1
- package/dist/{migrate-1dGEzuJ-.mjs → migrate-BeTWLSeC.mjs} +3 -3
- package/dist/{migrate-1dGEzuJ-.mjs.map → migrate-BeTWLSeC.mjs.map} +1 -1
- package/dist/{migrate-Bemd4tkz.cjs → migrate-CPWn7A51.cjs} +3 -3
- package/dist/{migrate-Bemd4tkz.cjs.map → migrate-CPWn7A51.cjs.map} +1 -1
- package/dist/{migrate-C14NNbFx.mjs → migrate-sDq7NApJ.mjs} +3 -3
- package/dist/{migrate-C14NNbFx.mjs.map → migrate-sDq7NApJ.mjs.map} +1 -1
- package/dist/openapi.cjs +3 -3
- package/dist/openapi.d.cts +1 -1
- package/dist/openapi.d.mts +1 -1
- package/dist/openapi.mjs +3 -3
- package/dist/{ready-4kx2pAhm.cjs → ready-BpNbORRB.cjs} +5 -5
- package/dist/{ready-4kx2pAhm.cjs.map → ready-BpNbORRB.cjs.map} +1 -1
- package/dist/{ready-DhZbZtFw.mjs → ready-b6vm0-W-.mjs} +5 -5
- package/dist/{ready-DhZbZtFw.mjs.map → ready-b6vm0-W-.mjs.map} +1 -1
- package/dist/reconcile/public.d.cts +1 -1
- package/dist/reconcile/public.d.mts +1 -1
- package/dist/{resolve-y1PkSZrF.mjs → resolve-CXbwJ_iu.mjs} +3 -3
- package/dist/{resolve-y1PkSZrF.mjs.map → resolve-CXbwJ_iu.mjs.map} +1 -1
- package/dist/{resolve-DCTcD823.cjs → resolve-CztIqBOI.cjs} +3 -3
- package/dist/{resolve-DCTcD823.cjs.map → resolve-CztIqBOI.cjs.map} +1 -1
- package/dist/{rollback-CwVhG_xa.mjs → rollback-ByyFE5lV.mjs} +5 -5
- package/dist/{rollback-CwVhG_xa.mjs.map → rollback-ByyFE5lV.mjs.map} +1 -1
- package/dist/{rollback-BVQFDjxr.cjs → rollback-CyIJ4xGJ.cjs} +5 -5
- package/dist/{rollback-BVQFDjxr.cjs.map → rollback-CyIJ4xGJ.cjs.map} +1 -1
- package/dist/{runtime-ekxfPNM-.d.mts → runtime-CNu2C2hB.d.mts} +2 -2
- package/dist/{runtime-D6A-C6zh.d.cts.map → runtime-CNu2C2hB.d.mts.map} +1 -1
- package/dist/{runtime-D6A-C6zh.d.cts → runtime-DMLgL26v.d.cts} +2 -2
- package/dist/{runtime-ekxfPNM-.d.mts.map → runtime-DMLgL26v.d.cts.map} +1 -1
- package/dist/{seeds-BoKQ74Od.mjs → seeds-9C5CkDon.mjs} +1736 -1613
- package/dist/seeds-9C5CkDon.mjs.map +1 -0
- package/dist/{seeds-Ccju3zGl.cjs → seeds-B_Beuv0o.cjs} +2583 -2418
- package/dist/seeds-B_Beuv0o.cjs.map +1 -0
- package/dist/{sniffer-DeyYI9Iv.cjs → sniffer-3fA0iExx.cjs} +6 -6
- package/dist/{sniffer-DeyYI9Iv.cjs.map → sniffer-3fA0iExx.cjs.map} +1 -1
- package/dist/{sniffer-6oYI-MpT.mjs → sniffer-DgBkaLAu.mjs} +6 -6
- package/dist/{sniffer-6oYI-MpT.mjs.map → sniffer-DgBkaLAu.mjs.map} +1 -1
- package/dist/{stages-CwrYVX9u.cjs → stages-CS1sjcRb.cjs} +2 -2
- package/dist/{stages-CwrYVX9u.cjs.map → stages-CS1sjcRb.cjs.map} +1 -1
- package/dist/{stages-CHF9RFog.mjs → stages-CSXt7N2b.mjs} +2 -2
- package/dist/{stages-CHF9RFog.mjs.map → stages-CSXt7N2b.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/{types-BzCavjGt.d.mts → types-BZn-8ssD.d.mts} +75 -21
- package/dist/types-BZn-8ssD.d.mts.map +1 -0
- package/dist/{types-DZtj9jeI.d.cts → types-DiZj6hqp.d.cts} +75 -21
- package/dist/types-DiZj6hqp.d.cts.map +1 -0
- package/dist/vitest.cjs +1 -1
- package/dist/vitest.mjs +1 -1
- package/dist/workspace/index.cjs +1 -1
- package/dist/workspace/index.d.cts +3 -3
- package/dist/workspace/index.d.mts +3 -3
- package/dist/workspace/index.mjs +1 -1
- package/dist/{workspace-4i6Jwsoa.cjs → workspace-Bic_R3tz.cjs} +324 -98
- package/dist/workspace-Bic_R3tz.cjs.map +1 -0
- package/dist/{workspace-DD9mtPy8.mjs → workspace-Drz4jsvy.mjs} +305 -97
- package/dist/workspace-Drz4jsvy.mjs.map +1 -0
- package/package.json +15 -15
- package/dist/EndpointGenerator-DtnIGafh.mjs.map +0 -1
- package/dist/EndpointGenerator-cKlnllIu.cjs.map +0 -1
- package/dist/LocalStateStore-BsFHdSeA.cjs.map +0 -1
- package/dist/LocalStateStore-DIfuh0Z1.mjs.map +0 -1
- package/dist/compose-BPJ9bUKp.mjs.map +0 -1
- package/dist/compose-CGyxYe-h.cjs.map +0 -1
- package/dist/config-BBFiH4qk.d.mts.map +0 -1
- package/dist/config-DMdzdO5u.d.cts.map +0 -1
- package/dist/deploy-0XpZDYAr.mjs.map +0 -1
- package/dist/deploy-BlZx6J5x.cjs.map +0 -1
- package/dist/engine-CMzSebbs.cjs.map +0 -1
- package/dist/engine-DxWswfXe.mjs.map +0 -1
- package/dist/seeds-BoKQ74Od.mjs.map +0 -1
- package/dist/seeds-Ccju3zGl.cjs.map +0 -1
- package/dist/types-BzCavjGt.d.mts.map +0 -1
- package/dist/types-DZtj9jeI.d.cts.map +0 -1
- package/dist/workspace-4i6Jwsoa.cjs.map +0 -1
- package/dist/workspace-DD9mtPy8.mjs.map +0 -1
package/dist/index.cjs
CHANGED
|
@@ -5,22 +5,22 @@ const require_run = require("./run-fVZ-rLnc.cjs");
|
|
|
5
5
|
const require_credentials = require("./credentials-BVs7mrtw.cjs");
|
|
6
6
|
const require_discover = require("./discover-D1It5r_h.cjs");
|
|
7
7
|
const require_derive = require("./derive-DAbo49sm.cjs");
|
|
8
|
-
const require_workspace = require("./workspace-
|
|
8
|
+
const require_workspace = require("./workspace-Bic_R3tz.cjs");
|
|
9
9
|
const require_config = require("./config.cjs");
|
|
10
|
-
const require_seeds = require("./seeds-
|
|
11
|
-
const require_EndpointGenerator = require("./EndpointGenerator-
|
|
10
|
+
const require_seeds = require("./seeds-B_Beuv0o.cjs");
|
|
11
|
+
const require_EndpointGenerator = require("./EndpointGenerator-CwLjBCFE.cjs");
|
|
12
12
|
const require_openapi = require("./openapi.cjs");
|
|
13
|
-
const require_SubscriberGenerator = require("./SubscriberGenerator-
|
|
13
|
+
const require_SubscriberGenerator = require("./SubscriberGenerator-BVn7cQ-2.cjs");
|
|
14
14
|
const require_appPorts = require("./appPorts-Cu79hJF6.cjs");
|
|
15
|
-
const require_drivers = require("./drivers-
|
|
15
|
+
const require_drivers = require("./drivers-LYSdQDmd.cjs");
|
|
16
16
|
const require_emit = require("./emit-Dmc1nvdS.cjs");
|
|
17
|
-
const require_sniffer = require("./sniffer-
|
|
18
|
-
const require_deploy = require("./deploy-
|
|
19
|
-
const require_compose = require("./compose-
|
|
17
|
+
const require_sniffer = require("./sniffer-3fA0iExx.cjs");
|
|
18
|
+
const require_deploy = require("./deploy-Bw2Mm3x3.cjs");
|
|
19
|
+
const require_compose = require("./compose-CSR0yEJm.cjs");
|
|
20
20
|
const require_credentialSchemas = require("./credentialSchemas-DCR4Wd1W.cjs");
|
|
21
|
-
const require_LocalStateStore = require("./LocalStateStore-
|
|
21
|
+
const require_LocalStateStore = require("./LocalStateStore-CkjFD-4b.cjs");
|
|
22
22
|
const require_utils = require("./utils-D2Nk1Nv2.cjs");
|
|
23
|
-
const require_ready = require("./ready-
|
|
23
|
+
const require_ready = require("./ready-BpNbORRB.cjs");
|
|
24
24
|
let node_path = require("node:path");
|
|
25
25
|
let commander = require("commander");
|
|
26
26
|
let node_process = require("node:process");
|
|
@@ -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.85";
|
|
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-3fA0iExx.cjs")).then((n) => n.dokploy_api_exports);
|
|
140
140
|
return new DokployApi({
|
|
141
141
|
baseUrl: endpoint,
|
|
142
142
|
token
|
|
@@ -536,10 +536,9 @@ var NoLocalCredentials = class extends Error {
|
|
|
536
536
|
/** The logins of every service the workspace last published. */
|
|
537
537
|
function devCredentials(workspace, credentials, ports) {
|
|
538
538
|
const containers = SIGNED_IN.filter((container) => require_seeds.portsOf(container).some((port) => ports[port.key] !== void 0));
|
|
539
|
-
const
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
via: `gkm compose --stage ${workspace.stages.local}`
|
|
539
|
+
const local = ports.openobserve !== void 0 ? {
|
|
540
|
+
url: `http://localhost:${ports.openobserve}`,
|
|
541
|
+
via: "gkm dev"
|
|
543
542
|
} : void 0;
|
|
544
543
|
return {
|
|
545
544
|
workspace: workspace.name,
|
|
@@ -759,6 +758,7 @@ async function collect(records) {
|
|
|
759
758
|
root,
|
|
760
759
|
stage: lead.workspace.stage,
|
|
761
760
|
manifest: group.find((r) => r.manifest)?.manifest ?? null,
|
|
761
|
+
telemetry: group.find((r) => r.telemetry)?.telemetry ?? null,
|
|
762
762
|
apps: discovered,
|
|
763
763
|
allowedOrigins: [...new Set(group.flatMap((r) => r.allowedOrigins))]
|
|
764
764
|
});
|
|
@@ -1103,6 +1103,7 @@ var DiscoverySession = class DiscoverySession {
|
|
|
1103
1103
|
workspace: options.workspace,
|
|
1104
1104
|
allowedOrigins: [...options.allowedOrigins ?? []],
|
|
1105
1105
|
...options.manifest ? { manifest: options.manifest } : {},
|
|
1106
|
+
...options.telemetry ? { telemetry: options.telemetry } : {},
|
|
1106
1107
|
apps: options.apps
|
|
1107
1108
|
};
|
|
1108
1109
|
writeRecord(registry, record);
|
|
@@ -1856,7 +1857,8 @@ async function devCommand(options) {
|
|
|
1856
1857
|
hooks,
|
|
1857
1858
|
skipBundle: true,
|
|
1858
1859
|
bustCache,
|
|
1859
|
-
serveEmpty: true
|
|
1860
|
+
serveEmpty: true,
|
|
1861
|
+
workspaceName: workspace.name
|
|
1860
1862
|
}));
|
|
1861
1863
|
logger$5.log(`🔨 Building ${workspaceAppName ?? "the app"}`);
|
|
1862
1864
|
const initial = await build();
|
|
@@ -1864,6 +1866,7 @@ async function devCommand(options) {
|
|
|
1864
1866
|
let secretsJsonPath;
|
|
1865
1867
|
let publicUrl;
|
|
1866
1868
|
let manifest;
|
|
1869
|
+
let telemetryUi;
|
|
1867
1870
|
const appSecrets = await require_seeds.loadSecretsForApp(workspace ? await require_seeds.secretsStoreFor(workspace, config.stages.local) : new require_seeds.FileSecretsStore(secretsRoot), config.stages.local);
|
|
1868
1871
|
if (workspace) {
|
|
1869
1872
|
const reconciled = await require_seeds.reconcileWorkspace(workspace, {
|
|
@@ -1875,10 +1878,25 @@ async function devCommand(options) {
|
|
|
1875
1878
|
logger$5.log("🐳 Services");
|
|
1876
1879
|
for (const line of require_seeds.describeServices(reconciled.services)) logger$5.log(line);
|
|
1877
1880
|
}
|
|
1881
|
+
if (!process.env["GKM_DISCOVERY_QUIET"] && reconciled.credentials && reconciled.ports) {
|
|
1882
|
+
const { services: logins } = devCredentials(workspace, reconciled.credentials, reconciled.ports);
|
|
1883
|
+
if (logins.length > 0) {
|
|
1884
|
+
logger$5.log("🔑 Logins (again any time: gkm dev:credentials)");
|
|
1885
|
+
for (const line of describeLogins(logins)) logger$5.log(line);
|
|
1886
|
+
}
|
|
1887
|
+
}
|
|
1878
1888
|
Object.assign(appSecrets, reconciled.env);
|
|
1889
|
+
const scoped = require_seeds.scopeTelemetryEnv(appSecrets, {
|
|
1890
|
+
uses: reconciled.manifest !== void 0 && require_seeds.appTelemetry(reconciled.manifest, workspaceAppName) !== void 0,
|
|
1891
|
+
serviceName: workspaceAppName,
|
|
1892
|
+
telemetry: reconciled.env
|
|
1893
|
+
});
|
|
1894
|
+
for (const key of Object.keys(appSecrets)) if (!(key in scoped)) delete appSecrets[key];
|
|
1895
|
+
Object.assign(appSecrets, scoped);
|
|
1879
1896
|
const own = reconciled.plan.resources.find((r) => (r.kind === "rest-api" || r.kind === "site") && require_derive.appKey(r.id) === workspaceAppName);
|
|
1880
1897
|
publicUrl = own ? reconciled.env[own.envKey] : void 0;
|
|
1881
1898
|
manifest = reconciled.manifest;
|
|
1899
|
+
telemetryUi = telemetryUiOf(reconciled.services);
|
|
1882
1900
|
}
|
|
1883
1901
|
if (Object.keys(appSecrets).length > 0) {
|
|
1884
1902
|
const secretsDir = (0, node_path.join)(secretsRoot, ".gkm");
|
|
@@ -1901,6 +1919,7 @@ async function devCommand(options) {
|
|
|
1901
1919
|
},
|
|
1902
1920
|
allowedOrigins: workspace.dev?.allowedOrigins ?? [],
|
|
1903
1921
|
...manifest ? { manifest } : {},
|
|
1922
|
+
...telemetryUi ? { telemetry: telemetryUi } : {},
|
|
1904
1923
|
apps: [{
|
|
1905
1924
|
name: workspaceAppName,
|
|
1906
1925
|
type: "backend",
|
|
@@ -2209,17 +2228,20 @@ async function workspaceDevCommand(configured, options) {
|
|
|
2209
2228
|
logger$5.log("🔑 Logins (again any time: gkm dev:credentials)");
|
|
2210
2229
|
for (const line of describeLogins(logins)) logger$5.log(line);
|
|
2211
2230
|
}
|
|
2212
|
-
const secretsEnv = {
|
|
2231
|
+
const secretsEnv = require_seeds.scopeTelemetryEnv({
|
|
2213
2232
|
...rawSecrets,
|
|
2214
2233
|
...reconciled.env
|
|
2215
|
-
}
|
|
2234
|
+
}, {
|
|
2235
|
+
uses: false,
|
|
2236
|
+
serviceName: workspace.name
|
|
2237
|
+
});
|
|
2216
2238
|
const fakes = options.fake ? await serveFakes(reconciled.fakes, reconciled.ports) : [];
|
|
2217
2239
|
for (const { id, port } of fakes) logger$5.log(`🎭 ${id} fake: http://localhost:${port}`);
|
|
2218
2240
|
logger$5.log(options.migrate || options.seed ? "🗄️ Migrating the databases" : "🗄️ Checking for pending migrations");
|
|
2219
2241
|
if (options.migrate || options.seed) {
|
|
2220
|
-
const { prepareDevDatabases } = await Promise.resolve().then(() => require("./migrate-
|
|
2242
|
+
const { prepareDevDatabases } = await Promise.resolve().then(() => require("./migrate-BBCp5blp.cjs"));
|
|
2221
2243
|
await prepareDevDatabases(workspace, reconciled.env, { seed: !!options.seed });
|
|
2222
|
-
} else await Promise.resolve().then(() => require("./migrate-
|
|
2244
|
+
} else await Promise.resolve().then(() => require("./migrate-BBCp5blp.cjs")).then(({ reportPendingMigrations }) => reportPendingMigrations(workspace, reconciled.env)).catch((error) => {
|
|
2223
2245
|
logger$5.log(`⚠️ Could not check for pending migrations: ${error instanceof Error ? error.message : String(error)}`);
|
|
2224
2246
|
});
|
|
2225
2247
|
const appUrls = {};
|
|
@@ -2274,6 +2296,7 @@ async function workspaceDevCommand(configured, options) {
|
|
|
2274
2296
|
break;
|
|
2275
2297
|
}
|
|
2276
2298
|
}
|
|
2299
|
+
const workspaceTelemetry = telemetryUiOf(reconciled.services);
|
|
2277
2300
|
const discovery = await joinDiscovery({
|
|
2278
2301
|
role: "workspace",
|
|
2279
2302
|
port: discoveryPort(workspace.dev),
|
|
@@ -2284,6 +2307,7 @@ async function workspaceDevCommand(configured, options) {
|
|
|
2284
2307
|
},
|
|
2285
2308
|
allowedOrigins: workspace.dev?.allowedOrigins ?? [],
|
|
2286
2309
|
...reconciled.manifest ? { manifest: reconciled.manifest } : {},
|
|
2310
|
+
...workspaceTelemetry ? { telemetry: workspaceTelemetry } : {},
|
|
2287
2311
|
apps: buildOrder.flatMap((name) => {
|
|
2288
2312
|
const app = workspace.apps[name];
|
|
2289
2313
|
if (!app) return [];
|
|
@@ -2481,6 +2505,18 @@ var EntryRunner = class {
|
|
|
2481
2505
|
}
|
|
2482
2506
|
};
|
|
2483
2507
|
/**
|
|
2508
|
+
* Where the local OpenObserve is, and who signs in to it, when reconcile runs
|
|
2509
|
+
* one — for the discovery endpoint, which is told no password.
|
|
2510
|
+
*/
|
|
2511
|
+
function telemetryUiOf(services) {
|
|
2512
|
+
const ui = services.find((s) => s.container === require_seeds.TELEMETRY_CONTAINER);
|
|
2513
|
+
if (!ui) return void 0;
|
|
2514
|
+
return {
|
|
2515
|
+
url: ui.address,
|
|
2516
|
+
email: require_seeds.LOCAL_LOGS_EMAIL
|
|
2517
|
+
};
|
|
2518
|
+
}
|
|
2519
|
+
/**
|
|
2484
2520
|
* Generate the content of the dev server entry file (server.ts).
|
|
2485
2521
|
* Uses dynamic import for createApp so Credentials are populated
|
|
2486
2522
|
* before any app modules evaluate.
|
|
@@ -2526,6 +2562,7 @@ if (existsSync(secretsPath)) {
|
|
|
2526
2562
|
injectWs(server);
|
|
2527
2563
|
console.log('🔌 Telescope real-time updates enabled');
|
|
2528
2564
|
}`;
|
|
2565
|
+
const telemetry = require_EndpointGenerator.startTelemetryCode(["/health", "/ready"]);
|
|
2529
2566
|
if (selfServing) return `#!/usr/bin/env node
|
|
2530
2567
|
/**
|
|
2531
2568
|
* Development server entry point for a surface that serves itself
|
|
@@ -2535,8 +2572,17 @@ ${credentialsInjection}${parentWatch}const port = process.argv.includes('--port'
|
|
|
2535
2572
|
? Number.parseInt(process.argv[process.argv.indexOf('--port') + 1])
|
|
2536
2573
|
: 3000;
|
|
2537
2574
|
|
|
2575
|
+
${telemetry}
|
|
2538
2576
|
// Dynamic import so Credentials are populated before the surface evaluates
|
|
2539
|
-
const { app } = await import('${appImportPath}');
|
|
2577
|
+
const { app: surface } = await import('${appImportPath}');
|
|
2578
|
+
|
|
2579
|
+
// Behind the request spans when there are any, as the production server is.
|
|
2580
|
+
const { Hono } = await import('hono');
|
|
2581
|
+
const app = requestSpans ? new Hono() : surface;
|
|
2582
|
+
if (requestSpans) {
|
|
2583
|
+
${require_EndpointGenerator.mountRequestSpansCode("app").trim().replace(/\n/g, "\n ")}
|
|
2584
|
+
app.route('/', surface);
|
|
2585
|
+
}
|
|
2540
2586
|
|
|
2541
2587
|
${serveCode.replace(/^ {4}/gm, "")}
|
|
2542
2588
|
`;
|
|
@@ -2549,11 +2595,16 @@ ${credentialsInjection}${parentWatch}const port = process.argv.includes('--port'
|
|
|
2549
2595
|
? Number.parseInt(process.argv[process.argv.indexOf('--port') + 1])
|
|
2550
2596
|
: 3000;
|
|
2551
2597
|
|
|
2598
|
+
${telemetry}
|
|
2552
2599
|
// Dynamic import so Credentials are populated before env.ts evaluates
|
|
2553
2600
|
const { createApp } = await import('${appImportPath}');
|
|
2554
2601
|
|
|
2602
|
+
// The span middleware first, as the production server mounts it.
|
|
2603
|
+
const { Hono } = await import('hono');
|
|
2604
|
+
const root = new Hono();
|
|
2605
|
+
${require_EndpointGenerator.mountRequestSpansCode("root")}
|
|
2555
2606
|
// createApp is async to support optional WebSocket setup
|
|
2556
|
-
const { app, start } = await createApp(
|
|
2607
|
+
const { app, start } = await createApp(root, ${enableOpenApi});
|
|
2557
2608
|
|
|
2558
2609
|
// Start the server
|
|
2559
2610
|
start({
|
|
@@ -2995,6 +3046,7 @@ export default app;
|
|
|
2995
3046
|
*/
|
|
2996
3047
|
async function writeSurfaceServer(outputDir, options) {
|
|
2997
3048
|
await (0, node_fs_promises.mkdir)(outputDir, { recursive: true });
|
|
3049
|
+
await require_EndpointGenerator.writeTelemetryModule(outputDir, options.telemetry);
|
|
2998
3050
|
const shutdown = options.gracefulShutdown ? `
|
|
2999
3051
|
// Stop taking requests, let in-flight ones finish, then close what the
|
|
3000
3052
|
// construct opened — bounded by GKM_SHUTDOWN_TIMEOUT_MS, under Docker's 10s
|
|
@@ -3021,12 +3073,14 @@ process.on('SIGINT', shutdown);
|
|
|
3021
3073
|
*/
|
|
3022
3074
|
import { serve } from '@hono/node-server';
|
|
3023
3075
|
import { Hono } from 'hono';
|
|
3024
|
-
${options.gracefulShutdown ? "import { runShutdownHooks } from '@geekmidas/constructs';\n" : ""}
|
|
3076
|
+
${options.gracefulShutdown ? "import { runShutdownHooks } from '@geekmidas/constructs';\n" : ""}
|
|
3077
|
+
${require_EndpointGenerator.startTelemetryCode([options.healthCheck])}
|
|
3078
|
+
const { app: surface } = await import('./app.js');
|
|
3025
3079
|
|
|
3026
3080
|
const port = Number(process.env.PORT) || 3000;
|
|
3027
3081
|
|
|
3028
3082
|
const app = new Hono();
|
|
3029
|
-
// First, so a probe is answered without reaching the surface's own routes.
|
|
3083
|
+
${require_EndpointGenerator.mountRequestSpansCode("app")}// First, so a probe is answered without reaching the surface's own routes.
|
|
3030
3084
|
app.get(${JSON.stringify(options.healthCheck)}, (c) =>
|
|
3031
3085
|
c.json({ status: 'ok', timestamp: Date.now() }),
|
|
3032
3086
|
);
|
|
@@ -3223,11 +3277,23 @@ async function buildApp(input) {
|
|
|
3223
3277
|
});
|
|
3224
3278
|
if (selfServing) {
|
|
3225
3279
|
await writeSurfaceEntry((0, node_path.join)(appRoot, ".gkm", "server"), selfServing.source);
|
|
3280
|
+
const telemetry = require_EndpointGenerator.telemetryFor({
|
|
3281
|
+
node: require_seeds.telemetryOf(declared, selfServing.id),
|
|
3282
|
+
appRoot,
|
|
3283
|
+
app: appNameOf(input),
|
|
3284
|
+
cwd: workspaceRoot,
|
|
3285
|
+
serviceName: selfServing.id,
|
|
3286
|
+
...input.workspaceName && { workspaceName: input.workspaceName }
|
|
3287
|
+
});
|
|
3288
|
+
await require_EndpointGenerator.writeTelemetryModule((0, node_path.join)(appRoot, ".gkm", "server"), telemetry);
|
|
3226
3289
|
logger$4.log(`Generated a server for ${selfServing.id} from its own declaration`);
|
|
3227
3290
|
if (production?.bundle && !input.skipBundle) {
|
|
3228
3291
|
const outputDir = (0, node_path.join)(appRoot, ".gkm", "server");
|
|
3229
|
-
const entryPoint = await writeSurfaceServer(outputDir,
|
|
3230
|
-
|
|
3292
|
+
const entryPoint = await writeSurfaceServer(outputDir, {
|
|
3293
|
+
...production,
|
|
3294
|
+
...telemetry ? { telemetry } : {}
|
|
3295
|
+
});
|
|
3296
|
+
const { bundleServer } = await Promise.resolve().then(() => require("./bundler-lEBH8ENP.cjs"));
|
|
3231
3297
|
await bundleServer({
|
|
3232
3298
|
entryPoint,
|
|
3233
3299
|
outputDir: (0, node_path.join)(outputDir, "dist"),
|
|
@@ -3262,12 +3328,7 @@ async function buildApp(input) {
|
|
|
3262
3328
|
events: eventsBackends
|
|
3263
3329
|
}),
|
|
3264
3330
|
eventsBackends,
|
|
3265
|
-
markOptional: input.markOptional ?? false
|
|
3266
|
-
...production && { telemetry: require_EndpointGenerator.telemetryFor({
|
|
3267
|
-
appRoot,
|
|
3268
|
-
surfaceId: derived.surface?.id,
|
|
3269
|
-
workspaceName: input.workspaceName
|
|
3270
|
-
}) }
|
|
3331
|
+
markOptional: input.markOptional ?? false
|
|
3271
3332
|
};
|
|
3272
3333
|
const endpointGenerator = new require_EndpointGenerator.EndpointGenerator();
|
|
3273
3334
|
const functionGenerator = new FunctionGenerator();
|
|
@@ -3285,6 +3346,15 @@ async function buildApp(input) {
|
|
|
3285
3346
|
topicGenerator.load(code, appRoot, bustCache)
|
|
3286
3347
|
]);
|
|
3287
3348
|
const allEndpoints = servedBy(loadedEndpoints, derived.surface);
|
|
3349
|
+
if (target === "server") buildContext.telemetry = require_EndpointGenerator.telemetryFor({
|
|
3350
|
+
node: derived.surface ? require_seeds.telemetryOf(declared, derived.surface.id) : void 0,
|
|
3351
|
+
appRoot,
|
|
3352
|
+
app: appNameOf(input),
|
|
3353
|
+
cwd: workspaceRoot,
|
|
3354
|
+
serviceName: derived.surface?.id ?? (0, node_path.basename)(appRoot),
|
|
3355
|
+
...input.workspaceName && { workspaceName: input.workspaceName },
|
|
3356
|
+
routes: require_EndpointGenerator.routeTelemetry(allEndpoints.map(({ construct }) => construct))
|
|
3357
|
+
});
|
|
3288
3358
|
logger$4.log(`Found ${allEndpoints.length} endpoints`);
|
|
3289
3359
|
logger$4.log(`Found ${allFunctions.length} functions`);
|
|
3290
3360
|
logger$4.log(`Found ${allCrons.length} crons`);
|
|
@@ -3312,6 +3382,14 @@ async function buildApp(input) {
|
|
|
3312
3382
|
const appName = Object.entries(input.workspace.apps).find(([, app]) => (0, node_path.resolve)(input.workspace.root, app.path) === (0, node_path.resolve)(appRoot))?.[0];
|
|
3313
3383
|
await buildWorkers({
|
|
3314
3384
|
context: buildContext,
|
|
3385
|
+
telemetry: (workerId) => require_EndpointGenerator.telemetryFor({
|
|
3386
|
+
node: require_seeds.telemetryOf(declared, workerId),
|
|
3387
|
+
appRoot,
|
|
3388
|
+
app: appNameOf(input),
|
|
3389
|
+
cwd: workspaceRoot,
|
|
3390
|
+
serviceName: workerId,
|
|
3391
|
+
...input.workspaceName && { workspaceName: input.workspaceName }
|
|
3392
|
+
}),
|
|
3315
3393
|
workers: require_seeds.workerUnits(input.workspace, declared, background).filter((unit) => unit.app === appName),
|
|
3316
3394
|
serverDir: (0, node_path.join)(appRoot, ".gkm", "server"),
|
|
3317
3395
|
crons: allCrons,
|
|
@@ -3323,7 +3401,14 @@ async function buildApp(input) {
|
|
|
3323
3401
|
}
|
|
3324
3402
|
await require_openapi.generateOpenApi(allEndpoints.map(({ construct }) => construct), {
|
|
3325
3403
|
openapi: config.openapi,
|
|
3326
|
-
root: workspaceRoot
|
|
3404
|
+
root: workspaceRoot,
|
|
3405
|
+
...derived.surface ? clientTelemetry({
|
|
3406
|
+
manifest: declared,
|
|
3407
|
+
surfaceId: derived.surface.id,
|
|
3408
|
+
telemetry: input.workspace?.deploy?.telemetry,
|
|
3409
|
+
stage: input.stage,
|
|
3410
|
+
localStage: input.workspace?.stages.local ?? config.stages?.local
|
|
3411
|
+
}) : {}
|
|
3327
3412
|
});
|
|
3328
3413
|
return {
|
|
3329
3414
|
...result,
|
|
@@ -3341,9 +3426,11 @@ async function buildWorkers(input) {
|
|
|
3341
3426
|
const crons = owned(input.crons);
|
|
3342
3427
|
const queues = owned(input.queues);
|
|
3343
3428
|
const subscribers = owned(input.subscribers);
|
|
3429
|
+
const telemetry = input.telemetry(worker.id);
|
|
3344
3430
|
const entryPoint = await generator.build({
|
|
3345
3431
|
context: input.context,
|
|
3346
3432
|
workerId: worker.id,
|
|
3433
|
+
...telemetry ? { telemetry } : {},
|
|
3347
3434
|
outputDir: require_seeds.workerEntryDir(input.serverDir, worker.id),
|
|
3348
3435
|
crons,
|
|
3349
3436
|
queues,
|
|
@@ -3351,7 +3438,7 @@ async function buildWorkers(input) {
|
|
|
3351
3438
|
});
|
|
3352
3439
|
logger$4.log(`Generated worker ${worker.id}: ${crons.length} crons, ${queues.length} queues, ${subscribers.length} subscribers`);
|
|
3353
3440
|
if (!input.bundle) continue;
|
|
3354
|
-
const { bundleServer } = await Promise.resolve().then(() => require("./bundler-
|
|
3441
|
+
const { bundleServer } = await Promise.resolve().then(() => require("./bundler-lEBH8ENP.cjs"));
|
|
3355
3442
|
const outfile = require_seeds.workerBundleName(worker.id);
|
|
3356
3443
|
await bundleServer({
|
|
3357
3444
|
entryPoint,
|
|
@@ -3370,6 +3457,22 @@ async function buildWorkers(input) {
|
|
|
3370
3457
|
logger$4.log(`✅ Bundle complete: .gkm/server/dist/${outfile}`);
|
|
3371
3458
|
}
|
|
3372
3459
|
}
|
|
3460
|
+
/**
|
|
3461
|
+
* Whether the surface's generated client propagates trace context, and at
|
|
3462
|
+
* what rate: on when a site that calls it has an edge to a `Telemetry`
|
|
3463
|
+
* construct, at the stage's sample rate — every trace locally, and on a build
|
|
3464
|
+
* for no stage. Off for a stage that sends no telemetry.
|
|
3465
|
+
*/
|
|
3466
|
+
function clientTelemetry(options) {
|
|
3467
|
+
if (!require_seeds.surfaceClientTraced(options.manifest, options.surfaceId)) return {};
|
|
3468
|
+
const local = !options.stage || options.stage === options.localStage;
|
|
3469
|
+
const sampleRate = require_workspace.stageSampleRate(options.telemetry, options.stage ?? "", local);
|
|
3470
|
+
return sampleRate === void 0 ? {} : { telemetry: { sampleRate } };
|
|
3471
|
+
}
|
|
3472
|
+
/** The app being built, by its workspace name or its directory's. */
|
|
3473
|
+
function appNameOf(input) {
|
|
3474
|
+
return (input.workspace ? Object.entries(input.workspace.apps).find(([, app]) => (0, node_path.resolve)(input.workspace.root, app.path) === (0, node_path.resolve)(input.appRoot))?.[0] : void 0) ?? (0, node_path.basename)(input.appRoot);
|
|
3475
|
+
}
|
|
3373
3476
|
async function buildForTarget(target, context, appRoot, workspaceRoot, endpointGenerator, functionGenerator, cronGenerator, subscriberGenerator, queueGenerator, topicGenerator, endpoints, functions, crons, subscribers, queues, topics, enableOpenApi, skipBundle, stage) {
|
|
3374
3477
|
const outputDir = (0, node_path.join)(appRoot, ".gkm", target);
|
|
3375
3478
|
await Promise.all([...SUPERSEDED_OUTPUT.map((dir) => (0, node_path.join)(appRoot, ".gkm", dir)), ...appRoot === workspaceRoot ? [] : [(0, node_path.join)(appRoot, ".gkm", "manifest")]].map((dir) => (0, node_fs_promises.rm)(dir, {
|
|
@@ -3421,7 +3524,7 @@ async function buildForTarget(target, context, appRoot, workspaceRoot, endpointG
|
|
|
3421
3524
|
let masterKey;
|
|
3422
3525
|
if (context.production?.bundle && !skipBundle) {
|
|
3423
3526
|
logger$4.log(`\n📦 Bundling production server...`);
|
|
3424
|
-
const { bundleServer } = await Promise.resolve().then(() => require("./bundler-
|
|
3527
|
+
const { bundleServer } = await Promise.resolve().then(() => require("./bundler-lEBH8ENP.cjs"));
|
|
3425
3528
|
const allConstructs = [
|
|
3426
3529
|
...endpoints.map((e) => e.construct),
|
|
3427
3530
|
...functions.map((f) => f.construct),
|
|
@@ -5123,25 +5226,25 @@ function loadPackageJson() {
|
|
|
5123
5226
|
* Run: pnpm --filter @geekmidas/cli sync-versions
|
|
5124
5227
|
*/
|
|
5125
5228
|
const GEEKMIDAS_VERSIONS = {
|
|
5126
|
-
"@geekmidas/audit": "~10.0.0-alpha.
|
|
5127
|
-
"@geekmidas/auth": "~10.0.0-alpha.
|
|
5128
|
-
"@geekmidas/cache": "~10.0.0-alpha.
|
|
5129
|
-
"@geekmidas/client": "~10.0.0-alpha.
|
|
5130
|
-
"@geekmidas/cloud": "~10.0.0-alpha.
|
|
5131
|
-
"@geekmidas/constructs": "~10.0.0-alpha.
|
|
5132
|
-
"@geekmidas/db": "~10.0.0-alpha.
|
|
5133
|
-
"@geekmidas/emailkit": "~10.0.0-alpha.
|
|
5134
|
-
"@geekmidas/envkit": "~10.0.0-alpha.
|
|
5135
|
-
"@geekmidas/errors": "~10.0.0-alpha.
|
|
5136
|
-
"@geekmidas/events": "~10.0.0-alpha.
|
|
5137
|
-
"@geekmidas/logger": "~10.0.0-alpha.
|
|
5138
|
-
"@geekmidas/manifest": "~10.0.0-alpha.
|
|
5139
|
-
"@geekmidas/rate-limit": "~10.0.0-alpha.
|
|
5140
|
-
"@geekmidas/schema": "~10.0.0-alpha.
|
|
5141
|
-
"@geekmidas/services": "~10.0.0-alpha.
|
|
5142
|
-
"@geekmidas/storage": "~10.0.0-alpha.
|
|
5143
|
-
"@geekmidas/telescope": "~10.0.0-alpha.
|
|
5144
|
-
"@geekmidas/testkit": "~10.0.0-alpha.
|
|
5229
|
+
"@geekmidas/audit": "~10.0.0-alpha.85",
|
|
5230
|
+
"@geekmidas/auth": "~10.0.0-alpha.85",
|
|
5231
|
+
"@geekmidas/cache": "~10.0.0-alpha.85",
|
|
5232
|
+
"@geekmidas/client": "~10.0.0-alpha.85",
|
|
5233
|
+
"@geekmidas/cloud": "~10.0.0-alpha.85",
|
|
5234
|
+
"@geekmidas/constructs": "~10.0.0-alpha.85",
|
|
5235
|
+
"@geekmidas/db": "~10.0.0-alpha.85",
|
|
5236
|
+
"@geekmidas/emailkit": "~10.0.0-alpha.85",
|
|
5237
|
+
"@geekmidas/envkit": "~10.0.0-alpha.85",
|
|
5238
|
+
"@geekmidas/errors": "~10.0.0-alpha.85",
|
|
5239
|
+
"@geekmidas/events": "~10.0.0-alpha.85",
|
|
5240
|
+
"@geekmidas/logger": "~10.0.0-alpha.85",
|
|
5241
|
+
"@geekmidas/manifest": "~10.0.0-alpha.85",
|
|
5242
|
+
"@geekmidas/rate-limit": "~10.0.0-alpha.85",
|
|
5243
|
+
"@geekmidas/schema": "~10.0.0-alpha.85",
|
|
5244
|
+
"@geekmidas/services": "~10.0.0-alpha.85",
|
|
5245
|
+
"@geekmidas/storage": "~10.0.0-alpha.85",
|
|
5246
|
+
"@geekmidas/telescope": "~10.0.0-alpha.85",
|
|
5247
|
+
"@geekmidas/testkit": "~10.0.0-alpha.85",
|
|
5145
5248
|
"@geekmidas/cli": `~${loadPackageJson().version}`
|
|
5146
5249
|
};
|
|
5147
5250
|
//#endregion
|
|
@@ -5542,7 +5645,7 @@ const COMMIT = /^[0-9a-f]{40}$/;
|
|
|
5542
5645
|
* The `uses:` value for the stages action, with a comment saying which CLI
|
|
5543
5646
|
* release the pinned commit is.
|
|
5544
5647
|
*/
|
|
5545
|
-
function stagesActionUses(commit = "
|
|
5648
|
+
function stagesActionUses(commit = "66f8094280d04ad763f978cdd0a55aeaa5b4180b", version = cliVersion()) {
|
|
5546
5649
|
return commit && COMMIT.test(commit) ? `${STAGES_ACTION}@${commit} # @geekmidas/cli ${version}` : `${STAGES_ACTION}@main # pin to a commit SHA: see the action's README`;
|
|
5547
5650
|
}
|
|
5548
5651
|
//#endregion
|
|
@@ -11214,7 +11317,7 @@ function testDatabases(reconciled) {
|
|
|
11214
11317
|
* starts without the reference data the app needs.
|
|
11215
11318
|
*/
|
|
11216
11319
|
async function migrateTestStage(workspace, env) {
|
|
11217
|
-
const { migrateAndSeed } = await Promise.resolve().then(() => require("./migrate-
|
|
11320
|
+
const { migrateAndSeed } = await Promise.resolve().then(() => require("./migrate-BBCp5blp.cjs"));
|
|
11218
11321
|
const { discover } = await Promise.resolve().then(() => require("./discover-D1It5r_h.cjs")).then((n) => n.discover_exports);
|
|
11219
11322
|
const sources = {};
|
|
11220
11323
|
const manifest = await discover({
|
|
@@ -11658,7 +11761,7 @@ program.command("migrate").description("Apply each database construct's migratio
|
|
|
11658
11761
|
try {
|
|
11659
11762
|
const globalOptions = program.opts();
|
|
11660
11763
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
11661
|
-
const { migrateCommand } = await Promise.resolve().then(() => require("./migrate-
|
|
11764
|
+
const { migrateCommand } = await Promise.resolve().then(() => require("./migrate-BBCp5blp.cjs"));
|
|
11662
11765
|
await migrateCommand({
|
|
11663
11766
|
...options,
|
|
11664
11767
|
...construct ? { construct } : {}
|
|
@@ -11672,7 +11775,7 @@ program.command("seed").description("Migrate, then run each database construct's
|
|
|
11672
11775
|
try {
|
|
11673
11776
|
const globalOptions = program.opts();
|
|
11674
11777
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
11675
|
-
const { seedCommand } = await Promise.resolve().then(() => require("./migrate-
|
|
11778
|
+
const { seedCommand } = await Promise.resolve().then(() => require("./migrate-BBCp5blp.cjs"));
|
|
11676
11779
|
await seedCommand({
|
|
11677
11780
|
...options,
|
|
11678
11781
|
...construct ? { construct } : {}
|
|
@@ -11686,7 +11789,7 @@ program.command("migration").description("Write a construct's next migration: an
|
|
|
11686
11789
|
try {
|
|
11687
11790
|
const globalOptions = program.opts();
|
|
11688
11791
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
11689
|
-
const { migrationCommand } = await Promise.resolve().then(() => require("./migrate-
|
|
11792
|
+
const { migrationCommand } = await Promise.resolve().then(() => require("./migrate-BBCp5blp.cjs"));
|
|
11690
11793
|
await migrationCommand({
|
|
11691
11794
|
construct,
|
|
11692
11795
|
...name ? { name } : {}
|
|
@@ -11794,7 +11897,7 @@ program.command("secrets:add").description("Build the keys a stage must be given
|
|
|
11794
11897
|
try {
|
|
11795
11898
|
const globalOptions = program.opts();
|
|
11796
11899
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
11797
|
-
const { secretsAddCommand } = await Promise.resolve().then(() => require("./add-
|
|
11900
|
+
const { secretsAddCommand } = await Promise.resolve().then(() => require("./add-CM7RLj89.cjs"));
|
|
11798
11901
|
await secretsAddCommand(options);
|
|
11799
11902
|
} catch (error) {
|
|
11800
11903
|
console.error(formatError(error));
|
|
@@ -11805,7 +11908,7 @@ program.command("encryption:rotate").description("Add a new current key to an En
|
|
|
11805
11908
|
try {
|
|
11806
11909
|
const globalOptions = program.opts();
|
|
11807
11910
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
11808
|
-
const { encryptionRotateCommand } = await Promise.resolve().then(() => require("./encryption-
|
|
11911
|
+
const { encryptionRotateCommand } = await Promise.resolve().then(() => require("./encryption-B8h8Tna0.cjs"));
|
|
11809
11912
|
await encryptionRotateCommand(construct, options);
|
|
11810
11913
|
} catch (error) {
|
|
11811
11914
|
console.error(formatError(error));
|
|
@@ -11816,7 +11919,7 @@ program.command("encryption:retire").description("Remove an old key from an Encr
|
|
|
11816
11919
|
try {
|
|
11817
11920
|
const globalOptions = program.opts();
|
|
11818
11921
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
11819
|
-
const { encryptionRetireCommand } = await Promise.resolve().then(() => require("./encryption-
|
|
11922
|
+
const { encryptionRetireCommand } = await Promise.resolve().then(() => require("./encryption-B8h8Tna0.cjs"));
|
|
11820
11923
|
await encryptionRetireCommand(construct, key, options);
|
|
11821
11924
|
} catch (error) {
|
|
11822
11925
|
console.error(formatError(error));
|
|
@@ -11859,7 +11962,7 @@ program.command("secrets:reconcile").description("Backfill missing custom secret
|
|
|
11859
11962
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
11860
11963
|
const { loadWorkspaceConfig } = await Promise.resolve().then(() => require("./config.cjs"));
|
|
11861
11964
|
const { reconcileMissingSecrets } = await Promise.resolve().then(() => require("./reconcile-CuCQBa5-.cjs"));
|
|
11862
|
-
const { secretsStoreFor } = await Promise.resolve().then(() => require("./seeds-
|
|
11965
|
+
const { secretsStoreFor } = await Promise.resolve().then(() => require("./seeds-B_Beuv0o.cjs")).then((n) => n.store_exports);
|
|
11863
11966
|
const { workspace } = await loadWorkspaceConfig();
|
|
11864
11967
|
const stage = options.stage ?? workspace.stages.local;
|
|
11865
11968
|
const store = await secretsStoreFor(workspace, stage);
|
|
@@ -11868,7 +11971,7 @@ program.command("secrets:reconcile").description("Backfill missing custom secret
|
|
|
11868
11971
|
console.error(`No secrets found for stage "${stage}". Run "gkm secrets:init --stage ${stage}" first.`);
|
|
11869
11972
|
process.exit(1);
|
|
11870
11973
|
}
|
|
11871
|
-
const { derivedContainers } = await Promise.resolve().then(() => require("./seeds-
|
|
11974
|
+
const { derivedContainers } = await Promise.resolve().then(() => require("./seeds-B_Beuv0o.cjs")).then((n) => n.workspace_exports);
|
|
11872
11975
|
const result = reconcileMissingSecrets(secrets, workspace, await derivedContainers(workspace, stage));
|
|
11873
11976
|
if (!result) {
|
|
11874
11977
|
console.log(`\n✓ Secrets for stage "${stage}" are up-to-date`);
|
|
@@ -11886,7 +11989,7 @@ program.command("secrets:migrate").description("Copy a deployed stage's secrets
|
|
|
11886
11989
|
try {
|
|
11887
11990
|
const globalOptions = program.opts();
|
|
11888
11991
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
11889
|
-
const { secretsMigrateCommand } = await Promise.resolve().then(() => require("./migrate-
|
|
11992
|
+
const { secretsMigrateCommand } = await Promise.resolve().then(() => require("./migrate-CPWn7A51.cjs"));
|
|
11890
11993
|
await secretsMigrateCommand(options);
|
|
11891
11994
|
} catch (error) {
|
|
11892
11995
|
console.error(formatError(error));
|
|
@@ -11894,7 +11997,7 @@ program.command("secrets:migrate").description("Copy a deployed stage's secrets
|
|
|
11894
11997
|
}
|
|
11895
11998
|
});
|
|
11896
11999
|
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 <list>", "Server targets: run MinIO and/or Mailpit (minio,mailpit) for mail and buckets the stage's secrets don't configure. Not production-grade").action(async (options) => {
|
|
11897
|
-
const { deployCli } = await Promise.resolve().then(() => require("./cli-
|
|
12000
|
+
const { deployCli } = await Promise.resolve().then(() => require("./cli-DQCBcNlN.cjs"));
|
|
11898
12001
|
const globalOptions = program.opts();
|
|
11899
12002
|
const code = await deployCli({
|
|
11900
12003
|
cwd: (0, node_path.resolve)(globalOptions.cwd ?? process.cwd()),
|
|
@@ -11911,7 +12014,7 @@ program.command("deploy").description("Deploy a stage through its target").optio
|
|
|
11911
12014
|
});
|
|
11912
12015
|
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) => {
|
|
11913
12016
|
try {
|
|
11914
|
-
const { rollbackStage } = await Promise.resolve().then(() => require("./rollback-
|
|
12017
|
+
const { rollbackStage } = await Promise.resolve().then(() => require("./rollback-CyIJ4xGJ.cjs")).then((n) => n.rollback_exports);
|
|
11915
12018
|
const { terminalCredentials } = await Promise.resolve().then(() => require("./terminal-BL5E0xbR.cjs"));
|
|
11916
12019
|
const globalOptions = program.opts();
|
|
11917
12020
|
await rollbackStage({
|
|
@@ -11947,7 +12050,7 @@ program.command("deploy:github").description("Let GitHub Actions deploy a stage:
|
|
|
11947
12050
|
try {
|
|
11948
12051
|
const globalOptions = program.opts();
|
|
11949
12052
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
11950
|
-
const { deployGithubCommand } = await Promise.resolve().then(() => require("./github-
|
|
12053
|
+
const { deployGithubCommand } = await Promise.resolve().then(() => require("./github-Cis9tYur.cjs"));
|
|
11951
12054
|
await deployGithubCommand(options);
|
|
11952
12055
|
} catch (error) {
|
|
11953
12056
|
console.error(formatError(error));
|
|
@@ -11958,7 +12061,7 @@ program.command("stages").description("The workspace's stages from gkm.config.ts
|
|
|
11958
12061
|
try {
|
|
11959
12062
|
const globalOptions = program.opts();
|
|
11960
12063
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
11961
|
-
const { stagesCommand } = await Promise.resolve().then(() => require("./stages-
|
|
12064
|
+
const { stagesCommand } = await Promise.resolve().then(() => require("./stages-CS1sjcRb.cjs"));
|
|
11962
12065
|
await stagesCommand(options);
|
|
11963
12066
|
} catch (error) {
|
|
11964
12067
|
console.error(formatError(error));
|