@geekmidas/cli 10.0.0-alpha.124 → 10.0.0-alpha.125
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-B2MUa4M2.cjs → EndpointGenerator-BGxf9jWE.cjs} +8 -4
- package/dist/{EndpointGenerator-B2MUa4M2.cjs.map → EndpointGenerator-BGxf9jWE.cjs.map} +1 -1
- package/dist/{EndpointGenerator-Z_BUTocT.mjs → EndpointGenerator-errMeldx.mjs} +8 -4
- package/dist/{EndpointGenerator-Z_BUTocT.mjs.map → EndpointGenerator-errMeldx.mjs.map} +1 -1
- package/dist/{GoDaddyProvider-55x4o-4z.mjs → GoDaddyProvider-BN1dODm9.mjs} +2 -2
- package/dist/{GoDaddyProvider-55x4o-4z.mjs.map → GoDaddyProvider-BN1dODm9.mjs.map} +1 -1
- package/dist/{GoDaddyProvider-0z5RAN1k.cjs → GoDaddyProvider-BTdtqhI_.cjs} +2 -2
- package/dist/{GoDaddyProvider-0z5RAN1k.cjs.map → GoDaddyProvider-BTdtqhI_.cjs.map} +1 -1
- package/dist/{LegacyStateStore-DRpB-yC5.cjs → LegacyStateStore-C2S8TGwx.cjs} +3 -3
- package/dist/{LegacyStateStore-DRpB-yC5.cjs.map → LegacyStateStore-C2S8TGwx.cjs.map} +1 -1
- package/dist/{LegacyStateStore-C-vumKSN.mjs → LegacyStateStore-DgXmuG87.mjs} +3 -3
- package/dist/{LegacyStateStore-C-vumKSN.mjs.map → LegacyStateStore-DgXmuG87.mjs.map} +1 -1
- package/dist/{LocalStateStore-C3ummuDT.cjs → LocalStateStore-CaJw9H-3.cjs} +2 -2
- package/dist/{LocalStateStore-C3ummuDT.cjs.map → LocalStateStore-CaJw9H-3.cjs.map} +1 -1
- package/dist/{LocalStateStore-CtOjpV1w.mjs → LocalStateStore-ojY_BiMK.mjs} +2 -2
- package/dist/{LocalStateStore-CtOjpV1w.mjs.map → LocalStateStore-ojY_BiMK.mjs.map} +1 -1
- package/dist/{OpenApiTsGenerator-MtnMQL_g.mjs → OpenApiTsGenerator-W_HRXH1X.mjs} +2 -2
- package/dist/{OpenApiTsGenerator-MtnMQL_g.mjs.map → OpenApiTsGenerator-W_HRXH1X.mjs.map} +1 -1
- package/dist/{OpenApiTsGenerator-t3_E98Fi.cjs → OpenApiTsGenerator-cQgtxWQo.cjs} +2 -2
- package/dist/{OpenApiTsGenerator-t3_E98Fi.cjs.map → OpenApiTsGenerator-cQgtxWQo.cjs.map} +1 -1
- package/dist/{S3StateStore-BC4Jm3Tw.mjs → S3StateStore-BSPkxhrx.mjs} +2 -2
- package/dist/{S3StateStore-BC4Jm3Tw.mjs.map → S3StateStore-BSPkxhrx.mjs.map} +1 -1
- package/dist/{S3StateStore-BeArp0aF.cjs → S3StateStore-BqugXIcb.cjs} +2 -2
- package/dist/{S3StateStore-BeArp0aF.cjs.map → S3StateStore-BqugXIcb.cjs.map} +1 -1
- package/dist/{SSMStateStore-DcstR6cW.cjs → SSMStateStore-B0OsuT_k.cjs} +2 -2
- package/dist/{SSMStateStore-DcstR6cW.cjs.map → SSMStateStore-B0OsuT_k.cjs.map} +1 -1
- package/dist/{SSMStateStore-Crl76aYZ.mjs → SSMStateStore-DM85OiH0.mjs} +2 -2
- package/dist/{SSMStateStore-Crl76aYZ.mjs.map → SSMStateStore-DM85OiH0.mjs.map} +1 -1
- package/dist/{SubscriberGenerator-C3QTae-R.cjs → SubscriberGenerator-BDUp7OeY.cjs} +3 -3
- package/dist/SubscriberGenerator-BDUp7OeY.cjs.map +1 -0
- package/dist/{SubscriberGenerator-COAVPgM-.mjs → SubscriberGenerator-ocQ2yj0K.mjs} +3 -3
- package/dist/{SubscriberGenerator-C3QTae-R.cjs.map → SubscriberGenerator-ocQ2yj0K.mjs.map} +1 -1
- package/dist/{add-CIjmgzkb.mjs → add-C7ZBXIzM.mjs} +6 -6
- package/dist/{add-CIjmgzkb.mjs.map → add-C7ZBXIzM.mjs.map} +1 -1
- package/dist/{add-BFjb6mMq.cjs → add-CrxvmSpq.cjs} +6 -6
- package/dist/{add-BFjb6mMq.cjs.map → add-CrxvmSpq.cjs.map} +1 -1
- package/dist/{bundler-CiUoIsku.cjs → bundler-DVUXW95p.cjs} +5 -5
- package/dist/{bundler-CiUoIsku.cjs.map → bundler-DVUXW95p.cjs.map} +1 -1
- package/dist/{bundler-D6KFNpQk.mjs → bundler-DpZ9uBGN.mjs} +5 -5
- package/dist/{bundler-D6KFNpQk.mjs.map → bundler-DpZ9uBGN.mjs.map} +1 -1
- package/dist/{cli-r4eUr98C.cjs → cli-BMRhE6cZ.cjs} +3 -3
- package/dist/{cli-r4eUr98C.cjs.map → cli-BMRhE6cZ.cjs.map} +1 -1
- package/dist/{cli-DNtSTtMc.mjs → cli-BWfYyy1k.mjs} +3 -3
- package/dist/{cli-DNtSTtMc.mjs.map → cli-BWfYyy1k.mjs.map} +1 -1
- package/dist/{compose-DJvvmF3X.mjs → compose-BFmdLig3.mjs} +232 -36
- package/dist/compose-BFmdLig3.mjs.map +1 -0
- package/dist/{compose-BfXXWJSp.cjs → compose-Bqcy0lqo.cjs} +232 -36
- package/dist/compose-Bqcy0lqo.cjs.map +1 -0
- package/dist/{config-IgK6YaGp.d.cts → config-CdytFgSR.d.cts} +3 -3
- package/dist/{config-IgK6YaGp.d.cts.map → config-CdytFgSR.d.cts.map} +1 -1
- package/dist/{config-kE-p5hxq.d.mts → config-_y1FGBWR.d.mts} +3 -3
- package/dist/{config-kE-p5hxq.d.mts.map → config-_y1FGBWR.d.mts.map} +1 -1
- package/dist/config.cjs +2 -2
- package/dist/config.d.cts +3 -3
- package/dist/config.d.mts +3 -3
- package/dist/config.mjs +2 -2
- package/dist/{credentialSchemas-AhIBuQxQ.cjs → credentialSchemas-DFxvGEwa.cjs} +2 -2
- package/dist/{credentialSchemas-AhIBuQxQ.cjs.map → credentialSchemas-DFxvGEwa.cjs.map} +1 -1
- package/dist/{credentialSchemas-DLKbxYBy.mjs → credentialSchemas-DaMpt-Dx.mjs} +2 -2
- package/dist/{credentialSchemas-DLKbxYBy.mjs.map → credentialSchemas-DaMpt-Dx.mjs.map} +1 -1
- package/dist/deploy/public.cjs +8 -8
- package/dist/deploy/public.d.cts +3 -3
- package/dist/deploy/public.d.cts.map +1 -1
- package/dist/deploy/public.d.mts +3 -3
- package/dist/deploy/public.d.mts.map +1 -1
- package/dist/deploy/public.mjs +8 -8
- package/dist/{deploy-CiRYwFmr.mjs → deploy-D8pUA9Y0.mjs} +797 -25
- package/dist/deploy-D8pUA9Y0.mjs.map +1 -0
- package/dist/{deploy-BbI1UMh3.cjs → deploy-DVrNjX1X.cjs} +796 -24
- package/dist/deploy-DVrNjX1X.cjs.map +1 -0
- package/dist/{discover-BvJOVsYG.mjs → discover-CzGM5P3p.mjs} +71 -1
- package/dist/discover-CzGM5P3p.mjs.map +1 -0
- package/dist/{discover-ojkcbxHw.cjs → discover-DL6h-J97.cjs} +71 -1
- package/dist/discover-DL6h-J97.cjs.map +1 -0
- package/dist/{dokploy-MM7c3IE0.mjs → dokploy-CzDGNB6A.mjs} +2 -2
- package/dist/{dokploy-MM7c3IE0.mjs.map → dokploy-CzDGNB6A.mjs.map} +1 -1
- package/dist/{dokploy-C0aQrCgs.cjs → dokploy-TtK6Zyl3.cjs} +2 -2
- package/dist/{dokploy-C0aQrCgs.cjs.map → dokploy-TtK6Zyl3.cjs.map} +1 -1
- package/dist/{drivers-Chb5Akov.mjs → drivers-C-VqMtld.mjs} +2 -2
- package/dist/{drivers-Chb5Akov.mjs.map → drivers-C-VqMtld.mjs.map} +1 -1
- package/dist/{drivers-CQ32PB5w.cjs → drivers-L29WvE95.cjs} +2 -2
- package/dist/{drivers-CQ32PB5w.cjs.map → drivers-L29WvE95.cjs.map} +1 -1
- package/dist/{eas-CJoys9yh.cjs → eas-D3clzkni.cjs} +2 -2
- package/dist/{eas-CJoys9yh.cjs.map → eas-D3clzkni.cjs.map} +1 -1
- package/dist/{eas-1Ee6kql0.mjs → eas-DaobzDks.mjs} +2 -2
- package/dist/{eas-1Ee6kql0.mjs.map → eas-DaobzDks.mjs.map} +1 -1
- package/dist/{emit-qvHxMV9b.cjs → emit-CYloptRS.cjs} +18 -1
- package/dist/emit-CYloptRS.cjs.map +1 -0
- package/dist/{emit-CNpuV_6Q.mjs → emit-CiJGdy_f.mjs} +18 -1
- package/dist/emit-CiJGdy_f.mjs.map +1 -0
- package/dist/{encryption-Bo9VlRnl.cjs → encryption-DBkIFiR2.cjs} +3 -3
- package/dist/{encryption-Bo9VlRnl.cjs.map → encryption-DBkIFiR2.cjs.map} +1 -1
- package/dist/{encryption-B8Bk1Mvu.mjs → encryption-DV31gEY8.mjs} +3 -3
- package/dist/{encryption-B8Bk1Mvu.mjs.map → encryption-DV31gEY8.mjs.map} +1 -1
- package/dist/{engine-BuinpJfS.mjs → engine-CFOR9h6X.mjs} +138 -13
- package/dist/engine-CFOR9h6X.mjs.map +1 -0
- package/dist/{engine-esxTxcIx.cjs → engine-CuZUGbEh.cjs} +138 -13
- package/dist/engine-CuZUGbEh.cjs.map +1 -0
- package/dist/{github-BEA4K3_X.cjs → github-CsvtWSBW.cjs} +41 -6
- package/dist/github-CsvtWSBW.cjs.map +1 -0
- package/dist/{github-BUlKJfOV.mjs → github-Nep8pI4_.mjs} +41 -6
- package/dist/github-Nep8pI4_.mjs.map +1 -0
- package/dist/{googlePlay-CiqAS2ma.cjs → googlePlay-C-UfBXJU.cjs} +3 -3
- package/dist/{googlePlay-CiqAS2ma.cjs.map → googlePlay-C-UfBXJU.cjs.map} +1 -1
- package/dist/{googlePlay-CK05QiTq.mjs → googlePlay-lF7Atm_N.mjs} +3 -3
- package/dist/{googlePlay-CK05QiTq.mjs.map → googlePlay-lF7Atm_N.mjs.map} +1 -1
- package/dist/{index-DhUf0B0m.d.mts → index-DrkV7N5w.d.mts} +2 -2
- package/dist/{index-4CO0HD27.d.cts.map → index-DrkV7N5w.d.mts.map} +1 -1
- package/dist/{index-4CO0HD27.d.cts → index-yaXZ9m-J.d.cts} +2 -2
- package/dist/{index-DhUf0B0m.d.mts.map → index-yaXZ9m-J.d.cts.map} +1 -1
- package/dist/index.cjs +147 -65
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +147 -65
- package/dist/index.mjs.map +1 -1
- package/dist/{migrate-DeQJBexh.cjs → migrate-Dp3GhFnf.cjs} +4 -4
- package/dist/{migrate-DeQJBexh.cjs.map → migrate-Dp3GhFnf.cjs.map} +1 -1
- package/dist/{migrate-CnbvrVag.mjs → migrate-NfbPVhi9.mjs} +4 -4
- package/dist/{migrate-CnbvrVag.mjs.map → migrate-NfbPVhi9.mjs.map} +1 -1
- package/dist/{migrate-BzCHT9qs.mjs → migrate-_sBX0pve.mjs} +3 -3
- package/dist/{migrate-BzCHT9qs.mjs.map → migrate-_sBX0pve.mjs.map} +1 -1
- package/dist/{migrate-C-hmbjpG.cjs → migrate-hlNKNWmg.cjs} +3 -3
- package/dist/{migrate-C-hmbjpG.cjs.map → migrate-hlNKNWmg.cjs.map} +1 -1
- package/dist/openapi.cjs +3 -3
- package/dist/openapi.d.cts +1 -1
- package/dist/openapi.d.mts +1 -1
- package/dist/openapi.mjs +3 -3
- package/dist/{publish-BISBrrqR.mjs → publish-BuUVaZVy.mjs} +2 -2
- package/dist/{publish-BISBrrqR.mjs.map → publish-BuUVaZVy.mjs.map} +1 -1
- package/dist/{publish-DtSIB-hZ.cjs → publish-ZOo4xEuZ.cjs} +2 -2
- package/dist/{publish-DtSIB-hZ.cjs.map → publish-ZOo4xEuZ.cjs.map} +1 -1
- package/dist/{ready-DqsyadOs.mjs → ready-Ca883OvY.mjs} +6 -6
- package/dist/{ready-DqsyadOs.mjs.map → ready-Ca883OvY.mjs.map} +1 -1
- package/dist/{ready-IVGu-q18.cjs → ready-qnqp6JAY.cjs} +6 -6
- package/dist/{ready-IVGu-q18.cjs.map → ready-qnqp6JAY.cjs.map} +1 -1
- package/dist/reconcile/public.cjs +2 -2
- package/dist/reconcile/public.d.cts +1 -1
- package/dist/reconcile/public.d.cts.map +1 -1
- package/dist/reconcile/public.d.mts +1 -1
- package/dist/reconcile/public.d.mts.map +1 -1
- package/dist/reconcile/public.mjs +2 -2
- package/dist/{resolve-BT7fkPN5.mjs → resolve-BCU9pYDx.mjs} +3 -3
- package/dist/{resolve-BT7fkPN5.mjs.map → resolve-BCU9pYDx.mjs.map} +1 -1
- package/dist/{resolve-C7GKQcE4.cjs → resolve-C9QqOl5t.cjs} +3 -3
- package/dist/{resolve-C7GKQcE4.cjs.map → resolve-C9QqOl5t.cjs.map} +1 -1
- package/dist/{rollback-BEiB-Pje.cjs → rollback-CTWdDBgB.cjs} +5 -5
- package/dist/{rollback-BEiB-Pje.cjs.map → rollback-CTWdDBgB.cjs.map} +1 -1
- package/dist/{rollback-DbP0KuDw.mjs → rollback-CWyyTQ0B.mjs} +5 -5
- package/dist/{rollback-DbP0KuDw.mjs.map → rollback-CWyyTQ0B.mjs.map} +1 -1
- package/dist/{runtime-BFJQNqwd.d.mts → runtime-DCkfI2E7.d.mts} +2 -2
- package/dist/{runtime-BFJQNqwd.d.mts.map → runtime-DCkfI2E7.d.mts.map} +1 -1
- package/dist/{runtime-BJO-FFef.d.cts → runtime-Ie4znWIB.d.cts} +2 -2
- package/dist/{runtime-BJO-FFef.d.cts.map → runtime-Ie4znWIB.d.cts.map} +1 -1
- package/dist/{s3-B4FTQQkV.mjs → s3-BZzSnker.mjs} +2 -2
- package/dist/{s3-B4FTQQkV.mjs.map → s3-BZzSnker.mjs.map} +1 -1
- package/dist/{s3-DwKLXwUT.cjs → s3-pqgmCTOq.cjs} +2 -2
- package/dist/{s3-DwKLXwUT.cjs.map → s3-pqgmCTOq.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-rG-Evfz9.mjs → seeds-CK7w79VC.mjs} +516 -39
- package/dist/seeds-CK7w79VC.mjs.map +1 -0
- package/dist/{seeds-DOfxmDRO.cjs → seeds-CPEcmoPn.cjs} +599 -38
- package/dist/seeds-CPEcmoPn.cjs.map +1 -0
- package/dist/{serverSetup-xGw1fxuZ.mjs → serverSetup-BAPNuNEX.mjs} +6 -6
- package/dist/{serverSetup-xGw1fxuZ.mjs.map → serverSetup-BAPNuNEX.mjs.map} +1 -1
- package/dist/{serverSetup-CWWVcU6Y.cjs → serverSetup-C6t6Vtt7.cjs} +6 -6
- package/dist/{serverSetup-CWWVcU6Y.cjs.map → serverSetup-C6t6Vtt7.cjs.map} +1 -1
- package/dist/{sniffer-C7O9Pna_.cjs → sniffer-DdX_WN_-.cjs} +8 -8
- package/dist/{sniffer-C7O9Pna_.cjs.map → sniffer-DdX_WN_-.cjs.map} +1 -1
- package/dist/{sniffer-DVPgfyHr.mjs → sniffer-g9v7cqDN.mjs} +8 -8
- package/dist/{sniffer-DVPgfyHr.mjs.map → sniffer-g9v7cqDN.mjs.map} +1 -1
- package/dist/{snsSubscriptions-CSkteK2J.cjs → snsSubscriptions-5Cqww8S7.cjs} +15 -3
- package/dist/snsSubscriptions-5Cqww8S7.cjs.map +1 -0
- package/dist/{snsSubscriptions-CvBIGGp0.mjs → snsSubscriptions-BmYeeTH8.mjs} +4 -4
- package/dist/snsSubscriptions-BmYeeTH8.mjs.map +1 -0
- package/dist/{stage-2EKpzPQ1.mjs → stage-C-I2dVw1.mjs} +6 -6
- package/dist/{stage-2EKpzPQ1.mjs.map → stage-C-I2dVw1.mjs.map} +1 -1
- package/dist/{stage-fRfFtLwj.cjs → stage-CUE5pMmw.cjs} +6 -6
- package/dist/{stage-fRfFtLwj.cjs.map → stage-CUE5pMmw.cjs.map} +1 -1
- package/dist/{stages-B7mCWI_R.cjs → stages-3yUZaZeA.cjs} +2 -2
- package/dist/{stages-B7mCWI_R.cjs.map → stages-3yUZaZeA.cjs.map} +1 -1
- package/dist/{stages-DSltTW2d.mjs → stages-DTTv0NZW.mjs} +2 -2
- package/dist/{stages-DSltTW2d.mjs.map → stages-DTTv0NZW.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-D1aeTkgv.cjs → terminal-PKhPAajN.cjs} +2 -2
- package/dist/{terminal-D1aeTkgv.cjs.map → terminal-PKhPAajN.cjs.map} +1 -1
- package/dist/{terminal-BAVrDhhN.mjs → terminal-bqY33lpN.mjs} +2 -2
- package/dist/{terminal-BAVrDhhN.mjs.map → terminal-bqY33lpN.mjs.map} +1 -1
- package/dist/{types-CFU2uvrz.d.cts → types-Bmjs4jZV.d.mts} +8 -2
- package/dist/{types-D3BeGucy.d.mts.map → types-Bmjs4jZV.d.mts.map} +1 -1
- package/dist/{types-D3BeGucy.d.mts → types-D0IsQxES.d.cts} +9 -1
- package/dist/{types-CFU2uvrz.d.cts.map → types-D0IsQxES.d.cts.map} +1 -1
- package/dist/vitest.cjs +1 -1
- package/dist/vitest.mjs +1 -1
- package/dist/workspace/index.cjs +1 -1
- package/dist/workspace/index.d.cts +2 -2
- package/dist/workspace/index.d.mts +2 -2
- package/dist/workspace/index.mjs +1 -1
- package/dist/{workspace-DUnnVjqC.mjs → workspace-DBHF9Gba.mjs} +5 -3
- package/dist/workspace-DBHF9Gba.mjs.map +1 -0
- package/dist/{workspace-C82GLPnf.cjs → workspace-Du4Afb03.cjs} +5 -3
- package/dist/workspace-Du4Afb03.cjs.map +1 -0
- package/package.json +17 -15
- package/dist/SubscriberGenerator-COAVPgM-.mjs.map +0 -1
- package/dist/compose-BfXXWJSp.cjs.map +0 -1
- package/dist/compose-DJvvmF3X.mjs.map +0 -1
- package/dist/deploy-BbI1UMh3.cjs.map +0 -1
- package/dist/deploy-CiRYwFmr.mjs.map +0 -1
- package/dist/discover-BvJOVsYG.mjs.map +0 -1
- package/dist/discover-ojkcbxHw.cjs.map +0 -1
- package/dist/emit-CNpuV_6Q.mjs.map +0 -1
- package/dist/emit-qvHxMV9b.cjs.map +0 -1
- package/dist/engine-BuinpJfS.mjs.map +0 -1
- package/dist/engine-esxTxcIx.cjs.map +0 -1
- package/dist/github-BEA4K3_X.cjs.map +0 -1
- package/dist/github-BUlKJfOV.mjs.map +0 -1
- package/dist/seeds-DOfxmDRO.cjs.map +0 -1
- package/dist/seeds-rG-Evfz9.mjs.map +0 -1
- package/dist/snsSubscriptions-CSkteK2J.cjs.map +0 -1
- package/dist/snsSubscriptions-CvBIGGp0.mjs.map +0 -1
- package/dist/workspace-C82GLPnf.cjs.map +0 -1
- package/dist/workspace-DUnnVjqC.mjs.map +0 -1
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
const require_rolldown_runtime = require("./rolldown-runtime-C0BPl7ul.cjs");
|
|
2
2
|
const require_errors = require("./errors-DMC4Umsb.cjs");
|
|
3
3
|
const require_credentials = require("./credentials-D7XJypNd.cjs");
|
|
4
|
-
const require_workspace = require("./workspace-
|
|
5
|
-
const require_snsSubscriptions = require("./snsSubscriptions-
|
|
4
|
+
const require_workspace = require("./workspace-Du4Afb03.cjs");
|
|
5
|
+
const require_snsSubscriptions = require("./snsSubscriptions-5Cqww8S7.cjs");
|
|
6
6
|
const require_define = require("./define-crmMcXFS.cjs");
|
|
7
|
-
const require_seeds = require("./seeds-
|
|
7
|
+
const require_seeds = require("./seeds-CPEcmoPn.cjs");
|
|
8
8
|
const require_derive = require("./derive-DAbo49sm.cjs");
|
|
9
|
-
const require_SubscriberGenerator = require("./SubscriberGenerator-
|
|
9
|
+
const require_SubscriberGenerator = require("./SubscriberGenerator-BDUp7OeY.cjs");
|
|
10
10
|
const require_identity = require("./identity-CbLfgQNT.cjs");
|
|
11
|
-
const require_discover = require("./discover-
|
|
12
|
-
const require_drivers = require("./drivers-
|
|
11
|
+
const require_discover = require("./discover-DL6h-J97.cjs");
|
|
12
|
+
const require_drivers = require("./drivers-L29WvE95.cjs");
|
|
13
13
|
const require_databases = require("./databases-fOaoBInm.cjs");
|
|
14
14
|
let node_path = require("node:path");
|
|
15
15
|
let node_fs = require("node:fs");
|
|
@@ -649,6 +649,21 @@ const sshAccess = {
|
|
|
649
649
|
}
|
|
650
650
|
};
|
|
651
651
|
//#endregion
|
|
652
|
+
//#region src/compose/routes.ts
|
|
653
|
+
/** A route with handlers and a check that would have to hold for each of them. */
|
|
654
|
+
var EdgeRouteConflict = class extends Error {
|
|
655
|
+
route;
|
|
656
|
+
constructor(route) {
|
|
657
|
+
super(`The edge route '${route}' sends some paths to other upstreams and also restricts who or what it answers. The two are not combined: give the restricted paths a host of their own.`);
|
|
658
|
+
this.route = route;
|
|
659
|
+
this.name = "EdgeRouteConflict";
|
|
660
|
+
}
|
|
661
|
+
};
|
|
662
|
+
/** @throws {EdgeRouteConflict} */
|
|
663
|
+
function assertRouteRenderable(route) {
|
|
664
|
+
if (route.handlers?.length && (route.allow || route.paths || route.prefixes || route.requireHeader)) throw new EdgeRouteConflict(route.name);
|
|
665
|
+
}
|
|
666
|
+
//#endregion
|
|
652
667
|
//#region src/compose/caddyfile.ts
|
|
653
668
|
/**
|
|
654
669
|
* The stack's own edge, rendered for Caddy: one site block per route.
|
|
@@ -684,26 +699,55 @@ function edgeCaddyfile(routes, options) {
|
|
|
684
699
|
` : tls.kind === "files" ? `
|
|
685
700
|
tls ${tls.certFile} ${tls.keyFile}
|
|
686
701
|
` : "";
|
|
687
|
-
const blocks = routes.map((
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
702
|
+
const blocks = routes.map((route) => siteBlock(route, certificate));
|
|
703
|
+
return `${HEADER}${global ? `${global}\n\n` : ""}${blocks.join("\n\n")}\n`;
|
|
704
|
+
}
|
|
705
|
+
/** One route's site block. */
|
|
706
|
+
function siteBlock(route, certificate) {
|
|
707
|
+
assertRouteRenderable(route);
|
|
708
|
+
const { host, allow, auth, paths, prefixes, requireHeader, handlers } = route;
|
|
709
|
+
const allowed = [...paths ?? [], ...(prefixes ?? []).map((prefix) => `${prefix}*`)];
|
|
710
|
+
const checks = `${allow ? `
|
|
692
711
|
# Only these addresses — the peer Caddy sees, never a header a client
|
|
693
712
|
# could set. Everything else is refused before it reaches the upstream.
|
|
694
713
|
@denied not remote_ip ${allow.join(" ")}
|
|
695
714
|
respond @denied 403
|
|
715
|
+
` : ""}${requireHeader ? `
|
|
716
|
+
# Only what the CDN sends: it adds this header to every request, and this
|
|
717
|
+
# host would be reached around the CDN otherwise.
|
|
718
|
+
@forged not header ${requireHeader.name} "${requireHeader.value}"
|
|
719
|
+
respond @forged 403
|
|
696
720
|
` : ""}${auth ? `
|
|
697
721
|
# The stage's login, asked for before anything reaches the upstream.
|
|
698
722
|
basic_auth {
|
|
699
723
|
${auth.user} ${auth.hash}
|
|
700
724
|
}
|
|
701
|
-
` : ""}${
|
|
725
|
+
` : ""}${allowed.length ? `
|
|
702
726
|
# Only these paths answer. Everything else on this host is refused before
|
|
703
727
|
# it reaches the upstream.
|
|
704
|
-
@elsewhere not path ${
|
|
728
|
+
@elsewhere not path ${allowed.join(" ")}
|
|
705
729
|
respond @elsewhere 404
|
|
706
|
-
` : ""}
|
|
730
|
+
` : ""}`;
|
|
731
|
+
const proxy = proxyBlock(route);
|
|
732
|
+
const body = handlers?.length ? `${handlers.map((handler, index) => `
|
|
733
|
+
# Answered by another service: ${handler.name}.
|
|
734
|
+
@handler${index} path ${handler.prefixes.map((prefix) => `${prefix}*`).join(" ")}
|
|
735
|
+
handle @handler${index} {
|
|
736
|
+
reverse_proxy ${handler.upstreams.map(address).join(" ")}
|
|
737
|
+
}
|
|
738
|
+
`).join("")}
|
|
739
|
+
handle {${proxy.replace(/\n/g, "\n ")}
|
|
740
|
+
}` : proxy;
|
|
741
|
+
return `https://${host} {${certificate}
|
|
742
|
+
# gkm's own header, which only a service of this stack may send: the auth
|
|
743
|
+
# server rate-limits by the client address it carries.
|
|
744
|
+
request_header -${_geekmidas_manifest.CLIENT_IP_HEADER}
|
|
745
|
+
${checks}${body}
|
|
746
|
+
}`;
|
|
747
|
+
}
|
|
748
|
+
/** Where a route's requests go, when no handler took them. */
|
|
749
|
+
function proxyBlock({ upstreams, prefix, streaming }) {
|
|
750
|
+
return prefix ? `
|
|
707
751
|
# A bucket, served at a host of its own: the bucket is a prefix on MinIO,
|
|
708
752
|
# which routes and signs on the Host header — so it is sent the upstream's.
|
|
709
753
|
reverse_proxy ${upstreams.map(address).join(" ")} {
|
|
@@ -716,17 +760,16 @@ ${allow ? `
|
|
|
716
760
|
# Never buffer: a streamed response — server-sent events, a Next.js
|
|
717
761
|
# RSC payload — reaches the client as each chunk is written.
|
|
718
762
|
flush_interval -1
|
|
719
|
-
}` : ""}
|
|
720
|
-
}`);
|
|
721
|
-
return `${HEADER}${global ? `${global}\n\n` : ""}${blocks.join("\n\n")}\n`;
|
|
763
|
+
}` : ""}`;
|
|
722
764
|
}
|
|
723
765
|
const HEADER = `# Generated by gkm compose from the construct manifest — do not edit.
|
|
724
766
|
#
|
|
725
767
|
# One host per API and site, each in front of its own container, one per
|
|
726
|
-
# file server in front of the stack's MinIO
|
|
727
|
-
#
|
|
728
|
-
#
|
|
729
|
-
#
|
|
768
|
+
# file server in front of the stack's MinIO — its processors' paths sent to
|
|
769
|
+
# their own service — one per worker SNS pushes to and per processor unit a
|
|
770
|
+
# CDN reaches, answering only those paths, and — when its logs are served
|
|
771
|
+
# publicly — one for OpenObserve, to the addresses it allows. A site the
|
|
772
|
+
# stage puts behind a password asks for its login first.
|
|
730
773
|
`;
|
|
731
774
|
//#endregion
|
|
732
775
|
//#region src/compose/images.ts
|
|
@@ -1029,9 +1072,24 @@ function traefikDynamic(routes, options) {
|
|
|
1029
1072
|
middlewares[name(route, "prefix")] = { addPrefix: { prefix: route.prefix } };
|
|
1030
1073
|
chain.push(name(route, "prefix"));
|
|
1031
1074
|
}
|
|
1032
|
-
|
|
1075
|
+
assertRouteRenderable(route);
|
|
1076
|
+
const allowed = [...(route.paths ?? []).map((path) => `Path(\`${path}\`)`), ...(route.prefixes ?? []).map((prefix) => `PathPrefix(\`${prefix}\`)`)];
|
|
1077
|
+
const paths = allowed.length ? ` && (${allowed.join(" || ")})` : "";
|
|
1078
|
+
const header = route.requireHeader ? ` && Header(\`${route.requireHeader.name}\`, \`${route.requireHeader.value}\`)` : "";
|
|
1079
|
+
for (const handler of route.handlers ?? []) {
|
|
1080
|
+
const handlerName = name(route, handler.name);
|
|
1081
|
+
routers[handlerName] = {
|
|
1082
|
+
rule: `Host(\`${route.host}\`) && (${handler.prefixes.map((prefix) => `PathPrefix(\`${prefix}\`)`).join(" || ")})`,
|
|
1083
|
+
priority: 1e4,
|
|
1084
|
+
entryPoints: ["websecure"],
|
|
1085
|
+
service: handlerName,
|
|
1086
|
+
middlewares: [strip],
|
|
1087
|
+
tls: tls.kind === "acme" ? { certResolver: ACME_RESOLVER } : {}
|
|
1088
|
+
};
|
|
1089
|
+
services[handlerName] = { loadBalancer: { servers: handler.upstreams.map((upstream) => ({ url: url(upstream) })) } };
|
|
1090
|
+
}
|
|
1033
1091
|
routers[name(route)] = {
|
|
1034
|
-
rule: `Host(\`${route.host}\`)${paths}`,
|
|
1092
|
+
rule: `Host(\`${route.host}\`)${paths}${header}`,
|
|
1035
1093
|
entryPoints: ["websecure"],
|
|
1036
1094
|
service: name(route),
|
|
1037
1095
|
middlewares: chain,
|
|
@@ -1173,6 +1231,19 @@ const LOG_ROTATION = {
|
|
|
1173
1231
|
"max-file": "3"
|
|
1174
1232
|
}
|
|
1175
1233
|
};
|
|
1234
|
+
/** A CDN serves the bucket, and the secret it sends the processors is not in the stage. */
|
|
1235
|
+
var ProcessorOriginSecretMissing = class extends require_errors.GkmError {
|
|
1236
|
+
fileServer;
|
|
1237
|
+
key;
|
|
1238
|
+
stage;
|
|
1239
|
+
constructor(fileServer, key, stage) {
|
|
1240
|
+
super(`'${fileServer}' has processors, and its bucket is not the stack's MinIO, so they are reached through the CDN in front of it — which sends ${key}, and stage '${stage}' has none. It is written by the deploy that creates the CDN (\`deploy.objects.${stage}\` on s3, cdn on): run gkm deploy --stage ${stage}.`);
|
|
1241
|
+
this.fileServer = fileServer;
|
|
1242
|
+
this.key = key;
|
|
1243
|
+
this.stage = stage;
|
|
1244
|
+
this.name = "ProcessorOriginSecretMissing";
|
|
1245
|
+
}
|
|
1246
|
+
};
|
|
1176
1247
|
/**
|
|
1177
1248
|
* The stack with Caddy's files inline: its Caddyfile and, where the stage has
|
|
1178
1249
|
* one, its own certificate — `configs` with their `content`, which compose
|
|
@@ -1381,7 +1452,13 @@ function composeStack(input) {
|
|
|
1381
1452
|
identity,
|
|
1382
1453
|
images: input.images
|
|
1383
1454
|
});
|
|
1384
|
-
|
|
1455
|
+
const processors = stackProcessors(require_seeds.processorUnits(workspace, manifest), {
|
|
1456
|
+
manifest,
|
|
1457
|
+
stage,
|
|
1458
|
+
identity,
|
|
1459
|
+
images: input.images
|
|
1460
|
+
});
|
|
1461
|
+
if (apps.length === 0 && workers.length === 0 && processors.length === 0) throw new NothingToCompose(workspace.root);
|
|
1385
1462
|
const owners = /* @__PURE__ */ new Map();
|
|
1386
1463
|
for (const resource of plan.resources) {
|
|
1387
1464
|
owners.set(resource.envKey, resource);
|
|
@@ -1633,6 +1710,48 @@ function composeStack(input) {
|
|
|
1633
1710
|
};
|
|
1634
1711
|
for (const [key, value] of Object.entries(worker.env)) if (/[\r\n]/.test(value)) throw new EnvValueMultiline(worker.name, key);
|
|
1635
1712
|
}
|
|
1713
|
+
for (const unit of processors) {
|
|
1714
|
+
const served = fileServers.get(unit.id);
|
|
1715
|
+
if (served) served.route = {
|
|
1716
|
+
...served.route,
|
|
1717
|
+
handlers: [{
|
|
1718
|
+
name: unit.name,
|
|
1719
|
+
prefixes: unit.prefixes,
|
|
1720
|
+
upstreams: [{
|
|
1721
|
+
service: unit.name,
|
|
1722
|
+
port: unit.port
|
|
1723
|
+
}]
|
|
1724
|
+
}]
|
|
1725
|
+
};
|
|
1726
|
+
else if (!local && !input.buildOnly) {
|
|
1727
|
+
if (!domain) throw new require_seeds.NoDomainForStage(stage);
|
|
1728
|
+
const key = require_seeds.originSecretKey(unit.id);
|
|
1729
|
+
const secret = custom[key];
|
|
1730
|
+
if (!secret) throw new ProcessorOriginSecretMissing(unit.id, key, stage);
|
|
1731
|
+
unit.origin = {
|
|
1732
|
+
host: require_seeds.processorOriginHost(unit.id, domain),
|
|
1733
|
+
secret
|
|
1734
|
+
};
|
|
1735
|
+
}
|
|
1736
|
+
if (proxy === "traefik" && (served || unit.origin)) edgeServices.add(unit.name);
|
|
1737
|
+
if (input.buildOnly) continue;
|
|
1738
|
+
const keys = require_seeds.processorEnvKeys(manifest, unit.id, input.runnables) ?? /* @__PURE__ */ new Set();
|
|
1739
|
+
unit.env = {
|
|
1740
|
+
...require_seeds.scopeTelemetryEnv(valuesFor({
|
|
1741
|
+
name: unit.name,
|
|
1742
|
+
id: unit.id,
|
|
1743
|
+
kind: "rest-api"
|
|
1744
|
+
}, keys), {
|
|
1745
|
+
uses: require_seeds.telemetryOf(manifest, unit.id) !== void 0,
|
|
1746
|
+
serviceName: unit.name,
|
|
1747
|
+
...telemetryValues ? { telemetry: telemetryValues } : {}
|
|
1748
|
+
}),
|
|
1749
|
+
NODE_ENV: "production",
|
|
1750
|
+
PORT: String(unit.port),
|
|
1751
|
+
STAGE: stage
|
|
1752
|
+
};
|
|
1753
|
+
for (const [key, value] of Object.entries(unit.env)) if (/[\r\n]/.test(value)) throw new EnvValueMultiline(unit.name, key);
|
|
1754
|
+
}
|
|
1636
1755
|
if (storage && !input.buildOnly) {
|
|
1637
1756
|
const watched = require_seeds.watchedBuckets(manifest, input.subscribers ?? {});
|
|
1638
1757
|
for (const [bucket, workerId] of watched) {
|
|
@@ -1675,6 +1794,7 @@ function composeStack(input) {
|
|
|
1675
1794
|
infra,
|
|
1676
1795
|
apps,
|
|
1677
1796
|
workers,
|
|
1797
|
+
processors,
|
|
1678
1798
|
credentials: credential.containers,
|
|
1679
1799
|
...storage ? { storage } : {},
|
|
1680
1800
|
...logs ? { logs } : {},
|
|
@@ -1710,6 +1830,21 @@ function composeStack(input) {
|
|
|
1710
1830
|
health: app.kind === "site" ? "/" : "/health"
|
|
1711
1831
|
})),
|
|
1712
1832
|
...[...fileServers.values()].map(({ route }) => route),
|
|
1833
|
+
...processors.flatMap(({ name, port, prefixes, origin }) => origin ? [{
|
|
1834
|
+
name,
|
|
1835
|
+
host: origin.host,
|
|
1836
|
+
upstreams: [{
|
|
1837
|
+
service: name,
|
|
1838
|
+
port
|
|
1839
|
+
}],
|
|
1840
|
+
streaming: false,
|
|
1841
|
+
prefixes,
|
|
1842
|
+
requireHeader: {
|
|
1843
|
+
name: require_seeds.ORIGIN_VERIFY_HEADER,
|
|
1844
|
+
value: origin.secret
|
|
1845
|
+
},
|
|
1846
|
+
health: "/health"
|
|
1847
|
+
}] : []),
|
|
1713
1848
|
...workers.flatMap(({ name, port, push }) => push ? [{
|
|
1714
1849
|
name,
|
|
1715
1850
|
host: push.host,
|
|
@@ -1759,12 +1894,26 @@ function composeStack(input) {
|
|
|
1759
1894
|
cache: require_seeds.STACK_CACHE
|
|
1760
1895
|
});
|
|
1761
1896
|
}
|
|
1897
|
+
for (const unit of processors) {
|
|
1898
|
+
if (!unit.build) continue;
|
|
1899
|
+
dockerfiles[unit.build.dockerfile] = require_seeds.processorDockerfile({
|
|
1900
|
+
id: unit.id,
|
|
1901
|
+
name: unit.name,
|
|
1902
|
+
app: unit.host
|
|
1903
|
+
}, workspace.apps[unit.host], {
|
|
1904
|
+
layout,
|
|
1905
|
+
workspaceRoot: workspace.root,
|
|
1906
|
+
native: unit.native,
|
|
1907
|
+
cache: require_seeds.STACK_CACHE
|
|
1908
|
+
});
|
|
1909
|
+
}
|
|
1762
1910
|
return {
|
|
1763
1911
|
project,
|
|
1764
1912
|
stage,
|
|
1765
1913
|
local,
|
|
1766
1914
|
apps,
|
|
1767
1915
|
workers,
|
|
1916
|
+
processors,
|
|
1768
1917
|
mobileApps,
|
|
1769
1918
|
infra,
|
|
1770
1919
|
compose,
|
|
@@ -1904,6 +2053,25 @@ function assertHostsUnique(routes) {
|
|
|
1904
2053
|
claimed.set(host, name);
|
|
1905
2054
|
}
|
|
1906
2055
|
}
|
|
2056
|
+
/** Each processor unit's image, and where it is built from. */
|
|
2057
|
+
function stackProcessors(units, options) {
|
|
2058
|
+
return units.map((unit) => {
|
|
2059
|
+
const server = options.manifest[unit.id];
|
|
2060
|
+
const processors = server?.kind === "file-server" ? server.processors ?? [] : [];
|
|
2061
|
+
return {
|
|
2062
|
+
app: unit.name,
|
|
2063
|
+
name: unit.name,
|
|
2064
|
+
id: unit.id,
|
|
2065
|
+
host: unit.app,
|
|
2066
|
+
port: require_seeds.PROCESSOR_PORT,
|
|
2067
|
+
prefixes: [...new Set(processors.map((p) => p.prefix))].sort(),
|
|
2068
|
+
native: require_seeds.processorNative(options.manifest, unit.id),
|
|
2069
|
+
ref: require_seeds.validateImageRef(require_identity.imageRef(options.identity, unit.name, options.images.registry, options.images.tag)),
|
|
2070
|
+
tag: options.images.tag,
|
|
2071
|
+
...options.images.mode === "build" ? { build: { dockerfile: `${stackDir(options.stage)}/Dockerfile.${unit.name}` } } : {}
|
|
2072
|
+
};
|
|
2073
|
+
});
|
|
2074
|
+
}
|
|
1907
2075
|
/** Each worker's image, and where it is built from. */
|
|
1908
2076
|
function stackWorkers(units, options) {
|
|
1909
2077
|
return units.map((unit) => ({
|
|
@@ -1990,7 +2158,7 @@ function stackFile(options) {
|
|
|
1990
2158
|
} : {},
|
|
1991
2159
|
healthcheck: probe(app.port, app.kind === "site" ? "/" : "/health")
|
|
1992
2160
|
};
|
|
1993
|
-
for (const worker of options.workers) services[worker.name] = {
|
|
2161
|
+
for (const worker of [...options.workers, ...options.processors]) services[worker.name] = {
|
|
1994
2162
|
image: worker.ref,
|
|
1995
2163
|
...worker.build ? { build: require_seeds.composeBuildPaths({
|
|
1996
2164
|
composeDir: options.composeDir,
|
|
@@ -2011,7 +2179,11 @@ function stackFile(options) {
|
|
|
2011
2179
|
restart: "unless-stopped",
|
|
2012
2180
|
ports: [`${options.https}:443`, `${options.http}:80`],
|
|
2013
2181
|
volumes: ["caddy-data:/data", "caddy-config:/config"],
|
|
2014
|
-
depends_on: Object.fromEntries([
|
|
2182
|
+
depends_on: Object.fromEntries([
|
|
2183
|
+
...apps.map((app) => app.name),
|
|
2184
|
+
...options.workers.filter((w) => w.push).map((w) => w.name),
|
|
2185
|
+
...options.processors.map((p) => p.name)
|
|
2186
|
+
].map((name) => [name, HEALTHY])),
|
|
2015
2187
|
healthcheck: {
|
|
2016
2188
|
test: [
|
|
2017
2189
|
"CMD",
|
|
@@ -2632,7 +2804,11 @@ async function validateCompose(ctx, deps, options = {}) {
|
|
|
2632
2804
|
if (mode === "build") assertRedisClient(workspace, composed, manifest, runnables);
|
|
2633
2805
|
const pinned = (unpinned) => options.pin ? withPinnedImages(unpinned, options.pin.file, options.pin.digests) : unpinned;
|
|
2634
2806
|
const stack = pinned(composed);
|
|
2635
|
-
if (mode === "pull" && !ctx.dryRun) await assertImagesExist(deps.docker, tag, [
|
|
2807
|
+
if (mode === "pull" && !ctx.dryRun) await assertImagesExist(deps.docker, tag, [
|
|
2808
|
+
...stack.apps,
|
|
2809
|
+
...stack.workers,
|
|
2810
|
+
...stack.processors
|
|
2811
|
+
]);
|
|
2636
2812
|
if (stack.redis && !stack.local) ctx.secrets.mask(stack.redis.password);
|
|
2637
2813
|
if (stack.logs && (!stack.local || stack.logs.passwordFromSecrets)) {
|
|
2638
2814
|
ctx.secrets.mask(stack.logs.password);
|
|
@@ -2838,8 +3014,13 @@ async function stageSecrets(ctx, manifest) {
|
|
|
2838
3014
|
function withPinnedImages(stack, file, digests) {
|
|
2839
3015
|
const apps = pinImages(file, digests, stack.apps);
|
|
2840
3016
|
const workers = pinImages(file, digests, stack.workers);
|
|
3017
|
+
const processors = pinImages(file, digests, stack.processors);
|
|
2841
3018
|
const services = { ...stack.compose.services };
|
|
2842
|
-
for (const image of [
|
|
3019
|
+
for (const image of [
|
|
3020
|
+
...apps,
|
|
3021
|
+
...workers,
|
|
3022
|
+
...processors
|
|
3023
|
+
]) services[image.name] = {
|
|
2843
3024
|
...services[image.name],
|
|
2844
3025
|
image: image.ref
|
|
2845
3026
|
};
|
|
@@ -2847,6 +3028,7 @@ function withPinnedImages(stack, file, digests) {
|
|
|
2847
3028
|
...stack,
|
|
2848
3029
|
apps,
|
|
2849
3030
|
workers,
|
|
3031
|
+
processors,
|
|
2850
3032
|
compose: {
|
|
2851
3033
|
...stack.compose,
|
|
2852
3034
|
services
|
|
@@ -2895,7 +3077,7 @@ async function planCompose(ctx, run) {
|
|
|
2895
3077
|
action: run.previous[app.name] ? "reuse" : "create"
|
|
2896
3078
|
});
|
|
2897
3079
|
}
|
|
2898
|
-
for (const worker of run.stack.workers) {
|
|
3080
|
+
for (const worker of [...run.stack.workers, ...run.stack.processors]) {
|
|
2899
3081
|
planned({
|
|
2900
3082
|
key: `image:${worker.name}`,
|
|
2901
3083
|
resourceType: "image",
|
|
@@ -3131,7 +3313,11 @@ async function migrateAndSeed(ctx, run, deps, port) {
|
|
|
3131
3313
|
*/
|
|
3132
3314
|
async function buildCompose(ctx, run, deps) {
|
|
3133
3315
|
const { stack, ref } = run;
|
|
3134
|
-
const images = [
|
|
3316
|
+
const images = [
|
|
3317
|
+
...stack.apps,
|
|
3318
|
+
...stack.workers,
|
|
3319
|
+
...stack.processors
|
|
3320
|
+
];
|
|
3135
3321
|
const apps = images.map((image) => image.app);
|
|
3136
3322
|
if (run.push) {
|
|
3137
3323
|
run.files = await writeStack(ctx.cwd, run.dir, stack);
|
|
@@ -3203,7 +3389,7 @@ async function releaseCompose(ctx, run, deps) {
|
|
|
3203
3389
|
url: app.url
|
|
3204
3390
|
});
|
|
3205
3391
|
}
|
|
3206
|
-
for (const worker of stack.workers) applied(ctx, run, {
|
|
3392
|
+
for (const worker of [...stack.workers, ...stack.processors]) applied(ctx, run, {
|
|
3207
3393
|
key: `service:${worker.name}`,
|
|
3208
3394
|
resourceType: "service",
|
|
3209
3395
|
action: "ensure",
|
|
@@ -3213,6 +3399,7 @@ async function releaseCompose(ctx, run, deps) {
|
|
|
3213
3399
|
ctx.logger.info(`\n✅ ${stack.project} is running:`);
|
|
3214
3400
|
for (const app of stack.apps) ctx.logger.info(` ${app.name.padEnd(12)} ${app.url}${app.auth ? ` 🔒 user: ${app.auth.user}, password: gkm secrets:show --stage ${ctx.stage} --reveal → ${app.auth.key}` : ""}`);
|
|
3215
3401
|
for (const worker of stack.workers) ctx.logger.info(` ${worker.name.padEnd(12)} worker ${worker.id}`);
|
|
3402
|
+
for (const unit of stack.processors) ctx.logger.info(` ${unit.name.padEnd(12)} processors of ${unit.id}`);
|
|
3216
3403
|
if (stack.local) ctx.logger.info(`\n🔐 Certificates are from Caddy's local CA: NODE_EXTRA_CA_CERTS=${(0, node_path.join)(stackDir(ctx.stage), "caddy-root.crt")}`);
|
|
3217
3404
|
}
|
|
3218
3405
|
/**
|
|
@@ -3223,7 +3410,11 @@ async function releaseCompose(ctx, run, deps) {
|
|
|
3223
3410
|
async function recordImages(ctx, run) {
|
|
3224
3411
|
const journal = await require_seeds.DeployJournal.open(ctx.state, ctx.stage, () => require_seeds.createComposeState(ctx.stage));
|
|
3225
3412
|
const by = require_seeds.currentActor();
|
|
3226
|
-
for (const app of [
|
|
3413
|
+
for (const app of [
|
|
3414
|
+
...run.stack.apps,
|
|
3415
|
+
...run.stack.workers,
|
|
3416
|
+
...run.stack.processors
|
|
3417
|
+
]) {
|
|
3227
3418
|
const image = run.images[app.app] ?? {
|
|
3228
3419
|
ref: app.ref,
|
|
3229
3420
|
tag: app.tag
|
|
@@ -3252,7 +3443,7 @@ async function verifyCompose(ctx, run, deps) {
|
|
|
3252
3443
|
ca,
|
|
3253
3444
|
edge
|
|
3254
3445
|
})));
|
|
3255
|
-
results.push(...await Promise.all(stack.workers.map((worker) => checkContainer(ctx, run, deps, worker.name))));
|
|
3446
|
+
results.push(...await Promise.all([...stack.workers, ...stack.processors].map((worker) => checkContainer(ctx, run, deps, worker.name))));
|
|
3256
3447
|
if (stack.logs) results.push(await checkContainer(ctx, run, deps, require_seeds.LOGS_SERVICE));
|
|
3257
3448
|
const down = results.filter((result) => !result.healthy).map(({ app, url, last }) => ({
|
|
3258
3449
|
app,
|
|
@@ -3417,7 +3608,7 @@ function composeResult(ctx, run) {
|
|
|
3417
3608
|
...image?.digest ? { digest: image.digest } : {},
|
|
3418
3609
|
url: app.url
|
|
3419
3610
|
};
|
|
3420
|
-
}), ...run.stack.workers.map((worker) => {
|
|
3611
|
+
}), ...[...run.stack.workers, ...run.stack.processors].map((worker) => {
|
|
3421
3612
|
const image = run.images[worker.name];
|
|
3422
3613
|
return {
|
|
3423
3614
|
appName: worker.name,
|
|
@@ -3491,7 +3682,11 @@ async function writeStack(root, dir, stack) {
|
|
|
3491
3682
|
recursive: true,
|
|
3492
3683
|
force: true
|
|
3493
3684
|
});
|
|
3494
|
-
for (const app of [
|
|
3685
|
+
for (const app of [
|
|
3686
|
+
...stack.apps,
|
|
3687
|
+
...stack.workers,
|
|
3688
|
+
...stack.processors
|
|
3689
|
+
]) if (app.env) await write((0, node_path.join)(dir, `${app.name}.env`), envFile(app.env), 384);
|
|
3495
3690
|
if (stack.logs && stack.compose.services["openobserve"]?.env_file) await write((0, node_path.join)(dir, `${require_seeds.LOGS_SERVICE}.env`), envFile(stack.logs.env), 384);
|
|
3496
3691
|
if (stack.redis && stack.compose.services["redis"]?.env_file) await write((0, node_path.join)(dir, `${require_seeds.REDIS_SERVICE}.env`), envFile(stack.redis.env), 384);
|
|
3497
3692
|
if (stack.backups) {
|
|
@@ -3529,6 +3724,7 @@ function printPlan(ctx, run) {
|
|
|
3529
3724
|
if (run.server) ctx.logger.info(` → ${sshTarget(run.server)} (docker over ssh)`);
|
|
3530
3725
|
for (const app of stack.apps) ctx.logger.info(` ${app.name.padEnd(12)} ${app.url.padEnd(40)} ${mode} ${app.ref}`);
|
|
3531
3726
|
for (const worker of stack.workers) ctx.logger.info(` ${worker.name.padEnd(12)} ${`worker ${worker.id} (no route)`.padEnd(40)} ${mode} ${worker.ref}`);
|
|
3727
|
+
for (const unit of stack.processors) ctx.logger.info(` ${unit.name.padEnd(12)} ${`processors of ${unit.id}`.padEnd(40)} ${mode} ${unit.ref}`);
|
|
3532
3728
|
if (stack.infra.length > 0) ctx.logger.info(` infrastructure: ${stack.infra.join(", ")}`);
|
|
3533
3729
|
if (stack.backups) ctx.logger.info(` ${require_snsSubscriptions.BACKUPS_SERVICE.padEnd(12)} ${stack.backups.databases.map((d) => d.file).join(", ")} — ${stack.backups.backups.describe}, to ${stack.backups.prefix}/`);
|
|
3534
3730
|
ctx.logger.info(`\n📝 Wrote ${files.length} file(s) under ${stackDir(stack.stage)}/`);
|
|
@@ -3750,4 +3946,4 @@ Object.defineProperty(exports, "stackPlan", {
|
|
|
3750
3946
|
}
|
|
3751
3947
|
});
|
|
3752
3948
|
|
|
3753
|
-
//# sourceMappingURL=compose-
|
|
3949
|
+
//# sourceMappingURL=compose-Bqcy0lqo.cjs.map
|