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
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Traefik v3 factory.
3
+ *
4
+ * Stands Traefik up as a cluster edge — the Helm repository, the Helm release
5
+ * and a status contract — and exposes its `traefik.io/v1alpha1` CRDs as typed
6
+ * factories: `IngressRoute`, `IngressRouteTCP`, `Middleware` (the OSS
7
+ * middleware set as a discriminated union), `TLSOption`, `TLSStore`,
8
+ * `ServersTransport` and `TraefikService`.
9
+ *
10
+ * Traefik's Gateway API support comes from the shared
11
+ * `src/factories/gateway-api` module rather than a Traefik-specific copy of the
12
+ * upstream kinds.
13
+ *
14
+ * @security Secure by construction: the dashboard and the insecure API cannot
15
+ * be enabled through this factory, `forwardAuth` defaults to
16
+ * `trustForwardHeader: false` with an explicit `authResponseHeaders`
17
+ * allowlist, `TLSOption` defaults to TLS 1.2 with `sniStrict`, and the proxy
18
+ * runs non-root with a read-only root filesystem.
19
+ */
20
+ export * from './compositions/index.js';
21
+ export * from './constants.js';
22
+ export * from './resources/index.js';
23
+ export * from './types.js';
24
+ export * from './utils/index.js';
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/factories/traefik/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Shared plumbing for the Traefik CRD resource factories.
3
+ *
4
+ * All of it exists to answer one question consistently: what does readiness
5
+ * mean for a resource that has no status?
6
+ */
7
+ import type { Composable, ReadinessEvaluator } from '../../../core/types/index.js';
8
+ import type { TraefikResourceMetadata } from '../types.js';
9
+ /**
10
+ * Configuration accepted by every namespaced Traefik CRD factory.
11
+ *
12
+ * Nothing here is hand-written. The identity half is
13
+ * {@link TraefikResourceMetadata}, inferred from
14
+ * `TraefikResourceMetadataSchema`; `spec` stays a TYPE PARAMETER because it is
15
+ * a different schema per kind — `TraefikIngressRouteSpec`,
16
+ * `TraefikMiddlewareSpec`, `TraefikTLSOptionSpec` and the rest, each already
17
+ * inferred from its own ArkType schema — so the caller binds it rather than
18
+ * this file re-declaring any of them.
19
+ */
20
+ export type TraefikResourceConfig<TSpec extends object> = TraefikResourceMetadata & {
21
+ readonly spec: TSpec;
22
+ };
23
+ /**
24
+ * Readiness evaluator for a Traefik CRD.
25
+ *
26
+ * **Why always-ready:** none of the `traefik.io/v1alpha1` kinds
27
+ * (`IngressRoute`, `IngressRouteTCP`, `Middleware`, `TLSOption`, `TLSStore`,
28
+ * `ServersTransport`, `TraefikService`) declares a `status` subresource — the
29
+ * proxy consumes them as dynamic configuration and reports problems in its own
30
+ * logs and metrics, never on the object. A condition-based evaluator would
31
+ * therefore poll to its deadline and then fail a deployment whose routing is
32
+ * in fact live, so applying the object successfully is the only readiness
33
+ * signal the API offers. This mirrors how `envoy-ai-gateway` treats Envoy
34
+ * Gateway's status-less `Backend` kind.
35
+ *
36
+ * A route that references a missing Service or Middleware is still surfaced —
37
+ * by the referenced resource's own readiness, and by Traefik returning 404/503
38
+ * for the route, which the integration suite asserts on.
39
+ *
40
+ * @param kind - Traefik kind name, used in the readiness message.
41
+ */
42
+ export declare function traefikStatuslessReadinessEvaluator<T = unknown>(kind: string): ReadinessEvaluator<T>;
43
+ /** The `app.kubernetes.io` label set TypeKro stamps on Traefik resources. */
44
+ export declare function traefikManagedLabels(instance: string): Record<string, string>;
45
+ /**
46
+ * Build the resource definition passed to `createResource`.
47
+ *
48
+ * Takes `Composable<...>` so a composition can pass proxy-sourced optional
49
+ * fields straight through (integration-skill.md: "All factory functions use
50
+ * `Composable<MyConfig>`").
51
+ */
52
+ export declare function traefikResourceDefinition<TSpec extends object>(apiVersion: string, kind: string, config: Composable<TraefikResourceConfig<TSpec>>): {
53
+ id?: string;
54
+ apiVersion: string;
55
+ kind: string;
56
+ metadata: {
57
+ annotations?: {
58
+ [x: string]: string;
59
+ };
60
+ name: string;
61
+ namespace: string;
62
+ labels: {
63
+ [x: string]: string;
64
+ };
65
+ };
66
+ spec: TSpec;
67
+ };
68
+ //# sourceMappingURL=common.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../src/factories/traefik/resources/common.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AACnF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAE3D;;;;;;;;;;GAUG;AACH,MAAM,MAAM,qBAAqB,CAAC,KAAK,SAAS,MAAM,IAAI,uBAAuB,GAAG;IAClF,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;CACtB,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,mCAAmC,CAAC,CAAC,GAAG,OAAO,EAC7D,IAAI,EAAE,MAAM,GACX,kBAAkB,CAAC,CAAC,CAAC,CAKvB;AAED,6EAA6E;AAC7E,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAM7E;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,SAAS,MAAM,EAC5D,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,UAAU,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;;;;;;;;;;;;;;UAWzB,KAAK;EAG7B"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Shared plumbing for the Traefik CRD resource factories.
3
+ *
4
+ * All of it exists to answer one question consistently: what does readiness
5
+ * mean for a resource that has no status?
6
+ */
7
+ import { createAlwaysReadyEvaluator } from '../../../core/readiness/evaluator-factories.js';
8
+ /**
9
+ * Readiness evaluator for a Traefik CRD.
10
+ *
11
+ * **Why always-ready:** none of the `traefik.io/v1alpha1` kinds
12
+ * (`IngressRoute`, `IngressRouteTCP`, `Middleware`, `TLSOption`, `TLSStore`,
13
+ * `ServersTransport`, `TraefikService`) declares a `status` subresource — the
14
+ * proxy consumes them as dynamic configuration and reports problems in its own
15
+ * logs and metrics, never on the object. A condition-based evaluator would
16
+ * therefore poll to its deadline and then fail a deployment whose routing is
17
+ * in fact live, so applying the object successfully is the only readiness
18
+ * signal the API offers. This mirrors how `envoy-ai-gateway` treats Envoy
19
+ * Gateway's status-less `Backend` kind.
20
+ *
21
+ * A route that references a missing Service or Middleware is still surfaced —
22
+ * by the referenced resource's own readiness, and by Traefik returning 404/503
23
+ * for the route, which the integration suite asserts on.
24
+ *
25
+ * @param kind - Traefik kind name, used in the readiness message.
26
+ */
27
+ export function traefikStatuslessReadinessEvaluator(kind) {
28
+ return createAlwaysReadyEvaluator(kind, `${kind} is ready (Traefik CRDs publish no status subresource)`);
29
+ }
30
+ /** The `app.kubernetes.io` label set TypeKro stamps on Traefik resources. */
31
+ export function traefikManagedLabels(instance) {
32
+ return {
33
+ 'app.kubernetes.io/name': 'traefik',
34
+ 'app.kubernetes.io/instance': instance,
35
+ 'app.kubernetes.io/managed-by': 'typekro',
36
+ };
37
+ }
38
+ /**
39
+ * Build the resource definition passed to `createResource`.
40
+ *
41
+ * Takes `Composable<...>` so a composition can pass proxy-sourced optional
42
+ * fields straight through (integration-skill.md: "All factory functions use
43
+ * `Composable<MyConfig>`").
44
+ */
45
+ export function traefikResourceDefinition(apiVersion, kind, config) {
46
+ return {
47
+ apiVersion,
48
+ kind,
49
+ metadata: {
50
+ name: config.name,
51
+ namespace: config.namespace,
52
+ labels: { ...traefikManagedLabels(config.name), ...config.labels },
53
+ ...(config.annotations ? { annotations: { ...config.annotations } } : {}),
54
+ },
55
+ spec: config.spec,
56
+ ...(config.id ? { id: config.id } : {}),
57
+ };
58
+ }
59
+ //# sourceMappingURL=common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../src/factories/traefik/resources/common.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,0BAA0B,EAAE,MAAM,gDAAgD,CAAC;AAmB5F;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,mCAAmC,CACjD,IAAY;IAEZ,OAAO,0BAA0B,CAC/B,IAAI,EACJ,GAAG,IAAI,wDAAwD,CAChE,CAAC;AACJ,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,oBAAoB,CAAC,QAAgB;IACnD,OAAO;QACL,wBAAwB,EAAE,SAAS;QACnC,4BAA4B,EAAE,QAAQ;QACtC,8BAA8B,EAAE,SAAS;KAC1C,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,yBAAyB,CACvC,UAAkB,EAClB,IAAY,EACZ,MAAgD;IAEhD,OAAO;QACL,UAAU;QACV,IAAI;QACJ,QAAQ,EAAE;YACR,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,MAAM,EAAE,EAAE,GAAG,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE;YAClE,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,GAAG,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1E;QACD,IAAI,EAAE,MAAM,CAAC,IAAa;QAC1B,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,85 @@
1
+ /**
2
+ * Traefik's Gateway API surface.
3
+ *
4
+ * Traefik v3 implements upstream Gateway API, so there is no Traefik-specific
5
+ * copy of `Gateway`/`HTTPRoute`/`GRPCRoute` here: these are thin wrappers over
6
+ * the shared `src/factories/gateway-api` factories (#176) that pin Traefik's
7
+ * controller name and stamp the Traefik managed labels.
8
+ *
9
+ * Enable the provider with `providers: { gatewayApi: true }` on the bootstrap
10
+ * spec. Traefik middlewares attach to a Gateway API route through an
11
+ * `ExtensionRef` filter — see {@link traefikMiddlewareFilter}.
12
+ */
13
+ import type { Composable, Enhanced } from '../../../core/types/index.js';
14
+ import { type GatewayApiNamespacedResourceConfig } from '../../gateway-api/index.js';
15
+ import type { AcceptedResourceStatus, GatewayClassSpec, GatewayObservedStatus, GatewaySpec, GRPCRouteSpec, HTTPRouteFilter, HTTPRouteSpec, RouteObservedStatus } from '../../gateway-api/types.js';
16
+ import { TRAEFIK_GATEWAY_CONTROLLER_NAME } from '../constants.js';
17
+ import type { TraefikGatewayClassConfig } from '../types.js';
18
+ /** `GatewayClass.spec` pinned to Traefik's controller. */
19
+ export type TraefikGatewayClassSpec = GatewayClassSpec<typeof TRAEFIK_GATEWAY_CONTROLLER_NAME>;
20
+ /**
21
+ * `traefikGatewayClass`'s configuration type.
22
+ *
23
+ * DECLARED in `../types.js`, next to the ArkType schema it is inferred from,
24
+ * and re-exported here so the public import path stays `resources/gateway.js`.
25
+ */
26
+ export type { TraefikGatewayClassConfig } from '../types.js';
27
+ /**
28
+ * Create a `GatewayClass` claimed by Traefik.
29
+ *
30
+ * The Helm chart can create one itself (`gatewayClass.enabled`), which the
31
+ * bootstrap composition leaves alone. Use this factory when a consumer graph
32
+ * owns the class — for instance to run a second, differently named class
33
+ * alongside the chart's.
34
+ *
35
+ * @example
36
+ * ```typescript
37
+ * traefikGatewayClass({ name: 'traefik-edge', id: 'traefikGatewayClass' });
38
+ * ```
39
+ */
40
+ export declare function traefikGatewayClass(config: Composable<TraefikGatewayClassConfig>): Enhanced<TraefikGatewayClassSpec, AcceptedResourceStatus>;
41
+ /**
42
+ * Create a Gateway API `Gateway` served by Traefik.
43
+ *
44
+ * `spec.gatewayClassName` must name a class Traefik has claimed.
45
+ */
46
+ export declare function traefikGateway(config: Composable<GatewayApiNamespacedResourceConfig<GatewaySpec>>): Enhanced<GatewaySpec, GatewayObservedStatus>;
47
+ /**
48
+ * Create a Gateway API `HTTPRoute` served by Traefik.
49
+ *
50
+ * @example A route attaching a Traefik `Middleware` through an ExtensionRef
51
+ * ```typescript
52
+ * traefikHTTPRoute({
53
+ * name: 'orders-api',
54
+ * namespace: 'edge',
55
+ * spec: {
56
+ * parentRefs: [{ name: 'traefik-gateway', namespace: 'traefik' }],
57
+ * hostnames: ['api.example.com'],
58
+ * rules: [
59
+ * {
60
+ * matches: [{ path: { type: 'PathPrefix', value: '/v1' } }],
61
+ * filters: [traefikMiddlewareFilter('orders-api-authz')],
62
+ * backendRefs: [{ name: 'orders-api', port: 8080 }],
63
+ * timeouts: { request: '120s' },
64
+ * },
65
+ * ],
66
+ * },
67
+ * id: 'ordersApiHttpRoute',
68
+ * });
69
+ * ```
70
+ */
71
+ export declare function traefikHTTPRoute(config: Composable<GatewayApiNamespacedResourceConfig<HTTPRouteSpec>>): Enhanced<HTTPRouteSpec, RouteObservedStatus>;
72
+ /** Create a Gateway API `GRPCRoute` served by Traefik. */
73
+ export declare function traefikGRPCRoute(config: Composable<GatewayApiNamespacedResourceConfig<GRPCRouteSpec>>): Enhanced<GRPCRouteSpec, RouteObservedStatus>;
74
+ /**
75
+ * Build the `ExtensionRef` filter that attaches a Traefik `Middleware` to a
76
+ * Gateway API route rule.
77
+ *
78
+ * Gateway API has no vendor-neutral filter for `forwardAuth` or `rateLimit`,
79
+ * so an implementation-specific extension is the supported way to reference
80
+ * one from an `HTTPRoute`.
81
+ *
82
+ * @param name - Name of a `Middleware` in the route's namespace.
83
+ */
84
+ export declare function traefikMiddlewareFilter(name: string): HTTPRouteFilter;
85
+ //# sourceMappingURL=gateway.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../../../../src/factories/traefik/resources/gateway.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,EAGL,KAAK,kCAAkC,EAGxC,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EACV,sBAAsB,EACtB,gBAAgB,EAChB,qBAAqB,EACrB,WAAW,EACX,aAAa,EACb,eAAe,EACf,aAAa,EACb,mBAAmB,EACpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAuB,+BAA+B,EAAE,MAAM,iBAAiB,CAAC;AACvF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAG7D,0DAA0D;AAC1D,MAAM,MAAM,uBAAuB,GAAG,gBAAgB,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAE/F;;;;;GAKG;AACH,YAAY,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAE7D;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,UAAU,CAAC,yBAAyB,CAAC,GAC5C,QAAQ,CAAC,uBAAuB,EAAE,sBAAsB,CAAC,CAW3D;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,UAAU,CAAC,kCAAkC,CAAC,WAAW,CAAC,CAAC,GAClE,QAAQ,CAAC,WAAW,EAAE,qBAAqB,CAAC,CAK9C;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,UAAU,CAAC,kCAAkC,CAAC,aAAa,CAAC,CAAC,GACpE,QAAQ,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAK9C;AAED,0DAA0D;AAC1D,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,UAAU,CAAC,kCAAkC,CAAC,aAAa,CAAC,CAAC,GACpE,QAAQ,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAK9C;AAED;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CASrE"}
@@ -0,0 +1,109 @@
1
+ /**
2
+ * Traefik's Gateway API surface.
3
+ *
4
+ * Traefik v3 implements upstream Gateway API, so there is no Traefik-specific
5
+ * copy of `Gateway`/`HTTPRoute`/`GRPCRoute` here: these are thin wrappers over
6
+ * the shared `src/factories/gateway-api` factories (#176) that pin Traefik's
7
+ * controller name and stamp the Traefik managed labels.
8
+ *
9
+ * Enable the provider with `providers: { gatewayApi: true }` on the bootstrap
10
+ * spec. Traefik middlewares attach to a Gateway API route through an
11
+ * `ExtensionRef` filter — see {@link traefikMiddlewareFilter}.
12
+ */
13
+ import { gateway as gatewayApiGateway, gatewayClass as gatewayApiGatewayClass, grpcRoute as gatewayApiGrpcRoute, httpRoute as gatewayApiHttpRoute, } from '../../gateway-api/index.js';
14
+ import { TRAEFIK_API_VERSION, TRAEFIK_GATEWAY_CONTROLLER_NAME } from '../constants.js';
15
+ import { traefikManagedLabels } from './common.js';
16
+ /**
17
+ * Create a `GatewayClass` claimed by Traefik.
18
+ *
19
+ * The Helm chart can create one itself (`gatewayClass.enabled`), which the
20
+ * bootstrap composition leaves alone. Use this factory when a consumer graph
21
+ * owns the class — for instance to run a second, differently named class
22
+ * alongside the chart's.
23
+ *
24
+ * @example
25
+ * ```typescript
26
+ * traefikGatewayClass({ name: 'traefik-edge', id: 'traefikGatewayClass' });
27
+ * ```
28
+ */
29
+ export function traefikGatewayClass(config) {
30
+ return gatewayApiGatewayClass({
31
+ name: config.name,
32
+ labels: { ...traefikManagedLabels(config.name), ...config.labels },
33
+ ...(config.annotations ? { annotations: config.annotations } : {}),
34
+ ...(config.id ? { id: config.id } : {}),
35
+ spec: {
36
+ controllerName: TRAEFIK_GATEWAY_CONTROLLER_NAME,
37
+ ...(config.description === undefined ? {} : { description: config.description }),
38
+ },
39
+ });
40
+ }
41
+ /**
42
+ * Create a Gateway API `Gateway` served by Traefik.
43
+ *
44
+ * `spec.gatewayClassName` must name a class Traefik has claimed.
45
+ */
46
+ export function traefikGateway(config) {
47
+ return gatewayApiGateway({
48
+ ...config,
49
+ labels: { ...traefikManagedLabels(config.name), ...config.labels },
50
+ });
51
+ }
52
+ /**
53
+ * Create a Gateway API `HTTPRoute` served by Traefik.
54
+ *
55
+ * @example A route attaching a Traefik `Middleware` through an ExtensionRef
56
+ * ```typescript
57
+ * traefikHTTPRoute({
58
+ * name: 'orders-api',
59
+ * namespace: 'edge',
60
+ * spec: {
61
+ * parentRefs: [{ name: 'traefik-gateway', namespace: 'traefik' }],
62
+ * hostnames: ['api.example.com'],
63
+ * rules: [
64
+ * {
65
+ * matches: [{ path: { type: 'PathPrefix', value: '/v1' } }],
66
+ * filters: [traefikMiddlewareFilter('orders-api-authz')],
67
+ * backendRefs: [{ name: 'orders-api', port: 8080 }],
68
+ * timeouts: { request: '120s' },
69
+ * },
70
+ * ],
71
+ * },
72
+ * id: 'ordersApiHttpRoute',
73
+ * });
74
+ * ```
75
+ */
76
+ export function traefikHTTPRoute(config) {
77
+ return gatewayApiHttpRoute({
78
+ ...config,
79
+ labels: { ...traefikManagedLabels(config.name), ...config.labels },
80
+ });
81
+ }
82
+ /** Create a Gateway API `GRPCRoute` served by Traefik. */
83
+ export function traefikGRPCRoute(config) {
84
+ return gatewayApiGrpcRoute({
85
+ ...config,
86
+ labels: { ...traefikManagedLabels(config.name), ...config.labels },
87
+ });
88
+ }
89
+ /**
90
+ * Build the `ExtensionRef` filter that attaches a Traefik `Middleware` to a
91
+ * Gateway API route rule.
92
+ *
93
+ * Gateway API has no vendor-neutral filter for `forwardAuth` or `rateLimit`,
94
+ * so an implementation-specific extension is the supported way to reference
95
+ * one from an `HTTPRoute`.
96
+ *
97
+ * @param name - Name of a `Middleware` in the route's namespace.
98
+ */
99
+ export function traefikMiddlewareFilter(name) {
100
+ return {
101
+ type: 'ExtensionRef',
102
+ extensionRef: {
103
+ group: TRAEFIK_API_VERSION.split('/')[0] ?? 'traefik.io',
104
+ kind: 'Middleware',
105
+ name,
106
+ },
107
+ };
108
+ }
109
+ //# sourceMappingURL=gateway.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../../../src/factories/traefik/resources/gateway.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EACL,OAAO,IAAI,iBAAiB,EAC5B,YAAY,IAAI,sBAAsB,EAEtC,SAAS,IAAI,mBAAmB,EAChC,SAAS,IAAI,mBAAmB,GACjC,MAAM,4BAA4B,CAAC;AAWpC,OAAO,EAAE,mBAAmB,EAAE,+BAA+B,EAAE,MAAM,iBAAiB,CAAC;AAEvF,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAanD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,mBAAmB,CACjC,MAA6C;IAE7C,OAAO,sBAAsB,CAAyC;QACpE,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,MAAM,EAAE,EAAE,GAAG,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE;QAClE,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,IAAI,EAAE;YACJ,cAAc,EAAE,+BAA+B;YAC/C,GAAG,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC;SACjF;KACF,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAC5B,MAAmE;IAEnE,OAAO,iBAAiB,CAAC;QACvB,GAAG,MAAM;QACT,MAAM,EAAE,EAAE,GAAG,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE;KACnE,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAqE;IAErE,OAAO,mBAAmB,CAAC;QACzB,GAAG,MAAM;QACT,MAAM,EAAE,EAAE,GAAG,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE;KACnE,CAAC,CAAC;AACL,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,gBAAgB,CAC9B,MAAqE;IAErE,OAAO,mBAAmB,CAAC;QACzB,GAAG,MAAM;QACT,MAAM,EAAE,EAAE,GAAG,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE;KACnE,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAAY;IAClD,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,YAAY,EAAE;YACZ,KAAK,EAAE,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,YAAY;YACxD,IAAI,EAAE,YAAY;YAClB,IAAI;SACL;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Traefik Helm resources.
3
+ *
4
+ * The factory owns both halves of the install — the chart source and the
5
+ * release — so a consumer never hand-writes Flux objects. The bootstrap
6
+ * composition owns the release and delegates the shared repository to a
7
+ * singleton composition.
8
+ */
9
+ import type { Composable, Enhanced } from '../../../core/types/index.js';
10
+ import { type HelmRepositorySpec, type HelmRepositoryStatus } from '../../helm/helm-repository.js';
11
+ import type { HelmReleaseSpec, HelmReleaseStatus } from '../../helm/types.js';
12
+ import type { TraefikHelmReleaseConfig, TraefikHelmRepositoryConfig, TraefikHelmValues } from '../types.js';
13
+ /**
14
+ * Traefik `HelmRelease` readiness (delegates to the shared Flux evaluator).
15
+ *
16
+ * Exported so a consumer graph that adopts an externally created release can
17
+ * reuse the same readiness contract.
18
+ */
19
+ export declare const traefikHelmReleaseReadinessEvaluator: import("../../index.js").ReadinessEvaluator<unknown>;
20
+ /**
21
+ * Create the Flux `HelmRepository` for the official Traefik chart repository.
22
+ *
23
+ * This is a classic (non-OCI) Helm repository, so Flux publishes a normal
24
+ * `Ready` condition for it.
25
+ *
26
+ * @example
27
+ * ```typescript
28
+ * traefikHelmRepository({ name: 'traefik-repo', id: 'repository' });
29
+ * ```
30
+ */
31
+ export declare function traefikHelmRepository(config: Composable<TraefikHelmRepositoryConfig>): Enhanced<HelmRepositorySpec, HelmRepositoryStatus>;
32
+ /**
33
+ * Create the Flux `HelmRelease` installing Traefik.
34
+ *
35
+ * Chart 41.5.0 ships the `traefik.io/v1alpha1` CRDs in its own `crds/`
36
+ * directory, so this single release installs both the CRDs and the proxy — no
37
+ * separate `traefik-crds` release is needed. Because Flux SKIPS `crds/` on
38
+ * upgrade by default, `install.crds` and `upgrade.crds` are both set from
39
+ * `config.crds` (default `CreateReplace`) so a chart bump moves the CRDs too.
40
+ *
41
+ * Values are passed through unchanged. Build them with
42
+ * `mapTraefikConfigToHelmValues`, which applies the security pins from #172.
43
+ *
44
+ * @example
45
+ * ```typescript
46
+ * traefikHelmRelease({
47
+ * name: 'traefik',
48
+ * targetNamespace: 'traefik',
49
+ * repositoryName: 'traefik-repo',
50
+ * values: mapTraefikConfigToHelmValues({ name: 'traefik' }),
51
+ * id: 'traefikHelmRelease',
52
+ * });
53
+ * ```
54
+ */
55
+ export declare function traefikHelmRelease(config: Composable<TraefikHelmReleaseConfig>): Enhanced<HelmReleaseSpec<TraefikHelmValues>, HelmReleaseStatus>;
56
+ //# sourceMappingURL=helm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helm.d.ts","sourceRoot":"","sources":["../../../../src/factories/traefik/resources/helm.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EAC1B,MAAM,+BAA+B,CAAC;AAEvC,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAU9E,OAAO,KAAK,EACV,wBAAwB,EACxB,2BAA2B,EAC3B,iBAAiB,EAElB,MAAM,aAAa,CAAC;AAKrB;;;;;GAKG;AACH,eAAO,MAAM,oCAAoC,sDAA+C,CAAC;AAEjG;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,UAAU,CAAC,2BAA2B,CAAC,GAC9C,QAAQ,CAAC,kBAAkB,EAAE,oBAAoB,CAAC,CAcpD;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,UAAU,CAAC,wBAAwB,CAAC,GAC3C,QAAQ,CAAC,eAAe,CAAC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC,CA0DjE"}
@@ -0,0 +1,131 @@
1
+ /**
2
+ * Traefik Helm resources.
3
+ *
4
+ * The factory owns both halves of the install — the chart source and the
5
+ * release — so a consumer never hand-writes Flux objects. The bootstrap
6
+ * composition owns the release and delegates the shared repository to a
7
+ * singleton composition.
8
+ */
9
+ import { DEFAULT_FLUX_NAMESPACE } from '../../../core/config/defaults.js';
10
+ import { createHelmRepositoryReadinessEvaluator, } from '../../helm/helm-repository.js';
11
+ import { createLabeledHelmReleaseEvaluator } from '../../helm/readiness-evaluators.js';
12
+ import { createResource } from '../../shared.js';
13
+ import { DEFAULT_TRAEFIK_CHART_NAME, DEFAULT_TRAEFIK_CHART_VERSION, DEFAULT_TRAEFIK_CRDS_POLICY, DEFAULT_TRAEFIK_NAMESPACE, DEFAULT_TRAEFIK_REPOSITORY_NAME, DEFAULT_TRAEFIK_REPOSITORY_URL, } from '../constants.js';
14
+ /** Traefik `HelmRepository` readiness (delegates to the shared Flux evaluator). */
15
+ const traefikHelmRepositoryReadinessEvaluator = createHelmRepositoryReadinessEvaluator('Traefik');
16
+ /**
17
+ * Traefik `HelmRelease` readiness (delegates to the shared Flux evaluator).
18
+ *
19
+ * Exported so a consumer graph that adopts an externally created release can
20
+ * reuse the same readiness contract.
21
+ */
22
+ export const traefikHelmReleaseReadinessEvaluator = createLabeledHelmReleaseEvaluator('Traefik');
23
+ /**
24
+ * Create the Flux `HelmRepository` for the official Traefik chart repository.
25
+ *
26
+ * This is a classic (non-OCI) Helm repository, so Flux publishes a normal
27
+ * `Ready` condition for it.
28
+ *
29
+ * @example
30
+ * ```typescript
31
+ * traefikHelmRepository({ name: 'traefik-repo', id: 'repository' });
32
+ * ```
33
+ */
34
+ export function traefikHelmRepository(config) {
35
+ return createResource({
36
+ ...(config.id ? { id: config.id } : {}),
37
+ apiVersion: 'source.toolkit.fluxcd.io/v1',
38
+ kind: 'HelmRepository',
39
+ metadata: {
40
+ name: config.name,
41
+ namespace: config.namespace ?? DEFAULT_FLUX_NAMESPACE,
42
+ },
43
+ spec: {
44
+ url: config.url ?? DEFAULT_TRAEFIK_REPOSITORY_URL,
45
+ interval: config.interval ?? '1h',
46
+ },
47
+ }).withReadinessEvaluator(traefikHelmRepositoryReadinessEvaluator);
48
+ }
49
+ /**
50
+ * Create the Flux `HelmRelease` installing Traefik.
51
+ *
52
+ * Chart 41.5.0 ships the `traefik.io/v1alpha1` CRDs in its own `crds/`
53
+ * directory, so this single release installs both the CRDs and the proxy — no
54
+ * separate `traefik-crds` release is needed. Because Flux SKIPS `crds/` on
55
+ * upgrade by default, `install.crds` and `upgrade.crds` are both set from
56
+ * `config.crds` (default `CreateReplace`) so a chart bump moves the CRDs too.
57
+ *
58
+ * Values are passed through unchanged. Build them with
59
+ * `mapTraefikConfigToHelmValues`, which applies the security pins from #172.
60
+ *
61
+ * @example
62
+ * ```typescript
63
+ * traefikHelmRelease({
64
+ * name: 'traefik',
65
+ * targetNamespace: 'traefik',
66
+ * repositoryName: 'traefik-repo',
67
+ * values: mapTraefikConfigToHelmValues({ name: 'traefik' }),
68
+ * id: 'traefikHelmRelease',
69
+ * });
70
+ * ```
71
+ */
72
+ export function traefikHelmRelease(config) {
73
+ const namespace = config.namespace ?? DEFAULT_FLUX_NAMESPACE;
74
+ // Flux's own defaults are `install.crds: Create` and `upgrade.crds: Skip`.
75
+ // `Skip` on upgrade is the dangerous half: the chart carries its CRDs in
76
+ // `crds/`, so a version bump would install a newer proxy against the CRD
77
+ // schemas the release was FIRST created with. Both actions are set from one
78
+ // policy so they cannot drift apart.
79
+ const crds = config.crds ?? DEFAULT_TRAEFIK_CRDS_POLICY;
80
+ return createResource({
81
+ ...(config.id ? { id: config.id } : {}),
82
+ apiVersion: 'helm.toolkit.fluxcd.io/v2',
83
+ kind: 'HelmRelease',
84
+ metadata: {
85
+ name: config.name,
86
+ namespace,
87
+ },
88
+ spec: {
89
+ interval: config.interval ?? '5m',
90
+ timeout: config.timeout ?? '10m',
91
+ chart: {
92
+ spec: {
93
+ chart: DEFAULT_TRAEFIK_CHART_NAME,
94
+ version: config.version ?? DEFAULT_TRAEFIK_CHART_VERSION,
95
+ sourceRef: {
96
+ kind: 'HelmRepository',
97
+ name: config.repositoryName ?? DEFAULT_TRAEFIK_REPOSITORY_NAME,
98
+ namespace: config.repositoryNamespace ?? namespace,
99
+ },
100
+ },
101
+ },
102
+ targetNamespace: config.targetNamespace ?? DEFAULT_TRAEFIK_NAMESPACE,
103
+ // Pinned to the same `name` the values mapper pins as the chart's
104
+ // `fullnameOverride`. Left unset, Flux's `GetReleaseName()` composes
105
+ // `<targetNamespace>-<name>` — this factory always sets
106
+ // `targetNamespace`, so the install namespace would spend part of Helm's
107
+ // 53-character release-name budget and a `name` at exactly the schema's
108
+ // limit would fail the install. Pinning it makes the release name `name`
109
+ // itself, so that limit binds on `name` alone. It also stops the release
110
+ // name from moving when a caller changes the install namespace, which
111
+ // Helm treats as a different release entirely.
112
+ releaseName: config.name,
113
+ install: {
114
+ createNamespace: config.createNamespace ?? false,
115
+ crds,
116
+ remediation: { retries: 3 },
117
+ },
118
+ upgrade: {
119
+ crds,
120
+ remediation: { retries: 3, remediateLastFailure: true, strategy: 'rollback' },
121
+ },
122
+ // The mapper's output is a graph-aware value tree — refs and CEL
123
+ // expressions live inside it — so it is handed to Flux as-is. The cast
124
+ // re-states that: `Composable<>` widens every optional branch of the
125
+ // values tree, which `TypeKroChartValues` models as its own recursive
126
+ // union rather than as optional properties.
127
+ ...(config.values ? { values: config.values } : {}),
128
+ },
129
+ }).withReadinessEvaluator(traefikHelmReleaseReadinessEvaluator);
130
+ }
131
+ //# sourceMappingURL=helm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helm.js","sourceRoot":"","sources":["../../../../src/factories/traefik/resources/helm.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Traefik resource factories.
3
+ */
4
+ export * from './common.js';
5
+ export * from './gateway.js';
6
+ export * from './helm.js';
7
+ export * from './middleware.js';
8
+ export * from './routing.js';
9
+ export * from './tls.js';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/factories/traefik/resources/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Traefik resource factories.
3
+ */
4
+ export * from './common.js';
5
+ export * from './gateway.js';
6
+ export * from './helm.js';
7
+ export * from './middleware.js';
8
+ export * from './routing.js';
9
+ export * from './tls.js';
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/factories/traefik/resources/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC"}