@geekmidas/cli 10.0.0-alpha.102 → 10.0.0-alpha.104
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-By5_tYE9.cjs → EndpointGenerator-BwbYTMtB.cjs} +2 -2
- package/dist/{EndpointGenerator-By5_tYE9.cjs.map → EndpointGenerator-BwbYTMtB.cjs.map} +1 -1
- package/dist/{EndpointGenerator-Br97xgs_.mjs → EndpointGenerator-CvLX8bpx.mjs} +2 -2
- package/dist/{EndpointGenerator-Br97xgs_.mjs.map → EndpointGenerator-CvLX8bpx.mjs.map} +1 -1
- package/dist/{GoDaddyProvider-u9MF-Dqk.mjs → GoDaddyProvider-CuPEbbjl.mjs} +2 -2
- package/dist/{GoDaddyProvider-u9MF-Dqk.mjs.map → GoDaddyProvider-CuPEbbjl.mjs.map} +1 -1
- package/dist/{GoDaddyProvider-BOuLf_Py.cjs → GoDaddyProvider-dezqtUth.cjs} +2 -2
- package/dist/{GoDaddyProvider-BOuLf_Py.cjs.map → GoDaddyProvider-dezqtUth.cjs.map} +1 -1
- package/dist/{LegacyStateStore-vhkx7Bbq.mjs → LegacyStateStore-Bc8FnHEB.mjs} +3 -3
- package/dist/{LegacyStateStore-vhkx7Bbq.mjs.map → LegacyStateStore-Bc8FnHEB.mjs.map} +1 -1
- package/dist/{LegacyStateStore-DWmHGNgH.cjs → LegacyStateStore-ecxYpm9-.cjs} +3 -3
- package/dist/{LegacyStateStore-DWmHGNgH.cjs.map → LegacyStateStore-ecxYpm9-.cjs.map} +1 -1
- package/dist/{LocalStateStore-BVKDADoG.cjs → LocalStateStore-Sf4B6kUn.cjs} +2 -2
- package/dist/{LocalStateStore-BVKDADoG.cjs.map → LocalStateStore-Sf4B6kUn.cjs.map} +1 -1
- package/dist/{LocalStateStore-FVsg0UoM.mjs → LocalStateStore-wSKMDDh5.mjs} +2 -2
- package/dist/{LocalStateStore-FVsg0UoM.mjs.map → LocalStateStore-wSKMDDh5.mjs.map} +1 -1
- package/dist/{OpenApiTsGenerator-BgSX_Z-e.cjs → OpenApiTsGenerator-BD6ZOQ51.cjs} +2 -2
- package/dist/{OpenApiTsGenerator-BgSX_Z-e.cjs.map → OpenApiTsGenerator-BD6ZOQ51.cjs.map} +1 -1
- package/dist/{OpenApiTsGenerator-C8aTX--y.mjs → OpenApiTsGenerator-DXXFXSbO.mjs} +2 -2
- package/dist/{OpenApiTsGenerator-C8aTX--y.mjs.map → OpenApiTsGenerator-DXXFXSbO.mjs.map} +1 -1
- package/dist/{S3StateStore-B8seZUsw.mjs → S3StateStore-BPlVpTfg.mjs} +2 -2
- package/dist/{S3StateStore-B8seZUsw.mjs.map → S3StateStore-BPlVpTfg.mjs.map} +1 -1
- package/dist/{S3StateStore-B_2gE9Un.cjs → S3StateStore-DQYjsYBl.cjs} +2 -2
- package/dist/{S3StateStore-B_2gE9Un.cjs.map → S3StateStore-DQYjsYBl.cjs.map} +1 -1
- package/dist/{SSMStateStore-DGTbBomw.mjs → SSMStateStore-De2PY12p.mjs} +2 -2
- package/dist/{SSMStateStore-DGTbBomw.mjs.map → SSMStateStore-De2PY12p.mjs.map} +1 -1
- package/dist/{SSMStateStore-CTDEI5Bi.cjs → SSMStateStore-P9OMZHkp.cjs} +2 -2
- package/dist/{SSMStateStore-CTDEI5Bi.cjs.map → SSMStateStore-P9OMZHkp.cjs.map} +1 -1
- package/dist/{SubscriberGenerator-BlIOdbi-.cjs → SubscriberGenerator-CeH7wbYt.cjs} +93 -12
- package/dist/SubscriberGenerator-CeH7wbYt.cjs.map +1 -0
- package/dist/{SubscriberGenerator-1-IsjIwF.mjs → SubscriberGenerator-DHnIYwUU.mjs} +82 -13
- package/dist/SubscriberGenerator-DHnIYwUU.mjs.map +1 -0
- package/dist/{add-BB2tLVc2.cjs → add-C_lp7-oD.cjs} +8 -9
- package/dist/add-C_lp7-oD.cjs.map +1 -0
- package/dist/{add-CIbhGE5v.mjs → add-Dgdsb3ox.mjs} +8 -9
- package/dist/add-Dgdsb3ox.mjs.map +1 -0
- package/dist/{bundler-Ba6BER3w.cjs → bundler-DBTA8gXs.cjs} +5 -5
- package/dist/{bundler-Ba6BER3w.cjs.map → bundler-DBTA8gXs.cjs.map} +1 -1
- package/dist/{bundler-CHjRYVKh.mjs → bundler-DVPoeMRa.mjs} +5 -5
- package/dist/{bundler-CHjRYVKh.mjs.map → bundler-DVPoeMRa.mjs.map} +1 -1
- package/dist/{cli-DOlkhrsh.mjs → cli-CGXOvWRP.mjs} +3 -3
- package/dist/{cli-DOlkhrsh.mjs.map → cli-CGXOvWRP.mjs.map} +1 -1
- package/dist/{cli-CtlqYRlN.cjs → cli-D7FyFbeC.cjs} +3 -3
- package/dist/{cli-CtlqYRlN.cjs.map → cli-D7FyFbeC.cjs.map} +1 -1
- package/dist/{compose-FDP_TaFt.mjs → compose-B8ND6s9C.mjs} +14 -11
- package/dist/{compose-FDP_TaFt.mjs.map → compose-B8ND6s9C.mjs.map} +1 -1
- package/dist/{compose-uAWLy-nR.cjs → compose-qbPKKAMC.cjs} +14 -11
- package/dist/compose-qbPKKAMC.cjs.map +1 -0
- package/dist/config.cjs +1 -1
- package/dist/config.mjs +1 -1
- package/dist/{credentialSchemas-DvitraL-.mjs → credentialSchemas-Cf5Pf8VE.mjs} +2 -2
- package/dist/{credentialSchemas-DvitraL-.mjs.map → credentialSchemas-Cf5Pf8VE.mjs.map} +1 -1
- package/dist/{credentialSchemas-DDda4Mmm.cjs → credentialSchemas-D_VUCDUh.cjs} +2 -2
- package/dist/{credentialSchemas-DDda4Mmm.cjs.map → credentialSchemas-D_VUCDUh.cjs.map} +1 -1
- package/dist/deploy/public.cjs +7 -7
- package/dist/deploy/public.mjs +7 -7
- package/dist/{deploy-DUUc3jV9.cjs → deploy-Bsxl6nyG.cjs} +8 -8
- package/dist/{deploy-DUUc3jV9.cjs.map → deploy-Bsxl6nyG.cjs.map} +1 -1
- package/dist/{deploy-DgZxTnGS.mjs → deploy-yLGEWuam.mjs} +8 -8
- package/dist/{deploy-DgZxTnGS.mjs.map → deploy-yLGEWuam.mjs.map} +1 -1
- package/dist/{discover-BfhVW_kT.cjs → discover-Bsr7HjqJ.cjs} +18 -2
- package/dist/{discover-BfhVW_kT.cjs.map → discover-Bsr7HjqJ.cjs.map} +1 -1
- package/dist/{discover-kziEht4W.mjs → discover-Ca8U75dl.mjs} +13 -3
- package/dist/{discover-kziEht4W.mjs.map → discover-Ca8U75dl.mjs.map} +1 -1
- package/dist/{dns-DDDCfj75.mjs → dns-BQrhafpk.mjs} +2 -2
- package/dist/{dns-DDDCfj75.mjs.map → dns-BQrhafpk.mjs.map} +1 -1
- package/dist/{dns-DnE_02tB.cjs → dns-BUUEztBH.cjs} +2 -2
- package/dist/{dns-DnE_02tB.cjs.map → dns-BUUEztBH.cjs.map} +1 -1
- package/dist/{dokploy-DBlGSdnb.mjs → dokploy-BuIvCaE1.mjs} +2 -2
- package/dist/{dokploy-DBlGSdnb.mjs.map → dokploy-BuIvCaE1.mjs.map} +1 -1
- package/dist/{dokploy-BrfdeVEu.cjs → dokploy-CCnoXmGV.cjs} +2 -2
- package/dist/{dokploy-BrfdeVEu.cjs.map → dokploy-CCnoXmGV.cjs.map} +1 -1
- package/dist/{drivers-C08LL4E8.mjs → drivers-D11JHxrD.mjs} +2 -2
- package/dist/{drivers-C08LL4E8.mjs.map → drivers-D11JHxrD.mjs.map} +1 -1
- package/dist/{drivers-BLU1fNs_.cjs → drivers-GKaA6ITM.cjs} +2 -2
- package/dist/{drivers-BLU1fNs_.cjs.map → drivers-GKaA6ITM.cjs.map} +1 -1
- package/dist/{encryption-CeW3xpE1.cjs → encryption-2KOlWvfq.cjs} +2 -2
- package/dist/{encryption-CeW3xpE1.cjs.map → encryption-2KOlWvfq.cjs.map} +1 -1
- package/dist/{encryption-DC8zsh2s.mjs → encryption-BFs3ItV9.mjs} +2 -2
- package/dist/{encryption-DC8zsh2s.mjs.map → encryption-BFs3ItV9.mjs.map} +1 -1
- package/dist/{engine-BXxvcxVq.cjs → engine-Bx_ea2_k.cjs} +6 -5
- package/dist/engine-Bx_ea2_k.cjs.map +1 -0
- package/dist/{engine-z0UClzE9.mjs → engine-vvr2EpTb.mjs} +6 -5
- package/dist/engine-vvr2EpTb.mjs.map +1 -0
- package/dist/{github-DWoFgxtl.cjs → github-BM6afosB.cjs} +5 -5
- package/dist/{github-DWoFgxtl.cjs.map → github-BM6afosB.cjs.map} +1 -1
- package/dist/{github-DJgO5z37.mjs → github-DuXBKTvr.mjs} +5 -5
- package/dist/{github-DJgO5z37.mjs.map → github-DuXBKTvr.mjs.map} +1 -1
- package/dist/index.cjs +185 -102
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +186 -103
- package/dist/index.mjs.map +1 -1
- package/dist/{migrate-B1OjPwUY.cjs → migrate-BQfq48xK.cjs} +2 -2
- package/dist/{migrate-B1OjPwUY.cjs.map → migrate-BQfq48xK.cjs.map} +1 -1
- package/dist/{migrate-DoI2hWNH.mjs → migrate-BlLFYSIx.mjs} +2 -2
- package/dist/{migrate-DoI2hWNH.mjs.map → migrate-BlLFYSIx.mjs.map} +1 -1
- package/dist/{migrate-DIVxoju6.mjs → migrate-CQal4P1q.mjs} +3 -3
- package/dist/{migrate-DIVxoju6.mjs.map → migrate-CQal4P1q.mjs.map} +1 -1
- package/dist/{migrate-CWSCkzu3.cjs → migrate-DXVzuw-s.cjs} +3 -3
- package/dist/{migrate-CWSCkzu3.cjs.map → migrate-DXVzuw-s.cjs.map} +1 -1
- package/dist/openapi.cjs +2 -2
- package/dist/openapi.mjs +2 -2
- package/dist/{ready-CzHNHhI6.mjs → ready-CVNE5Pix.mjs} +6 -6
- package/dist/{ready-CzHNHhI6.mjs.map → ready-CVNE5Pix.mjs.map} +1 -1
- package/dist/{ready-BtxiI7Qb.cjs → ready-DU7wvxWk.cjs} +6 -6
- package/dist/{ready-BtxiI7Qb.cjs.map → ready-DU7wvxWk.cjs.map} +1 -1
- package/dist/reconcile/public.cjs +1 -1
- package/dist/reconcile/public.mjs +1 -1
- package/dist/{resolve-WAwYMN6q.cjs → resolve-By_cw893.cjs} +3 -3
- package/dist/{resolve-WAwYMN6q.cjs.map → resolve-By_cw893.cjs.map} +1 -1
- package/dist/{resolve-pmXIdi9j.mjs → resolve-De9vfAnN.mjs} +3 -3
- package/dist/{resolve-pmXIdi9j.mjs.map → resolve-De9vfAnN.mjs.map} +1 -1
- package/dist/{rollback-CLtwbByg.mjs → rollback-YCj4_q9l.mjs} +4 -4
- package/dist/{rollback-CLtwbByg.mjs.map → rollback-YCj4_q9l.mjs.map} +1 -1
- package/dist/{rollback-Cz8F9xSB.cjs → rollback-dkinZaOv.cjs} +4 -4
- package/dist/{rollback-Cz8F9xSB.cjs.map → rollback-dkinZaOv.cjs.map} +1 -1
- package/dist/sandbox/credentials-worker.cjs +2 -2
- package/dist/sandbox/credentials-worker.mjs +2 -2
- package/dist/sandbox/discover-worker.cjs +1 -1
- package/dist/sandbox/discover-worker.mjs +1 -1
- package/dist/sandbox/migrate-worker.cjs +1 -1
- package/dist/sandbox/migrate-worker.mjs +1 -1
- package/dist/{seeds-Dk4WHhjU.cjs → seeds-CjBwLvWY.cjs} +40 -48
- package/dist/seeds-CjBwLvWY.cjs.map +1 -0
- package/dist/{seeds-BHKUAExH.mjs → seeds-DZGuovWF.mjs} +35 -49
- package/dist/seeds-DZGuovWF.mjs.map +1 -0
- package/dist/{sniffer-CaXl51vO.mjs → sniffer-bo0KeZsK.mjs} +7 -7
- package/dist/{sniffer-CaXl51vO.mjs.map → sniffer-bo0KeZsK.mjs.map} +1 -1
- package/dist/{sniffer-BjBZ01PE.cjs → sniffer-t0NsMNNP.cjs} +7 -7
- package/dist/{sniffer-BjBZ01PE.cjs.map → sniffer-t0NsMNNP.cjs.map} +1 -1
- package/dist/target/public.cjs +1 -1
- package/dist/target/public.mjs +1 -1
- package/dist/{terminal-Bs_lNQhL.mjs → terminal-CvRLxz6g.mjs} +2 -2
- package/dist/{terminal-Bs_lNQhL.mjs.map → terminal-CvRLxz6g.mjs.map} +1 -1
- package/dist/{terminal-CsQz4oT0.cjs → terminal-D_NRPW4W.cjs} +2 -2
- package/dist/{terminal-CsQz4oT0.cjs.map → terminal-D_NRPW4W.cjs.map} +1 -1
- package/dist/vitest.cjs +1 -1
- package/dist/vitest.mjs +1 -1
- package/package.json +15 -15
- package/dist/SubscriberGenerator-1-IsjIwF.mjs.map +0 -1
- package/dist/SubscriberGenerator-BlIOdbi-.cjs.map +0 -1
- package/dist/add-BB2tLVc2.cjs.map +0 -1
- package/dist/add-CIbhGE5v.mjs.map +0 -1
- package/dist/compose-uAWLy-nR.cjs.map +0 -1
- package/dist/engine-BXxvcxVq.cjs.map +0 -1
- package/dist/engine-z0UClzE9.mjs.map +0 -1
- package/dist/seeds-BHKUAExH.mjs.map +0 -1
- package/dist/seeds-Dk4WHhjU.cjs.map +0 -1
package/dist/index.mjs
CHANGED
|
@@ -3,27 +3,27 @@ import { n as __require, t as __exportAll } from "./rolldown-runtime-BhDjJH2R.mj
|
|
|
3
3
|
import { n as isGkmError, t as GkmError } from "./errors-D8Gwp5kU.mjs";
|
|
4
4
|
import { r as DEFAULT_TIMEOUT_MS, t as CommandFailed } from "./run-BJLIerMM.mjs";
|
|
5
5
|
import { a as getDokployCredentials, d as removeGoDaddyCredentials, f as storeDokployCredentials, i as getCredentialsPath, l as readCredentials, m as storeHostingerToken, o as getDokployRegistryId, p as storeGoDaddyToken, s as getDokployToken, u as removeDokployCredentials } from "./credentials-B5N5yKk6.mjs";
|
|
6
|
-
import { _ as sshTarget, a as stackOverrideFile, c as composeProject, d as stackPlan, f as EDGE_PROJECT, g as dockerHost, h as composeServer, i as ComposePushNeedsBuild, l as derivedCredentials, m as pinnedRef, o as edgeRef, p as parseDigests, r as ComposePinNeedsPull, s as removeEdgeRoutes, t as composeTarget, u as stackDir, v as dockerCompose, y as projectNetwork } from "./compose-
|
|
6
|
+
import { _ as sshTarget, a as stackOverrideFile, c as composeProject, d as stackPlan, f as EDGE_PROJECT, g as dockerHost, h as composeServer, i as ComposePushNeedsBuild, l as derivedCredentials, m as pinnedRef, o as edgeRef, p as parseDigests, r as ComposePinNeedsPull, s as removeEdgeRoutes, t as composeTarget, u as stackDir, v as dockerCompose, y as projectNetwork } from "./compose-B8ND6s9C.mjs";
|
|
7
7
|
import { A as InvalidStages, F as stageProblems, P as deployedProblems, R as stageSampleRate, a as allConstructGlobs, d as getAppGkmConfig, j as TEST_STAGE, u as getAppBuildOrder } from "./workspace-D1QbNd55.mjs";
|
|
8
|
-
import { b as runTime, d as BACKUPS_URL_KEY, f as RUNNER_PATH, g as backupDatabases, u as BACKUPS_SERVICE, v as backupFile, x as stageBackups, y as backupsPrefix } from "./dns-
|
|
9
|
-
import {
|
|
8
|
+
import { b as runTime, d as BACKUPS_URL_KEY, f as RUNNER_PATH, g as backupDatabases, u as BACKUPS_SERVICE, v as backupFile, x as stageBackups, y as backupsPrefix } from "./dns-BQrhafpk.mjs";
|
|
9
|
+
import { $t as workerUnits, At as isPortAvailable, Bt as maskPassword, Ct as cacheBackendFor, Dt as createCredentialsPreload, En as TELEMETRY_CONTAINER, G as CronGenerator, H as workerBundleName, Ht as toEmbeddableSecrets, It as secretsStoreFor, L as dockerCommand, Mn as surfaceClientTraced, Mt as loadPortState, Nn as telemetryOf, Nt as loadSecretsForApp, Ot as createEntryWrapper, Pt as prepareEntryCredentials, Q as assertDevServicesFlag, Qt as isUnder, Rn as describeServices, Tt as providerOf, U as workerEntryDir, Un as primaryPortKey, Ut as withCustomSecret, V as WorkerGenerator, Vn as portsOf, W as QueueGenerator, Wn as LOCAL_LOGS_EMAIL, Xt as imageBuildCredentials, Zt as isImageBuild, a as dnsResources, bt as pgClient, c as describeActor, dn as readLocalCredentials, dt as constructGlobs, fn as FileSecretsStore, ft as derivedContainers, gt as forgetState, hn as projectKey, ht as LOCAL_CA_PATH, in as postgresDatabaseNames, jn as scopeTelemetryEnv, jt as loadEnvFiles, kn as appTelemetry, kt as findAvailablePort, lt as FAKE_ENV, on as quoteIdentifier, pn as getKeyPath, pt as reconcileWorkspace, ut as backendsOf$1, wt as eventsBackendFor, xt as CLUSTER_DATABASE, zn as fakeKey } from "./seeds-DZGuovWF.mjs";
|
|
10
10
|
import { t as appKey } from "./derive-B4vDpzgP.mjs";
|
|
11
|
-
import {
|
|
11
|
+
import { l as isCacheBackend, n as assertTestCredentials, t as SubscriberGenerator } from "./SubscriberGenerator-DHnIYwUU.mjs";
|
|
12
12
|
import { n as deployIdentity } from "./identity-CBXr4wNi.mjs";
|
|
13
|
-
import { a as startTelemetryCode, c as parseTelemetryFlag, i as routeTelemetry, n as runtimeFor, o as telemetryFor, r as mountRequestSpansCode, s as writeTelemetryModule, t as EndpointGenerator } from "./EndpointGenerator-
|
|
14
|
-
import {
|
|
13
|
+
import { a as startTelemetryCode, c as parseTelemetryFlag, i as routeTelemetry, n as runtimeFor, o as telemetryFor, r as mountRequestSpansCode, s as writeTelemetryModule, t as EndpointGenerator } from "./EndpointGenerator-CvLX8bpx.mjs";
|
|
14
|
+
import { d as ConstructGenerator, i as discover, r as consumedBy, u as withOwningTsconfigJsx } from "./discover-Ca8U75dl.mjs";
|
|
15
15
|
import { ConfigNotFound, NotABackendApp, NotInAnApp, loadAppConfig, loadConfig, loadWorkspaceConfig, loadWorkspaceSettings, parseModuleConfig } from "./config.mjs";
|
|
16
|
-
import { d as awsEndpoint, f as awsProvisioningCredentials, t as deploy$1, u as awsClientConfig } from "./deploy-
|
|
16
|
+
import { d as awsEndpoint, f as awsProvisioningCredentials, t as deploy$1, u as awsClientConfig } from "./deploy-yLGEWuam.mjs";
|
|
17
17
|
import { generateOpenApi, openapiCommand, resolveOpenApiConfig } from "./openapi.mjs";
|
|
18
18
|
import { a as describeHolder, i as assignAppPorts, o as holderOf, r as appTag, s as withAppPorts, t as APP_TAG_ENV } from "./appPorts-C9z9Pzn9.mjs";
|
|
19
|
-
import { n as driversFor, r as eventsBackendsIn, t as cacheBackendsIn } from "./drivers-
|
|
19
|
+
import { n as driversFor, r as eventsBackendsIn, t as cacheBackendsIn } from "./drivers-D11JHxrD.mjs";
|
|
20
20
|
import { n as withCompute, r as withRoutes, t as manifestModule } from "./emit-C1e8qD08.mjs";
|
|
21
21
|
import { t as LocalSandbox } from "./local-BwC2v2Y8.mjs";
|
|
22
|
-
import { S as createStateStore, k as keyFingerprint, n as sniffAppEnvironment, o as DokployApi } from "./sniffer-
|
|
23
|
-
import { o as loadCredentialSchemas, t as CredentialsInvalid } from "./credentialSchemas-
|
|
24
|
-
import { t as LocalStateStore } from "./LocalStateStore-
|
|
22
|
+
import { S as createStateStore, k as keyFingerprint, n as sniffAppEnvironment, o as DokployApi } from "./sniffer-bo0KeZsK.mjs";
|
|
23
|
+
import { o as loadCredentialSchemas, t as CredentialsInvalid } from "./credentialSchemas-Cf5Pf8VE.mjs";
|
|
24
|
+
import { t as LocalStateStore } from "./LocalStateStore-wSKMDDh5.mjs";
|
|
25
25
|
import { a as getExecCommand, c as validateProjectName, i as findWorkspaceRoot, n as detectPackageManager$1, o as getInstallCommand, r as findWorkspacePackages, s as getRunCommand, t as checkDirectoryExists } from "./utils-D_fxUqvU.mjs";
|
|
26
|
-
import { a as writeTestHarness, i as TEST_MANIFEST_ENV, n as TEST_READY_FILE, t as TEST_READY_ENV } from "./ready-
|
|
26
|
+
import { a as writeTestHarness, i as TEST_MANIFEST_ENV, n as TEST_READY_FILE, t as TEST_READY_ENV } from "./ready-CVNE5Pix.mjs";
|
|
27
27
|
import { createRequire } from "node:module";
|
|
28
28
|
import { basename, dirname, isAbsolute, join, relative, resolve } from "node:path";
|
|
29
29
|
import { Command, Option } from "commander";
|
|
@@ -35,7 +35,7 @@ import { homedir } from "node:os";
|
|
|
35
35
|
import { execFile, execSync, spawn } from "node:child_process";
|
|
36
36
|
import { connect } from "node:net";
|
|
37
37
|
import { createHash, randomBytes, timingSafeEqual } from "node:crypto";
|
|
38
|
-
import { canonicalId, kebabCase, migrationFolder, provideKey, schemeBase, serviceKey } from "@geekmidas/manifest";
|
|
38
|
+
import { canonicalId, dependenciesOf, kebabCase, migrationFolder, provideKey, schemeBase, serviceKey } from "@geekmidas/manifest";
|
|
39
39
|
import { pathToFileURL } from "node:url";
|
|
40
40
|
import { promisify } from "node:util";
|
|
41
41
|
import fg from "fast-glob";
|
|
@@ -51,7 +51,7 @@ import crypto from "crypto";
|
|
|
51
51
|
import { Function } from "@geekmidas/constructs/functions";
|
|
52
52
|
import { Topic } from "@geekmidas/constructs/topic";
|
|
53
53
|
//#region package.json
|
|
54
|
-
var version = "10.0.0-alpha.
|
|
54
|
+
var version = "10.0.0-alpha.104";
|
|
55
55
|
//#endregion
|
|
56
56
|
//#region src/prompt.ts
|
|
57
57
|
/**
|
|
@@ -134,7 +134,7 @@ const logger$8 = console;
|
|
|
134
134
|
* Validate Dokploy token by making a test API call
|
|
135
135
|
*/
|
|
136
136
|
async function validateDokployToken(endpoint, token) {
|
|
137
|
-
const { DokployApi } = await import("./sniffer-
|
|
137
|
+
const { DokployApi } = await import("./sniffer-bo0KeZsK.mjs").then((n) => n.c);
|
|
138
138
|
return new DokployApi({
|
|
139
139
|
baseUrl: endpoint,
|
|
140
140
|
token
|
|
@@ -2347,7 +2347,8 @@ async function devCommand(options) {
|
|
|
2347
2347
|
skipBundle: true,
|
|
2348
2348
|
bustCache,
|
|
2349
2349
|
serveEmpty: true,
|
|
2350
|
-
workspaceName: workspace.name
|
|
2350
|
+
workspaceName: workspace.name,
|
|
2351
|
+
workspace
|
|
2351
2352
|
}));
|
|
2352
2353
|
logger$5.log(`🔨 Building ${workspaceAppName ?? "the app"}`);
|
|
2353
2354
|
const initial = await build();
|
|
@@ -2375,8 +2376,9 @@ async function devCommand(options) {
|
|
|
2375
2376
|
}
|
|
2376
2377
|
}
|
|
2377
2378
|
Object.assign(appSecrets, reconciled.env);
|
|
2379
|
+
const declared = reconciled.manifest;
|
|
2378
2380
|
const scoped = scopeTelemetryEnv(appSecrets, {
|
|
2379
|
-
uses:
|
|
2381
|
+
uses: declared !== void 0 && (appTelemetry(declared, workspaceAppName) !== void 0 || (initial.workers ?? []).some((id) => telemetryOf(declared, id) !== void 0)),
|
|
2380
2382
|
serviceName: workspaceAppName,
|
|
2381
2383
|
telemetry: reconciled.env
|
|
2382
2384
|
});
|
|
@@ -2728,9 +2730,9 @@ async function workspaceDevCommand(configured, options) {
|
|
|
2728
2730
|
for (const { id, port } of fakes) logger$5.log(`🎭 ${id} fake: http://localhost:${port}`);
|
|
2729
2731
|
logger$5.log(options.migrate || options.seed ? "🗄️ Migrating the databases" : "🗄️ Checking for pending migrations");
|
|
2730
2732
|
if (options.migrate || options.seed) {
|
|
2731
|
-
const { prepareDevDatabases } = await import("./migrate-
|
|
2733
|
+
const { prepareDevDatabases } = await import("./migrate-CQal4P1q.mjs");
|
|
2732
2734
|
await prepareDevDatabases(workspace, reconciled.env, { seed: !!options.seed });
|
|
2733
|
-
} else await import("./migrate-
|
|
2735
|
+
} else await import("./migrate-CQal4P1q.mjs").then(({ reportPendingMigrations }) => reportPendingMigrations(workspace, reconciled.env)).catch((error) => {
|
|
2734
2736
|
logger$5.log(`⚠️ Could not check for pending migrations: ${error instanceof Error ? error.message : String(error)}`);
|
|
2735
2737
|
});
|
|
2736
2738
|
const appUrls = {};
|
|
@@ -3466,6 +3468,29 @@ function restApis(declared) {
|
|
|
3466
3468
|
function servedSurface(declared, workspaceRoot, appRoot) {
|
|
3467
3469
|
return restApis(declared).find((d) => resolve(workspaceRoot, d.path) === resolve(appRoot));
|
|
3468
3470
|
}
|
|
3471
|
+
/**
|
|
3472
|
+
* The declarations one process reaches: the constructs it runs as — a surface,
|
|
3473
|
+
* a worker — what each declared an edge to, and what each runnable it runs
|
|
3474
|
+
* depends on or consumes.
|
|
3475
|
+
*
|
|
3476
|
+
* What decides which drivers its entry registers: a process that reaches no
|
|
3477
|
+
* cache never resolves a cache client because another process in the
|
|
3478
|
+
* workspace does.
|
|
3479
|
+
*/
|
|
3480
|
+
function reachedBy(declared, processes, runnables) {
|
|
3481
|
+
const reached = /* @__PURE__ */ new Set();
|
|
3482
|
+
for (const id of processes) {
|
|
3483
|
+
const declaration = declared[id];
|
|
3484
|
+
if (!declaration) continue;
|
|
3485
|
+
reached.add(id);
|
|
3486
|
+
for (const edge of dependenciesOf(declaration)) reached.add(edge.target);
|
|
3487
|
+
}
|
|
3488
|
+
for (const { construct } of runnables) {
|
|
3489
|
+
for (const id of construct.constructs ?? []) reached.add(canonicalId(id));
|
|
3490
|
+
for (const id of consumedBy(construct)) reached.add(id);
|
|
3491
|
+
}
|
|
3492
|
+
return Object.fromEntries(Object.entries(declared).filter(([id]) => reached.has(id)));
|
|
3493
|
+
}
|
|
3469
3494
|
//#endregion
|
|
3470
3495
|
//#region src/build/surfaceEntry.ts
|
|
3471
3496
|
/** Whether a construct serves itself, asked of the construct. */
|
|
@@ -3783,7 +3808,7 @@ async function buildApp(input) {
|
|
|
3783
3808
|
...production,
|
|
3784
3809
|
...telemetry ? { telemetry } : {}
|
|
3785
3810
|
});
|
|
3786
|
-
const { bundleServer } = await import("./bundler-
|
|
3811
|
+
const { bundleServer } = await import("./bundler-DVPoeMRa.mjs");
|
|
3787
3812
|
await bundleServer({
|
|
3788
3813
|
entryPoint,
|
|
3789
3814
|
outputDir: join(outputDir, "dist"),
|
|
@@ -3803,7 +3828,6 @@ async function buildApp(input) {
|
|
|
3803
3828
|
appRoot,
|
|
3804
3829
|
databaseApi
|
|
3805
3830
|
});
|
|
3806
|
-
const eventsBackends = eventsBackendsIn(declared, eventsBackend);
|
|
3807
3831
|
const buildContext = {
|
|
3808
3832
|
...derived,
|
|
3809
3833
|
telescope,
|
|
@@ -3812,12 +3836,6 @@ async function buildApp(input) {
|
|
|
3812
3836
|
constructGlobs,
|
|
3813
3837
|
cacheBackend,
|
|
3814
3838
|
emailBackend: "ses",
|
|
3815
|
-
storageDrivers: driversFor({
|
|
3816
|
-
appRoot,
|
|
3817
|
-
cache: cacheBackendsIn(declared, cacheBackend),
|
|
3818
|
-
events: eventsBackends
|
|
3819
|
-
}),
|
|
3820
|
-
eventsBackends,
|
|
3821
3839
|
markOptional: input.markOptional ?? false
|
|
3822
3840
|
};
|
|
3823
3841
|
const endpointGenerator = new EndpointGenerator();
|
|
@@ -3836,8 +3854,39 @@ async function buildApp(input) {
|
|
|
3836
3854
|
topicGenerator.load(code, appRoot, bustCache)
|
|
3837
3855
|
]);
|
|
3838
3856
|
const allEndpoints = servedBy(loadedEndpoints, derived.surface);
|
|
3857
|
+
const appName = appNameOf(input);
|
|
3858
|
+
const hosted = workerUnits(input.workspace, declared, background).filter((unit) => unit.app === appName);
|
|
3859
|
+
const hostedIds = new Set(hosted.map((unit) => unit.id));
|
|
3860
|
+
const appRootAbs = resolve(appRoot);
|
|
3861
|
+
const hostedHere = (list) => list.filter(({ construct, path }) => construct.owner !== void 0 ? hostedIds.has(construct.owner) : isUnder(path.absolute, appRootAbs));
|
|
3862
|
+
const hostedCrons = hostedHere(allCrons);
|
|
3863
|
+
const hostedQueues = hostedHere(allQueues);
|
|
3864
|
+
const hostedSubscribers = hostedHere(allSubscribers);
|
|
3865
|
+
const servesOnly = Boolean(production?.enabled && derived.surface);
|
|
3866
|
+
const inProcess = servesOnly ? {
|
|
3867
|
+
crons: [],
|
|
3868
|
+
queues: [],
|
|
3869
|
+
subscribers: []
|
|
3870
|
+
} : {
|
|
3871
|
+
crons: hostedCrons,
|
|
3872
|
+
queues: hostedQueues,
|
|
3873
|
+
subscribers: hostedSubscribers
|
|
3874
|
+
};
|
|
3875
|
+
const reach = derived.surface ? reachedBy(declared, [derived.surface.id, ...servesOnly ? [] : hosted.map((unit) => unit.id)], [
|
|
3876
|
+
...allEndpoints,
|
|
3877
|
+
...allFunctions,
|
|
3878
|
+
...inProcess.crons,
|
|
3879
|
+
...inProcess.queues,
|
|
3880
|
+
...inProcess.subscribers
|
|
3881
|
+
]) : declared;
|
|
3882
|
+
Object.assign(buildContext, runtimeDrivers({
|
|
3883
|
+
appRoot,
|
|
3884
|
+
reach,
|
|
3885
|
+
cacheBackend,
|
|
3886
|
+
eventsBackend
|
|
3887
|
+
}));
|
|
3839
3888
|
if (target === "server") buildContext.telemetry = telemetryFor({
|
|
3840
|
-
node:
|
|
3889
|
+
node: processTelemetry(declared, derived.surface?.id, servesOnly ? [] : hosted.map((unit) => unit.id)),
|
|
3841
3890
|
appRoot,
|
|
3842
3891
|
app: appNameOf(input),
|
|
3843
3892
|
cwd: workspaceRoot,
|
|
@@ -3855,40 +3904,37 @@ async function buildApp(input) {
|
|
|
3855
3904
|
logger$4.log("No endpoints, functions, crons, subscribers, queues, or topics found to process");
|
|
3856
3905
|
return {};
|
|
3857
3906
|
}
|
|
3858
|
-
if (
|
|
3859
|
-
|
|
3860
|
-
|
|
3861
|
-
|
|
3862
|
-
|
|
3863
|
-
|
|
3864
|
-
|
|
3865
|
-
|
|
3866
|
-
|
|
3867
|
-
].filter(([n]) => n > 0).map(([n, what]) => `${n} ${what}${n === 1 ? "" : "s"}`);
|
|
3868
|
-
if (left.length > 0) logger$4.log(`Serving ${derived.surface.id} only: leaving out ${left.join(", ")} — they run in a Worker's image`);
|
|
3869
|
-
}
|
|
3870
|
-
const result = await buildForTarget(target, buildContext, appRoot, workspaceRoot, endpointGenerator, functionGenerator, cronGenerator, subscriberGenerator, queueGenerator, topicGenerator, allEndpoints, allFunctions, allCrons, allSubscribers, allQueues, allTopics, enableOpenApi, input.skipBundle ?? false, input.stage);
|
|
3871
|
-
if (target === "server" && production?.enabled && input.workspace) {
|
|
3872
|
-
const appName = Object.entries(input.workspace.apps).find(([, app]) => resolve(input.workspace.root, app.path) === resolve(appRoot))?.[0];
|
|
3873
|
-
await buildWorkers({
|
|
3874
|
-
context: buildContext,
|
|
3875
|
-
telemetry: (workerId) => telemetryFor({
|
|
3876
|
-
node: telemetryOf(declared, workerId),
|
|
3907
|
+
if (servesOnly && production) buildContext.production = {
|
|
3908
|
+
...production,
|
|
3909
|
+
subscribers: "exclude"
|
|
3910
|
+
};
|
|
3911
|
+
const result = await buildForTarget(target, buildContext, appRoot, workspaceRoot, endpointGenerator, functionGenerator, cronGenerator, subscriberGenerator, queueGenerator, topicGenerator, allEndpoints, allFunctions, inProcess.crons, inProcess.subscribers, inProcess.queues, allTopics, enableOpenApi, input.skipBundle ?? false, input.stage);
|
|
3912
|
+
if (target === "server" && production?.enabled) await buildWorkers({
|
|
3913
|
+
context: (workerId, work) => ({
|
|
3914
|
+
...buildContext,
|
|
3915
|
+
...runtimeDrivers({
|
|
3877
3916
|
appRoot,
|
|
3878
|
-
|
|
3879
|
-
|
|
3880
|
-
|
|
3881
|
-
|
|
3882
|
-
|
|
3883
|
-
|
|
3884
|
-
|
|
3885
|
-
|
|
3886
|
-
|
|
3887
|
-
|
|
3888
|
-
|
|
3889
|
-
...input.
|
|
3890
|
-
})
|
|
3891
|
-
|
|
3917
|
+
reach: reachedBy(declared, [workerId], work),
|
|
3918
|
+
cacheBackend,
|
|
3919
|
+
eventsBackend
|
|
3920
|
+
})
|
|
3921
|
+
}),
|
|
3922
|
+
telemetry: (workerId) => telemetryFor({
|
|
3923
|
+
node: telemetryOf(declared, workerId),
|
|
3924
|
+
appRoot,
|
|
3925
|
+
app: appNameOf(input),
|
|
3926
|
+
cwd: workspaceRoot,
|
|
3927
|
+
serviceName: workerId,
|
|
3928
|
+
...input.workspaceName && { workspaceName: input.workspaceName }
|
|
3929
|
+
}),
|
|
3930
|
+
workers: hosted,
|
|
3931
|
+
serverDir: join(appRoot, ".gkm", "server"),
|
|
3932
|
+
crons: hostedCrons,
|
|
3933
|
+
queues: hostedQueues,
|
|
3934
|
+
subscribers: hostedSubscribers,
|
|
3935
|
+
bundle: Boolean(production.bundle && !input.skipBundle),
|
|
3936
|
+
...input.stage ? { stage: input.stage } : {}
|
|
3937
|
+
});
|
|
3892
3938
|
await generateOpenApi(allEndpoints.map(({ construct }) => construct), {
|
|
3893
3939
|
openapi: config.openapi,
|
|
3894
3940
|
root: workspaceRoot,
|
|
@@ -3902,7 +3948,35 @@ async function buildApp(input) {
|
|
|
3902
3948
|
});
|
|
3903
3949
|
return {
|
|
3904
3950
|
...result,
|
|
3905
|
-
...buildContext.databaseApi ? { databaseApi: buildContext.databaseApi.path } : {}
|
|
3951
|
+
...buildContext.databaseApi ? { databaseApi: buildContext.databaseApi.path } : {},
|
|
3952
|
+
...!servesOnly && hosted.length > 0 ? { workers: hosted.map((unit) => unit.id) } : {}
|
|
3953
|
+
};
|
|
3954
|
+
}
|
|
3955
|
+
/**
|
|
3956
|
+
* The `Telemetry` node a process emits through: its surface's, or — where it
|
|
3957
|
+
* runs a worker's work, under `gkm dev` — that worker's.
|
|
3958
|
+
*/
|
|
3959
|
+
function processTelemetry(declared, surfaceId, workers) {
|
|
3960
|
+
for (const id of [...surfaceId ? [surfaceId] : [], ...workers]) {
|
|
3961
|
+
const node = telemetryOf(declared, id);
|
|
3962
|
+
if (node) return node;
|
|
3963
|
+
}
|
|
3964
|
+
}
|
|
3965
|
+
/**
|
|
3966
|
+
* The drivers a process's entry registers, from the declarations it reaches:
|
|
3967
|
+
* the cache's — the declaration for one that named its database, the deploy
|
|
3968
|
+
* target's default for one that named nowhere — and the broker's, only when
|
|
3969
|
+
* it reaches a topic or a queue (see `eventsBackendsIn`).
|
|
3970
|
+
*/
|
|
3971
|
+
function runtimeDrivers(options) {
|
|
3972
|
+
const eventsBackends = eventsBackendsIn(options.reach, options.eventsBackend);
|
|
3973
|
+
return {
|
|
3974
|
+
storageDrivers: driversFor({
|
|
3975
|
+
appRoot: options.appRoot,
|
|
3976
|
+
cache: cacheBackendsIn(options.reach, options.cacheBackend),
|
|
3977
|
+
events: eventsBackends
|
|
3978
|
+
}),
|
|
3979
|
+
eventsBackends
|
|
3906
3980
|
};
|
|
3907
3981
|
}
|
|
3908
3982
|
/**
|
|
@@ -3917,8 +3991,13 @@ async function buildWorkers(input) {
|
|
|
3917
3991
|
const queues = owned(input.queues);
|
|
3918
3992
|
const subscribers = owned(input.subscribers);
|
|
3919
3993
|
const telemetry = input.telemetry(worker.id);
|
|
3994
|
+
const context = input.context(worker.id, [
|
|
3995
|
+
...crons,
|
|
3996
|
+
...queues,
|
|
3997
|
+
...subscribers
|
|
3998
|
+
]);
|
|
3920
3999
|
const entryPoint = await generator.build({
|
|
3921
|
-
context
|
|
4000
|
+
context,
|
|
3922
4001
|
workerId: worker.id,
|
|
3923
4002
|
...telemetry ? { telemetry } : {},
|
|
3924
4003
|
outputDir: workerEntryDir(input.serverDir, worker.id),
|
|
@@ -3928,15 +4007,15 @@ async function buildWorkers(input) {
|
|
|
3928
4007
|
});
|
|
3929
4008
|
logger$4.log(`Generated worker ${worker.id}: ${crons.length} crons, ${queues.length} queues, ${subscribers.length} subscribers`);
|
|
3930
4009
|
if (!input.bundle) continue;
|
|
3931
|
-
const { bundleServer } = await import("./bundler-
|
|
4010
|
+
const { bundleServer } = await import("./bundler-DVPoeMRa.mjs");
|
|
3932
4011
|
const outfile = workerBundleName(worker.id);
|
|
3933
4012
|
await bundleServer({
|
|
3934
4013
|
entryPoint,
|
|
3935
4014
|
outputDir: join(input.serverDir, "dist"),
|
|
3936
4015
|
outfile,
|
|
3937
|
-
minify:
|
|
4016
|
+
minify: context.production?.minify ?? false,
|
|
3938
4017
|
sourcemap: false,
|
|
3939
|
-
external:
|
|
4018
|
+
external: context.production?.external ?? [],
|
|
3940
4019
|
...input.stage ? { stage: input.stage } : {},
|
|
3941
4020
|
constructs: [
|
|
3942
4021
|
...crons,
|
|
@@ -4014,7 +4093,7 @@ async function buildForTarget(target, context, appRoot, workspaceRoot, endpointG
|
|
|
4014
4093
|
let masterKey;
|
|
4015
4094
|
if (context.production?.bundle && !skipBundle) {
|
|
4016
4095
|
logger$4.log(`\n📦 Bundling production server...`);
|
|
4017
|
-
const { bundleServer } = await import("./bundler-
|
|
4096
|
+
const { bundleServer } = await import("./bundler-DVPoeMRa.mjs");
|
|
4018
4097
|
const allConstructs = [
|
|
4019
4098
|
...endpoints.map((e) => e.construct),
|
|
4020
4099
|
...functions.map((f) => f.construct),
|
|
@@ -5842,25 +5921,25 @@ function loadPackageJson() {
|
|
|
5842
5921
|
* Run: pnpm --filter @geekmidas/cli sync-versions
|
|
5843
5922
|
*/
|
|
5844
5923
|
const GEEKMIDAS_VERSIONS = {
|
|
5845
|
-
"@geekmidas/audit": "~10.0.0-alpha.
|
|
5846
|
-
"@geekmidas/auth": "~10.0.0-alpha.
|
|
5847
|
-
"@geekmidas/cache": "~10.0.0-alpha.
|
|
5848
|
-
"@geekmidas/client": "~10.0.0-alpha.
|
|
5849
|
-
"@geekmidas/cloud": "~10.0.0-alpha.
|
|
5850
|
-
"@geekmidas/constructs": "~10.0.0-alpha.
|
|
5851
|
-
"@geekmidas/db": "~10.0.0-alpha.
|
|
5852
|
-
"@geekmidas/emailkit": "~10.0.0-alpha.
|
|
5853
|
-
"@geekmidas/envkit": "~10.0.0-alpha.
|
|
5854
|
-
"@geekmidas/errors": "~10.0.0-alpha.
|
|
5855
|
-
"@geekmidas/events": "~10.0.0-alpha.
|
|
5856
|
-
"@geekmidas/logger": "~10.0.0-alpha.
|
|
5857
|
-
"@geekmidas/manifest": "~10.0.0-alpha.
|
|
5858
|
-
"@geekmidas/rate-limit": "~10.0.0-alpha.
|
|
5859
|
-
"@geekmidas/schema": "~10.0.0-alpha.
|
|
5860
|
-
"@geekmidas/services": "~10.0.0-alpha.
|
|
5861
|
-
"@geekmidas/storage": "~10.0.0-alpha.
|
|
5862
|
-
"@geekmidas/telescope": "~10.0.0-alpha.
|
|
5863
|
-
"@geekmidas/testkit": "~10.0.0-alpha.
|
|
5924
|
+
"@geekmidas/audit": "~10.0.0-alpha.104",
|
|
5925
|
+
"@geekmidas/auth": "~10.0.0-alpha.104",
|
|
5926
|
+
"@geekmidas/cache": "~10.0.0-alpha.104",
|
|
5927
|
+
"@geekmidas/client": "~10.0.0-alpha.104",
|
|
5928
|
+
"@geekmidas/cloud": "~10.0.0-alpha.104",
|
|
5929
|
+
"@geekmidas/constructs": "~10.0.0-alpha.104",
|
|
5930
|
+
"@geekmidas/db": "~10.0.0-alpha.104",
|
|
5931
|
+
"@geekmidas/emailkit": "~10.0.0-alpha.104",
|
|
5932
|
+
"@geekmidas/envkit": "~10.0.0-alpha.104",
|
|
5933
|
+
"@geekmidas/errors": "~10.0.0-alpha.104",
|
|
5934
|
+
"@geekmidas/events": "~10.0.0-alpha.104",
|
|
5935
|
+
"@geekmidas/logger": "~10.0.0-alpha.104",
|
|
5936
|
+
"@geekmidas/manifest": "~10.0.0-alpha.104",
|
|
5937
|
+
"@geekmidas/rate-limit": "~10.0.0-alpha.104",
|
|
5938
|
+
"@geekmidas/schema": "~10.0.0-alpha.104",
|
|
5939
|
+
"@geekmidas/services": "~10.0.0-alpha.104",
|
|
5940
|
+
"@geekmidas/storage": "~10.0.0-alpha.104",
|
|
5941
|
+
"@geekmidas/telescope": "~10.0.0-alpha.104",
|
|
5942
|
+
"@geekmidas/testkit": "~10.0.0-alpha.104",
|
|
5864
5943
|
"@geekmidas/cli": `~${loadPackageJson().version}`
|
|
5865
5944
|
};
|
|
5866
5945
|
//#endregion
|
|
@@ -6261,7 +6340,7 @@ const COMMIT = /^[0-9a-f]{40}$/;
|
|
|
6261
6340
|
* The `uses:` value for the stages action, with a comment saying which CLI
|
|
6262
6341
|
* release the pinned commit is.
|
|
6263
6342
|
*/
|
|
6264
|
-
function stagesActionUses(commit = "
|
|
6343
|
+
function stagesActionUses(commit = "088aa26a6c82b4916af4faddd5755e030fb459d5", version = cliVersion()) {
|
|
6265
6344
|
return commit && COMMIT.test(commit) ? `${STAGES_ACTION}@${commit} # @geekmidas/cli ${version}` : `${STAGES_ACTION}@main # pin to a commit SHA: see the action's README`;
|
|
6266
6345
|
}
|
|
6267
6346
|
//#endregion
|
|
@@ -11898,6 +11977,7 @@ async function testCommand(options = {}) {
|
|
|
11898
11977
|
secretsFileName: "test-secrets.json",
|
|
11899
11978
|
reconcileStage: "test"
|
|
11900
11979
|
});
|
|
11980
|
+
const credentials = result.reconciled ? assertTestCredentials(result.secretsRoot, result.reconciled.plan, result.credentials) : {};
|
|
11901
11981
|
let finalCredentials = { ...result.credentials };
|
|
11902
11982
|
if (result.appInfo) {
|
|
11903
11983
|
const sniffed = await sniffAppEnvironment(result.appInfo.app, result.appInfo.appName, result.appInfo.workspaceRoot, { logWarnings: false });
|
|
@@ -11905,7 +11985,10 @@ async function testCommand(options = {}) {
|
|
|
11905
11985
|
const needed = /* @__PURE__ */ new Set([...sniffed.requiredEnvVars, ...result.declaredKeys]);
|
|
11906
11986
|
const filtered = {};
|
|
11907
11987
|
for (const [key, value] of Object.entries(finalCredentials)) if (needed.has(key)) filtered[key] = value;
|
|
11908
|
-
finalCredentials =
|
|
11988
|
+
finalCredentials = {
|
|
11989
|
+
...filtered,
|
|
11990
|
+
...credentials
|
|
11991
|
+
};
|
|
11909
11992
|
console.log(` 🔍 Sniffed ${sniffed.requiredEnvVars.length} required env var(s)` + (result.declaredKeys.length > 0 ? `, kept ${result.declaredKeys.length} declared` : ""));
|
|
11910
11993
|
}
|
|
11911
11994
|
}
|
|
@@ -11999,8 +12082,8 @@ function testDatabases(reconciled) {
|
|
|
11999
12082
|
* starts without the reference data the app needs.
|
|
12000
12083
|
*/
|
|
12001
12084
|
async function migrateTestStage(workspace, env) {
|
|
12002
|
-
const { migrateAndSeed } = await import("./migrate-
|
|
12003
|
-
const { discover } = await import("./discover-
|
|
12085
|
+
const { migrateAndSeed } = await import("./migrate-CQal4P1q.mjs");
|
|
12086
|
+
const { discover } = await import("./discover-Ca8U75dl.mjs").then((n) => n.a);
|
|
12004
12087
|
const sources = {};
|
|
12005
12088
|
const manifest = await discover({
|
|
12006
12089
|
patterns: constructGlobs(workspace),
|
|
@@ -12435,7 +12518,7 @@ program.command("migrate").description("Apply each database construct's migratio
|
|
|
12435
12518
|
try {
|
|
12436
12519
|
const globalOptions = program.opts();
|
|
12437
12520
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
12438
|
-
const { migrateCommand } = await import("./migrate-
|
|
12521
|
+
const { migrateCommand } = await import("./migrate-CQal4P1q.mjs");
|
|
12439
12522
|
await migrateCommand({
|
|
12440
12523
|
...options,
|
|
12441
12524
|
...construct ? { construct } : {}
|
|
@@ -12448,7 +12531,7 @@ program.command("seed").description("Migrate, then run each database construct's
|
|
|
12448
12531
|
try {
|
|
12449
12532
|
const globalOptions = program.opts();
|
|
12450
12533
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
12451
|
-
const { seedCommand } = await import("./migrate-
|
|
12534
|
+
const { seedCommand } = await import("./migrate-CQal4P1q.mjs");
|
|
12452
12535
|
await seedCommand({
|
|
12453
12536
|
...options,
|
|
12454
12537
|
...construct ? { construct } : {}
|
|
@@ -12461,7 +12544,7 @@ program.command("migration").description("Write a construct's next migration: an
|
|
|
12461
12544
|
try {
|
|
12462
12545
|
const globalOptions = program.opts();
|
|
12463
12546
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
12464
|
-
const { migrationCommand } = await import("./migrate-
|
|
12547
|
+
const { migrationCommand } = await import("./migrate-CQal4P1q.mjs");
|
|
12465
12548
|
await migrationCommand({
|
|
12466
12549
|
construct,
|
|
12467
12550
|
...name ? { name } : {}
|
|
@@ -12561,7 +12644,7 @@ program.command("secrets:add").description("Build the keys a stage must be given
|
|
|
12561
12644
|
try {
|
|
12562
12645
|
const globalOptions = program.opts();
|
|
12563
12646
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
12564
|
-
const { secretsAddCommand } = await import("./add-
|
|
12647
|
+
const { secretsAddCommand } = await import("./add-Dgdsb3ox.mjs");
|
|
12565
12648
|
await secretsAddCommand(options);
|
|
12566
12649
|
} catch (error) {
|
|
12567
12650
|
exitWithError(error);
|
|
@@ -12571,7 +12654,7 @@ program.command("encryption:rotate").description("Add a new current key to an En
|
|
|
12571
12654
|
try {
|
|
12572
12655
|
const globalOptions = program.opts();
|
|
12573
12656
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
12574
|
-
const { encryptionRotateCommand } = await import("./encryption-
|
|
12657
|
+
const { encryptionRotateCommand } = await import("./encryption-BFs3ItV9.mjs");
|
|
12575
12658
|
await encryptionRotateCommand(construct, options);
|
|
12576
12659
|
} catch (error) {
|
|
12577
12660
|
exitWithError(error);
|
|
@@ -12581,7 +12664,7 @@ program.command("encryption:retire").description("Remove an old key from an Encr
|
|
|
12581
12664
|
try {
|
|
12582
12665
|
const globalOptions = program.opts();
|
|
12583
12666
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
12584
|
-
const { encryptionRetireCommand } = await import("./encryption-
|
|
12667
|
+
const { encryptionRetireCommand } = await import("./encryption-BFs3ItV9.mjs");
|
|
12585
12668
|
await encryptionRetireCommand(construct, key, options);
|
|
12586
12669
|
} catch (error) {
|
|
12587
12670
|
exitWithError(error);
|
|
@@ -12620,7 +12703,7 @@ program.command("secrets:reconcile").description("Backfill missing custom secret
|
|
|
12620
12703
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
12621
12704
|
const { loadWorkspaceConfig } = await import("./config.mjs");
|
|
12622
12705
|
const { reconcileMissingSecrets } = await import("./reconcile--I7V4Klj.mjs");
|
|
12623
|
-
const { secretsStoreFor } = await import("./seeds-
|
|
12706
|
+
const { secretsStoreFor } = await import("./seeds-DZGuovWF.mjs").then((n) => n.Rt);
|
|
12624
12707
|
const { workspace } = await loadWorkspaceConfig();
|
|
12625
12708
|
const stage = options.stage ?? workspace.stages.local;
|
|
12626
12709
|
const store = await secretsStoreFor(workspace, stage);
|
|
@@ -12629,7 +12712,7 @@ program.command("secrets:reconcile").description("Backfill missing custom secret
|
|
|
12629
12712
|
console.error(`No secrets found for stage "${stage}". Run "gkm secrets:init --stage ${stage}" first.`);
|
|
12630
12713
|
process.exit(1);
|
|
12631
12714
|
}
|
|
12632
|
-
const { derivedContainers } = await import("./seeds-
|
|
12715
|
+
const { derivedContainers } = await import("./seeds-DZGuovWF.mjs").then((n) => n.mt);
|
|
12633
12716
|
const result = reconcileMissingSecrets(secrets, workspace, await derivedContainers(workspace, stage));
|
|
12634
12717
|
if (!result) {
|
|
12635
12718
|
console.log(`\n✓ Secrets for stage "${stage}" are up-to-date`);
|
|
@@ -12646,14 +12729,14 @@ program.command("secrets:migrate").description("Copy a deployed stage's secrets
|
|
|
12646
12729
|
try {
|
|
12647
12730
|
const globalOptions = program.opts();
|
|
12648
12731
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
12649
|
-
const { secretsMigrateCommand } = await import("./migrate-
|
|
12732
|
+
const { secretsMigrateCommand } = await import("./migrate-BlLFYSIx.mjs");
|
|
12650
12733
|
await secretsMigrateCommand(options);
|
|
12651
12734
|
} catch (error) {
|
|
12652
12735
|
exitWithError(error);
|
|
12653
12736
|
}
|
|
12654
12737
|
});
|
|
12655
12738
|
program.command("deploy").description("Deploy a stage through its target").option("--target <name>", "Deploy target: dokploy, compose, sst, or one named in deploy.targets (default: deploy.default)").option("--provider <provider>", "[DEPRECATED] Use --target instead").requiredOption("--stage <stage>", "Deployment stage (e.g., production, staging)").option("--tag <tag>", "Image tag (default: stage-timestamp; compose: the commit). Compose pulls a given tag").option("--skip-push", "Skip pushing image to registry").option("--skip-build", "Skip build step (use existing build)").option("--json", "Write events as JSON lines instead of progress; never prompts").option("--dry-run", "Show what would be created or reused; change, build and push nothing").option("--atomic", "If the release fails, roll back every app it released, not only the failed ones").option("--allow-dev-services", "Server targets: run the dev service (MinIO, Mailpit) for every bucket and mail the stage doesn't account for. Not production-grade").option("--skip-dns", "Compose: neither write the public hosts' DNS records nor check they point at GKM_SERVER_IPV4 (a CDN or proxy in front, or records written elsewhere)").option("--rotate-keys", "Deployed stage: each provider issues its runtime keys a successor (the old one is deleted by the next deploy)").option("--retire-old-keys", "Deployed stage: delete a rotated-out key now instead of on the next deploy").action(async (options) => {
|
|
12656
|
-
const { deployCli } = await import("./cli-
|
|
12739
|
+
const { deployCli } = await import("./cli-CGXOvWRP.mjs");
|
|
12657
12740
|
const globalOptions = program.opts();
|
|
12658
12741
|
const code = await deployCli({
|
|
12659
12742
|
cwd: resolve(globalOptions.cwd ?? process.cwd()),
|
|
@@ -12673,8 +12756,8 @@ program.command("deploy").description("Deploy a stage through its target").optio
|
|
|
12673
12756
|
});
|
|
12674
12757
|
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) => {
|
|
12675
12758
|
try {
|
|
12676
|
-
const { rollbackStage } = await import("./rollback-
|
|
12677
|
-
const { terminalCredentials } = await import("./terminal-
|
|
12759
|
+
const { rollbackStage } = await import("./rollback-YCj4_q9l.mjs").then((n) => n.a);
|
|
12760
|
+
const { terminalCredentials } = await import("./terminal-CvRLxz6g.mjs");
|
|
12678
12761
|
const globalOptions = program.opts();
|
|
12679
12762
|
await rollbackStage({
|
|
12680
12763
|
cwd: resolve(globalOptions.cwd ?? process.cwd()),
|
|
@@ -12707,7 +12790,7 @@ program.command("deploy:github").description("Let GitHub Actions deploy a stage:
|
|
|
12707
12790
|
try {
|
|
12708
12791
|
const globalOptions = program.opts();
|
|
12709
12792
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
12710
|
-
const { deployGithubCommand } = await import("./github-
|
|
12793
|
+
const { deployGithubCommand } = await import("./github-DuXBKTvr.mjs");
|
|
12711
12794
|
await deployGithubCommand(options);
|
|
12712
12795
|
} catch (error) {
|
|
12713
12796
|
exitWithError(error);
|