typekro 0.7.0 → 0.9.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 (532) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/alchemy/deployers.d.ts +16 -1
  3. package/dist/alchemy/deployers.d.ts.map +1 -1
  4. package/dist/alchemy/deployers.js +131 -18
  5. package/dist/alchemy/deployers.js.map +1 -1
  6. package/dist/alchemy/deployment.d.ts +1 -1
  7. package/dist/alchemy/deployment.d.ts.map +1 -1
  8. package/dist/alchemy/deployment.js +1 -1
  9. package/dist/alchemy/deployment.js.map +1 -1
  10. package/dist/alchemy/kro-delete.d.ts +66 -0
  11. package/dist/alchemy/kro-delete.d.ts.map +1 -0
  12. package/dist/alchemy/kro-delete.js +183 -0
  13. package/dist/alchemy/kro-delete.js.map +1 -0
  14. package/dist/alchemy/resource-registration.d.ts +16 -0
  15. package/dist/alchemy/resource-registration.d.ts.map +1 -1
  16. package/dist/alchemy/resource-registration.js +138 -24
  17. package/dist/alchemy/resource-registration.js.map +1 -1
  18. package/dist/alchemy/types.d.ts +8 -4
  19. package/dist/alchemy/types.d.ts.map +1 -1
  20. package/dist/compositions/typekro-runtime/typekro-runtime.d.ts +1 -1
  21. package/dist/compositions/typekro-runtime/typekro-runtime.d.ts.map +1 -1
  22. package/dist/compositions/typekro-runtime/typekro-runtime.js +39 -7
  23. package/dist/compositions/typekro-runtime/typekro-runtime.js.map +1 -1
  24. package/dist/core/composition/context.d.ts +58 -2
  25. package/dist/core/composition/context.d.ts.map +1 -1
  26. package/dist/core/composition/context.js +4 -0
  27. package/dist/core/composition/context.js.map +1 -1
  28. package/dist/core/composition/imperative.d.ts +9 -0
  29. package/dist/core/composition/imperative.d.ts.map +1 -1
  30. package/dist/core/composition/imperative.js +538 -54
  31. package/dist/core/composition/imperative.js.map +1 -1
  32. package/dist/core/composition/nested-status-cel.d.ts +34 -1
  33. package/dist/core/composition/nested-status-cel.d.ts.map +1 -1
  34. package/dist/core/composition/nested-status-cel.js +379 -41
  35. package/dist/core/composition/nested-status-cel.js.map +1 -1
  36. package/dist/core/composition-debugger.d.ts +1 -1
  37. package/dist/core/composition-debugger.d.ts.map +1 -1
  38. package/dist/core/composition-debugger.js.map +1 -1
  39. package/dist/core/constants/brands.d.ts +1 -1
  40. package/dist/core/constants/brands.d.ts.map +1 -1
  41. package/dist/core/constants/brands.js +1 -1
  42. package/dist/core/constants/brands.js.map +1 -1
  43. package/dist/core/containers/build.d.ts +4 -4
  44. package/dist/core/containers/build.d.ts.map +1 -1
  45. package/dist/core/containers/build.js +44 -16
  46. package/dist/core/containers/build.js.map +1 -1
  47. package/dist/core/containers/registries/types.d.ts +1 -1
  48. package/dist/core/containers/registries/types.d.ts.map +1 -1
  49. package/dist/core/dependencies/resolver.d.ts +19 -0
  50. package/dist/core/dependencies/resolver.d.ts.map +1 -1
  51. package/dist/core/dependencies/resolver.js +261 -1
  52. package/dist/core/dependencies/resolver.js.map +1 -1
  53. package/dist/core/deployment/client-provider-manager.d.ts +9 -3
  54. package/dist/core/deployment/client-provider-manager.d.ts.map +1 -1
  55. package/dist/core/deployment/client-provider-manager.js +12 -0
  56. package/dist/core/deployment/client-provider-manager.js.map +1 -1
  57. package/dist/core/deployment/crd-manager.d.ts +24 -0
  58. package/dist/core/deployment/crd-manager.d.ts.map +1 -1
  59. package/dist/core/deployment/crd-manager.js +79 -1
  60. package/dist/core/deployment/crd-manager.js.map +1 -1
  61. package/dist/core/deployment/deployment-state-discovery.d.ts +116 -0
  62. package/dist/core/deployment/deployment-state-discovery.d.ts.map +1 -0
  63. package/dist/core/deployment/deployment-state-discovery.js +400 -0
  64. package/dist/core/deployment/deployment-state-discovery.js.map +1 -0
  65. package/dist/core/deployment/direct-factory.d.ts +65 -6
  66. package/dist/core/deployment/direct-factory.d.ts.map +1 -1
  67. package/dist/core/deployment/direct-factory.js +551 -56
  68. package/dist/core/deployment/direct-factory.js.map +1 -1
  69. package/dist/core/deployment/engine.d.ts +64 -3
  70. package/dist/core/deployment/engine.d.ts.map +1 -1
  71. package/dist/core/deployment/engine.js +194 -27
  72. package/dist/core/deployment/engine.js.map +1 -1
  73. package/dist/core/deployment/event-filter.js +1 -1
  74. package/dist/core/deployment/event-filter.js.map +1 -1
  75. package/dist/core/deployment/event-monitor.d.ts +11 -0
  76. package/dist/core/deployment/event-monitor.d.ts.map +1 -1
  77. package/dist/core/deployment/event-monitor.js +14 -0
  78. package/dist/core/deployment/event-monitor.js.map +1 -1
  79. package/dist/core/deployment/handle-tracing.d.ts +14 -0
  80. package/dist/core/deployment/handle-tracing.d.ts.map +1 -0
  81. package/dist/core/deployment/handle-tracing.js +38 -0
  82. package/dist/core/deployment/handle-tracing.js.map +1 -0
  83. package/dist/core/deployment/kro-factory.d.ts +136 -3
  84. package/dist/core/deployment/kro-factory.d.ts.map +1 -1
  85. package/dist/core/deployment/kro-factory.js +945 -268
  86. package/dist/core/deployment/kro-factory.js.map +1 -1
  87. package/dist/core/deployment/kro-readiness.d.ts.map +1 -1
  88. package/dist/core/deployment/kro-readiness.js +21 -12
  89. package/dist/core/deployment/kro-readiness.js.map +1 -1
  90. package/dist/core/deployment/nested-composition-status.d.ts +1 -1
  91. package/dist/core/deployment/nested-composition-status.d.ts.map +1 -1
  92. package/dist/core/deployment/nested-composition-status.js +96 -53
  93. package/dist/core/deployment/nested-composition-status.js.map +1 -1
  94. package/dist/core/deployment/resource-applier.d.ts +15 -2
  95. package/dist/core/deployment/resource-applier.d.ts.map +1 -1
  96. package/dist/core/deployment/resource-applier.js +75 -25
  97. package/dist/core/deployment/resource-applier.js.map +1 -1
  98. package/dist/core/deployment/resource-tagging.d.ts +220 -0
  99. package/dist/core/deployment/resource-tagging.d.ts.map +1 -0
  100. package/dist/core/deployment/resource-tagging.js +292 -0
  101. package/dist/core/deployment/resource-tagging.js.map +1 -0
  102. package/dist/core/deployment/rollback-manager.d.ts +25 -4
  103. package/dist/core/deployment/rollback-manager.d.ts.map +1 -1
  104. package/dist/core/deployment/rollback-manager.js +70 -57
  105. package/dist/core/deployment/rollback-manager.js.map +1 -1
  106. package/dist/core/deployment/shared-utilities.d.ts +6 -0
  107. package/dist/core/deployment/shared-utilities.d.ts.map +1 -1
  108. package/dist/core/deployment/shared-utilities.js +32 -2
  109. package/dist/core/deployment/shared-utilities.js.map +1 -1
  110. package/dist/core/deployment/singleton-owner-drift.d.ts +16 -0
  111. package/dist/core/deployment/singleton-owner-drift.d.ts.map +1 -0
  112. package/dist/core/deployment/singleton-owner-drift.js +54 -0
  113. package/dist/core/deployment/singleton-owner-drift.js.map +1 -0
  114. package/dist/core/deployment/strategies/alchemy-strategy.d.ts +3 -1
  115. package/dist/core/deployment/strategies/alchemy-strategy.d.ts.map +1 -1
  116. package/dist/core/deployment/strategies/alchemy-strategy.js +121 -18
  117. package/dist/core/deployment/strategies/alchemy-strategy.js.map +1 -1
  118. package/dist/core/deployment/strategies/base-strategy.d.ts +9 -3
  119. package/dist/core/deployment/strategies/base-strategy.d.ts.map +1 -1
  120. package/dist/core/deployment/strategies/base-strategy.js +32 -4
  121. package/dist/core/deployment/strategies/base-strategy.js.map +1 -1
  122. package/dist/core/deployment/strategies/direct-strategy.d.ts +12 -4
  123. package/dist/core/deployment/strategies/direct-strategy.d.ts.map +1 -1
  124. package/dist/core/deployment/strategies/direct-strategy.js +112 -8
  125. package/dist/core/deployment/strategies/direct-strategy.js.map +1 -1
  126. package/dist/core/errors.d.ts +2 -2
  127. package/dist/core/errors.d.ts.map +1 -1
  128. package/dist/core/errors.js.map +1 -1
  129. package/dist/core/expressions/analysis/cache.d.ts +2 -2
  130. package/dist/core/expressions/analysis/cache.d.ts.map +1 -1
  131. package/dist/core/expressions/analysis/cache.js +4 -0
  132. package/dist/core/expressions/analysis/cache.js.map +1 -1
  133. package/dist/core/expressions/analysis/fn-toString-self-test.d.ts.map +1 -1
  134. package/dist/core/expressions/analysis/fn-toString-self-test.js +0 -1
  135. package/dist/core/expressions/analysis/fn-toString-self-test.js.map +1 -1
  136. package/dist/core/expressions/analysis/shared-types.d.ts +2 -2
  137. package/dist/core/expressions/analysis/shared-types.d.ts.map +1 -1
  138. package/dist/core/expressions/analysis/source-map.d.ts.map +1 -1
  139. package/dist/core/expressions/analysis/source-map.js +1 -0
  140. package/dist/core/expressions/analysis/source-map.js.map +1 -1
  141. package/dist/core/expressions/analysis/types.d.ts +7 -7
  142. package/dist/core/expressions/analysis/types.d.ts.map +1 -1
  143. package/dist/core/expressions/composition/composition-analyzer-helpers.d.ts +37 -3
  144. package/dist/core/expressions/composition/composition-analyzer-helpers.d.ts.map +1 -1
  145. package/dist/core/expressions/composition/composition-analyzer-helpers.js +370 -7
  146. package/dist/core/expressions/composition/composition-analyzer-helpers.js.map +1 -1
  147. package/dist/core/expressions/composition/composition-analyzer-ternary.d.ts +2 -2
  148. package/dist/core/expressions/composition/composition-analyzer-ternary.d.ts.map +1 -1
  149. package/dist/core/expressions/composition/composition-analyzer-ternary.js +264 -29
  150. package/dist/core/expressions/composition/composition-analyzer-ternary.js.map +1 -1
  151. package/dist/core/expressions/composition/composition-analyzer-traversal.d.ts.map +1 -1
  152. package/dist/core/expressions/composition/composition-analyzer-traversal.js +78 -6
  153. package/dist/core/expressions/composition/composition-analyzer-traversal.js.map +1 -1
  154. package/dist/core/expressions/composition/composition-analyzer-types.d.ts +60 -0
  155. package/dist/core/expressions/composition/composition-analyzer-types.d.ts.map +1 -1
  156. package/dist/core/expressions/composition/composition-analyzer.d.ts +1 -1
  157. package/dist/core/expressions/composition/composition-analyzer.d.ts.map +1 -1
  158. package/dist/core/expressions/composition/composition-analyzer.js +158 -8
  159. package/dist/core/expressions/composition/composition-analyzer.js.map +1 -1
  160. package/dist/core/expressions/composition/expression-analyzer.d.ts.map +1 -1
  161. package/dist/core/expressions/composition/expression-analyzer.js +21 -4
  162. package/dist/core/expressions/composition/expression-analyzer.js.map +1 -1
  163. package/dist/core/expressions/composition/imperative-analyzer.d.ts +1 -1
  164. package/dist/core/expressions/composition/imperative-analyzer.d.ts.map +1 -1
  165. package/dist/core/expressions/composition/imperative-analyzer.js +31 -7
  166. package/dist/core/expressions/composition/imperative-analyzer.js.map +1 -1
  167. package/dist/core/expressions/composition/scope-manager.d.ts +2 -2
  168. package/dist/core/expressions/composition/scope-manager.d.ts.map +1 -1
  169. package/dist/core/expressions/composition/scope-manager.js.map +1 -1
  170. package/dist/core/expressions/conditional/conditional-expression-processor.d.ts +3 -3
  171. package/dist/core/expressions/conditional/conditional-expression-processor.d.ts.map +1 -1
  172. package/dist/core/expressions/conditional/conditional-expression-processor.js.map +1 -1
  173. package/dist/core/expressions/conditional/conditional-integration.d.ts.map +1 -1
  174. package/dist/core/expressions/conditional/conditional-integration.js.map +1 -1
  175. package/dist/core/expressions/context/context-aware-generator.d.ts +5 -5
  176. package/dist/core/expressions/context/context-aware-generator.d.ts.map +1 -1
  177. package/dist/core/expressions/context/context-aware-generator.js.map +1 -1
  178. package/dist/core/expressions/context/context-detector.d.ts +3 -3
  179. package/dist/core/expressions/context/context-detector.d.ts.map +1 -1
  180. package/dist/core/expressions/context/context-detector.js.map +1 -1
  181. package/dist/core/expressions/context/context-validator.d.ts +6 -6
  182. package/dist/core/expressions/context/context-validator.d.ts.map +1 -1
  183. package/dist/core/expressions/context/context-validator.js +2 -2
  184. package/dist/core/expressions/context/context-validator.js.map +1 -1
  185. package/dist/core/expressions/factory/cel-conversion-engine.d.ts +4 -4
  186. package/dist/core/expressions/factory/cel-conversion-engine.d.ts.map +1 -1
  187. package/dist/core/expressions/factory/cel-conversion-engine.js.map +1 -1
  188. package/dist/core/expressions/factory/dependency-tracker.d.ts +2 -2
  189. package/dist/core/expressions/factory/dependency-tracker.d.ts.map +1 -1
  190. package/dist/core/expressions/factory/dependency-tracker.js +21 -5
  191. package/dist/core/expressions/factory/dependency-tracker.js.map +1 -1
  192. package/dist/core/expressions/factory/factory-integration.d.ts +2 -4
  193. package/dist/core/expressions/factory/factory-integration.d.ts.map +1 -1
  194. package/dist/core/expressions/factory/factory-integration.js +0 -6
  195. package/dist/core/expressions/factory/factory-integration.js.map +1 -1
  196. package/dist/core/expressions/factory/factory-pattern-handler.d.ts +3 -3
  197. package/dist/core/expressions/factory/factory-pattern-handler.d.ts.map +1 -1
  198. package/dist/core/expressions/factory/factory-pattern-handler.js +1 -0
  199. package/dist/core/expressions/factory/factory-pattern-handler.js.map +1 -1
  200. package/dist/core/expressions/factory/migration-helpers.js.map +1 -1
  201. package/dist/core/expressions/factory/resource-analyzer.d.ts +4 -4
  202. package/dist/core/expressions/factory/resource-analyzer.d.ts.map +1 -1
  203. package/dist/core/expressions/factory/resource-analyzer.js.map +1 -1
  204. package/dist/core/expressions/factory/resource-type-validator.d.ts +5 -5
  205. package/dist/core/expressions/factory/resource-type-validator.d.ts.map +1 -1
  206. package/dist/core/expressions/factory/resource-type-validator.js.map +1 -1
  207. package/dist/core/expressions/factory/status-builder-analyzer.d.ts +6 -7
  208. package/dist/core/expressions/factory/status-builder-analyzer.d.ts.map +1 -1
  209. package/dist/core/expressions/factory/status-builder-analyzer.js +0 -3
  210. package/dist/core/expressions/factory/status-builder-analyzer.js.map +1 -1
  211. package/dist/core/expressions/factory/status-builder-types.d.ts +1 -1
  212. package/dist/core/expressions/factory/status-builder-types.d.ts.map +1 -1
  213. package/dist/core/expressions/factory/status-cel-generation.d.ts +1 -1
  214. package/dist/core/expressions/factory/status-cel-generation.d.ts.map +1 -1
  215. package/dist/core/expressions/factory/status-cel-generation.js +1 -1
  216. package/dist/core/expressions/factory/status-cel-generation.js.map +1 -1
  217. package/dist/core/expressions/factory/status-field-analysis.d.ts +3 -3
  218. package/dist/core/expressions/factory/status-field-analysis.d.ts.map +1 -1
  219. package/dist/core/expressions/factory/status-field-analysis.js.map +1 -1
  220. package/dist/core/expressions/magic-proxy/magic-assignable-analyzer.d.ts +5 -5
  221. package/dist/core/expressions/magic-proxy/magic-assignable-analyzer.d.ts.map +1 -1
  222. package/dist/core/expressions/magic-proxy/magic-assignable-analyzer.js +1 -1
  223. package/dist/core/expressions/magic-proxy/magic-assignable-analyzer.js.map +1 -1
  224. package/dist/core/expressions/magic-proxy/magic-proxy-analyzer.d.ts +10 -10
  225. package/dist/core/expressions/magic-proxy/magic-proxy-analyzer.d.ts.map +1 -1
  226. package/dist/core/expressions/magic-proxy/magic-proxy-analyzer.js +5 -1
  227. package/dist/core/expressions/magic-proxy/magic-proxy-analyzer.js.map +1 -1
  228. package/dist/core/expressions/magic-proxy/magic-proxy-ast.d.ts +2 -2
  229. package/dist/core/expressions/magic-proxy/magic-proxy-ast.d.ts.map +1 -1
  230. package/dist/core/expressions/magic-proxy/magic-proxy-ast.js.map +1 -1
  231. package/dist/core/expressions/magic-proxy/magic-proxy-detector.d.ts +5 -5
  232. package/dist/core/expressions/magic-proxy/magic-proxy-detector.d.ts.map +1 -1
  233. package/dist/core/expressions/magic-proxy/magic-proxy-detector.js.map +1 -1
  234. package/dist/core/expressions/magic-proxy/magic-proxy-types.d.ts +2 -2
  235. package/dist/core/expressions/magic-proxy/magic-proxy-types.d.ts.map +1 -1
  236. package/dist/core/expressions/magic-proxy/optionality-handler.d.ts +1 -2
  237. package/dist/core/expressions/magic-proxy/optionality-handler.d.ts.map +1 -1
  238. package/dist/core/expressions/magic-proxy/optionality-handler.js +2 -15
  239. package/dist/core/expressions/magic-proxy/optionality-handler.js.map +1 -1
  240. package/dist/core/expressions/validation/compile-time-checker.d.ts +1 -1
  241. package/dist/core/expressions/validation/compile-time-checker.d.ts.map +1 -1
  242. package/dist/core/expressions/validation/compile-time-checker.js.map +1 -1
  243. package/dist/core/expressions/validation/compile-time-types.d.ts +2 -2
  244. package/dist/core/expressions/validation/compile-time-types.d.ts.map +1 -1
  245. package/dist/core/expressions/validation/kubernetes-field-types.d.ts +4 -4
  246. package/dist/core/expressions/validation/kubernetes-field-types.d.ts.map +1 -1
  247. package/dist/core/expressions/validation/kubernetes-field-types.js.map +1 -1
  248. package/dist/core/expressions/validation/resource-field-utils.d.ts +10 -10
  249. package/dist/core/expressions/validation/resource-field-utils.d.ts.map +1 -1
  250. package/dist/core/expressions/validation/resource-field-utils.js.map +1 -1
  251. package/dist/core/expressions/validation/resource-validation.d.ts +3 -3
  252. package/dist/core/expressions/validation/resource-validation.d.ts.map +1 -1
  253. package/dist/core/expressions/validation/resource-validation.js.map +1 -1
  254. package/dist/core/expressions/validation/type-inference-types.d.ts +2 -2
  255. package/dist/core/expressions/validation/type-inference-types.d.ts.map +1 -1
  256. package/dist/core/expressions/validation/type-safety.d.ts +2 -2
  257. package/dist/core/expressions/validation/type-safety.d.ts.map +1 -1
  258. package/dist/core/expressions/validation/type-safety.js +1 -0
  259. package/dist/core/expressions/validation/type-safety.js.map +1 -1
  260. package/dist/core/kubernetes/bun-api-client.js.map +1 -1
  261. package/dist/core/kubernetes/bun-http-library.d.ts.map +1 -1
  262. package/dist/core/kubernetes/bun-http-library.js +29 -3
  263. package/dist/core/kubernetes/bun-http-library.js.map +1 -1
  264. package/dist/core/kubernetes/client-provider.d.ts +12 -0
  265. package/dist/core/kubernetes/client-provider.d.ts.map +1 -1
  266. package/dist/core/kubernetes/client-provider.js +35 -0
  267. package/dist/core/kubernetes/client-provider.js.map +1 -1
  268. package/dist/core/metadata/resource-metadata.d.ts +46 -1
  269. package/dist/core/metadata/resource-metadata.d.ts.map +1 -1
  270. package/dist/core/metadata/resource-metadata.js.map +1 -1
  271. package/dist/core/proxy/create-resource.d.ts +15 -0
  272. package/dist/core/proxy/create-resource.d.ts.map +1 -1
  273. package/dist/core/proxy/create-resource.js +56 -2
  274. package/dist/core/proxy/create-resource.js.map +1 -1
  275. package/dist/core/readiness/registry.js +2 -2
  276. package/dist/core/readiness/registry.js.map +1 -1
  277. package/dist/core/references/cel-evaluator.d.ts +1 -4
  278. package/dist/core/references/cel-evaluator.d.ts.map +1 -1
  279. package/dist/core/references/cel-evaluator.js +3 -7
  280. package/dist/core/references/cel-evaluator.js.map +1 -1
  281. package/dist/core/references/cel.d.ts +70 -0
  282. package/dist/core/references/cel.d.ts.map +1 -1
  283. package/dist/core/references/cel.js +188 -8
  284. package/dist/core/references/cel.js.map +1 -1
  285. package/dist/core/references/external-refs.d.ts.map +1 -1
  286. package/dist/core/references/external-refs.js +3 -0
  287. package/dist/core/references/external-refs.js.map +1 -1
  288. package/dist/core/references/resolver.d.ts.map +1 -1
  289. package/dist/core/references/resolver.js +28 -17
  290. package/dist/core/references/resolver.js.map +1 -1
  291. package/dist/core/references/schema-proxy.d.ts +18 -10
  292. package/dist/core/references/schema-proxy.d.ts.map +1 -1
  293. package/dist/core/references/schema-proxy.js +174 -23
  294. package/dist/core/references/schema-proxy.js.map +1 -1
  295. package/dist/core/runtime-patches/crd-schema-fix.d.ts.map +1 -1
  296. package/dist/core/runtime-patches/crd-schema-fix.js +4 -1
  297. package/dist/core/runtime-patches/crd-schema-fix.js.map +1 -1
  298. package/dist/core/serialization/cel-optimizer.d.ts.map +1 -1
  299. package/dist/core/serialization/cel-optimizer.js +2 -0
  300. package/dist/core/serialization/cel-optimizer.js.map +1 -1
  301. package/dist/core/serialization/cel-references.d.ts +75 -1
  302. package/dist/core/serialization/cel-references.d.ts.map +1 -1
  303. package/dist/core/serialization/cel-references.js +723 -145
  304. package/dist/core/serialization/cel-references.js.map +1 -1
  305. package/dist/core/serialization/core.d.ts +13 -8
  306. package/dist/core/serialization/core.d.ts.map +1 -1
  307. package/dist/core/serialization/core.js +973 -12
  308. package/dist/core/serialization/core.js.map +1 -1
  309. package/dist/core/serialization/kro-post-processing.d.ts +46 -0
  310. package/dist/core/serialization/kro-post-processing.d.ts.map +1 -0
  311. package/dist/core/serialization/kro-post-processing.js +150 -0
  312. package/dist/core/serialization/kro-post-processing.js.map +1 -0
  313. package/dist/core/serialization/schema.d.ts +62 -3
  314. package/dist/core/serialization/schema.d.ts.map +1 -1
  315. package/dist/core/serialization/schema.js +819 -6
  316. package/dist/core/serialization/schema.js.map +1 -1
  317. package/dist/core/serialization/status-analysis-pipeline.d.ts +1 -1
  318. package/dist/core/serialization/status-analysis-pipeline.d.ts.map +1 -1
  319. package/dist/core/serialization/status-analysis-pipeline.js.map +1 -1
  320. package/dist/core/serialization/yaml.d.ts +3 -2
  321. package/dist/core/serialization/yaml.d.ts.map +1 -1
  322. package/dist/core/serialization/yaml.js +404 -56
  323. package/dist/core/serialization/yaml.js.map +1 -1
  324. package/dist/core/singleton/singleton.d.ts +16 -0
  325. package/dist/core/singleton/singleton.d.ts.map +1 -0
  326. package/dist/core/singleton/singleton.js +135 -0
  327. package/dist/core/singleton/singleton.js.map +1 -0
  328. package/dist/core/types/common.d.ts +2 -2
  329. package/dist/core/types/common.d.ts.map +1 -1
  330. package/dist/core/types/composable.d.ts +1 -1
  331. package/dist/core/types/composable.d.ts.map +1 -1
  332. package/dist/core/types/deployment.d.ts +126 -6
  333. package/dist/core/types/deployment.d.ts.map +1 -1
  334. package/dist/core/types/deployment.js +1 -1
  335. package/dist/core/types/deployment.js.map +1 -1
  336. package/dist/core/types/kubernetes.d.ts +25 -17
  337. package/dist/core/types/kubernetes.d.ts.map +1 -1
  338. package/dist/core/types/references.d.ts +1 -1
  339. package/dist/core/types/references.d.ts.map +1 -1
  340. package/dist/core/types/references.js.map +1 -1
  341. package/dist/core/types/resource-graph.d.ts +1 -1
  342. package/dist/core/types/resource-graph.d.ts.map +1 -1
  343. package/dist/core/types/schema.d.ts +1 -1
  344. package/dist/core/types/schema.d.ts.map +1 -1
  345. package/dist/core/types/serialization.d.ts +62 -6
  346. package/dist/core/types/serialization.d.ts.map +1 -1
  347. package/dist/core/validation/cel-validator.d.ts +15 -2
  348. package/dist/core/validation/cel-validator.d.ts.map +1 -1
  349. package/dist/core/validation/cel-validator.js +144 -63
  350. package/dist/core/validation/cel-validator.js.map +1 -1
  351. package/dist/factories/apisix/compositions/apisix-bootstrap.d.ts +2 -41
  352. package/dist/factories/apisix/compositions/apisix-bootstrap.d.ts.map +1 -1
  353. package/dist/factories/apisix/compositions/apisix-bootstrap.js +262 -217
  354. package/dist/factories/apisix/compositions/apisix-bootstrap.js.map +1 -1
  355. package/dist/factories/apisix/index.d.ts +2 -2
  356. package/dist/factories/apisix/index.js +2 -2
  357. package/dist/factories/apisix/resources/helm.d.ts +2 -2
  358. package/dist/factories/apisix/resources/helm.d.ts.map +1 -1
  359. package/dist/factories/apisix/resources/helm.js.map +1 -1
  360. package/dist/factories/apisix/types.d.ts +21 -11
  361. package/dist/factories/apisix/types.d.ts.map +1 -1
  362. package/dist/factories/apisix/types.js +106 -4
  363. package/dist/factories/apisix/types.js.map +1 -1
  364. package/dist/factories/apisix/utils/admin-credentials.d.ts +5 -3
  365. package/dist/factories/apisix/utils/admin-credentials.d.ts.map +1 -1
  366. package/dist/factories/apisix/utils/admin-credentials.js +14 -10
  367. package/dist/factories/apisix/utils/admin-credentials.js.map +1 -1
  368. package/dist/factories/apisix/utils/helm-values-mapper.d.ts.map +1 -1
  369. package/dist/factories/apisix/utils/helm-values-mapper.js +4 -2
  370. package/dist/factories/apisix/utils/helm-values-mapper.js.map +1 -1
  371. package/dist/factories/cert-manager/resources/challenges.js.map +1 -1
  372. package/dist/factories/cert-manager/types.d.ts +3 -3
  373. package/dist/factories/cert-manager/types.d.ts.map +1 -1
  374. package/dist/factories/cilium/compositions/cilium-bootstrap.d.ts +4 -4
  375. package/dist/factories/cilium/types.d.ts +3 -3
  376. package/dist/factories/cilium/types.d.ts.map +1 -1
  377. package/dist/factories/cnpg/compositions/cnpg-bootstrap.d.ts +1 -0
  378. package/dist/factories/cnpg/compositions/cnpg-bootstrap.d.ts.map +1 -1
  379. package/dist/factories/cnpg/compositions/cnpg-bootstrap.js +48 -0
  380. package/dist/factories/cnpg/compositions/cnpg-bootstrap.js.map +1 -1
  381. package/dist/factories/cnpg/resources/cluster.js +1 -1
  382. package/dist/factories/cnpg/resources/cluster.js.map +1 -1
  383. package/dist/factories/cnpg/resources/helm.d.ts.map +1 -1
  384. package/dist/factories/cnpg/resources/helm.js +1 -0
  385. package/dist/factories/cnpg/resources/helm.js.map +1 -1
  386. package/dist/factories/cnpg/resources/pooler.js +1 -1
  387. package/dist/factories/cnpg/resources/pooler.js.map +1 -1
  388. package/dist/factories/cnpg/types.d.ts +9 -8
  389. package/dist/factories/cnpg/types.d.ts.map +1 -1
  390. package/dist/factories/cnpg/types.js +11 -0
  391. package/dist/factories/cnpg/types.js.map +1 -1
  392. package/dist/factories/external-dns/compositions/external-dns-bootstrap.d.ts.map +1 -1
  393. package/dist/factories/external-dns/compositions/external-dns-bootstrap.js +153 -41
  394. package/dist/factories/external-dns/compositions/external-dns-bootstrap.js.map +1 -1
  395. package/dist/factories/external-dns/resources/dns-endpoint.js +1 -1
  396. package/dist/factories/external-dns/resources/dns-endpoint.js.map +1 -1
  397. package/dist/factories/external-dns/resources/helm.d.ts +1 -1
  398. package/dist/factories/external-dns/resources/helm.d.ts.map +1 -1
  399. package/dist/factories/external-dns/resources/helm.js +17 -10
  400. package/dist/factories/external-dns/resources/helm.js.map +1 -1
  401. package/dist/factories/external-dns/types.d.ts +5 -2
  402. package/dist/factories/external-dns/types.d.ts.map +1 -1
  403. package/dist/factories/external-dns/types.js.map +1 -1
  404. package/dist/factories/flux/git-repository.d.ts.map +1 -1
  405. package/dist/factories/flux/git-repository.js +1 -1
  406. package/dist/factories/flux/git-repository.js.map +1 -1
  407. package/dist/factories/flux/kustomize/kustomization.d.ts +2 -2
  408. package/dist/factories/flux/kustomize/kustomization.d.ts.map +1 -1
  409. package/dist/factories/flux/kustomize/readiness-evaluators.d.ts +1 -1
  410. package/dist/factories/flux/kustomize/readiness-evaluators.d.ts.map +1 -1
  411. package/dist/factories/flux/kustomize/readiness-evaluators.js +1 -1
  412. package/dist/factories/flux/kustomize/readiness-evaluators.js.map +1 -1
  413. package/dist/factories/helm/helm-release.d.ts +3 -2
  414. package/dist/factories/helm/helm-release.d.ts.map +1 -1
  415. package/dist/factories/helm/helm-release.js +1 -0
  416. package/dist/factories/helm/helm-release.js.map +1 -1
  417. package/dist/factories/helm/helm-repository.d.ts +1 -1
  418. package/dist/factories/helm/helm-repository.d.ts.map +1 -1
  419. package/dist/factories/helm/helm-repository.js +6 -4
  420. package/dist/factories/helm/helm-repository.js.map +1 -1
  421. package/dist/factories/helm/readiness-evaluators.d.ts +6 -6
  422. package/dist/factories/helm/readiness-evaluators.d.ts.map +1 -1
  423. package/dist/factories/helm/readiness-evaluators.js +15 -9
  424. package/dist/factories/helm/readiness-evaluators.js.map +1 -1
  425. package/dist/factories/helm/types.d.ts +5 -1
  426. package/dist/factories/helm/types.d.ts.map +1 -1
  427. package/dist/factories/inngest/compositions/inngest-bootstrap.d.ts +1 -0
  428. package/dist/factories/inngest/compositions/inngest-bootstrap.d.ts.map +1 -1
  429. package/dist/factories/inngest/compositions/inngest-bootstrap.js +4 -3
  430. package/dist/factories/inngest/compositions/inngest-bootstrap.js.map +1 -1
  431. package/dist/factories/inngest/resources/helm.js +1 -1
  432. package/dist/factories/inngest/resources/helm.js.map +1 -1
  433. package/dist/factories/inngest/types.d.ts +5 -4
  434. package/dist/factories/inngest/types.d.ts.map +1 -1
  435. package/dist/factories/inngest/types.js +2 -0
  436. package/dist/factories/inngest/types.js.map +1 -1
  437. package/dist/factories/kro/kro-custom-resource.js +1 -1
  438. package/dist/factories/kro/kro-custom-resource.js.map +1 -1
  439. package/dist/factories/kubernetes/config/config-map.d.ts +2 -2
  440. package/dist/factories/kubernetes/config/config-map.d.ts.map +1 -1
  441. package/dist/factories/kubernetes/config/secret.d.ts +2 -2
  442. package/dist/factories/kubernetes/config/secret.d.ts.map +1 -1
  443. package/dist/factories/kubernetes/config/secret.js +11 -1
  444. package/dist/factories/kubernetes/config/secret.js.map +1 -1
  445. package/dist/factories/kubernetes/networking/service.js +1 -1
  446. package/dist/factories/kubernetes/networking/service.js.map +1 -1
  447. package/dist/factories/kubernetes/yaml/yaml-directory.d.ts.map +1 -1
  448. package/dist/factories/kubernetes/yaml/yaml-directory.js +9 -0
  449. package/dist/factories/kubernetes/yaml/yaml-directory.js.map +1 -1
  450. package/dist/factories/kubernetes/yaml/yaml-file.d.ts.map +1 -1
  451. package/dist/factories/kubernetes/yaml/yaml-file.js +9 -0
  452. package/dist/factories/kubernetes/yaml/yaml-file.js.map +1 -1
  453. package/dist/factories/pebble/resources/helm.js.map +1 -1
  454. package/dist/factories/pebble/types.d.ts +2 -2
  455. package/dist/factories/searxng/compositions/index.d.ts +2 -0
  456. package/dist/factories/searxng/compositions/index.d.ts.map +1 -0
  457. package/dist/factories/searxng/compositions/index.js +2 -0
  458. package/dist/factories/searxng/compositions/index.js.map +1 -0
  459. package/dist/factories/searxng/compositions/searxng-bootstrap.d.ts +66 -0
  460. package/dist/factories/searxng/compositions/searxng-bootstrap.d.ts.map +1 -0
  461. package/dist/factories/searxng/compositions/searxng-bootstrap.js +275 -0
  462. package/dist/factories/searxng/compositions/searxng-bootstrap.js.map +1 -0
  463. package/dist/factories/searxng/index.d.ts +29 -0
  464. package/dist/factories/searxng/index.d.ts.map +1 -0
  465. package/dist/factories/searxng/index.js +27 -0
  466. package/dist/factories/searxng/index.js.map +1 -0
  467. package/dist/factories/searxng/resources/index.d.ts +2 -0
  468. package/dist/factories/searxng/resources/index.d.ts.map +1 -0
  469. package/dist/factories/searxng/resources/index.js +2 -0
  470. package/dist/factories/searxng/resources/index.js.map +1 -0
  471. package/dist/factories/searxng/resources/searxng.d.ts +65 -0
  472. package/dist/factories/searxng/resources/searxng.d.ts.map +1 -0
  473. package/dist/factories/searxng/resources/searxng.js +188 -0
  474. package/dist/factories/searxng/resources/searxng.js.map +1 -0
  475. package/dist/factories/searxng/types.d.ts +127 -0
  476. package/dist/factories/searxng/types.d.ts.map +1 -0
  477. package/dist/factories/searxng/types.js +177 -0
  478. package/dist/factories/searxng/types.js.map +1 -0
  479. package/dist/factories/searxng/utils/settings-builder.d.ts +47 -0
  480. package/dist/factories/searxng/utils/settings-builder.d.ts.map +1 -0
  481. package/dist/factories/searxng/utils/settings-builder.js +53 -0
  482. package/dist/factories/searxng/utils/settings-builder.js.map +1 -0
  483. package/dist/factories/simple/config/config-map.d.ts +2 -2
  484. package/dist/factories/simple/config/config-map.d.ts.map +1 -1
  485. package/dist/factories/simple/config/secret.d.ts +2 -2
  486. package/dist/factories/simple/config/secret.d.ts.map +1 -1
  487. package/dist/factories/simple/config/secret.js +28 -0
  488. package/dist/factories/simple/config/secret.js.map +1 -1
  489. package/dist/factories/simple/helm/index.d.ts +1 -1
  490. package/dist/factories/simple/helm/index.d.ts.map +1 -1
  491. package/dist/factories/simple/helm/index.js.map +1 -1
  492. package/dist/factories/simple/storage/persistent-volume.js.map +1 -1
  493. package/dist/factories/simple/types.d.ts +11 -1
  494. package/dist/factories/simple/types.d.ts.map +1 -1
  495. package/dist/factories/simple/workloads/deployment.d.ts.map +1 -1
  496. package/dist/factories/simple/workloads/deployment.js +3 -0
  497. package/dist/factories/simple/workloads/deployment.js.map +1 -1
  498. package/dist/factories/valkey/compositions/valkey-bootstrap.d.ts +1 -0
  499. package/dist/factories/valkey/compositions/valkey-bootstrap.d.ts.map +1 -1
  500. package/dist/factories/valkey/compositions/valkey-bootstrap.js +116 -0
  501. package/dist/factories/valkey/compositions/valkey-bootstrap.js.map +1 -1
  502. package/dist/factories/valkey/resources/valkey.js +1 -1
  503. package/dist/factories/valkey/resources/valkey.js.map +1 -1
  504. package/dist/factories/valkey/types.d.ts +6 -5
  505. package/dist/factories/valkey/types.d.ts.map +1 -1
  506. package/dist/factories/valkey/types.js +10 -0
  507. package/dist/factories/valkey/types.js.map +1 -1
  508. package/dist/factories/webapp/compositions/web-app-with-processing.d.ts +95 -12
  509. package/dist/factories/webapp/compositions/web-app-with-processing.d.ts.map +1 -1
  510. package/dist/factories/webapp/compositions/web-app-with-processing.js +185 -26
  511. package/dist/factories/webapp/compositions/web-app-with-processing.js.map +1 -1
  512. package/dist/factories/webapp/index.d.ts +3 -4
  513. package/dist/factories/webapp/index.d.ts.map +1 -1
  514. package/dist/factories/webapp/index.js +3 -4
  515. package/dist/factories/webapp/index.js.map +1 -1
  516. package/dist/factories/webapp/types.d.ts +60 -2
  517. package/dist/factories/webapp/types.d.ts.map +1 -1
  518. package/dist/factories/webapp/types.js +80 -3
  519. package/dist/factories/webapp/types.js.map +1 -1
  520. package/dist/index.d.ts +2 -0
  521. package/dist/index.d.ts.map +1 -1
  522. package/dist/index.js +1 -0
  523. package/dist/index.js.map +1 -1
  524. package/dist/shared/brands.d.ts +18 -8
  525. package/dist/shared/brands.d.ts.map +1 -1
  526. package/dist/shared/brands.js +19 -9
  527. package/dist/shared/brands.js.map +1 -1
  528. package/dist/utils/cel-escape.d.ts +12 -0
  529. package/dist/utils/cel-escape.d.ts.map +1 -0
  530. package/dist/utils/cel-escape.js +19 -0
  531. package/dist/utils/cel-escape.js.map +1 -0
  532. package/package.json +7 -2
