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
@@ -1 +1 @@
1
- {"version":3,"file":"composition-analyzer-helpers.js","sourceRoot":"","sources":["../../../../src/core/expressions/composition/composition-analyzer-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"composition-analyzer-helpers.js","sourceRoot":"","sources":["../../../../src/core/expressions/composition/composition-analyzer-helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * KRO-facing core primitives shared by factories, compositions and tests.
3
+ */
4
+ export { DISABLE_LABEL_GUARD_ENV, discoverLabelPropagationGuardSupport, LABEL_GUARD_ALTERNATIVES, LABEL_GUARD_API_VERSION_ENV, LABEL_GUARD_CAPABILITY, LABEL_GUARD_UNRESOLVED_REASON, type LabelPropagationGuardCapability, type LabelPropagationGuardStatus, probeLabelPropagationGuardSupport, resetLabelGuardCapabilityCache, resetLabelPropagationGuardCapabilityCache, resolveLabelPropagationGuardCapability, setLabelPropagationGuardCapability, withLabelPropagationGuardCapability, } from './label-guard-capability.js';
5
+ export { isKroOwnershipLabel, KRO_OWNERSHIP_LABELS, type KroOwnershipLabel } from './labels.js';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/kro/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,uBAAuB,EACvB,oCAAoC,EACpC,wBAAwB,EACxB,2BAA2B,EAC3B,sBAAsB,EACtB,6BAA6B,EAC7B,KAAK,+BAA+B,EACpC,KAAK,2BAA2B,EAChC,iCAAiC,EACjC,8BAA8B,EAC9B,yCAAyC,EACzC,sCAAsC,EACtC,kCAAkC,EAClC,mCAAmC,GACpC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * KRO-facing core primitives shared by factories, compositions and tests.
3
+ */
4
+ export { DISABLE_LABEL_GUARD_ENV, discoverLabelPropagationGuardSupport, LABEL_GUARD_ALTERNATIVES, LABEL_GUARD_API_VERSION_ENV, LABEL_GUARD_CAPABILITY, LABEL_GUARD_UNRESOLVED_REASON, probeLabelPropagationGuardSupport, resetLabelGuardCapabilityCache, resetLabelPropagationGuardCapabilityCache, resolveLabelPropagationGuardCapability, setLabelPropagationGuardCapability, withLabelPropagationGuardCapability, } from './label-guard-capability.js';
5
+ export { isKroOwnershipLabel, KRO_OWNERSHIP_LABELS } from './labels.js';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/kro/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,uBAAuB,EACvB,oCAAoC,EACpC,wBAAwB,EACxB,2BAA2B,EAC3B,sBAAsB,EACtB,6BAA6B,EAG7B,iCAAiC,EACjC,8BAA8B,EAC9B,yCAAyC,EACzC,sCAAsC,EACtC,kCAAkC,EAClC,mCAAmC,GACpC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAA0B,MAAM,aAAa,CAAC"}
@@ -0,0 +1,141 @@
1
+ /**
2
+ * Whether — and at which group version — the KRO label-propagation guard can be
3
+ * installed on the target cluster.
4
+ *
5
+ * `MutatingAdmissionPolicy` is beta from Kubernetes 1.34
6
+ * (`admissionregistration.k8s.io/v1beta1`) and GA from 1.36
7
+ * (`admissionregistration.k8s.io/v1`); the two group versions never overlap on
8
+ * a given server, and nothing below 1.34 serves the kind at all. So the group
9
+ * version is **never assumed**. It is resolved from the cluster or the guard is
10
+ * not emitted:
11
+ *
12
+ * 1. `TYPEKRO_DISABLE_LABEL_GUARD` — break-glass, nothing is emitted.
13
+ * 2. `TYPEKRO_LABEL_GUARD_API_VERSION` — an explicit pin, used verbatim. This
14
+ * is what an offline `toYaml()` render or a GitOps pipeline uses.
15
+ * 3. A capability resolved against the cluster this build **explicitly** names.
16
+ * The direct deployment path resolves it and publishes the target for the
17
+ * duration of the deploy; a caller building outside a deployment probes and
18
+ * then wraps the build in `withLabelPropagationGuardCapability()`. Either
19
+ * way the cluster is carried by an `AsyncLocalStorage` scope, so the graph
20
+ * is built at the version *that* API server serves and concurrent builds for
21
+ * different clusters cannot see each other's answer.
22
+ * 4. Otherwise — no pin and no cluster to ask — the guard is **skipped with a
23
+ * warning**. A composition built with no cluster knowledge does not get to
24
+ * guess a GA API that a 1.34 cluster would reject, taking the whole runtime
25
+ * bootstrap down with it.
26
+ *
27
+ * A skip is reported with the reason that actually applies: the cluster does
28
+ * not serve `MutatingAdmissionPolicy`, or discovery against it failed, or no
29
+ * cluster was named. The three are not interchangeable — telling a user their
30
+ * 1.36 cluster is too old because a probe hit an RBAC error sends them to fix
31
+ * the wrong thing.
32
+ */
33
+ import type * as k8s from '@kubernetes/client-node';
34
+ import type { MutatingAdmissionPolicyApiVersion } from '../../factories/kubernetes/admission/mutating-admission-policy.js';
35
+ import { type ApiGroupDiscovery, type ClusterCapabilityRequirement } from '../kubernetes/api-capability.js';
36
+ /**
37
+ * Break-glass: set to `1`/`true` to build the runtime bootstrap without the
38
+ * guard on a cluster where the policy misbehaves. There is deliberately no
39
+ * config option — the guard is a floor, not a feature.
40
+ */
41
+ export declare const DISABLE_LABEL_GUARD_ENV = "TYPEKRO_DISABLE_LABEL_GUARD";
42
+ /**
43
+ * Pin the group version the guard is rendered at, e.g.
44
+ * `admissionregistration.k8s.io/v1beta1` for a 1.34/1.35 cluster. Needed when
45
+ * rendering YAML or an RGD offline, where no cluster can be asked.
46
+ */
47
+ export declare const LABEL_GUARD_API_VERSION_ENV = "TYPEKRO_LABEL_GUARD_API_VERSION";
48
+ /** The cluster capability the guard depends on. */
49
+ export declare const LABEL_GUARD_CAPABILITY: ClusterCapabilityRequirement;
50
+ export type LabelPropagationGuardStatus = 'active' | 'unavailable';
51
+ export type LabelPropagationGuardCapability = {
52
+ status: 'active';
53
+ apiVersion: MutatingAdmissionPolicyApiVersion;
54
+ } | {
55
+ status: 'unavailable';
56
+ reason: string;
57
+ };
58
+ /**
59
+ * What a caller should do instead when the guard cannot be installed. Kept as
60
+ * one string so the warning, the docs and the error text cannot drift apart.
61
+ */
62
+ export declare const LABEL_GUARD_ALTERNATIVES: string;
63
+ /** The reason reported when nothing resolved the group version. */
64
+ export declare const LABEL_GUARD_UNRESOLVED_REASON: string;
65
+ /**
66
+ * Resolve the guard's capability for the cluster this build targets.
67
+ *
68
+ * Order: break-glass env var, explicit group-version env var, a capability
69
+ * scoped to this build, the process-wide asserted capability, the capability
70
+ * resolved for the current deploy target, then **skip**. There is no assumed
71
+ * group version at the end of the chain — that is what makes the guard safe on
72
+ * a cluster below 1.36 rather than an apply failure for the whole bootstrap.
73
+ *
74
+ * Every cluster-derived answer comes from an explicitly scoped target. There is
75
+ * no ambient "last cluster anyone probed" fallback: a build that names no
76
+ * cluster gets no cluster's answer, rather than silently inheriting one from an
77
+ * unrelated probe elsewhere in the process.
78
+ */
79
+ export declare function resolveLabelPropagationGuardCapability(): LabelPropagationGuardCapability;
80
+ /**
81
+ * Run `build` with `capability` as the guard's answer, for exactly that build.
82
+ *
83
+ * This is the explicit half of the "probe, then build" flow: the cluster is
84
+ * carried by the scope rather than by a module global, so two concurrent builds
85
+ * for two clusters cannot see each other's answer.
86
+ *
87
+ * ```typescript
88
+ * const capability = await probeLabelPropagationGuardSupport(kubeConfig);
89
+ * const runtime = withLabelPropagationGuardCapability(capability, () =>
90
+ * typeKroRuntimeBootstrap()
91
+ * );
92
+ * ```
93
+ */
94
+ export declare function withLabelPropagationGuardCapability<T>(capability: LabelPropagationGuardCapability, build: () => T): T;
95
+ /**
96
+ * Resolve the guard's capability against a cluster and **return** it.
97
+ *
98
+ * The result is the caller's to carry: pass it to
99
+ * {@link withLabelPropagationGuardCapability}, or scope the build with
100
+ * `runWithDeployTarget(clusterId, build)`. Probing does not make this cluster
101
+ * ambiently current for anything else in the process — that fallback existed
102
+ * and was removed, because a probe of cluster A followed by an untargeted build
103
+ * for cluster B rendered A's answer into B's graph.
104
+ *
105
+ * The direct deployment path calls this before it re-executes the composition.
106
+ * Callers who build a graph outside a deployment (an RGD render aimed at a
107
+ * known cluster) can call it themselves and then build inside the scope.
108
+ */
109
+ export declare function probeLabelPropagationGuardSupport(kubeConfig: k8s.KubeConfig, options?: {
110
+ discovery?: ApiGroupDiscovery;
111
+ refresh?: boolean;
112
+ }): Promise<LabelPropagationGuardCapability>;
113
+ /**
114
+ * Probe a cluster. Populates the per-cluster capability cache but does not make
115
+ * that cluster the ambient deploy target.
116
+ */
117
+ export declare function discoverLabelPropagationGuardSupport(kubeConfig: k8s.KubeConfig, options?: {
118
+ discovery?: ApiGroupDiscovery;
119
+ refresh?: boolean;
120
+ }): Promise<LabelPropagationGuardCapability>;
121
+ /**
122
+ * Reset every cached capability answer and the process-wide asserted override.
123
+ * Test seam.
124
+ *
125
+ * Clears the whole per-cluster cache rather than one cluster's entry: a test
126
+ * that has finished with one fake cluster has finished with all of them. The
127
+ * scoped capability needs no reset — it ends with its scope.
128
+ */
129
+ export declare function resetLabelGuardCapabilityCache(): void;
130
+ /** @deprecated Use {@link resetLabelGuardCapabilityCache}. */
131
+ export declare const resetLabelPropagationGuardCapabilityCache: typeof resetLabelGuardCapabilityCache;
132
+ /**
133
+ * Assert the capability process-wide, for an offline build that knows the
134
+ * answer and for tests. Overrides cluster resolution; `undefined` clears it.
135
+ *
136
+ * Prefer {@link withLabelPropagationGuardCapability} where the assertion covers
137
+ * one build: it cannot outlive that build, whereas this value persists until it
138
+ * is cleared and is therefore visible to everything built afterwards.
139
+ */
140
+ export declare function setLabelPropagationGuardCapability(capability: LabelPropagationGuardCapability | undefined): void;
141
+ //# sourceMappingURL=label-guard-capability.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"label-guard-capability.d.ts","sourceRoot":"","sources":["../../../src/core/kro/label-guard-capability.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAGH,OAAO,KAAK,KAAK,GAAG,MAAM,yBAAyB,CAAC;AACpD,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,mEAAmE,CAAC;AAE3H,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,4BAA4B,EAQlC,MAAM,iCAAiC,CAAC;AAKzC;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,gCAAgC,CAAC;AAErE;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,oCAAoC,CAAC;AAE7E,mDAAmD;AACnD,eAAO,MAAM,sBAAsB,EAAE,4BASpC,CAAC;AAOF,MAAM,MAAM,2BAA2B,GAAG,QAAQ,GAAG,aAAa,CAAC;AAEnE,MAAM,MAAM,+BAA+B,GACvC;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,UAAU,EAAE,iCAAiC,CAAA;CAAE,GACnE;IAAE,MAAM,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9C;;;GAGG;AACH,eAAO,MAAM,wBAAwB,QAIM,CAAC;AAE5C,mEAAmE;AACnE,eAAO,MAAM,6BAA6B,QAE2B,CAAC;AAmDtE;;;;;;;;;;;;;GAaG;AACH,wBAAgB,sCAAsC,IAAI,+BAA+B,CAuCxF;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mCAAmC,CAAC,CAAC,EACnD,UAAU,EAAE,+BAA+B,EAC3C,KAAK,EAAE,MAAM,CAAC,GACb,CAAC,CAEH;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,iCAAiC,CACrD,UAAU,EAAE,GAAG,CAAC,UAAU,EAC1B,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAO,GACjE,OAAO,CAAC,+BAA+B,CAAC,CAQ1C;AAED;;;GAGG;AACH,wBAAsB,oCAAoC,CACxD,UAAU,EAAE,GAAG,CAAC,UAAU,EAC1B,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAO,GACjE,OAAO,CAAC,+BAA+B,CAAC,CA2B1C;AAED;;;;;;;GAOG;AACH,wBAAgB,8BAA8B,IAAI,IAAI,CAGrD;AAED,8DAA8D;AAC9D,eAAO,MAAM,yCAAyC,uCAAiC,CAAC;AAExF;;;;;;;GAOG;AACH,wBAAgB,kCAAkC,CAChD,UAAU,EAAE,+BAA+B,GAAG,SAAS,GACtD,IAAI,CAEN"}
@@ -0,0 +1,257 @@
1
+ /**
2
+ * Whether — and at which group version — the KRO label-propagation guard can be
3
+ * installed on the target cluster.
4
+ *
5
+ * `MutatingAdmissionPolicy` is beta from Kubernetes 1.34
6
+ * (`admissionregistration.k8s.io/v1beta1`) and GA from 1.36
7
+ * (`admissionregistration.k8s.io/v1`); the two group versions never overlap on
8
+ * a given server, and nothing below 1.34 serves the kind at all. So the group
9
+ * version is **never assumed**. It is resolved from the cluster or the guard is
10
+ * not emitted:
11
+ *
12
+ * 1. `TYPEKRO_DISABLE_LABEL_GUARD` — break-glass, nothing is emitted.
13
+ * 2. `TYPEKRO_LABEL_GUARD_API_VERSION` — an explicit pin, used verbatim. This
14
+ * is what an offline `toYaml()` render or a GitOps pipeline uses.
15
+ * 3. A capability resolved against the cluster this build **explicitly** names.
16
+ * The direct deployment path resolves it and publishes the target for the
17
+ * duration of the deploy; a caller building outside a deployment probes and
18
+ * then wraps the build in `withLabelPropagationGuardCapability()`. Either
19
+ * way the cluster is carried by an `AsyncLocalStorage` scope, so the graph
20
+ * is built at the version *that* API server serves and concurrent builds for
21
+ * different clusters cannot see each other's answer.
22
+ * 4. Otherwise — no pin and no cluster to ask — the guard is **skipped with a
23
+ * warning**. A composition built with no cluster knowledge does not get to
24
+ * guess a GA API that a 1.34 cluster would reject, taking the whole runtime
25
+ * bootstrap down with it.
26
+ *
27
+ * A skip is reported with the reason that actually applies: the cluster does
28
+ * not serve `MutatingAdmissionPolicy`, or discovery against it failed, or no
29
+ * cluster was named. The three are not interchangeable — telling a user their
30
+ * 1.36 cluster is too old because a probe hit an RBAC error sends them to fix
31
+ * the wrong thing.
32
+ */
33
+ import { AsyncLocalStorage } from 'node:async_hooks';
34
+ import { MUTATING_ADMISSION_POLICY_API_VERSIONS } from '../../factories/kubernetes/admission/mutating-admission-policy.js';
35
+ import { clusterIdentity, getCachedClusterCapability, getCurrentDeployTarget, kubeConfigApiGroupDiscovery, registerDeployTimeCapability, resetClusterCapabilityCache, resolveClusterCapability, } from '../kubernetes/api-capability.js';
36
+ import { getComponentLogger } from '../logging/index.js';
37
+ const logger = getComponentLogger('kro-label-guard');
38
+ /**
39
+ * Break-glass: set to `1`/`true` to build the runtime bootstrap without the
40
+ * guard on a cluster where the policy misbehaves. There is deliberately no
41
+ * config option — the guard is a floor, not a feature.
42
+ */
43
+ export const DISABLE_LABEL_GUARD_ENV = 'TYPEKRO_DISABLE_LABEL_GUARD';
44
+ /**
45
+ * Pin the group version the guard is rendered at, e.g.
46
+ * `admissionregistration.k8s.io/v1beta1` for a 1.34/1.35 cluster. Needed when
47
+ * rendering YAML or an RGD offline, where no cluster can be asked.
48
+ */
49
+ export const LABEL_GUARD_API_VERSION_ENV = 'TYPEKRO_LABEL_GUARD_API_VERSION';
50
+ /** The cluster capability the guard depends on. */
51
+ export const LABEL_GUARD_CAPABILITY = {
52
+ id: 'kro-label-propagation-guard',
53
+ group: 'admissionregistration.k8s.io',
54
+ kind: 'MutatingAdmissionPolicy',
55
+ // Bare versions, GA first, derived from the factory's group-version list so
56
+ // the two cannot drift.
57
+ versions: MUTATING_ADMISSION_POLICY_API_VERSIONS.map((apiVersion) => apiVersion.split('/')[1] ?? apiVersion),
58
+ };
59
+ // Resolved by the direct deployment path before it re-executes a composition,
60
+ // so a bootstrap deployed to a live cluster renders the guard at the group
61
+ // version that cluster actually serves.
62
+ registerDeployTimeCapability(LABEL_GUARD_CAPABILITY);
63
+ /**
64
+ * What a caller should do instead when the guard cannot be installed. Kept as
65
+ * one string so the warning, the docs and the error text cannot drift apart.
66
+ */
67
+ export const LABEL_GUARD_ALTERNATIVES = 'Use the operator-side propagation filter where the operator has one ' +
68
+ '(configure it from KRO_OWNERSHIP_LABELS), or isolate the CR in its own ' +
69
+ 'single-kind ResourceGraphDefinition via singleton() so the prune sweep ' +
70
+ 'never lists the operator-created kinds.';
71
+ /** The reason reported when nothing resolved the group version. */
72
+ export const LABEL_GUARD_UNRESOLVED_REASON = 'the MutatingAdmissionPolicy group version was not resolved against a cluster ' +
73
+ `(no live deployment target and no ${LABEL_GUARD_API_VERSION_ENV})`;
74
+ /**
75
+ * A capability scoped to one build.
76
+ *
77
+ * This is the supported way to carry a probe result into a build:
78
+ * {@link withLabelPropagationGuardCapability} runs the build inside it, and two
79
+ * concurrent builds for different clusters each see their own. Same mechanism
80
+ * as the deploy target — `AsyncLocalStorage`, not a module variable — so
81
+ * nothing can bleed from one build into the next.
82
+ */
83
+ const SCOPED_CAPABILITY = new AsyncLocalStorage();
84
+ /**
85
+ * A process-wide asserted capability, used when a caller knows the answer and
86
+ * there is no cluster to ask — an offline render, or a test.
87
+ *
88
+ * This one really is a module global, and it is kept that way deliberately:
89
+ * it exists for the "set it once for the whole process" case (a CLI that has
90
+ * decided the group version before it builds anything), which is exactly what a
91
+ * scope cannot express. That makes it a leak path by construction — it outlives
92
+ * any single build — so it is only ever written by an explicit
93
+ * {@link setLabelPropagationGuardCapability} call, never by a probe, and
94
+ * {@link resetLabelGuardCapabilityCache} clears it for tests. Prefer
95
+ * {@link withLabelPropagationGuardCapability}, which outranks it.
96
+ */
97
+ let assertedCapability;
98
+ function isTruthyEnv(value) {
99
+ return value === '1' || value === 'true';
100
+ }
101
+ function parseApiVersionEnv(value) {
102
+ if (!value)
103
+ return undefined;
104
+ const match = MUTATING_ADMISSION_POLICY_API_VERSIONS.find((known) => known === value);
105
+ if (!match) {
106
+ logger.warn(`Ignoring ${LABEL_GUARD_API_VERSION_ENV}: not a group version that serves MutatingAdmissionPolicy`, { value, supported: [...MUTATING_ADMISSION_POLICY_API_VERSIONS] });
107
+ return undefined;
108
+ }
109
+ return match;
110
+ }
111
+ function asGuardApiVersion(apiVersion) {
112
+ return MUTATING_ADMISSION_POLICY_API_VERSIONS.find((known) => known === apiVersion);
113
+ }
114
+ /**
115
+ * Resolve the guard's capability for the cluster this build targets.
116
+ *
117
+ * Order: break-glass env var, explicit group-version env var, a capability
118
+ * scoped to this build, the process-wide asserted capability, the capability
119
+ * resolved for the current deploy target, then **skip**. There is no assumed
120
+ * group version at the end of the chain — that is what makes the guard safe on
121
+ * a cluster below 1.36 rather than an apply failure for the whole bootstrap.
122
+ *
123
+ * Every cluster-derived answer comes from an explicitly scoped target. There is
124
+ * no ambient "last cluster anyone probed" fallback: a build that names no
125
+ * cluster gets no cluster's answer, rather than silently inheriting one from an
126
+ * unrelated probe elsewhere in the process.
127
+ */
128
+ export function resolveLabelPropagationGuardCapability() {
129
+ if (isTruthyEnv(process.env[DISABLE_LABEL_GUARD_ENV])) {
130
+ return {
131
+ status: 'unavailable',
132
+ reason: `disabled by ${DISABLE_LABEL_GUARD_ENV}`,
133
+ };
134
+ }
135
+ const pinned = parseApiVersionEnv(process.env[LABEL_GUARD_API_VERSION_ENV]);
136
+ if (pinned) {
137
+ return { status: 'active', apiVersion: pinned };
138
+ }
139
+ const scoped = SCOPED_CAPABILITY.getStore();
140
+ if (scoped) {
141
+ return scoped;
142
+ }
143
+ if (assertedCapability) {
144
+ return assertedCapability;
145
+ }
146
+ const clusterId = getCurrentDeployTarget();
147
+ if (clusterId) {
148
+ const resolved = getCachedClusterCapability(LABEL_GUARD_CAPABILITY, clusterId);
149
+ if (resolved?.status === 'served') {
150
+ const apiVersion = asGuardApiVersion(resolved.apiVersion);
151
+ if (apiVersion)
152
+ return { status: 'active', apiVersion };
153
+ }
154
+ if (resolved?.status === 'unserved' || resolved?.status === 'unknown') {
155
+ // Both are `unavailable`, but the reason strings differ: `unserved` says
156
+ // the cluster does not serve the kind, `unknown` says discovery failed.
157
+ // Collapsing them here is what made the guard claim a 1.36 cluster was
158
+ // too old whenever a probe hit an RBAC or network error.
159
+ return { status: 'unavailable', reason: resolved.reason };
160
+ }
161
+ }
162
+ return { status: 'unavailable', reason: LABEL_GUARD_UNRESOLVED_REASON };
163
+ }
164
+ /**
165
+ * Run `build` with `capability` as the guard's answer, for exactly that build.
166
+ *
167
+ * This is the explicit half of the "probe, then build" flow: the cluster is
168
+ * carried by the scope rather than by a module global, so two concurrent builds
169
+ * for two clusters cannot see each other's answer.
170
+ *
171
+ * ```typescript
172
+ * const capability = await probeLabelPropagationGuardSupport(kubeConfig);
173
+ * const runtime = withLabelPropagationGuardCapability(capability, () =>
174
+ * typeKroRuntimeBootstrap()
175
+ * );
176
+ * ```
177
+ */
178
+ export function withLabelPropagationGuardCapability(capability, build) {
179
+ return SCOPED_CAPABILITY.run(capability, build);
180
+ }
181
+ /**
182
+ * Resolve the guard's capability against a cluster and **return** it.
183
+ *
184
+ * The result is the caller's to carry: pass it to
185
+ * {@link withLabelPropagationGuardCapability}, or scope the build with
186
+ * `runWithDeployTarget(clusterId, build)`. Probing does not make this cluster
187
+ * ambiently current for anything else in the process — that fallback existed
188
+ * and was removed, because a probe of cluster A followed by an untargeted build
189
+ * for cluster B rendered A's answer into B's graph.
190
+ *
191
+ * The direct deployment path calls this before it re-executes the composition.
192
+ * Callers who build a graph outside a deployment (an RGD render aimed at a
193
+ * known cluster) can call it themselves and then build inside the scope.
194
+ */
195
+ export async function probeLabelPropagationGuardSupport(kubeConfig, options = {}) {
196
+ const capability = await discoverLabelPropagationGuardSupport(kubeConfig, options);
197
+ if (capability.status === 'unavailable') {
198
+ logger.warn(`KRO label-propagation guard unavailable: ${capability.reason}. ${LABEL_GUARD_ALTERNATIVES}`);
199
+ }
200
+ return capability;
201
+ }
202
+ /**
203
+ * Probe a cluster. Populates the per-cluster capability cache but does not make
204
+ * that cluster the ambient deploy target.
205
+ */
206
+ export async function discoverLabelPropagationGuardSupport(kubeConfig, options = {}) {
207
+ const clusterId = clusterIdentity(kubeConfig);
208
+ if (!clusterId) {
209
+ return {
210
+ status: 'unavailable',
211
+ reason: 'the kubeconfig names no current cluster, so no capability could be resolved',
212
+ };
213
+ }
214
+ const resolution = await resolveClusterCapability(LABEL_GUARD_CAPABILITY, {
215
+ clusterId,
216
+ discovery: options.discovery ?? kubeConfigApiGroupDiscovery(kubeConfig),
217
+ ...(options.refresh !== undefined && { refresh: options.refresh }),
218
+ });
219
+ if (resolution.status === 'served') {
220
+ const apiVersion = asGuardApiVersion(resolution.apiVersion);
221
+ if (apiVersion)
222
+ return { status: 'active', apiVersion };
223
+ return {
224
+ status: 'unavailable',
225
+ reason: `the cluster serves MutatingAdmissionPolicy at an unsupported group version (${resolution.apiVersion})`,
226
+ };
227
+ }
228
+ // `unserved` and `unknown` are both unavailable, and both carry a reason that
229
+ // says which: the cluster does not serve the kind, or discovery failed.
230
+ return { status: 'unavailable', reason: resolution.reason };
231
+ }
232
+ /**
233
+ * Reset every cached capability answer and the process-wide asserted override.
234
+ * Test seam.
235
+ *
236
+ * Clears the whole per-cluster cache rather than one cluster's entry: a test
237
+ * that has finished with one fake cluster has finished with all of them. The
238
+ * scoped capability needs no reset — it ends with its scope.
239
+ */
240
+ export function resetLabelGuardCapabilityCache() {
241
+ assertedCapability = undefined;
242
+ resetClusterCapabilityCache();
243
+ }
244
+ /** @deprecated Use {@link resetLabelGuardCapabilityCache}. */
245
+ export const resetLabelPropagationGuardCapabilityCache = resetLabelGuardCapabilityCache;
246
+ /**
247
+ * Assert the capability process-wide, for an offline build that knows the
248
+ * answer and for tests. Overrides cluster resolution; `undefined` clears it.
249
+ *
250
+ * Prefer {@link withLabelPropagationGuardCapability} where the assertion covers
251
+ * one build: it cannot outlive that build, whereas this value persists until it
252
+ * is cleared and is therefore visible to everything built afterwards.
253
+ */
254
+ export function setLabelPropagationGuardCapability(capability) {
255
+ assertedCapability = capability;
256
+ }
257
+ //# sourceMappingURL=label-guard-capability.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"label-guard-capability.js","sourceRoot":"","sources":["../../../src/core/kro/label-guard-capability.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * The label keys KRO uses to claim ownership of the objects an instance applies.
3
+ *
4
+ * KRO stamps these on every object it applies for a `ResourceGraphDefinition`
5
+ * instance and then uses them to decide what belongs to the instance. Any
6
+ * *other* actor that copies them onto an object KRO did not apply corrupts that
7
+ * bookkeeping — see `KRO_OWNERSHIP_LABELS` for what goes wrong and
8
+ * `labelPropagationGuard()` for the cluster-side mitigation.
9
+ */
10
+ /**
11
+ * Label keys that only KRO may introduce on an object.
12
+ *
13
+ * Many operators copy the *entire* label map of the custom resource they
14
+ * reconcile onto the children they create (Hyperspike Valkey does
15
+ * `maps.Clone(valkey.Labels)`; the Altinity ClickHouse operator defaults to
16
+ * `label.include: []`, meaning "include all"). When the parent CR is a node in
17
+ * a KRO graph it carries the labels below, so the operator's children inherit
18
+ * them and KRO then treats objects it never applied as members of its ApplySet.
19
+ *
20
+ * Each key and why it is in the set:
21
+ *
22
+ * - `applyset.kubernetes.io/part-of` — the ApplySet id KRO's pruner selects on.
23
+ * A child carrying it is listed as an ApplySet member for every GroupKind the
24
+ * graph declares; because its UID is not in the set KRO applied, the pruner
25
+ * deletes it on the next requeue, forever (kubernetes-sigs/kro#1153).
26
+ * - `applyset.kubernetes.io/id` — the hashed companion of `part-of` that makes
27
+ * the ApplySet self-identifying. Copied onto a child it makes that child look
28
+ * like the ApplySet parent to any ApplySet-aware tooling, so it has to travel
29
+ * with `part-of` rather than being left behind.
30
+ * - `kro.run/owned` — KRO's own "this object belongs to an instance" marker,
31
+ * read by KRO's ownership and adoption checks and by TypeKro's hoist guards.
32
+ * - `kro.run/node-id` — the graph node that applied the object. A child that
33
+ * inherits it claims to be a node it is not, which mis-attributes both KRO's
34
+ * diffing and TypeKro's deployment-state discovery.
35
+ * - `kro.run/kro-version` — the KRO build that applied the object. This is the
36
+ * one that bites on *upgrade* rather than on create: bumping KRO rewrites the
37
+ * value on the parent CR, the operator re-copies the new value onto the
38
+ * children, and where the operator also derives a `spec.selector` or a pod
39
+ * template from that same label map, the Service selector moves to a value no
40
+ * running pod carries. The Service silently loses all endpoints until the
41
+ * pods are recreated.
42
+ *
43
+ * `app.kubernetes.io/managed-by` is deliberately *not* in this set. KRO 0.9.2
44
+ * overwrites it with `kro` on graph children, but it carries no ownership
45
+ * meaning for the pruner and operators legitimately set it on their own
46
+ * children; stripping it would fight the operator for no safety benefit.
47
+ *
48
+ * @see labelPropagationGuard - installs a cluster-side guard that enforces
49
+ * "only KRO may introduce these labels".
50
+ */
51
+ export declare const KRO_OWNERSHIP_LABELS: readonly ["applyset.kubernetes.io/part-of", "applyset.kubernetes.io/id", "kro.run/owned", "kro.run/node-id", "kro.run/kro-version"];
52
+ /** A key from {@link KRO_OWNERSHIP_LABELS}. */
53
+ export type KroOwnershipLabel = (typeof KRO_OWNERSHIP_LABELS)[number];
54
+ /** Type guard for {@link KRO_OWNERSHIP_LABELS} membership. */
55
+ export declare function isKroOwnershipLabel(key: string): key is KroOwnershipLabel;
56
+ //# sourceMappingURL=labels.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"labels.d.ts","sourceRoot":"","sources":["../../../src/core/kro/labels.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,eAAO,MAAM,oBAAoB,qIAMvB,CAAC;AAEX,+CAA+C;AAC/C,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtE,8DAA8D;AAC9D,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,IAAI,iBAAiB,CAEzE"}