typekro 0.5.0 → 0.8.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 (345) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/compositions/typekro-runtime/typekro-runtime.d.ts +1 -1
  3. package/dist/compositions/typekro-runtime/typekro-runtime.d.ts.map +1 -1
  4. package/dist/compositions/typekro-runtime/typekro-runtime.js +16 -2
  5. package/dist/compositions/typekro-runtime/typekro-runtime.js.map +1 -1
  6. package/dist/core/composition/context.d.ts +14 -0
  7. package/dist/core/composition/context.d.ts.map +1 -1
  8. package/dist/core/composition/context.js.map +1 -1
  9. package/dist/core/composition/imperative.d.ts.map +1 -1
  10. package/dist/core/composition/imperative.js +59 -30
  11. package/dist/core/composition/imperative.js.map +1 -1
  12. package/dist/core/composition/nested-status-cel.d.ts +50 -0
  13. package/dist/core/composition/nested-status-cel.d.ts.map +1 -0
  14. package/dist/core/composition/nested-status-cel.js +169 -0
  15. package/dist/core/composition/nested-status-cel.js.map +1 -0
  16. package/dist/core/constants/brands.d.ts +1 -1
  17. package/dist/core/constants/brands.d.ts.map +1 -1
  18. package/dist/core/constants/brands.js +1 -1
  19. package/dist/core/constants/brands.js.map +1 -1
  20. package/dist/core/containers/build.d.ts +50 -0
  21. package/dist/core/containers/build.d.ts.map +1 -0
  22. package/dist/core/containers/build.js +146 -0
  23. package/dist/core/containers/build.js.map +1 -0
  24. package/dist/core/containers/errors.d.ts +14 -0
  25. package/dist/core/containers/errors.d.ts.map +1 -0
  26. package/dist/core/containers/errors.js +48 -0
  27. package/dist/core/containers/errors.js.map +1 -0
  28. package/dist/core/containers/exec.d.ts +36 -0
  29. package/dist/core/containers/exec.d.ts.map +1 -0
  30. package/dist/core/containers/exec.js +110 -0
  31. package/dist/core/containers/exec.js.map +1 -0
  32. package/dist/core/containers/index.d.ts +21 -0
  33. package/dist/core/containers/index.d.ts.map +1 -0
  34. package/dist/core/containers/index.js +20 -0
  35. package/dist/core/containers/index.js.map +1 -0
  36. package/dist/core/containers/registries/ecr.d.ts +22 -0
  37. package/dist/core/containers/registries/ecr.d.ts.map +1 -0
  38. package/dist/core/containers/registries/ecr.js +118 -0
  39. package/dist/core/containers/registries/ecr.js.map +1 -0
  40. package/dist/core/containers/registries/index.d.ts +9 -0
  41. package/dist/core/containers/registries/index.d.ts.map +1 -0
  42. package/dist/core/containers/registries/index.js +23 -0
  43. package/dist/core/containers/registries/index.js.map +1 -0
  44. package/dist/core/containers/registries/orbstack.d.ts +14 -0
  45. package/dist/core/containers/registries/orbstack.d.ts.map +1 -0
  46. package/dist/core/containers/registries/orbstack.js +24 -0
  47. package/dist/core/containers/registries/orbstack.js.map +1 -0
  48. package/dist/core/containers/registries/types.d.ts +94 -0
  49. package/dist/core/containers/registries/types.d.ts.map +1 -0
  50. package/dist/core/containers/registries/types.js +11 -0
  51. package/dist/core/containers/registries/types.js.map +1 -0
  52. package/dist/core/dependencies/graph.d.ts +4 -0
  53. package/dist/core/dependencies/graph.d.ts.map +1 -1
  54. package/dist/core/dependencies/graph.js +6 -0
  55. package/dist/core/dependencies/graph.js.map +1 -1
  56. package/dist/core/dependencies/resolver.d.ts +28 -0
  57. package/dist/core/dependencies/resolver.d.ts.map +1 -1
  58. package/dist/core/dependencies/resolver.js +138 -5
  59. package/dist/core/dependencies/resolver.js.map +1 -1
  60. package/dist/core/deployment/direct-factory.d.ts +13 -0
  61. package/dist/core/deployment/direct-factory.d.ts.map +1 -1
  62. package/dist/core/deployment/direct-factory.js +99 -0
  63. package/dist/core/deployment/direct-factory.js.map +1 -1
  64. package/dist/core/deployment/engine.d.ts.map +1 -1
  65. package/dist/core/deployment/engine.js +45 -2
  66. package/dist/core/deployment/engine.js.map +1 -1
  67. package/dist/core/deployment/kro-factory.d.ts +28 -0
  68. package/dist/core/deployment/kro-factory.d.ts.map +1 -1
  69. package/dist/core/deployment/kro-factory.js +243 -13
  70. package/dist/core/deployment/kro-factory.js.map +1 -1
  71. package/dist/core/deployment/kro-readiness.d.ts.map +1 -1
  72. package/dist/core/deployment/kro-readiness.js +10 -1
  73. package/dist/core/deployment/kro-readiness.js.map +1 -1
  74. package/dist/core/deployment/nested-composition-status.d.ts +33 -0
  75. package/dist/core/deployment/nested-composition-status.d.ts.map +1 -0
  76. package/dist/core/deployment/nested-composition-status.js +101 -0
  77. package/dist/core/deployment/nested-composition-status.js.map +1 -0
  78. package/dist/core/deployment/readiness-waiter.d.ts.map +1 -1
  79. package/dist/core/deployment/readiness-waiter.js +23 -6
  80. package/dist/core/deployment/readiness-waiter.js.map +1 -1
  81. package/dist/core/deployment/rollback-manager.d.ts.map +1 -1
  82. package/dist/core/deployment/rollback-manager.js +19 -0
  83. package/dist/core/deployment/rollback-manager.js.map +1 -1
  84. package/dist/core/deployment/strategies/direct-strategy.d.ts +6 -0
  85. package/dist/core/deployment/strategies/direct-strategy.d.ts.map +1 -1
  86. package/dist/core/deployment/strategies/direct-strategy.js +133 -35
  87. package/dist/core/deployment/strategies/direct-strategy.js.map +1 -1
  88. package/dist/core/expressions/composition/composition-analyzer-helpers.d.ts +8 -2
  89. package/dist/core/expressions/composition/composition-analyzer-helpers.d.ts.map +1 -1
  90. package/dist/core/expressions/composition/composition-analyzer-helpers.js +34 -2
  91. package/dist/core/expressions/composition/composition-analyzer-helpers.js.map +1 -1
  92. package/dist/core/expressions/composition/composition-analyzer-ternary.d.ts.map +1 -1
  93. package/dist/core/expressions/composition/composition-analyzer-ternary.js +52 -28
  94. package/dist/core/expressions/composition/composition-analyzer-ternary.js.map +1 -1
  95. package/dist/core/expressions/composition/composition-analyzer-traversal.d.ts.map +1 -1
  96. package/dist/core/expressions/composition/composition-analyzer-traversal.js +11 -4
  97. package/dist/core/expressions/composition/composition-analyzer-traversal.js.map +1 -1
  98. package/dist/core/expressions/composition/composition-analyzer-types.d.ts +8 -0
  99. package/dist/core/expressions/composition/composition-analyzer-types.d.ts.map +1 -1
  100. package/dist/core/expressions/composition/composition-analyzer.d.ts +1 -1
  101. package/dist/core/expressions/composition/composition-analyzer.d.ts.map +1 -1
  102. package/dist/core/expressions/composition/composition-analyzer.js +8 -2
  103. package/dist/core/expressions/composition/composition-analyzer.js.map +1 -1
  104. package/dist/core/expressions/composition/imperative-analyzer.d.ts +8 -0
  105. package/dist/core/expressions/composition/imperative-analyzer.d.ts.map +1 -1
  106. package/dist/core/expressions/composition/imperative-analyzer.js +111 -16
  107. package/dist/core/expressions/composition/imperative-analyzer.js.map +1 -1
  108. package/dist/core/metadata/resource-metadata.d.ts +4 -0
  109. package/dist/core/metadata/resource-metadata.d.ts.map +1 -1
  110. package/dist/core/metadata/resource-metadata.js.map +1 -1
  111. package/dist/core/proxy/create-resource.d.ts.map +1 -1
  112. package/dist/core/proxy/create-resource.js +63 -21
  113. package/dist/core/proxy/create-resource.js.map +1 -1
  114. package/dist/core/references/cel.d.ts +48 -0
  115. package/dist/core/references/cel.d.ts.map +1 -1
  116. package/dist/core/references/cel.js +82 -0
  117. package/dist/core/references/cel.js.map +1 -1
  118. package/dist/core/references/external-refs.d.ts +2 -0
  119. package/dist/core/references/external-refs.d.ts.map +1 -1
  120. package/dist/core/references/external-refs.js +3 -0
  121. package/dist/core/references/external-refs.js.map +1 -1
  122. package/dist/core/references/resolver.d.ts +12 -4
  123. package/dist/core/references/resolver.d.ts.map +1 -1
  124. package/dist/core/references/resolver.js +152 -69
  125. package/dist/core/references/resolver.js.map +1 -1
  126. package/dist/core/references/schema-proxy.d.ts.map +1 -1
  127. package/dist/core/references/schema-proxy.js +5 -4
  128. package/dist/core/references/schema-proxy.js.map +1 -1
  129. package/dist/core/serialization/cel-references.d.ts +1 -1
  130. package/dist/core/serialization/cel-references.d.ts.map +1 -1
  131. package/dist/core/serialization/cel-references.js +191 -24
  132. package/dist/core/serialization/cel-references.js.map +1 -1
  133. package/dist/core/serialization/core.d.ts +8 -1
  134. package/dist/core/serialization/core.d.ts.map +1 -1
  135. package/dist/core/serialization/core.js +434 -7
  136. package/dist/core/serialization/core.js.map +1 -1
  137. package/dist/core/serialization/kro-post-processing.d.ts +46 -0
  138. package/dist/core/serialization/kro-post-processing.d.ts.map +1 -0
  139. package/dist/core/serialization/kro-post-processing.js +103 -0
  140. package/dist/core/serialization/kro-post-processing.js.map +1 -0
  141. package/dist/core/serialization/schema.d.ts +61 -3
  142. package/dist/core/serialization/schema.d.ts.map +1 -1
  143. package/dist/core/serialization/schema.js +520 -18
  144. package/dist/core/serialization/schema.js.map +1 -1
  145. package/dist/core/serialization/status-analysis-pipeline.d.ts +4 -0
  146. package/dist/core/serialization/status-analysis-pipeline.d.ts.map +1 -1
  147. package/dist/core/serialization/status-analysis-pipeline.js +127 -10
  148. package/dist/core/serialization/status-analysis-pipeline.js.map +1 -1
  149. package/dist/core/serialization/yaml.d.ts.map +1 -1
  150. package/dist/core/serialization/yaml.js +27 -4
  151. package/dist/core/serialization/yaml.js.map +1 -1
  152. package/dist/core/types/composable.d.ts +62 -0
  153. package/dist/core/types/composable.d.ts.map +1 -0
  154. package/dist/core/types/composable.js +51 -0
  155. package/dist/core/types/composable.js.map +1 -0
  156. package/dist/core/types/deployment.d.ts +2 -1
  157. package/dist/core/types/deployment.d.ts.map +1 -1
  158. package/dist/core/types/index.d.ts +1 -0
  159. package/dist/core/types/index.d.ts.map +1 -1
  160. package/dist/core/types/index.js +1 -0
  161. package/dist/core/types/index.js.map +1 -1
  162. package/dist/core/types/serialization.d.ts +40 -1
  163. package/dist/core/types/serialization.d.ts.map +1 -1
  164. package/dist/core/validation/cel-validator.d.ts.map +1 -1
  165. package/dist/core/validation/cel-validator.js +55 -31
  166. package/dist/core/validation/cel-validator.js.map +1 -1
  167. package/dist/factories/cnpg/compositions/cnpg-bootstrap.d.ts +55 -0
  168. package/dist/factories/cnpg/compositions/cnpg-bootstrap.d.ts.map +1 -0
  169. package/dist/factories/cnpg/compositions/cnpg-bootstrap.js +92 -0
  170. package/dist/factories/cnpg/compositions/cnpg-bootstrap.js.map +1 -0
  171. package/dist/factories/cnpg/compositions/index.d.ts +2 -0
  172. package/dist/factories/cnpg/compositions/index.d.ts.map +1 -0
  173. package/dist/factories/cnpg/compositions/index.js +2 -0
  174. package/dist/factories/cnpg/compositions/index.js.map +1 -0
  175. package/dist/factories/cnpg/index.d.ts +42 -0
  176. package/dist/factories/cnpg/index.d.ts.map +1 -0
  177. package/dist/factories/cnpg/index.js +42 -0
  178. package/dist/factories/cnpg/index.js.map +1 -0
  179. package/dist/factories/cnpg/resources/backup.d.ts +34 -0
  180. package/dist/factories/cnpg/resources/backup.d.ts.map +1 -0
  181. package/dist/factories/cnpg/resources/backup.js +87 -0
  182. package/dist/factories/cnpg/resources/backup.js.map +1 -0
  183. package/dist/factories/cnpg/resources/cluster.d.ts +55 -0
  184. package/dist/factories/cnpg/resources/cluster.d.ts.map +1 -0
  185. package/dist/factories/cnpg/resources/cluster.js +123 -0
  186. package/dist/factories/cnpg/resources/cluster.js.map +1 -0
  187. package/dist/factories/cnpg/resources/helm.d.ts +45 -0
  188. package/dist/factories/cnpg/resources/helm.d.ts.map +1 -0
  189. package/dist/factories/cnpg/resources/helm.js +78 -0
  190. package/dist/factories/cnpg/resources/helm.js.map +1 -0
  191. package/dist/factories/cnpg/resources/index.d.ts +6 -0
  192. package/dist/factories/cnpg/resources/index.d.ts.map +1 -0
  193. package/dist/factories/cnpg/resources/index.js +6 -0
  194. package/dist/factories/cnpg/resources/index.js.map +1 -0
  195. package/dist/factories/cnpg/resources/pooler.d.ts +38 -0
  196. package/dist/factories/cnpg/resources/pooler.d.ts.map +1 -0
  197. package/dist/factories/cnpg/resources/pooler.js +97 -0
  198. package/dist/factories/cnpg/resources/pooler.js.map +1 -0
  199. package/dist/factories/cnpg/resources/scheduled-backup.d.ts +35 -0
  200. package/dist/factories/cnpg/resources/scheduled-backup.d.ts.map +1 -0
  201. package/dist/factories/cnpg/resources/scheduled-backup.js +68 -0
  202. package/dist/factories/cnpg/resources/scheduled-backup.js.map +1 -0
  203. package/dist/factories/cnpg/types.d.ts +507 -0
  204. package/dist/factories/cnpg/types.d.ts.map +1 -0
  205. package/dist/factories/cnpg/types.js +398 -0
  206. package/dist/factories/cnpg/types.js.map +1 -0
  207. package/dist/factories/cnpg/utils/helm-values-mapper.d.ts +70 -0
  208. package/dist/factories/cnpg/utils/helm-values-mapper.d.ts.map +1 -0
  209. package/dist/factories/cnpg/utils/helm-values-mapper.js +79 -0
  210. package/dist/factories/cnpg/utils/helm-values-mapper.js.map +1 -0
  211. package/dist/factories/cnpg/utils/index.d.ts +2 -0
  212. package/dist/factories/cnpg/utils/index.d.ts.map +1 -0
  213. package/dist/factories/cnpg/utils/index.js +2 -0
  214. package/dist/factories/cnpg/utils/index.js.map +1 -0
  215. package/dist/factories/helm/helm-release.d.ts.map +1 -1
  216. package/dist/factories/helm/helm-release.js +4 -0
  217. package/dist/factories/helm/helm-release.js.map +1 -1
  218. package/dist/factories/helm/types.d.ts +2 -0
  219. package/dist/factories/helm/types.d.ts.map +1 -1
  220. package/dist/factories/inngest/compositions/index.d.ts +2 -0
  221. package/dist/factories/inngest/compositions/index.d.ts.map +1 -0
  222. package/dist/factories/inngest/compositions/index.js +2 -0
  223. package/dist/factories/inngest/compositions/index.js.map +1 -0
  224. package/dist/factories/inngest/compositions/inngest-bootstrap.d.ts +150 -0
  225. package/dist/factories/inngest/compositions/inngest-bootstrap.d.ts.map +1 -0
  226. package/dist/factories/inngest/compositions/inngest-bootstrap.js +90 -0
  227. package/dist/factories/inngest/compositions/inngest-bootstrap.js.map +1 -0
  228. package/dist/factories/inngest/index.d.ts +45 -0
  229. package/dist/factories/inngest/index.d.ts.map +1 -0
  230. package/dist/factories/inngest/index.js +45 -0
  231. package/dist/factories/inngest/index.js.map +1 -0
  232. package/dist/factories/inngest/resources/helm.d.ts +53 -0
  233. package/dist/factories/inngest/resources/helm.d.ts.map +1 -0
  234. package/dist/factories/inngest/resources/helm.js +88 -0
  235. package/dist/factories/inngest/resources/helm.js.map +1 -0
  236. package/dist/factories/inngest/resources/index.d.ts +2 -0
  237. package/dist/factories/inngest/resources/index.d.ts.map +1 -0
  238. package/dist/factories/inngest/resources/index.js +2 -0
  239. package/dist/factories/inngest/resources/index.js.map +1 -0
  240. package/dist/factories/inngest/types.d.ts +177 -0
  241. package/dist/factories/inngest/types.d.ts.map +1 -0
  242. package/dist/factories/inngest/types.js +189 -0
  243. package/dist/factories/inngest/types.js.map +1 -0
  244. package/dist/factories/inngest/utils/helm-values-mapper.d.ts +127 -0
  245. package/dist/factories/inngest/utils/helm-values-mapper.d.ts.map +1 -0
  246. package/dist/factories/inngest/utils/helm-values-mapper.js +116 -0
  247. package/dist/factories/inngest/utils/helm-values-mapper.js.map +1 -0
  248. package/dist/factories/inngest/utils/index.d.ts +2 -0
  249. package/dist/factories/inngest/utils/index.d.ts.map +1 -0
  250. package/dist/factories/inngest/utils/index.js +2 -0
  251. package/dist/factories/inngest/utils/index.js.map +1 -0
  252. package/dist/factories/kubernetes/config/secret.d.ts.map +1 -1
  253. package/dist/factories/kubernetes/config/secret.js +11 -1
  254. package/dist/factories/kubernetes/config/secret.js.map +1 -1
  255. package/dist/factories/kubernetes/core/namespace.d.ts.map +1 -1
  256. package/dist/factories/kubernetes/core/namespace.js +1 -1
  257. package/dist/factories/kubernetes/core/namespace.js.map +1 -1
  258. package/dist/factories/searxng/compositions/index.d.ts +2 -0
  259. package/dist/factories/searxng/compositions/index.d.ts.map +1 -0
  260. package/dist/factories/searxng/compositions/index.js +2 -0
  261. package/dist/factories/searxng/compositions/index.js.map +1 -0
  262. package/dist/factories/searxng/compositions/searxng-bootstrap.d.ts +65 -0
  263. package/dist/factories/searxng/compositions/searxng-bootstrap.d.ts.map +1 -0
  264. package/dist/factories/searxng/compositions/searxng-bootstrap.js +237 -0
  265. package/dist/factories/searxng/compositions/searxng-bootstrap.js.map +1 -0
  266. package/dist/factories/searxng/index.d.ts +29 -0
  267. package/dist/factories/searxng/index.d.ts.map +1 -0
  268. package/dist/factories/searxng/index.js +27 -0
  269. package/dist/factories/searxng/index.js.map +1 -0
  270. package/dist/factories/searxng/resources/index.d.ts +2 -0
  271. package/dist/factories/searxng/resources/index.d.ts.map +1 -0
  272. package/dist/factories/searxng/resources/index.js +2 -0
  273. package/dist/factories/searxng/resources/index.js.map +1 -0
  274. package/dist/factories/searxng/resources/searxng.d.ts +65 -0
  275. package/dist/factories/searxng/resources/searxng.d.ts.map +1 -0
  276. package/dist/factories/searxng/resources/searxng.js +188 -0
  277. package/dist/factories/searxng/resources/searxng.js.map +1 -0
  278. package/dist/factories/searxng/types.d.ts +126 -0
  279. package/dist/factories/searxng/types.d.ts.map +1 -0
  280. package/dist/factories/searxng/types.js +176 -0
  281. package/dist/factories/searxng/types.js.map +1 -0
  282. package/dist/factories/searxng/utils/settings-builder.d.ts +46 -0
  283. package/dist/factories/searxng/utils/settings-builder.d.ts.map +1 -0
  284. package/dist/factories/searxng/utils/settings-builder.js +52 -0
  285. package/dist/factories/searxng/utils/settings-builder.js.map +1 -0
  286. package/dist/factories/simple/config/secret.d.ts.map +1 -1
  287. package/dist/factories/simple/config/secret.js +28 -0
  288. package/dist/factories/simple/config/secret.js.map +1 -1
  289. package/dist/factories/valkey/compositions/index.d.ts +2 -0
  290. package/dist/factories/valkey/compositions/index.d.ts.map +1 -0
  291. package/dist/factories/valkey/compositions/index.js +2 -0
  292. package/dist/factories/valkey/compositions/index.js.map +1 -0
  293. package/dist/factories/valkey/compositions/valkey-bootstrap.d.ts +41 -0
  294. package/dist/factories/valkey/compositions/valkey-bootstrap.d.ts.map +1 -0
  295. package/dist/factories/valkey/compositions/valkey-bootstrap.js +105 -0
  296. package/dist/factories/valkey/compositions/valkey-bootstrap.js.map +1 -0
  297. package/dist/factories/valkey/index.d.ts +50 -0
  298. package/dist/factories/valkey/index.d.ts.map +1 -0
  299. package/dist/factories/valkey/index.js +50 -0
  300. package/dist/factories/valkey/index.js.map +1 -0
  301. package/dist/factories/valkey/resources/helm.d.ts +53 -0
  302. package/dist/factories/valkey/resources/helm.d.ts.map +1 -0
  303. package/dist/factories/valkey/resources/helm.js +82 -0
  304. package/dist/factories/valkey/resources/helm.js.map +1 -0
  305. package/dist/factories/valkey/resources/index.d.ts +3 -0
  306. package/dist/factories/valkey/resources/index.d.ts.map +1 -0
  307. package/dist/factories/valkey/resources/index.js +3 -0
  308. package/dist/factories/valkey/resources/index.js.map +1 -0
  309. package/dist/factories/valkey/resources/valkey.d.ts +46 -0
  310. package/dist/factories/valkey/resources/valkey.d.ts.map +1 -0
  311. package/dist/factories/valkey/resources/valkey.js +123 -0
  312. package/dist/factories/valkey/resources/valkey.js.map +1 -0
  313. package/dist/factories/valkey/types.d.ts +185 -0
  314. package/dist/factories/valkey/types.d.ts.map +1 -0
  315. package/dist/factories/valkey/types.js +204 -0
  316. package/dist/factories/valkey/types.js.map +1 -0
  317. package/dist/factories/valkey/utils/helm-values-mapper.d.ts +32 -0
  318. package/dist/factories/valkey/utils/helm-values-mapper.d.ts.map +1 -0
  319. package/dist/factories/valkey/utils/helm-values-mapper.js +58 -0
  320. package/dist/factories/valkey/utils/helm-values-mapper.js.map +1 -0
  321. package/dist/factories/valkey/utils/index.d.ts +2 -0
  322. package/dist/factories/valkey/utils/index.d.ts.map +1 -0
  323. package/dist/factories/valkey/utils/index.js +2 -0
  324. package/dist/factories/valkey/utils/index.js.map +1 -0
  325. package/dist/factories/webapp/compositions/index.d.ts +2 -0
  326. package/dist/factories/webapp/compositions/index.d.ts.map +1 -0
  327. package/dist/factories/webapp/compositions/index.js +2 -0
  328. package/dist/factories/webapp/compositions/index.js.map +1 -0
  329. package/dist/factories/webapp/compositions/web-app-with-processing.d.ts +97 -0
  330. package/dist/factories/webapp/compositions/web-app-with-processing.d.ts.map +1 -0
  331. package/dist/factories/webapp/compositions/web-app-with-processing.js +220 -0
  332. package/dist/factories/webapp/compositions/web-app-with-processing.js.map +1 -0
  333. package/dist/factories/webapp/index.d.ts +53 -0
  334. package/dist/factories/webapp/index.d.ts.map +1 -0
  335. package/dist/factories/webapp/index.js +53 -0
  336. package/dist/factories/webapp/index.js.map +1 -0
  337. package/dist/factories/webapp/types.d.ts +69 -0
  338. package/dist/factories/webapp/types.d.ts.map +1 -0
  339. package/dist/factories/webapp/types.js +92 -0
  340. package/dist/factories/webapp/types.js.map +1 -0
  341. package/dist/shared/brands.d.ts +16 -0
  342. package/dist/shared/brands.d.ts.map +1 -1
  343. package/dist/shared/brands.js +16 -0
  344. package/dist/shared/brands.js.map +1 -1
  345. package/package.json +29 -1
