@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 @@
|
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../src/runtime/installation/validators/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAE/E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAE1D,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,sBAAsB,GACnC,SAAS,iBAAiB,EAAE,CAwC9B"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateUniqueEntries = validateUniqueEntries;
|
|
4
|
+
const diagnostics_1 = require("../diagnostics");
|
|
5
|
+
function validateUniqueEntries(installation) {
|
|
6
|
+
return [
|
|
7
|
+
...duplicateIssues(installation.spec.infrastructure.map((binding) => binding.component), 'spec.infrastructure', 'DUPLICATE_INFRASTRUCTURE_COMPONENT'),
|
|
8
|
+
...duplicateIssues(installation.spec.secrets.map((secret) => secret.name), 'spec.secrets', 'DUPLICATE_SECRET_REFERENCE'),
|
|
9
|
+
...duplicateIssues(installation.spec.domains.map((domain) => `${domain.purpose}:${domain.hostname}`), 'spec.domains', 'DUPLICATE_DOMAIN'),
|
|
10
|
+
...duplicateIssues(installation.spec.target.zones ?? [], 'spec.target.zones', 'DUPLICATE_ZONE'),
|
|
11
|
+
...duplicateIssues(installation.spec.sources.map((source) => source.name), 'spec.sources', 'DUPLICATE_SOURCE'),
|
|
12
|
+
...duplicateIssues(installation.spec.features.include, 'spec.features.include', 'DUPLICATE_FEATURE_INCLUDE'),
|
|
13
|
+
...duplicateIssues(installation.spec.features.exclude, 'spec.features.exclude', 'DUPLICATE_FEATURE_EXCLUDE'),
|
|
14
|
+
];
|
|
15
|
+
}
|
|
16
|
+
function duplicateIssues(values, path, code) {
|
|
17
|
+
const seen = new Set();
|
|
18
|
+
const duplicates = new Set();
|
|
19
|
+
for (const value of values) {
|
|
20
|
+
if (seen.has(value)) {
|
|
21
|
+
duplicates.add(value);
|
|
22
|
+
}
|
|
23
|
+
seen.add(value);
|
|
24
|
+
}
|
|
25
|
+
return [...duplicates].sort().map((value) => ({
|
|
26
|
+
kind: diagnostics_1.InstallationIssueKind.Invalid,
|
|
27
|
+
code,
|
|
28
|
+
path,
|
|
29
|
+
message: `contains duplicate entry "${value}"`,
|
|
30
|
+
}));
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=common.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../src/runtime/installation/validators/common.ts"],"names":[],"mappings":";;AAIA,sDA0CC;AA9CD,gDAA+E;AAI/E,SAAgB,qBAAqB,CACnC,YAAoC;IAEpC,OAAO;QACL,GAAG,eAAe,CAChB,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,EACpE,qBAAqB,EACrB,oCAAoC,CACrC;QACD,GAAG,eAAe,CAChB,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EACtD,cAAc,EACd,4BAA4B,CAC7B;QACD,GAAG,eAAe,CAChB,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAC3B,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CACnD,EACD,cAAc,EACd,kBAAkB,CACnB;QACD,GAAG,eAAe,CAChB,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,EACpC,mBAAmB,EACnB,gBAAgB,CACjB;QACD,GAAG,eAAe,CAChB,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EACtD,cAAc,EACd,kBAAkB,CACnB;QACD,GAAG,eAAe,CAChB,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAClC,uBAAuB,EACvB,2BAA2B,CAC5B;QACD,GAAG,eAAe,CAChB,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAClC,uBAAuB,EACvB,2BAA2B,CAC5B;KACF,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CACtB,MAAyB,EACzB,IAAY,EACZ,IAAY;IAEZ,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACpB,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC5C,IAAI,EAAE,mCAAqB,CAAC,OAAO;QACnC,IAAI;QACJ,IAAI;QACJ,OAAO,EAAE,6BAA6B,KAAK,GAAG;KAC/C,CAAC,CAAC,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { type InstallationIssue } from '../diagnostics';
|
|
2
|
+
import type { ParsedXemaInstallation } from '../contract';
|
|
3
|
+
export declare function validateInfrastructure(installation: ParsedXemaInstallation): readonly InstallationIssue[];
|
|
4
|
+
//# sourceMappingURL=infrastructure.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"infrastructure.d.ts","sourceRoot":"","sources":["../../../../src/runtime/installation/validators/infrastructure.ts"],"names":[],"mappings":"AAGA,OAAO,EAAyB,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAE/E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAE1D,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,sBAAsB,GACnC,SAAS,iBAAiB,EAAE,CA6E9B"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateInfrastructure = validateInfrastructure;
|
|
4
|
+
const schema_1 = require("../../config/schema");
|
|
5
|
+
const infra_catalog_1 = require("../../infra/infra-catalog");
|
|
6
|
+
const url_security_1 = require("../../secrets/url-security");
|
|
7
|
+
const diagnostics_1 = require("../diagnostics");
|
|
8
|
+
function validateInfrastructure(installation) {
|
|
9
|
+
const issues = [];
|
|
10
|
+
for (const binding of installation.spec.infrastructure) {
|
|
11
|
+
const path = `spec.infrastructure.${binding.component}`;
|
|
12
|
+
if (binding.ownership === schema_1.InfraMode.External &&
|
|
13
|
+
binding.endpoint === undefined) {
|
|
14
|
+
issues.push({
|
|
15
|
+
kind: diagnostics_1.InstallationIssueKind.Unresolved,
|
|
16
|
+
code: 'EXTERNAL_ENDPOINT_REQUIRED',
|
|
17
|
+
path: `${path}.endpoint`,
|
|
18
|
+
message: 'external infrastructure requires an endpoint',
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
if (binding.component === schema_1.InfraComponent.Postgres &&
|
|
22
|
+
binding.ownership === schema_1.InfraMode.External &&
|
|
23
|
+
binding.secretRefs.length !== 1) {
|
|
24
|
+
issues.push({
|
|
25
|
+
kind: diagnostics_1.InstallationIssueKind.Unresolved,
|
|
26
|
+
code: 'POSTGRES_SECRET_REFERENCE_REQUIRED',
|
|
27
|
+
path: `${path}.secretRefs`,
|
|
28
|
+
message: 'external PostgreSQL requires exactly one password secret reference',
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
if (binding.ownership !== schema_1.InfraMode.External &&
|
|
32
|
+
binding.endpoint !== undefined) {
|
|
33
|
+
issues.push({
|
|
34
|
+
kind: diagnostics_1.InstallationIssueKind.Invalid,
|
|
35
|
+
code: 'ENDPOINT_NOT_ALLOWED',
|
|
36
|
+
path: `${path}.endpoint`,
|
|
37
|
+
message: `endpoint is not allowed for ${binding.ownership} infrastructure`,
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
if (binding.ownership === schema_1.InfraMode.Disabled &&
|
|
41
|
+
infra_catalog_1.INFRA_CATALOG[binding.component].mandatory) {
|
|
42
|
+
issues.push({
|
|
43
|
+
kind: diagnostics_1.InstallationIssueKind.Invalid,
|
|
44
|
+
code: 'MANDATORY_INFRASTRUCTURE_DISABLED',
|
|
45
|
+
path: `${path}.ownership`,
|
|
46
|
+
message: 'mandatory infrastructure cannot be disabled',
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
if (binding.endpoint !== undefined) {
|
|
50
|
+
validateEndpoint(binding.endpoint, `${path}.endpoint`, issues);
|
|
51
|
+
}
|
|
52
|
+
if (binding.realm !== undefined &&
|
|
53
|
+
binding.component !== schema_1.InfraComponent.Keycloak) {
|
|
54
|
+
issues.push({
|
|
55
|
+
kind: diagnostics_1.InstallationIssueKind.Invalid,
|
|
56
|
+
code: 'REALM_COMPONENT_INVALID',
|
|
57
|
+
path: `${path}.realm`,
|
|
58
|
+
message: 'realm is only valid for identity infrastructure',
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
if (binding.bucketPrefix !== undefined &&
|
|
62
|
+
binding.component !== schema_1.InfraComponent.ObjectStore) {
|
|
63
|
+
issues.push({
|
|
64
|
+
kind: diagnostics_1.InstallationIssueKind.Invalid,
|
|
65
|
+
code: 'BUCKET_PREFIX_COMPONENT_INVALID',
|
|
66
|
+
path: `${path}.bucketPrefix`,
|
|
67
|
+
message: 'bucketPrefix is only valid for object-store infrastructure',
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
return issues;
|
|
72
|
+
}
|
|
73
|
+
function validateEndpoint(endpoint, path, issues) {
|
|
74
|
+
let parsed;
|
|
75
|
+
try {
|
|
76
|
+
parsed = new URL(endpoint);
|
|
77
|
+
}
|
|
78
|
+
catch {
|
|
79
|
+
issues.push({
|
|
80
|
+
kind: diagnostics_1.InstallationIssueKind.Invalid,
|
|
81
|
+
code: 'ENDPOINT_INVALID',
|
|
82
|
+
path,
|
|
83
|
+
message: 'must be an absolute URL',
|
|
84
|
+
});
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
if ((0, url_security_1.urlContainsCredentialMaterial)(parsed)) {
|
|
88
|
+
issues.push({
|
|
89
|
+
kind: diagnostics_1.InstallationIssueKind.Invalid,
|
|
90
|
+
code: 'SECRET_VALUE_IN_ENDPOINT',
|
|
91
|
+
path,
|
|
92
|
+
message: 'must reference credentials through secretRefs, never inline values',
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=infrastructure.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"infrastructure.js","sourceRoot":"","sources":["../../../../src/runtime/installation/validators/infrastructure.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { type ParsedXemaInstallation } from '../contract';
|
|
2
|
+
import { type InstallationIssue } from '../diagnostics';
|
|
3
|
+
export declare function validateOperationalPolicy(installation: ParsedXemaInstallation): readonly InstallationIssue[];
|
|
4
|
+
//# sourceMappingURL=operational.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operational.d.ts","sourceRoot":"","sources":["../../../../src/runtime/installation/validators/operational.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,sBAAsB,EAC5B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAyB,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAE/E,wBAAgB,yBAAyB,CACvC,YAAY,EAAE,sBAAsB,GACnC,SAAS,iBAAiB,EAAE,CA+J9B"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateOperationalPolicy = validateOperationalPolicy;
|
|
4
|
+
const contract_1 = require("../contract");
|
|
5
|
+
const diagnostics_1 = require("../diagnostics");
|
|
6
|
+
function validateOperationalPolicy(installation) {
|
|
7
|
+
const spec = installation.spec;
|
|
8
|
+
const issues = [];
|
|
9
|
+
if (spec.features.selection === contract_1.FeatureSelectionMode.Explicit &&
|
|
10
|
+
spec.features.include.length === 0) {
|
|
11
|
+
issues.push(issue('FEATURE_INCLUDE_REQUIRED', 'spec.features.include', 'explicit feature selection requires at least one included roster entry', diagnostics_1.InstallationIssueKind.Unresolved));
|
|
12
|
+
}
|
|
13
|
+
if (spec.features.selection !== undefined &&
|
|
14
|
+
spec.features.selection !== contract_1.FeatureSelectionMode.Explicit &&
|
|
15
|
+
spec.features.include.length > 0) {
|
|
16
|
+
issues.push(issue('FEATURE_INCLUDE_NOT_ALLOWED', 'spec.features.include', 'feature include entries are only valid with explicit selection'));
|
|
17
|
+
}
|
|
18
|
+
if (spec.storage.class === contract_1.StorageClass.External &&
|
|
19
|
+
spec.storage.externalBinding === undefined) {
|
|
20
|
+
issues.push(issue('EXTERNAL_STORAGE_BINDING_REQUIRED', 'spec.storage.externalBinding', 'external storage requires a binding reference', diagnostics_1.InstallationIssueKind.Unresolved));
|
|
21
|
+
}
|
|
22
|
+
if (spec.storage.class !== contract_1.StorageClass.External &&
|
|
23
|
+
spec.storage.externalBinding !== undefined) {
|
|
24
|
+
issues.push(issue('EXTERNAL_STORAGE_BINDING_NOT_ALLOWED', 'spec.storage.externalBinding', 'externalBinding is only valid for external storage'));
|
|
25
|
+
}
|
|
26
|
+
if (spec.recovery.mode === contract_1.BackupMode.Disabled &&
|
|
27
|
+
spec.recovery.destinationSecretRef !== undefined) {
|
|
28
|
+
issues.push(issue('BACKUP_DESTINATION_NOT_ALLOWED', 'spec.recovery.destinationSecretRef', 'a disabled recovery policy cannot declare a destination'));
|
|
29
|
+
}
|
|
30
|
+
if (spec.profile === contract_1.InstallationProfile.EnterpriseRegulated &&
|
|
31
|
+
spec.recovery.mode !== undefined &&
|
|
32
|
+
spec.recovery.mode !== contract_1.BackupMode.Continuous) {
|
|
33
|
+
issues.push(issue('REGULATED_BACKUP_REQUIRED', 'spec.recovery.mode', 'enterprise-regulated installations require continuous backup'));
|
|
34
|
+
}
|
|
35
|
+
if (spec.profile === contract_1.InstallationProfile.EnterpriseRegulated &&
|
|
36
|
+
spec.domains.some((domain) => domain.tls.mode === contract_1.TlsMode.Disabled)) {
|
|
37
|
+
issues.push(issue('REGULATED_TLS_REQUIRED', 'spec.domains', 'enterprise-regulated installation domains require TLS'));
|
|
38
|
+
}
|
|
39
|
+
for (const domain of spec.domains) {
|
|
40
|
+
const path = `spec.domains.${domain.purpose}.${domain.hostname}.tls.secretRef`;
|
|
41
|
+
if (domain.tls.mode === contract_1.TlsMode.External &&
|
|
42
|
+
domain.tls.secretRef === undefined) {
|
|
43
|
+
issues.push(issue('EXTERNAL_TLS_SECRET_REQUIRED', path, 'external TLS requires a certificate secret reference', diagnostics_1.InstallationIssueKind.Unresolved));
|
|
44
|
+
}
|
|
45
|
+
if (domain.tls.mode !== contract_1.TlsMode.External &&
|
|
46
|
+
domain.tls.secretRef !== undefined) {
|
|
47
|
+
issues.push(issue('TLS_SECRET_NOT_ALLOWED', path, `a ${domain.tls.mode} TLS policy cannot declare an external certificate secret`));
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
if (spec.capacity.minReplicas !== undefined &&
|
|
51
|
+
spec.capacity.maxReplicas !== undefined &&
|
|
52
|
+
spec.capacity.minReplicas > spec.capacity.maxReplicas) {
|
|
53
|
+
issues.push(issue('CAPACITY_RANGE_INVALID', 'spec.capacity', 'minReplicas cannot exceed maxReplicas'));
|
|
54
|
+
}
|
|
55
|
+
if (spec.upgrade.channel === contract_1.UpgradeChannel.Pinned &&
|
|
56
|
+
spec.upgrade.releaseRef === undefined) {
|
|
57
|
+
issues.push(issue('PINNED_RELEASE_REQUIRED', 'spec.upgrade.releaseRef', 'pinned upgrade channel requires a releaseRef', diagnostics_1.InstallationIssueKind.Unresolved));
|
|
58
|
+
}
|
|
59
|
+
if (spec.upgrade.channel !== contract_1.UpgradeChannel.Pinned &&
|
|
60
|
+
spec.upgrade.releaseRef !== undefined) {
|
|
61
|
+
issues.push(issue('RELEASE_REF_NOT_ALLOWED', 'spec.upgrade.releaseRef', 'releaseRef is only valid for the pinned upgrade channel'));
|
|
62
|
+
}
|
|
63
|
+
return issues;
|
|
64
|
+
}
|
|
65
|
+
function issue(code, path, message, kind = diagnostics_1.InstallationIssueKind.Invalid) {
|
|
66
|
+
return { kind, code, path, message };
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=operational.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operational.js","sourceRoot":"","sources":["../../../../src/runtime/installation/validators/operational.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../../../src/runtime/installation/validators/profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,sBAAsB,EAC5B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAyB,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AA4B/E,wBAAgB,eAAe,CAC7B,YAAY,EAAE,sBAAsB,GACnC,SAAS,iBAAiB,EAAE,CA2D9B"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateProfile = validateProfile;
|
|
4
|
+
const contract_1 = require("../contract");
|
|
5
|
+
const diagnostics_1 = require("../diagnostics");
|
|
6
|
+
const PROFILE_TARGETS = {
|
|
7
|
+
[contract_1.InstallationProfile.Developer]: [contract_1.InstallationTargetKind.LocalMachine],
|
|
8
|
+
[contract_1.InstallationProfile.Starter]: [
|
|
9
|
+
contract_1.InstallationTargetKind.LocalMachine,
|
|
10
|
+
contract_1.InstallationTargetKind.SingleNodeKubernetes,
|
|
11
|
+
],
|
|
12
|
+
[contract_1.InstallationProfile.SingleNodeProduction]: [
|
|
13
|
+
contract_1.InstallationTargetKind.SingleNodeKubernetes,
|
|
14
|
+
contract_1.InstallationTargetKind.CustomerKubernetes,
|
|
15
|
+
],
|
|
16
|
+
[contract_1.InstallationProfile.BusinessHa]: [
|
|
17
|
+
contract_1.InstallationTargetKind.CustomerKubernetes,
|
|
18
|
+
contract_1.InstallationTargetKind.HostedCell,
|
|
19
|
+
],
|
|
20
|
+
[contract_1.InstallationProfile.EnterpriseRegulated]: [
|
|
21
|
+
contract_1.InstallationTargetKind.CustomerKubernetes,
|
|
22
|
+
contract_1.InstallationTargetKind.HostedCell,
|
|
23
|
+
],
|
|
24
|
+
[contract_1.InstallationProfile.HostedCell]: [
|
|
25
|
+
contract_1.InstallationTargetKind.CustomerKubernetes,
|
|
26
|
+
contract_1.InstallationTargetKind.HostedCell,
|
|
27
|
+
],
|
|
28
|
+
};
|
|
29
|
+
function validateProfile(installation) {
|
|
30
|
+
const issues = [];
|
|
31
|
+
const spec = installation.spec;
|
|
32
|
+
const target = spec.target.kind;
|
|
33
|
+
if (target !== undefined && !PROFILE_TARGETS[spec.profile].includes(target)) {
|
|
34
|
+
issues.push({
|
|
35
|
+
kind: diagnostics_1.InstallationIssueKind.Invalid,
|
|
36
|
+
code: 'PROFILE_TARGET_MISMATCH',
|
|
37
|
+
path: 'spec.target.kind',
|
|
38
|
+
message: `${spec.profile} does not support target ${target}`,
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
if ((spec.target.zones?.length ?? 0) > 0 &&
|
|
42
|
+
spec.target.region === undefined) {
|
|
43
|
+
issues.push({
|
|
44
|
+
kind: diagnostics_1.InstallationIssueKind.Unresolved,
|
|
45
|
+
code: 'TARGET_REGION_REQUIRED',
|
|
46
|
+
path: 'spec.target.region',
|
|
47
|
+
message: 'explicit zones require one explicit target region',
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
if (spec.profile === contract_1.InstallationProfile.EnterpriseRegulated &&
|
|
51
|
+
spec.tenancy.isolation === contract_1.TenantIsolation.Shared) {
|
|
52
|
+
issues.push({
|
|
53
|
+
kind: diagnostics_1.InstallationIssueKind.Invalid,
|
|
54
|
+
code: 'REGULATED_SHARED_ISOLATION',
|
|
55
|
+
path: 'spec.tenancy.isolation',
|
|
56
|
+
message: 'enterprise-regulated installations cannot use shared isolation',
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
if (spec.profile === contract_1.InstallationProfile.HostedCell &&
|
|
60
|
+
spec.operator.kind !== undefined &&
|
|
61
|
+
spec.operator.kind !== contract_1.InstallationOperatorKind.Platform) {
|
|
62
|
+
issues.push({
|
|
63
|
+
kind: diagnostics_1.InstallationIssueKind.Invalid,
|
|
64
|
+
code: 'HOSTED_CELL_OPERATOR_INVALID',
|
|
65
|
+
path: 'spec.operator.kind',
|
|
66
|
+
message: 'hosted-cell installations require the platform operator',
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
if (spec.profile === contract_1.InstallationProfile.Developer &&
|
|
70
|
+
spec.lifecycle.environment === contract_1.LifecycleEnvironment.Production) {
|
|
71
|
+
issues.push({
|
|
72
|
+
kind: diagnostics_1.InstallationIssueKind.Invalid,
|
|
73
|
+
code: 'DEVELOPER_PRODUCTION_INVALID',
|
|
74
|
+
path: 'spec.lifecycle.environment',
|
|
75
|
+
message: 'the developer profile cannot be used for a production lifecycle environment',
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
return issues;
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=profile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profile.js","sourceRoot":"","sources":["../../../../src/runtime/installation/validators/profile.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { type ParsedXemaInstallation } from '../contract';
|
|
2
|
+
import { type InstallationIssue } from '../diagnostics';
|
|
3
|
+
export declare function validateSecretReferences(installation: ParsedXemaInstallation): readonly InstallationIssue[];
|
|
4
|
+
//# sourceMappingURL=secrets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secrets.d.ts","sourceRoot":"","sources":["../../../../src/runtime/installation/validators/secrets.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,sBAAsB,EAC5B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAyB,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAE/E,wBAAgB,wBAAwB,CACtC,YAAY,EAAE,sBAAsB,GACnC,SAAS,iBAAiB,EAAE,CAmD9B"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateSecretReferences = validateSecretReferences;
|
|
4
|
+
const contract_1 = require("../contract");
|
|
5
|
+
const diagnostics_1 = require("../diagnostics");
|
|
6
|
+
function validateSecretReferences(installation) {
|
|
7
|
+
const issues = [];
|
|
8
|
+
const declared = new Set(installation.spec.secrets.map((secret) => secret.name));
|
|
9
|
+
const referenced = collectReferences(installation);
|
|
10
|
+
for (const reference of referenced) {
|
|
11
|
+
if (!declared.has(reference.ref)) {
|
|
12
|
+
issues.push({
|
|
13
|
+
kind: diagnostics_1.InstallationIssueKind.Unresolved,
|
|
14
|
+
code: 'SECRET_REFERENCE_UNRESOLVED',
|
|
15
|
+
path: reference.path,
|
|
16
|
+
message: `references undeclared secret "${reference.ref}"`,
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
const interactive = installation.spec.secrets.filter((secret) => secret.provider === contract_1.SecretReferenceProvider.Environment ||
|
|
21
|
+
secret.provider === contract_1.SecretReferenceProvider.File ||
|
|
22
|
+
secret.provider === contract_1.SecretReferenceProvider.Prompt);
|
|
23
|
+
if (interactive.length > 0 &&
|
|
24
|
+
(installation.spec.profile !== contract_1.InstallationProfile.Developer &&
|
|
25
|
+
installation.spec.profile !== contract_1.InstallationProfile.Starter)) {
|
|
26
|
+
issues.push({
|
|
27
|
+
kind: diagnostics_1.InstallationIssueKind.Invalid,
|
|
28
|
+
code: 'DEVELOPER_SECRET_WORKFLOW_REQUIRED',
|
|
29
|
+
path: 'spec.secrets',
|
|
30
|
+
message: 'environment, file, and prompt bindings are restricted to developer or starter setup workflows',
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
if (interactive.length > 0 &&
|
|
34
|
+
installation.spec.lifecycle.environment !==
|
|
35
|
+
contract_1.LifecycleEnvironment.Development) {
|
|
36
|
+
issues.push({
|
|
37
|
+
kind: diagnostics_1.InstallationIssueKind.Invalid,
|
|
38
|
+
code: 'DEVELOPER_SECRET_WORKFLOW_REQUIRED',
|
|
39
|
+
path: 'spec.secrets',
|
|
40
|
+
message: 'environment, file, and prompt bindings require a development lifecycle and the explicit developer-interactive workflow',
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
return issues;
|
|
44
|
+
}
|
|
45
|
+
function collectReferences(installation) {
|
|
46
|
+
const referenced = [];
|
|
47
|
+
for (const binding of installation.spec.infrastructure) {
|
|
48
|
+
for (const ref of binding.secretRefs) {
|
|
49
|
+
referenced.push({
|
|
50
|
+
ref,
|
|
51
|
+
path: `spec.infrastructure.${binding.component}.secretRefs`,
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
for (const domain of installation.spec.domains) {
|
|
56
|
+
if (domain.tls.secretRef !== undefined) {
|
|
57
|
+
referenced.push({
|
|
58
|
+
ref: domain.tls.secretRef,
|
|
59
|
+
path: `spec.domains.${domain.purpose}.${domain.hostname}.tls.secretRef`,
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
if (installation.spec.recovery.destinationSecretRef !== undefined) {
|
|
64
|
+
referenced.push({
|
|
65
|
+
ref: installation.spec.recovery.destinationSecretRef,
|
|
66
|
+
path: 'spec.recovery.destinationSecretRef',
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
if (installation.spec.observability.exportSecretRef !== undefined) {
|
|
70
|
+
referenced.push({
|
|
71
|
+
ref: installation.spec.observability.exportSecretRef,
|
|
72
|
+
path: 'spec.observability.exportSecretRef',
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
for (const source of installation.spec.sources) {
|
|
76
|
+
if ('authSecretRef' in source && source.authSecretRef !== undefined) {
|
|
77
|
+
referenced.push({
|
|
78
|
+
ref: source.authSecretRef,
|
|
79
|
+
path: `spec.sources.${source.name}.authSecretRef`,
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return referenced;
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=secrets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secrets.js","sourceRoot":"","sources":["../../../../src/runtime/installation/validators/secrets.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"launch-plan-format.d.ts","sourceRoot":"","sources":["../../src/runtime/launch-plan-format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAQ3C,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAqEzD"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.formatLaunchPlan = formatLaunchPlan;
|
|
4
|
+
function formatLaunchPlan(plan) {
|
|
5
|
+
const lines = [];
|
|
6
|
+
const rule = '─'.repeat(72);
|
|
7
|
+
lines.push('xema — boot preview (dry run: nothing was started)');
|
|
8
|
+
lines.push(rule);
|
|
9
|
+
lines.push(`substrate : ${plan.substrate}`);
|
|
10
|
+
lines.push(`edition : ${plan.lock.path} (${plan.lock.source})`);
|
|
11
|
+
const managed = plan.infra.managed.length > 0
|
|
12
|
+
? plan.infra.managed.map((m) => m.component).join(', ')
|
|
13
|
+
: '(none — assumed already running)';
|
|
14
|
+
lines.push(`infra : ${managed}`);
|
|
15
|
+
if (plan.addedPrerequisites.length > 0) {
|
|
16
|
+
lines.push(`prereqs : +${String(plan.addedPrerequisites.length)} hard prerequisite(s) pulled in: ` +
|
|
17
|
+
plan.addedPrerequisites.join(', '));
|
|
18
|
+
}
|
|
19
|
+
if (plan.skippedOptionalBiomes.length > 0) {
|
|
20
|
+
lines.push(`optional : skipping optional biome(s) not explicitly included: ` +
|
|
21
|
+
`${plan.skippedOptionalBiomes.join(', ')} (add them to app.include, or use include: 'all')`);
|
|
22
|
+
}
|
|
23
|
+
if (plan.infraWarnings.length > 0) {
|
|
24
|
+
for (const w of plan.infraWarnings) {
|
|
25
|
+
lines.push(`warn : ${w}`);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
lines.push('');
|
|
29
|
+
lines.push(`services : ${String(plan.roster.length)} across ${String(plan.waves.length)} wave(s) ` +
|
|
30
|
+
`(waves boot in order; members within a wave boot concurrently)`);
|
|
31
|
+
lines.push(rule);
|
|
32
|
+
const nameWidth = Math.min(40, Math.max(20, ...plan.roster.map((e) => e.name.length)));
|
|
33
|
+
for (const wave of plan.waves) {
|
|
34
|
+
lines.push(`wave ${String(wave.index)} — ${wave.tier} (${String(wave.members.length)})`);
|
|
35
|
+
const members = [...wave.members].sort((a, b) => a.name.localeCompare(b.name));
|
|
36
|
+
for (const m of members) {
|
|
37
|
+
const port = plan.ports.get(m.name);
|
|
38
|
+
const portCol = port !== undefined ? `:${String(port)}` : '(image)';
|
|
39
|
+
const from = m.sourceRoot ?? m.servicePath ?? '';
|
|
40
|
+
const src = m.sourceName ? ` [${m.sourceName}]` : '';
|
|
41
|
+
lines.push(` ${m.name.padEnd(nameWidth)} ${portCol.padEnd(8)} ${from}${src}`.trimEnd());
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
if (plan.unresolvedSources.length > 0) {
|
|
45
|
+
lines.push(rule);
|
|
46
|
+
lines.push('unresolved (offline preview — would clone):');
|
|
47
|
+
for (const note of plan.unresolvedSources) {
|
|
48
|
+
lines.push(` ${note}`);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
lines.push(rule);
|
|
52
|
+
lines.push('Native services run compiled dist/main.js — build changed services first ' +
|
|
53
|
+
'(`pnpm --filter <svc> build`) or use `xema dev --watch`.');
|
|
54
|
+
lines.push('Re-run without --dry-run to boot.');
|
|
55
|
+
return lines.join('\n');
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=launch-plan-format.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"launch-plan-format.js","sourceRoot":"","sources":["../../src/runtime/launch-plan-format.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime/launch.d.ts
CHANGED
|
@@ -1,22 +1,54 @@
|
|
|
1
|
-
import { type XemaConfig } from './config/schema';
|
|
1
|
+
import { Substrate, type XemaConfig } from './config/schema';
|
|
2
|
+
import { resolveInfraPlan } from './infra/infra-plan';
|
|
2
3
|
import { type RosterEntry, type RosterInclude, type RosterSelection } from './roster';
|
|
3
4
|
import { type BringUpResult, type LifecycleEvent } from './supervisor';
|
|
5
|
+
import { deriveWaves } from './waves';
|
|
6
|
+
import type { HelmReleaseRendering } from './installation/helm-release';
|
|
4
7
|
export interface LaunchOptions {
|
|
5
8
|
readonly config: XemaConfig;
|
|
6
9
|
readonly includeWeb: boolean;
|
|
10
|
+
readonly installationIdentity?: string;
|
|
11
|
+
readonly installationId?: string;
|
|
7
12
|
readonly lockPathOverride?: string | undefined;
|
|
8
13
|
readonly bootGraphPathOverride?: string | undefined;
|
|
9
14
|
readonly onEvent?: (event: LifecycleEvent) => void;
|
|
10
15
|
readonly log?: (line: string) => void;
|
|
16
|
+
readonly planHash?: string;
|
|
17
|
+
readonly offline?: boolean;
|
|
18
|
+
readonly includeBiomes?: readonly string[];
|
|
19
|
+
readonly helmRelease?: HelmReleaseRendering;
|
|
20
|
+
readonly allowEmulatedPlatform?: boolean;
|
|
11
21
|
}
|
|
12
22
|
export interface LaunchHandle {
|
|
13
23
|
readonly result: BringUpResult;
|
|
24
|
+
readonly plan: LaunchPlan;
|
|
25
|
+
readonly installationId: string;
|
|
26
|
+
readonly planHash: string;
|
|
27
|
+
readonly executionId: string;
|
|
14
28
|
readonly roster: readonly RosterEntry[];
|
|
15
29
|
shutdown(): Promise<void>;
|
|
16
30
|
}
|
|
17
|
-
export
|
|
31
|
+
export interface LaunchPlan {
|
|
32
|
+
readonly substrate: Substrate;
|
|
33
|
+
readonly lock: {
|
|
34
|
+
readonly path: string;
|
|
35
|
+
readonly source: string;
|
|
36
|
+
};
|
|
37
|
+
readonly roster: readonly RosterEntry[];
|
|
38
|
+
readonly waves: ReturnType<typeof deriveWaves>;
|
|
39
|
+
readonly ports: ReadonlyMap<string, number>;
|
|
40
|
+
readonly infra: ReturnType<typeof resolveInfraPlan>;
|
|
41
|
+
readonly addedPrerequisites: readonly string[];
|
|
42
|
+
readonly skippedOptionalBiomes: readonly string[];
|
|
43
|
+
readonly infraWarnings: readonly string[];
|
|
44
|
+
readonly unresolvedSources: readonly string[];
|
|
45
|
+
readonly helmNamespace?: string;
|
|
46
|
+
}
|
|
47
|
+
export declare function resolveLaunchPlan(opts: LaunchOptions): LaunchPlan;
|
|
48
|
+
export declare function unionIncludeServices(include: RosterInclude, services: readonly string[]): RosterInclude;
|
|
49
|
+
export declare function launch(opts: LaunchOptions, preResolved?: LaunchPlan): Promise<LaunchHandle>;
|
|
18
50
|
export declare function buildSelection(config: XemaConfig, includeWeb: boolean): RosterSelection;
|
|
19
|
-
export declare function normalizeInclude(include: 'all' | readonly string[], features: readonly string[]): RosterInclude;
|
|
51
|
+
export declare function normalizeInclude(include: 'all' | 'default' | 'minimal' | readonly string[], features: readonly string[]): RosterInclude;
|
|
20
52
|
export declare function splitIncludeTokens(tokens: readonly string[]): {
|
|
21
53
|
tiers: string[];
|
|
22
54
|
services: string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"launch.d.ts","sourceRoot":"","sources":["../../src/runtime/launch.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"launch.d.ts","sourceRoot":"","sources":["../../src/runtime/launch.ts"],"names":[],"mappings":"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"}
|