typekro 0.33.9 → 0.34.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 (352) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/compositions/typekro-runtime/typekro-runtime.d.ts +0 -33
  3. package/dist/compositions/typekro-runtime/typekro-runtime.d.ts.map +1 -1
  4. package/dist/compositions/typekro-runtime/typekro-runtime.js +63 -1
  5. package/dist/compositions/typekro-runtime/typekro-runtime.js.map +1 -1
  6. package/dist/compositions/typekro-runtime/types.d.ts +8 -0
  7. package/dist/compositions/typekro-runtime/types.d.ts.map +1 -1
  8. package/dist/compositions/typekro-runtime/types.js +1 -0
  9. package/dist/compositions/typekro-runtime/types.js.map +1 -1
  10. package/dist/core/aspects/values-merge.d.ts +17 -0
  11. package/dist/core/aspects/values-merge.d.ts.map +1 -1
  12. package/dist/core/aspects/values-merge.js +67 -8
  13. package/dist/core/aspects/values-merge.js.map +1 -1
  14. package/dist/core/deployment/direct-factory.d.ts +9 -0
  15. package/dist/core/deployment/direct-factory.d.ts.map +1 -1
  16. package/dist/core/deployment/direct-factory.js +37 -3
  17. package/dist/core/deployment/direct-factory.js.map +1 -1
  18. package/dist/core/deployment/engine.d.ts +34 -0
  19. package/dist/core/deployment/engine.d.ts.map +1 -1
  20. package/dist/core/deployment/engine.js +173 -29
  21. package/dist/core/deployment/engine.js.map +1 -1
  22. package/dist/core/deployment/index.d.ts +2 -0
  23. package/dist/core/deployment/index.d.ts.map +1 -1
  24. package/dist/core/deployment/index.js +1 -0
  25. package/dist/core/deployment/index.js.map +1 -1
  26. package/dist/core/deployment/k8s-helpers.d.ts +73 -0
  27. package/dist/core/deployment/k8s-helpers.d.ts.map +1 -1
  28. package/dist/core/deployment/k8s-helpers.js +198 -4
  29. package/dist/core/deployment/k8s-helpers.js.map +1 -1
  30. package/dist/core/deployment/kro-factory.d.ts.map +1 -1
  31. package/dist/core/deployment/kro-factory.js +21 -1
  32. package/dist/core/deployment/kro-factory.js.map +1 -1
  33. package/dist/core/deployment/status-leaf-resolution.d.ts +101 -0
  34. package/dist/core/deployment/status-leaf-resolution.d.ts.map +1 -0
  35. package/dist/core/deployment/status-leaf-resolution.js +232 -0
  36. package/dist/core/deployment/status-leaf-resolution.js.map +1 -0
  37. package/dist/core/deployment/strategies/base-strategy.d.ts.map +1 -1
  38. package/dist/core/deployment/strategies/base-strategy.js +31 -3
  39. package/dist/core/deployment/strategies/base-strategy.js.map +1 -1
  40. package/dist/core/deployment/strategies/kro-strategy.d.ts.map +1 -1
  41. package/dist/core/deployment/strategies/kro-strategy.js +8 -1
  42. package/dist/core/deployment/strategies/kro-strategy.js.map +1 -1
  43. package/dist/core/expressions/composition/composition-analyzer-helpers.d.ts.map +1 -1
  44. package/dist/core/expressions/composition/composition-analyzer-helpers.js +20 -2
  45. package/dist/core/expressions/composition/composition-analyzer-helpers.js.map +1 -1
  46. package/dist/core/kro/index.d.ts +6 -0
  47. package/dist/core/kro/index.d.ts.map +1 -0
  48. package/dist/core/kro/index.js +6 -0
  49. package/dist/core/kro/index.js.map +1 -0
  50. package/dist/core/kro/label-guard-capability.d.ts +141 -0
  51. package/dist/core/kro/label-guard-capability.d.ts.map +1 -0
  52. package/dist/core/kro/label-guard-capability.js +257 -0
  53. package/dist/core/kro/label-guard-capability.js.map +1 -0
  54. package/dist/core/kro/labels.d.ts +56 -0
  55. package/dist/core/kro/labels.d.ts.map +1 -0
  56. package/dist/core/kro/labels.js +62 -0
  57. package/dist/core/kro/labels.js.map +1 -0
  58. package/dist/core/kubernetes/api-capability.d.ts +196 -0
  59. package/dist/core/kubernetes/api-capability.d.ts.map +1 -0
  60. package/dist/core/kubernetes/api-capability.js +301 -0
  61. package/dist/core/kubernetes/api-capability.js.map +1 -0
  62. package/dist/core/kubernetes/index.d.ts +2 -0
  63. package/dist/core/kubernetes/index.d.ts.map +1 -1
  64. package/dist/core/kubernetes/index.js +2 -0
  65. package/dist/core/kubernetes/index.js.map +1 -1
  66. package/dist/core/kubernetes/naming.d.ts +100 -0
  67. package/dist/core/kubernetes/naming.d.ts.map +1 -0
  68. package/dist/core/kubernetes/naming.js +93 -0
  69. package/dist/core/kubernetes/naming.js.map +1 -0
  70. package/dist/core/planning/direct-runtime-adapter.d.ts.map +1 -1
  71. package/dist/core/planning/direct-runtime-adapter.js +54 -17
  72. package/dist/core/planning/direct-runtime-adapter.js.map +1 -1
  73. package/dist/core/planning/planner.d.ts.map +1 -1
  74. package/dist/core/planning/planner.js +17 -0
  75. package/dist/core/planning/planner.js.map +1 -1
  76. package/dist/core/planning/schema.d.ts.map +1 -1
  77. package/dist/core/planning/schema.js +7 -3
  78. package/dist/core/planning/schema.js.map +1 -1
  79. package/dist/core/references/cel-lexical-scanner.d.ts +100 -1
  80. package/dist/core/references/cel-lexical-scanner.d.ts.map +1 -1
  81. package/dist/core/references/cel-lexical-scanner.js +196 -2
  82. package/dist/core/references/cel-lexical-scanner.js.map +1 -1
  83. package/dist/core/references/cel.d.ts +249 -1
  84. package/dist/core/references/cel.d.ts.map +1 -1
  85. package/dist/core/references/cel.js +289 -8
  86. package/dist/core/references/cel.js.map +1 -1
  87. package/dist/core/serialization/arktype-ast.d.ts +21 -0
  88. package/dist/core/serialization/arktype-ast.d.ts.map +1 -0
  89. package/dist/core/serialization/arktype-ast.js +29 -0
  90. package/dist/core/serialization/arktype-ast.js.map +1 -0
  91. package/dist/core/serialization/cel-references.d.ts +133 -32
  92. package/dist/core/serialization/cel-references.d.ts.map +1 -1
  93. package/dist/core/serialization/cel-references.js +908 -109
  94. package/dist/core/serialization/cel-references.js.map +1 -1
  95. package/dist/core/serialization/core.d.ts.map +1 -1
  96. package/dist/core/serialization/core.js +13 -2
  97. package/dist/core/serialization/core.js.map +1 -1
  98. package/dist/core/serialization/schema.d.ts +16 -2
  99. package/dist/core/serialization/schema.d.ts.map +1 -1
  100. package/dist/core/serialization/schema.js +113 -21
  101. package/dist/core/serialization/schema.js.map +1 -1
  102. package/dist/core/types/composable.d.ts +7 -1
  103. package/dist/core/types/composable.d.ts.map +1 -1
  104. package/dist/core/types/deployment.d.ts +32 -2
  105. package/dist/core/types/deployment.d.ts.map +1 -1
  106. package/dist/core/types/serialization.d.ts +37 -0
  107. package/dist/core/types/serialization.d.ts.map +1 -1
  108. package/dist/core/validation/cel-dialect.d.ts +246 -0
  109. package/dist/core/validation/cel-dialect.d.ts.map +1 -0
  110. package/dist/core/validation/cel-dialect.js +1997 -0
  111. package/dist/core/validation/cel-dialect.js.map +1 -0
  112. package/dist/core/validation/cel-validator.d.ts.map +1 -1
  113. package/dist/core/validation/cel-validator.js +8 -1
  114. package/dist/core/validation/cel-validator.js.map +1 -1
  115. package/dist/core/validation/literal-status.d.ts +107 -0
  116. package/dist/core/validation/literal-status.d.ts.map +1 -0
  117. package/dist/core/validation/literal-status.js +346 -0
  118. package/dist/core/validation/literal-status.js.map +1 -0
  119. package/dist/core/validation/structural-spec-dependence.d.ts +179 -0
  120. package/dist/core/validation/structural-spec-dependence.d.ts.map +1 -0
  121. package/dist/core/validation/structural-spec-dependence.js +911 -0
  122. package/dist/core/validation/structural-spec-dependence.js.map +1 -0
  123. package/dist/factories/apisix/compositions/apisix-bootstrap.d.ts.map +1 -1
  124. package/dist/factories/apisix/compositions/apisix-bootstrap.js +9 -0
  125. package/dist/factories/apisix/compositions/apisix-bootstrap.js.map +1 -1
  126. package/dist/factories/clickhouse/compositions/clickhouse-cluster.d.ts +6 -0
  127. package/dist/factories/clickhouse/compositions/clickhouse-cluster.d.ts.map +1 -1
  128. package/dist/factories/clickhouse/compositions/clickhouse-cluster.js +273 -23
  129. package/dist/factories/clickhouse/compositions/clickhouse-cluster.js.map +1 -1
  130. package/dist/factories/clickhouse/resources/index.d.ts +1 -0
  131. package/dist/factories/clickhouse/resources/index.d.ts.map +1 -1
  132. package/dist/factories/clickhouse/resources/index.js +1 -0
  133. package/dist/factories/clickhouse/resources/index.js.map +1 -1
  134. package/dist/factories/clickhouse/resources/installation.d.ts.map +1 -1
  135. package/dist/factories/clickhouse/resources/installation.js +31 -4
  136. package/dist/factories/clickhouse/resources/installation.js.map +1 -1
  137. package/dist/factories/clickhouse/resources/s3-backup.d.ts +215 -0
  138. package/dist/factories/clickhouse/resources/s3-backup.d.ts.map +1 -0
  139. package/dist/factories/clickhouse/resources/s3-backup.js +410 -0
  140. package/dist/factories/clickhouse/resources/s3-backup.js.map +1 -0
  141. package/dist/factories/clickhouse/types.d.ts +416 -20
  142. package/dist/factories/clickhouse/types.d.ts.map +1 -1
  143. package/dist/factories/clickhouse/types.js +235 -11
  144. package/dist/factories/clickhouse/types.js.map +1 -1
  145. package/dist/factories/clickhouse/utils/helm-values-mapper.d.ts +42 -0
  146. package/dist/factories/clickhouse/utils/helm-values-mapper.d.ts.map +1 -1
  147. package/dist/factories/clickhouse/utils/helm-values-mapper.js +48 -0
  148. package/dist/factories/clickhouse/utils/helm-values-mapper.js.map +1 -1
  149. package/dist/factories/clickhouse/utils/index.d.ts +2 -0
  150. package/dist/factories/clickhouse/utils/index.d.ts.map +1 -1
  151. package/dist/factories/clickhouse/utils/index.js +2 -0
  152. package/dist/factories/clickhouse/utils/index.js.map +1 -1
  153. package/dist/factories/clickhouse/utils/s3-storage.d.ts +503 -0
  154. package/dist/factories/clickhouse/utils/s3-storage.d.ts.map +1 -0
  155. package/dist/factories/clickhouse/utils/s3-storage.js +1139 -0
  156. package/dist/factories/clickhouse/utils/s3-storage.js.map +1 -0
  157. package/dist/factories/clickhouse/utils/validation.d.ts +103 -0
  158. package/dist/factories/clickhouse/utils/validation.d.ts.map +1 -1
  159. package/dist/factories/clickhouse/utils/validation.js +129 -0
  160. package/dist/factories/clickhouse/utils/validation.js.map +1 -1
  161. package/dist/factories/clickhouse/utils/xml.d.ts +87 -0
  162. package/dist/factories/clickhouse/utils/xml.d.ts.map +1 -0
  163. package/dist/factories/clickhouse/utils/xml.js +151 -0
  164. package/dist/factories/clickhouse/utils/xml.js.map +1 -0
  165. package/dist/factories/clickstack/compositions/clickstack-bootstrap.d.ts +57 -0
  166. package/dist/factories/clickstack/compositions/clickstack-bootstrap.d.ts.map +1 -1
  167. package/dist/factories/clickstack/compositions/clickstack-bootstrap.js +266 -7
  168. package/dist/factories/clickstack/compositions/clickstack-bootstrap.js.map +1 -1
  169. package/dist/factories/clickstack/types.d.ts +205 -26
  170. package/dist/factories/clickstack/types.d.ts.map +1 -1
  171. package/dist/factories/clickstack/types.js +106 -8
  172. package/dist/factories/clickstack/types.js.map +1 -1
  173. package/dist/factories/clickstack/utils/collector-config.d.ts +104 -0
  174. package/dist/factories/clickstack/utils/collector-config.d.ts.map +1 -0
  175. package/dist/factories/clickstack/utils/collector-config.js +266 -0
  176. package/dist/factories/clickstack/utils/collector-config.js.map +1 -0
  177. package/dist/factories/clickstack/utils/helm-values-mapper.d.ts +26 -0
  178. package/dist/factories/clickstack/utils/helm-values-mapper.d.ts.map +1 -1
  179. package/dist/factories/clickstack/utils/helm-values-mapper.js +53 -12
  180. package/dist/factories/clickstack/utils/helm-values-mapper.js.map +1 -1
  181. package/dist/factories/clickstack/utils/index.d.ts +2 -0
  182. package/dist/factories/clickstack/utils/index.d.ts.map +1 -1
  183. package/dist/factories/clickstack/utils/index.js +2 -0
  184. package/dist/factories/clickstack/utils/index.js.map +1 -1
  185. package/dist/factories/clickstack/utils/storage.d.ts +449 -0
  186. package/dist/factories/clickstack/utils/storage.d.ts.map +1 -0
  187. package/dist/factories/clickstack/utils/storage.js +698 -0
  188. package/dist/factories/clickstack/utils/storage.js.map +1 -0
  189. package/dist/factories/cnpg/resources/helm.d.ts.map +1 -1
  190. package/dist/factories/cnpg/resources/helm.js +4 -4
  191. package/dist/factories/cnpg/resources/helm.js.map +1 -1
  192. package/dist/factories/cnpg/types.d.ts +10 -1
  193. package/dist/factories/cnpg/types.d.ts.map +1 -1
  194. package/dist/factories/cnpg/types.js.map +1 -1
  195. package/dist/factories/cnpg/utils/helm-values-mapper.d.ts +19 -2
  196. package/dist/factories/cnpg/utils/helm-values-mapper.d.ts.map +1 -1
  197. package/dist/factories/cnpg/utils/helm-values-mapper.js +22 -4
  198. package/dist/factories/cnpg/utils/helm-values-mapper.js.map +1 -1
  199. package/dist/factories/envoy-ai-gateway/compositions/gateway.d.ts.map +1 -1
  200. package/dist/factories/envoy-ai-gateway/compositions/gateway.js +16 -3
  201. package/dist/factories/envoy-ai-gateway/compositions/gateway.js.map +1 -1
  202. package/dist/factories/envoy-ai-gateway/constants.d.ts +5 -2
  203. package/dist/factories/envoy-ai-gateway/constants.d.ts.map +1 -1
  204. package/dist/factories/envoy-ai-gateway/constants.js +5 -2
  205. package/dist/factories/envoy-ai-gateway/constants.js.map +1 -1
  206. package/dist/factories/envoy-ai-gateway/resources/gateway.d.ts +12 -0
  207. package/dist/factories/envoy-ai-gateway/resources/gateway.d.ts.map +1 -1
  208. package/dist/factories/envoy-ai-gateway/resources/gateway.js +27 -104
  209. package/dist/factories/envoy-ai-gateway/resources/gateway.js.map +1 -1
  210. package/dist/factories/envoy-ai-gateway/types.d.ts +15 -47
  211. package/dist/factories/envoy-ai-gateway/types.d.ts.map +1 -1
  212. package/dist/factories/envoy-ai-gateway/types.js.map +1 -1
  213. package/dist/factories/gateway-api/constants.d.ts +27 -0
  214. package/dist/factories/gateway-api/constants.d.ts.map +1 -0
  215. package/dist/factories/gateway-api/constants.js +27 -0
  216. package/dist/factories/gateway-api/constants.js.map +1 -0
  217. package/dist/factories/gateway-api/index.d.ts +14 -0
  218. package/dist/factories/gateway-api/index.d.ts.map +1 -0
  219. package/dist/factories/gateway-api/index.js +14 -0
  220. package/dist/factories/gateway-api/index.js.map +1 -0
  221. package/dist/factories/gateway-api/readiness.d.ts +67 -0
  222. package/dist/factories/gateway-api/readiness.d.ts.map +1 -0
  223. package/dist/factories/gateway-api/readiness.js +213 -0
  224. package/dist/factories/gateway-api/readiness.js.map +1 -0
  225. package/dist/factories/gateway-api/resources/gateway.d.ts +91 -0
  226. package/dist/factories/gateway-api/resources/gateway.d.ts.map +1 -0
  227. package/dist/factories/gateway-api/resources/gateway.js +99 -0
  228. package/dist/factories/gateway-api/resources/gateway.js.map +1 -0
  229. package/dist/factories/gateway-api/resources/index.d.ts +2 -0
  230. package/dist/factories/gateway-api/resources/index.d.ts.map +1 -0
  231. package/dist/factories/gateway-api/resources/index.js +2 -0
  232. package/dist/factories/gateway-api/resources/index.js.map +1 -0
  233. package/dist/factories/gateway-api/types.d.ts +1269 -0
  234. package/dist/factories/gateway-api/types.d.ts.map +1 -0
  235. package/dist/factories/gateway-api/types.js +417 -0
  236. package/dist/factories/gateway-api/types.js.map +1 -0
  237. package/dist/factories/helm/readiness-evaluators.d.ts +21 -3
  238. package/dist/factories/helm/readiness-evaluators.d.ts.map +1 -1
  239. package/dist/factories/helm/readiness-evaluators.js +117 -11
  240. package/dist/factories/helm/readiness-evaluators.js.map +1 -1
  241. package/dist/factories/helm/types.d.ts +28 -0
  242. package/dist/factories/helm/types.d.ts.map +1 -1
  243. package/dist/factories/index.d.ts +2 -0
  244. package/dist/factories/index.d.ts.map +1 -1
  245. package/dist/factories/index.js +8 -0
  246. package/dist/factories/index.js.map +1 -1
  247. package/dist/factories/inngest/compositions/inngest-bootstrap.d.ts.map +1 -1
  248. package/dist/factories/inngest/compositions/inngest-bootstrap.js +10 -0
  249. package/dist/factories/inngest/compositions/inngest-bootstrap.js.map +1 -1
  250. package/dist/factories/kubernetes/admission/index.d.ts +2 -0
  251. package/dist/factories/kubernetes/admission/index.d.ts.map +1 -1
  252. package/dist/factories/kubernetes/admission/index.js +2 -0
  253. package/dist/factories/kubernetes/admission/index.js.map +1 -1
  254. package/dist/factories/kubernetes/admission/label-propagation-guard.d.ts +108 -0
  255. package/dist/factories/kubernetes/admission/label-propagation-guard.d.ts.map +1 -0
  256. package/dist/factories/kubernetes/admission/label-propagation-guard.js +247 -0
  257. package/dist/factories/kubernetes/admission/label-propagation-guard.js.map +1 -0
  258. package/dist/factories/kubernetes/admission/mutating-admission-policy.d.ts +286 -0
  259. package/dist/factories/kubernetes/admission/mutating-admission-policy.d.ts.map +1 -0
  260. package/dist/factories/kubernetes/admission/mutating-admission-policy.js +157 -0
  261. package/dist/factories/kubernetes/admission/mutating-admission-policy.js.map +1 -0
  262. package/dist/factories/opensearch/compositions/cluster.d.ts.map +1 -1
  263. package/dist/factories/opensearch/compositions/cluster.js +6 -1
  264. package/dist/factories/opensearch/compositions/cluster.js.map +1 -1
  265. package/dist/factories/ory/compositions/ory-identity-stack.d.ts +8 -8
  266. package/dist/factories/ory/types.d.ts +16 -16
  267. package/dist/factories/rook/compositions/object-storage-claim.d.ts +1 -1
  268. package/dist/factories/rook/compositions/rook-ceph-platform.js +8 -1
  269. package/dist/factories/rook/compositions/rook-ceph-platform.js.map +1 -1
  270. package/dist/factories/rook/types.d.ts +1 -1
  271. package/dist/factories/searxng/compositions/searxng-bootstrap.d.ts +1 -1
  272. package/dist/factories/searxng/compositions/searxng-bootstrap.d.ts.map +1 -1
  273. package/dist/factories/searxng/compositions/searxng-bootstrap.js +18 -13
  274. package/dist/factories/searxng/compositions/searxng-bootstrap.js.map +1 -1
  275. package/dist/factories/searxng/index.d.ts +3 -0
  276. package/dist/factories/searxng/index.d.ts.map +1 -1
  277. package/dist/factories/searxng/index.js +3 -0
  278. package/dist/factories/searxng/index.js.map +1 -1
  279. package/dist/factories/searxng/types.js +1 -1
  280. package/dist/factories/searxng/types.js.map +1 -1
  281. package/dist/factories/traefik/compositions/index.d.ts +6 -0
  282. package/dist/factories/traefik/compositions/index.d.ts.map +1 -0
  283. package/dist/factories/traefik/compositions/index.js +6 -0
  284. package/dist/factories/traefik/compositions/index.js.map +1 -0
  285. package/dist/factories/traefik/compositions/traefik-bootstrap.d.ts +185 -0
  286. package/dist/factories/traefik/compositions/traefik-bootstrap.d.ts.map +1 -0
  287. package/dist/factories/traefik/compositions/traefik-bootstrap.js +339 -0
  288. package/dist/factories/traefik/compositions/traefik-bootstrap.js.map +1 -0
  289. package/dist/factories/traefik/compositions/traefik-helm-repository.d.ts +16 -0
  290. package/dist/factories/traefik/compositions/traefik-helm-repository.d.ts.map +1 -0
  291. package/dist/factories/traefik/compositions/traefik-helm-repository.js +31 -0
  292. package/dist/factories/traefik/compositions/traefik-helm-repository.js.map +1 -0
  293. package/dist/factories/traefik/constants.d.ts +78 -0
  294. package/dist/factories/traefik/constants.d.ts.map +1 -0
  295. package/dist/factories/traefik/constants.js +104 -0
  296. package/dist/factories/traefik/constants.js.map +1 -0
  297. package/dist/factories/traefik/index.d.ts +25 -0
  298. package/dist/factories/traefik/index.d.ts.map +1 -0
  299. package/dist/factories/traefik/index.js +25 -0
  300. package/dist/factories/traefik/index.js.map +1 -0
  301. package/dist/factories/traefik/resources/common.d.ts +68 -0
  302. package/dist/factories/traefik/resources/common.d.ts.map +1 -0
  303. package/dist/factories/traefik/resources/common.js +59 -0
  304. package/dist/factories/traefik/resources/common.js.map +1 -0
  305. package/dist/factories/traefik/resources/gateway.d.ts +85 -0
  306. package/dist/factories/traefik/resources/gateway.d.ts.map +1 -0
  307. package/dist/factories/traefik/resources/gateway.js +109 -0
  308. package/dist/factories/traefik/resources/gateway.js.map +1 -0
  309. package/dist/factories/traefik/resources/helm.d.ts +56 -0
  310. package/dist/factories/traefik/resources/helm.d.ts.map +1 -0
  311. package/dist/factories/traefik/resources/helm.js +131 -0
  312. package/dist/factories/traefik/resources/helm.js.map +1 -0
  313. package/dist/factories/traefik/resources/index.d.ts +10 -0
  314. package/dist/factories/traefik/resources/index.d.ts.map +1 -0
  315. package/dist/factories/traefik/resources/index.js +10 -0
  316. package/dist/factories/traefik/resources/index.js.map +1 -0
  317. package/dist/factories/traefik/resources/middleware.d.ts +169 -0
  318. package/dist/factories/traefik/resources/middleware.d.ts.map +1 -0
  319. package/dist/factories/traefik/resources/middleware.js +225 -0
  320. package/dist/factories/traefik/resources/middleware.js.map +1 -0
  321. package/dist/factories/traefik/resources/routing.d.ts +113 -0
  322. package/dist/factories/traefik/resources/routing.d.ts.map +1 -0
  323. package/dist/factories/traefik/resources/routing.js +119 -0
  324. package/dist/factories/traefik/resources/routing.js.map +1 -0
  325. package/dist/factories/traefik/resources/tls.d.ts +85 -0
  326. package/dist/factories/traefik/resources/tls.d.ts.map +1 -0
  327. package/dist/factories/traefik/resources/tls.js +93 -0
  328. package/dist/factories/traefik/resources/tls.js.map +1 -0
  329. package/dist/factories/traefik/types.d.ts +2690 -0
  330. package/dist/factories/traefik/types.d.ts.map +1 -0
  331. package/dist/factories/traefik/types.js +1084 -0
  332. package/dist/factories/traefik/types.js.map +1 -0
  333. package/dist/factories/traefik/utils/helm-values-mapper.d.ts +198 -0
  334. package/dist/factories/traefik/utils/helm-values-mapper.d.ts.map +1 -0
  335. package/dist/factories/traefik/utils/helm-values-mapper.js +372 -0
  336. package/dist/factories/traefik/utils/helm-values-mapper.js.map +1 -0
  337. package/dist/factories/traefik/utils/index.d.ts +6 -0
  338. package/dist/factories/traefik/utils/index.d.ts.map +1 -0
  339. package/dist/factories/traefik/utils/index.js +6 -0
  340. package/dist/factories/traefik/utils/index.js.map +1 -0
  341. package/dist/factories/traefik/utils/middleware-validation.d.ts +42 -0
  342. package/dist/factories/traefik/utils/middleware-validation.d.ts.map +1 -0
  343. package/dist/factories/traefik/utils/middleware-validation.js +78 -0
  344. package/dist/factories/traefik/utils/middleware-validation.js.map +1 -0
  345. package/dist/factories/webapp/compositions/web-app-with-processing.d.ts.map +1 -1
  346. package/dist/factories/webapp/compositions/web-app-with-processing.js +10 -0
  347. package/dist/factories/webapp/compositions/web-app-with-processing.js.map +1 -1
  348. package/dist/index.d.ts +4 -3
  349. package/dist/index.d.ts.map +1 -1
  350. package/dist/index.js +3 -1
  351. package/dist/index.js.map +1 -1
  352. package/package.json +9 -1
