@xemahq/xema 0.13.0 → 0.15.0
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 +90 -21
- package/dist/assets/appliance-base/distribution.lock.json +5144 -0
- package/dist/assets/appliance-base/images.lock.json +1706 -0
- package/dist/assets/appliance-lean/distribution.lock.json +2888 -0
- package/dist/assets/appliance-lean/images.lock.json +1229 -0
- package/dist/assets/boot-graph.json +380 -28
- package/dist/assets/cloud/distribution.lock.json +5278 -0
- package/dist/assets/cloud/images.lock.json +1713 -0
- package/dist/assets/core/distribution.lock.json +2401 -354
- package/dist/assets/core/images.lock.json +1208 -268
- package/dist/assets/distribution-assets.manifest.json +147 -0
- package/dist/assets/keycloak/realm-xema.json +412 -0
- package/dist/assets/minimal/distribution.lock.json +2710 -0
- package/dist/assets/minimal/images.lock.json +1149 -0
- package/dist/assets/oss/distribution.lock.json +3742 -494
- package/dist/assets/oss/images.lock.json +1591 -472
- package/dist/assets/starter/distribution.lock.json +3422 -0
- package/dist/assets/starter/images.lock.json +1404 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +40 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/apply.d.ts.map +1 -1
- package/dist/commands/apply.js +2 -2
- package/dist/commands/apply.js.map +1 -1
- package/dist/commands/biome-dev.d.ts +3 -0
- package/dist/commands/biome-dev.d.ts.map +1 -0
- package/dist/commands/biome-dev.js +176 -0
- package/dist/commands/biome-dev.js.map +1 -0
- package/dist/commands/biome-validate.d.ts +10 -0
- package/dist/commands/biome-validate.d.ts.map +1 -0
- package/dist/commands/biome-validate.js +49 -0
- package/dist/commands/biome-validate.js.map +1 -0
- package/dist/commands/biome.d.ts.map +1 -1
- package/dist/commands/biome.js +437 -26
- package/dist/commands/biome.js.map +1 -1
- package/dist/commands/canopy.d.ts +3 -0
- package/dist/commands/canopy.d.ts.map +1 -0
- package/dist/commands/canopy.js +214 -0
- package/dist/commands/canopy.js.map +1 -0
- package/dist/commands/config.d.ts +3 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/config.js +78 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/dev.d.ts.map +1 -1
- package/dist/commands/dev.js +92 -20
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/dist.d.ts +13 -0
- package/dist/commands/dist.d.ts.map +1 -1
- package/dist/commands/dist.js +51 -11
- package/dist/commands/dist.js.map +1 -1
- package/dist/commands/doctor.d.ts +25 -0
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +422 -18
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/down.d.ts +10 -0
- package/dist/commands/down.d.ts.map +1 -1
- package/dist/commands/down.js +107 -33
- package/dist/commands/down.js.map +1 -1
- package/dist/commands/export.js +1 -1
- package/dist/commands/export.js.map +1 -1
- package/dist/commands/import.d.ts.map +1 -1
- package/dist/commands/import.js +2 -2
- package/dist/commands/import.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +56 -3
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/installation.d.ts +3 -0
- package/dist/commands/installation.d.ts.map +1 -0
- package/dist/commands/installation.js +258 -0
- package/dist/commands/installation.js.map +1 -0
- package/dist/commands/license.d.ts +3 -0
- package/dist/commands/license.d.ts.map +1 -0
- package/dist/commands/license.js +97 -0
- package/dist/commands/license.js.map +1 -0
- package/dist/commands/login.d.ts +4 -0
- package/dist/commands/login.d.ts.map +1 -0
- package/dist/commands/login.js +127 -0
- package/dist/commands/login.js.map +1 -0
- package/dist/commands/logs.d.ts +21 -0
- package/dist/commands/logs.d.ts.map +1 -1
- package/dist/commands/logs.js +133 -32
- package/dist/commands/logs.js.map +1 -1
- package/dist/commands/objects.d.ts.map +1 -1
- package/dist/commands/objects.js +85 -6
- package/dist/commands/objects.js.map +1 -1
- package/dist/commands/plan.d.ts.map +1 -1
- package/dist/commands/plan.js +2 -2
- package/dist/commands/plan.js.map +1 -1
- package/dist/commands/run.d.ts.map +1 -1
- package/dist/commands/run.js +61 -9
- package/dist/commands/run.js.map +1 -1
- package/dist/commands/serve.d.ts.map +1 -1
- package/dist/commands/serve.js +67 -14
- package/dist/commands/serve.js.map +1 -1
- package/dist/commands/shell.d.ts.map +1 -1
- package/dist/commands/shell.js +190 -6
- package/dist/commands/shell.js.map +1 -1
- package/dist/commands/source.d.ts +3 -0
- package/dist/commands/source.d.ts.map +1 -0
- package/dist/commands/source.js +120 -0
- package/dist/commands/source.js.map +1 -0
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +29 -3
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/up.d.ts.map +1 -1
- package/dist/commands/up.js +70 -5
- package/dist/commands/up.js.map +1 -1
- package/dist/dev/env-defaults.d.ts +1 -0
- package/dist/dev/env-defaults.d.ts.map +1 -1
- package/dist/dev/env-defaults.js +24 -12
- package/dist/dev/env-defaults.js.map +1 -1
- package/dist/dev/forked-worker-bootstrap-protocol.d.ts +17 -0
- package/dist/dev/forked-worker-bootstrap-protocol.d.ts.map +1 -0
- package/dist/dev/forked-worker-bootstrap-protocol.js +35 -0
- package/dist/dev/forked-worker-bootstrap-protocol.js.map +1 -0
- package/dist/dev/forked-worker-bootstrap.d.ts +18 -0
- package/dist/dev/forked-worker-bootstrap.d.ts.map +1 -0
- package/dist/dev/forked-worker-bootstrap.js +84 -0
- package/dist/dev/forked-worker-bootstrap.js.map +1 -0
- package/dist/dev/forked-worker.d.ts +29 -0
- package/dist/dev/forked-worker.d.ts.map +1 -1
- package/dist/dev/forked-worker.js +267 -42
- package/dist/dev/forked-worker.js.map +1 -1
- package/dist/dev/opa-policies.d.ts +3 -0
- package/dist/dev/opa-policies.d.ts.map +1 -0
- package/dist/dev/opa-policies.js +64 -0
- package/dist/dev/opa-policies.js.map +1 -0
- package/dist/lib/cli-errors.d.ts +7 -0
- package/dist/lib/cli-errors.d.ts.map +1 -0
- package/dist/lib/cli-errors.js +30 -0
- package/dist/lib/cli-errors.js.map +1 -0
- package/dist/lib/control-plane.d.ts +5 -1
- package/dist/lib/control-plane.d.ts.map +1 -1
- package/dist/lib/control-plane.js +61 -8
- package/dist/lib/control-plane.js.map +1 -1
- package/dist/lib/exit-codes.d.ts +3 -4
- package/dist/lib/exit-codes.d.ts.map +1 -1
- package/dist/lib/exit-codes.js +3 -4
- package/dist/lib/exit-codes.js.map +1 -1
- package/dist/lib/http-error.d.ts +2 -0
- package/dist/lib/http-error.d.ts.map +1 -0
- package/dist/lib/http-error.js +51 -0
- package/dist/lib/http-error.js.map +1 -0
- package/dist/lib/roster-profile.d.ts +10 -0
- package/dist/lib/roster-profile.d.ts.map +1 -0
- package/dist/lib/roster-profile.js +44 -0
- package/dist/lib/roster-profile.js.map +1 -0
- package/dist/runtime/asset-provenance.d.ts +17 -0
- package/dist/runtime/asset-provenance.d.ts.map +1 -0
- package/dist/runtime/asset-provenance.js +29 -0
- package/dist/runtime/asset-provenance.js.map +1 -0
- package/dist/runtime/auth/client-bootstrap.d.ts +11 -0
- package/dist/runtime/auth/client-bootstrap.d.ts.map +1 -0
- package/dist/runtime/auth/client-bootstrap.js +60 -0
- package/dist/runtime/auth/client-bootstrap.js.map +1 -0
- package/dist/runtime/auth/device-flow.d.ts +43 -0
- package/dist/runtime/auth/device-flow.d.ts.map +1 -0
- package/dist/runtime/auth/device-flow.js +201 -0
- package/dist/runtime/auth/device-flow.js.map +1 -0
- package/dist/runtime/auth/session-auth.d.ts +8 -0
- package/dist/runtime/auth/session-auth.d.ts.map +1 -0
- package/dist/runtime/auth/session-auth.js +43 -0
- package/dist/runtime/auth/session-auth.js.map +1 -0
- package/dist/runtime/auth/session-store.d.ts +19 -0
- package/dist/runtime/auth/session-store.d.ts.map +1 -0
- package/dist/runtime/auth/session-store.js +83 -0
- package/dist/runtime/auth/session-store.js.map +1 -0
- package/dist/runtime/auth/token-claims.d.ts +2 -0
- package/dist/runtime/auth/token-claims.d.ts.map +1 -0
- package/dist/runtime/auth/token-claims.js +45 -0
- package/dist/runtime/auth/token-claims.js.map +1 -0
- package/dist/runtime/biome-dev.d.ts +28 -0
- package/dist/runtime/biome-dev.d.ts.map +1 -0
- package/dist/runtime/biome-dev.js +131 -0
- package/dist/runtime/biome-dev.js.map +1 -0
- package/dist/runtime/biome-local-install.d.ts +29 -0
- package/dist/runtime/biome-local-install.d.ts.map +1 -0
- package/dist/runtime/biome-local-install.js +243 -0
- package/dist/runtime/biome-local-install.js.map +1 -0
- package/dist/runtime/biome-provenance.d.ts +26 -0
- package/dist/runtime/biome-provenance.d.ts.map +1 -0
- package/dist/runtime/biome-provenance.js +70 -0
- package/dist/runtime/biome-provenance.js.map +1 -0
- package/dist/runtime/biome-publish.d.ts +48 -0
- package/dist/runtime/biome-publish.d.ts.map +1 -0
- package/dist/runtime/biome-publish.js +278 -0
- package/dist/runtime/biome-publish.js.map +1 -0
- package/dist/runtime/biome-scaffold.d.ts +35 -0
- package/dist/runtime/biome-scaffold.d.ts.map +1 -0
- package/dist/runtime/biome-scaffold.js +151 -0
- package/dist/runtime/biome-scaffold.js.map +1 -0
- package/dist/runtime/biome-validate.d.ts +28 -0
- package/dist/runtime/biome-validate.d.ts.map +1 -0
- package/dist/runtime/biome-validate.js +452 -0
- package/dist/runtime/biome-validate.js.map +1 -0
- package/dist/runtime/boot-graph-loader.d.ts +1 -0
- package/dist/runtime/boot-graph-loader.d.ts.map +1 -1
- package/dist/runtime/boot-graph-loader.js +99 -7
- package/dist/runtime/boot-graph-loader.js.map +1 -1
- package/dist/runtime/canopy-refs.d.ts +8 -0
- package/dist/runtime/canopy-refs.d.ts.map +1 -0
- package/dist/runtime/canopy-refs.js +51 -0
- package/dist/runtime/canopy-refs.js.map +1 -0
- package/dist/runtime/canopy-replies.d.ts +14 -0
- package/dist/runtime/canopy-replies.d.ts.map +1 -0
- package/dist/runtime/canopy-replies.js +39 -0
- package/dist/runtime/canopy-replies.js.map +1 -0
- package/dist/runtime/capability-invoke.d.ts +35 -0
- package/dist/runtime/capability-invoke.d.ts.map +1 -0
- package/dist/runtime/capability-invoke.js +119 -0
- package/dist/runtime/capability-invoke.js.map +1 -0
- package/dist/runtime/cleanup.d.ts +10 -0
- package/dist/runtime/cleanup.d.ts.map +1 -0
- package/dist/runtime/cleanup.js +35 -0
- package/dist/runtime/cleanup.js.map +1 -0
- package/dist/runtime/config/dev-mode.d.ts +8 -0
- package/dist/runtime/config/dev-mode.d.ts.map +1 -0
- package/dist/runtime/config/dev-mode.js +84 -0
- package/dist/runtime/config/dev-mode.js.map +1 -0
- package/dist/runtime/config/init-presets.d.ts +1 -1
- package/dist/runtime/config/init-presets.d.ts.map +1 -1
- package/dist/runtime/config/init-presets.js +68 -13
- package/dist/runtime/config/init-presets.js.map +1 -1
- package/dist/runtime/config/loader.d.ts +1 -0
- package/dist/runtime/config/loader.d.ts.map +1 -1
- package/dist/runtime/config/loader.js +41 -5
- package/dist/runtime/config/loader.js.map +1 -1
- package/dist/runtime/config/schema.d.ts +27 -12
- package/dist/runtime/config/schema.d.ts.map +1 -1
- package/dist/runtime/config/schema.js +113 -8
- package/dist/runtime/config/schema.js.map +1 -1
- package/dist/runtime/config/sources-config.d.ts +14 -0
- package/dist/runtime/config/sources-config.d.ts.map +1 -0
- package/dist/runtime/config/sources-config.js +79 -0
- package/dist/runtime/config/sources-config.js.map +1 -0
- package/dist/runtime/distribution/available-biome.d.ts.map +1 -1
- package/dist/runtime/distribution/available-biome.js +2 -0
- package/dist/runtime/distribution/available-biome.js.map +1 -1
- package/dist/runtime/distribution/compose.d.ts +2 -1
- package/dist/runtime/distribution/compose.d.ts.map +1 -1
- package/dist/runtime/distribution/compose.js +4 -1
- package/dist/runtime/distribution/compose.js.map +1 -1
- package/dist/runtime/env-seeder.d.ts +5 -0
- package/dist/runtime/env-seeder.d.ts.map +1 -1
- package/dist/runtime/env-seeder.js +152 -19
- package/dist/runtime/env-seeder.js.map +1 -1
- package/dist/runtime/foreground.d.ts +9 -0
- package/dist/runtime/foreground.d.ts.map +1 -1
- package/dist/runtime/foreground.js +37 -3
- package/dist/runtime/foreground.js.map +1 -1
- package/dist/runtime/infra/infra-catalog.d.ts +34 -1
- package/dist/runtime/infra/infra-catalog.d.ts.map +1 -1
- package/dist/runtime/infra/infra-catalog.js +202 -10
- package/dist/runtime/infra/infra-catalog.js.map +1 -1
- package/dist/runtime/infra/infra-environment.d.ts +10 -0
- package/dist/runtime/infra/infra-environment.d.ts.map +1 -0
- package/dist/runtime/infra/infra-environment.js +76 -0
- package/dist/runtime/infra/infra-environment.js.map +1 -0
- package/dist/runtime/infra/infra-plan.d.ts +2 -1
- package/dist/runtime/infra/infra-plan.d.ts.map +1 -1
- package/dist/runtime/infra/infra-plan.js +10 -0
- package/dist/runtime/infra/infra-plan.js.map +1 -1
- package/dist/runtime/infra/infra-runner.d.ts +16 -1
- package/dist/runtime/infra/infra-runner.d.ts.map +1 -1
- package/dist/runtime/infra/infra-runner.js +245 -55
- package/dist/runtime/infra/infra-runner.js.map +1 -1
- package/dist/runtime/infra/keycloak-realm.d.ts +25 -0
- package/dist/runtime/infra/keycloak-realm.d.ts.map +1 -0
- package/dist/runtime/infra/keycloak-realm.js +116 -0
- package/dist/runtime/infra/keycloak-realm.js.map +1 -0
- package/dist/runtime/infra/postgres-endpoint.d.ts +8 -0
- package/dist/runtime/infra/postgres-endpoint.d.ts.map +1 -0
- package/dist/runtime/infra/postgres-endpoint.js +21 -0
- package/dist/runtime/infra/postgres-endpoint.js.map +1 -0
- package/dist/runtime/installation/compiler.d.ts +114 -0
- package/dist/runtime/installation/compiler.d.ts.map +1 -0
- package/dist/runtime/installation/compiler.js +456 -0
- package/dist/runtime/installation/compiler.js.map +1 -0
- package/dist/runtime/installation/contract.d.ts +296 -0
- package/dist/runtime/installation/contract.d.ts.map +1 -0
- package/dist/runtime/installation/contract.js +504 -0
- package/dist/runtime/installation/contract.js.map +1 -0
- package/dist/runtime/installation/current-launcher-renderer.d.ts +12 -0
- package/dist/runtime/installation/current-launcher-renderer.d.ts.map +1 -0
- package/dist/runtime/installation/current-launcher-renderer.js +123 -0
- package/dist/runtime/installation/current-launcher-renderer.js.map +1 -0
- package/dist/runtime/installation/diagnostics.d.ts +16 -0
- package/dist/runtime/installation/diagnostics.d.ts.map +1 -0
- package/dist/runtime/installation/diagnostics.js +21 -0
- package/dist/runtime/installation/diagnostics.js.map +1 -0
- package/dist/runtime/installation/diff.d.ts +32 -0
- package/dist/runtime/installation/diff.d.ts.map +1 -0
- package/dist/runtime/installation/diff.js +136 -0
- package/dist/runtime/installation/diff.js.map +1 -0
- package/dist/runtime/installation/format.d.ts +3 -0
- package/dist/runtime/installation/format.d.ts.map +1 -0
- package/dist/runtime/installation/format.js +22 -0
- package/dist/runtime/installation/format.js.map +1 -0
- package/dist/runtime/installation/from-current-config.d.ts +9 -0
- package/dist/runtime/installation/from-current-config.d.ts.map +1 -0
- package/dist/runtime/installation/from-current-config.js +245 -0
- package/dist/runtime/installation/from-current-config.js.map +1 -0
- package/dist/runtime/installation/helm-release-readiness.d.ts +9 -0
- package/dist/runtime/installation/helm-release-readiness.d.ts.map +1 -0
- package/dist/runtime/installation/helm-release-readiness.js +97 -0
- package/dist/runtime/installation/helm-release-readiness.js.map +1 -0
- package/dist/runtime/installation/helm-release.d.ts +24 -0
- package/dist/runtime/installation/helm-release.d.ts.map +1 -0
- package/dist/runtime/installation/helm-release.js +96 -0
- package/dist/runtime/installation/helm-release.js.map +1 -0
- package/dist/runtime/installation/index.d.ts +22 -0
- package/dist/runtime/installation/index.d.ts.map +1 -0
- package/dist/runtime/installation/index.js +38 -0
- package/dist/runtime/installation/index.js.map +1 -0
- package/dist/runtime/installation/json-schema.d.ts +4 -0
- package/dist/runtime/installation/json-schema.d.ts.map +1 -0
- package/dist/runtime/installation/json-schema.js +16 -0
- package/dist/runtime/installation/json-schema.js.map +1 -0
- package/dist/runtime/installation/kubernetes-readiness.d.ts +60 -0
- package/dist/runtime/installation/kubernetes-readiness.d.ts.map +1 -0
- package/dist/runtime/installation/kubernetes-readiness.js +384 -0
- package/dist/runtime/installation/kubernetes-readiness.js.map +1 -0
- package/dist/runtime/installation/lifecycle.d.ts +25 -0
- package/dist/runtime/installation/lifecycle.d.ts.map +1 -0
- package/dist/runtime/installation/lifecycle.js +157 -0
- package/dist/runtime/installation/lifecycle.js.map +1 -0
- package/dist/runtime/installation/readiness-proof.d.ts +72 -0
- package/dist/runtime/installation/readiness-proof.d.ts.map +1 -0
- package/dist/runtime/installation/readiness-proof.js +142 -0
- package/dist/runtime/installation/readiness-proof.js.map +1 -0
- package/dist/runtime/installation/readiness.d.ts +21 -0
- package/dist/runtime/installation/readiness.d.ts.map +1 -0
- package/dist/runtime/installation/readiness.js +418 -0
- package/dist/runtime/installation/readiness.js.map +1 -0
- package/dist/runtime/installation/serialization.d.ts +3 -0
- package/dist/runtime/installation/serialization.d.ts.map +1 -0
- package/dist/runtime/installation/serialization.js +39 -0
- package/dist/runtime/installation/serialization.js.map +1 -0
- package/dist/runtime/installation/setup-profile.d.ts +8 -0
- package/dist/runtime/installation/setup-profile.d.ts.map +1 -0
- package/dist/runtime/installation/setup-profile.js +41 -0
- package/dist/runtime/installation/setup-profile.js.map +1 -0
- package/dist/runtime/installation/setup-renderer.d.ts +31 -0
- package/dist/runtime/installation/setup-renderer.d.ts.map +1 -0
- package/dist/runtime/installation/setup-renderer.js +238 -0
- package/dist/runtime/installation/setup-renderer.js.map +1 -0
- package/dist/runtime/installation/state-store.d.ts +28 -0
- package/dist/runtime/installation/state-store.d.ts.map +1 -0
- package/dist/runtime/installation/state-store.js +377 -0
- package/dist/runtime/installation/state-store.js.map +1 -0
- package/dist/runtime/installation/status.d.ts +24 -0
- package/dist/runtime/installation/status.d.ts.map +1 -0
- package/dist/runtime/installation/status.js +52 -0
- package/dist/runtime/installation/status.js.map +1 -0
- package/dist/runtime/installation/support-bundle.d.ts +30 -0
- package/dist/runtime/installation/support-bundle.d.ts.map +1 -0
- package/dist/runtime/installation/support-bundle.js +145 -0
- package/dist/runtime/installation/support-bundle.js.map +1 -0
- package/dist/runtime/installation/to-current-config.d.ts +4 -0
- package/dist/runtime/installation/to-current-config.d.ts.map +1 -0
- package/dist/runtime/installation/to-current-config.js +171 -0
- package/dist/runtime/installation/to-current-config.js.map +1 -0
- package/dist/runtime/installation/validation.d.ts +8 -0
- package/dist/runtime/installation/validation.d.ts.map +1 -0
- package/dist/runtime/installation/validation.js +117 -0
- package/dist/runtime/installation/validation.js.map +1 -0
- package/dist/runtime/installation/validators/common.d.ts +4 -0
- package/dist/runtime/installation/validators/common.d.ts.map +1 -0
- package/dist/runtime/installation/validators/common.js +32 -0
- package/dist/runtime/installation/validators/common.js.map +1 -0
- package/dist/runtime/installation/validators/infrastructure.d.ts +4 -0
- package/dist/runtime/installation/validators/infrastructure.d.ts.map +1 -0
- package/dist/runtime/installation/validators/infrastructure.js +96 -0
- package/dist/runtime/installation/validators/infrastructure.js.map +1 -0
- package/dist/runtime/installation/validators/operational.d.ts +4 -0
- package/dist/runtime/installation/validators/operational.d.ts.map +1 -0
- package/dist/runtime/installation/validators/operational.js +68 -0
- package/dist/runtime/installation/validators/operational.js.map +1 -0
- package/dist/runtime/installation/validators/profile.d.ts +4 -0
- package/dist/runtime/installation/validators/profile.d.ts.map +1 -0
- package/dist/runtime/installation/validators/profile.js +80 -0
- package/dist/runtime/installation/validators/profile.js.map +1 -0
- package/dist/runtime/installation/validators/secrets.d.ts +4 -0
- package/dist/runtime/installation/validators/secrets.d.ts.map +1 -0
- package/dist/runtime/installation/validators/secrets.js +85 -0
- package/dist/runtime/installation/validators/secrets.js.map +1 -0
- package/dist/runtime/launch-plan-format.d.ts +3 -0
- package/dist/runtime/launch-plan-format.d.ts.map +1 -0
- package/dist/runtime/launch-plan-format.js +57 -0
- package/dist/runtime/launch-plan-format.js.map +1 -0
- package/dist/runtime/launch.d.ts +35 -3
- package/dist/runtime/launch.d.ts.map +1 -1
- package/dist/runtime/launch.js +382 -37
- package/dist/runtime/launch.js.map +1 -1
- package/dist/runtime/license/license-clock.d.ts +12 -0
- package/dist/runtime/license/license-clock.d.ts.map +1 -0
- package/dist/runtime/license/license-clock.js +57 -0
- package/dist/runtime/license/license-clock.js.map +1 -0
- package/dist/runtime/license/license-report.d.ts +19 -0
- package/dist/runtime/license/license-report.d.ts.map +1 -0
- package/dist/runtime/license/license-report.js +105 -0
- package/dist/runtime/license/license-report.js.map +1 -0
- package/dist/runtime/license/license-store.d.ts +5 -0
- package/dist/runtime/license/license-store.d.ts.map +1 -0
- package/dist/runtime/license/license-store.js +11 -0
- package/dist/runtime/license/license-store.js.map +1 -0
- package/dist/runtime/license/registry-credential.d.ts +26 -0
- package/dist/runtime/license/registry-credential.d.ts.map +1 -0
- package/dist/runtime/license/registry-credential.js +94 -0
- package/dist/runtime/license/registry-credential.js.map +1 -0
- package/dist/runtime/license/resolve-license.d.ts +30 -0
- package/dist/runtime/license/resolve-license.d.ts.map +1 -0
- package/dist/runtime/license/resolve-license.js +73 -0
- package/dist/runtime/license/resolve-license.js.map +1 -0
- package/dist/runtime/license/store-license.d.ts +18 -0
- package/dist/runtime/license/store-license.d.ts.map +1 -0
- package/dist/runtime/license/store-license.js +26 -0
- package/dist/runtime/license/store-license.js.map +1 -0
- package/dist/runtime/lock-loader.d.ts +3 -6
- package/dist/runtime/lock-loader.d.ts.map +1 -1
- package/dist/runtime/lock-loader.js +26 -20
- package/dist/runtime/lock-loader.js.map +1 -1
- package/dist/runtime/native-process-group.d.ts +46 -0
- package/dist/runtime/native-process-group.d.ts.map +1 -0
- package/dist/runtime/native-process-group.js +390 -0
- package/dist/runtime/native-process-group.js.map +1 -0
- package/dist/runtime/object-registry-client.d.ts +31 -0
- package/dist/runtime/object-registry-client.d.ts.map +1 -0
- package/dist/runtime/object-registry-client.js +54 -0
- package/dist/runtime/object-registry-client.js.map +1 -0
- package/dist/runtime/paths.d.ts +2 -0
- package/dist/runtime/paths.d.ts.map +1 -1
- package/dist/runtime/paths.js +3 -0
- package/dist/runtime/paths.js.map +1 -1
- package/dist/runtime/roster.d.ts +12 -5
- package/dist/runtime/roster.d.ts.map +1 -1
- package/dist/runtime/roster.js +89 -11
- package/dist/runtime/roster.js.map +1 -1
- package/dist/runtime/run-manifest.d.ts +52 -0
- package/dist/runtime/run-manifest.d.ts.map +1 -0
- package/dist/runtime/run-manifest.js +587 -0
- package/dist/runtime/run-manifest.js.map +1 -0
- package/dist/runtime/runner/container-preflight.d.ts +77 -0
- package/dist/runtime/runner/container-preflight.d.ts.map +1 -0
- package/dist/runtime/runner/container-preflight.js +360 -0
- package/dist/runtime/runner/container-preflight.js.map +1 -0
- package/dist/runtime/runner/container-runner.d.ts +14 -0
- package/dist/runtime/runner/container-runner.d.ts.map +1 -1
- package/dist/runtime/runner/container-runner.js +110 -14
- package/dist/runtime/runner/container-runner.js.map +1 -1
- package/dist/runtime/runner/docker-cli.d.ts +35 -2
- package/dist/runtime/runner/docker-cli.d.ts.map +1 -1
- package/dist/runtime/runner/docker-cli.js +314 -9
- package/dist/runtime/runner/docker-cli.js.map +1 -1
- package/dist/runtime/runner/health-probe.d.ts +1 -0
- package/dist/runtime/runner/health-probe.d.ts.map +1 -1
- package/dist/runtime/runner/health-probe.js +3 -2
- package/dist/runtime/runner/health-probe.js.map +1 -1
- package/dist/runtime/runner/helm-cli.d.ts +19 -1
- package/dist/runtime/runner/helm-cli.d.ts.map +1 -1
- package/dist/runtime/runner/helm-cli.js +76 -8
- package/dist/runtime/runner/helm-cli.js.map +1 -1
- package/dist/runtime/runner/helm-runner.d.ts +3 -0
- package/dist/runtime/runner/helm-runner.d.ts.map +1 -1
- package/dist/runtime/runner/helm-runner.js +23 -7
- package/dist/runtime/runner/helm-runner.js.map +1 -1
- package/dist/runtime/runner/host-platform.d.ts +39 -0
- package/dist/runtime/runner/host-platform.d.ts.map +1 -0
- package/dist/runtime/runner/host-platform.js +136 -0
- package/dist/runtime/runner/host-platform.js.map +1 -0
- package/dist/runtime/runner/kube-cli.d.ts +23 -0
- package/dist/runtime/runner/kube-cli.d.ts.map +1 -0
- package/dist/runtime/runner/kube-cli.js +112 -0
- package/dist/runtime/runner/kube-cli.js.map +1 -0
- package/dist/runtime/runner/native-runner.d.ts.map +1 -1
- package/dist/runtime/runner/native-runner.js +46 -15
- package/dist/runtime/runner/native-runner.js.map +1 -1
- package/dist/runtime/runner/service-runner.d.ts +5 -0
- package/dist/runtime/runner/service-runner.d.ts.map +1 -1
- package/dist/runtime/runner/service-runner.js.map +1 -1
- package/dist/runtime/runner/stream-outcome.d.ts +7 -0
- package/dist/runtime/runner/stream-outcome.d.ts.map +1 -0
- package/dist/runtime/runner/stream-outcome.js +13 -0
- package/dist/runtime/runner/stream-outcome.js.map +1 -0
- package/dist/runtime/secrets/managed-local-cipher.d.ts +18 -0
- package/dist/runtime/secrets/managed-local-cipher.d.ts.map +1 -0
- package/dist/runtime/secrets/managed-local-cipher.js +110 -0
- package/dist/runtime/secrets/managed-local-cipher.js.map +1 -0
- package/dist/runtime/secrets/managed-local-files.d.ts +4 -0
- package/dist/runtime/secrets/managed-local-files.d.ts.map +1 -0
- package/dist/runtime/secrets/managed-local-files.js +132 -0
- package/dist/runtime/secrets/managed-local-files.js.map +1 -0
- package/dist/runtime/secrets/managed-local-key-provider.d.ts +27 -0
- package/dist/runtime/secrets/managed-local-key-provider.d.ts.map +1 -0
- package/dist/runtime/secrets/managed-local-key-provider.js +144 -0
- package/dist/runtime/secrets/managed-local-key-provider.js.map +1 -0
- package/dist/runtime/secrets/managed-local-secret-store.d.ts +18 -0
- package/dist/runtime/secrets/managed-local-secret-store.d.ts.map +1 -0
- package/dist/runtime/secrets/managed-local-secret-store.js +82 -0
- package/dist/runtime/secrets/managed-local-secret-store.js.map +1 -0
- package/dist/runtime/secrets/managed-local-store.d.ts +33 -0
- package/dist/runtime/secrets/managed-local-store.d.ts.map +1 -0
- package/dist/runtime/secrets/managed-local-store.js +121 -0
- package/dist/runtime/secrets/managed-local-store.js.map +1 -0
- package/dist/runtime/secrets/resolver.d.ts +23 -0
- package/dist/runtime/secrets/resolver.d.ts.map +1 -0
- package/dist/runtime/secrets/resolver.js +265 -0
- package/dist/runtime/secrets/resolver.js.map +1 -0
- package/dist/runtime/secrets/url-security.d.ts +3 -0
- package/dist/runtime/secrets/url-security.d.ts.map +1 -0
- package/dist/runtime/secrets/url-security.js +13 -0
- package/dist/runtime/secrets/url-security.js.map +1 -0
- package/dist/runtime/sources/credentials.d.ts +2 -0
- package/dist/runtime/sources/credentials.d.ts.map +1 -1
- package/dist/runtime/sources/credentials.js +51 -1
- package/dist/runtime/sources/credentials.js.map +1 -1
- package/dist/runtime/sources/kinds/distribution.js +3 -3
- package/dist/runtime/sources/kinds/distribution.js.map +1 -1
- package/dist/runtime/sources/kinds/git.d.ts +6 -3
- package/dist/runtime/sources/kinds/git.d.ts.map +1 -1
- package/dist/runtime/sources/kinds/git.js +99 -22
- package/dist/runtime/sources/kinds/git.js.map +1 -1
- package/dist/runtime/sources/manifest-walk.d.ts +1 -0
- package/dist/runtime/sources/manifest-walk.d.ts.map +1 -1
- package/dist/runtime/sources/manifest-walk.js +16 -11
- package/dist/runtime/sources/manifest-walk.js.map +1 -1
- package/dist/runtime/sources/resolve-context.d.ts +7 -0
- package/dist/runtime/sources/resolve-context.d.ts.map +1 -0
- package/dist/runtime/sources/resolve-context.js +3 -0
- package/dist/runtime/sources/resolve-context.js.map +1 -0
- package/dist/runtime/sources/resolver.d.ts +2 -2
- package/dist/runtime/sources/resolver.d.ts.map +1 -1
- package/dist/runtime/sources/resolver.js +11 -5
- package/dist/runtime/sources/resolver.js.map +1 -1
- package/dist/runtime/sources/schema.d.ts.map +1 -1
- package/dist/runtime/sources/schema.js +51 -3
- package/dist/runtime/sources/schema.js.map +1 -1
- package/dist/runtime/store-client.d.ts +59 -0
- package/dist/runtime/store-client.d.ts.map +1 -0
- package/dist/runtime/store-client.js +72 -0
- package/dist/runtime/store-client.js.map +1 -0
- package/dist/runtime/store-submit.d.ts +31 -0
- package/dist/runtime/store-submit.d.ts.map +1 -0
- package/dist/runtime/store-submit.js +77 -0
- package/dist/runtime/store-submit.js.map +1 -0
- package/dist/runtime/supervisor.d.ts +18 -0
- package/dist/runtime/supervisor.d.ts.map +1 -1
- package/dist/runtime/supervisor.js +162 -15
- package/dist/runtime/supervisor.js.map +1 -1
- package/dist/runtime/waves.d.ts +1 -1
- package/dist/runtime/waves.d.ts.map +1 -1
- package/dist/runtime/waves.js +86 -19
- package/dist/runtime/waves.js.map +1 -1
- package/examples/01-local-native.yaml +4 -1
- package/examples/03-byo-infra.yaml +17 -7
- package/examples/05-appliance-helm.yaml +1 -1
- package/examples/06-biome-sources.yaml +4 -1
- package/package.json +20 -28
- package/xema.config.example.yaml +22 -18
- package/LICENSE +0 -176
- package/dist/lib/command-registry.d.ts +0 -5
- package/dist/lib/command-registry.d.ts.map +0 -1
- package/dist/lib/command-registry.js +0 -17
- package/dist/lib/command-registry.js.map +0 -1
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { DockerCli } from './docker-cli';
|
|
2
|
+
import { type ResolvedPlatform } from './host-platform';
|
|
3
|
+
import { type LicenseRegistryCredentials, type RegistryAuthResult } from '../license/registry-credential';
|
|
4
|
+
import type { RosterEntry } from '../roster';
|
|
5
|
+
import type { RuntimeImagePlatform } from '@xemahq/kernel-contracts/distribution';
|
|
6
|
+
export declare enum ContainerPreflightFailureKind {
|
|
7
|
+
RuntimeUnreachable = "runtime-unreachable",
|
|
8
|
+
MalformedImagePlatforms = "malformed-image-platforms",
|
|
9
|
+
PlatformMismatch = "platform-mismatch",
|
|
10
|
+
RegistryAuthFailed = "registry-auth-failed",
|
|
11
|
+
RegistryProbeFailed = "registry-probe-failed"
|
|
12
|
+
}
|
|
13
|
+
export declare enum RegistryProbeOutcome {
|
|
14
|
+
Reachable = "reachable",
|
|
15
|
+
LocalImagesPresent = "local-images-present",
|
|
16
|
+
Unauthorized = "unauthorized",
|
|
17
|
+
ManifestUnknown = "manifest-unknown",
|
|
18
|
+
Unreachable = "unreachable",
|
|
19
|
+
Unverified = "unverified",
|
|
20
|
+
Unclassified = "unclassified"
|
|
21
|
+
}
|
|
22
|
+
export interface EffectiveRunPlatform {
|
|
23
|
+
readonly service: string;
|
|
24
|
+
readonly platform: ResolvedPlatform;
|
|
25
|
+
readonly emulated: boolean;
|
|
26
|
+
}
|
|
27
|
+
export interface PlatformMismatchGroup {
|
|
28
|
+
readonly services: readonly string[];
|
|
29
|
+
readonly declared: readonly RuntimeImagePlatform[];
|
|
30
|
+
}
|
|
31
|
+
export interface RegistryProbeTarget {
|
|
32
|
+
readonly host: string;
|
|
33
|
+
readonly service: string;
|
|
34
|
+
readonly image: string;
|
|
35
|
+
}
|
|
36
|
+
export interface RegistryProbeResult {
|
|
37
|
+
readonly target: RegistryProbeTarget;
|
|
38
|
+
readonly outcome: RegistryProbeOutcome;
|
|
39
|
+
readonly detail: string;
|
|
40
|
+
readonly remediation: string;
|
|
41
|
+
}
|
|
42
|
+
export interface ContainerPreflightFailure {
|
|
43
|
+
readonly kind: ContainerPreflightFailureKind;
|
|
44
|
+
readonly message: string;
|
|
45
|
+
}
|
|
46
|
+
export interface ContainerPreflightReport {
|
|
47
|
+
readonly runtimeBinary: string;
|
|
48
|
+
readonly runtimeReachable: boolean;
|
|
49
|
+
readonly runtimePlatform: ResolvedPlatform | null;
|
|
50
|
+
readonly nodePlatform: ResolvedPlatform;
|
|
51
|
+
readonly effectivePlatforms: readonly EffectiveRunPlatform[];
|
|
52
|
+
readonly emulationNotices: readonly PlatformMismatchGroup[];
|
|
53
|
+
readonly registryAuth: readonly RegistryAuthResult[];
|
|
54
|
+
readonly registryProbes: readonly RegistryProbeResult[];
|
|
55
|
+
readonly failures: readonly ContainerPreflightFailure[];
|
|
56
|
+
readonly passed: boolean;
|
|
57
|
+
}
|
|
58
|
+
export interface ContainerPreflightOptions {
|
|
59
|
+
readonly roster: readonly RosterEntry[];
|
|
60
|
+
readonly allowEmulatedPlatform: boolean;
|
|
61
|
+
readonly registryCredentials: LicenseRegistryCredentials;
|
|
62
|
+
readonly docker?: DockerCli;
|
|
63
|
+
}
|
|
64
|
+
export declare const DEFAULT_REGISTRY_HOST = "docker.io";
|
|
65
|
+
export declare function registryHostForImageRef(imageRef: string): string;
|
|
66
|
+
export declare function distinctRegistryTargets(candidates: readonly Omit<RegistryProbeTarget, 'host'>[], localImages?: ReadonlySet<string>): {
|
|
67
|
+
readonly targets: RegistryProbeTarget[];
|
|
68
|
+
readonly satisfiedLocally: RegistryProbeTarget[];
|
|
69
|
+
};
|
|
70
|
+
export declare function rosterRegistryTargets(roster: readonly RosterEntry[], localImages?: ReadonlySet<string>): ReturnType<typeof distinctRegistryTargets>;
|
|
71
|
+
export declare function classifyRegistryProbeFailure(errorText: string): RegistryProbeOutcome;
|
|
72
|
+
export declare function isBlockingRegistryOutcome(outcome: RegistryProbeOutcome): boolean;
|
|
73
|
+
export declare function probeRegistries(targets: readonly RegistryProbeTarget[], docker: DockerCli, satisfiedLocally?: readonly RegistryProbeTarget[]): Promise<RegistryProbeResult[]>;
|
|
74
|
+
export declare function runContainerPreflight(opts: ContainerPreflightOptions): Promise<ContainerPreflightReport>;
|
|
75
|
+
export declare function assertContainerPreflightPassed(report: ContainerPreflightReport): void;
|
|
76
|
+
export declare function formatContainerPreflight(report: ContainerPreflightReport): string;
|
|
77
|
+
//# sourceMappingURL=container-preflight.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"container-preflight.d.ts","sourceRoot":"","sources":["../../../src/runtime/runner/container-preflight.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,360 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DEFAULT_REGISTRY_HOST = exports.RegistryProbeOutcome = exports.ContainerPreflightFailureKind = void 0;
|
|
4
|
+
exports.registryHostForImageRef = registryHostForImageRef;
|
|
5
|
+
exports.distinctRegistryTargets = distinctRegistryTargets;
|
|
6
|
+
exports.rosterRegistryTargets = rosterRegistryTargets;
|
|
7
|
+
exports.classifyRegistryProbeFailure = classifyRegistryProbeFailure;
|
|
8
|
+
exports.isBlockingRegistryOutcome = isBlockingRegistryOutcome;
|
|
9
|
+
exports.probeRegistries = probeRegistries;
|
|
10
|
+
exports.runContainerPreflight = runContainerPreflight;
|
|
11
|
+
exports.assertContainerPreflightPassed = assertContainerPreflightPassed;
|
|
12
|
+
exports.formatContainerPreflight = formatContainerPreflight;
|
|
13
|
+
const container_runner_1 = require("./container-runner");
|
|
14
|
+
const docker_cli_1 = require("./docker-cli");
|
|
15
|
+
const host_platform_1 = require("./host-platform");
|
|
16
|
+
const registry_credential_1 = require("../license/registry-credential");
|
|
17
|
+
var ContainerPreflightFailureKind;
|
|
18
|
+
(function (ContainerPreflightFailureKind) {
|
|
19
|
+
ContainerPreflightFailureKind["RuntimeUnreachable"] = "runtime-unreachable";
|
|
20
|
+
ContainerPreflightFailureKind["MalformedImagePlatforms"] = "malformed-image-platforms";
|
|
21
|
+
ContainerPreflightFailureKind["PlatformMismatch"] = "platform-mismatch";
|
|
22
|
+
ContainerPreflightFailureKind["RegistryAuthFailed"] = "registry-auth-failed";
|
|
23
|
+
ContainerPreflightFailureKind["RegistryProbeFailed"] = "registry-probe-failed";
|
|
24
|
+
})(ContainerPreflightFailureKind || (exports.ContainerPreflightFailureKind = ContainerPreflightFailureKind = {}));
|
|
25
|
+
var RegistryProbeOutcome;
|
|
26
|
+
(function (RegistryProbeOutcome) {
|
|
27
|
+
RegistryProbeOutcome["Reachable"] = "reachable";
|
|
28
|
+
RegistryProbeOutcome["LocalImagesPresent"] = "local-images-present";
|
|
29
|
+
RegistryProbeOutcome["Unauthorized"] = "unauthorized";
|
|
30
|
+
RegistryProbeOutcome["ManifestUnknown"] = "manifest-unknown";
|
|
31
|
+
RegistryProbeOutcome["Unreachable"] = "unreachable";
|
|
32
|
+
RegistryProbeOutcome["Unverified"] = "unverified";
|
|
33
|
+
RegistryProbeOutcome["Unclassified"] = "unclassified";
|
|
34
|
+
})(RegistryProbeOutcome || (exports.RegistryProbeOutcome = RegistryProbeOutcome = {}));
|
|
35
|
+
exports.DEFAULT_REGISTRY_HOST = 'docker.io';
|
|
36
|
+
function registryHostForImageRef(imageRef) {
|
|
37
|
+
const firstSlash = imageRef.indexOf('/');
|
|
38
|
+
if (firstSlash === -1) {
|
|
39
|
+
return exports.DEFAULT_REGISTRY_HOST;
|
|
40
|
+
}
|
|
41
|
+
const candidate = imageRef.slice(0, firstSlash);
|
|
42
|
+
if (candidate === 'localhost' || candidate.includes('.') || candidate.includes(':')) {
|
|
43
|
+
return candidate;
|
|
44
|
+
}
|
|
45
|
+
return exports.DEFAULT_REGISTRY_HOST;
|
|
46
|
+
}
|
|
47
|
+
function distinctRegistryTargets(candidates, localImages = new Set()) {
|
|
48
|
+
const byHost = new Map();
|
|
49
|
+
const localOnly = new Map();
|
|
50
|
+
for (const candidate of candidates) {
|
|
51
|
+
const host = registryHostForImageRef(candidate.image);
|
|
52
|
+
const target = { host, service: candidate.service, image: candidate.image };
|
|
53
|
+
if (localImages.has(candidate.image)) {
|
|
54
|
+
if (!localOnly.has(host)) {
|
|
55
|
+
localOnly.set(host, target);
|
|
56
|
+
}
|
|
57
|
+
continue;
|
|
58
|
+
}
|
|
59
|
+
if (!byHost.has(host)) {
|
|
60
|
+
byHost.set(host, target);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return {
|
|
64
|
+
targets: [...byHost.values()],
|
|
65
|
+
satisfiedLocally: [...localOnly.entries()]
|
|
66
|
+
.filter(([host]) => !byHost.has(host))
|
|
67
|
+
.map(([, target]) => target),
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
function rosterRegistryTargets(roster, localImages = new Set()) {
|
|
71
|
+
return distinctRegistryTargets(roster
|
|
72
|
+
.filter((entry) => entry.imageRef !== undefined && entry.imageRef !== '')
|
|
73
|
+
.map((entry) => ({ service: entry.name, image: (0, container_runner_1.containerImageForRosterEntry)(entry) })), localImages);
|
|
74
|
+
}
|
|
75
|
+
const REGISTRY_FAILURE_RULES = [
|
|
76
|
+
{
|
|
77
|
+
outcome: RegistryProbeOutcome.Unverified,
|
|
78
|
+
pattern: /is not a docker command|unknown command|unknown shorthand|unknown flag|unrecognized command|command not found|requires experimental|not supported by this runtime/,
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
outcome: RegistryProbeOutcome.Unauthorized,
|
|
82
|
+
pattern: /unauthorized|authentication required|no basic auth credentials|access to the resource is denied|denied:|forbidden|http status: 401|status code 401|status: 403/,
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
outcome: RegistryProbeOutcome.ManifestUnknown,
|
|
86
|
+
pattern: /manifest unknown|manifest_unknown|no such manifest|manifest for .* not found|not found: manifest|repository name not known|name unknown|404/,
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
outcome: RegistryProbeOutcome.Unreachable,
|
|
90
|
+
pattern: /dial tcp|no such host|connection refused|connection reset|network is unreachable|i\/o timeout|timeout exceeded|timed out|tls|x509|certificate|temporary failure in name resolution|eof$/,
|
|
91
|
+
},
|
|
92
|
+
];
|
|
93
|
+
function classifyRegistryProbeFailure(errorText) {
|
|
94
|
+
const text = errorText.toLowerCase();
|
|
95
|
+
for (const rule of REGISTRY_FAILURE_RULES) {
|
|
96
|
+
if (rule.pattern.test(text)) {
|
|
97
|
+
return rule.outcome;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
return RegistryProbeOutcome.Unclassified;
|
|
101
|
+
}
|
|
102
|
+
function remediationFor(outcome, target) {
|
|
103
|
+
switch (outcome) {
|
|
104
|
+
case RegistryProbeOutcome.Reachable:
|
|
105
|
+
case RegistryProbeOutcome.LocalImagesPresent:
|
|
106
|
+
return '';
|
|
107
|
+
case RegistryProbeOutcome.Unauthorized:
|
|
108
|
+
return (`Authenticate to the registry: \`docker login ${target.host}\` with an account ` +
|
|
109
|
+
'entitled to this distribution, then re-run.');
|
|
110
|
+
case RegistryProbeOutcome.ManifestUnknown:
|
|
111
|
+
return (`The image coordinate "${target.image}" is not published at that tag. The lock is ` +
|
|
112
|
+
'content-addressed, so the tag IS the content hash: either the producing pipeline ' +
|
|
113
|
+
'has not pushed this build yet, or this edition was resolved against a registry ' +
|
|
114
|
+
'that does not mirror it. Re-resolve the edition, or point the installation at a ' +
|
|
115
|
+
'registry that carries it.');
|
|
116
|
+
case RegistryProbeOutcome.Unreachable:
|
|
117
|
+
return (`The registry host "${target.host}" is not reachable from this machine. Check ` +
|
|
118
|
+
'network/DNS/proxy and TLS trust for that host (an air-gapped install must be ' +
|
|
119
|
+
'pointed at its local mirror instead).');
|
|
120
|
+
case RegistryProbeOutcome.Unverified:
|
|
121
|
+
return ('The container runtime does not support the metadata-only `manifest inspect` probe, ' +
|
|
122
|
+
'so registry reachability could not be verified here. This is NOT a failure — but a ' +
|
|
123
|
+
'registry problem, if any, will surface at pull time instead.');
|
|
124
|
+
case RegistryProbeOutcome.Unclassified:
|
|
125
|
+
return (`The registry probe for "${target.image}" failed with an error this CLI does not ` +
|
|
126
|
+
'recognize (verbatim above). Resolve it against the runtime/registry directly ' +
|
|
127
|
+
'before launching.');
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
const BLOCKING_REGISTRY_OUTCOMES = new Set([
|
|
131
|
+
RegistryProbeOutcome.Unauthorized,
|
|
132
|
+
RegistryProbeOutcome.ManifestUnknown,
|
|
133
|
+
RegistryProbeOutcome.Unreachable,
|
|
134
|
+
RegistryProbeOutcome.Unclassified,
|
|
135
|
+
]);
|
|
136
|
+
function isBlockingRegistryOutcome(outcome) {
|
|
137
|
+
return BLOCKING_REGISTRY_OUTCOMES.has(outcome);
|
|
138
|
+
}
|
|
139
|
+
async function probeRegistries(targets, docker, satisfiedLocally = []) {
|
|
140
|
+
const results = satisfiedLocally.map((target) => ({
|
|
141
|
+
target,
|
|
142
|
+
outcome: RegistryProbeOutcome.LocalImagesPresent,
|
|
143
|
+
detail: '',
|
|
144
|
+
remediation: '',
|
|
145
|
+
}));
|
|
146
|
+
for (const target of targets) {
|
|
147
|
+
try {
|
|
148
|
+
await docker.manifestInspect(target.image);
|
|
149
|
+
results.push({ target, outcome: RegistryProbeOutcome.Reachable, detail: '', remediation: '' });
|
|
150
|
+
}
|
|
151
|
+
catch (err) {
|
|
152
|
+
const detail = (err instanceof Error ? err.message : String(err)).trim();
|
|
153
|
+
const outcome = classifyRegistryProbeFailure(detail);
|
|
154
|
+
results.push({ target, outcome, detail, remediation: remediationFor(outcome, target) });
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
return results;
|
|
158
|
+
}
|
|
159
|
+
function declaredPlatformKey(declared) {
|
|
160
|
+
return declared.map(host_platform_1.formatDeclaredPlatform).join(',');
|
|
161
|
+
}
|
|
162
|
+
function runtimeUnreachableFailure(binary) {
|
|
163
|
+
return {
|
|
164
|
+
kind: ContainerPreflightFailureKind.RuntimeUnreachable,
|
|
165
|
+
message: [
|
|
166
|
+
`Container runtime \`${binary}\` is not reachable.`,
|
|
167
|
+
'',
|
|
168
|
+
`\`${binary} version\` reported no server, so no service container can be started.`,
|
|
169
|
+
'Resolve it by one of:',
|
|
170
|
+
` - install a container runtime that provides the \`${binary}\` command ` +
|
|
171
|
+
'(Docker Engine / Docker Desktop, or Podman, which ships a docker-compatible CLI);',
|
|
172
|
+
' - start the runtime daemon if it is installed but not running;',
|
|
173
|
+
' - run this installation on a host where the runtime is available.',
|
|
174
|
+
].join('\n'),
|
|
175
|
+
};
|
|
176
|
+
}
|
|
177
|
+
function malformedPlatformsFailure(services) {
|
|
178
|
+
return {
|
|
179
|
+
kind: ContainerPreflightFailureKind.MalformedImagePlatforms,
|
|
180
|
+
message: [
|
|
181
|
+
`images.lock.json declares an image but no requiredPlatforms for ${String(services.length)} service(s).`,
|
|
182
|
+
'',
|
|
183
|
+
` services : ${services.join(', ')}`,
|
|
184
|
+
'',
|
|
185
|
+
'The container substrate pins --platform from that declaration; without it the runtime ' +
|
|
186
|
+
'would pick a platform on its own, which is exactly how an image plane reaches a host ' +
|
|
187
|
+
'it was never built for. Re-resolve this edition with a generator that emits ' +
|
|
188
|
+
'requiredPlatforms.',
|
|
189
|
+
].join('\n'),
|
|
190
|
+
};
|
|
191
|
+
}
|
|
192
|
+
function platformMismatchMessage(group, runtimePlatform, nodePlatform, runtimeBinary) {
|
|
193
|
+
const declared = group.declared.map(host_platform_1.formatDeclaredPlatform).join(', ');
|
|
194
|
+
return [
|
|
195
|
+
`The image plane does not build for this host's architecture ` +
|
|
196
|
+
`(${String(group.services.length)} service(s) affected).`,
|
|
197
|
+
'',
|
|
198
|
+
` services : ${group.services.join(', ')}`,
|
|
199
|
+
` host : ${(0, host_platform_1.formatPlatform)(runtimePlatform)} ` +
|
|
200
|
+
`(container runtime \`${runtimeBinary}\`; this CLI process runs ${(0, host_platform_1.formatPlatform)(nodePlatform)})`,
|
|
201
|
+
` images : ${declared}`,
|
|
202
|
+
'',
|
|
203
|
+
'These images ship no manifest for the host platform. Starting them anyway produces an ' +
|
|
204
|
+
'opaque `exec format error` at container start, or a "no matching manifest" pull failure.',
|
|
205
|
+
'Resolve it by one of:',
|
|
206
|
+
` - install a distribution/edition whose images are built for ${(0, host_platform_1.formatPlatform)(runtimePlatform)};`,
|
|
207
|
+
` - run this installation on a ${declared} host;`,
|
|
208
|
+
' - explicitly authorize emulated execution (--allow-emulated-platform). The runtime then ' +
|
|
209
|
+
'runs the declared platform under its emulation layer — markedly slower, and only ' +
|
|
210
|
+
'available where the runtime provides one.',
|
|
211
|
+
].join('\n');
|
|
212
|
+
}
|
|
213
|
+
async function runContainerPreflight(opts) {
|
|
214
|
+
const docker = opts.docker ?? new docker_cli_1.DockerCli();
|
|
215
|
+
const nodePlatform = (0, host_platform_1.nodeHostPlatform)();
|
|
216
|
+
if (!(await docker.available())) {
|
|
217
|
+
return {
|
|
218
|
+
runtimeBinary: docker.binary,
|
|
219
|
+
runtimeReachable: false,
|
|
220
|
+
runtimePlatform: null,
|
|
221
|
+
nodePlatform,
|
|
222
|
+
effectivePlatforms: [],
|
|
223
|
+
emulationNotices: [],
|
|
224
|
+
registryAuth: [],
|
|
225
|
+
registryProbes: [],
|
|
226
|
+
failures: [runtimeUnreachableFailure(docker.binary)],
|
|
227
|
+
passed: false,
|
|
228
|
+
};
|
|
229
|
+
}
|
|
230
|
+
const runtimePlatform = await docker.serverPlatform();
|
|
231
|
+
const effectivePlatforms = [];
|
|
232
|
+
const malformed = [];
|
|
233
|
+
const mismatchGroups = new Map();
|
|
234
|
+
for (const entry of opts.roster) {
|
|
235
|
+
if (entry.imageRef === undefined || entry.imageRef === '') {
|
|
236
|
+
continue;
|
|
237
|
+
}
|
|
238
|
+
const declared = entry.imagePlatforms;
|
|
239
|
+
if (declared === undefined || declared.length === 0) {
|
|
240
|
+
malformed.push(entry.name);
|
|
241
|
+
continue;
|
|
242
|
+
}
|
|
243
|
+
const platform = (0, host_platform_1.selectRunPlatform)(declared, runtimePlatform);
|
|
244
|
+
const supported = declared.some((candidate) => (0, host_platform_1.platformMatches)((0, host_platform_1.normalizePlatform)(candidate), runtimePlatform));
|
|
245
|
+
effectivePlatforms.push({ service: entry.name, platform, emulated: !supported });
|
|
246
|
+
if (!supported) {
|
|
247
|
+
const key = declaredPlatformKey(declared);
|
|
248
|
+
const group = mismatchGroups.get(key);
|
|
249
|
+
if (group === undefined) {
|
|
250
|
+
mismatchGroups.set(key, { services: [entry.name], declared });
|
|
251
|
+
}
|
|
252
|
+
else {
|
|
253
|
+
group.services.push(entry.name);
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
const failures = [];
|
|
258
|
+
if (malformed.length > 0) {
|
|
259
|
+
failures.push(malformedPlatformsFailure(malformed));
|
|
260
|
+
}
|
|
261
|
+
const groups = [...mismatchGroups.values()].map((group) => ({
|
|
262
|
+
services: group.services,
|
|
263
|
+
declared: group.declared,
|
|
264
|
+
}));
|
|
265
|
+
const emulationNotices = opts.allowEmulatedPlatform ? groups : [];
|
|
266
|
+
if (!opts.allowEmulatedPlatform) {
|
|
267
|
+
for (const group of groups) {
|
|
268
|
+
failures.push({
|
|
269
|
+
kind: ContainerPreflightFailureKind.PlatformMismatch,
|
|
270
|
+
message: platformMismatchMessage(group, runtimePlatform, nodePlatform, docker.binary),
|
|
271
|
+
});
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
const localImages = await docker.localImageRefs();
|
|
275
|
+
const registry = rosterRegistryTargets(opts.roster, localImages);
|
|
276
|
+
const registryAuth = await (0, registry_credential_1.authenticateLicenseRegistries)(registry.targets.map((target) => target.host), opts.registryCredentials, docker);
|
|
277
|
+
for (const auth of registryAuth) {
|
|
278
|
+
if ((0, registry_credential_1.isBlockingAuthOutcome)(auth.outcome)) {
|
|
279
|
+
failures.push({
|
|
280
|
+
kind: ContainerPreflightFailureKind.RegistryAuthFailed,
|
|
281
|
+
message: [
|
|
282
|
+
`Registry ${auth.host} did not accept this installation's Xema license (${auth.outcome}).`,
|
|
283
|
+
'',
|
|
284
|
+
...(auth.detail.length > 0 ? [` runtime : ${auth.detail}`, ''] : []),
|
|
285
|
+
auth.remediation,
|
|
286
|
+
].join('\n'),
|
|
287
|
+
});
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
const registryProbes = await probeRegistries(registry.targets, docker, registry.satisfiedLocally);
|
|
291
|
+
for (const probe of registryProbes) {
|
|
292
|
+
if (BLOCKING_REGISTRY_OUTCOMES.has(probe.outcome)) {
|
|
293
|
+
failures.push({
|
|
294
|
+
kind: ContainerPreflightFailureKind.RegistryProbeFailed,
|
|
295
|
+
message: [
|
|
296
|
+
`Registry ${probe.target.host} is not usable for this installation (${probe.outcome}).`,
|
|
297
|
+
'',
|
|
298
|
+
` probed : ${probe.target.image} (representative image for ${probe.target.service})`,
|
|
299
|
+
` runtime : ${probe.detail}`,
|
|
300
|
+
'',
|
|
301
|
+
probe.remediation,
|
|
302
|
+
].join('\n'),
|
|
303
|
+
});
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
return {
|
|
307
|
+
runtimeBinary: docker.binary,
|
|
308
|
+
runtimeReachable: true,
|
|
309
|
+
runtimePlatform,
|
|
310
|
+
nodePlatform,
|
|
311
|
+
effectivePlatforms,
|
|
312
|
+
emulationNotices,
|
|
313
|
+
registryAuth,
|
|
314
|
+
registryProbes,
|
|
315
|
+
failures,
|
|
316
|
+
passed: failures.length === 0,
|
|
317
|
+
};
|
|
318
|
+
}
|
|
319
|
+
function assertContainerPreflightPassed(report) {
|
|
320
|
+
if (report.passed) {
|
|
321
|
+
return;
|
|
322
|
+
}
|
|
323
|
+
throw new Error([
|
|
324
|
+
`Container preflight failed (${String(report.failures.length)} problem(s)) — no service was started.`,
|
|
325
|
+
...report.failures.map((failure) => failure.message),
|
|
326
|
+
].join('\n\n'));
|
|
327
|
+
}
|
|
328
|
+
function formatContainerPreflight(report) {
|
|
329
|
+
const lines = [];
|
|
330
|
+
lines.push('container preflight');
|
|
331
|
+
lines.push('-'.repeat(60));
|
|
332
|
+
lines.push(`runtime : \`${report.runtimeBinary}\` ${report.runtimeReachable ? 'reachable' : 'UNREACHABLE'}`);
|
|
333
|
+
lines.push(`platform : ${report.runtimePlatform === null ? 'unknown' : (0, host_platform_1.formatPlatform)(report.runtimePlatform)} (runtime) · ${(0, host_platform_1.formatPlatform)(report.nodePlatform)} (this CLI process)`);
|
|
334
|
+
const emulatedCount = report.effectivePlatforms.filter((p) => p.emulated).length;
|
|
335
|
+
lines.push(`images : ${String(report.effectivePlatforms.length)} pinned` +
|
|
336
|
+
(emulatedCount > 0 ? `, ${String(emulatedCount)} EMULATED` : ''));
|
|
337
|
+
for (const auth of report.registryAuth) {
|
|
338
|
+
lines.push(`license : ${auth.host} — ${auth.outcome}`);
|
|
339
|
+
}
|
|
340
|
+
for (const probe of report.registryProbes) {
|
|
341
|
+
lines.push(`registry : ${probe.target.host} — ${probe.outcome}`);
|
|
342
|
+
}
|
|
343
|
+
for (const notice of report.emulationNotices) {
|
|
344
|
+
lines.push('');
|
|
345
|
+
lines.push(`!! EMULATED EXECUTION AUTHORIZED — ${String(notice.services.length)} service(s) run under ` +
|
|
346
|
+
`emulation: their images ship only ${notice.declared.map(host_platform_1.formatDeclaredPlatform).join(', ')}.`);
|
|
347
|
+
lines.push(` services: ${notice.services.join(', ')}`);
|
|
348
|
+
lines.push(' Expect materially slower startup and runtime. This is not a supported');
|
|
349
|
+
lines.push(' production configuration — use a distribution built for this architecture.');
|
|
350
|
+
}
|
|
351
|
+
for (const probe of report.registryProbes) {
|
|
352
|
+
if (probe.outcome === RegistryProbeOutcome.Unverified) {
|
|
353
|
+
lines.push('');
|
|
354
|
+
lines.push(`!! registry ${probe.target.host} UNVERIFIED: ${probe.detail}`);
|
|
355
|
+
lines.push(` ${probe.remediation}`);
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
return lines.join('\n');
|
|
359
|
+
}
|
|
360
|
+
//# sourceMappingURL=container-preflight.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"container-preflight.js","sourceRoot":"","sources":["../../../src/runtime/runner/container-preflight.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,28 @@
|
|
|
1
|
+
import { DockerCli } from './docker-cli';
|
|
1
2
|
import { ServiceRunnerKind, type RunningService, type ServiceRunner, type StartServiceInput } from './service-runner';
|
|
3
|
+
import type { RosterEntry } from '../roster';
|
|
4
|
+
export declare const DEFAULT_CONTAINER_SERVICE_PORT = 3000;
|
|
2
5
|
export interface ContainerRunnerOptions {
|
|
3
6
|
readonly bin?: string;
|
|
4
7
|
readonly network: string;
|
|
5
8
|
readonly containerPort: number;
|
|
9
|
+
readonly distributionLockPath: string;
|
|
6
10
|
}
|
|
11
|
+
export interface DockerEnvironmentMaterialization {
|
|
12
|
+
readonly args: readonly string[];
|
|
13
|
+
readonly processEnv: NodeJS.ProcessEnv;
|
|
14
|
+
}
|
|
15
|
+
export declare function materializeDockerEnvironment(env: Readonly<Record<string, string>>, parentEnv?: NodeJS.ProcessEnv): DockerEnvironmentMaterialization;
|
|
16
|
+
export declare function containerImageForRosterEntry(entry: Pick<RosterEntry, 'name' | 'imageRef' | 'imageTag'>): string;
|
|
17
|
+
export declare function containerNameForWorkload(installationId: string, workloadName: string): string;
|
|
18
|
+
export declare function reconcileInstallationServiceContainers(installationId: string, docker?: Pick<DockerCli, 'launcherServiceContainersStrict' | 'run'>): Promise<void>;
|
|
7
19
|
export declare class ContainerRunner implements ServiceRunner {
|
|
8
20
|
private readonly opts;
|
|
9
21
|
readonly kind = ServiceRunnerKind.Container;
|
|
10
22
|
private readonly docker;
|
|
23
|
+
private runtimePlatform;
|
|
11
24
|
constructor(opts: ContainerRunnerOptions);
|
|
25
|
+
private hostPlatform;
|
|
12
26
|
start(input: StartServiceInput): Promise<RunningService>;
|
|
13
27
|
}
|
|
14
28
|
//# sourceMappingURL=container-runner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"container-runner.d.ts","sourceRoot":"","sources":["../../../src/runtime/runner/container-runner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"container-runner.d.ts","sourceRoot":"","sources":["../../../src/runtime/runner/container-runner.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,SAAS,EAMV,MAAM,cAAc,CAAC;AAOtB,OAAO,EACL,iBAAiB,EACjB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACvB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7C,eAAO,MAAM,8BAA8B,OAAQ,CAAC;AAYpD,MAAM,WAAW,sBAAsB;IAErC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAEtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAS/B,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;CACvC;AAED,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC;CACxC;AAED,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EACrC,SAAS,GAAE,MAAM,CAAC,UAAwB,GACzC,gCAAgC,CAWlC;AAED,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,UAAU,GAAG,UAAU,CAAC,GACzD,MAAM,CAUR;AAED,wBAAgB,wBAAwB,CACtC,cAAc,EAAE,MAAM,EACtB,YAAY,EAAE,MAAM,GACnB,MAAM,CAmBR;AAED,wBAAsB,sCAAsC,CAC1D,cAAc,EAAE,MAAM,EACtB,MAAM,GAAE,IAAI,CAAC,SAAS,EAAE,iCAAiC,GAAG,KAAK,CAChD,GAChB,OAAO,CAAC,IAAI,CAAC,CAYf;AAED,qBAAa,eAAgB,YAAW,aAAa;IAWvC,OAAO,CAAC,QAAQ,CAAC,IAAI;IAVjC,QAAQ,CAAC,IAAI,+BAA+B;IAC5C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAY;IAOnC,OAAO,CAAC,eAAe,CAAwC;gBAElC,IAAI,EAAE,sBAAsB;IAIzD,OAAO,CAAC,YAAY;IAKd,KAAK,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,cAAc,CAAC;CA4G/D"}
|