@geekmidas/cli 10.0.0-alpha.88 → 10.0.0-alpha.89
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/GoDaddyProvider--36rw8cP.mjs +387 -0
- package/dist/GoDaddyProvider--36rw8cP.mjs.map +1 -0
- package/dist/GoDaddyProvider-DnRor066.cjs +387 -0
- package/dist/GoDaddyProvider-DnRor066.cjs.map +1 -0
- package/dist/{HostingerProvider-CVc3rLPB.mjs → HostingerProvider-BI6J7oJr.mjs} +2 -2
- package/dist/{HostingerProvider-CVc3rLPB.mjs.map → HostingerProvider-BI6J7oJr.mjs.map} +1 -1
- package/dist/{HostingerProvider-BCB1QJj1.cjs → HostingerProvider-CyTpG_jy.cjs} +2 -2
- package/dist/{HostingerProvider-BCB1QJj1.cjs.map → HostingerProvider-CyTpG_jy.cjs.map} +1 -1
- package/dist/{LegacyStateStore-CWG_HVC0.cjs → LegacyStateStore-BaBoYl59.cjs} +2 -2
- package/dist/{LegacyStateStore-CWG_HVC0.cjs.map → LegacyStateStore-BaBoYl59.cjs.map} +1 -1
- package/dist/{LegacyStateStore-B0R4LlX_.mjs → LegacyStateStore-CO7bzJCU.mjs} +2 -2
- package/dist/{LegacyStateStore-B0R4LlX_.mjs.map → LegacyStateStore-CO7bzJCU.mjs.map} +1 -1
- package/dist/{LocalStateStore-CLwa2DpK.cjs → LocalStateStore-CUWh2BWU.cjs} +2 -2
- package/dist/{LocalStateStore-CLwa2DpK.cjs.map → LocalStateStore-CUWh2BWU.cjs.map} +1 -1
- package/dist/{LocalStateStore-Q4vXg2ua.mjs → LocalStateStore-C_hYDv6I.mjs} +2 -2
- package/dist/{LocalStateStore-Q4vXg2ua.mjs.map → LocalStateStore-C_hYDv6I.mjs.map} +1 -1
- package/dist/{S3StateStore-Cea9_5gF.cjs → S3StateStore-O8EYfjfG.cjs} +2 -2
- package/dist/{S3StateStore-Cea9_5gF.cjs.map → S3StateStore-O8EYfjfG.cjs.map} +1 -1
- package/dist/{S3StateStore-CksKYKRa.mjs → S3StateStore-hIm8Rrmu.mjs} +2 -2
- package/dist/{S3StateStore-CksKYKRa.mjs.map → S3StateStore-hIm8Rrmu.mjs.map} +1 -1
- package/dist/{SSMStateStore-aBOTF018.cjs → SSMStateStore-DIzbiqCz.cjs} +2 -2
- package/dist/{SSMStateStore-aBOTF018.cjs.map → SSMStateStore-DIzbiqCz.cjs.map} +1 -1
- package/dist/{SSMStateStore-BszSCAS2.mjs → SSMStateStore-IvcjTk8h.mjs} +2 -2
- package/dist/{SSMStateStore-BszSCAS2.mjs.map → SSMStateStore-IvcjTk8h.mjs.map} +1 -1
- package/dist/SubscriberGenerator-BPqQf8fB.mjs.map +1 -1
- package/dist/SubscriberGenerator-BVn7cQ-2.cjs.map +1 -1
- package/dist/{add-5MZAXybv.cjs → add-C9qX4Juc.cjs} +30 -7
- package/dist/add-C9qX4Juc.cjs.map +1 -0
- package/dist/{add-D_jNqnfZ.mjs → add-v3tCbrpE.mjs} +30 -7
- package/dist/add-v3tCbrpE.mjs.map +1 -0
- package/dist/{bundler-1REMhKps.cjs → bundler-C4NmpRTD.cjs} +5 -5
- package/dist/{bundler-1REMhKps.cjs.map → bundler-C4NmpRTD.cjs.map} +1 -1
- package/dist/{bundler-BMo-JP5s.mjs → bundler-C_fCgcVO.mjs} +5 -5
- package/dist/{bundler-BMo-JP5s.mjs.map → bundler-C_fCgcVO.mjs.map} +1 -1
- package/dist/{cli-BL8ZHsLQ.cjs → cli-C85Dut8K.cjs} +6 -5
- package/dist/cli-C85Dut8K.cjs.map +1 -0
- package/dist/{cli-7edNFwGk.mjs → cli-REdO9X5b.mjs} +7 -6
- package/dist/cli-REdO9X5b.mjs.map +1 -0
- package/dist/{compose-xw86kVYi.cjs → compose-BvrhDwJ6.cjs} +556 -30
- package/dist/compose-BvrhDwJ6.cjs.map +1 -0
- package/dist/{compose-DbJhRQlh.mjs → compose-Dn0oAgQ0.mjs} +509 -31
- package/dist/compose-Dn0oAgQ0.mjs.map +1 -0
- package/dist/{config-DrCAyoH5.d.mts → config-CdEcTrjG.d.mts} +3 -3
- package/dist/{config-CpjsVxru.d.cts.map → config-CdEcTrjG.d.mts.map} +1 -1
- package/dist/{config-CpjsVxru.d.cts → config-pST7E0CS.d.cts} +3 -3
- package/dist/{config-DrCAyoH5.d.mts.map → config-pST7E0CS.d.cts.map} +1 -1
- package/dist/config.cjs +1 -1
- package/dist/config.d.cts +3 -3
- package/dist/config.d.mts +3 -3
- package/dist/config.mjs +1 -1
- package/dist/{credentials-tr26-KML.cjs → credentials-BKfIugu2.cjs} +47 -2
- package/dist/credentials-BKfIugu2.cjs.map +1 -0
- package/dist/{credentials-BgJ5mS_d.mjs → credentials-CnVqoXMb.mjs} +30 -3
- package/dist/credentials-CnVqoXMb.mjs.map +1 -0
- package/dist/deploy/public.cjs +10 -10
- package/dist/deploy/public.d.cts +9 -3
- package/dist/deploy/public.d.cts.map +1 -1
- package/dist/deploy/public.d.mts +9 -3
- package/dist/deploy/public.d.mts.map +1 -1
- package/dist/deploy/public.mjs +10 -10
- package/dist/{deploy-BTfmXd3g.mjs → deploy-BaERRh0Q.mjs} +10 -8
- package/dist/deploy-BaERRh0Q.mjs.map +1 -0
- package/dist/{deploy-CtbZj4zN.cjs → deploy-DbBGo3a6.cjs} +10 -8
- package/dist/deploy-DbBGo3a6.cjs.map +1 -0
- package/dist/{dokploy-r69yZaIt.mjs → dokploy-CMmD_ddX.mjs} +2 -2
- package/dist/{dokploy-r69yZaIt.mjs.map → dokploy-CMmD_ddX.mjs.map} +1 -1
- package/dist/{dokploy-TGk3oPwr.cjs → dokploy-DwAaKA9B.cjs} +2 -2
- package/dist/{dokploy-TGk3oPwr.cjs.map → dokploy-DwAaKA9B.cjs.map} +1 -1
- package/dist/{encryption-C-8Tt5Hh.mjs → encryption-BQmhq9_y.mjs} +3 -3
- package/dist/{encryption-C-8Tt5Hh.mjs.map → encryption-BQmhq9_y.mjs.map} +1 -1
- package/dist/{encryption-CDn7BH5O.cjs → encryption-BrN_9_CM.cjs} +3 -3
- package/dist/{encryption-CDn7BH5O.cjs.map → encryption-BrN_9_CM.cjs.map} +1 -1
- package/dist/{engine-jAINgiOB.mjs → engine-DILocOOH.mjs} +23 -404
- package/dist/engine-DILocOOH.mjs.map +1 -0
- package/dist/{engine-Bt5k_UMq.cjs → engine-DgHoFBMw.cjs} +25 -406
- package/dist/engine-DgHoFBMw.cjs.map +1 -0
- package/dist/{github-DFhuJQlp.cjs → github-Bf7pz6AV.cjs} +3 -3
- package/dist/{github-DFhuJQlp.cjs.map → github-Bf7pz6AV.cjs.map} +1 -1
- package/dist/{github-CZHAtwPT.mjs → github-xzg99wz8.mjs} +3 -3
- package/dist/{github-CZHAtwPT.mjs.map → github-xzg99wz8.mjs.map} +1 -1
- package/dist/{index-MnUJuUlj.d.mts → index-D-F_hTDz.d.cts} +21 -4
- package/dist/index-D-F_hTDz.d.cts.map +1 -0
- package/dist/{index-elsLJTUv.d.cts → index-YFNxR5Ns.d.mts} +21 -4
- package/dist/index-YFNxR5Ns.d.mts.map +1 -0
- package/dist/index.cjs +246 -63
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +247 -65
- package/dist/index.mjs.map +1 -1
- package/dist/{local-Cq8qdgNX.cjs → local-BjxDfPvy.cjs} +2 -2
- package/dist/{local-Cq8qdgNX.cjs.map → local-BjxDfPvy.cjs.map} +1 -1
- package/dist/{local-Ciq-bTPr.mjs → local-IuoIF3CT.mjs} +2 -2
- package/dist/{local-Ciq-bTPr.mjs.map → local-IuoIF3CT.mjs.map} +1 -1
- package/dist/{migrate-B1rVlwj1.cjs → migrate-7xayVtzL.cjs} +3 -3
- package/dist/{migrate-B1rVlwj1.cjs.map → migrate-7xayVtzL.cjs.map} +1 -1
- package/dist/{migrate-ggkPVJRC.mjs → migrate-CKLJ73OO.mjs} +4 -4
- package/dist/{migrate-ggkPVJRC.mjs.map → migrate-CKLJ73OO.mjs.map} +1 -1
- package/dist/{migrate-Dn7nK6sh.mjs → migrate-CpmO5qnl.mjs} +3 -3
- package/dist/{migrate-Dn7nK6sh.mjs.map → migrate-CpmO5qnl.mjs.map} +1 -1
- package/dist/{migrate-B16qgYTn.cjs → migrate-DPF7ZF8M.cjs} +3 -3
- package/dist/{migrate-B16qgYTn.cjs.map → migrate-DPF7ZF8M.cjs.map} +1 -1
- package/dist/openapi.cjs +1 -1
- package/dist/openapi.d.cts +1 -1
- package/dist/openapi.d.mts +1 -1
- package/dist/openapi.mjs +1 -1
- package/dist/reconcile/public.d.cts +1 -1
- package/dist/reconcile/public.d.mts +1 -1
- package/dist/{reconcile--I7V4Klj.mjs → reconcile-Dh1Jk7WE.mjs} +2 -2
- package/dist/{reconcile--I7V4Klj.mjs.map → reconcile-Dh1Jk7WE.mjs.map} +1 -1
- package/dist/{resolve-BSke45k6.mjs → resolve-Dv_weZoh.mjs} +4 -4
- package/dist/{resolve-BSke45k6.mjs.map → resolve-Dv_weZoh.mjs.map} +1 -1
- package/dist/{resolve-BXeXzpmU.cjs → resolve-dlKPFNgv.cjs} +4 -4
- package/dist/{resolve-BXeXzpmU.cjs.map → resolve-dlKPFNgv.cjs.map} +1 -1
- package/dist/{rollback-DFMiBWf0.cjs → rollback-65VVIdBM.cjs} +6 -6
- package/dist/{rollback-DFMiBWf0.cjs.map → rollback-65VVIdBM.cjs.map} +1 -1
- package/dist/{rollback-CEE6dse4.mjs → rollback-DpSU2DsD.mjs} +6 -6
- package/dist/{rollback-CEE6dse4.mjs.map → rollback-DpSU2DsD.mjs.map} +1 -1
- package/dist/{runtime-HabiNBtJ.d.mts → runtime-CN_kmqxo.d.cts} +2 -2
- package/dist/{runtime-D48ZKk8_.d.cts.map → runtime-CN_kmqxo.d.cts.map} +1 -1
- package/dist/{runtime-D48ZKk8_.d.cts → runtime-Cjvon3oj.d.mts} +2 -2
- package/dist/{runtime-HabiNBtJ.d.mts.map → runtime-Cjvon3oj.d.mts.map} +1 -1
- package/dist/{seeds-CsI0A_Ef.cjs → seeds-CN6tB-va.cjs} +646 -187
- package/dist/{seeds-CsI0A_Ef.cjs.map → seeds-CN6tB-va.cjs.map} +1 -1
- package/dist/{seeds-BYdrtZsC.mjs → seeds-perzdN81.mjs} +599 -164
- package/dist/seeds-perzdN81.mjs.map +1 -0
- package/dist/{sniffer-B0EU73bj.mjs → sniffer-BTtX3NUM.mjs} +3 -3
- package/dist/{sniffer-B0EU73bj.mjs.map → sniffer-BTtX3NUM.mjs.map} +1 -1
- package/dist/{sniffer-DJYupBeK.cjs → sniffer-IAQEpsQb.cjs} +3 -3
- package/dist/{sniffer-DJYupBeK.cjs.map → sniffer-IAQEpsQb.cjs.map} +1 -1
- package/dist/{sst-DAqUoZKG.cjs → sst-BgcOsaBi.cjs} +3 -3
- package/dist/{sst-DAqUoZKG.cjs.map → sst-BgcOsaBi.cjs.map} +1 -1
- package/dist/{sst-D1Qj4sIs.mjs → sst-CJzvyrEz.mjs} +3 -3
- package/dist/{sst-D1Qj4sIs.mjs.map → sst-CJzvyrEz.mjs.map} +1 -1
- package/dist/{stages-Brn3vcdy.cjs → stages-CUn6gvXL.cjs} +2 -2
- package/dist/{stages-Brn3vcdy.cjs.map → stages-CUn6gvXL.cjs.map} +1 -1
- package/dist/{stages-DoHHz6pS.mjs → stages-CnZRYmkI.mjs} +2 -2
- package/dist/{stages-DoHHz6pS.mjs.map → stages-CnZRYmkI.mjs.map} +1 -1
- package/dist/target/public.cjs +1 -1
- package/dist/target/public.d.cts +2 -2
- package/dist/target/public.d.mts +2 -2
- package/dist/target/public.mjs +1 -1
- package/dist/{terminal-BTbZlrFV.mjs → terminal-D8TPK7o9.mjs} +3 -3
- package/dist/{terminal-BTbZlrFV.mjs.map → terminal-D8TPK7o9.mjs.map} +1 -1
- package/dist/{terminal-COv23heb.cjs → terminal-DuapRxh6.cjs} +2 -2
- package/dist/{terminal-COv23heb.cjs.map → terminal-DuapRxh6.cjs.map} +1 -1
- package/dist/{types-0oAyFOfR.d.cts → types-NqX1Hz4P.d.cts} +210 -205
- package/dist/types-NqX1Hz4P.d.cts.map +1 -0
- package/dist/{types-BZ01tZs-.d.mts → types-ZHuZ89hv.d.mts} +210 -205
- package/dist/types-ZHuZ89hv.d.mts.map +1 -0
- package/dist/workspace/index.cjs +3 -1
- package/dist/workspace/index.d.cts +3 -3
- package/dist/workspace/index.d.mts +3 -3
- package/dist/workspace/index.mjs +2 -2
- package/dist/{workspace-D2CYLMCW.mjs → workspace-CJ0lKFq-.mjs} +231 -10
- package/dist/workspace-CJ0lKFq-.mjs.map +1 -0
- package/dist/{workspace-CT0JM3Y8.cjs → workspace-CwW3Gkru.cjs} +266 -9
- package/dist/workspace-CwW3Gkru.cjs.map +1 -0
- package/package.json +15 -15
- package/dist/add-5MZAXybv.cjs.map +0 -1
- package/dist/add-D_jNqnfZ.mjs.map +0 -1
- package/dist/cli-7edNFwGk.mjs.map +0 -1
- package/dist/cli-BL8ZHsLQ.cjs.map +0 -1
- package/dist/compose-DbJhRQlh.mjs.map +0 -1
- package/dist/compose-xw86kVYi.cjs.map +0 -1
- package/dist/credentials-BgJ5mS_d.mjs.map +0 -1
- package/dist/credentials-tr26-KML.cjs.map +0 -1
- package/dist/deploy-BTfmXd3g.mjs.map +0 -1
- package/dist/deploy-CtbZj4zN.cjs.map +0 -1
- package/dist/engine-Bt5k_UMq.cjs.map +0 -1
- package/dist/engine-jAINgiOB.mjs.map +0 -1
- package/dist/index-MnUJuUlj.d.mts.map +0 -1
- package/dist/index-elsLJTUv.d.cts.map +0 -1
- package/dist/seeds-BYdrtZsC.mjs.map +0 -1
- package/dist/types-0oAyFOfR.d.cts.map +0 -1
- package/dist/types-BZ01tZs-.d.mts.map +0 -1
- package/dist/workspace-CT0JM3Y8.cjs.map +0 -1
- package/dist/workspace-D2CYLMCW.mjs.map +0 -1
package/dist/index.mjs
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
#!/usr/bin/env -S npx tsx
|
|
2
2
|
import { n as __require, t as __exportAll } from "./rolldown-runtime-BhDjJH2R.mjs";
|
|
3
|
-
import { d as getDokployRegistryId, f as getDokployToken, g as
|
|
3
|
+
import { _ as storeDokployCredentials, d as getDokployRegistryId, f as getDokployToken, g as removeGoDaddyCredentials, h as removeDokployCredentials, i as CommandFailed, l as getCredentialsPath, m as readCredentials, o as DEFAULT_TIMEOUT_MS, t as MissingCredential, u as getDokployCredentials, v as storeGoDaddyToken, y as storeHostingerToken } from "./credentials-CnVqoXMb.mjs";
|
|
4
4
|
import { l as withOwningTsconfigJsx, r as discover, u as ConstructGenerator } from "./discover-BPelzeGW.mjs";
|
|
5
5
|
import { t as appKey } from "./derive-B4vDpzgP.mjs";
|
|
6
|
-
import {
|
|
6
|
+
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-CJ0lKFq-.mjs";
|
|
7
7
|
import { ConfigNotFound, NotABackendApp, NotInAnApp, loadAppConfig, loadConfig, loadWorkspaceConfig, loadWorkspaceSettings, parseModuleConfig } from "./config.mjs";
|
|
8
|
-
import {
|
|
8
|
+
import { $n as LOCAL_LOGS_EMAIL, $t as isImageBuild, An as prepareEntryCredentials, Cn as createCredentialsPreload, Dn as loadEnvFiles, Dt as LOCAL_CA_PATH, En as isPortAvailable, Fn as FileSecretsStore, Ft as quoteIdentifier, In as getKeyPath, Mn as secretsStoreFor, Nt as postgresDatabaseNames, On as loadPortState, Ot as forgetState, Qn as withCustomSecret, Qt as imageBuildCredentials, Rn as projectKey, Sn as primaryPortKey, Tn as findAvailablePort, U as createStateStore, Vn as deployIdentity, X as assertDevServicesFlag, Yn as maskPassword, Zn as toEmbeddableSecrets, a as provisionStage, at as WorkerGenerator, ct as QueueGenerator, dn as appTelemetry, dt as backendsOf$1, en as cacheBackendFor, ft as constructGlobs, h as dockerCommand, hn as telemetryOf, in as CLUSTER_DATABASE, it as workerUnits, kn as loadSecretsForApp, lt as CronGenerator, mn as surfaceClientTraced, mt as reconcileWorkspace, nn as providerOf, ot as workerBundleName, pn as scopeTelemetryEnv, pt as derivedContainers, sn as TELEMETRY_CONTAINER, st as workerEntryDir, tn as eventsBackendFor, u as provisionCommand, ut as FAKE_ENV, vn as describeServices, wn as createEntryWrapper, xn as portsOf, yn as fakeKey, yt as readLocalCredentials, zt as pgClient } from "./seeds-perzdN81.mjs";
|
|
9
9
|
import { c as startTelemetryCode, l as telemetryFor, n as runtimeFor, o as mountRequestSpansCode, r as parseTelemetryFlag, s as routeTelemetry, t as EndpointGenerator, u as writeTelemetryModule } from "./EndpointGenerator-CVc6Oi1Y.mjs";
|
|
10
10
|
import { generateOpenApi, openapiCommand, resolveOpenApiConfig } from "./openapi.mjs";
|
|
11
11
|
import { s as isCacheBackend, t as SubscriberGenerator } from "./SubscriberGenerator-BPqQf8fB.mjs";
|
|
12
12
|
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";
|
|
13
13
|
import { n as driversFor, r as eventsBackendsIn, t as cacheBackendsIn } from "./drivers-DTZzxeIl.mjs";
|
|
14
14
|
import { n as withCompute, r as withRoutes, t as manifestModule } from "./emit-C1e8qD08.mjs";
|
|
15
|
-
import { t as LocalSandbox } from "./local-
|
|
16
|
-
import { f as keyFingerprint, n as sniffAppEnvironment, o as DokployApi } from "./sniffer-
|
|
17
|
-
import { t as deploy$1 } from "./deploy-
|
|
18
|
-
import { a as stackOverrideFile,
|
|
15
|
+
import { t as LocalSandbox } from "./local-IuoIF3CT.mjs";
|
|
16
|
+
import { f as keyFingerprint, n as sniffAppEnvironment, o as DokployApi } from "./sniffer-BTtX3NUM.mjs";
|
|
17
|
+
import { t as deploy$1 } from "./deploy-BaERRh0Q.mjs";
|
|
18
|
+
import { _ as planStackDns, a as stackOverrideFile, b as serverAddressHint, d as pinnedRef, f as edgeDir, g as applyStackDns, h as dockerCompose, i as ComposePushNeedsBuild, m as EDGE_PROJECT, o as composeProject, p as removeEdgeRoutes, r as ComposePinNeedsPull, s as stackDir, t as composeTarget, u as parseDigests, v as requiredServerAddress, x as stackHosts, y as serverAddress } from "./compose-Dn0oAgQ0.mjs";
|
|
19
19
|
import { o as loadCredentialSchemas, t as CredentialsInvalid } from "./credentialSchemas-BJqRJNK4.mjs";
|
|
20
|
-
import { t as LocalStateStore } from "./LocalStateStore-
|
|
20
|
+
import { t as LocalStateStore } from "./LocalStateStore-C_hYDv6I.mjs";
|
|
21
21
|
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";
|
|
22
22
|
import { a as writeTestHarness, i as TEST_MANIFEST_ENV, n as TEST_READY_FILE, t as TEST_READY_ENV } from "./ready-b6vm0-W-.mjs";
|
|
23
23
|
import { createRequire } from "node:module";
|
|
@@ -47,7 +47,7 @@ import crypto from "crypto";
|
|
|
47
47
|
import { Function } from "@geekmidas/constructs/functions";
|
|
48
48
|
import { Topic } from "@geekmidas/constructs/topic";
|
|
49
49
|
//#region package.json
|
|
50
|
-
var version = "10.0.0-alpha.
|
|
50
|
+
var version = "10.0.0-alpha.89";
|
|
51
51
|
//#endregion
|
|
52
52
|
//#region src/prompt.ts
|
|
53
53
|
/**
|
|
@@ -130,7 +130,7 @@ const logger$8 = console;
|
|
|
130
130
|
* Validate Dokploy token by making a test API call
|
|
131
131
|
*/
|
|
132
132
|
async function validateDokployToken(endpoint, token) {
|
|
133
|
-
const { DokployApi } = await import("./sniffer-
|
|
133
|
+
const { DokployApi } = await import("./sniffer-BTtX3NUM.mjs").then((n) => n.c);
|
|
134
134
|
return new DokployApi({
|
|
135
135
|
baseUrl: endpoint,
|
|
136
136
|
token
|
|
@@ -177,6 +177,10 @@ async function loginCommand(options) {
|
|
|
177
177
|
logger$8.log(` Credentials stored in: ${getCredentialsPath()}`);
|
|
178
178
|
logger$8.log("\nYou can now use deploy commands without setting DOKPLOY_API_TOKEN.");
|
|
179
179
|
}
|
|
180
|
+
if (provider === "godaddy") {
|
|
181
|
+
await loginGoDaddy(options);
|
|
182
|
+
return;
|
|
183
|
+
}
|
|
180
184
|
if (provider === "hostinger") {
|
|
181
185
|
logger$8.log("\n🔐 Logging in to Hostinger...\n");
|
|
182
186
|
let token = providedToken;
|
|
@@ -199,15 +203,50 @@ async function loginCommand(options) {
|
|
|
199
203
|
}
|
|
200
204
|
}
|
|
201
205
|
/**
|
|
206
|
+
* Store a GoDaddy Personal Access Token. Not validated: the only call that
|
|
207
|
+
* proves a token without a domain is an account call (`GET /v1/domains`),
|
|
208
|
+
* which a token scoped to `domains.dns:update` alone may not make — the first
|
|
209
|
+
* `gkm setup` that writes a record is where a bad token reports itself.
|
|
210
|
+
*/
|
|
211
|
+
async function loginGoDaddy(options) {
|
|
212
|
+
logger$8.log("\n🔐 Logging in to GoDaddy...\n");
|
|
213
|
+
let token = options.token;
|
|
214
|
+
if (!token) {
|
|
215
|
+
logger$8.log("\nCreate a Personal Access Token in the GoDaddy developer dashboard\n(https://developer.godaddy.com) with only the domains.dns:update scope.\n");
|
|
216
|
+
token = await prompt("Personal Access Token: ", {
|
|
217
|
+
hidden: true,
|
|
218
|
+
instead: LOGIN_INSTEAD
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
if (!token) {
|
|
222
|
+
logger$8.error("Token is required");
|
|
223
|
+
process.exit(1);
|
|
224
|
+
}
|
|
225
|
+
const where = options.home ? { home: options.home } : void 0;
|
|
226
|
+
await storeGoDaddyToken(token, where);
|
|
227
|
+
logger$8.log("\n✓ GoDaddy token stored.");
|
|
228
|
+
logger$8.log(` Token: ${maskToken(token)}`);
|
|
229
|
+
logger$8.log(` Credentials stored in: ${getCredentialsPath(where)}`);
|
|
230
|
+
logger$8.log(" Not validated here: proving a token without a domain needs an account\n scope a DNS-only token does not have, so the first gkm setup that\n writes a record is where a bad token reports itself.");
|
|
231
|
+
logger$8.log("\nYou can now use it as a DNS provider without setting GODADDY_API_TOKEN.");
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
202
234
|
* Logout from a service
|
|
203
235
|
*/
|
|
204
236
|
async function logoutCommand(options) {
|
|
205
237
|
const { provider = "dokploy" } = options;
|
|
206
238
|
if (provider === "all") {
|
|
207
|
-
|
|
239
|
+
const dokployRemoved = await removeDokployCredentials();
|
|
240
|
+
const godaddyRemoved = await removeGoDaddyCredentials();
|
|
241
|
+
if (dokployRemoved || godaddyRemoved) logger$8.log("\n✓ Logged out from all services");
|
|
208
242
|
else logger$8.log("\nNo stored credentials found");
|
|
209
243
|
return;
|
|
210
244
|
}
|
|
245
|
+
if (provider === "godaddy") {
|
|
246
|
+
const removed = await removeGoDaddyCredentials();
|
|
247
|
+
logger$8.log(removed ? "\n✓ Logged out from GoDaddy" : "\nNo GoDaddy credentials found");
|
|
248
|
+
return;
|
|
249
|
+
}
|
|
211
250
|
if (provider === "dokploy") {
|
|
212
251
|
if (await removeDokployCredentials()) logger$8.log("\n✓ Logged out from Dokploy");
|
|
213
252
|
else logger$8.log("\nNo Dokploy credentials found");
|
|
@@ -224,6 +263,8 @@ async function whoamiCommand() {
|
|
|
224
263
|
logger$8.log(` Endpoint: ${dokploy.endpoint}`);
|
|
225
264
|
logger$8.log(` Token: ${maskToken(dokploy.token)}`);
|
|
226
265
|
} else logger$8.log(" Dokploy: Not logged in");
|
|
266
|
+
const godaddy = (await readCredentials()).godaddy;
|
|
267
|
+
logger$8.log(godaddy ? ` GoDaddy:\n Token: ${maskToken(godaddy.token)}` : " GoDaddy: Not logged in");
|
|
227
268
|
logger$8.log(`\n Credentials file: ${getCredentialsPath()}`);
|
|
228
269
|
}
|
|
229
270
|
/**
|
|
@@ -2283,9 +2324,9 @@ async function workspaceDevCommand(configured, options) {
|
|
|
2283
2324
|
for (const { id, port } of fakes) logger$5.log(`🎭 ${id} fake: http://localhost:${port}`);
|
|
2284
2325
|
logger$5.log(options.migrate || options.seed ? "🗄️ Migrating the databases" : "🗄️ Checking for pending migrations");
|
|
2285
2326
|
if (options.migrate || options.seed) {
|
|
2286
|
-
const { prepareDevDatabases } = await import("./migrate-
|
|
2327
|
+
const { prepareDevDatabases } = await import("./migrate-CKLJ73OO.mjs");
|
|
2287
2328
|
await prepareDevDatabases(workspace, reconciled.env, { seed: !!options.seed });
|
|
2288
|
-
} else await import("./migrate-
|
|
2329
|
+
} else await import("./migrate-CKLJ73OO.mjs").then(({ reportPendingMigrations }) => reportPendingMigrations(workspace, reconciled.env)).catch((error) => {
|
|
2289
2330
|
logger$5.log(`⚠️ Could not check for pending migrations: ${error instanceof Error ? error.message : String(error)}`);
|
|
2290
2331
|
});
|
|
2291
2332
|
const appUrls = {};
|
|
@@ -3338,7 +3379,7 @@ async function buildApp(input) {
|
|
|
3338
3379
|
...production,
|
|
3339
3380
|
...telemetry ? { telemetry } : {}
|
|
3340
3381
|
});
|
|
3341
|
-
const { bundleServer } = await import("./bundler-
|
|
3382
|
+
const { bundleServer } = await import("./bundler-C_fCgcVO.mjs");
|
|
3342
3383
|
await bundleServer({
|
|
3343
3384
|
entryPoint,
|
|
3344
3385
|
outputDir: join(outputDir, "dist"),
|
|
@@ -3483,7 +3524,7 @@ async function buildWorkers(input) {
|
|
|
3483
3524
|
});
|
|
3484
3525
|
logger$4.log(`Generated worker ${worker.id}: ${crons.length} crons, ${queues.length} queues, ${subscribers.length} subscribers`);
|
|
3485
3526
|
if (!input.bundle) continue;
|
|
3486
|
-
const { bundleServer } = await import("./bundler-
|
|
3527
|
+
const { bundleServer } = await import("./bundler-C_fCgcVO.mjs");
|
|
3487
3528
|
const outfile = workerBundleName(worker.id);
|
|
3488
3529
|
await bundleServer({
|
|
3489
3530
|
entryPoint,
|
|
@@ -3569,7 +3610,7 @@ async function buildForTarget(target, context, appRoot, workspaceRoot, endpointG
|
|
|
3569
3610
|
let masterKey;
|
|
3570
3611
|
if (context.production?.bundle && !skipBundle) {
|
|
3571
3612
|
logger$4.log(`\n📦 Bundling production server...`);
|
|
3572
|
-
const { bundleServer } = await import("./bundler-
|
|
3613
|
+
const { bundleServer } = await import("./bundler-C_fCgcVO.mjs");
|
|
3573
3614
|
const allConstructs = [
|
|
3574
3615
|
...endpoints.map((e) => e.construct),
|
|
3575
3616
|
...functions.map((f) => f.construct),
|
|
@@ -3863,6 +3904,7 @@ async function composeCommand(options, deps = {}) {
|
|
|
3863
3904
|
...options.dryRun ? { dryRun: true } : {},
|
|
3864
3905
|
...options.push ? { buildOnly: true } : {},
|
|
3865
3906
|
...options.allowDevServices ? { allowDevServices: true } : {},
|
|
3907
|
+
...options.skipDnsCheck ? { skipDnsCheck: true } : {},
|
|
3866
3908
|
logger: {
|
|
3867
3909
|
info: (message) => console.log(message),
|
|
3868
3910
|
warn: (message) => console.warn(message),
|
|
@@ -5270,25 +5312,25 @@ function loadPackageJson() {
|
|
|
5270
5312
|
* Run: pnpm --filter @geekmidas/cli sync-versions
|
|
5271
5313
|
*/
|
|
5272
5314
|
const GEEKMIDAS_VERSIONS = {
|
|
5273
|
-
"@geekmidas/audit": "~10.0.0-alpha.
|
|
5274
|
-
"@geekmidas/auth": "~10.0.0-alpha.
|
|
5275
|
-
"@geekmidas/cache": "~10.0.0-alpha.
|
|
5276
|
-
"@geekmidas/client": "~10.0.0-alpha.
|
|
5277
|
-
"@geekmidas/cloud": "~10.0.0-alpha.
|
|
5278
|
-
"@geekmidas/constructs": "~10.0.0-alpha.
|
|
5279
|
-
"@geekmidas/db": "~10.0.0-alpha.
|
|
5280
|
-
"@geekmidas/emailkit": "~10.0.0-alpha.
|
|
5281
|
-
"@geekmidas/envkit": "~10.0.0-alpha.
|
|
5282
|
-
"@geekmidas/errors": "~10.0.0-alpha.
|
|
5283
|
-
"@geekmidas/events": "~10.0.0-alpha.
|
|
5284
|
-
"@geekmidas/logger": "~10.0.0-alpha.
|
|
5285
|
-
"@geekmidas/manifest": "~10.0.0-alpha.
|
|
5286
|
-
"@geekmidas/rate-limit": "~10.0.0-alpha.
|
|
5287
|
-
"@geekmidas/schema": "~10.0.0-alpha.
|
|
5288
|
-
"@geekmidas/services": "~10.0.0-alpha.
|
|
5289
|
-
"@geekmidas/storage": "~10.0.0-alpha.
|
|
5290
|
-
"@geekmidas/telescope": "~10.0.0-alpha.
|
|
5291
|
-
"@geekmidas/testkit": "~10.0.0-alpha.
|
|
5315
|
+
"@geekmidas/audit": "~10.0.0-alpha.89",
|
|
5316
|
+
"@geekmidas/auth": "~10.0.0-alpha.89",
|
|
5317
|
+
"@geekmidas/cache": "~10.0.0-alpha.89",
|
|
5318
|
+
"@geekmidas/client": "~10.0.0-alpha.89",
|
|
5319
|
+
"@geekmidas/cloud": "~10.0.0-alpha.89",
|
|
5320
|
+
"@geekmidas/constructs": "~10.0.0-alpha.89",
|
|
5321
|
+
"@geekmidas/db": "~10.0.0-alpha.89",
|
|
5322
|
+
"@geekmidas/emailkit": "~10.0.0-alpha.89",
|
|
5323
|
+
"@geekmidas/envkit": "~10.0.0-alpha.89",
|
|
5324
|
+
"@geekmidas/errors": "~10.0.0-alpha.89",
|
|
5325
|
+
"@geekmidas/events": "~10.0.0-alpha.89",
|
|
5326
|
+
"@geekmidas/logger": "~10.0.0-alpha.89",
|
|
5327
|
+
"@geekmidas/manifest": "~10.0.0-alpha.89",
|
|
5328
|
+
"@geekmidas/rate-limit": "~10.0.0-alpha.89",
|
|
5329
|
+
"@geekmidas/schema": "~10.0.0-alpha.89",
|
|
5330
|
+
"@geekmidas/services": "~10.0.0-alpha.89",
|
|
5331
|
+
"@geekmidas/storage": "~10.0.0-alpha.89",
|
|
5332
|
+
"@geekmidas/telescope": "~10.0.0-alpha.89",
|
|
5333
|
+
"@geekmidas/testkit": "~10.0.0-alpha.89",
|
|
5292
5334
|
"@geekmidas/cli": `~${loadPackageJson().version}`
|
|
5293
5335
|
};
|
|
5294
5336
|
//#endregion
|
|
@@ -5689,7 +5731,7 @@ const COMMIT = /^[0-9a-f]{40}$/;
|
|
|
5689
5731
|
* The `uses:` value for the stages action, with a comment saying which CLI
|
|
5690
5732
|
* release the pinned commit is.
|
|
5691
5733
|
*/
|
|
5692
|
-
function stagesActionUses(commit = "
|
|
5734
|
+
function stagesActionUses(commit = "e1be097c3e5909843479a2dcd97f06e952f5b1aa", version = cliVersion()) {
|
|
5693
5735
|
return commit && COMMIT.test(commit) ? `${STAGES_ACTION}@${commit} # @geekmidas/cli ${version}` : `${STAGES_ACTION}@main # pin to a commit SHA: see the action's README`;
|
|
5694
5736
|
}
|
|
5695
5737
|
//#endregion
|
|
@@ -10971,6 +11013,135 @@ function maskUrl(url) {
|
|
|
10971
11013
|
}
|
|
10972
11014
|
}
|
|
10973
11015
|
//#endregion
|
|
11016
|
+
//#region src/providers/dns.ts
|
|
11017
|
+
/** Whether the workspace deploys through the compose target. */
|
|
11018
|
+
function deploysWithCompose(workspace) {
|
|
11019
|
+
return workspace.deploy?.default === "compose" || Object.values(workspace.apps).some((app) => app.resolvedDeployTarget === "compose");
|
|
11020
|
+
}
|
|
11021
|
+
/**
|
|
11022
|
+
* A compose stage that serves a domain has its server's address in its
|
|
11023
|
+
* secrets — checked before `gkm setup --stage` does anything else.
|
|
11024
|
+
*
|
|
11025
|
+
* @throws {ServerAddressMissing} for a compose stage with a domain and none
|
|
11026
|
+
* @throws {ServerAddressInvalid} for a value that is not an address
|
|
11027
|
+
*/
|
|
11028
|
+
function assertStageServer(workspace, stage, secrets) {
|
|
11029
|
+
if (stage === workspace.stages.local) return void 0;
|
|
11030
|
+
if (!deploysWithCompose(workspace)) return serverAddress(stage, secrets?.custom);
|
|
11031
|
+
return requiredServerAddress(stage, workspace.domains?.[stage], secrets?.custom);
|
|
11032
|
+
}
|
|
11033
|
+
/**
|
|
11034
|
+
* The hosts a compose stage serves: its stack composed as a deploy would —
|
|
11035
|
+
* with the secrets it would generate made up in memory, never written — and
|
|
11036
|
+
* every route's host read off it.
|
|
11037
|
+
*/
|
|
11038
|
+
async function composeStageHosts(options) {
|
|
11039
|
+
const { workspace, stage } = options;
|
|
11040
|
+
const runnables = options.runnables ?? {};
|
|
11041
|
+
const background = options.background ?? {};
|
|
11042
|
+
const manifest = options.manifest ?? await discover({
|
|
11043
|
+
patterns: constructGlobs(workspace),
|
|
11044
|
+
cwd: workspace.root,
|
|
11045
|
+
runnables,
|
|
11046
|
+
background
|
|
11047
|
+
});
|
|
11048
|
+
const stored = await (await secretsStoreFor(workspace, stage, {
|
|
11049
|
+
...options.profile ? { profile: options.profile } : {},
|
|
11050
|
+
...options.home ? { home: options.home } : {}
|
|
11051
|
+
})).read(stage);
|
|
11052
|
+
const { deployedStackSecrets } = await import("./compose-Dn0oAgQ0.mjs").then((n) => n.l);
|
|
11053
|
+
const { composeStack } = await import("./compose-Dn0oAgQ0.mjs").then((n) => n.c);
|
|
11054
|
+
const { secrets } = deployedStackSecrets(workspace, stage, stored, manifest);
|
|
11055
|
+
const stack = composeStack({
|
|
11056
|
+
workspace,
|
|
11057
|
+
manifest,
|
|
11058
|
+
runnables,
|
|
11059
|
+
background,
|
|
11060
|
+
stage,
|
|
11061
|
+
identity: deployIdentity(workspace, stage),
|
|
11062
|
+
images: {
|
|
11063
|
+
mode: "pull",
|
|
11064
|
+
tag: "dns",
|
|
11065
|
+
...workspace.deploy?.registry ? { registry: workspace.deploy.registry } : {}
|
|
11066
|
+
},
|
|
11067
|
+
secrets,
|
|
11068
|
+
buildOnly: true,
|
|
11069
|
+
allowDevServices: true
|
|
11070
|
+
});
|
|
11071
|
+
return stackHosts(stack);
|
|
11072
|
+
}
|
|
11073
|
+
/**
|
|
11074
|
+
* `GKM_SERVER_IPV4` from the stage's secrets and `dns`: each public host's
|
|
11075
|
+
* records, created or corrected. A dry run reads and prints, and writes
|
|
11076
|
+
* nothing.
|
|
11077
|
+
*/
|
|
11078
|
+
async function provisionStageDns(options) {
|
|
11079
|
+
const { workspace, stage } = options;
|
|
11080
|
+
const log = options.log ?? ((line) => console.log(line));
|
|
11081
|
+
if (stage === workspace.stages.local || !workspace.dns || !deploysWithCompose(workspace)) return {
|
|
11082
|
+
mode: "none",
|
|
11083
|
+
hosts: [],
|
|
11084
|
+
changes: []
|
|
11085
|
+
};
|
|
11086
|
+
const store = await secretsStoreFor(workspace, stage, {
|
|
11087
|
+
...options.profile ? { profile: options.profile } : {},
|
|
11088
|
+
...options.home ? { home: options.home } : {}
|
|
11089
|
+
});
|
|
11090
|
+
const server = serverAddress(stage, (await store.read(stage))?.custom);
|
|
11091
|
+
if (!server) {
|
|
11092
|
+
log(`\n🌐 DNS for '${stage}': no GKM_SERVER_IPV4 in its secrets, so no records — ${serverAddressHint(stage)}`);
|
|
11093
|
+
return {
|
|
11094
|
+
mode: "none",
|
|
11095
|
+
hosts: [],
|
|
11096
|
+
changes: []
|
|
11097
|
+
};
|
|
11098
|
+
}
|
|
11099
|
+
const hosts = [...options.hosts ?? await composeStageHosts({
|
|
11100
|
+
workspace,
|
|
11101
|
+
stage,
|
|
11102
|
+
...options.profile ? { profile: options.profile } : {},
|
|
11103
|
+
...options.home ? { home: options.home } : {},
|
|
11104
|
+
...options.manifest ? { manifest: options.manifest } : {},
|
|
11105
|
+
...options.runnables ? { runnables: options.runnables } : {},
|
|
11106
|
+
...options.background ? { background: options.background } : {}
|
|
11107
|
+
})];
|
|
11108
|
+
log(`\n🌐 DNS for '${stage}' → ${server.ipv4}${server.ipv6 ? ` / ${server.ipv6}` : ""}${options.dryRun ? " (dry run — nothing is written)" : ""}`);
|
|
11109
|
+
const plan = planStackDns({
|
|
11110
|
+
stage,
|
|
11111
|
+
hosts,
|
|
11112
|
+
server,
|
|
11113
|
+
dns: workspace.dns
|
|
11114
|
+
});
|
|
11115
|
+
try {
|
|
11116
|
+
return {
|
|
11117
|
+
mode: "records",
|
|
11118
|
+
hosts,
|
|
11119
|
+
changes: await applyStackDns(plan, {
|
|
11120
|
+
...options.dryRun ? { dryRun: true } : {},
|
|
11121
|
+
log,
|
|
11122
|
+
credentials: {
|
|
11123
|
+
env: options.env ?? process.env,
|
|
11124
|
+
...options.home ? { home: options.home } : {},
|
|
11125
|
+
log
|
|
11126
|
+
},
|
|
11127
|
+
...options.providerFor ? { providerFor: options.providerFor } : {}
|
|
11128
|
+
})
|
|
11129
|
+
};
|
|
11130
|
+
} catch (error) {
|
|
11131
|
+
if (error instanceof MissingCredential) {
|
|
11132
|
+
log(` ⚠ ${error.message}`);
|
|
11133
|
+
log(" Until then, create these records yourself:");
|
|
11134
|
+
for (const domain of plan.domains) for (const r of domain.records) log(` ${r.host.padEnd(32)} ${r.type.padEnd(5)} ${r.value} (TTL ${r.ttl})`);
|
|
11135
|
+
return {
|
|
11136
|
+
mode: "records",
|
|
11137
|
+
hosts,
|
|
11138
|
+
changes: []
|
|
11139
|
+
};
|
|
11140
|
+
}
|
|
11141
|
+
throw error;
|
|
11142
|
+
}
|
|
11143
|
+
}
|
|
11144
|
+
//#endregion
|
|
10974
11145
|
//#region src/setup/index.ts
|
|
10975
11146
|
var setup_exports = /* @__PURE__ */ __exportAll({
|
|
10976
11147
|
createFreshWorkspaceSecrets: () => createFreshWorkspaceSecrets,
|
|
@@ -11004,6 +11175,7 @@ async function setupCommand(options = {}) {
|
|
|
11004
11175
|
logger$1.log(`📦 Workspace: ${workspace.name}`);
|
|
11005
11176
|
logger$1.log(`📱 Apps: ${Object.keys(workspace.apps).join(", ")}`);
|
|
11006
11177
|
logger$1.log(`🔑 Stage: ${stage}\n`);
|
|
11178
|
+
if (!local) assertStageServer(workspace, stage, await (await secretsStoreFor(workspace, stage, { ...options.profile ? { profile: options.profile } : {} })).read(stage));
|
|
11007
11179
|
if (!local && options.dryRun) {
|
|
11008
11180
|
await provisionDeployed(workspace, stage, options);
|
|
11009
11181
|
return;
|
|
@@ -11037,11 +11209,16 @@ async function provisionDeployed(workspace, stage, options) {
|
|
|
11037
11209
|
...options.retireOldKeys ? { retireOldKeys: true } : {},
|
|
11038
11210
|
log: (line) => logger$1.log(line)
|
|
11039
11211
|
})).filter((r) => r.mode === "provider");
|
|
11040
|
-
if (configured.length === 0) {
|
|
11041
|
-
|
|
11042
|
-
|
|
11043
|
-
|
|
11044
|
-
|
|
11212
|
+
if (configured.length === 0) logger$1.log(` None configured: '${stage}' takes every key from its secrets (gkm secrets:add --stage ${stage}). Name one in gkm.config.ts — deploy: { objects: { ${stage}: { provider: 's3' } } } — to have ${provisionCommand(stage)} create it.`);
|
|
11213
|
+
const dns = await provisionStageDns({
|
|
11214
|
+
workspace,
|
|
11215
|
+
stage,
|
|
11216
|
+
...options.dryRun ? { dryRun: true } : {},
|
|
11217
|
+
...options.profile ? { profile: options.profile } : {},
|
|
11218
|
+
log: (line) => logger$1.log(line)
|
|
11219
|
+
});
|
|
11220
|
+
const changes = configured.reduce((n, r) => n + r.actions.length, 0) + dns.changes.filter((c) => c.action !== "unchanged" && c.action !== "manual").length;
|
|
11221
|
+
if (configured.length === 0 && dns.mode === "none") return;
|
|
11045
11222
|
logger$1.log(options.dryRun ? `\n${changes === 0 ? "✅ Nothing to change" : `📋 ${changes} change${changes === 1 ? "" : "s"} planned`}` : `\n✅ '${stage}' provisioned${changes === 0 ? " — already up to date" : ` (${changes} change${changes === 1 ? "" : "s"})`}`);
|
|
11046
11223
|
}
|
|
11047
11224
|
/**
|
|
@@ -11396,7 +11573,7 @@ function testDatabases(reconciled) {
|
|
|
11396
11573
|
* starts without the reference data the app needs.
|
|
11397
11574
|
*/
|
|
11398
11575
|
async function migrateTestStage(workspace, env) {
|
|
11399
|
-
const { migrateAndSeed } = await import("./migrate-
|
|
11576
|
+
const { migrateAndSeed } = await import("./migrate-CKLJ73OO.mjs");
|
|
11400
11577
|
const { discover } = await import("./discover-BPelzeGW.mjs").then((n) => n.i);
|
|
11401
11578
|
const sources = {};
|
|
11402
11579
|
const manifest = await discover({
|
|
@@ -11840,7 +12017,7 @@ program.command("migrate").description("Apply each database construct's migratio
|
|
|
11840
12017
|
try {
|
|
11841
12018
|
const globalOptions = program.opts();
|
|
11842
12019
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
11843
|
-
const { migrateCommand } = await import("./migrate-
|
|
12020
|
+
const { migrateCommand } = await import("./migrate-CKLJ73OO.mjs");
|
|
11844
12021
|
await migrateCommand({
|
|
11845
12022
|
...options,
|
|
11846
12023
|
...construct ? { construct } : {}
|
|
@@ -11854,7 +12031,7 @@ program.command("seed").description("Migrate, then run each database construct's
|
|
|
11854
12031
|
try {
|
|
11855
12032
|
const globalOptions = program.opts();
|
|
11856
12033
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
11857
|
-
const { seedCommand } = await import("./migrate-
|
|
12034
|
+
const { seedCommand } = await import("./migrate-CKLJ73OO.mjs");
|
|
11858
12035
|
await seedCommand({
|
|
11859
12036
|
...options,
|
|
11860
12037
|
...construct ? { construct } : {}
|
|
@@ -11868,7 +12045,7 @@ program.command("migration").description("Write a construct's next migration: an
|
|
|
11868
12045
|
try {
|
|
11869
12046
|
const globalOptions = program.opts();
|
|
11870
12047
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
11871
|
-
const { migrationCommand } = await import("./migrate-
|
|
12048
|
+
const { migrationCommand } = await import("./migrate-CKLJ73OO.mjs");
|
|
11872
12049
|
await migrationCommand({
|
|
11873
12050
|
construct,
|
|
11874
12051
|
...name ? { name } : {}
|
|
@@ -11917,7 +12094,7 @@ program.command("docker").description("Generate Docker deployment files").option
|
|
|
11917
12094
|
process.exit(1);
|
|
11918
12095
|
}
|
|
11919
12096
|
});
|
|
11920
|
-
program.command("compose").description("Run the workspace's APIs and sites for a stage as one Docker Compose stack behind Caddy").requiredOption("--stage <stage>", "Stage to run — always named, so a stack is never a deployed stage by accident").option("--tag <tag>", "Run the images CI pushed at this tag (sites: <tag>-<stage>); nothing is built").option("--build", "Build images from this checkout, tagged with the commit").option("--pull", "Pull images (at --tag, or latest) rather than build them").option("--push", "With --build: push every image to deploy.registry and start nothing (for CI)").option("--digests-file <path>", "With --push: write each image as <ref>@sha256:… (JSON). With --tag: run the images at those digests").option("--dry-run", "Write the files and print the plan; start nothing").option("--down", "Stop the stage's stack (its volumes are kept)").option("--allow-dev-services", "Deployed stage: run the dev service (MinIO, Mailpit) for every bucket and mail the stage doesn't account for. Not production-grade").action(async (options) => {
|
|
12097
|
+
program.command("compose").description("Run the workspace's APIs and sites for a stage as one Docker Compose stack behind Caddy").requiredOption("--stage <stage>", "Stage to run — always named, so a stack is never a deployed stage by accident").option("--tag <tag>", "Run the images CI pushed at this tag (sites: <tag>-<stage>); nothing is built").option("--build", "Build images from this checkout, tagged with the commit").option("--pull", "Pull images (at --tag, or latest) rather than build them").option("--push", "With --build: push every image to deploy.registry and start nothing (for CI)").option("--digests-file <path>", "With --push: write each image as <ref>@sha256:… (JSON). With --tag: run the images at those digests").option("--dry-run", "Write the files and print the plan; start nothing").option("--down", "Stop the stage's stack (its volumes are kept)").option("--allow-dev-services", "Deployed stage: run the dev service (MinIO, Mailpit) for every bucket and mail the stage doesn't account for. Not production-grade").option("--skip-dns-check", "Deployed stage: do not check that each public host resolves to GKM_SERVER_IPV4 in the stage secrets before starting (a CDN or proxy in front)").action(async (options) => {
|
|
11921
12098
|
try {
|
|
11922
12099
|
const globalOptions = program.opts();
|
|
11923
12100
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
@@ -11976,7 +12153,7 @@ program.command("secrets:add").description("Build the keys a stage must be given
|
|
|
11976
12153
|
try {
|
|
11977
12154
|
const globalOptions = program.opts();
|
|
11978
12155
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
11979
|
-
const { secretsAddCommand } = await import("./add-
|
|
12156
|
+
const { secretsAddCommand } = await import("./add-v3tCbrpE.mjs");
|
|
11980
12157
|
await secretsAddCommand(options);
|
|
11981
12158
|
} catch (error) {
|
|
11982
12159
|
console.error(formatError(error));
|
|
@@ -11987,7 +12164,7 @@ program.command("encryption:rotate").description("Add a new current key to an En
|
|
|
11987
12164
|
try {
|
|
11988
12165
|
const globalOptions = program.opts();
|
|
11989
12166
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
11990
|
-
const { encryptionRotateCommand } = await import("./encryption-
|
|
12167
|
+
const { encryptionRotateCommand } = await import("./encryption-BQmhq9_y.mjs");
|
|
11991
12168
|
await encryptionRotateCommand(construct, options);
|
|
11992
12169
|
} catch (error) {
|
|
11993
12170
|
console.error(formatError(error));
|
|
@@ -11998,7 +12175,7 @@ program.command("encryption:retire").description("Remove an old key from an Encr
|
|
|
11998
12175
|
try {
|
|
11999
12176
|
const globalOptions = program.opts();
|
|
12000
12177
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
12001
|
-
const { encryptionRetireCommand } = await import("./encryption-
|
|
12178
|
+
const { encryptionRetireCommand } = await import("./encryption-BQmhq9_y.mjs");
|
|
12002
12179
|
await encryptionRetireCommand(construct, key, options);
|
|
12003
12180
|
} catch (error) {
|
|
12004
12181
|
console.error(formatError(error));
|
|
@@ -12040,8 +12217,8 @@ program.command("secrets:reconcile").description("Backfill missing custom secret
|
|
|
12040
12217
|
const globalOptions = program.opts();
|
|
12041
12218
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
12042
12219
|
const { loadWorkspaceConfig } = await import("./config.mjs");
|
|
12043
|
-
const { reconcileMissingSecrets } = await import("./reconcile
|
|
12044
|
-
const { secretsStoreFor } = await import("./seeds-
|
|
12220
|
+
const { reconcileMissingSecrets } = await import("./reconcile-Dh1Jk7WE.mjs");
|
|
12221
|
+
const { secretsStoreFor } = await import("./seeds-perzdN81.mjs").then((n) => n.Pn);
|
|
12045
12222
|
const { workspace } = await loadWorkspaceConfig();
|
|
12046
12223
|
const stage = options.stage ?? workspace.stages.local;
|
|
12047
12224
|
const store = await secretsStoreFor(workspace, stage);
|
|
@@ -12050,7 +12227,7 @@ program.command("secrets:reconcile").description("Backfill missing custom secret
|
|
|
12050
12227
|
console.error(`No secrets found for stage "${stage}". Run "gkm secrets:init --stage ${stage}" first.`);
|
|
12051
12228
|
process.exit(1);
|
|
12052
12229
|
}
|
|
12053
|
-
const { derivedContainers } = await import("./seeds-
|
|
12230
|
+
const { derivedContainers } = await import("./seeds-perzdN81.mjs").then((n) => n.ht);
|
|
12054
12231
|
const result = reconcileMissingSecrets(secrets, workspace, await derivedContainers(workspace, stage));
|
|
12055
12232
|
if (!result) {
|
|
12056
12233
|
console.log(`\n✓ Secrets for stage "${stage}" are up-to-date`);
|
|
@@ -12068,15 +12245,15 @@ program.command("secrets:migrate").description("Copy a deployed stage's secrets
|
|
|
12068
12245
|
try {
|
|
12069
12246
|
const globalOptions = program.opts();
|
|
12070
12247
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
12071
|
-
const { secretsMigrateCommand } = await import("./migrate-
|
|
12248
|
+
const { secretsMigrateCommand } = await import("./migrate-CpmO5qnl.mjs");
|
|
12072
12249
|
await secretsMigrateCommand(options);
|
|
12073
12250
|
} catch (error) {
|
|
12074
12251
|
console.error(formatError(error));
|
|
12075
12252
|
process.exit(1);
|
|
12076
12253
|
}
|
|
12077
12254
|
});
|
|
12078
|
-
program.command("deploy").description("Deploy a stage through its target").option("--target <name>", "Deploy target: dokploy, compose, sst, or one named in deploy.targets (default: deploy.default)").option("--provider <provider>", "[DEPRECATED] Use --target instead").requiredOption("--stage <stage>", "Deployment stage (e.g., production, staging)").option("--tag <tag>", "Image tag (default: stage-timestamp; compose: the commit). Compose pulls a given tag").option("--skip-push", "Skip pushing image to registry").option("--skip-build", "Skip build step (use existing build)").option("--json", "Write events as JSON lines instead of progress; never prompts").option("--dry-run", "Show what would be created or reused; change, build and push nothing").option("--atomic", "If the release fails, roll back every app it released, not only the failed ones").option("--allow-dev-services", "Server targets: run the dev service (MinIO, Mailpit) for every bucket and mail the stage doesn't account for. Not production-grade").action(async (options) => {
|
|
12079
|
-
const { deployCli } = await import("./cli-
|
|
12255
|
+
program.command("deploy").description("Deploy a stage through its target").option("--target <name>", "Deploy target: dokploy, compose, sst, or one named in deploy.targets (default: deploy.default)").option("--provider <provider>", "[DEPRECATED] Use --target instead").requiredOption("--stage <stage>", "Deployment stage (e.g., production, staging)").option("--tag <tag>", "Image tag (default: stage-timestamp; compose: the commit). Compose pulls a given tag").option("--skip-push", "Skip pushing image to registry").option("--skip-build", "Skip build step (use existing build)").option("--json", "Write events as JSON lines instead of progress; never prompts").option("--dry-run", "Show what would be created or reused; change, build and push nothing").option("--atomic", "If the release fails, roll back every app it released, not only the failed ones").option("--allow-dev-services", "Server targets: run the dev service (MinIO, Mailpit) for every bucket and mail the stage doesn't account for. Not production-grade").option("--skip-dns-check", "Compose: do not check that each public host resolves to GKM_SERVER_IPV4 in the stage secrets before starting (a CDN or proxy in front)").action(async (options) => {
|
|
12256
|
+
const { deployCli } = await import("./cli-REdO9X5b.mjs");
|
|
12080
12257
|
const globalOptions = program.opts();
|
|
12081
12258
|
const code = await deployCli({
|
|
12082
12259
|
cwd: resolve(globalOptions.cwd ?? process.cwd()),
|
|
@@ -12087,14 +12264,15 @@ program.command("deploy").description("Deploy a stage through its target").optio
|
|
|
12087
12264
|
...options.json ? { json: true } : {},
|
|
12088
12265
|
...options.dryRun ? { dryRun: true } : {},
|
|
12089
12266
|
...options.atomic ? { atomic: true } : {},
|
|
12090
|
-
...options.allowDevServices ? { allowDevServices: true } : {}
|
|
12267
|
+
...options.allowDevServices ? { allowDevServices: true } : {},
|
|
12268
|
+
...options.skipDnsCheck ? { skipDnsCheck: true } : {}
|
|
12091
12269
|
});
|
|
12092
12270
|
if (code !== 0) process.exit(code);
|
|
12093
12271
|
});
|
|
12094
12272
|
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) => {
|
|
12095
12273
|
try {
|
|
12096
|
-
const { rollbackStage } = await import("./rollback-
|
|
12097
|
-
const { terminalCredentials } = await import("./terminal-
|
|
12274
|
+
const { rollbackStage } = await import("./rollback-DpSU2DsD.mjs").then((n) => n.a);
|
|
12275
|
+
const { terminalCredentials } = await import("./terminal-D8TPK7o9.mjs");
|
|
12098
12276
|
const globalOptions = program.opts();
|
|
12099
12277
|
await rollbackStage({
|
|
12100
12278
|
cwd: resolve(globalOptions.cwd ?? process.cwd()),
|
|
@@ -12129,7 +12307,7 @@ program.command("deploy:github").description("Let GitHub Actions deploy a stage:
|
|
|
12129
12307
|
try {
|
|
12130
12308
|
const globalOptions = program.opts();
|
|
12131
12309
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
12132
|
-
const { deployGithubCommand } = await import("./github-
|
|
12310
|
+
const { deployGithubCommand } = await import("./github-xzg99wz8.mjs");
|
|
12133
12311
|
await deployGithubCommand(options);
|
|
12134
12312
|
} catch (error) {
|
|
12135
12313
|
console.error(formatError(error));
|
|
@@ -12140,7 +12318,7 @@ program.command("stages").description("The workspace's stages from gkm.config.ts
|
|
|
12140
12318
|
try {
|
|
12141
12319
|
const globalOptions = program.opts();
|
|
12142
12320
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
12143
|
-
const { stagesCommand } = await import("./stages-
|
|
12321
|
+
const { stagesCommand } = await import("./stages-CnZRYmkI.mjs");
|
|
12144
12322
|
await stagesCommand(options);
|
|
12145
12323
|
} catch (error) {
|
|
12146
12324
|
console.error(formatError(error));
|
|
@@ -12174,13 +12352,17 @@ program.command("deploy:list").description("List Dokploy resources (projects, re
|
|
|
12174
12352
|
process.exit(1);
|
|
12175
12353
|
}
|
|
12176
12354
|
});
|
|
12177
|
-
program.command("login").description("Authenticate with a deployment or DNS provider").option("--provider <provider>", "Provider to log in to (dokploy, hostinger)", "dokploy").option("--service <provider>", "[DEPRECATED] Use --provider instead").option("--token <token>", "API token (will prompt if not provided)").option("--endpoint <url>", "Service endpoint URL").action(async (options) => {
|
|
12355
|
+
program.command("login").description("Authenticate with a deployment or DNS provider").option("--provider <provider>", "Provider to log in to (dokploy, hostinger, godaddy)", "dokploy").option("--service <provider>", "[DEPRECATED] Use --provider instead").option("--token <token>", "API token (will prompt if not provided)").option("--endpoint <url>", "Service endpoint URL").action(async (options) => {
|
|
12178
12356
|
try {
|
|
12179
12357
|
const globalOptions = program.opts();
|
|
12180
12358
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
12181
12359
|
const provider = options.service ?? options.provider;
|
|
12182
|
-
if (![
|
|
12183
|
-
|
|
12360
|
+
if (![
|
|
12361
|
+
"dokploy",
|
|
12362
|
+
"hostinger",
|
|
12363
|
+
"godaddy"
|
|
12364
|
+
].includes(provider)) {
|
|
12365
|
+
console.error(`Unknown provider: ${provider}. Supported: dokploy, hostinger, godaddy`);
|
|
12184
12366
|
process.exit(1);
|
|
12185
12367
|
}
|
|
12186
12368
|
await loginCommand({
|
|
@@ -12193,7 +12375,7 @@ program.command("login").description("Authenticate with a deployment or DNS prov
|
|
|
12193
12375
|
process.exit(1);
|
|
12194
12376
|
}
|
|
12195
12377
|
});
|
|
12196
|
-
program.command("logout").description("Remove stored credentials").option("--provider <provider>", "Whose credentials to remove (dokploy, all)", "dokploy").option("--service <provider>", "[DEPRECATED] Use --provider instead").action(async (options) => {
|
|
12378
|
+
program.command("logout").description("Remove stored credentials").option("--provider <provider>", "Whose credentials to remove (dokploy, godaddy, all)", "dokploy").option("--service <provider>", "[DEPRECATED] Use --provider instead").action(async (options) => {
|
|
12197
12379
|
try {
|
|
12198
12380
|
const globalOptions = program.opts();
|
|
12199
12381
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
@@ -12281,6 +12463,6 @@ try {
|
|
|
12281
12463
|
}
|
|
12282
12464
|
program.parse();
|
|
12283
12465
|
//#endregion
|
|
12284
|
-
export {
|
|
12466
|
+
export { formatError as a, prompt as c, stamp as i, generateFullstackCustomSecrets as n, validateDokployToken as o, slug as r, canPrompt as s, deploysWithCompose as t };
|
|
12285
12467
|
|
|
12286
12468
|
//# sourceMappingURL=index.mjs.map
|