@@ -25,10 +25,40 @@ export interface KroSimpleSchema {
25
25
  kind: string;
26
26
  /** Custom API group for the CRD (defaults to 'kro.run' in Kro) */
27
27
  group?: string;
28
- spec: Record<string, string>;
28
+ /** Spec fields — nested objects represent KRO SimpleSchema nested types. */
29
+ spec: Record<string, unknown>;
29
30
  /** Status fields may be plain CEL expression strings or nested objects for nested status mappings. */
30
31
  status?: Record<string, string | Record<string, unknown>>;
31
32
  }
33
+ /**
34
+ * Ternary conditional metadata — one entry per detected
35
+ * `spec.optionalField ? truthySection : falsySection` expression in a
36
+ * composition. Used during YAML post-processing to replace the truthy
37
+ * section with a CEL `has() ? ... : ''` conditional.
38
+ */
39
+ export interface TernaryConditional {
40
+ /** Raw marker-containing section emitted when the ternary is truthy. */
41
+ proxySection: string;
42
+ /** Value emitted when the condition is falsy (usually an empty string). */
43
+ falsyValue: string;
44
+ /** Dotted path to the optional spec field that controls the ternary. */
45
+ conditionField: string;
46
+ }
47
+ /**
48
+ * KroSimpleSchema augmented with post-processing metadata attached during
49
+ * schema generation. The metadata fields are attached as non-enumerable
50
+ * properties so they don't serialize to YAML, but consumers can still read
51
+ * them in a type-safe way.
52
+ *
53
+ * - `__ternaryConditionals`: Ternary expressions detected via re-execution
54
+ * analysis. Applied to resource bodies before YAML serialization.
55
+ * - `__omitFields`: Optional spec fields without defaults. Applied as
56
+ * `has() ? ... : omit()` wrappers on the YAML string after serialization.
57
+ */
58
+ export interface KroSimpleSchemaWithMetadata extends KroSimpleSchema {
59
+ readonly __ternaryConditionals?: TernaryConditional[];
60
+ readonly __omitFields?: string[];
61
+ }
32
62
  export interface KroFieldDefinition {
33
63
  type: string;
34
64
  markers?: string;
@@ -198,6 +228,15 @@ export interface SerializationContext {
198
228
  celPrefix: string;
199
229
  namespace?: string;
200
230
  resourceIdStrategy: 'deterministic' | 'random';
231
+ /**
232
+ * Top-level optional spec field names (without `schema.spec.` prefix) that
233
+ * should be wrapped with KRO 0.9+ `has(...) ? ... : omit()` when referenced
234
+ * as a single CEL expression in a resource template. Populated from the
235
+ * schema metadata (`KroSimpleSchemaWithMetadata.__omitFields`). Applied
236
+ * inline during ref-to-CEL conversion so no post-hoc YAML-string rewriting
237
+ * is required.
238
+ */
239
+ omitFields?: ReadonlySet<string>;
201
240
  }
202
241
  export interface ResourceDependency {
203
242
  from: string;
@@ -1 +1 @@
1
- {"version":3,"file":"serialization.d.ts","sourceRoot":"","sources":["../../../src/core/types/serialization.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serialization.d.ts","sourceRoot":"","sources":["../../../src/core/types/serialization.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"cel-validator.d.ts","sourceRoot":"","sources":["../../../src/core/validation/cel-validator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEtD,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,kBAAkB,EAAE,CAAC;IAC7B,QAAQ,EAAE,kBAAkB,EAAE,CAAC;CAChC;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAgCnF;AAwFD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAC7E,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACxC,CAoCA;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAC1C,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAC5C,mBAAmB,CAsGrB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAC5C,mBAAmB,CAqBrB;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAC7C,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,EAC7C,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvC,mBAAmB,CAWrB"}
1
+ {"version":3,"file":"cel-validator.d.ts","sourceRoot":"","sources":["../../../src/core/validation/cel-validator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEtD,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,kBAAkB,EAAE,CAAC;IAC7B,QAAQ,EAAE,kBAAkB,EAAE,CAAC;CAChC;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAgCnF;AA4GD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAC7E,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACxC,CAoCA;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAC1C,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAC5C,mBAAmB,CAoGrB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAC5C,mBAAmB,CAqBrB;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAC7C,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,EAC7C,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvC,mBAAmB,CAWrB"}
@@ -37,47 +37,73 @@ export function validateResourceId(id) {
37
37
  return { isValid: true };
38
38
  }
39
39
  /**
40
- * Determines if a CEL expression contains only schema references (no resource references)
40
+ * Check if a CEL expression string references any non-schema resource fields.
41
+ *
42
+ * Any reference to a deployed resource (status, metadata, or spec) requires
43
+ * KRO runtime resolution because:
44
+ * - `resource.status.*` — populated by the cluster after deployment
45
+ * - `resource.metadata.*` — set by K8s (may include generated fields like uid)
46
+ * - `resource.spec.*` — available on the deployed resource object
47
+ *
48
+ * Only `schema.spec.*` references are static (resolved from the user's spec
49
+ * by TypeKro at deploy time). KRO status CEL does NOT support `schema.spec.*`.
41
50
  */
42
- function containsOnlySchemaReferences(expression) {
43
- // Check if the expression contains any resource references
44
- // This includes both direct resource references (deployment.status.field)
45
- // and resources namespace references (resources.deployment.status.field)
46
- const hasResourceReferences = /\b(resources\.\w+|\w+\.status\.|\.metadata\.)/.test(expression);
47
- // Check if the expression contains schema references
48
- const hasSchemaReferences = /\bschema\./.test(expression);
49
- // If it has resource references, it needs Kro resolution (mixed or resource-only)
50
- if (hasResourceReferences) {
51
- return false;
52
- }
53
- // If it has schema references but no resource references, it can be hydrated by TypeKro
54
- if (hasSchemaReferences) {
55
- return true;
56
- }
57
- // If it has neither schema nor resource references, it's a static expression
58
- // that can be hydrated by TypeKro
59
- return true;
51
+ function containsNonSchemaResourceReferences(expression) {
52
+ // Match `identifier.(status|metadata|spec).field` but NOT `schema.*`
53
+ return /\b(?!schema\.)\w+\.(status|metadata|spec)\./.test(expression);
60
54
  }
61
55
  /**
62
- * Determines if a status field value requires Kro resolution (contains Kubernetes references or CEL expressions)
56
+ * Determines if a status field value requires Kro resolution.
57
+ *
58
+ * A value requires KRO resolution if it references any non-schema resource
59
+ * field (status, metadata, or spec). Schema refs and literal values are
60
+ * static — they can be hydrated by the TypeKro runtime at deploy time.
63
61
  */
64
62
  function requiresKroResolution(value) {
65
63
  if (isKubernetesRef(value)) {
66
- // Schema references should be hydrated by TypeKro, not sent to Kro
67
- // because Kro controller doesn't have access to the 'schema' variable
64
+ // Schema refs are static resolved from the user's spec at deploy time.
68
65
  if (value.resourceId === '__schema__') {
69
66
  return false;
70
67
  }
71
- return true;
68
+ // Determine which fields require KRO runtime resolution vs. can be hydrated
69
+ // by TypeKro at deploy time.
70
+ //
71
+ // Dynamic (KRO resolves):
72
+ // - status.* — only available after deployment
73
+ // - metadata.uid — assigned by API server
74
+ // - metadata.creationTimestamp — assigned by API server
75
+ // - metadata.resourceVersion — assigned by API server
76
+ // - metadata.generation — assigned by API server
77
+ //
78
+ // Static (TypeKro resolves at deploy time):
79
+ // - spec.* — deterministic from the template
80
+ // - metadata.name — set by the composition
81
+ // - metadata.namespace — set by the composition
82
+ // - metadata.labels — set by the composition
83
+ // - metadata.annotations — set by the composition
84
+ if (typeof value.fieldPath !== 'string')
85
+ return false;
86
+ if (value.fieldPath.startsWith('status.'))
87
+ return true;
88
+ if (value.fieldPath.startsWith('metadata.')) {
89
+ const staticMetadataFields = ['metadata.name', 'metadata.namespace', 'metadata.labels', 'metadata.annotations'];
90
+ return !staticMetadataFields.some(f => value.fieldPath === f || value.fieldPath.startsWith(`${f}.`));
91
+ }
92
+ return false;
72
93
  }
73
94
  if (isCelExpression(value)) {
74
- // Check if the CEL expression contains only schema references
75
- // If so, it should be hydrated by TypeKro, not sent to Kro
76
- if (containsOnlySchemaReferences(value.expression)) {
77
- return false;
95
+ return containsNonSchemaResourceReferences(value.expression);
96
+ }
97
+ // Strings containing __KUBERNETES_REF__ markers from template literals
98
+ if (typeof value === 'string' && value.includes('__KUBERNETES_REF_')) {
99
+ const refPattern = /__KUBERNETES_REF_(__schema__|[^_]+)_([a-zA-Z0-9.$]+)__/g;
100
+ let match = refPattern.exec(value);
101
+ while (match !== null) {
102
+ if (match[1] !== '__schema__')
103
+ return true;
104
+ match = refPattern.exec(value);
78
105
  }
79
- // CEL expressions with resource references should be sent to Kro
80
- return true;
106
+ return false;
81
107
  }
82
108
  if (typeof value === 'object' && value !== null && !Array.isArray(value)) {
83
109
  // Recursively check nested objects
@@ -221,9 +247,7 @@ export function validateStatusCelExpressions(statusMappings, resources) {
221
247
  for (const [fieldName, fieldValue] of Object.entries(dynamicFields)) {
222
248
  validateExpression(fieldName, fieldValue);
223
249
  }
224
- // Log info about field separation for debugging
225
250
  const staticFieldNames = Object.keys(staticFields);
226
- const _dynamicFieldNames = Object.keys(dynamicFields);
227
251
  if (staticFieldNames.length > 0) {
228
252
  warnings.push({
229
253
  field: 'status',
@@ -1 +1 @@
1
- {"version":3,"file":"cel-validator.js","sourceRoot":"","sources":["../../../src/core/validation/cel-validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cel-validator.js","sourceRoot":"","sources":["../../../src/core/validation/cel-validator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAgB9E;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,EAAU;IAC3C,8EAA8E;IAC9E,MAAM,cAAc,GAAG,qBAAqB,CAAC;IAE7C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QAC7B,IAAI,UAAU,GAAG,EAAE,CAAC;QAEpB,kCAAkC;QAClC,IAAI,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,UAAU,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QAC5E,CAAC;QAED,gCAAgC;QAChC,IAAI,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,UAAU,GAAG,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,MAAc,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QACrF,CAAC;QAED,kCAAkC;QAClC,IAAI,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,UAAU,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,MAAc,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QACpF,CAAC;QAED,mCAAmC;QACnC,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAEtE,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,gBAAgB,EAAE,2DAA2D,UAAU,GAAG;SAClG,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC3B,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,mCAAmC,CAAC,UAAkB;IAC7D,qEAAqE;IACrE,OAAO,6CAA6C,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACxE,CAAC;AAED;;;;;;GAMG;AACH,SAAS,qBAAqB,CAAC,KAAU;IACvC,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,yEAAyE;QACzE,IAAI,KAAK,CAAC,UAAU,KAAK,YAAY,EAAE,CAAC;YACtC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,4EAA4E;QAC5E,6BAA6B;QAC7B,EAAE;QACF,0BAA0B;QAC1B,6DAA6D;QAC7D,oDAAoD;QACpD,0DAA0D;QAC1D,yDAAyD;QACzD,yDAAyD;QACzD,EAAE;QACF,4CAA4C;QAC5C,8DAA8D;QAC9D,qDAAqD;QACrD,qDAAqD;QACrD,qDAAqD;QACrD,qDAAqD;QACrD,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QACtD,IAAI,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,IAAI,CAAC;QACvD,IAAI,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC5C,MAAM,oBAAoB,GAAG,CAAC,eAAe,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,sBAAsB,CAAC,CAAC;YAChH,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,KAAK,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACvG,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,mCAAmC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC/D,CAAC;IAED,uEAAuE;IACvE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACrE,MAAM,UAAU,GAAG,yDAAyD,CAAC;QAC7E,IAAI,KAAK,GAA2B,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3D,OAAO,KAAK,KAAK,IAAI,EAAE,CAAC;YACtB,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,YAAY;gBAAE,OAAO,IAAI,CAAC;YAC3C,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzE,mCAAmC;QACnC,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAC1D,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAAC,GAA4B;IAMxD,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,MAAM,WAAW,GAA4B,EAAE,CAAC;IAEhD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,IAAI,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,WAAW,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,OAAO;QACL,UAAU;QACV,WAAW;QACX,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC;QAC7C,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC;KAChD,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,cAAuC;IAI1E,MAAM,YAAY,GAA4B,EAAE,CAAC;IACjD,MAAM,aAAa,GAA4B,EAAE,CAAC;IAElD,+BAA+B;IAC/B,IAAI,CAAC,cAAc,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;QAC1D,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC;IACzC,CAAC;IAED,KAAK,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;QACrE,IACE,OAAO,UAAU,KAAK,QAAQ;YAC9B,UAAU,KAAK,IAAI;YACnB,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;YAC1B,CAAC,eAAe,CAAC,UAAU,CAAC;YAC5B,CAAC,eAAe,CAAC,UAAU,CAAC,EAC5B,CAAC;YACD,oEAAoE;YACpE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,oBAAoB,CAC7E,UAAqC,CACtC,CAAC;YAEF,IAAI,SAAS,EAAE,CAAC;gBACd,YAAY,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC;YACvC,CAAC;YACD,IAAI,UAAU,EAAE,CAAC;gBACf,aAAa,CAAC,SAAS,CAAC,GAAG,WAAW,CAAC;YACzC,CAAC;QACH,CAAC;aAAM,IAAI,qBAAqB,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7C,aAAa,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,YAAY,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC;QACvC,CAAC;IACH,CAAC;IAED,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC;AACzC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,4BAA4B,CAC1C,cAAuC,EACvC,SAA6C;IAE7C,MAAM,MAAM,GAAyB,EAAE,CAAC;IACxC,MAAM,QAAQ,GAAyB,EAAE,CAAC;IAC1C,gFAAgF;IAChF,wFAAwF;IACxF,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC;QAC1B,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,yDAAyD;QACpF,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;aACxB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAChB,MAAM,CAAC,OAAO,CAAC,EAAE,eAAe;KACpC,CAAC,CAAC;IAEH,qCAAqC;IACrC,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,oBAAoB,CAAC,cAAc,CAAC,CAAC;IAE7E,wDAAwD;IACxD,SAAS,kBAAkB,CAAC,SAAiB,EAAE,KAAU;QACvD,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;YAEpC,mHAAmH;YACnH,uFAAuF;YACvF,EAAE;YACF,6EAA6E;YAC7E,mFAAmF;YACnF,yEAAyE;YACzE,MAAM,gBAAgB,GAAG,+DAA+D,CAAC;YACzF,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;YACrC,IAAI,WAAW,GAA2B,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC5E,OAAO,WAAW,KAAK,IAAI,EAAE,CAAC;gBAC5B,IAAI,WAAW,CAAC,CAAC,CAAC;oBAAE,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnD,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAClD,CAAC;YACD,0EAA0E;YAC1E,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAEvB,MAAM,wBAAwB,GAAG,qDAAqD,CAAC;YACvF,IAAI,WAAW,GAA2B,wBAAwB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACpF,OAAO,WAAW,KAAK,IAAI,EAAE,CAAC;gBAC5B,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC1C,IACE,YAAY,KAAK,QAAQ;oBACzB,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC;oBAC9B,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,EAC7B,CAAC;oBACD,yEAAyE;oBACzE,iFAAiF;oBACjF,iFAAiF;oBACjF,uFAAuF;oBACvF,wDAAwD;oBACxD,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBACxC,MAAM,qBAAqB,GACzB,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBACpE,IAAI,qBAAqB,EAAE,CAAC;wBAC1B,QAAQ,CAAC,IAAI,CAAC;4BACZ,KAAK,EAAE,SAAS;4BAChB,UAAU;4BACV,KAAK,EAAE,cAAc,YAAY,0EAA0E;4BAC3G,UAAU,EAAE,sEAAsE,YAAY,iCAAiC;yBAChI,CAAC,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,IAAI,CAAC;4BACV,KAAK,EAAE,SAAS;4BAChB,UAAU;4BACV,KAAK,EAAE,wBAAwB,YAAY,kBAAkB;4BAC7D,UAAU,EAAE,wBAAwB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;yBACzE,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBACD,WAAW,GAAG,wBAAwB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACvD,sCAAsC;YACtC,KAAK,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvD,kBAAkB,CAAC,GAAG,SAAS,IAAI,GAAG,EAAE,EAAE,WAAW,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;IACH,CAAC;IAED,+BAA+B;IAC/B,KAAK,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;QACpE,kBAAkB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAEnD,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,QAAQ,CAAC,IAAI,CAAC;YACZ,KAAK,EAAE,QAAQ;YACf,UAAU,EAAE,EAAE;YACd,KAAK,EAAE,kBAAkB,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,8CAA8C;YAClG,UAAU,EAAE,kEAAkE;SAC/E,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;QAC5B,MAAM;QACN,QAAQ;KACT,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,SAA6C;IAE7C,MAAM,MAAM,GAAyB,EAAE,CAAC;IAExC,KAAK,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACxD,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;YAChB,MAAM,UAAU,GAAG,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACnD,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;gBACxB,MAAM,CAAC,IAAI,CAAC;oBACV,KAAK,EAAE,aAAa,GAAG,KAAK;oBAC5B,UAAU,EAAE,QAAQ,CAAC,EAAE;oBACvB,KAAK,EAAE,UAAU,CAAC,KAAM;iBACzB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;QAC5B,MAAM;QACN,QAAQ,EAAE,EAAE;KACb,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,+BAA+B,CAC7C,SAA6C,EAC7C,cAAwC;IAExC,MAAM,oBAAoB,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAC5D,MAAM,gBAAgB,GAAG,cAAc;QACrC,CAAC,CAAC,4BAA4B,CAAC,cAAc,EAAE,SAAS,CAAC;QACzD,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAEhD,OAAO;QACL,OAAO,EAAE,oBAAoB,CAAC,OAAO,IAAI,gBAAgB,CAAC,OAAO;QACjE,MAAM,EAAE,CAAC,GAAG,oBAAoB,CAAC,MAAM,EAAE,GAAG,gBAAgB,CAAC,MAAM,CAAC;QACpE,QAAQ,EAAE,CAAC,GAAG,oBAAoB,CAAC,QAAQ,EAAE,GAAG,gBAAgB,CAAC,QAAQ,CAAC;KAC3E,CAAC;AACJ,CAAC"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * CloudNativePG Operator Bootstrap Composition
3
+ *
4
+ * Deploys the CloudNativePG operator via HelmRepository and HelmRelease resources.
5
+ * The operator manages PostgreSQL clusters as Kubernetes-native resources.
6
+ *
7
+ * This composition:
8
+ * 1. Creates the target namespace
9
+ * 2. Creates a HelmRepository pointing to the CNPG chart repo
10
+ * 3. Creates a HelmRelease that installs the operator
11
+ *
12
+ * After the operator is running, use the `cluster()`, `backup()`,
13
+ * `scheduledBackup()`, and `pooler()` factories to create database resources.
14
+ *
15
+ * @example
16
+ * ```typescript
17
+ * const cnpgFactory = cnpgBootstrap.factory('kro', {
18
+ * namespace: 'cnpg-system',
19
+ * waitForReady: true,
20
+ * });
21
+ *
22
+ * await cnpgFactory.deploy({
23
+ * name: 'cnpg',
24
+ * namespace: 'cnpg-system',
25
+ * version: '0.23.0',
26
+ * installCRDs: true,
27
+ * });
28
+ * ```
29
+ */
30
+ export declare const cnpgBootstrap: import("../../../index.js").CallableComposition<{
31
+ name: string;
32
+ namespace?: string;
33
+ version?: string;
34
+ installCRDs?: boolean;
35
+ replicaCount?: number;
36
+ monitoring?: {
37
+ enabled?: boolean;
38
+ };
39
+ resources?: {
40
+ requests?: {
41
+ cpu?: string;
42
+ memory?: string;
43
+ };
44
+ limits?: {
45
+ cpu?: string;
46
+ memory?: string;
47
+ };
48
+ };
49
+ customValues?: Record<string, unknown>;
50
+ }, {
51
+ phase: "Ready" | "Installing";
52
+ ready: boolean;
53
+ version?: string;
54
+ }>;
55
+ //# sourceMappingURL=cnpg-bootstrap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cnpg-bootstrap.d.ts","sourceRoot":"","sources":["../../../../src/factories/cnpg/compositions/cnpg-bootstrap.ts"],"names":[],"mappings":"AAYA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;EAoEzB,CAAC"}
@@ -0,0 +1,92 @@
1
+ import { kubernetesComposition } from '../../../core/composition/imperative.js';
2
+ import { DEFAULT_FLUX_NAMESPACE } from '../../../core/config/defaults.js';
3
+ import { Cel } from '../../../core/references/cel.js';
4
+ import { namespace } from '../../kubernetes/core/namespace.js';
5
+ import { cnpgHelmRelease, cnpgHelmRepository } from '../resources/helm.js';
6
+ import { CnpgBootstrapConfigSchema, CnpgBootstrapStatusSchema, } from '../types.js';
7
+ import { mapCnpgConfigToHelmValues } from '../utils/helm-values-mapper.js';
8
+ /**
9
+ * CloudNativePG Operator Bootstrap Composition
10
+ *
11
+ * Deploys the CloudNativePG operator via HelmRepository and HelmRelease resources.
12
+ * The operator manages PostgreSQL clusters as Kubernetes-native resources.
13
+ *
14
+ * This composition:
15
+ * 1. Creates the target namespace
16
+ * 2. Creates a HelmRepository pointing to the CNPG chart repo
17
+ * 3. Creates a HelmRelease that installs the operator
18
+ *
19
+ * After the operator is running, use the `cluster()`, `backup()`,
20
+ * `scheduledBackup()`, and `pooler()` factories to create database resources.
21
+ *
22
+ * @example
23
+ * ```typescript
24
+ * const cnpgFactory = cnpgBootstrap.factory('kro', {
25
+ * namespace: 'cnpg-system',
26
+ * waitForReady: true,
27
+ * });
28
+ *
29
+ * await cnpgFactory.deploy({
30
+ * name: 'cnpg',
31
+ * namespace: 'cnpg-system',
32
+ * version: '0.23.0',
33
+ * installCRDs: true,
34
+ * });
35
+ * ```
36
+ */
37
+ export const cnpgBootstrap = kubernetesComposition({
38
+ name: 'cnpg-bootstrap',
39
+ kind: 'CnpgBootstrap',
40
+ spec: CnpgBootstrapConfigSchema,
41
+ status: CnpgBootstrapStatusSchema,
42
+ }, (spec) => {
43
+ const resolvedNamespace = spec.namespace || 'cnpg-system';
44
+ const resolvedVersion = spec.version || '0.23.0';
45
+ // Map config to Helm values
46
+ const helmValues = mapCnpgConfigToHelmValues({
47
+ ...spec,
48
+ namespace: resolvedNamespace,
49
+ version: resolvedVersion,
50
+ });
51
+ // Resources are _-prefixed because they're registered via side effects in the
52
+ // kubernetesComposition callback — the composition captures them automatically.
53
+ // They're referenced in the status return via their `id`.
54
+ const _cnpgNamespace = namespace({
55
+ metadata: {
56
+ name: resolvedNamespace,
57
+ labels: {
58
+ 'app.kubernetes.io/name': 'cloudnative-pg',
59
+ 'app.kubernetes.io/instance': spec.name,
60
+ 'app.kubernetes.io/version': resolvedVersion,
61
+ 'app.kubernetes.io/managed-by': 'typekro',
62
+ },
63
+ },
64
+ id: 'cnpgNamespace',
65
+ });
66
+ // Create HelmRepository for CNPG charts
67
+ const _helmRepository = cnpgHelmRepository({
68
+ name: 'cnpg-repo',
69
+ namespace: DEFAULT_FLUX_NAMESPACE,
70
+ id: 'cnpgHelmRepository',
71
+ });
72
+ // Create HelmRelease for the CNPG operator
73
+ const _helmRelease = cnpgHelmRelease({
74
+ name: spec.name,
75
+ namespace: resolvedNamespace,
76
+ version: resolvedVersion,
77
+ values: helmValues,
78
+ repositoryName: 'cnpg-repo',
79
+ id: 'cnpgHelmRelease',
80
+ });
81
+ // Status derived from HelmRelease conditions.
82
+ // Flux HelmRelease v2 uses conditions with type='Ready' for readiness.
83
+ return {
84
+ ready: Cel.expr(_helmRelease.status.conditions, '.exists(c, c.type == "Ready" && c.status == "True")'),
85
+ // Two-state phase: nested ternaries with .exists() require repeating the
86
+ // full resource path in CEL, which Cel.expr(ref, operator) cannot express.
87
+ // The second .exists() lacks a receiver and produces invalid CEL.
88
+ phase: Cel.expr(_helmRelease.status.conditions, '.exists(c, c.type == "Ready" && c.status == "True") ? "Ready" : "Installing"'),
89
+ version: resolvedVersion,
90
+ };
91
+ });
92
+ //# sourceMappingURL=cnpg-bootstrap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cnpg-bootstrap.js","sourceRoot":"","sources":["../../../../src/factories/cnpg/compositions/cnpg-bootstrap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,GAAG,EAAE,MAAM,iCAAiC,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EAEL,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAE3E;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,qBAAqB,CAChD;IACE,IAAI,EAAE,gBAAgB;IACtB,IAAI,EAAE,eAAe;IACrB,IAAI,EAAE,yBAAyB;IAC/B,MAAM,EAAE,yBAAyB;CAClC,EACD,CAAC,IAAyB,EAAE,EAAE;IAC5B,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,IAAI,aAAa,CAAC;IAC1D,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,IAAI,QAAQ,CAAC;IAEjD,4BAA4B;IAC5B,MAAM,UAAU,GAAG,yBAAyB,CAAC;QAC3C,GAAG,IAAI;QACP,SAAS,EAAE,iBAAiB;QAC5B,OAAO,EAAE,eAAe;KACzB,CAAC,CAAC;IAEH,8EAA8E;IAC9E,gFAAgF;IAChF,0DAA0D;IAC1D,MAAM,cAAc,GAAG,SAAS,CAAC;QAC/B,QAAQ,EAAE;YACR,IAAI,EAAE,iBAAiB;YACvB,MAAM,EAAE;gBACN,wBAAwB,EAAE,gBAAgB;gBAC1C,4BAA4B,EAAE,IAAI,CAAC,IAAI;gBACvC,2BAA2B,EAAE,eAAe;gBAC5C,8BAA8B,EAAE,SAAS;aAC1C;SACF;QACD,EAAE,EAAE,eAAe;KACpB,CAAC,CAAC;IAEH,wCAAwC;IACxC,MAAM,eAAe,GAAG,kBAAkB,CAAC;QACzC,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,sBAAsB;QACjC,EAAE,EAAE,oBAAoB;KACzB,CAAC,CAAC;IAEH,2CAA2C;IAC3C,MAAM,YAAY,GAAG,eAAe,CAAC;QACnC,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,SAAS,EAAE,iBAAiB;QAC5B,OAAO,EAAE,eAAe;QACxB,MAAM,EAAE,UAAU;QAClB,cAAc,EAAE,WAAW;QAC3B,EAAE,EAAE,iBAAiB;KACtB,CAAC,CAAC;IAEH,8CAA8C;IAC9C,uEAAuE;IACvE,OAAO;QACL,KAAK,EAAE,GAAG,CAAC,IAAI,CACb,YAAY,CAAC,MAAM,CAAC,UAAU,EAC9B,qDAAqD,CACtD;QACD,yEAAyE;QACzE,2EAA2E;QAC3E,kEAAkE;QAClE,KAAK,EAAE,GAAG,CAAC,IAAI,CACb,YAAY,CAAC,MAAM,CAAC,UAAU,EAC9B,8EAA8E,CAC/E;QACD,OAAO,EAAE,eAAe;KACzB,CAAC;AACJ,CAAC,CACF,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { cnpgBootstrap } from './cnpg-bootstrap.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/factories/cnpg/compositions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { cnpgBootstrap } from './cnpg-bootstrap.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/factories/cnpg/compositions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * CloudNativePG (CNPG) Integration for TypeKro
3
+ *
4
+ * Provides type-safe factories for managing PostgreSQL clusters on Kubernetes
5
+ * using the CloudNativePG operator.
6
+ *
7
+ * ## Resources
8
+ * - `cluster()` — PostgreSQL cluster (primary + replicas)
9
+ * - `backup()` — On-demand backup
10
+ * - `scheduledBackup()` — Cron-based automated backups
11
+ * - `pooler()` — PgBouncer connection pooling
12
+ * - `cnpgHelmRepository()` — Helm chart repository
13
+ * - `cnpgHelmRelease()` — Operator installation via Helm
14
+ *
15
+ * ## Compositions
16
+ * - `cnpgBootstrap` — Complete operator deployment (namespace + Helm repo + release)
17
+ *
18
+ * @example
19
+ * ```typescript
20
+ * import { cnpgBootstrap, cluster, scheduledBackup } from 'typekro/cnpg';
21
+ *
22
+ * // Install the operator
23
+ * const operatorFactory = cnpgBootstrap.factory('kro', { namespace: 'cnpg-system' });
24
+ * await operatorFactory.deploy({ name: 'cnpg', namespace: 'cnpg-system' });
25
+ *
26
+ * // Create a PostgreSQL cluster
27
+ * const db = cluster({
28
+ * name: 'my-db',
29
+ * namespace: 'default',
30
+ * spec: { instances: 3, storage: { size: '50Gi' } },
31
+ * id: 'myDatabase',
32
+ * });
33
+ * ```
34
+ *
35
+ * @see https://cloudnative-pg.io/documentation/
36
+ * @module
37
+ */
38
+ export * from './compositions/index.js';
39
+ export * from './resources/index.js';
40
+ export * from './types.js';
41
+ export * from './utils/index.js';
42
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/factories/cnpg/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * CloudNativePG (CNPG) Integration for TypeKro
3
+ *
4
+ * Provides type-safe factories for managing PostgreSQL clusters on Kubernetes
5
+ * using the CloudNativePG operator.
6
+ *
7
+ * ## Resources
8
+ * - `cluster()` — PostgreSQL cluster (primary + replicas)
9
+ * - `backup()` — On-demand backup
10
+ * - `scheduledBackup()` — Cron-based automated backups
11
+ * - `pooler()` — PgBouncer connection pooling
12
+ * - `cnpgHelmRepository()` — Helm chart repository
13
+ * - `cnpgHelmRelease()` — Operator installation via Helm
14
+ *
15
+ * ## Compositions
16
+ * - `cnpgBootstrap` — Complete operator deployment (namespace + Helm repo + release)
17
+ *
18
+ * @example
19
+ * ```typescript
20
+ * import { cnpgBootstrap, cluster, scheduledBackup } from 'typekro/cnpg';
21
+ *
22
+ * // Install the operator
23
+ * const operatorFactory = cnpgBootstrap.factory('kro', { namespace: 'cnpg-system' });
24
+ * await operatorFactory.deploy({ name: 'cnpg', namespace: 'cnpg-system' });
25
+ *
26
+ * // Create a PostgreSQL cluster
27
+ * const db = cluster({
28
+ * name: 'my-db',
29
+ * namespace: 'default',
30
+ * spec: { instances: 3, storage: { size: '50Gi' } },
31
+ * id: 'myDatabase',
32
+ * });
33
+ * ```
34
+ *
35
+ * @see https://cloudnative-pg.io/documentation/
36
+ * @module
37
+ */
38
+ export * from './compositions/index.js';
39
+ export * from './resources/index.js';
40
+ export * from './types.js';
41
+ export * from './utils/index.js';
42
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/factories/cnpg/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * CloudNativePG Backup Factory
3
+ *
4
+ * Creates a CNPG Backup resource for on-demand PostgreSQL backups.
5
+ */
6
+ import type { Composable, Enhanced } from '../../../core/types/index.js';
7
+ import type { BackupConfig, BackupStatus } from '../types.js';
8
+ /**
9
+ * CloudNativePG Backup Factory
10
+ *
11
+ * Creates an on-demand backup of a PostgreSQL cluster. Supports both
12
+ * barman object store and volume snapshot methods.
13
+ *
14
+ * @param config - Backup configuration following postgresql.cnpg.io/v1 API
15
+ * @returns Enhanced Backup resource with readiness evaluation
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * const bk = backup({
20
+ * name: 'manual-backup-20240115',
21
+ * namespace: 'databases',
22
+ * spec: {
23
+ * cluster: { name: 'my-database' },
24
+ * method: 'barmanObjectStore',
25
+ * target: 'prefer-standby',
26
+ * },
27
+ * id: 'manualBackup',
28
+ * });
29
+ * ```
30
+ */
31
+ declare function createBackupResource(config: Composable<BackupConfig>): Enhanced<BackupConfig['spec'], BackupStatus>;
32
+ export declare const backup: typeof createBackupResource;
33
+ export {};
34
+ //# sourceMappingURL=backup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backup.d.ts","sourceRoot":"","sources":["../../../../src/factories/cnpg/resources/backup.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAkB,MAAM,8BAA8B,CAAC;AAEzF,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAqD9D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,iBAAS,oBAAoB,CAC3B,MAAM,EAAE,UAAU,CAAC,YAAY,CAAC,GAC/B,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,CAiB9C;AAED,eAAO,MAAM,MAAM,6BAAuB,CAAC"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * CloudNativePG Backup Factory
3
+ *
4
+ * Creates a CNPG Backup resource for on-demand PostgreSQL backups.
5
+ */
6
+ import { createResource } from '../../shared.js';
7
+ /**
8
+ * Backup Readiness Evaluator
9
+ *
10
+ * CNPG Backups use a phase-based status model rather than conditions.
11
+ * Phases: new → started → completed (or failed).
12
+ */
13
+ function backupReadinessEvaluator(liveResource) {
14
+ const resource = liveResource;
15
+ const status = resource?.status;
16
+ if (!status) {
17
+ return {
18
+ ready: false,
19
+ message: 'Backup has no status yet',
20
+ reason: 'StatusMissing',
21
+ };
22
+ }
23
+ const phase = status.phase;
24
+ if (phase === 'completed') {
25
+ return {
26
+ ready: true,
27
+ message: `Backup completed at ${status.stoppedAt || 'unknown time'}`,
28
+ reason: 'Completed',
29
+ };
30
+ }
31
+ if (phase === 'failed') {
32
+ return {
33
+ ready: false,
34
+ message: `Backup failed: ${status.error || 'unknown error'}`,
35
+ reason: 'Failed',
36
+ };
37
+ }
38
+ if (phase === 'started') {
39
+ return {
40
+ ready: false,
41
+ message: `Backup in progress since ${status.startedAt || 'unknown time'}`,
42
+ reason: 'InProgress',
43
+ };
44
+ }
45
+ return {
46
+ ready: false,
47
+ message: `Backup is pending (phase: ${phase || 'unknown'})`,
48
+ reason: 'Pending',
49
+ };
50
+ }
51
+ /**
52
+ * CloudNativePG Backup Factory
53
+ *
54
+ * Creates an on-demand backup of a PostgreSQL cluster. Supports both
55
+ * barman object store and volume snapshot methods.
56
+ *
57
+ * @param config - Backup configuration following postgresql.cnpg.io/v1 API
58
+ * @returns Enhanced Backup resource with readiness evaluation
59
+ *
60
+ * @example
61
+ * ```typescript
62
+ * const bk = backup({
63
+ * name: 'manual-backup-20240115',
64
+ * namespace: 'databases',
65
+ * spec: {
66
+ * cluster: { name: 'my-database' },
67
+ * method: 'barmanObjectStore',
68
+ * target: 'prefer-standby',
69
+ * },
70
+ * id: 'manualBackup',
71
+ * });
72
+ * ```
73
+ */
74
+ function createBackupResource(config) {
75
+ return createResource({
76
+ apiVersion: 'postgresql.cnpg.io/v1',
77
+ kind: 'Backup',
78
+ metadata: {
79
+ name: config.name,
80
+ ...(config.namespace && { namespace: config.namespace }),
81
+ },
82
+ spec: config.spec,
83
+ ...(config.id && { id: config.id }),
84
+ }, { scope: 'namespaced' }).withReadinessEvaluator(backupReadinessEvaluator);
85
+ }
86
+ export const backup = createBackupResource;
87
+ //# sourceMappingURL=backup.js.map