@omnitron-dev/omnitron 0.3.0 → 0.3.1
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/README.md +4 -0
- package/dist/BUILD.json +2 -2
- package/dist/cli/omnitron.js +26 -2
- package/dist/cli/omnitron.js.map +1 -1
- package/dist/cluster/mesh-link.js +1 -1
- package/dist/cluster/slave-connector.d.ts +2 -2
- package/dist/cluster/slave-connector.js +1 -1
- package/dist/commands/deploy.d.ts +4 -4
- package/dist/commands/deploy.js +4 -4
- package/dist/commands/discover.d.ts +2 -2
- package/dist/commands/discover.js +2 -2
- package/dist/commands/fleet-asking.d.ts +2 -2
- package/dist/commands/fleet-asking.js +2 -2
- package/dist/commands/fleet-recover.d.ts +2 -0
- package/dist/commands/fleet-recover.d.ts.map +1 -0
- package/dist/commands/fleet-recover.js +30 -0
- package/dist/commands/fleet-recover.js.map +1 -0
- package/dist/commands/host-ingress.d.ts +3 -0
- package/dist/commands/host-ingress.d.ts.map +1 -0
- package/dist/commands/host-ingress.js +31 -0
- package/dist/commands/host-ingress.js.map +1 -0
- package/dist/commands/infra.d.ts +2 -2
- package/dist/commands/infra.js +7 -7
- package/dist/commands/infra.js.map +1 -1
- package/dist/commands/logs.d.ts +1 -1
- package/dist/commands/logs.js +3 -3
- package/dist/commands/logs.js.map +1 -1
- package/dist/commands/node.d.ts +2 -14
- package/dist/commands/node.d.ts.map +1 -1
- package/dist/commands/node.js +33 -22
- package/dist/commands/node.js.map +1 -1
- package/dist/commands/pipeline.d.ts.map +1 -1
- package/dist/commands/pipeline.js +8 -1
- package/dist/commands/pipeline.js.map +1 -1
- package/dist/commands/project.d.ts +2 -2
- package/dist/commands/project.js +2 -2
- package/dist/commands/release.d.ts +1 -1
- package/dist/commands/release.js +4 -4
- package/dist/commands/release.js.map +1 -1
- package/dist/commands/remote.d.ts +3 -3
- package/dist/commands/remote.js +3 -3
- package/dist/commands/tor.d.ts +1 -1
- package/dist/commands/tor.js +2 -2
- package/dist/config/types.d.ts +9 -6
- package/dist/config/types.d.ts.map +1 -1
- package/dist/daemon/daemon-entry.js +1 -1
- package/dist/daemon/daemon-entry.js.map +1 -1
- package/dist/daemon/daemon.d.ts +5 -19
- package/dist/daemon/daemon.d.ts.map +1 -1
- package/dist/daemon/daemon.js +54 -51
- package/dist/daemon/daemon.js.map +1 -1
- package/dist/daemon/daemon.module.d.ts.map +1 -1
- package/dist/daemon/daemon.module.js +3 -5
- package/dist/daemon/daemon.module.js.map +1 -1
- package/dist/daemon/daemon.rpc-service.d.ts +2 -2
- package/dist/daemon/daemon.rpc-service.js +6 -6
- package/dist/daemon/daemon.rpc-service.js.map +1 -1
- package/dist/execution/data-channel.d.ts +1 -1
- package/dist/execution/data-channel.js +1 -1
- package/dist/execution/execution.service.d.ts +10 -3
- package/dist/execution/execution.service.d.ts.map +1 -1
- package/dist/execution/execution.service.js +101 -44
- package/dist/execution/execution.service.js.map +1 -1
- package/dist/infrastructure/bare-metal-plan.js +1 -1
- package/dist/infrastructure/bare-metal-plan.js.map +1 -1
- package/dist/infrastructure/config-payload.d.ts +4 -4
- package/dist/infrastructure/config-payload.js +4 -4
- package/dist/infrastructure/container-runtime.d.ts +2 -10
- package/dist/infrastructure/container-runtime.d.ts.map +1 -1
- package/dist/infrastructure/container-runtime.js +41 -20
- package/dist/infrastructure/container-runtime.js.map +1 -1
- package/dist/infrastructure/gateway-redis-db.d.ts +2 -2
- package/dist/infrastructure/gateway-redis-db.js +2 -2
- package/dist/infrastructure/host-ingress-config.d.ts +12 -0
- package/dist/infrastructure/host-ingress-config.d.ts.map +1 -0
- package/dist/infrastructure/host-ingress-config.js +197 -0
- package/dist/infrastructure/host-ingress-config.js.map +1 -0
- package/dist/infrastructure/host-ingress-lock.d.ts +4 -0
- package/dist/infrastructure/host-ingress-lock.d.ts.map +1 -0
- package/dist/infrastructure/host-ingress-lock.js +36 -0
- package/dist/infrastructure/host-ingress-lock.js.map +1 -0
- package/dist/infrastructure/host-ingress-runtime.d.ts +25 -0
- package/dist/infrastructure/host-ingress-runtime.d.ts.map +1 -0
- package/dist/infrastructure/host-ingress-runtime.js +114 -0
- package/dist/infrastructure/host-ingress-runtime.js.map +1 -0
- package/dist/infrastructure/host-ingress-takeover.d.ts +18 -0
- package/dist/infrastructure/host-ingress-takeover.d.ts.map +1 -0
- package/dist/infrastructure/host-ingress-takeover.js +142 -0
- package/dist/infrastructure/host-ingress-takeover.js.map +1 -0
- package/dist/infrastructure/host-ingress-types.d.ts +173 -0
- package/dist/infrastructure/host-ingress-types.d.ts.map +1 -0
- package/dist/infrastructure/host-ingress-types.js +2 -0
- package/dist/infrastructure/host-ingress-types.js.map +1 -0
- package/dist/infrastructure/host-ingress.service.d.ts +47 -0
- package/dist/infrastructure/host-ingress.service.d.ts.map +1 -0
- package/dist/infrastructure/host-ingress.service.js +514 -0
- package/dist/infrastructure/host-ingress.service.js.map +1 -0
- package/dist/infrastructure/infrastructure.service.d.ts +21 -5
- package/dist/infrastructure/infrastructure.service.d.ts.map +1 -1
- package/dist/infrastructure/infrastructure.service.js +91 -10
- package/dist/infrastructure/infrastructure.service.js.map +1 -1
- package/dist/infrastructure/orphan-containers.d.ts +7 -7
- package/dist/infrastructure/orphan-containers.js +6 -6
- package/dist/infrastructure/presets/minio.js +1 -1
- package/dist/infrastructure/presets/minio.js.map +1 -1
- package/dist/infrastructure/provisioning-outcome.d.ts +1 -1
- package/dist/infrastructure/provisioning-outcome.js +1 -1
- package/dist/infrastructure/service-binding.js +1 -1
- package/dist/infrastructure/service-resolver.d.ts +10 -4
- package/dist/infrastructure/service-resolver.d.ts.map +1 -1
- package/dist/infrastructure/service-resolver.js +88 -45
- package/dist/infrastructure/service-resolver.js.map +1 -1
- package/dist/infrastructure/shipped-config.js +4 -4
- package/dist/infrastructure/stack-infra-manager.d.ts +10 -1
- package/dist/infrastructure/stack-infra-manager.d.ts.map +1 -1
- package/dist/infrastructure/stack-infra-manager.js +53 -43
- package/dist/infrastructure/stack-infra-manager.js.map +1 -1
- package/dist/infrastructure/types.d.ts +8 -6
- package/dist/infrastructure/types.d.ts.map +1 -1
- package/dist/monitoring/log-line.d.ts +3 -3
- package/dist/monitoring/log-line.js +3 -3
- package/dist/monitoring/log-manager.d.ts +3 -3
- package/dist/monitoring/log-manager.js +3 -3
- package/dist/operations.d.ts +16 -0
- package/dist/operations.d.ts.map +1 -0
- package/dist/operations.js +13 -0
- package/dist/operations.js.map +1 -0
- package/dist/orchestrator/app-handle.d.ts +3 -3
- package/dist/orchestrator/app-handle.js +3 -3
- package/dist/orchestrator/bootstrap-loader.d.ts +2 -2
- package/dist/orchestrator/bootstrap-loader.js +3 -3
- package/dist/orchestrator/bootstrap-loader.js.map +1 -1
- package/dist/orchestrator/bootstrap-process.d.ts +1 -1
- package/dist/orchestrator/bootstrap-process.d.ts.map +1 -1
- package/dist/orchestrator/bootstrap-process.js +3 -2
- package/dist/orchestrator/bootstrap-process.js.map +1 -1
- package/dist/orchestrator/build-service.d.ts +6 -12
- package/dist/orchestrator/build-service.d.ts.map +1 -1
- package/dist/orchestrator/build-service.js +120 -83
- package/dist/orchestrator/build-service.js.map +1 -1
- package/dist/orchestrator/call-exposed-service.js +1 -1
- package/dist/orchestrator/classic-launcher.d.ts.map +1 -1
- package/dist/orchestrator/classic-launcher.js +6 -1
- package/dist/orchestrator/classic-launcher.js.map +1 -1
- package/dist/orchestrator/file-watcher.d.ts +1 -0
- package/dist/orchestrator/file-watcher.d.ts.map +1 -1
- package/dist/orchestrator/file-watcher.js +14 -3
- package/dist/orchestrator/file-watcher.js.map +1 -1
- package/dist/orchestrator/http-routes.d.ts +4 -0
- package/dist/orchestrator/http-routes.d.ts.map +1 -0
- package/dist/orchestrator/http-routes.js +19 -0
- package/dist/orchestrator/http-routes.js.map +1 -0
- package/dist/orchestrator/orchestrator.service.d.ts +18 -4
- package/dist/orchestrator/orchestrator.service.d.ts.map +1 -1
- package/dist/orchestrator/orchestrator.service.js +151 -110
- package/dist/orchestrator/orchestrator.service.js.map +1 -1
- package/dist/orchestrator/service-router.d.ts +1 -1
- package/dist/orchestrator/service-router.js +1 -1
- package/dist/orchestrator/topology-query.d.ts +1 -1
- package/dist/orchestrator/topology-query.js +1 -1
- package/dist/project/artifact-builder.js +2 -2
- package/dist/project/artifact-builder.js.map +1 -1
- package/dist/project/build-decision.d.ts +1 -1
- package/dist/project/build-decision.js +1 -1
- package/dist/project/config-resolver.js +1 -1
- package/dist/project/config-resolver.js.map +1 -1
- package/dist/project/declared-config.d.ts +2 -2
- package/dist/project/declared-config.js +2 -2
- package/dist/project/deploy-phases.d.ts +1 -1
- package/dist/project/deploy-phases.js +1 -1
- package/dist/project/exec-in-group.d.ts +1 -1
- package/dist/project/exec-in-group.js +1 -1
- package/dist/project/node-app-config.d.ts +2 -2
- package/dist/project/node-app-config.js +2 -2
- package/dist/project/node-app-config.js.map +1 -1
- package/dist/project/node-app-health.d.ts +1 -1
- package/dist/project/node-app-health.js +1 -1
- package/dist/project/operator-account.d.ts +9 -3
- package/dist/project/operator-account.d.ts.map +1 -1
- package/dist/project/operator-account.js +9 -9
- package/dist/project/operator-account.js.map +1 -1
- package/dist/project/registry.d.ts.map +1 -1
- package/dist/project/registry.js +4 -22
- package/dist/project/registry.js.map +1 -1
- package/dist/project/stack-env.d.ts +1 -1
- package/dist/project/stack-env.js +1 -1
- package/dist/project/stand-containers.d.ts +9 -2
- package/dist/project/stand-containers.d.ts.map +1 -1
- package/dist/project/stand-containers.js +17 -17
- package/dist/project/stand-containers.js.map +1 -1
- package/dist/release/artifact-store.d.ts +1 -1
- package/dist/release/artifact-store.d.ts.map +1 -1
- package/dist/release/artifact-store.js +1 -1
- package/dist/release/artifact-store.js.map +1 -1
- package/dist/release/attest-on-node.d.ts +3 -2
- package/dist/release/attest-on-node.d.ts.map +1 -1
- package/dist/release/attest-on-node.js +6 -6
- package/dist/release/attest-on-node.js.map +1 -1
- package/dist/release/attest.d.ts +3 -3
- package/dist/release/attest.js +1 -1
- package/dist/release/build-run.d.ts +2 -2
- package/dist/release/build-run.js +4 -4
- package/dist/release/build-run.js.map +1 -1
- package/dist/release/builder.d.ts +1 -1
- package/dist/release/builder.d.ts.map +1 -1
- package/dist/release/builder.js +1 -1
- package/dist/release/builder.js.map +1 -1
- package/dist/release/daemon-omni.d.ts +1 -1
- package/dist/release/daemon-omni.js +1 -1
- package/dist/release/definition-inputs.d.ts +1 -1
- package/dist/release/definition-inputs.js +1 -1
- package/dist/release/layout.d.ts +2 -2
- package/dist/release/layout.js +2 -2
- package/dist/release/manifest.d.ts +1 -1
- package/dist/release/manifest.js +1 -1
- package/dist/release/publish.d.ts +1 -1
- package/dist/release/publish.js +1 -1
- package/dist/release/store.d.ts +1 -1
- package/dist/release/store.d.ts.map +1 -1
- package/dist/release/store.js +3 -3
- package/dist/release/store.js.map +1 -1
- package/dist/services/alert.service.d.ts +2 -2
- package/dist/services/alert.service.js +2 -2
- package/dist/services/backup-pipeline.d.ts +1 -1
- package/dist/services/backup-pipeline.js +1 -1
- package/dist/services/backup.service.d.ts +3 -3
- package/dist/services/backup.service.js +3 -3
- package/dist/services/bundle-builder.d.ts +15 -12
- package/dist/services/bundle-builder.d.ts.map +1 -1
- package/dist/services/bundle-builder.js +124 -48
- package/dist/services/bundle-builder.js.map +1 -1
- package/dist/services/discovery.service.d.ts +1 -1
- package/dist/services/discovery.service.js +1 -1
- package/dist/services/host-operation-barrier.d.ts +8 -0
- package/dist/services/host-operation-barrier.d.ts.map +1 -0
- package/dist/services/host-operation-barrier.js +44 -0
- package/dist/services/host-operation-barrier.js.map +1 -0
- package/dist/services/host-upgrade.d.ts +129 -0
- package/dist/services/host-upgrade.d.ts.map +1 -0
- package/dist/services/host-upgrade.js +352 -0
- package/dist/services/host-upgrade.js.map +1 -0
- package/dist/services/infrastructure.rpc-service.d.ts +16 -1
- package/dist/services/infrastructure.rpc-service.d.ts.map +1 -1
- package/dist/services/infrastructure.rpc-service.js +71 -10
- package/dist/services/infrastructure.rpc-service.js.map +1 -1
- package/dist/services/local-bundle.d.ts +9 -0
- package/dist/services/local-bundle.d.ts.map +1 -1
- package/dist/services/local-bundle.js +11 -2
- package/dist/services/local-bundle.js.map +1 -1
- package/dist/services/log-collector.service.d.ts +1 -1
- package/dist/services/log-collector.service.js +1 -1
- package/dist/services/maintenance-lock.d.ts +2 -2
- package/dist/services/maintenance-lock.d.ts.map +1 -1
- package/dist/services/maintenance-lock.js +1 -1
- package/dist/services/migration-output.d.ts +2 -2
- package/dist/services/migration-output.js +2 -2
- package/dist/services/node-deploy-lease.d.ts +19 -2
- package/dist/services/node-deploy-lease.d.ts.map +1 -1
- package/dist/services/node-deploy-lease.js +84 -10
- package/dist/services/node-deploy-lease.js.map +1 -1
- package/dist/services/node-manager.rpc-service.d.ts +6 -1
- package/dist/services/node-manager.rpc-service.d.ts.map +1 -1
- package/dist/services/node-manager.rpc-service.js +25 -1
- package/dist/services/node-manager.rpc-service.js.map +1 -1
- package/dist/services/node-manager.service.d.ts +1 -1
- package/dist/services/node-manager.service.js +1 -1
- package/dist/services/node-upgrade.d.ts +1 -1
- package/dist/services/pipeline.rpc-service.d.ts +4 -0
- package/dist/services/pipeline.rpc-service.d.ts.map +1 -1
- package/dist/services/pipeline.rpc-service.js +9 -0
- package/dist/services/pipeline.rpc-service.js.map +1 -1
- package/dist/services/pipeline.service.d.ts +2 -0
- package/dist/services/pipeline.service.d.ts.map +1 -1
- package/dist/services/pipeline.service.js +12 -0
- package/dist/services/pipeline.service.js.map +1 -1
- package/dist/services/project.rpc-service.d.ts +7 -0
- package/dist/services/project.rpc-service.d.ts.map +1 -1
- package/dist/services/project.rpc-service.js +11 -0
- package/dist/services/project.rpc-service.js.map +1 -1
- package/dist/services/project.service.d.ts +21 -11
- package/dist/services/project.service.d.ts.map +1 -1
- package/dist/services/project.service.js +74 -59
- package/dist/services/project.service.js.map +1 -1
- package/dist/services/redeploy-decision.d.ts +2 -2
- package/dist/services/redeploy-decision.js +1 -1
- package/dist/services/release.rpc-service.d.ts +1 -1
- package/dist/services/release.rpc-service.js +1 -1
- package/dist/services/remote-deployer.service.d.ts +27 -16
- package/dist/services/remote-deployer.service.d.ts.map +1 -1
- package/dist/services/remote-deployer.service.js +269 -101
- package/dist/services/remote-deployer.service.js.map +1 -1
- package/dist/services/remote-provisioner.d.ts +2 -0
- package/dist/services/remote-provisioner.d.ts.map +1 -1
- package/dist/services/remote-provisioner.js +1 -1
- package/dist/services/remote-provisioner.js.map +1 -1
- package/dist/services/static-carry-forward.d.ts +26 -1
- package/dist/services/static-carry-forward.d.ts.map +1 -1
- package/dist/services/static-carry-forward.js +275 -1
- package/dist/services/static-carry-forward.js.map +1 -1
- package/dist/shared/dto/nodes.d.ts +2 -2
- package/dist/shared/dto/services.d.ts +27 -0
- package/dist/shared/dto/services.d.ts.map +1 -1
- package/dist/shared/local-infra-host.d.ts +2 -2
- package/dist/shared/local-infra-host.js +2 -2
- package/dist/shared/release-reading.d.ts +1 -1
- package/dist/shared/release-reading.js +1 -1
- package/package.json +16 -12
- package/webapp/dist/BUILD.json +2 -2
- package/webapp/dist/assets/FormControlLabel-BbSxpQwN.js +1 -0
- package/webapp/dist/assets/{Grid-BZ7xhoHQ.js → Grid-DizFZYue.js} +1 -1
- package/webapp/dist/assets/{Switch-DGSAxQPM.js → Switch-Bfiqzx8l.js} +1 -1
- package/webapp/dist/assets/alerts-DH_RVRS3.js +1 -0
- package/webapp/dist/assets/apps-B96355sz.js +1 -0
- package/webapp/dist/assets/audit-CYGtbi4k.js +1 -0
- package/webapp/dist/assets/client-BmqFExWT.js +1 -0
- package/webapp/dist/assets/containers-B_TpThln.js +2 -0
- package/webapp/dist/assets/dashboard-DHf2_65N.js +1 -0
- package/webapp/dist/assets/dashboard-builder-CWY2pjeG.js +1 -0
- package/webapp/dist/assets/{deploy-release-dialog-D6C-XcKY.js → deploy-release-dialog-Dp-zpSAd.js} +1 -1
- package/webapp/dist/assets/deployments-tJI6O3fK.js +1 -0
- package/webapp/dist/assets/detail-B2zP1Hto.js +8 -0
- package/webapp/dist/assets/detail-CoIrwmsy.js +1 -0
- package/webapp/dist/assets/detail-DWaGaOtL.js +2 -0
- package/webapp/dist/assets/index-Dvo0iprx.css +1 -0
- package/webapp/dist/assets/index-vMnY_4jR.js +412 -0
- package/webapp/dist/assets/logs-DTRjOfX8.js +12 -0
- package/webapp/dist/assets/maplibre-gl-DowHoZAx.js +814 -0
- package/webapp/dist/assets/{metrics-CQgjz2Lz.js → metrics-UCajtdox.js} +2 -2
- package/webapp/dist/assets/nodes-DuTVU0f6.js +7 -0
- package/webapp/dist/assets/pipelines-C8BeDcAl.js +4 -0
- package/webapp/dist/assets/projects-Dp_zFfLY.js +1 -0
- package/webapp/dist/assets/react-DlmbjZJV.js +1 -0
- package/webapp/dist/assets/react-apexcharts.esm-C8pn45ml.js +97 -0
- package/webapp/dist/assets/{release-bits-Dj4EOhhb.js → release-bits-BzTKz5fM.js} +1 -1
- package/webapp/dist/assets/release-build-panel-DcW9YcXQ.js +1 -0
- package/webapp/dist/assets/releases-B4hcr1bE.js +2 -0
- package/webapp/dist/assets/rolldown-runtime-XKyaHtl9.js +1 -0
- package/webapp/dist/assets/settings-DIteZTbe.js +1 -0
- package/webapp/dist/assets/sign-in-D4kMBOHp.js +1 -0
- package/webapp/dist/assets/stacks-Brnf-EB7.js +1 -0
- package/webapp/dist/assets/{system-info-BtE3dgfw.js → system-info-CFDNVKkU.js} +1 -1
- package/webapp/dist/assets/topology-7WeTUsDN.js +12 -0
- package/webapp/dist/assets/traces-9c3gwCN-.js +1 -0
- package/webapp/dist/assets/{use-stack-context-CZUgPq88.js → use-stack-context-CnA5FTHu.js} +1 -1
- package/webapp/dist/index.html +6 -6
- package/webapp/dist/assets/FormControlLabel-BrH2diyl.js +0 -1
- package/webapp/dist/assets/alerts-sXqHJbsa.js +0 -1
- package/webapp/dist/assets/apps-B_Ah8Flh.js +0 -1
- package/webapp/dist/assets/audit-YXihwyui.js +0 -1
- package/webapp/dist/assets/client-CGbBvy9k.js +0 -1
- package/webapp/dist/assets/containers-Di4NOTLf.js +0 -2
- package/webapp/dist/assets/dashboard-Cfuf95N3.js +0 -1
- package/webapp/dist/assets/dashboard-builder-CowaYb-M.js +0 -1
- package/webapp/dist/assets/deployments-ChTq5kCw.js +0 -1
- package/webapp/dist/assets/detail-BsGWv7Dj.js +0 -1
- package/webapp/dist/assets/detail-CyVf_cw5.js +0 -2
- package/webapp/dist/assets/detail-D027j6aO.js +0 -8
- package/webapp/dist/assets/index-B8AHIPc-.css +0 -1
- package/webapp/dist/assets/index-DiZbrwxT.js +0 -414
- package/webapp/dist/assets/logs-L2b8Oqmo.js +0 -12
- package/webapp/dist/assets/maplibre-gl-MlmG2kbn.js +0 -801
- package/webapp/dist/assets/nodes-Nwia2Ty6.js +0 -7
- package/webapp/dist/assets/pipelines-DCu_rXOr.js +0 -4
- package/webapp/dist/assets/projects-Bb4aV76h.js +0 -1
- package/webapp/dist/assets/react-CwJFpaho.js +0 -1
- package/webapp/dist/assets/react-apexcharts.esm-Dy0Fez42.js +0 -1956
- package/webapp/dist/assets/release-build-panel-D6OCVlhT.js +0 -1
- package/webapp/dist/assets/releases-CnAt3yO6.js +0 -2
- package/webapp/dist/assets/rolldown-runtime-hePW80VL.js +0 -1
- package/webapp/dist/assets/settings-DU-mjiwb.js +0 -1
- package/webapp/dist/assets/sign-in-Bcvjrr4C.js +0 -1
- package/webapp/dist/assets/stacks-B-e8p50I.js +0 -1
- package/webapp/dist/assets/topology-Cwch-uF1.js +0 -12
- package/webapp/dist/assets/traces-BbShR-4P.js +0 -1
|
@@ -8,29 +8,37 @@
|
|
|
8
8
|
* { name: 'omnitron-postgres', image: 'postgres:17-alpine', ports: [...], env: [...] }
|
|
9
9
|
*/
|
|
10
10
|
import fs from 'node:fs';
|
|
11
|
+
import { AsyncLocalStorage } from 'node:async_hooks';
|
|
11
12
|
import { configFilesHash } from './config-payload.js';
|
|
12
13
|
import { gatewayStaticLinkName } from '../services/static-carry-forward.js';
|
|
13
14
|
import { CONFIG_ROOT_PREFIX, shippedMountPath } from './shipped-config.js';
|
|
14
15
|
import { bindService } from './service-binding.js';
|
|
15
|
-
|
|
16
|
-
* Container naming: {project}-{stack}-{service}
|
|
17
|
-
* Examples: myproj-dev-postgres, myproj-dev-redis, myproj-test-minio
|
|
18
|
-
* Omnitron's own containers: omnitron-pg, omnitron-nginx (no project/stack prefix)
|
|
19
|
-
*
|
|
20
|
-
* Docker labels for stack grouping (Docker Desktop groups containers visually):
|
|
21
|
-
* com.docker.compose.project = omnitron-{project}-{stack}
|
|
22
|
-
* com.docker.compose.service = {service}
|
|
23
|
-
* omnitron.project = {project}
|
|
24
|
-
* omnitron.stack = {stack}
|
|
25
|
-
*/
|
|
16
|
+
const infrastructureScopes = new AsyncLocalStorage();
|
|
26
17
|
let CONTAINER_PREFIX = 'omnitron';
|
|
18
|
+
/** Concurrent operations own their names/networks/volumes; ownerless work starts clean. */
|
|
19
|
+
export function withInfrastructureScope(project, stack, work) {
|
|
20
|
+
if ((project === undefined) !== (stack === undefined))
|
|
21
|
+
throw new Error('Infrastructure ownership requires project and stack together');
|
|
22
|
+
const labels = project === undefined
|
|
23
|
+
? {}
|
|
24
|
+
: {
|
|
25
|
+
'omnitron.project': project,
|
|
26
|
+
'omnitron.stack': stack,
|
|
27
|
+
'com.docker.compose.project': `omnitron-${project}-${stack}`,
|
|
28
|
+
};
|
|
29
|
+
return infrastructureScopes.run({ prefix: project === undefined ? 'omnitron' : `${project}-${stack}`, labels }, work);
|
|
30
|
+
}
|
|
27
31
|
/** Set the container prefix for project-scoped infrastructure */
|
|
28
32
|
export function setContainerPrefix(project, env) {
|
|
29
|
-
|
|
33
|
+
const scope = infrastructureScopes.getStore();
|
|
34
|
+
if (scope)
|
|
35
|
+
scope.prefix = `${project}-${env}`;
|
|
36
|
+
else
|
|
37
|
+
CONTAINER_PREFIX = `${project}-${env}`;
|
|
30
38
|
}
|
|
31
39
|
/** Get current prefix */
|
|
32
40
|
export function getContainerPrefix() {
|
|
33
|
-
return CONTAINER_PREFIX;
|
|
41
|
+
return infrastructureScopes.getStore()?.prefix ?? CONTAINER_PREFIX;
|
|
34
42
|
}
|
|
35
43
|
/**
|
|
36
44
|
* A named volume two services of one stack mount by the same name:
|
|
@@ -40,7 +48,7 @@ export function getContainerPrefix() {
|
|
|
40
48
|
* Every other named volume is its service's — `<prefix>-<service>-<key>`,
|
|
41
49
|
* whatever its `source` says — so nothing a stack could write gave two
|
|
42
50
|
* containers one volume. The onion needed exactly that: Tor resolved
|
|
43
|
-
* `
|
|
51
|
+
* `sample-test-gateway` once, at start, and on 2026-09-26 a deploy gave the
|
|
44
52
|
* gateway's old address to Nominatim; for ~10 minutes the onion served
|
|
45
53
|
* Nominatim's Apache and nobody could sign in. A unix socket on a volume
|
|
46
54
|
* both containers mount has no address to go stale.
|
|
@@ -49,7 +57,7 @@ export const SHARED_VOLUME_PREFIX = 'shared:';
|
|
|
49
57
|
/** A declared volume as docker mounts it for `service`: shared, bound, or the service's own. */
|
|
50
58
|
function resolveNamedOrBound(service, key, vol) {
|
|
51
59
|
if (typeof vol === 'string')
|
|
52
|
-
return { source: `${
|
|
60
|
+
return { source: `${getContainerPrefix()}-${service}-${key}`, target: vol };
|
|
53
61
|
const shared = vol.source.startsWith(SHARED_VOLUME_PREFIX) ? vol.source.slice(SHARED_VOLUME_PREFIX.length) : null;
|
|
54
62
|
if (shared !== null && !/^[a-z0-9][a-z0-9_.-]*$/.test(shared)) {
|
|
55
63
|
// Docker would refuse the name anyway; saying which declaration it was is
|
|
@@ -59,10 +67,10 @@ function resolveNamedOrBound(service, key, vol) {
|
|
|
59
67
|
const isBindMount = vol.source.startsWith('/') || vol.source.startsWith('.');
|
|
60
68
|
const entry = {
|
|
61
69
|
source: shared !== null
|
|
62
|
-
? `${
|
|
70
|
+
? `${getContainerPrefix()}-${shared}`
|
|
63
71
|
: isBindMount
|
|
64
72
|
? vol.source
|
|
65
|
-
: `${
|
|
73
|
+
: `${getContainerPrefix()}-${service}-${key}`,
|
|
66
74
|
target: vol.target,
|
|
67
75
|
};
|
|
68
76
|
if (vol.readonly)
|
|
@@ -80,7 +88,7 @@ function resolveNamedOrBound(service, key, vol) {
|
|
|
80
88
|
*
|
|
81
89
|
* Measured on the dev stand: `omnitron.config.ts` declares
|
|
82
90
|
* `gateway.ports.http = 8080` and its own comment says ":8080" three times,
|
|
83
|
-
* while `
|
|
91
|
+
* while `sample-dev-gateway` published `80/tcp -> 0.0.0.0:80`. The consequence
|
|
84
92
|
* is quiet rather than loud — a browser arriving on :80 sends
|
|
85
93
|
* `Origin: http://localhost` with no port, which is not in the gateway's
|
|
86
94
|
* allow-list, so the portal cannot call the API through it at all. The portal
|
|
@@ -95,7 +103,7 @@ export function gatewayHostPort(service, legacy) {
|
|
|
95
103
|
return service?.docker?.portMappings?.['http'] ?? service?.ports?.['http'] ?? legacy?.port ?? 8080;
|
|
96
104
|
}
|
|
97
105
|
function containerName(service) {
|
|
98
|
-
return `${
|
|
106
|
+
return `${getContainerPrefix()}-${service}`;
|
|
99
107
|
}
|
|
100
108
|
/**
|
|
101
109
|
* How one managed container reaches another.
|
|
@@ -152,7 +160,7 @@ export const REDIS_CONTAINER_PORT = 6379;
|
|
|
152
160
|
* adjacent infrastructure.
|
|
153
161
|
*/
|
|
154
162
|
export function getManagedNetwork() {
|
|
155
|
-
return `${
|
|
163
|
+
return `${getContainerPrefix()}_default`;
|
|
156
164
|
}
|
|
157
165
|
/**
|
|
158
166
|
* Stamp the managed network onto a container spec when it doesn't already
|
|
@@ -198,20 +206,29 @@ export function applyManagedDefaults(spec) {
|
|
|
198
206
|
let STACK_LABELS = {};
|
|
199
207
|
/** Set stack labels for subsequent container creation calls */
|
|
200
208
|
export function setStackLabels(project, stack) {
|
|
201
|
-
|
|
209
|
+
const labels = {
|
|
202
210
|
'omnitron.project': project,
|
|
203
211
|
'omnitron.stack': stack,
|
|
204
212
|
// Docker Desktop groups containers by com.docker.compose.project label
|
|
205
213
|
'com.docker.compose.project': `omnitron-${project}-${stack}`,
|
|
206
214
|
};
|
|
215
|
+
const scope = infrastructureScopes.getStore();
|
|
216
|
+
if (scope)
|
|
217
|
+
scope.labels = labels;
|
|
218
|
+
else
|
|
219
|
+
STACK_LABELS = labels;
|
|
207
220
|
}
|
|
208
221
|
/** Clear stack labels (for internal/global containers) */
|
|
209
222
|
export function clearStackLabels() {
|
|
210
|
-
|
|
223
|
+
const scope = infrastructureScopes.getStore();
|
|
224
|
+
if (scope)
|
|
225
|
+
scope.labels = {};
|
|
226
|
+
else
|
|
227
|
+
STACK_LABELS = {};
|
|
211
228
|
}
|
|
212
229
|
/** Get current stack labels */
|
|
213
230
|
function stackLabels() {
|
|
214
|
-
return { ...STACK_LABELS };
|
|
231
|
+
return { ...(infrastructureScopes.getStore()?.labels ?? STACK_LABELS) };
|
|
215
232
|
}
|
|
216
233
|
// =============================================================================
|
|
217
234
|
// Service Requirement → ResolvedContainer (generic resolver for ALL services)
|
|
@@ -317,7 +334,10 @@ configRoots) {
|
|
|
317
334
|
const local = shippedMountPath(vol.source, configRoots);
|
|
318
335
|
if (local)
|
|
319
336
|
shippedRoots.add(local.root);
|
|
320
|
-
const entry = {
|
|
337
|
+
const entry = {
|
|
338
|
+
source: local?.path ?? vol.source,
|
|
339
|
+
target: vol.target,
|
|
340
|
+
};
|
|
321
341
|
if (vol.readonly)
|
|
322
342
|
entry.readonly = vol.readonly;
|
|
323
343
|
return entry;
|
|
@@ -359,10 +379,12 @@ configRoots) {
|
|
|
359
379
|
for (const root of shippedRoots) {
|
|
360
380
|
const digest = mountedConfigDigest(root, spec.volumes);
|
|
361
381
|
if (digest)
|
|
362
|
-
spec.configDigest = spec.configDigest
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
382
|
+
spec.configDigest = spec.configDigest
|
|
383
|
+
? configFilesHash([
|
|
384
|
+
{ path: 'a', content: spec.configDigest, mode: '644' },
|
|
385
|
+
{ path: 'b', content: digest, mode: '644' },
|
|
386
|
+
])
|
|
387
|
+
: digest;
|
|
366
388
|
}
|
|
367
389
|
return spec;
|
|
368
390
|
}
|
|
@@ -442,7 +464,10 @@ function convertHealthCheck(check, ports) {
|
|
|
442
464
|
: '';
|
|
443
465
|
const rpcPath = check.jsonrpc?.path ?? '/json_rpc';
|
|
444
466
|
return {
|
|
445
|
-
test: [
|
|
467
|
+
test: [
|
|
468
|
+
'CMD-SHELL',
|
|
469
|
+
`curl -sf ${authStr} -X POST http://localhost:${port}${rpcPath} -H 'Content-Type: application/json' -d '{"jsonrpc":"2.0","id":"health","method":"${method}"}' || exit 1`,
|
|
470
|
+
],
|
|
446
471
|
interval: everyDefault(check.interval),
|
|
447
472
|
timeout: deadlineDefault(check.timeout),
|
|
448
473
|
retries: check.retries ?? 5,
|
|
@@ -490,7 +515,7 @@ export function resolveOmnitronPg(options) {
|
|
|
490
515
|
const user = options?.user ?? 'omnitron';
|
|
491
516
|
const password = options?.password ?? 'omnitron';
|
|
492
517
|
return applyManagedDefaults({
|
|
493
|
-
name: `${
|
|
518
|
+
name: `${getContainerPrefix()}-pg`,
|
|
494
519
|
image,
|
|
495
520
|
ports: [{ host: port, container: 5432 }],
|
|
496
521
|
environment: {
|
|
@@ -498,15 +523,17 @@ export function resolveOmnitronPg(options) {
|
|
|
498
523
|
POSTGRES_PASSWORD: password,
|
|
499
524
|
POSTGRES_DB: 'omnitron',
|
|
500
525
|
},
|
|
501
|
-
volumes: [
|
|
502
|
-
{ source: `${CONTAINER_PREFIX}-pg-data`, target: '/var/lib/postgresql/data' },
|
|
503
|
-
],
|
|
526
|
+
volumes: [{ source: `${getContainerPrefix()}-pg-data`, target: '/var/lib/postgresql/data' }],
|
|
504
527
|
command: [
|
|
505
528
|
'postgres',
|
|
506
|
-
'-c',
|
|
507
|
-
'
|
|
508
|
-
'-c',
|
|
509
|
-
'
|
|
529
|
+
'-c',
|
|
530
|
+
'max_connections=50',
|
|
531
|
+
'-c',
|
|
532
|
+
'shared_buffers=64MB',
|
|
533
|
+
'-c',
|
|
534
|
+
'log_statement=none',
|
|
535
|
+
'-c',
|
|
536
|
+
'log_min_duration_statement=500',
|
|
510
537
|
],
|
|
511
538
|
healthCheck: {
|
|
512
539
|
test: ['CMD-SHELL', `pg_isready -U ${user} -d omnitron`],
|
|
@@ -550,7 +577,7 @@ export function resolveOmnitronPg(options) {
|
|
|
550
577
|
* Read from disk on the machine that will run the container: on a node that
|
|
551
578
|
* is the copy just written from the master's payload, on a master the
|
|
552
579
|
* project's own files. Synchronous, because the resolver is — and small: the
|
|
553
|
-
*
|
|
580
|
+
* sample gateway's files are 65 KB, read once per provision.
|
|
554
581
|
*
|
|
555
582
|
* `undefined` when there is nothing under `root` to read, or it cannot be
|
|
556
583
|
* read — the spec hash then stays what it was without this.
|
|
@@ -567,7 +594,11 @@ export function mountedConfigDigest(root, volumes) {
|
|
|
567
594
|
else if (stat.isFile()) {
|
|
568
595
|
// latin1 maps bytes to code units one to one, so the digest sees the
|
|
569
596
|
// bytes the container will, text or not.
|
|
570
|
-
files.push({
|
|
597
|
+
files.push({
|
|
598
|
+
path: abs.slice(prefix.length),
|
|
599
|
+
content: fs.readFileSync(abs, 'latin1'),
|
|
600
|
+
mode: (stat.mode & 0o777).toString(8),
|
|
601
|
+
});
|
|
571
602
|
}
|
|
572
603
|
};
|
|
573
604
|
try {
|
|
@@ -615,6 +646,12 @@ export function gatewayConfigOf(presetConfig, legacy, port, redisDb) {
|
|
|
615
646
|
...(volumes ? { volumes } : {}),
|
|
616
647
|
};
|
|
617
648
|
}
|
|
649
|
+
/** Only the OpenResty preset owns the shipped template contract.
|
|
650
|
+
* A service called "gateway" can declare a completely different container.
|
|
651
|
+
*/
|
|
652
|
+
export function usesGatewayTemplate(service) {
|
|
653
|
+
return service?._preset === 'openresty';
|
|
654
|
+
}
|
|
618
655
|
export function resolveGateway(config, redisConfig, projectRoot) {
|
|
619
656
|
const image = config.image ?? 'openresty/openresty:alpine';
|
|
620
657
|
const port = config.port ?? 8080;
|
|
@@ -647,7 +684,7 @@ export function resolveGateway(config, redisConfig, projectRoot) {
|
|
|
647
684
|
* request and this config sets no `open_file_cache`.
|
|
648
685
|
*
|
|
649
686
|
* Only when the node says so. On a master `staticDir` is a path inside the
|
|
650
|
-
* project —
|
|
687
|
+
* project — sample declares `apps/portal/dist` — and mounting ITS parent would
|
|
651
688
|
* put `src/`, `node_modules` and `vite.config.ts` under the web root, while
|
|
652
689
|
* `current-…` would not exist there at all and the entrypoint would fall
|
|
653
690
|
* back to proxying a Vite that is not running.
|
|
@@ -719,7 +756,10 @@ export function resolveGateway(config, redisConfig, projectRoot) {
|
|
|
719
756
|
],
|
|
720
757
|
entrypoint: ['/bin/sh', '/docker-entrypoint.sh'],
|
|
721
758
|
healthCheck: {
|
|
722
|
-
test: [
|
|
759
|
+
test: [
|
|
760
|
+
'CMD-SHELL',
|
|
761
|
+
'[ -S /usr/local/openresty/nginx/logs/nginx.pid ] || kill -0 $(cat /usr/local/openresty/nginx/logs/nginx.pid 2>/dev/null) 2>/dev/null || exit 1',
|
|
762
|
+
],
|
|
723
763
|
interval: '10s',
|
|
724
764
|
timeout: '5s',
|
|
725
765
|
retries: 3,
|
|
@@ -756,7 +796,7 @@ export function resolveOmnitronNginx(options) {
|
|
|
756
796
|
volumes.push({ source: webappDist, target: '/usr/share/nginx/html', readonly: true });
|
|
757
797
|
}
|
|
758
798
|
return applyManagedDefaults({
|
|
759
|
-
name: `${
|
|
799
|
+
name: `${getContainerPrefix()}-nginx`,
|
|
760
800
|
image,
|
|
761
801
|
ports: [{ host: port, container: 80, bindHost: options?.bindHost ?? '127.0.0.1' }],
|
|
762
802
|
environment: {
|
|
@@ -840,7 +880,10 @@ configRoots, gatewayContext) {
|
|
|
840
880
|
return [];
|
|
841
881
|
}
|
|
842
882
|
const gatewayRoot = configRoots?.get('gateway');
|
|
843
|
-
if (!gatewayRoot ||
|
|
883
|
+
if (!gatewayRoot ||
|
|
884
|
+
!normalizedServices['gateway'] ||
|
|
885
|
+
!usesGatewayTemplate(normalizedServices['gateway']) ||
|
|
886
|
+
!gatewayContext) {
|
|
844
887
|
return resolveAppInfrastructure(normalizedServices, overrides, undefined, configRoots);
|
|
845
888
|
}
|
|
846
889
|
// One resolver for the gateway, wherever it runs. The rest go through the
|
|
@@ -852,7 +895,7 @@ configRoots, gatewayContext) {
|
|
|
852
895
|
// The stack's whole gateway block — its env and its volumes as on a master
|
|
853
896
|
// (`gatewayConfigOf`) — with the two paths a node names for itself. This
|
|
854
897
|
// road passed port, configDir and staticDir only: on 2026-09-26 the node
|
|
855
|
-
// built
|
|
898
|
+
// built sample/test's gateway without GATEWAY_UNIX_SOCKET and without the
|
|
856
899
|
// shared socket volume, Tor pointed at a socket nobody listened on, and the
|
|
857
900
|
// onion was down for ~11 minutes. f0e19089 had fixed the master's road.
|
|
858
901
|
const { staticDir: _declaredStaticDir, ...declared } = gatewayConfigOf(normalizedServices['gateway']._presetConfig, undefined, port, gatewayContext.redis.db);
|
|
@@ -871,7 +914,7 @@ configRoots, gatewayContext) {
|
|
|
871
914
|
...(staticLinkRoot
|
|
872
915
|
? {
|
|
873
916
|
staticLinkRoot,
|
|
874
|
-
staticLinkName: gatewayStaticLinkName(
|
|
917
|
+
staticLinkName: gatewayStaticLinkName(stackLabels()['omnitron.project'] ?? '', stackLabels()['omnitron.stack'] ?? ''),
|
|
875
918
|
}
|
|
876
919
|
: {}),
|
|
877
920
|
}, gatewayContext.redis, gatewayRoot));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service-resolver.js","sourceRoot":"","sources":["../../src/infrastructure/service-resolver.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"service-resolver.js","sourceRoot":"","sources":["../../src/infrastructure/service-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* as the project declared them: absolute paths on the master. On a node such a
|
|
9
9
|
* path does not exist, docker creates an empty directory in its place, and the
|
|
10
10
|
* container finds nothing where its entrypoint should be. Nominatim mounts its
|
|
11
|
-
* import scripts from `infra/nominatim` that way, which is why
|
|
11
|
+
* import scripts from `infra/nominatim` that way, which is why sample/test could
|
|
12
12
|
* only declare it disabled (2026-09-25).
|
|
13
13
|
*
|
|
14
14
|
* So the master points each bind mount inside a service's shipped directory at
|
|
@@ -25,11 +25,11 @@ export const CONFIG_ROOT_PREFIX = 'configroot:';
|
|
|
25
25
|
* path exists, the rest appended as written.
|
|
26
26
|
*
|
|
27
27
|
* The project root the master deploys from and the paths its config computes
|
|
28
|
-
* are two spellings of one directory more often than not. On this master
|
|
29
|
-
* is registered as `…/omni/internal/
|
|
28
|
+
* are two spellings of one directory more often than not. On this master sample
|
|
29
|
+
* is registered as `…/omni/internal/sample`, a symlink to `/…/examples/sample`, where
|
|
30
30
|
* `omnitron.config.ts` lives and resolves `infra/nominatim` from its own
|
|
31
31
|
* `__dirname`. Compared as written the mount was «outside» the shipped
|
|
32
|
-
* directory, left as the master's path, and Nominatim on
|
|
32
|
+
* directory, left as the master's path, and Nominatim on sample/test mounted an
|
|
33
33
|
* empty directory the docker daemon made in its place (2026-09-25).
|
|
34
34
|
*/
|
|
35
35
|
function realOf(p) {
|
|
@@ -35,12 +35,21 @@ export declare class StackInfrastructureManager {
|
|
|
35
35
|
* Returns the InfrastructureService instance (already provisioned).
|
|
36
36
|
*/
|
|
37
37
|
provisionStack(project: string, stack: string, stackConfig: IStackConfig, baseInfraConfig: InfrastructureConfig, appDefinitions?: Map<string, import('../config/types.js').IAppDefinition>, projectRoot?: string): Promise<InfrastructureService>;
|
|
38
|
+
private provisionStackScoped;
|
|
39
|
+
/** Resolve the current declaration without provisioning or changing containers. */
|
|
40
|
+
refreshOwnership(project: string, stack: string, stackConfig: IStackConfig, baseInfraConfig: InfrastructureConfig, appDefinitions?: Map<string, import('../config/types.js').IAppDefinition>, projectRoot?: string): Promise<{
|
|
41
|
+
released: string[];
|
|
42
|
+
adopted: string[];
|
|
43
|
+
}>;
|
|
44
|
+
private resolveStackDefinition;
|
|
38
45
|
/**
|
|
39
46
|
* Teardown infrastructure for a stack.
|
|
40
47
|
*/
|
|
41
48
|
teardownStack(project: string, stack: string): Promise<void>;
|
|
49
|
+
/** Release local monitors; a supervisor restart must preserve the data plane. */
|
|
50
|
+
dispose(): void;
|
|
42
51
|
/**
|
|
43
|
-
*
|
|
52
|
+
* Explicitly remove all stack infrastructure.
|
|
44
53
|
*/
|
|
45
54
|
teardownAll(): Promise<void>;
|
|
46
55
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stack-infra-manager.d.ts","sourceRoot":"","sources":["../../src/infrastructure/stack-infra-manager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"stack-infra-manager.d.ts","sourceRoot":"","sources":["../../src/infrastructure/stack-infra-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,23 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
* StackInfrastructureManager — Per-stack infrastructure isolation
|
|
3
|
-
*
|
|
4
|
-
* Each stack gets its own InfrastructureService instance with namespaced
|
|
5
|
-
* Docker containers, ports, and Redis DB ranges. This ensures stacks
|
|
6
|
-
* (dev, test, prod) can run simultaneously without conflicts.
|
|
7
|
-
*
|
|
8
|
-
* Container naming: omnitron-{project}-{stack}-{service}
|
|
9
|
-
* e.g., omnitron-myproj-dev-postgres, omnitron-myproj-test-redis
|
|
10
|
-
*
|
|
11
|
-
* Port allocation: base port + stack offset
|
|
12
|
-
* dev: postgres:5432, redis:6379, minio:9000
|
|
13
|
-
* test: postgres:5532, redis:6479, minio:9100
|
|
14
|
-
* prod: postgres:5632, redis:6579, minio:9200
|
|
15
|
-
*
|
|
16
|
-
* Redis DB allocation: stacks get non-overlapping DB ranges
|
|
17
|
-
* dev: 0-4
|
|
18
|
-
* test: 5-9
|
|
19
|
-
* prod: 10-14
|
|
20
|
-
*/
|
|
1
|
+
import { usesGatewayTemplate, withInfrastructureScope } from './service-resolver.js';
|
|
21
2
|
import { InfrastructureService } from './infrastructure.service.js';
|
|
22
3
|
import { setContainerPrefix, setStackLabels, gatewayHostPort } from './service-resolver.js';
|
|
23
4
|
import { gatewayRedisDb as gatewayRedisDbOf } from './gateway-redis-db.js';
|
|
@@ -49,6 +30,9 @@ export class StackInfrastructureManager {
|
|
|
49
30
|
* Returns the InfrastructureService instance (already provisioned).
|
|
50
31
|
*/
|
|
51
32
|
async provisionStack(project, stack, stackConfig, baseInfraConfig, appDefinitions, projectRoot) {
|
|
33
|
+
return withInfrastructureScope(project, stack, () => this.provisionStackScoped(project, stack, stackConfig, baseInfraConfig, appDefinitions, projectRoot));
|
|
34
|
+
}
|
|
35
|
+
async provisionStackScoped(project, stack, stackConfig, baseInfraConfig, appDefinitions, projectRoot) {
|
|
52
36
|
const key = `${project}/${stack}`;
|
|
53
37
|
if (this.instances.has(key)) {
|
|
54
38
|
this.logger.warn({ project, stack }, 'Stack infrastructure already provisioned');
|
|
@@ -57,6 +41,35 @@ export class StackInfrastructureManager {
|
|
|
57
41
|
// 1. Compute port allocation for this stack
|
|
58
42
|
const portAlloc = this.computePortAllocation(project, stack, stackConfig.settings, baseInfraConfig);
|
|
59
43
|
this.portAllocations.set(key, portAlloc);
|
|
44
|
+
const infraService = await this.resolveStackDefinition(project, stack, stackConfig, baseInfraConfig, portAlloc, appDefinitions, projectRoot);
|
|
45
|
+
// Register BEFORE provision so the UI can query intermediate state
|
|
46
|
+
// during the provisioning process (which may take 30+ seconds).
|
|
47
|
+
this.instances.set(key, infraService);
|
|
48
|
+
try {
|
|
49
|
+
await infraService.provision();
|
|
50
|
+
return infraService;
|
|
51
|
+
}
|
|
52
|
+
catch (err) {
|
|
53
|
+
// Remove on failure — the infrastructure is not usable
|
|
54
|
+
this.instances.delete(key);
|
|
55
|
+
this.logger.error({ project, stack, error: err.message }, 'Failed to provision stack infrastructure');
|
|
56
|
+
throw err;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
/** Resolve the current declaration without provisioning or changing containers. */
|
|
60
|
+
async refreshOwnership(project, stack, stackConfig, baseInfraConfig, appDefinitions, projectRoot) {
|
|
61
|
+
const key = `${project}/${stack}`;
|
|
62
|
+
const existing = this.instances.get(key);
|
|
63
|
+
const allocation = this.portAllocations.get(key);
|
|
64
|
+
if (!existing || !allocation)
|
|
65
|
+
throw new Error(`No active infrastructure ownership for ${key}`);
|
|
66
|
+
return withInfrastructureScope(project, stack, async () => {
|
|
67
|
+
const candidate = await this.resolveStackDefinition(project, stack, stackConfig, baseInfraConfig, allocation, appDefinitions, projectRoot, true);
|
|
68
|
+
return existing.refreshOwnershipFrom(candidate);
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
async resolveStackDefinition(project, stack, stackConfig, baseInfraConfig, portAlloc, appDefinitions, projectRoot, strict = false) {
|
|
72
|
+
const key = `${project}/${stack}`;
|
|
60
73
|
// 2. Build stack-specific infrastructure config with port overrides
|
|
61
74
|
const stackInfraConfig = this.mergeInfraConfig(baseInfraConfig, stackConfig, portAlloc);
|
|
62
75
|
// 3. Set container prefix and stack ownership labels for this stack's containers
|
|
@@ -88,14 +101,18 @@ export class StackInfrastructureManager {
|
|
|
88
101
|
// Gateway is resolved separately (needs special volume mounts + entrypoint).
|
|
89
102
|
// Exclude from generic resolver to avoid creating a "bare" gateway container.
|
|
90
103
|
const servicesForResolver = { ...normalizedServices };
|
|
91
|
-
|
|
104
|
+
if (usesGatewayTemplate(normalizedServices['gateway']))
|
|
105
|
+
delete servicesForResolver['gateway'];
|
|
92
106
|
this.logger.info({ services: Object.keys(normalizedServices), resolved: Object.keys(servicesForResolver) }, 'Normalized infrastructure services via presets');
|
|
93
107
|
// 4a. Create InfrastructureService with normalized services + preset registry
|
|
94
|
-
infraService = new InfrastructureService(this.logger.child({ stack: key }), stackInfraConfig, servicesForResolver, registry
|
|
108
|
+
infraService = new InfrastructureService(this.logger.child({ stack: key }), stackInfraConfig, servicesForResolver, registry, undefined, false // An application stack never owns the host control-plane database.
|
|
109
|
+
);
|
|
95
110
|
}
|
|
96
111
|
catch (err) {
|
|
112
|
+
if (strict)
|
|
113
|
+
throw err;
|
|
97
114
|
this.logger.warn({ error: err.message }, 'Preset normalization failed — using legacy resolvers');
|
|
98
|
-
infraService = new InfrastructureService(this.logger.child({ stack: key }), stackInfraConfig);
|
|
115
|
+
infraService = new InfrastructureService(this.logger.child({ stack: key }), stackInfraConfig, undefined, undefined, undefined, false);
|
|
99
116
|
}
|
|
100
117
|
// 5. Add app-declared infrastructure services (bitcoin, monero, etc.)
|
|
101
118
|
if (appDefinitions) {
|
|
@@ -107,22 +124,20 @@ export class StackInfrastructureManager {
|
|
|
107
124
|
const appContainers = resolveAppInfrastructure(infraReqs, stackConfig.serviceOverrides, appName);
|
|
108
125
|
if (appContainers.length > 0) {
|
|
109
126
|
infraService.addAppContainers(appContainers);
|
|
110
|
-
this.logger.info({ app: appName, services: appContainers.map(c => c.name) }, 'Resolved app infrastructure services');
|
|
127
|
+
this.logger.info({ app: appName, services: appContainers.map((c) => c.name) }, 'Resolved app infrastructure services');
|
|
111
128
|
}
|
|
112
129
|
}
|
|
113
130
|
}
|
|
114
131
|
// 6. Resolve API gateway if present in normalized services or legacy config
|
|
115
132
|
const gatewayInServices = normalizedServices?.['gateway'];
|
|
116
133
|
const legacyGateway = stackInfraConfig.gateway;
|
|
117
|
-
if ((gatewayInServices || legacyGateway) && projectRoot) {
|
|
134
|
+
if ((usesGatewayTemplate(gatewayInServices) || (!gatewayInServices && legacyGateway)) && projectRoot) {
|
|
118
135
|
const { resolveGateway, gatewayConfigOf, containerEndpoint, REDIS_CONTAINER_PORT } = await import('./service-resolver.js');
|
|
119
136
|
// The gateway's own database, by the one rule every side uses
|
|
120
137
|
// (gateway-redis-db.ts). `redisDbEnd + 1` was 5 — geo's database, since
|
|
121
|
-
//
|
|
138
|
+
// sample outgrew the five-wide range this was the end of.
|
|
122
139
|
const gatewayRedisDb = gatewayRedisDbOf(stackInfraConfig.redis?.databases);
|
|
123
|
-
const redisPassword = typeof stackInfraConfig.redis?.password === 'string'
|
|
124
|
-
? stackInfraConfig.redis.password
|
|
125
|
-
: undefined;
|
|
140
|
+
const redisPassword = typeof stackInfraConfig.redis?.password === 'string' ? stackInfraConfig.redis.password : undefined;
|
|
126
141
|
// Over the stack network, by container name. `host.docker.internal`
|
|
127
142
|
// and the host-published port sent the gateway out to the host and
|
|
128
143
|
// back, which a Linux node does not allow once the ports are bound to
|
|
@@ -142,19 +157,7 @@ export class StackInfrastructureManager {
|
|
|
142
157
|
infraService.addAppContainers([gatewayContainer]);
|
|
143
158
|
this.logger.info({ gateway: gatewayContainer.name, port: gwPort, redisDb: gatewayRedisDb }, 'Resolved API gateway');
|
|
144
159
|
}
|
|
145
|
-
|
|
146
|
-
// during the provisioning process (which may take 30+ seconds).
|
|
147
|
-
this.instances.set(key, infraService);
|
|
148
|
-
try {
|
|
149
|
-
await infraService.provision();
|
|
150
|
-
return infraService;
|
|
151
|
-
}
|
|
152
|
-
catch (err) {
|
|
153
|
-
// Remove on failure — the infrastructure is not usable
|
|
154
|
-
this.instances.delete(key);
|
|
155
|
-
this.logger.error({ project, stack, error: err.message }, 'Failed to provision stack infrastructure');
|
|
156
|
-
throw err;
|
|
157
|
-
}
|
|
160
|
+
return infraService;
|
|
158
161
|
}
|
|
159
162
|
/**
|
|
160
163
|
* Teardown infrastructure for a stack.
|
|
@@ -175,8 +178,15 @@ export class StackInfrastructureManager {
|
|
|
175
178
|
this.instances.delete(key);
|
|
176
179
|
this.portAllocations.delete(key);
|
|
177
180
|
}
|
|
181
|
+
/** Release local monitors; a supervisor restart must preserve the data plane. */
|
|
182
|
+
dispose() {
|
|
183
|
+
for (const infra of this.instances.values())
|
|
184
|
+
infra.dispose();
|
|
185
|
+
this.instances.clear();
|
|
186
|
+
this.portAllocations.clear();
|
|
187
|
+
}
|
|
178
188
|
/**
|
|
179
|
-
*
|
|
189
|
+
* Explicitly remove all stack infrastructure.
|
|
180
190
|
*/
|
|
181
191
|
async teardownAll() {
|
|
182
192
|
const entries = [...this.instances.entries()];
|