@xemahq/xema 0.14.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.
Files changed (418) hide show
  1. package/README.md +23 -2
  2. package/dist/assets/appliance-base/distribution.lock.json +5144 -0
  3. package/dist/assets/appliance-base/images.lock.json +1706 -0
  4. package/dist/assets/appliance-lean/distribution.lock.json +2888 -0
  5. package/dist/assets/appliance-lean/images.lock.json +1229 -0
  6. package/dist/assets/boot-graph.json +339 -29
  7. package/dist/assets/cloud/distribution.lock.json +5278 -0
  8. package/dist/assets/cloud/images.lock.json +1713 -0
  9. package/dist/assets/core/distribution.lock.json +1802 -125
  10. package/dist/assets/core/images.lock.json +1175 -235
  11. package/dist/assets/distribution-assets.manifest.json +147 -0
  12. package/dist/assets/keycloak/realm-xema.json +412 -0
  13. package/dist/assets/minimal/distribution.lock.json +2710 -0
  14. package/dist/assets/minimal/images.lock.json +1149 -0
  15. package/dist/assets/oss/distribution.lock.json +2438 -226
  16. package/dist/assets/oss/images.lock.json +1502 -618
  17. package/dist/assets/starter/distribution.lock.json +3422 -0
  18. package/dist/assets/starter/images.lock.json +1404 -0
  19. package/dist/cli.d.ts.map +1 -1
  20. package/dist/cli.js +4 -0
  21. package/dist/cli.js.map +1 -1
  22. package/dist/commands/apply.js +1 -1
  23. package/dist/commands/apply.js.map +1 -1
  24. package/dist/commands/biome.d.ts.map +1 -1
  25. package/dist/commands/biome.js +84 -7
  26. package/dist/commands/biome.js.map +1 -1
  27. package/dist/commands/canopy.js +1 -1
  28. package/dist/commands/canopy.js.map +1 -1
  29. package/dist/commands/dev.d.ts.map +1 -1
  30. package/dist/commands/dev.js +27 -5
  31. package/dist/commands/dev.js.map +1 -1
  32. package/dist/commands/dist.d.ts +13 -0
  33. package/dist/commands/dist.d.ts.map +1 -1
  34. package/dist/commands/dist.js +50 -10
  35. package/dist/commands/dist.js.map +1 -1
  36. package/dist/commands/doctor.d.ts +25 -0
  37. package/dist/commands/doctor.d.ts.map +1 -1
  38. package/dist/commands/doctor.js +422 -18
  39. package/dist/commands/doctor.js.map +1 -1
  40. package/dist/commands/down.d.ts +10 -0
  41. package/dist/commands/down.d.ts.map +1 -1
  42. package/dist/commands/down.js +81 -41
  43. package/dist/commands/down.js.map +1 -1
  44. package/dist/commands/export.js +1 -1
  45. package/dist/commands/export.js.map +1 -1
  46. package/dist/commands/import.js +1 -1
  47. package/dist/commands/import.js.map +1 -1
  48. package/dist/commands/init.d.ts.map +1 -1
  49. package/dist/commands/init.js +56 -3
  50. package/dist/commands/init.js.map +1 -1
  51. package/dist/commands/installation.d.ts.map +1 -1
  52. package/dist/commands/installation.js +169 -12
  53. package/dist/commands/installation.js.map +1 -1
  54. package/dist/commands/license.d.ts +3 -0
  55. package/dist/commands/license.d.ts.map +1 -0
  56. package/dist/commands/license.js +97 -0
  57. package/dist/commands/license.js.map +1 -0
  58. package/dist/commands/login.d.ts +4 -0
  59. package/dist/commands/login.d.ts.map +1 -0
  60. package/dist/commands/login.js +127 -0
  61. package/dist/commands/login.js.map +1 -0
  62. package/dist/commands/logs.d.ts +21 -0
  63. package/dist/commands/logs.d.ts.map +1 -1
  64. package/dist/commands/logs.js +131 -22
  65. package/dist/commands/logs.js.map +1 -1
  66. package/dist/commands/objects.js +2 -2
  67. package/dist/commands/objects.js.map +1 -1
  68. package/dist/commands/plan.js +1 -1
  69. package/dist/commands/plan.js.map +1 -1
  70. package/dist/commands/run.js +1 -1
  71. package/dist/commands/run.js.map +1 -1
  72. package/dist/commands/serve.d.ts.map +1 -1
  73. package/dist/commands/serve.js +39 -6
  74. package/dist/commands/serve.js.map +1 -1
  75. package/dist/commands/shell.js +1 -1
  76. package/dist/commands/shell.js.map +1 -1
  77. package/dist/commands/up.d.ts.map +1 -1
  78. package/dist/commands/up.js +20 -5
  79. package/dist/commands/up.js.map +1 -1
  80. package/dist/dev/env-defaults.d.ts +1 -0
  81. package/dist/dev/env-defaults.d.ts.map +1 -1
  82. package/dist/dev/env-defaults.js +15 -6
  83. package/dist/dev/env-defaults.js.map +1 -1
  84. package/dist/dev/forked-worker-bootstrap-protocol.d.ts +17 -0
  85. package/dist/dev/forked-worker-bootstrap-protocol.d.ts.map +1 -0
  86. package/dist/dev/forked-worker-bootstrap-protocol.js +35 -0
  87. package/dist/dev/forked-worker-bootstrap-protocol.js.map +1 -0
  88. package/dist/dev/forked-worker-bootstrap.d.ts +18 -0
  89. package/dist/dev/forked-worker-bootstrap.d.ts.map +1 -0
  90. package/dist/dev/forked-worker-bootstrap.js +84 -0
  91. package/dist/dev/forked-worker-bootstrap.js.map +1 -0
  92. package/dist/dev/forked-worker.d.ts +14 -0
  93. package/dist/dev/forked-worker.d.ts.map +1 -1
  94. package/dist/dev/forked-worker.js +200 -33
  95. package/dist/dev/forked-worker.js.map +1 -1
  96. package/dist/lib/control-plane.d.ts +5 -1
  97. package/dist/lib/control-plane.d.ts.map +1 -1
  98. package/dist/lib/control-plane.js +56 -6
  99. package/dist/lib/control-plane.js.map +1 -1
  100. package/dist/runtime/asset-provenance.d.ts +17 -0
  101. package/dist/runtime/asset-provenance.d.ts.map +1 -0
  102. package/dist/runtime/asset-provenance.js +29 -0
  103. package/dist/runtime/asset-provenance.js.map +1 -0
  104. package/dist/runtime/auth/client-bootstrap.d.ts +11 -0
  105. package/dist/runtime/auth/client-bootstrap.d.ts.map +1 -0
  106. package/dist/runtime/auth/client-bootstrap.js +60 -0
  107. package/dist/runtime/auth/client-bootstrap.js.map +1 -0
  108. package/dist/runtime/auth/device-flow.d.ts +43 -0
  109. package/dist/runtime/auth/device-flow.d.ts.map +1 -0
  110. package/dist/runtime/auth/device-flow.js +201 -0
  111. package/dist/runtime/auth/device-flow.js.map +1 -0
  112. package/dist/runtime/auth/session-auth.d.ts +8 -0
  113. package/dist/runtime/auth/session-auth.d.ts.map +1 -0
  114. package/dist/runtime/auth/session-auth.js +43 -0
  115. package/dist/runtime/auth/session-auth.js.map +1 -0
  116. package/dist/runtime/auth/session-store.d.ts +19 -0
  117. package/dist/runtime/auth/session-store.d.ts.map +1 -0
  118. package/dist/runtime/auth/session-store.js +83 -0
  119. package/dist/runtime/auth/session-store.js.map +1 -0
  120. package/dist/runtime/auth/token-claims.d.ts +2 -0
  121. package/dist/runtime/auth/token-claims.d.ts.map +1 -0
  122. package/dist/runtime/auth/token-claims.js +45 -0
  123. package/dist/runtime/auth/token-claims.js.map +1 -0
  124. package/dist/runtime/biome-provenance.d.ts +26 -0
  125. package/dist/runtime/biome-provenance.d.ts.map +1 -0
  126. package/dist/runtime/biome-provenance.js +70 -0
  127. package/dist/runtime/biome-provenance.js.map +1 -0
  128. package/dist/runtime/biome-publish.d.ts +14 -0
  129. package/dist/runtime/biome-publish.d.ts.map +1 -1
  130. package/dist/runtime/biome-publish.js +69 -5
  131. package/dist/runtime/biome-publish.js.map +1 -1
  132. package/dist/runtime/biome-scaffold.d.ts.map +1 -1
  133. package/dist/runtime/biome-scaffold.js +0 -2
  134. package/dist/runtime/biome-scaffold.js.map +1 -1
  135. package/dist/runtime/biome-validate.d.ts.map +1 -1
  136. package/dist/runtime/biome-validate.js +4 -2
  137. package/dist/runtime/biome-validate.js.map +1 -1
  138. package/dist/runtime/cleanup.d.ts +10 -0
  139. package/dist/runtime/cleanup.d.ts.map +1 -0
  140. package/dist/runtime/cleanup.js +35 -0
  141. package/dist/runtime/cleanup.js.map +1 -0
  142. package/dist/runtime/config/init-presets.d.ts.map +1 -1
  143. package/dist/runtime/config/init-presets.js +6 -3
  144. package/dist/runtime/config/init-presets.js.map +1 -1
  145. package/dist/runtime/distribution/available-biome.d.ts.map +1 -1
  146. package/dist/runtime/distribution/available-biome.js +2 -0
  147. package/dist/runtime/distribution/available-biome.js.map +1 -1
  148. package/dist/runtime/distribution/compose.d.ts +2 -1
  149. package/dist/runtime/distribution/compose.d.ts.map +1 -1
  150. package/dist/runtime/distribution/compose.js +1 -0
  151. package/dist/runtime/distribution/compose.js.map +1 -1
  152. package/dist/runtime/env-seeder.d.ts.map +1 -1
  153. package/dist/runtime/env-seeder.js +44 -13
  154. package/dist/runtime/env-seeder.js.map +1 -1
  155. package/dist/runtime/foreground.d.ts +6 -1
  156. package/dist/runtime/foreground.d.ts.map +1 -1
  157. package/dist/runtime/foreground.js +30 -7
  158. package/dist/runtime/foreground.js.map +1 -1
  159. package/dist/runtime/infra/infra-catalog.d.ts +33 -1
  160. package/dist/runtime/infra/infra-catalog.d.ts.map +1 -1
  161. package/dist/runtime/infra/infra-catalog.js +201 -10
  162. package/dist/runtime/infra/infra-catalog.js.map +1 -1
  163. package/dist/runtime/infra/infra-environment.d.ts +10 -0
  164. package/dist/runtime/infra/infra-environment.d.ts.map +1 -0
  165. package/dist/runtime/infra/infra-environment.js +76 -0
  166. package/dist/runtime/infra/infra-environment.js.map +1 -0
  167. package/dist/runtime/infra/infra-plan.d.ts +2 -1
  168. package/dist/runtime/infra/infra-plan.d.ts.map +1 -1
  169. package/dist/runtime/infra/infra-plan.js +10 -0
  170. package/dist/runtime/infra/infra-plan.js.map +1 -1
  171. package/dist/runtime/infra/infra-runner.d.ts +12 -2
  172. package/dist/runtime/infra/infra-runner.d.ts.map +1 -1
  173. package/dist/runtime/infra/infra-runner.js +194 -73
  174. package/dist/runtime/infra/infra-runner.js.map +1 -1
  175. package/dist/runtime/infra/keycloak-realm.d.ts +25 -0
  176. package/dist/runtime/infra/keycloak-realm.d.ts.map +1 -0
  177. package/dist/runtime/infra/keycloak-realm.js +116 -0
  178. package/dist/runtime/infra/keycloak-realm.js.map +1 -0
  179. package/dist/runtime/infra/postgres-endpoint.d.ts +8 -0
  180. package/dist/runtime/infra/postgres-endpoint.d.ts.map +1 -0
  181. package/dist/runtime/infra/postgres-endpoint.js +21 -0
  182. package/dist/runtime/infra/postgres-endpoint.js.map +1 -0
  183. package/dist/runtime/installation/compiler.d.ts +104 -27
  184. package/dist/runtime/installation/compiler.d.ts.map +1 -1
  185. package/dist/runtime/installation/compiler.js +361 -95
  186. package/dist/runtime/installation/compiler.js.map +1 -1
  187. package/dist/runtime/installation/contract.d.ts +234 -63
  188. package/dist/runtime/installation/contract.d.ts.map +1 -1
  189. package/dist/runtime/installation/contract.js +396 -74
  190. package/dist/runtime/installation/contract.js.map +1 -1
  191. package/dist/runtime/installation/current-launcher-renderer.d.ts +12 -0
  192. package/dist/runtime/installation/current-launcher-renderer.d.ts.map +1 -0
  193. package/dist/runtime/installation/current-launcher-renderer.js +123 -0
  194. package/dist/runtime/installation/current-launcher-renderer.js.map +1 -0
  195. package/dist/runtime/installation/diff.d.ts +15 -0
  196. package/dist/runtime/installation/diff.d.ts.map +1 -1
  197. package/dist/runtime/installation/diff.js +66 -29
  198. package/dist/runtime/installation/diff.js.map +1 -1
  199. package/dist/runtime/installation/format.js +4 -4
  200. package/dist/runtime/installation/format.js.map +1 -1
  201. package/dist/runtime/installation/from-current-config.d.ts +3 -2
  202. package/dist/runtime/installation/from-current-config.d.ts.map +1 -1
  203. package/dist/runtime/installation/from-current-config.js +214 -44
  204. package/dist/runtime/installation/from-current-config.js.map +1 -1
  205. package/dist/runtime/installation/helm-release-readiness.d.ts +9 -0
  206. package/dist/runtime/installation/helm-release-readiness.d.ts.map +1 -0
  207. package/dist/runtime/installation/helm-release-readiness.js +97 -0
  208. package/dist/runtime/installation/helm-release-readiness.js.map +1 -0
  209. package/dist/runtime/installation/helm-release.d.ts +24 -0
  210. package/dist/runtime/installation/helm-release.d.ts.map +1 -0
  211. package/dist/runtime/installation/helm-release.js +96 -0
  212. package/dist/runtime/installation/helm-release.js.map +1 -0
  213. package/dist/runtime/installation/index.d.ts +9 -0
  214. package/dist/runtime/installation/index.d.ts.map +1 -1
  215. package/dist/runtime/installation/index.js +9 -0
  216. package/dist/runtime/installation/index.js.map +1 -1
  217. package/dist/runtime/installation/json-schema.d.ts +4 -0
  218. package/dist/runtime/installation/json-schema.d.ts.map +1 -0
  219. package/dist/runtime/installation/json-schema.js +16 -0
  220. package/dist/runtime/installation/json-schema.js.map +1 -0
  221. package/dist/runtime/installation/kubernetes-readiness.d.ts +60 -0
  222. package/dist/runtime/installation/kubernetes-readiness.d.ts.map +1 -0
  223. package/dist/runtime/installation/kubernetes-readiness.js +384 -0
  224. package/dist/runtime/installation/kubernetes-readiness.js.map +1 -0
  225. package/dist/runtime/installation/lifecycle.d.ts +6 -4
  226. package/dist/runtime/installation/lifecycle.d.ts.map +1 -1
  227. package/dist/runtime/installation/lifecycle.js +94 -7
  228. package/dist/runtime/installation/lifecycle.js.map +1 -1
  229. package/dist/runtime/installation/readiness-proof.d.ts +72 -0
  230. package/dist/runtime/installation/readiness-proof.d.ts.map +1 -0
  231. package/dist/runtime/installation/readiness-proof.js +142 -0
  232. package/dist/runtime/installation/readiness-proof.js.map +1 -0
  233. package/dist/runtime/installation/readiness.d.ts +21 -0
  234. package/dist/runtime/installation/readiness.d.ts.map +1 -0
  235. package/dist/runtime/installation/readiness.js +418 -0
  236. package/dist/runtime/installation/readiness.js.map +1 -0
  237. package/dist/runtime/installation/setup-profile.d.ts +8 -0
  238. package/dist/runtime/installation/setup-profile.d.ts.map +1 -0
  239. package/dist/runtime/installation/setup-profile.js +41 -0
  240. package/dist/runtime/installation/setup-profile.js.map +1 -0
  241. package/dist/runtime/installation/setup-renderer.d.ts +31 -0
  242. package/dist/runtime/installation/setup-renderer.d.ts.map +1 -0
  243. package/dist/runtime/installation/setup-renderer.js +238 -0
  244. package/dist/runtime/installation/setup-renderer.js.map +1 -0
  245. package/dist/runtime/installation/state-store.d.ts +11 -3
  246. package/dist/runtime/installation/state-store.d.ts.map +1 -1
  247. package/dist/runtime/installation/state-store.js +157 -37
  248. package/dist/runtime/installation/state-store.js.map +1 -1
  249. package/dist/runtime/installation/status.d.ts +6 -12
  250. package/dist/runtime/installation/status.d.ts.map +1 -1
  251. package/dist/runtime/installation/status.js +28 -114
  252. package/dist/runtime/installation/status.js.map +1 -1
  253. package/dist/runtime/installation/support-bundle.d.ts.map +1 -1
  254. package/dist/runtime/installation/support-bundle.js +18 -3
  255. package/dist/runtime/installation/support-bundle.js.map +1 -1
  256. package/dist/runtime/installation/to-current-config.d.ts +4 -0
  257. package/dist/runtime/installation/to-current-config.d.ts.map +1 -0
  258. package/dist/runtime/installation/to-current-config.js +171 -0
  259. package/dist/runtime/installation/to-current-config.js.map +1 -0
  260. package/dist/runtime/installation/validation.d.ts.map +1 -1
  261. package/dist/runtime/installation/validation.js +78 -0
  262. package/dist/runtime/installation/validation.js.map +1 -1
  263. package/dist/runtime/installation/validators/common.d.ts.map +1 -1
  264. package/dist/runtime/installation/validators/common.js +7 -4
  265. package/dist/runtime/installation/validators/common.js.map +1 -1
  266. package/dist/runtime/installation/validators/infrastructure.d.ts.map +1 -1
  267. package/dist/runtime/installation/validators/infrastructure.js +20 -2
  268. package/dist/runtime/installation/validators/infrastructure.js.map +1 -1
  269. package/dist/runtime/installation/validators/operational.d.ts.map +1 -1
  270. package/dist/runtime/installation/validators/operational.js +44 -102
  271. package/dist/runtime/installation/validators/operational.js.map +1 -1
  272. package/dist/runtime/installation/validators/profile.d.ts.map +1 -1
  273. package/dist/runtime/installation/validators/profile.js +53 -51
  274. package/dist/runtime/installation/validators/profile.js.map +1 -1
  275. package/dist/runtime/installation/validators/secrets.d.ts.map +1 -1
  276. package/dist/runtime/installation/validators/secrets.js +44 -27
  277. package/dist/runtime/installation/validators/secrets.js.map +1 -1
  278. package/dist/runtime/launch.d.ts +10 -0
  279. package/dist/runtime/launch.d.ts.map +1 -1
  280. package/dist/runtime/launch.js +123 -18
  281. package/dist/runtime/launch.js.map +1 -1
  282. package/dist/runtime/license/license-clock.d.ts +12 -0
  283. package/dist/runtime/license/license-clock.d.ts.map +1 -0
  284. package/dist/runtime/license/license-clock.js +57 -0
  285. package/dist/runtime/license/license-clock.js.map +1 -0
  286. package/dist/runtime/license/license-report.d.ts +19 -0
  287. package/dist/runtime/license/license-report.d.ts.map +1 -0
  288. package/dist/runtime/license/license-report.js +105 -0
  289. package/dist/runtime/license/license-report.js.map +1 -0
  290. package/dist/runtime/license/license-store.d.ts +5 -0
  291. package/dist/runtime/license/license-store.d.ts.map +1 -0
  292. package/dist/runtime/license/license-store.js +11 -0
  293. package/dist/runtime/license/license-store.js.map +1 -0
  294. package/dist/runtime/license/registry-credential.d.ts +26 -0
  295. package/dist/runtime/license/registry-credential.d.ts.map +1 -0
  296. package/dist/runtime/license/registry-credential.js +94 -0
  297. package/dist/runtime/license/registry-credential.js.map +1 -0
  298. package/dist/runtime/license/resolve-license.d.ts +30 -0
  299. package/dist/runtime/license/resolve-license.d.ts.map +1 -0
  300. package/dist/runtime/license/resolve-license.js +73 -0
  301. package/dist/runtime/license/resolve-license.js.map +1 -0
  302. package/dist/runtime/license/store-license.d.ts +18 -0
  303. package/dist/runtime/license/store-license.d.ts.map +1 -0
  304. package/dist/runtime/license/store-license.js +26 -0
  305. package/dist/runtime/license/store-license.js.map +1 -0
  306. package/dist/runtime/lock-loader.d.ts +3 -6
  307. package/dist/runtime/lock-loader.d.ts.map +1 -1
  308. package/dist/runtime/lock-loader.js +26 -20
  309. package/dist/runtime/lock-loader.js.map +1 -1
  310. package/dist/runtime/native-process-group.d.ts +46 -0
  311. package/dist/runtime/native-process-group.d.ts.map +1 -0
  312. package/dist/runtime/native-process-group.js +390 -0
  313. package/dist/runtime/native-process-group.js.map +1 -0
  314. package/dist/runtime/paths.d.ts +1 -0
  315. package/dist/runtime/paths.d.ts.map +1 -1
  316. package/dist/runtime/paths.js +1 -0
  317. package/dist/runtime/paths.js.map +1 -1
  318. package/dist/runtime/roster.d.ts +4 -3
  319. package/dist/runtime/roster.d.ts.map +1 -1
  320. package/dist/runtime/roster.js +17 -5
  321. package/dist/runtime/roster.js.map +1 -1
  322. package/dist/runtime/run-manifest.d.ts +34 -5
  323. package/dist/runtime/run-manifest.d.ts.map +1 -1
  324. package/dist/runtime/run-manifest.js +434 -120
  325. package/dist/runtime/run-manifest.js.map +1 -1
  326. package/dist/runtime/runner/container-preflight.d.ts +77 -0
  327. package/dist/runtime/runner/container-preflight.d.ts.map +1 -0
  328. package/dist/runtime/runner/container-preflight.js +360 -0
  329. package/dist/runtime/runner/container-preflight.js.map +1 -0
  330. package/dist/runtime/runner/container-runner.d.ts +8 -0
  331. package/dist/runtime/runner/container-runner.d.ts.map +1 -1
  332. package/dist/runtime/runner/container-runner.js +93 -16
  333. package/dist/runtime/runner/container-runner.js.map +1 -1
  334. package/dist/runtime/runner/docker-cli.d.ts +30 -2
  335. package/dist/runtime/runner/docker-cli.d.ts.map +1 -1
  336. package/dist/runtime/runner/docker-cli.js +275 -11
  337. package/dist/runtime/runner/docker-cli.js.map +1 -1
  338. package/dist/runtime/runner/health-probe.d.ts +1 -0
  339. package/dist/runtime/runner/health-probe.d.ts.map +1 -1
  340. package/dist/runtime/runner/health-probe.js +3 -2
  341. package/dist/runtime/runner/health-probe.js.map +1 -1
  342. package/dist/runtime/runner/helm-cli.d.ts +19 -1
  343. package/dist/runtime/runner/helm-cli.d.ts.map +1 -1
  344. package/dist/runtime/runner/helm-cli.js +76 -8
  345. package/dist/runtime/runner/helm-cli.js.map +1 -1
  346. package/dist/runtime/runner/helm-runner.d.ts +3 -0
  347. package/dist/runtime/runner/helm-runner.d.ts.map +1 -1
  348. package/dist/runtime/runner/helm-runner.js +23 -7
  349. package/dist/runtime/runner/helm-runner.js.map +1 -1
  350. package/dist/runtime/runner/host-platform.d.ts +39 -0
  351. package/dist/runtime/runner/host-platform.d.ts.map +1 -0
  352. package/dist/runtime/runner/host-platform.js +136 -0
  353. package/dist/runtime/runner/host-platform.js.map +1 -0
  354. package/dist/runtime/runner/kube-cli.d.ts +23 -0
  355. package/dist/runtime/runner/kube-cli.d.ts.map +1 -0
  356. package/dist/runtime/runner/kube-cli.js +112 -0
  357. package/dist/runtime/runner/kube-cli.js.map +1 -0
  358. package/dist/runtime/runner/native-runner.d.ts.map +1 -1
  359. package/dist/runtime/runner/native-runner.js +27 -3
  360. package/dist/runtime/runner/native-runner.js.map +1 -1
  361. package/dist/runtime/runner/service-runner.d.ts +5 -0
  362. package/dist/runtime/runner/service-runner.d.ts.map +1 -1
  363. package/dist/runtime/runner/service-runner.js.map +1 -1
  364. package/dist/runtime/runner/stream-outcome.d.ts +7 -0
  365. package/dist/runtime/runner/stream-outcome.d.ts.map +1 -0
  366. package/dist/runtime/runner/stream-outcome.js +13 -0
  367. package/dist/runtime/runner/stream-outcome.js.map +1 -0
  368. package/dist/runtime/secrets/managed-local-cipher.d.ts +18 -0
  369. package/dist/runtime/secrets/managed-local-cipher.d.ts.map +1 -0
  370. package/dist/runtime/secrets/managed-local-cipher.js +110 -0
  371. package/dist/runtime/secrets/managed-local-cipher.js.map +1 -0
  372. package/dist/runtime/secrets/managed-local-files.d.ts +4 -0
  373. package/dist/runtime/secrets/managed-local-files.d.ts.map +1 -0
  374. package/dist/runtime/secrets/managed-local-files.js +132 -0
  375. package/dist/runtime/secrets/managed-local-files.js.map +1 -0
  376. package/dist/runtime/secrets/managed-local-key-provider.d.ts +27 -0
  377. package/dist/runtime/secrets/managed-local-key-provider.d.ts.map +1 -0
  378. package/dist/runtime/secrets/managed-local-key-provider.js +144 -0
  379. package/dist/runtime/secrets/managed-local-key-provider.js.map +1 -0
  380. package/dist/runtime/secrets/managed-local-secret-store.d.ts +18 -0
  381. package/dist/runtime/secrets/managed-local-secret-store.d.ts.map +1 -0
  382. package/dist/runtime/secrets/managed-local-secret-store.js +82 -0
  383. package/dist/runtime/secrets/managed-local-secret-store.js.map +1 -0
  384. package/dist/runtime/secrets/managed-local-store.d.ts +7 -0
  385. package/dist/runtime/secrets/managed-local-store.d.ts.map +1 -1
  386. package/dist/runtime/secrets/managed-local-store.js +46 -127
  387. package/dist/runtime/secrets/managed-local-store.js.map +1 -1
  388. package/dist/runtime/sources/credentials.d.ts +2 -0
  389. package/dist/runtime/sources/credentials.d.ts.map +1 -1
  390. package/dist/runtime/sources/credentials.js +49 -0
  391. package/dist/runtime/sources/credentials.js.map +1 -1
  392. package/dist/runtime/sources/kinds/distribution.js +3 -3
  393. package/dist/runtime/sources/kinds/distribution.js.map +1 -1
  394. package/dist/runtime/sources/manifest-walk.d.ts +1 -0
  395. package/dist/runtime/sources/manifest-walk.d.ts.map +1 -1
  396. package/dist/runtime/sources/manifest-walk.js +16 -11
  397. package/dist/runtime/sources/manifest-walk.js.map +1 -1
  398. package/dist/runtime/sources/schema.d.ts.map +1 -1
  399. package/dist/runtime/sources/schema.js +51 -3
  400. package/dist/runtime/sources/schema.js.map +1 -1
  401. package/dist/runtime/store-client.d.ts +1 -1
  402. package/dist/runtime/store-client.d.ts.map +1 -1
  403. package/dist/runtime/store-client.js +2 -1
  404. package/dist/runtime/store-client.js.map +1 -1
  405. package/dist/runtime/store-submit.d.ts +31 -0
  406. package/dist/runtime/store-submit.d.ts.map +1 -0
  407. package/dist/runtime/store-submit.js +77 -0
  408. package/dist/runtime/store-submit.js.map +1 -0
  409. package/dist/runtime/supervisor.d.ts +12 -0
  410. package/dist/runtime/supervisor.d.ts.map +1 -1
  411. package/dist/runtime/supervisor.js +141 -26
  412. package/dist/runtime/supervisor.js.map +1 -1
  413. package/package.json +20 -29
  414. package/LICENSE +0 -176
  415. package/dist/lib/command-registry.d.ts +0 -5
  416. package/dist/lib/command-registry.d.ts.map +0 -1
  417. package/dist/lib/command-registry.js +0 -17
  418. package/dist/lib/command-registry.js.map +0 -1