@@ -1,23 +1,46 @@
1
1
  /**
2
2
  * Full-Stack Web Application with Background Processing
3
3
  *
4
- * Deploys a complete application stack:
5
- * 1. **PostgreSQL** (via CNPG) cluster + PgBouncer pooler
6
- * 2. **Valkey** cache cluster
7
- * 3. **Inngest** workflow engine (with external DB/cache, not bundled)
8
- * 4. **Application** Deployment + Service
4
+ * Deploys a complete, self-contained application stack. The composition
5
+ * installs its own operators AND the application resources managed by
6
+ * those operators callers don't need to pre-install anything other
7
+ * than the TypeKro runtime (Flux + KRO) on the target cluster.
8
+ *
9
+ * **Operators** (installed by nested bootstraps):
10
+ * 1. **CloudNativePG operator** (via `cnpgBootstrap`) — manages the
11
+ * PostgreSQL cluster. Installs into `cnpg-system` by default.
12
+ * 2. **Hyperspike Valkey operator** (via `valkeyBootstrap`) — manages
13
+ * the Valkey cache cluster. Installs into `valkey-operator-system`
14
+ * by default.
15
+ * 3. **Inngest** (via `inngestBootstrap`) — the workflow engine itself
16
+ * is installed via a Helm release alongside the app. Bundled
17
+ * Postgres/Redis are disabled; Inngest uses the CNPG and Valkey
18
+ * instances from this composition.
19
+ *
20
+ * **Application resources** (created in the app namespace, managed by
21
+ * the operators above):
22
+ * 1. **PostgreSQL cluster** (CNPG `Cluster`) + PgBouncer `Pooler`
23
+ * 2. **Valkey cache cluster** (Hyperspike `Valkey` CR) + explicit
24
+ * ClusterIP Service (KRO prunes unowned Services otherwise)
25
+ * 3. **Application** `Deployment` + `Service`
9
26
  *
10
27
  * All connection strings are automatically wired into the app's environment:
11
28
  * - `DATABASE_URL` — points to the PgBouncer pooler
12
29
  * - `VALKEY_URL` / `REDIS_URL` — points to the Valkey service
13
30
  * - `INNGEST_BASE_URL` — points to the Inngest server
14
- * - `INNGEST_EVENT_KEY` / `INNGEST_SIGNING_KEY` — from config
31
+ * - `INNGEST_EVENT_KEY` / `INNGEST_SIGNING_KEY` — injected from a generated Secret via envFrom
15
32
  *
16
33
  * Resource dependencies are expressed through proxy references:
17
34
  * - Inngest references `cache.metadata.name` for the redis URI → deploys after Valkey
18
35
  * - Inngest references `database.status.writeService` for the postgres URI → deploys after CNPG
19
36
  * - App references service names derived from resource names → deploys after all infra
20
37
  *
38
+ * Operator install settings can be overridden per-deployment via
39
+ * `spec.cnpgOperator` and `spec.valkeyOperator` — e.g., to pin chart
40
+ * versions or change the install namespace. Both fields are optional;
41
+ * defaults install the latest pinned version into each operator's
42
+ * system namespace.
43
+ *
21
44
  * @example
22
45
  * ```typescript
23
46
  * import { webAppWithProcessing } from 'typekro/webapp';
@@ -28,29 +51,31 @@
28
51
  * });
29
52
  *
30
53
  * await factory.deploy({
31
- * name: 'collectorbills',
54
+ * name: 'my-app',
32
55
  * namespace: 'production',
33
56
  * app: {
34
- * image: 'collectorbills:latest',
35
- * port: 5173,
57
+ * image: 'my-app:latest',
58
+ * port: 3000,
36
59
  * replicas: 2,
37
60
  * env: {
38
61
  * NODE_ENV: 'production',
39
- * BETTER_AUTH_SECRET: 'your-secret',
40
62
  * },
41
63
  * },
42
64
  * database: {
43
65
  * instances: 3,
44
66
  * storageSize: '50Gi',
45
67
  * storageClass: 'gp3',
46
- * database: 'collector_bills',
68
+ * database: 'myapp',
47
69
  * },
48
70
  * cache: { shards: 3, replicas: 1 },
49
71
  * processing: {
50
72
  * eventKey: 'deadbeef0123456789abcdef01234567',
51
73
  * signingKey: 'deadbeef0123456789abcdef0123456789abcdef0123456789abcdef01234567',
52
- * sdkUrl: ['http://collectorbills:5173/api/inngest'],
74
+ * sdkUrl: ['http://my-app:3000/api/inngest'],
53
75
  * },
76
+ * // Operators install with sensible defaults; override only if
77
+ * // you need a specific chart version or custom install namespace.
78
+ * cnpgOperator: { version: '0.23.0' },
54
79
  * });
55
80
  * ```
56
81
  */