@@ -19,7 +19,8 @@
19
19
  import { registerPortableReadinessEvaluator } from '../../../core/readiness/index.js';
20
20
  import { isCelExpression, isKubernetesRef } from '../../../utils/type-guards.js';
21
21
  import { createResource } from '../../shared.js';
22
- import { assertPositiveIntegerCount } from '../utils/validation.js';
22
+ import { clickHouseS3ConfigurationFiles, clickHouseS3ConfigurationSettings, clickHouseS3ContainerEnv, clickHouseS3ServiceAccountName, resolveClickHouseStorage, } from '../utils/s3-storage.js';
23
+ import { assertClickHouseClusterName, assertPositiveIntegerCount, } from '../utils/validation.js';
23
24
  import { compileZonePinnedLayout } from '../utils/zone-layout.js';
24
25
  /**
25
26
  * Known CHI/CHK reconcile status strings.
@@ -187,15 +188,34 @@ function compileInstallationSpec(config) {
187
188
  assertPositiveIntegerCount('clickHouseInstallation', 'shards', shards);
188
189
  assertPositiveIntegerCount('clickHouseInstallation', 'replicas', replicas);
189
190
  const clusterName = config.clusterName ?? DEFAULT_CHI_CLUSTER_NAME;
191
+ // Concrete names only — a schema reference passes through untouched and is
192
+ // constrained by the generated KRO schema instead (see
193
+ // `ClickHouseClusterNameSchema`). The value is a fragment of every object
194
+ // name the operator generates AND the `ON CLUSTER` target of the backup.
195
+ assertClickHouseClusterName('clickHouseInstallation', 'clusterName', clusterName);
190
196
  const image = config.image ?? `${DEFAULT_CLICKHOUSE_IMAGE_REPOSITORY}:${config.version}`;
191
197
  const zones = config.zones ?? [];
198
+ // Storage resolution happens BEFORE the pod spec: in S3 mode it contributes
199
+ // container env (Secret-backed keys) and a ServiceAccount (IRSA), and it is
200
+ // where PVC/S3 option mixing is rejected.
201
+ const storage = resolveClickHouseStorage('clickHouseInstallation', config.storage, config.version);
202
+ if (storage.mode === 's3' && storage.diskType === 's3_plain_rewritable' && replicas > 1) {
203
+ throw new Error(`clickHouseInstallation: storage.diskType 's3_plain_rewritable' does not support table ` +
204
+ `replication (ClickHouse documents mutations and replication as unsupported for the ` +
205
+ `plain_rewritable metadata type), so it requires a SINGLE replica (got ${replicas}). ` +
206
+ `Use diskType: 's3' with a backup schedule for a replicated cluster.`);
207
+ }
208
+ const s3Env = storage.mode === 's3' ? clickHouseS3ContainerEnv(storage) : [];
209
+ const s3ServiceAccountName = storage.mode === 's3' ? clickHouseS3ServiceAccountName(storage, config.name) : undefined;
192
210
  // Shared ClickHouse server pod spec (per-zone templates add affinity).
193
211
  const podSpec = {
212
+ ...(s3ServiceAccountName !== undefined && { serviceAccountName: s3ServiceAccountName }),
194
213
  containers: [
195
214
  {
196
215
  name: 'clickhouse',
197
216
  image,
198
217
  ...(config.podResources && { resources: config.podResources }),
218
+ ...(s3Env.length > 0 && { env: s3Env }),
199
219
  },
200
220
  ],
201
221
  };
@@ -271,12 +291,19 @@ function compileInstallationSpec(config) {
271
291
  // The operator's `zookeeper` section serves clickhouse-keeper too.
272
292
  ...(config.keeper && {
273
293
  zookeeper: {
274
- nodes: [
275
- { host: config.keeper.host, port: config.keeper.port ?? 2181 },
276
- ],
294
+ nodes: [{ host: config.keeper.host, port: config.keeper.port ?? 2181 }],
277
295
  },
278
296
  }),
279
297
  ...(config.users && { users: compileUsers(config.users) }),
298
+ // S3 mode: the rendered storage_configuration lands in
299
+ // `configuration.files` (`config.d/storage.xml`) and the policy becomes
300
+ // the MergeTree DEFAULT via `configuration.settings`, so tables created
301
+ // by tooling outside TypeKro (HyperDX/OTel goose migrations, SigNoz's
302
+ // migrator) go to object storage with no per-table DDL.
303
+ ...(storage.mode === 's3' && {
304
+ settings: clickHouseS3ConfigurationSettings(storage),
305
+ files: clickHouseS3ConfigurationFiles(storage),
306
+ }),
280
307
  },
281
308
  templates: {
282
309
  podTemplates,
@@ -1 +1 @@
1
- {"version":3,"file":"installation.js","sourceRoot":"","sources":["../../../../src/factories/clickhouse/resources/installation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"installation.js","sourceRoot":"","sources":["../../../../src/factories/clickhouse/resources/installation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,215 @@
1
+ /**
2
+ * Scheduled `BACKUP ... TO S3(...)` CronJob for an S3-backed ClickHouse.
3
+ *
4
+ * WHY this exists: with `storage.diskType: 's3'` the bucket holds the part
5
+ * DATA but the part METADATA lives on the node's local disk, so the bucket is
6
+ * not self-describing — losing the node loses the map to the objects. That
7
+ * makes durability a backup story, and an "S3-backed" cluster with no backup
8
+ * is a trap. This factory renders that backup explicitly rather than leaving
9
+ * it to a README.
10
+ *
11
+ * SHAPE OF THE JOB
12
+ * - A timestamped backup name (`%Y%m%d%H%M%S`) is generated per run, so each
13
+ * run is a separate, independently restorable backup under
14
+ * `s3://<bucket>/<prefix>/<timestamp>`.
15
+ * - The `BACKUP` statement carries NO credentials: it executes SERVER-side, and
16
+ * the server picks the destination credentials up from the `<s3>` section the
17
+ * storage compiler renders into `config.d/storage.xml` (matched by endpoint
18
+ * prefix). Keys therefore never reach the query text — and never reach
19
+ * `system.query_log`.
20
+ * - With `retention.days`, the backup runs as an initContainer and a prune
21
+ * container follows it, deleting expired timestamped prefixes. The prune step
22
+ * needs S3 `DeleteObject` on the backup prefix (see the IAM policy in the
23
+ * docs).
24
+ *
25
+ * SHARDED CLUSTERS — WHY `ON CLUSTER` IS NOT OPTIONAL
26
+ * A plain `BACKUP DATABASE db TO S3(...)` is executed by the ONE server the
27
+ * client happened to connect to, and that server only holds its own shard's
28
+ * parts. On a multi-shard cluster that silently produces a PARTIAL backup: it
29
+ * succeeds, it is restorable, and it is missing every other shard's data.
30
+ * ClickHouse's answer is `BACKUP ... ON CLUSTER '<cluster>' TO S3(...)`, which
31
+ * fans the statement out to every host of the cluster and coordinates them
32
+ * through [Zoo]Keeper so that all of them contribute to ONE backup at ONE
33
+ * destination path (the `backup_restore_keeper_*` settings in the BACKUP/
34
+ * RESTORE reference exist for exactly this coordination). No `{shard}` /
35
+ * `{replica}` macros belong in the destination: that convention produces N
36
+ * INDEPENDENT per-shard backups, which is a different (external-tool) design
37
+ * and would need N restore statements.
38
+ *
39
+ * Because the coordination is Keeper-based, `ON CLUSTER` is only rendered for
40
+ * topologies that actually have a Keeper — {@link makeClickHouseCluster}
41
+ * REJECTS a multi-shard/multi-replica topology with a backup schedule and no
42
+ * keeper at construction rather than emitting a statement that would back up
43
+ * one shard.
44
+ *
45
+ * RESTORE is deliberately NOT automated — restoring over a live database is a
46
+ * decision, not a schedule. The procedure is documented in
47
+ * `docs/api/clickhouse/index.md`; in short (matching the backup's own shape):
48
+ * `RESTORE DATABASE <db> [ON CLUSTER '<cluster>'] FROM S3('<endpoint>/<timestamp>')`.
49
+ */
50
+ import type { V1CronJobSpec, V1CronJobStatus } from '@kubernetes/client-node';
51
+ import type { Composable, Enhanced } from '../../../core/types/index.js';
52
+ import type { ResolvedClickHouseS3Storage } from '../utils/s3-storage.js';
53
+ /**
54
+ * What `storage` has to be, quoted into the ArkType error on a bad value.
55
+ *
56
+ * Re-exported from `utils/s3-storage.ts`, where it is attached to the `mode`
57
+ * discriminant of the resolved-storage schema; kept on this module's surface
58
+ * because that is where callers of the backup factory look for it.
59
+ */
60
+ export { RESOLVED_S3_STORAGE_REQUIREMENT } from '../utils/s3-storage.js';
61
+ /** Image used for the prune step (the ClickHouse image has no AWS CLI). */
62
+ export declare const DEFAULT_S3_PRUNE_IMAGE = "amazon/aws-cli:2.22.35";
63
+ /**
64
+ * The composition-facing form of {@link ClickHouseS3BackupCronJobConfig}.
65
+ *
66
+ * `Composable<T>` everywhere EXCEPT `storage`: the resolved S3 storage is
67
+ * build-time concrete by construction (`resolveClickHouseStorage` rejects a
68
+ * schema reference in S3 mode, because the values compile into a
69
+ * `storage_configuration` XML document), so loosening it into proxy form would
70
+ * describe a value this factory can never receive — and would make every
71
+ * optional field of the resolution nullable for no reason. The RUNTIME fields
72
+ * (`name`, `namespace`, `version`, `clusterName`) are exactly the ones that may
73
+ * be schema references, and they are the ones `Composable` covers here.
74
+ */
75
+ export type ComposableClickHouseS3BackupCronJobConfig = Composable<Omit<ClickHouseS3BackupCronJobConfig, 'storage'>> & {
76
+ storage: ResolvedClickHouseS3Storage;
77
+ };
78
+ /**
79
+ * The `storage` input: an already-RESOLVED S3 storage.
80
+ *
81
+ * It IS {@link ResolvedClickHouseS3StorageSchema} — the one description of a
82
+ * resolved S3 storage, which `resolveClickHouseStorage()` also asserts its own
83
+ * output against. There is deliberately no second, looser shape here: this
84
+ * factory field-selects `storage.backup.*`, `storage.bucket`, `storage.region`
85
+ * and `storage.auth` to build the CronJob, so the structure it reads has to be
86
+ * one that runtime validation ESTABLISHES rather than one a predicate claims.
87
+ *
88
+ * Re-exported under the old name so `ClickHouseS3BackupCronJobConfigSchema`
89
+ * reads as a schema of its own fields.
90
+ */
91
+ export declare const ClickHouseS3BackupStorageSchema: import("arktype/internal/variants/object.ts").ObjectType<{
92
+ mode: "s3";
93
+ bucket: string;
94
+ prefix: string;
95
+ diskType: "s3" | "s3_plain_rewritable";
96
+ policyName: string;
97
+ cacheMaxSizeBytes: number;
98
+ cachePath: string;
99
+ auth: {
100
+ kind: "irsa";
101
+ roleArn: string;
102
+ serviceAccountName?: string;
103
+ } | {
104
+ kind: "secretRef";
105
+ secretName: string;
106
+ accessKeyIdKey: string;
107
+ secretAccessKeyKey: string;
108
+ };
109
+ endpointUrl: string;
110
+ region?: string;
111
+ endpoint?: string;
112
+ backup?: {
113
+ schedule: string;
114
+ bucket: string;
115
+ prefix: string;
116
+ database: string;
117
+ endpointUrl: string;
118
+ retentionDays?: number;
119
+ auth?: {
120
+ secretName: string;
121
+ usernameKey: string;
122
+ passwordKey: string;
123
+ };
124
+ };
125
+ }, {}>;
126
+ /**
127
+ * ArkType schema for ClickHouseS3BackupCronJobConfig.
128
+ *
129
+ * Configuration for {@link clickHouseS3BackupCronJob}.
130
+ */
131
+ export declare const ClickHouseS3BackupCronJobConfigSchema: import("arktype/internal/variants/object.ts").ObjectType<{
132
+ name: string;
133
+ namespace: string;
134
+ version: string;
135
+ storage: {
136
+ mode: "s3";
137
+ bucket: string;
138
+ prefix: string;
139
+ diskType: "s3" | "s3_plain_rewritable";
140
+ policyName: string;
141
+ cacheMaxSizeBytes: number;
142
+ cachePath: string;
143
+ auth: {
144
+ kind: "irsa";
145
+ roleArn: string;
146
+ serviceAccountName?: string;
147
+ } | {
148
+ kind: "secretRef";
149
+ secretName: string;
150
+ accessKeyIdKey: string;
151
+ secretAccessKeyKey: string;
152
+ };
153
+ endpointUrl: string;
154
+ region?: string;
155
+ endpoint?: string;
156
+ backup?: {
157
+ schedule: string;
158
+ bucket: string;
159
+ prefix: string;
160
+ database: string;
161
+ endpointUrl: string;
162
+ retentionDays?: number;
163
+ auth?: {
164
+ secretName: string;
165
+ usernameKey: string;
166
+ passwordKey: string;
167
+ };
168
+ };
169
+ };
170
+ nativePort: number;
171
+ clusterName?: string;
172
+ onCluster?: boolean;
173
+ id?: string;
174
+ }, {}>;
175
+ /**
176
+ * Configuration for {@link clickHouseS3BackupCronJob}.
177
+ *
178
+ * INFERRED WHOLE from {@link ClickHouseS3BackupCronJobConfigSchema}, including
179
+ * `storage` — a field cannot exist in the type without existing in the schema
180
+ * that validates it.
181
+ */
182
+ export type ClickHouseS3BackupCronJobConfig = typeof ClickHouseS3BackupCronJobConfigSchema.infer;
183
+ /**
184
+ * Env var carrying the `ON CLUSTER` target into the backup container.
185
+ *
186
+ * `CLICKHOUSE_CLUSTER` is NOT a name `clickhouse-client` interprets, so it
187
+ * cannot collide with the client's own configuration.
188
+ */
189
+ export declare const BACKUP_CLUSTER_ENV = "CLICKHOUSE_CLUSTER";
190
+ /**
191
+ * Create the scheduled backup CronJob for an S3-backed ClickHouse cluster.
192
+ *
193
+ * @param config - Backup CronJob configuration
194
+ * @returns Enhanced CronJob resource with schedule-based readiness evaluation
195
+ * @throws Error when the resolved storage carries no `backup` schedule, when
196
+ * `onCluster` is set without a `clusterName`, or when a concrete
197
+ * `clusterName` is not a bare identifier
198
+ *
199
+ * @example
200
+ * ```typescript
201
+ * const backup = clickHouseS3BackupCronJob({
202
+ * name: 'observability',
203
+ * namespace: 'observability',
204
+ * version: '25.12.5',
205
+ * storage: resolved,
206
+ * nativePort: 9000,
207
+ * // Sharded/replicated topology: back up EVERY shard, coordinated by Keeper.
208
+ * onCluster: true,
209
+ * clusterName: 'cluster',
210
+ * id: 'clickhouseBackup',
211
+ * });
212
+ * ```
213
+ */
214
+ export declare function clickHouseS3BackupCronJob(config: ComposableClickHouseS3BackupCronJobConfig): Enhanced<V1CronJobSpec, V1CronJobStatus>;
215
+ //# sourceMappingURL=s3-backup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"s3-backup.d.ts","sourceRoot":"","sources":["../../../../src/factories/clickhouse/resources/s3-backup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AAEH,OAAO,KAAK,EAEV,aAAa,EACb,eAAe,EAEhB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAEzE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAU1E;;;;;;GAMG;AACH,OAAO,EAAE,+BAA+B,EAAE,MAAM,wBAAwB,CAAC;AAEzE,2EAA2E;AAC3E,eAAO,MAAM,sBAAsB,2BAA2B,CAAC;AAE/D;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,yCAAyC,GAAG,UAAU,CAChE,IAAI,CAAC,+BAA+B,EAAE,SAAS,CAAC,CACjD,GAAG;IACF,OAAO,EAAE,2BAA2B,CAAC;CACtC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAoC,CAAC;AAEjF;;;;GAIG;AACH,eAAO,MAAM,qCAAqC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA4BhD,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,MAAM,+BAA+B,GACzC,OAAO,qCAAqC,CAAC,KAAK,CAAC;AAErD;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,uBAAuB,CAAC;AA0MvD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,yCAAyC,GAChD,QAAQ,CAAC,aAAa,EAAE,eAAe,CAAC,CAuF1C"}