@@ -7,8 +7,8 @@ const url_security_1 = require("../../secrets/url-security");
7
7
  const diagnostics_1 = require("../diagnostics");
8
8
  function validateInfrastructure(installation) {
9
9
  const issues = [];
10
- for (const binding of installation.infrastructure) {
11
- const path = `infrastructure.${binding.component}`;
10
+ for (const binding of installation.spec.infrastructure) {
11
+ const path = `spec.infrastructure.${binding.component}`;
12
12
  if (binding.ownership === schema_1.InfraMode.External &&
13
13
  binding.endpoint === undefined) {
14
14
  issues.push({
@@ -49,6 +49,24 @@ function validateInfrastructure(installation) {
49
49
  if (binding.endpoint !== undefined) {
50
50
  validateEndpoint(binding.endpoint, `${path}.endpoint`, issues);
51
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
+ }
52
70
  }
53
71
  return issues;
54
72
  }
@@ -1 +1 @@
1
- {"version":3,"file":"infrastructure.js","sourceRoot":"","sources":["../../../../src/runtime/installation/validators/infrastructure.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"infrastructure.js","sourceRoot":"","sources":["../../../../src/runtime/installation/validators/infrastructure.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"operational.d.ts","sourceRoot":"","sources":["../../../../src/runtime/installation/validators/operational.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,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,CAM9B"}
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"}
@@ -4,123 +4,65 @@ exports.validateOperationalPolicy = validateOperationalPolicy;
4
4
  const contract_1 = require("../contract");
5
5
  const diagnostics_1 = require("../diagnostics");
6
6
  function validateOperationalPolicy(installation) {
7
- return [
8
- ...validateStorage(installation),
9
- ...validateCapacity(installation),
10
- ...validateUpgrade(installation),
11
- ];
12
- }
13
- function validateStorage(installation) {
7
+ const spec = installation.spec;
14
8
  const issues = [];
15
- if (installation.storage.class === contract_1.StorageClass.External &&
16
- installation.storage.externalBinding === undefined) {
17
- issues.push({
18
- kind: diagnostics_1.InstallationIssueKind.Unresolved,
19
- code: 'EXTERNAL_STORAGE_BINDING_REQUIRED',
20
- path: 'storage.externalBinding',
21
- message: 'external storage requires a binding reference',
22
- });
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'));
23
17
  }
24
- if (installation.storage.class !== contract_1.StorageClass.External &&
25
- installation.storage.externalBinding !== undefined) {
26
- issues.push({
27
- kind: diagnostics_1.InstallationIssueKind.Invalid,
28
- code: 'EXTERNAL_STORAGE_BINDING_NOT_ALLOWED',
29
- path: 'storage.externalBinding',
30
- message: 'externalBinding is only valid for external storage',
31
- });
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));
32
21
  }
33
- if (installation.storage.backup.mode === contract_1.BackupMode.Disabled &&
34
- installation.storage.backup.destinationSecretRef !== undefined) {
35
- issues.push({
36
- kind: diagnostics_1.InstallationIssueKind.Invalid,
37
- code: 'BACKUP_DESTINATION_NOT_ALLOWED',
38
- path: 'storage.backup.destinationSecretRef',
39
- message: 'a disabled backup policy cannot declare a destination',
40
- });
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'));
41
25
  }
42
- if (installation.deployment.profile ===
43
- contract_1.InstallationDeploymentProfile.Regulated &&
44
- installation.storage.backup.mode !== undefined &&
45
- installation.storage.backup.mode !== contract_1.BackupMode.Continuous) {
46
- issues.push({
47
- kind: diagnostics_1.InstallationIssueKind.Invalid,
48
- code: 'REGULATED_BACKUP_REQUIRED',
49
- path: 'storage.backup.mode',
50
- message: 'regulated installations require continuous backup',
51
- });
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'));
52
29
  }
53
- if (installation.deployment.profile ===
54
- contract_1.InstallationDeploymentProfile.Regulated &&
55
- installation.domains.some((domain) => domain.tls.mode === contract_1.TlsMode.Disabled)) {
56
- issues.push({
57
- kind: diagnostics_1.InstallationIssueKind.Invalid,
58
- code: 'REGULATED_TLS_REQUIRED',
59
- path: 'domains',
60
- message: 'regulated installation domains require TLS',
61
- });
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'));
62
34
  }
63
- for (const domain of installation.domains) {
64
- const path = `domains.${domain.purpose}.${domain.hostname}.tls.secretRef`;
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`;
65
41
  if (domain.tls.mode === contract_1.TlsMode.External &&
66
42
  domain.tls.secretRef === undefined) {
67
- issues.push({
68
- kind: diagnostics_1.InstallationIssueKind.Unresolved,
69
- code: 'EXTERNAL_TLS_SECRET_REQUIRED',
70
- path,
71
- message: 'external TLS requires a certificate secret reference',
72
- });
43
+ issues.push(issue('EXTERNAL_TLS_SECRET_REQUIRED', path, 'external TLS requires a certificate secret reference', diagnostics_1.InstallationIssueKind.Unresolved));
73
44
  }
74
45
  if (domain.tls.mode !== contract_1.TlsMode.External &&
75
46
  domain.tls.secretRef !== undefined) {
76
- issues.push({
77
- kind: diagnostics_1.InstallationIssueKind.Invalid,
78
- code: 'TLS_SECRET_NOT_ALLOWED',
79
- path,
80
- message: `a ${domain.tls.mode} TLS policy cannot declare an external certificate secret`,
81
- });
47
+ issues.push(issue('TLS_SECRET_NOT_ALLOWED', path, `a ${domain.tls.mode} TLS policy cannot declare an external certificate secret`));
82
48
  }
83
49
  }
84
- return issues;
85
- }
86
- function validateCapacity(installation) {
87
- const { minReplicas, maxReplicas } = installation.capacity;
88
- if (minReplicas !== undefined &&
89
- maxReplicas !== undefined &&
90
- minReplicas > maxReplicas) {
91
- return [
92
- {
93
- kind: diagnostics_1.InstallationIssueKind.Invalid,
94
- code: 'CAPACITY_RANGE_INVALID',
95
- path: 'capacity',
96
- message: 'minReplicas cannot exceed maxReplicas',
97
- },
98
- ];
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'));
99
54
  }
100
- return [];
101
- }
102
- function validateUpgrade(installation) {
103
- const { channel, releaseRef } = installation.upgrade;
104
- if (channel === contract_1.UpgradeChannel.Pinned && releaseRef === undefined) {
105
- return [
106
- {
107
- kind: diagnostics_1.InstallationIssueKind.Unresolved,
108
- code: 'PINNED_RELEASE_REQUIRED',
109
- path: 'upgrade.releaseRef',
110
- message: 'pinned upgrade channel requires a releaseRef',
111
- },
112
- ];
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));
113
58
  }
114
- if (channel !== contract_1.UpgradeChannel.Pinned && releaseRef !== undefined) {
115
- return [
116
- {
117
- kind: diagnostics_1.InstallationIssueKind.Invalid,
118
- code: 'RELEASE_REF_NOT_ALLOWED',
119
- path: 'upgrade.releaseRef',
120
- message: 'releaseRef is only valid for the pinned upgrade channel',
121
- },
122
- ];
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'));
123
62
  }
124
- return [];
63
+ return issues;
64
+ }
65
+ function issue(code, path, message, kind = diagnostics_1.InstallationIssueKind.Invalid) {
66
+ return { kind, code, path, message };
125
67
  }
126
68
  //# sourceMappingURL=operational.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"operational.js","sourceRoot":"","sources":["../../../../src/runtime/installation/validators/operational.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operational.js","sourceRoot":"","sources":["../../../../src/runtime/installation/validators/operational.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../../../src/runtime/installation/validators/profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,sBAAsB,EAC5B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAyB,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAE/E,wBAAgB,eAAe,CAC7B,YAAY,EAAE,sBAAsB,GACnC,SAAS,iBAAiB,EAAE,CA6E9B"}
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"}
@@ -3,76 +3,78 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.validateProfile = validateProfile;
4
4
  const contract_1 = require("../contract");
5
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
+ };
6
29
  function validateProfile(installation) {
7
30
  const issues = [];
8
- const { profile, substrate } = installation.deployment;
9
- const regions = installation.deployment.regions ?? [];
10
- if (profile === contract_1.InstallationDeploymentProfile.MultiRegion) {
31
+ const spec = installation.spec;
32
+ const target = spec.target.kind;
33
+ if (target !== undefined && !PROFILE_TARGETS[spec.profile].includes(target)) {
11
34
  issues.push({
12
- kind: diagnostics_1.InstallationIssueKind.Unsupported,
13
- code: 'MULTI_REGION_NOT_EXECUTABLE',
14
- path: 'deployment.profile',
15
- message: 'multi-region is accepted as declared intent but this compiler version cannot produce an executable plan',
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}`,
16
39
  });
17
40
  }
18
- if (profile === contract_1.InstallationDeploymentProfile.Developer &&
19
- substrate !== undefined &&
20
- substrate !== contract_1.InstallationSubstrate.Local) {
21
- issues.push(profileSubstrateIssue(profile, contract_1.InstallationSubstrate.Local));
22
- }
23
- if (profile === contract_1.InstallationDeploymentProfile.StarterPme &&
24
- substrate === contract_1.InstallationSubstrate.Cluster) {
41
+ if ((spec.target.zones?.length ?? 0) > 0 &&
42
+ spec.target.region === undefined) {
25
43
  issues.push({
26
- kind: diagnostics_1.InstallationIssueKind.Invalid,
27
- code: 'PROFILE_SUBSTRATE_MISMATCH',
28
- path: 'deployment.substrate',
29
- message: 'starter-pme supports local or single-node substrate',
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',
30
48
  });
31
49
  }
32
- if ((profile === contract_1.InstallationDeploymentProfile.HighAvailability ||
33
- profile === contract_1.InstallationDeploymentProfile.Regulated ||
34
- profile === contract_1.InstallationDeploymentProfile.MultiRegion) &&
35
- substrate !== undefined &&
36
- substrate !== contract_1.InstallationSubstrate.Cluster) {
37
- issues.push(profileSubstrateIssue(profile, contract_1.InstallationSubstrate.Cluster));
38
- }
39
- if (profile !== contract_1.InstallationDeploymentProfile.MultiRegion &&
40
- installation.deployment.regions !== undefined &&
41
- regions.length !== 1) {
50
+ if (spec.profile === contract_1.InstallationProfile.EnterpriseRegulated &&
51
+ spec.tenancy.isolation === contract_1.TenantIsolation.Shared) {
42
52
  issues.push({
43
53
  kind: diagnostics_1.InstallationIssueKind.Invalid,
44
- code: 'PROFILE_REGION_MISMATCH',
45
- path: 'deployment.regions',
46
- message: `${profile} requires exactly one explicitly declared region when regions are overridden`,
54
+ code: 'REGULATED_SHARED_ISOLATION',
55
+ path: 'spec.tenancy.isolation',
56
+ message: 'enterprise-regulated installations cannot use shared isolation',
47
57
  });
48
58
  }
49
- if (profile === contract_1.InstallationDeploymentProfile.MultiRegion &&
50
- regions.length > 0 &&
51
- regions.length < 2) {
59
+ if (spec.profile === contract_1.InstallationProfile.HostedCell &&
60
+ spec.operator.kind !== undefined &&
61
+ spec.operator.kind !== contract_1.InstallationOperatorKind.Platform) {
52
62
  issues.push({
53
- kind: diagnostics_1.InstallationIssueKind.Unresolved,
54
- code: 'MULTI_REGION_REQUIRES_REGIONS',
55
- path: 'deployment.regions',
56
- message: 'multi-region requires at least two regions',
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',
57
67
  });
58
68
  }
59
- if (profile === contract_1.InstallationDeploymentProfile.Regulated &&
60
- installation.tenancy.isolation === contract_1.TenantIsolation.Shared) {
69
+ if (spec.profile === contract_1.InstallationProfile.Developer &&
70
+ spec.lifecycle.environment === contract_1.LifecycleEnvironment.Production) {
61
71
  issues.push({
62
72
  kind: diagnostics_1.InstallationIssueKind.Invalid,
63
- code: 'REGULATED_SHARED_ISOLATION',
64
- path: 'tenancy.isolation',
65
- message: 'regulated installations cannot use shared tenant isolation',
73
+ code: 'DEVELOPER_PRODUCTION_INVALID',
74
+ path: 'spec.lifecycle.environment',
75
+ message: 'the developer profile cannot be used for a production lifecycle environment',
66
76
  });
67
77
  }
68
78
  return issues;
69
79
  }
70
- function profileSubstrateIssue(profile, required) {
71
- return {
72
- kind: diagnostics_1.InstallationIssueKind.Invalid,
73
- code: 'PROFILE_SUBSTRATE_MISMATCH',
74
- path: 'deployment.substrate',
75
- message: `${profile} requires ${required} substrate`,
76
- };
77
- }
78
80
  //# sourceMappingURL=profile.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"profile.js","sourceRoot":"","sources":["../../../../src/runtime/installation/validators/profile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profile.js","sourceRoot":"","sources":["../../../../src/runtime/installation/validators/profile.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"secrets.d.ts","sourceRoot":"","sources":["../../../../src/runtime/installation/validators/secrets.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,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,CAsC9B"}
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"}
@@ -5,7 +5,7 @@ const contract_1 = require("../contract");
5
5
  const diagnostics_1 = require("../diagnostics");
6
6
  function validateSecretReferences(installation) {
7
7
  const issues = [];
8
- const declared = new Set(installation.secrets.map((secret) => secret.name));
8
+ const declared = new Set(installation.spec.secrets.map((secret) => secret.name));
9
9
  const referenced = collectReferences(installation);
10
10
  for (const reference of referenced) {
11
11
  if (!declared.has(reference.ref)) {
@@ -17,52 +17,69 @@ function validateSecretReferences(installation) {
17
17
  });
18
18
  }
19
19
  }
20
- for (const secret of installation.secrets) {
21
- const locatorRequired = secret.provider !== contract_1.SecretReferenceProvider.Prompt &&
22
- secret.provider !== contract_1.SecretReferenceProvider.ManagedLocal;
23
- if (locatorRequired && secret.locator === undefined) {
24
- issues.push({
25
- kind: diagnostics_1.InstallationIssueKind.Unresolved,
26
- code: 'SECRET_LOCATOR_REQUIRED',
27
- path: `secrets.${secret.name}.locator`,
28
- message: `${secret.provider} secret reference requires a locator`,
29
- });
30
- }
31
- if (!locatorRequired && secret.locator !== undefined) {
32
- issues.push({
33
- kind: diagnostics_1.InstallationIssueKind.Invalid,
34
- code: 'SECRET_LOCATOR_NOT_ALLOWED',
35
- path: `secrets.${secret.name}.locator`,
36
- message: `${secret.provider} secret reference cannot carry a locator`,
37
- });
38
- }
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
+ });
39
42
  }
40
43
  return issues;
41
44
  }
42
45
  function collectReferences(installation) {
43
46
  const referenced = [];
44
- for (const binding of installation.infrastructure) {
47
+ for (const binding of installation.spec.infrastructure) {
45
48
  for (const ref of binding.secretRefs) {
46
49
  referenced.push({
47
50
  ref,
48
- path: `infrastructure.${binding.component}.secretRefs`,
51
+ path: `spec.infrastructure.${binding.component}.secretRefs`,
49
52
  });
50
53
  }
51
54
  }
52
- for (const domain of installation.domains) {
55
+ for (const domain of installation.spec.domains) {
53
56
  if (domain.tls.secretRef !== undefined) {
54
57
  referenced.push({
55
58
  ref: domain.tls.secretRef,
56
- path: `domains.${domain.purpose}.${domain.hostname}.tls.secretRef`,
59
+ path: `spec.domains.${domain.purpose}.${domain.hostname}.tls.secretRef`,
57
60
  });
58
61
  }
59
62
  }
60
- if (installation.storage.backup.destinationSecretRef !== undefined) {
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) {
61
70
  referenced.push({
62
- ref: installation.storage.backup.destinationSecretRef,
63
- path: 'storage.backup.destinationSecretRef',
71
+ ref: installation.spec.observability.exportSecretRef,
72
+ path: 'spec.observability.exportSecretRef',
64
73
  });
65
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
+ }
66
83
  return referenced;
67
84
  }
68
85
  //# sourceMappingURL=secrets.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"secrets.js","sourceRoot":"","sources":["../../../../src/runtime/installation/validators/secrets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"secrets.js","sourceRoot":"","sources":["../../../../src/runtime/installation/validators/secrets.ts"],"names":[],"mappings":"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"}
@@ -3,19 +3,28 @@ import { resolveInfraPlan } from './infra/infra-plan';
3
3
  import { type RosterEntry, type RosterInclude, type RosterSelection } from './roster';
4
4
  import { type BringUpResult, type LifecycleEvent } from './supervisor';
5
5
  import { deriveWaves } from './waves';
6
+ import type { HelmReleaseRendering } from './installation/helm-release';
6
7
  export interface LaunchOptions {
7
8
  readonly config: XemaConfig;
8
9
  readonly includeWeb: boolean;
9
10
  readonly installationIdentity?: string;
11
+ readonly installationId?: string;
10
12
  readonly lockPathOverride?: string | undefined;
11
13
  readonly bootGraphPathOverride?: string | undefined;
12
14
  readonly onEvent?: (event: LifecycleEvent) => void;
13
15
  readonly log?: (line: string) => void;
16
+ readonly planHash?: string;
14
17
  readonly offline?: boolean;
15
18
  readonly includeBiomes?: readonly string[];
19
+ readonly helmRelease?: HelmReleaseRendering;
20
+ readonly allowEmulatedPlatform?: boolean;
16
21
  }
17
22
  export interface LaunchHandle {
18
23
  readonly result: BringUpResult;
24
+ readonly plan: LaunchPlan;
25
+ readonly installationId: string;
26
+ readonly planHash: string;
27
+ readonly executionId: string;
19
28
  readonly roster: readonly RosterEntry[];
20
29
  shutdown(): Promise<void>;
21
30
  }
@@ -33,6 +42,7 @@ export interface LaunchPlan {
33
42
  readonly skippedOptionalBiomes: readonly string[];
34
43
  readonly infraWarnings: readonly string[];
35
44
  readonly unresolvedSources: readonly string[];
45
+ readonly helmNamespace?: string;
36
46
  }
37
47
  export declare function resolveLaunchPlan(opts: LaunchOptions): LaunchPlan;
38
48
  export declare function unionIncludeServices(include: RosterInclude, services: readonly string[]): RosterInclude;
@@ -1 +1 @@
1
- {"version":3,"file":"launch.d.ts","sourceRoot":"","sources":["../../src/runtime/launch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"launch.d.ts","sourceRoot":"","sources":["../../src/runtime/launch.ts"],"names":[],"mappings":"AAoBA,OAAO,EAGL,SAAS,EACT,KAAK,UAAU,EAChB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAYtD,OAAO,EAOL,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,eAAe,EACrB,MAAM,UAAU,CAAC;AA2BlB,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,cAAc,EACpB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAGL,WAAW,EACZ,MAAM,SAAS,CAAC;AAKjB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAexE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAE7B,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAEvC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/C,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpD,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IACnD,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAEtC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAQ3B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAU3B,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAQ3C,QAAQ,CAAC,WAAW,CAAC,EAAE,oBAAoB,CAAC;IAO5C,QAAQ,CAAC,qBAAqB,CAAC,EAAE,OAAO,CAAC;CAC1C;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAE/B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,SAAS,WAAW,EAAE,CAAC;IACxC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAQD,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAClE,QAAQ,CAAC,MAAM,EAAE,SAAS,WAAW,EAAE,CAAC;IACxC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;IAC/C,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;IAEpD,QAAQ,CAAC,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC;IAM/C,QAAQ,CAAC,qBAAqB,EAAE,SAAS,MAAM,EAAE,CAAC;IAElD,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAM1C,QAAQ,CAAC,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;IAM9C,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AASD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,aAAa,GAAG,UAAU,CAiIjE;AAQD,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,SAAS,MAAM,EAAE,GAC1B,aAAa,CAcf;AAqED,wBAAsB,MAAM,CAC1B,IAAI,EAAE,aAAa,EACnB,WAAW,CAAC,EAAE,UAAU,GACvB,OAAO,CAAC,YAAY,CAAC,CA0BvB;AAwaD,wBAAgB,cAAc,CAC5B,MAAM,EAAE,UAAU,EAClB,UAAU,EAAE,OAAO,GAClB,eAAe,CAQjB;AAcD,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,KAAK,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,MAAM,EAAE,EAC1D,QAAQ,EAAE,SAAS,MAAM,EAAE,GAC1B,aAAa,CAsBf;AAGD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG;IAC7D,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAWA"}