@@ -61,6 +86,21 @@ export declare const webAppWithProcessing: import("../../../index.js").CallableC
61
86
  port?: number;
62
87
  replicas?: number;
63
88
  env?: Record<string, string>;
89
+ envFrom?: ({
90
+ secretRef: {
91
+ name: string;
92
+ optional?: boolean;
93
+ };
94
+ prefix?: string;
95
+ configMapRef?: never;
96
+ } | {
97
+ configMapRef: {
98
+ name: string;
99
+ optional?: boolean;
100
+ };
101
+ prefix?: string;
102
+ secretRef?: never;
103
+ })[];
64
104
  };
65
105
  database: {
66
106
  storageSize: string;
@@ -74,6 +114,16 @@ export declare const webAppWithProcessing: import("../../../index.js").CallableC
74
114
  signingKey: string;
75
115
  sdkUrl?: string[];
76
116
  replicas?: number;
117
+ resources?: {
118
+ requests?: {
119
+ cpu?: string;
120
+ memory?: string;
121
+ };
122
+ limits?: {
123
+ cpu?: string;
124
+ memory?: string;
125
+ };
126
+ };
77
127
  };
78
128
  namespace?: string;
79
129
  cache?: {
@@ -82,10 +132,43 @@ export declare const webAppWithProcessing: import("../../../index.js").CallableC
82
132
  volumePermissions?: boolean;
83
133
  storageSize?: string;
84
134
  };
135
+ cnpgOperator?: {
136
+ name?: string;
137
+ namespace?: string;
138
+ version?: string;
139
+ installCRDs?: boolean;
140
+ replicaCount?: number;
141
+ monitoring?: {
142
+ enabled?: boolean;
143
+ };
144
+ resources?: {
145
+ requests?: {
146
+ cpu?: string;
147
+ memory?: string;
148
+ };
149
+ limits?: {
150
+ cpu?: string;
151
+ memory?: string;
152
+ };
153
+ };
154
+ customValues?: Record<string, unknown>;
155
+ shared?: boolean;
156
+ };
157
+ valkeyOperator?: {
158
+ name?: string;
159
+ namespace?: string;
160
+ version?: string;
161
+ customValues?: Record<string, unknown>;
162
+ shared?: boolean;
163
+ };
85
164
  }, {
86
165
  ready: boolean;
87
166
  databaseUrl: string;
167
+ databaseHost: string;
168
+ databasePort: number;
88
169
  cacheUrl: string;
170
+ cacheHost: string;
171
+ cachePort: number;
89
172
  inngestUrl: string;
90
173
  appUrl: string;
91
174
  components: {
@@ -1 +1 @@
1
- {"version":3,"file":"web-app-with-processing.d.ts","sourceRoot":"","sources":["../../../../src/factories/webapp/compositions/web-app-with-processing.ts"],"names":[],"mappings":"AAYA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgLhC,CAAC"}
1
+ {"version":3,"file":"web-app-with-processing.d.ts","sourceRoot":"","sources":["../../../../src/factories/webapp/compositions/web-app-with-processing.ts"],"names":[],"mappings":"AAkBA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgFG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsThC,CAAC"}
@@ -1,30 +1,58 @@
1
1
  import { kubernetesComposition } from '../../../core/composition/imperative.js';
2
+ import { singleton } from '../../../core/singleton/singleton.js';
3
+ import { isKubernetesRef } from '../../../utils/type-guards.js';
4
+ import { cnpgBootstrap } from '../../cnpg/compositions/cnpg-bootstrap.js';
2
5
  import { cluster } from '../../cnpg/resources/cluster.js';
6
+ import { secret } from '../../kubernetes/config/secret.js';
3
7
  import { pooler } from '../../cnpg/resources/pooler.js';
4
8
  import { inngestBootstrap } from '../../inngest/compositions/inngest-bootstrap.js';
5
9
  import { simple } from '../../simple/index.js';
10
+ import { valkeyBootstrap } from '../../valkey/compositions/valkey-bootstrap.js';
6
11
  import { valkey } from '../../valkey/resources/valkey.js';
7
12
  import { WebAppWithProcessingConfigSchema, WebAppWithProcessingStatusSchema, } from '../types.js';
8
13
  /**
9
14
  * Full-Stack Web Application with Background Processing
10
15
  *
11
- * Deploys a complete application stack:
12
- * 1. **PostgreSQL** (via CNPG) cluster + PgBouncer pooler
13
- * 2. **Valkey** cache cluster
14
- * 3. **Inngest** workflow engine (with external DB/cache, not bundled)
15
- * 4. **Application** Deployment + Service
16
+ * Deploys a complete, self-contained application stack. The composition
17
+ * installs its own operators AND the application resources managed by
18
+ * those operators callers don't need to pre-install anything other
19
+ * than the TypeKro runtime (Flux + KRO) on the target cluster.
20
+ *
21
+ * **Operators** (installed by nested bootstraps):
22
+ * 1. **CloudNativePG operator** (via `cnpgBootstrap`) — manages the
23
+ * PostgreSQL cluster. Installs into `cnpg-system` by default.
24
+ * 2. **Hyperspike Valkey operator** (via `valkeyBootstrap`) — manages
25
+ * the Valkey cache cluster. Installs into `valkey-operator-system`
26
+ * by default.
27
+ * 3. **Inngest** (via `inngestBootstrap`) — the workflow engine itself
28
+ * is installed via a Helm release alongside the app. Bundled
29
+ * Postgres/Redis are disabled; Inngest uses the CNPG and Valkey
30
+ * instances from this composition.
31
+ *
32
+ * **Application resources** (created in the app namespace, managed by
33
+ * the operators above):
34
+ * 1. **PostgreSQL cluster** (CNPG `Cluster`) + PgBouncer `Pooler`
35
+ * 2. **Valkey cache cluster** (Hyperspike `Valkey` CR) + explicit
36
+ * ClusterIP Service (KRO prunes unowned Services otherwise)
37
+ * 3. **Application** `Deployment` + `Service`
16
38
  *
17
39
  * All connection strings are automatically wired into the app's environment:
18
40
  * - `DATABASE_URL` — points to the PgBouncer pooler
19
41
  * - `VALKEY_URL` / `REDIS_URL` — points to the Valkey service
20
42
  * - `INNGEST_BASE_URL` — points to the Inngest server
21
- * - `INNGEST_EVENT_KEY` / `INNGEST_SIGNING_KEY` — from config
43
+ * - `INNGEST_EVENT_KEY` / `INNGEST_SIGNING_KEY` — injected from a generated Secret via envFrom
22
44
  *
23
45
  * Resource dependencies are expressed through proxy references:
24
46
  * - Inngest references `cache.metadata.name` for the redis URI → deploys after Valkey
25
47
  * - Inngest references `database.status.writeService` for the postgres URI → deploys after CNPG
26
48
  * - App references service names derived from resource names → deploys after all infra
27
49
  *
50
+ * Operator install settings can be overridden per-deployment via
51
+ * `spec.cnpgOperator` and `spec.valkeyOperator` — e.g., to pin chart
52
+ * versions or change the install namespace. Both fields are optional;
53
+ * defaults install the latest pinned version into each operator's
54
+ * system namespace.
55
+ *
28
56
  * @example
29
57
  * ```typescript
30
58
  * import { webAppWithProcessing } from 'typekro/webapp';
@@ -35,29 +63,31 @@ import { WebAppWithProcessingConfigSchema, WebAppWithProcessingStatusSchema, } f
35
63
  * });
36
64
  *
37
65
  * await factory.deploy({
38
- * name: 'collectorbills',
66
+ * name: 'my-app',
39
67
  * namespace: 'production',
40
68
  * app: {
41
- * image: 'collectorbills:latest',
42
- * port: 5173,
69
+ * image: 'my-app:latest',
70
+ * port: 3000,
43
71
  * replicas: 2,
44
72
  * env: {
45
73
  * NODE_ENV: 'production',
46
- * BETTER_AUTH_SECRET: 'your-secret',
47
74
  * },
48
75
  * },
49
76
  * database: {
50
77
  * instances: 3,
51
78
  * storageSize: '50Gi',
52
79
  * storageClass: 'gp3',
53
- * database: 'collector_bills',
80
+ * database: 'myapp',
54
81
  * },
55
82
  * cache: { shards: 3, replicas: 1 },
56
83
  * processing: {
57
84
  * eventKey: 'deadbeef0123456789abcdef01234567',
58
85
  * signingKey: 'deadbeef0123456789abcdef0123456789abcdef0123456789abcdef01234567',
59
- * sdkUrl: ['http://collectorbills:5173/api/inngest'],
86
+ * sdkUrl: ['http://my-app:3000/api/inngest'],
60
87
  * },
88
+ * // Operators install with sensible defaults; override only if
89
+ * // you need a specific chart version or custom install namespace.
90
+ * cnpgOperator: { version: '0.23.0' },
61
91
  * });
62
92
  * ```
63
93
  */
@@ -71,8 +101,55 @@ export const webAppWithProcessing = kubernetesComposition({
71
101
  const appPort = spec.app.port ?? 3000;
72
102
  const appReplicas = spec.app.replicas ?? 1;
73
103
  const inngestReplicas = spec.processing.replicas ?? 1;
74
- const dbName = spec.database.database ?? spec.name;
104
+ // Defaults for optional DB fields. These literals are picked up by
105
+ // `extractNullishDefaults` and propagated to the outer KRO schema as
106
+ // `| default="..."` annotations (see schema.ts). Using schema-ref
107
+ // fallbacks (e.g., `spec.name`) does NOT work in KRO mode because
108
+ // the schema proxy is truthy and `??` never fires — KRO also has
109
+ // no way to express a cross-field schema default statically.
110
+ const dbName = spec.database.database ?? 'app';
75
111
  const dbOwner = spec.database.owner ?? 'app';
112
+ // ── Operator bootstraps ────────────────────────────────────────────
113
+ //
114
+ // Install the CNPG and Valkey operators as part of the composition
115
+ // so consumers get a fully self-contained stack. The bootstraps run
116
+ // in their own system namespaces (not the app namespace) and install
117
+ // cluster-scoped operators; the later `cluster()`/`valkey()` calls
118
+ // create instances in the app namespace managed by those operators.
119
+ //
120
+ // Operators are cluster-scoped infrastructure — one install per
121
+ // cluster serves every consumer. Use singleton(...) so KRO-mode
122
+ // consumers reference the shared operator boundary instead of
123
+ // inlining the operator bootstrap resources into every app graph.
124
+ //
125
+ // Users who need a dedicated per-instance operator (multi-tenancy,
126
+ // version testing, isolated failure domains) can override any
127
+ // combination of fields via `spec.cnpgOperator` / `spec.valkeyOperator` —
128
+ // e.g., `{ name: 'testapp-cnpg', namespace: 'testapp-cnpg-system', shared: false }`.
129
+ // The spread puts user overrides AFTER the defaults so they win.
130
+ // Operator bootstrap config: merge user overrides AFTER defaults.
131
+ // Use explicit ?? fallbacks for name/namespace instead of relying on
132
+ // object-literal-before-spread ordering — the spread of an optional
133
+ // spec field produces schema refs that get wrapped with omit(), but
134
+ // metadata.name is required and cannot be omitted. The ?? ensures
135
+ // the default is expressed as a KRO orValue/default, not omit().
136
+ const _cnpg = singleton(cnpgBootstrap, {
137
+ id: 'cnpg-operator',
138
+ spec: {
139
+ ...spec.cnpgOperator,
140
+ name: spec.cnpgOperator?.name ?? 'cnpg-operator',
141
+ namespace: spec.cnpgOperator?.namespace ?? 'cnpg-system',
142
+ installCRDs: spec.cnpgOperator?.installCRDs ?? true,
143
+ },
144
+ });
145
+ const _valkeyOp = singleton(valkeyBootstrap, {
146
+ id: 'valkey-operator',
147
+ spec: {
148
+ ...spec.valkeyOperator,
149
+ name: spec.valkeyOperator?.name ?? 'valkey-operator',
150
+ namespace: spec.valkeyOperator?.namespace ?? 'valkey-operator-system',
151
+ },
152
+ });
76
153
  // ── PostgreSQL (CNPG) ──────────────────────────────────────────────
77
154
  const database = cluster({
78
155
  name: `${spec.name}-db`,
@@ -117,9 +194,24 @@ export const webAppWithProcessing = kubernetesComposition({
117
194
  },
118
195
  id: 'cache',
119
196
  });
120
- // The Valkey operator creates a client Service for each Valkey CR, but KRO's
121
- // applyset pruning deletes Services it doesn't manage. Declare the cache
122
- // Service explicitly so KRO includes it in its applyset and doesn't prune it.
197
+ // KRO applyset pruning workaround (upstream: kubernetes-sigs/kro#1153).
198
+ //
199
+ // The Hyperspike Valkey operator copies ALL parent labels to child
200
+ // resources. KRO stamps applyset labels on the Valkey CR, so the
201
+ // operator propagates them to children (ConfigMap, headless Service,
202
+ // etc.). KRO's pruner then treats those children as applyset members
203
+ // and deletes any whose GK is already in `contains-group-kinds` but
204
+ // whose UID isn't in `keepUIDs` — creating an infinite create/delete
205
+ // loop. KRO closed this as "expected behavior"; the fix belongs on
206
+ // the operator side, but Hyperspike has no label-propagation opt-out.
207
+ //
208
+ // Workaround: pre-declare the operator-created resources as typekro
209
+ // graph nodes so KRO claims them with their own `kro.run/node-id`
210
+ // label. The operator's upsert then patches the existing resource
211
+ // instead of creating a new one with inherited applyset labels.
212
+ //
213
+ // TODO: remove when migrating to valkey-io/valkey-operator, which
214
+ // is unlikely to have this label-copying behavior.
123
215
  simple.Service({
124
216
  name: `${spec.name}-cache`,
125
217
  namespace: ns,
@@ -130,6 +222,12 @@ export const webAppWithProcessing = kubernetesComposition({
130
222
  ports: [{ port: 6379, targetPort: 6379 }],
131
223
  id: 'cacheService',
132
224
  });
225
+ simple.ConfigMap({
226
+ name: `${spec.name}-cache`,
227
+ namespace: ns,
228
+ data: {},
229
+ id: 'cacheConfigMap',
230
+ });
133
231
  // ── Database credentials ──────────────────────────────────────────────
134
232
  // CNPG auto-generates a Secret named {cluster}-{owner} during bootstrap.
135
233
  // Validated against CNPG v1.25 (cloudnative-pg chart 0.23.0).
@@ -137,30 +235,53 @@ export const webAppWithProcessing = kubernetesComposition({
137
235
  // KRO reconciliation (KRO waits for external refs to exist before creating
138
236
  // dependent resources, but the Secret only exists after CNPG bootstraps).
139
237
  const dbSecretName = `${spec.name}-db-${dbOwner}`;
238
+ const inngestRepositoryName = `${spec.name}-${ns}-inngest-repo`;
140
239
  // ── Inngest (with external DB + cache) ──────────────────────────────
141
- // database.status.writeService creates an implicit deployment dependency:
142
- // the dependency resolver detects the reference and adds a DAG edge,
143
- // ensuring the database is ready BEFORE Inngest deploys. The actual
144
- // postgres credentials are injected via the CNPG Secret (secretKeyRef below).
145
- const inngest = inngestBootstrap({
240
+ // The actual postgres credentials are injected via the CNPG Secret
241
+ // (secretKeyRef below). Use the deterministic pooler host here instead of
242
+ // database.status.writeService so nested compositions do not leak an inner
243
+ // resource status marker into the parent deployment graph.
244
+ const inngestBootstrapApp = inngestBootstrap({
146
245
  name: `${spec.name}-inngest`,
147
246
  namespace: ns,
247
+ repositoryName: inngestRepositoryName,
148
248
  inngest: {
149
249
  eventKey: spec.processing.eventKey,
150
250
  signingKey: spec.processing.signingKey,
151
- postgres: { uri: `postgresql://${dbOwner}@${database.status.writeService}:5432/${dbName}` },
251
+ postgres: { uri: `postgresql://${dbOwner}@${dbPooler.metadata.name}:5432/${dbName}` },
152
252
  redis: { uri: `redis://${cache.metadata.name}:6379` },
153
253
  sdkUrl: spec.processing.sdkUrl,
154
254
  },
155
255
  postgresql: { enabled: false },
156
256
  redis: { enabled: false },
157
257
  replicaCount: inngestReplicas,
258
+ ...(spec.processing.resources ? { resources: spec.processing.resources } : {}),
158
259
  // Deploy Inngest pods in the same namespace as CNPG (for Secret access)
159
260
  // and inject the real postgres URI from the CNPG Secret via secretKeyRef.
160
261
  customValues: {
161
262
  namespace: { create: false, name: ns },
162
263
  inngest: {
264
+ eventKey: undefined,
265
+ signingKey: undefined,
163
266
  extraEnv: [
267
+ {
268
+ name: 'INNGEST_EVENT_KEY',
269
+ valueFrom: {
270
+ secretKeyRef: {
271
+ name: `${spec.name}-inngest-credentials`,
272
+ key: 'INNGEST_EVENT_KEY',
273
+ },
274
+ },
275
+ },
276
+ {
277
+ name: 'INNGEST_SIGNING_KEY',
278
+ valueFrom: {
279
+ secretKeyRef: {
280
+ name: `${spec.name}-inngest-credentials`,
281
+ key: 'INNGEST_SIGNING_KEY',
282
+ },
283
+ },
284
+ },
164
285
  {
165
286
  name: 'INNGEST_POSTGRES_URI',
166
287
  valueFrom: {
@@ -174,16 +295,49 @@ export const webAppWithProcessing = kubernetesComposition({
174
295
  },
175
296
  },
176
297
  });
298
+ // Inngest needs cache to be ready before it can connect to Redis.
299
+ // cache.metadata.name is deterministic and gets inlined to a schema
300
+ // ref, so KRO sees no implicit dependency. dependsOn creates an
301
+ // explicit readyWhen on inngest's leaf resource.
302
+ inngestBootstrapApp.dependsOn?.(cache);
303
+ inngestBootstrapApp.dependsOn?.(database);
304
+ inngestBootstrapApp.dependsOn?.(dbPooler);
305
+ // ── Inngest credentials Secret ──────────────────────────────────────
306
+ //
307
+ // The Inngest event key and signing key are sensitive — store them
308
+ // in a K8s Secret rather than plaintext in the Deployment env.
309
+ // Both the app and the Inngest server need these: the app sends
310
+ // events with the event key and validates webhooks with the signing
311
+ // key; the Inngest server uses them to authenticate SDK connections.
312
+ const inngestSecretName = `${spec.name}-inngest-credentials`;
313
+ secret({
314
+ metadata: {
315
+ name: inngestSecretName,
316
+ namespace: ns,
317
+ },
318
+ stringData: {
319
+ INNGEST_EVENT_KEY: spec.processing.eventKey,
320
+ INNGEST_SIGNING_KEY: spec.processing.signingKey,
321
+ },
322
+ id: 'inngestCredentials',
323
+ });
177
324
  // ── Application ─────────────────────────────────────────────────────
178
325
  const appEnv = {
179
326
  DATABASE_URL: `postgresql://${dbOwner}@${dbPooler.metadata.name}:5432/${dbName}`,
180
327
  VALKEY_URL: `redis://${cache.metadata.name}:6379`,
181
328
  REDIS_URL: `redis://${cache.metadata.name}:6379`,
182
329
  INNGEST_BASE_URL: `http://${spec.name}-inngest:8288`,
183
- INNGEST_EVENT_KEY: spec.processing.eventKey,
184
- INNGEST_SIGNING_KEY: spec.processing.signingKey,
330
+ // INNGEST_EVENT_KEY and INNGEST_SIGNING_KEY injected via the
331
+ // inngest credentials Secret (envFrom below) — not plaintext.
185
332
  ...spec.app.env,
186
333
  };
334
+ // The inngest Secret is listed FIRST so user-provided envFrom sources can
335
+ // override INNGEST_EVENT_KEY / INNGEST_SIGNING_KEY if they provide their
336
+ // own Secret containing those keys (last-write-wins in K8s envFrom ordering).
337
+ const userAppEnvFrom = spec.app.envFrom;
338
+ const appEnvFrom = isKubernetesRef(userAppEnvFrom)
339
+ ? [{ secretRef: { name: inngestSecretName } }]
340
+ : [{ secretRef: { name: inngestSecretName } }, ...(userAppEnvFrom ?? [])];
187
341
  const app = simple.Deployment({
188
342
  name: spec.name,
189
343
  namespace: ns,
@@ -191,6 +345,7 @@ export const webAppWithProcessing = kubernetesComposition({
191
345
  replicas: appReplicas,
192
346
  ports: [{ containerPort: appPort }],
193
347
  env: appEnv,
348
+ envFrom: appEnvFrom,
194
349
  id: 'app',
195
350
  });
196
351
  simple.Service({
@@ -205,16 +360,20 @@ export const webAppWithProcessing = kubernetesComposition({
205
360
  ready: app.status.readyReplicas >= appReplicas &&
206
361
  database.status.readyInstances >= (spec.database.instances ?? 1) &&
207
362
  cache.status.ready &&
208
- inngest.status.ready,
363
+ inngestBootstrapApp.status.ready,
209
364
  databaseUrl: `postgresql://${dbOwner}@${dbPooler.metadata.name}:5432/${dbName}`,
365
+ databaseHost: `${dbPooler.metadata.name}`,
366
+ databasePort: 5432,
210
367
  cacheUrl: `redis://${cache.metadata.name}:6379`,
368
+ cacheHost: `${cache.metadata.name}`,
369
+ cachePort: 6379,
211
370
  inngestUrl: `http://${spec.name}-inngest:8288`,
212
371
  appUrl: `http://${spec.name}:${appPort}`,
213
372
  components: {
214
373
  app: app.status.readyReplicas >= appReplicas,
215
374
  database: database.status.readyInstances >= (spec.database.instances ?? 1),
216
375
  cache: cache.status.ready,
217
- inngest: inngest.status.ready,
376
+ inngest: inngestBootstrapApp.status.ready,
218
377
  },
219
378
  };
220
379
  });
@@ -1 +1 @@
1
- {"version":3,"file":"web-app-with-processing.js","sourceRoot":"","sources":["../../../../src/factories/webapp/compositions/web-app-with-processing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"web-app-with-processing.js","sourceRoot":"","sources":["../../../../src/factories/webapp/compositions/web-app-with-processing.ts"],"names":[],"mappings":"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"}
@@ -13,10 +13,9 @@
13
13
  * exposes these URLs for debugging or wiring additional services.
14
14
  *
15
15
  * ## Prerequisites
16
- * The following operators must be installed in the cluster:
17
- * - CloudNativePG operator (`typekro/cnpg` bootstrap)
18
- * - Hyperspike Valkey operator (`typekro/valkey` bootstrap)
19
- * - Flux CD (for Inngest HelmRelease)
16
+ * Install the TypeKro runtime (Flux + KRO). The composition bootstraps the
17
+ * CloudNativePG and Hyperspike Valkey operators itself as shared singleton
18
+ * dependencies.
20
19
  *
21
20
  * @example
22
21
  * ```typescript
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/factories/webapp/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,cAAc,yBAAyB,CAAC;AACxC,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/factories/webapp/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,cAAc,yBAAyB,CAAC;AACxC,cAAc,YAAY,CAAC"}
@@ -13,10 +13,9 @@
13
13
  * exposes these URLs for debugging or wiring additional services.
14
14
  *
15
15
  * ## Prerequisites
16
- * The following operators must be installed in the cluster:
17
- * - CloudNativePG operator (`typekro/cnpg` bootstrap)
18
- * - Hyperspike Valkey operator (`typekro/valkey` bootstrap)
19
- * - Flux CD (for Inngest HelmRelease)
16
+ * Install the TypeKro runtime (Flux + KRO). The composition bootstraps the
17
+ * CloudNativePG and Hyperspike Valkey operators itself as shared singleton
18
+ * dependencies.
20
19
  *
21
20
  * @example
22
21
  * ```typescript
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/factories/webapp/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,cAAc,yBAAyB,CAAC;AACxC,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/factories/webapp/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,cAAc,yBAAyB,CAAC;AACxC,cAAc,YAAY,CAAC"}