typekro 0.44.0 → 0.45.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 (462) hide show
  1. package/dist/core/kubernetes/bun-api-client.d.ts +0 -10
  2. package/dist/core/kubernetes/bun-api-client.d.ts.map +1 -1
  3. package/dist/core/kubernetes/bun-api-client.js +77 -3
  4. package/dist/core/kubernetes/bun-api-client.js.map +1 -1
  5. package/dist/core/kubernetes/bun-http-library.d.ts.map +1 -1
  6. package/dist/core/kubernetes/bun-http-library.js +5 -1
  7. package/dist/core/kubernetes/bun-http-library.js.map +1 -1
  8. package/dist/core/references/schema-proxy.d.ts +17 -0
  9. package/dist/core/references/schema-proxy.d.ts.map +1 -1
  10. package/dist/core/references/schema-proxy.js +53 -3
  11. package/dist/core/references/schema-proxy.js.map +1 -1
  12. package/dist/core/serialization/schema.d.ts.map +1 -1
  13. package/dist/core/serialization/schema.js +52 -20
  14. package/dist/core/serialization/schema.js.map +1 -1
  15. package/dist/core/types/serialization.d.ts +5 -2
  16. package/dist/core/types/serialization.d.ts.map +1 -1
  17. package/dist/factories/apisix/resources/helm.d.ts +2 -2
  18. package/dist/factories/apisix/resources/helm.d.ts.map +1 -1
  19. package/dist/factories/apisix/resources/helm.js +7 -11
  20. package/dist/factories/apisix/resources/helm.js.map +1 -1
  21. package/dist/factories/aws-load-balancer-controller/compositions/bootstrap.d.ts +38 -0
  22. package/dist/factories/aws-load-balancer-controller/compositions/bootstrap.d.ts.map +1 -0
  23. package/dist/factories/aws-load-balancer-controller/compositions/bootstrap.js +101 -0
  24. package/dist/factories/aws-load-balancer-controller/compositions/bootstrap.js.map +1 -0
  25. package/dist/factories/aws-load-balancer-controller/compositions/helm-repository.d.ts +10 -0
  26. package/dist/factories/aws-load-balancer-controller/compositions/helm-repository.d.ts.map +1 -0
  27. package/dist/factories/aws-load-balancer-controller/compositions/helm-repository.js +25 -0
  28. package/dist/factories/aws-load-balancer-controller/compositions/helm-repository.js.map +1 -0
  29. package/dist/factories/aws-load-balancer-controller/compositions/index.d.ts +3 -0
  30. package/dist/factories/aws-load-balancer-controller/compositions/index.d.ts.map +1 -0
  31. package/dist/factories/aws-load-balancer-controller/compositions/index.js +3 -0
  32. package/dist/factories/aws-load-balancer-controller/compositions/index.js.map +1 -0
  33. package/dist/factories/aws-load-balancer-controller/constants.d.ts +21 -0
  34. package/dist/factories/aws-load-balancer-controller/constants.d.ts.map +1 -0
  35. package/dist/factories/aws-load-balancer-controller/constants.js +29 -0
  36. package/dist/factories/aws-load-balancer-controller/constants.js.map +1 -0
  37. package/dist/factories/aws-load-balancer-controller/index.d.ts +17 -0
  38. package/dist/factories/aws-load-balancer-controller/index.d.ts.map +1 -0
  39. package/dist/factories/aws-load-balancer-controller/index.js +16 -0
  40. package/dist/factories/aws-load-balancer-controller/index.js.map +1 -0
  41. package/dist/factories/aws-load-balancer-controller/resources/elbv2.d.ts +45 -0
  42. package/dist/factories/aws-load-balancer-controller/resources/elbv2.d.ts.map +1 -0
  43. package/dist/factories/aws-load-balancer-controller/resources/elbv2.js +148 -0
  44. package/dist/factories/aws-load-balancer-controller/resources/elbv2.js.map +1 -0
  45. package/dist/factories/aws-load-balancer-controller/resources/helm.d.ts +36 -0
  46. package/dist/factories/aws-load-balancer-controller/resources/helm.d.ts.map +1 -0
  47. package/dist/factories/aws-load-balancer-controller/resources/helm.js +96 -0
  48. package/dist/factories/aws-load-balancer-controller/resources/helm.js.map +1 -0
  49. package/dist/factories/aws-load-balancer-controller/resources/index.d.ts +3 -0
  50. package/dist/factories/aws-load-balancer-controller/resources/index.d.ts.map +1 -0
  51. package/dist/factories/aws-load-balancer-controller/resources/index.js +3 -0
  52. package/dist/factories/aws-load-balancer-controller/resources/index.js.map +1 -0
  53. package/dist/factories/aws-load-balancer-controller/types.d.ts +267 -0
  54. package/dist/factories/aws-load-balancer-controller/types.d.ts.map +1 -0
  55. package/dist/factories/aws-load-balancer-controller/types.js +81 -0
  56. package/dist/factories/aws-load-balancer-controller/types.js.map +1 -0
  57. package/dist/factories/aws-load-balancer-controller/utils/helm-values-mapper.d.ts +27 -0
  58. package/dist/factories/aws-load-balancer-controller/utils/helm-values-mapper.d.ts.map +1 -0
  59. package/dist/factories/aws-load-balancer-controller/utils/helm-values-mapper.js +171 -0
  60. package/dist/factories/aws-load-balancer-controller/utils/helm-values-mapper.js.map +1 -0
  61. package/dist/factories/aws-load-balancer-controller/utils/index.d.ts +2 -0
  62. package/dist/factories/aws-load-balancer-controller/utils/index.d.ts.map +1 -0
  63. package/dist/factories/aws-load-balancer-controller/utils/index.js +2 -0
  64. package/dist/factories/aws-load-balancer-controller/utils/index.js.map +1 -0
  65. package/dist/factories/cert-manager/compositions/cert-manager-bootstrap.d.ts +6 -4
  66. package/dist/factories/cert-manager/compositions/cert-manager-bootstrap.d.ts.map +1 -1
  67. package/dist/factories/cert-manager/compositions/cert-manager-bootstrap.js +22 -196
  68. package/dist/factories/cert-manager/compositions/cert-manager-bootstrap.js.map +1 -1
  69. package/dist/factories/cert-manager/resources/helm.d.ts.map +1 -1
  70. package/dist/factories/cert-manager/resources/helm.js +30 -51
  71. package/dist/factories/cert-manager/resources/helm.js.map +1 -1
  72. package/dist/factories/cert-manager/types.d.ts +54 -6
  73. package/dist/factories/cert-manager/types.d.ts.map +1 -1
  74. package/dist/factories/cert-manager/types.js +45 -12
  75. package/dist/factories/cert-manager/types.js.map +1 -1
  76. package/dist/factories/cert-manager/utils/helm-values-mapper.js +203 -76
  77. package/dist/factories/cert-manager/utils/helm-values-mapper.js.map +1 -1
  78. package/dist/factories/cilium/resources/helm.d.ts.map +1 -1
  79. package/dist/factories/cilium/resources/helm.js +23 -0
  80. package/dist/factories/cilium/resources/helm.js.map +1 -1
  81. package/dist/factories/cilium/types.d.ts +2 -1
  82. package/dist/factories/cilium/types.d.ts.map +1 -1
  83. package/dist/factories/cilium/types.js.map +1 -1
  84. package/dist/factories/clickhouse/resources/helm.d.ts.map +1 -1
  85. package/dist/factories/clickhouse/resources/helm.js +2 -1
  86. package/dist/factories/clickhouse/resources/helm.js.map +1 -1
  87. package/dist/factories/clickhouse/types.d.ts +2 -1
  88. package/dist/factories/clickhouse/types.d.ts.map +1 -1
  89. package/dist/factories/clickhouse/types.js.map +1 -1
  90. package/dist/factories/clickstack/resources/helm.d.ts.map +1 -1
  91. package/dist/factories/clickstack/resources/helm.js +3 -2
  92. package/dist/factories/clickstack/resources/helm.js.map +1 -1
  93. package/dist/factories/clickstack/types.d.ts +3 -3
  94. package/dist/factories/clickstack/types.d.ts.map +1 -1
  95. package/dist/factories/clickstack/types.js.map +1 -1
  96. package/dist/factories/cnpg/resources/helm.d.ts.map +1 -1
  97. package/dist/factories/cnpg/resources/helm.js +2 -1
  98. package/dist/factories/cnpg/resources/helm.js.map +1 -1
  99. package/dist/factories/cnpg/types.d.ts +2 -1
  100. package/dist/factories/cnpg/types.d.ts.map +1 -1
  101. package/dist/factories/cnpg/types.js.map +1 -1
  102. package/dist/factories/crowdsec/compositions/crowdsec-bootstrap.d.ts +33 -0
  103. package/dist/factories/crowdsec/compositions/crowdsec-bootstrap.d.ts.map +1 -0
  104. package/dist/factories/crowdsec/compositions/crowdsec-bootstrap.js +174 -0
  105. package/dist/factories/crowdsec/compositions/crowdsec-bootstrap.js.map +1 -0
  106. package/dist/factories/crowdsec/compositions/crowdsec-helm-repository.d.ts +10 -0
  107. package/dist/factories/crowdsec/compositions/crowdsec-helm-repository.d.ts.map +1 -0
  108. package/dist/factories/crowdsec/compositions/crowdsec-helm-repository.js +25 -0
  109. package/dist/factories/crowdsec/compositions/crowdsec-helm-repository.js.map +1 -0
  110. package/dist/factories/crowdsec/compositions/index.d.ts +3 -0
  111. package/dist/factories/crowdsec/compositions/index.d.ts.map +1 -0
  112. package/dist/factories/crowdsec/compositions/index.js +3 -0
  113. package/dist/factories/crowdsec/compositions/index.js.map +1 -0
  114. package/dist/factories/crowdsec/constants.d.ts +38 -0
  115. package/dist/factories/crowdsec/constants.d.ts.map +1 -0
  116. package/dist/factories/crowdsec/constants.js +42 -0
  117. package/dist/factories/crowdsec/constants.js.map +1 -0
  118. package/dist/factories/crowdsec/index.d.ts +12 -0
  119. package/dist/factories/crowdsec/index.d.ts.map +1 -0
  120. package/dist/factories/crowdsec/index.js +12 -0
  121. package/dist/factories/crowdsec/index.js.map +1 -0
  122. package/dist/factories/crowdsec/resources/helm.d.ts +52 -0
  123. package/dist/factories/crowdsec/resources/helm.d.ts.map +1 -0
  124. package/dist/factories/crowdsec/resources/helm.js +78 -0
  125. package/dist/factories/crowdsec/resources/helm.js.map +1 -0
  126. package/dist/factories/crowdsec/resources/index.d.ts +2 -0
  127. package/dist/factories/crowdsec/resources/index.d.ts.map +1 -0
  128. package/dist/factories/crowdsec/resources/index.js +2 -0
  129. package/dist/factories/crowdsec/resources/index.js.map +1 -0
  130. package/dist/factories/crowdsec/types.d.ts +266 -0
  131. package/dist/factories/crowdsec/types.d.ts.map +1 -0
  132. package/dist/factories/crowdsec/types.js +43 -0
  133. package/dist/factories/crowdsec/types.js.map +1 -0
  134. package/dist/factories/crowdsec/utils/helm-values-mapper.d.ts +40 -0
  135. package/dist/factories/crowdsec/utils/helm-values-mapper.d.ts.map +1 -0
  136. package/dist/factories/crowdsec/utils/helm-values-mapper.js +473 -0
  137. package/dist/factories/crowdsec/utils/helm-values-mapper.js.map +1 -0
  138. package/dist/factories/crowdsec/utils/index.d.ts +3 -0
  139. package/dist/factories/crowdsec/utils/index.d.ts.map +1 -0
  140. package/dist/factories/crowdsec/utils/index.js +3 -0
  141. package/dist/factories/crowdsec/utils/index.js.map +1 -0
  142. package/dist/factories/crowdsec/utils/net.js +68 -0
  143. package/dist/factories/crowdsec/utils/net.js.map +1 -0
  144. package/dist/factories/crowdsec/utils/traefik-bouncer.d.ts +48 -0
  145. package/dist/factories/crowdsec/utils/traefik-bouncer.d.ts.map +1 -0
  146. package/dist/factories/crowdsec/utils/traefik-bouncer.js +302 -0
  147. package/dist/factories/crowdsec/utils/traefik-bouncer.js.map +1 -0
  148. package/dist/factories/dagster/resources/helm.d.ts.map +1 -1
  149. package/dist/factories/dagster/resources/helm.js +2 -0
  150. package/dist/factories/dagster/resources/helm.js.map +1 -1
  151. package/dist/factories/dagster/types.d.ts +2 -2
  152. package/dist/factories/dagster/types.d.ts.map +1 -1
  153. package/dist/factories/dagster/types.js.map +1 -1
  154. package/dist/factories/envoy-ai-gateway/resources/helm.d.ts.map +1 -1
  155. package/dist/factories/envoy-ai-gateway/resources/helm.js +17 -14
  156. package/dist/factories/envoy-ai-gateway/resources/helm.js.map +1 -1
  157. package/dist/factories/envoy-ai-gateway/types.d.ts +2 -2
  158. package/dist/factories/envoy-ai-gateway/types.d.ts.map +1 -1
  159. package/dist/factories/external-dns/resources/helm.d.ts.map +1 -1
  160. package/dist/factories/external-dns/resources/helm.js +2 -0
  161. package/dist/factories/external-dns/resources/helm.js.map +1 -1
  162. package/dist/factories/external-dns/types.d.ts +2 -1
  163. package/dist/factories/external-dns/types.d.ts.map +1 -1
  164. package/dist/factories/external-dns/types.js.map +1 -1
  165. package/dist/factories/harbor/resources/helm.d.ts.map +1 -1
  166. package/dist/factories/harbor/resources/helm.js +11 -7
  167. package/dist/factories/harbor/resources/helm.js.map +1 -1
  168. package/dist/factories/harbor/types.d.ts +2 -1
  169. package/dist/factories/harbor/types.d.ts.map +1 -1
  170. package/dist/factories/harbor/types.js.map +1 -1
  171. package/dist/factories/hatchet/resources/helm.d.ts.map +1 -1
  172. package/dist/factories/hatchet/resources/helm.js +13 -10
  173. package/dist/factories/hatchet/resources/helm.js.map +1 -1
  174. package/dist/factories/hatchet/types.d.ts +2 -1
  175. package/dist/factories/hatchet/types.d.ts.map +1 -1
  176. package/dist/factories/hatchet/types.js.map +1 -1
  177. package/dist/factories/helm/helm-release.d.ts.map +1 -1
  178. package/dist/factories/helm/helm-release.js +3 -31
  179. package/dist/factories/helm/helm-release.js.map +1 -1
  180. package/dist/factories/helm/index.d.ts +3 -1
  181. package/dist/factories/helm/index.d.ts.map +1 -1
  182. package/dist/factories/helm/index.js +1 -0
  183. package/dist/factories/helm/index.js.map +1 -1
  184. package/dist/factories/helm/lifecycle.d.ts +32 -0
  185. package/dist/factories/helm/lifecycle.d.ts.map +1 -0
  186. package/dist/factories/helm/lifecycle.js +165 -0
  187. package/dist/factories/helm/lifecycle.js.map +1 -0
  188. package/dist/factories/helm/types.d.ts +22 -0
  189. package/dist/factories/helm/types.d.ts.map +1 -1
  190. package/dist/factories/inngest/resources/helm.d.ts.map +1 -1
  191. package/dist/factories/inngest/resources/helm.js +2 -0
  192. package/dist/factories/inngest/resources/helm.js.map +1 -1
  193. package/dist/factories/inngest/types.d.ts +2 -1
  194. package/dist/factories/inngest/types.d.ts.map +1 -1
  195. package/dist/factories/inngest/types.js.map +1 -1
  196. package/dist/factories/karpenter/compositions/index.d.ts +3 -0
  197. package/dist/factories/karpenter/compositions/index.d.ts.map +1 -0
  198. package/dist/factories/karpenter/compositions/index.js +3 -0
  199. package/dist/factories/karpenter/compositions/index.js.map +1 -0
  200. package/dist/factories/karpenter/compositions/karpenter-bootstrap.d.ts +34 -0
  201. package/dist/factories/karpenter/compositions/karpenter-bootstrap.d.ts.map +1 -0
  202. package/dist/factories/karpenter/compositions/karpenter-bootstrap.js +150 -0
  203. package/dist/factories/karpenter/compositions/karpenter-bootstrap.js.map +1 -0
  204. package/dist/factories/karpenter/compositions/karpenter-helm-repository.d.ts +10 -0
  205. package/dist/factories/karpenter/compositions/karpenter-helm-repository.d.ts.map +1 -0
  206. package/dist/factories/karpenter/compositions/karpenter-helm-repository.js +25 -0
  207. package/dist/factories/karpenter/compositions/karpenter-helm-repository.js.map +1 -0
  208. package/dist/factories/karpenter/constants.d.ts +67 -0
  209. package/dist/factories/karpenter/constants.d.ts.map +1 -0
  210. package/dist/factories/karpenter/constants.js +65 -0
  211. package/dist/factories/karpenter/constants.js.map +1 -0
  212. package/dist/factories/karpenter/index.d.ts +14 -0
  213. package/dist/factories/karpenter/index.d.ts.map +1 -0
  214. package/dist/factories/karpenter/index.js +14 -0
  215. package/dist/factories/karpenter/index.js.map +1 -0
  216. package/dist/factories/karpenter/resources/ec2-node-class.d.ts +26 -0
  217. package/dist/factories/karpenter/resources/ec2-node-class.d.ts.map +1 -0
  218. package/dist/factories/karpenter/resources/ec2-node-class.js +48 -0
  219. package/dist/factories/karpenter/resources/ec2-node-class.js.map +1 -0
  220. package/dist/factories/karpenter/resources/helm.d.ts +48 -0
  221. package/dist/factories/karpenter/resources/helm.d.ts.map +1 -0
  222. package/dist/factories/karpenter/resources/helm.js +117 -0
  223. package/dist/factories/karpenter/resources/helm.js.map +1 -0
  224. package/dist/factories/karpenter/resources/index.d.ts +5 -0
  225. package/dist/factories/karpenter/resources/index.d.ts.map +1 -0
  226. package/dist/factories/karpenter/resources/index.js +5 -0
  227. package/dist/factories/karpenter/resources/index.js.map +1 -0
  228. package/dist/factories/karpenter/resources/node-pool.d.ts +32 -0
  229. package/dist/factories/karpenter/resources/node-pool.d.ts.map +1 -0
  230. package/dist/factories/karpenter/resources/node-pool.js +80 -0
  231. package/dist/factories/karpenter/resources/node-pool.js.map +1 -0
  232. package/dist/factories/karpenter/resources/readiness.d.ts +21 -0
  233. package/dist/factories/karpenter/resources/readiness.d.ts.map +1 -0
  234. package/dist/factories/karpenter/resources/readiness.js +60 -0
  235. package/dist/factories/karpenter/resources/readiness.js.map +1 -0
  236. package/dist/factories/karpenter/types.d.ts +433 -0
  237. package/dist/factories/karpenter/types.d.ts.map +1 -0
  238. package/dist/factories/karpenter/types.js +59 -0
  239. package/dist/factories/karpenter/types.js.map +1 -0
  240. package/dist/factories/karpenter/utils/helm-values-mapper.d.ts +24 -0
  241. package/dist/factories/karpenter/utils/helm-values-mapper.d.ts.map +1 -0
  242. package/dist/factories/karpenter/utils/helm-values-mapper.js +89 -0
  243. package/dist/factories/karpenter/utils/helm-values-mapper.js.map +1 -0
  244. package/dist/factories/karpenter/utils/index.d.ts +3 -0
  245. package/dist/factories/karpenter/utils/index.d.ts.map +1 -0
  246. package/dist/factories/karpenter/utils/index.js +3 -0
  247. package/dist/factories/karpenter/utils/index.js.map +1 -0
  248. package/dist/factories/karpenter/utils/validation.d.ts +42 -0
  249. package/dist/factories/karpenter/utils/validation.d.ts.map +1 -0
  250. package/dist/factories/karpenter/utils/validation.js +441 -0
  251. package/dist/factories/karpenter/utils/validation.js.map +1 -0
  252. package/dist/factories/keda/compositions/index.d.ts +3 -0
  253. package/dist/factories/keda/compositions/index.d.ts.map +1 -0
  254. package/dist/factories/keda/compositions/index.js +3 -0
  255. package/dist/factories/keda/compositions/index.js.map +1 -0
  256. package/dist/factories/keda/compositions/keda-bootstrap.d.ts +30 -0
  257. package/dist/factories/keda/compositions/keda-bootstrap.d.ts.map +1 -0
  258. package/dist/factories/keda/compositions/keda-bootstrap.js +102 -0
  259. package/dist/factories/keda/compositions/keda-bootstrap.js.map +1 -0
  260. package/dist/factories/keda/compositions/keda-helm-repository.d.ts +10 -0
  261. package/dist/factories/keda/compositions/keda-helm-repository.d.ts.map +1 -0
  262. package/dist/factories/keda/compositions/keda-helm-repository.js +25 -0
  263. package/dist/factories/keda/compositions/keda-helm-repository.js.map +1 -0
  264. package/dist/factories/keda/constants.d.ts +27 -0
  265. package/dist/factories/keda/constants.d.ts.map +1 -0
  266. package/dist/factories/keda/constants.js +27 -0
  267. package/dist/factories/keda/constants.js.map +1 -0
  268. package/dist/factories/keda/index.d.ts +14 -0
  269. package/dist/factories/keda/index.d.ts.map +1 -0
  270. package/dist/factories/keda/index.js +14 -0
  271. package/dist/factories/keda/index.js.map +1 -0
  272. package/dist/factories/keda/resources/helm.d.ts +26 -0
  273. package/dist/factories/keda/resources/helm.d.ts.map +1 -0
  274. package/dist/factories/keda/resources/helm.js +84 -0
  275. package/dist/factories/keda/resources/helm.js.map +1 -0
  276. package/dist/factories/keda/resources/index.d.ts +7 -0
  277. package/dist/factories/keda/resources/index.d.ts.map +1 -0
  278. package/dist/factories/keda/resources/index.js +7 -0
  279. package/dist/factories/keda/resources/index.js.map +1 -0
  280. package/dist/factories/keda/resources/readiness.d.ts +28 -0
  281. package/dist/factories/keda/resources/readiness.d.ts.map +1 -0
  282. package/dist/factories/keda/resources/readiness.js +70 -0
  283. package/dist/factories/keda/resources/readiness.js.map +1 -0
  284. package/dist/factories/keda/resources/scaled-job.d.ts +23 -0
  285. package/dist/factories/keda/resources/scaled-job.d.ts.map +1 -0
  286. package/dist/factories/keda/resources/scaled-job.js +43 -0
  287. package/dist/factories/keda/resources/scaled-job.js.map +1 -0
  288. package/dist/factories/keda/resources/scaled-object.d.ts +33 -0
  289. package/dist/factories/keda/resources/scaled-object.d.ts.map +1 -0
  290. package/dist/factories/keda/resources/scaled-object.js +78 -0
  291. package/dist/factories/keda/resources/scaled-object.js.map +1 -0
  292. package/dist/factories/keda/resources/trigger-authentication.d.ts +28 -0
  293. package/dist/factories/keda/resources/trigger-authentication.d.ts.map +1 -0
  294. package/dist/factories/keda/resources/trigger-authentication.js +52 -0
  295. package/dist/factories/keda/resources/trigger-authentication.js.map +1 -0
  296. package/dist/factories/keda/resources/triggers.d.ts +17 -0
  297. package/dist/factories/keda/resources/triggers.d.ts.map +1 -0
  298. package/dist/factories/keda/resources/triggers.js +21 -0
  299. package/dist/factories/keda/resources/triggers.js.map +1 -0
  300. package/dist/factories/keda/types.d.ts +580 -0
  301. package/dist/factories/keda/types.d.ts.map +1 -0
  302. package/dist/factories/keda/types.js +75 -0
  303. package/dist/factories/keda/types.js.map +1 -0
  304. package/dist/factories/keda/utils/helm-values-mapper.d.ts +21 -0
  305. package/dist/factories/keda/utils/helm-values-mapper.d.ts.map +1 -0
  306. package/dist/factories/keda/utils/helm-values-mapper.js +130 -0
  307. package/dist/factories/keda/utils/helm-values-mapper.js.map +1 -0
  308. package/dist/factories/keda/utils/index.d.ts +3 -0
  309. package/dist/factories/keda/utils/index.d.ts.map +1 -0
  310. package/dist/factories/keda/utils/index.js +3 -0
  311. package/dist/factories/keda/utils/index.js.map +1 -0
  312. package/dist/factories/keda/utils/validation.d.ts +52 -0
  313. package/dist/factories/keda/utils/validation.d.ts.map +1 -0
  314. package/dist/factories/keda/utils/validation.js +482 -0
  315. package/dist/factories/keda/utils/validation.js.map +1 -0
  316. package/dist/factories/kubernetes/policy/limit-range.d.ts.map +1 -1
  317. package/dist/factories/kubernetes/policy/limit-range.js +27 -1
  318. package/dist/factories/kubernetes/policy/limit-range.js.map +1 -1
  319. package/dist/factories/nats/resources/helm.d.ts +2 -2
  320. package/dist/factories/nats/resources/helm.d.ts.map +1 -1
  321. package/dist/factories/nats/resources/helm.js +2 -1
  322. package/dist/factories/nats/resources/helm.js.map +1 -1
  323. package/dist/factories/opensearch/resources/helm.d.ts.map +1 -1
  324. package/dist/factories/opensearch/resources/helm.js +2 -1
  325. package/dist/factories/opensearch/resources/helm.js.map +1 -1
  326. package/dist/factories/opensearch/types.d.ts +2 -1
  327. package/dist/factories/opensearch/types.d.ts.map +1 -1
  328. package/dist/factories/opensearch/types.js.map +1 -1
  329. package/dist/factories/ory/resources/helm.d.ts.map +1 -1
  330. package/dist/factories/ory/resources/helm.js +2 -0
  331. package/dist/factories/ory/resources/helm.js.map +1 -1
  332. package/dist/factories/ory/types.d.ts +2 -2
  333. package/dist/factories/ory/types.d.ts.map +1 -1
  334. package/dist/factories/ory/types.js.map +1 -1
  335. package/dist/factories/pebble/resources/helm.d.ts.map +1 -1
  336. package/dist/factories/pebble/resources/helm.js +2 -0
  337. package/dist/factories/pebble/resources/helm.js.map +1 -1
  338. package/dist/factories/pebble/types.d.ts +2 -1
  339. package/dist/factories/pebble/types.d.ts.map +1 -1
  340. package/dist/factories/pebble/types.js.map +1 -1
  341. package/dist/factories/rook/resources/helm.d.ts.map +1 -1
  342. package/dist/factories/rook/resources/helm.js +3 -2
  343. package/dist/factories/rook/resources/helm.js.map +1 -1
  344. package/dist/factories/rook/types.d.ts +2 -1
  345. package/dist/factories/rook/types.d.ts.map +1 -1
  346. package/dist/factories/rook/types.js.map +1 -1
  347. package/dist/factories/traefik/compositions/traefik-bootstrap.d.ts +43 -36
  348. package/dist/factories/traefik/compositions/traefik-bootstrap.d.ts.map +1 -1
  349. package/dist/factories/traefik/compositions/traefik-bootstrap.js +70 -38
  350. package/dist/factories/traefik/compositions/traefik-bootstrap.js.map +1 -1
  351. package/dist/factories/traefik/constants.d.ts +6 -0
  352. package/dist/factories/traefik/constants.d.ts.map +1 -1
  353. package/dist/factories/traefik/constants.js +6 -0
  354. package/dist/factories/traefik/constants.js.map +1 -1
  355. package/dist/factories/traefik/resources/common.d.ts +1 -1
  356. package/dist/factories/traefik/resources/common.js +1 -1
  357. package/dist/factories/traefik/resources/helm.d.ts.map +1 -1
  358. package/dist/factories/traefik/resources/helm.js +14 -9
  359. package/dist/factories/traefik/resources/helm.js.map +1 -1
  360. package/dist/factories/traefik/resources/middleware.d.ts +35 -1
  361. package/dist/factories/traefik/resources/middleware.d.ts.map +1 -1
  362. package/dist/factories/traefik/resources/middleware.js +71 -0
  363. package/dist/factories/traefik/resources/middleware.js.map +1 -1
  364. package/dist/factories/traefik/resources/tls.d.ts +22 -1
  365. package/dist/factories/traefik/resources/tls.d.ts.map +1 -1
  366. package/dist/factories/traefik/resources/tls.js +40 -0
  367. package/dist/factories/traefik/resources/tls.js.map +1 -1
  368. package/dist/factories/traefik/types.d.ts +176 -9
  369. package/dist/factories/traefik/types.d.ts.map +1 -1
  370. package/dist/factories/traefik/types.js +111 -2
  371. package/dist/factories/traefik/types.js.map +1 -1
  372. package/dist/factories/traefik/utils/access-log.d.ts +18 -0
  373. package/dist/factories/traefik/utils/access-log.d.ts.map +1 -0
  374. package/dist/factories/traefik/utils/access-log.js +98 -0
  375. package/dist/factories/traefik/utils/access-log.js.map +1 -0
  376. package/dist/factories/traefik/utils/aws-nlb.d.ts +55 -0
  377. package/dist/factories/traefik/utils/aws-nlb.d.ts.map +1 -0
  378. package/dist/factories/traefik/utils/aws-nlb.js +121 -0
  379. package/dist/factories/traefik/utils/aws-nlb.js.map +1 -0
  380. package/dist/factories/traefik/utils/helm-values-mapper.d.ts +30 -40
  381. package/dist/factories/traefik/utils/helm-values-mapper.d.ts.map +1 -1
  382. package/dist/factories/traefik/utils/helm-values-mapper.js +308 -41
  383. package/dist/factories/traefik/utils/helm-values-mapper.js.map +1 -1
  384. package/dist/factories/traefik/utils/index.d.ts +5 -0
  385. package/dist/factories/traefik/utils/index.d.ts.map +1 -1
  386. package/dist/factories/traefik/utils/index.js +5 -0
  387. package/dist/factories/traefik/utils/index.js.map +1 -1
  388. package/dist/factories/traefik/utils/middleware-validation.d.ts +0 -17
  389. package/dist/factories/traefik/utils/middleware-validation.d.ts.map +1 -1
  390. package/dist/factories/traefik/utils/middleware-validation.js +15 -17
  391. package/dist/factories/traefik/utils/middleware-validation.js.map +1 -1
  392. package/dist/factories/traefik/utils/plugins.d.ts +38 -0
  393. package/dist/factories/traefik/utils/plugins.d.ts.map +1 -0
  394. package/dist/factories/traefik/utils/plugins.js +175 -0
  395. package/dist/factories/traefik/utils/plugins.js.map +1 -0
  396. package/dist/factories/traefik/utils/proxy-trust.d.ts +48 -0
  397. package/dist/factories/traefik/utils/proxy-trust.d.ts.map +1 -0
  398. package/dist/factories/traefik/utils/proxy-trust.js +514 -0
  399. package/dist/factories/traefik/utils/proxy-trust.js.map +1 -0
  400. package/dist/factories/traefik/utils/trusted-range.d.ts +29 -0
  401. package/dist/factories/traefik/utils/trusted-range.d.ts.map +1 -0
  402. package/dist/factories/traefik/utils/trusted-range.js +80 -0
  403. package/dist/factories/traefik/utils/trusted-range.js.map +1 -0
  404. package/dist/factories/valkey/resources/helm.d.ts.map +1 -1
  405. package/dist/factories/valkey/resources/helm.js +2 -1
  406. package/dist/factories/valkey/resources/helm.js.map +1 -1
  407. package/dist/factories/valkey/types.d.ts +2 -1
  408. package/dist/factories/valkey/types.d.ts.map +1 -1
  409. package/dist/factories/valkey/types.js.map +1 -1
  410. package/dist/factories/vpa/compositions/index.d.ts +3 -0
  411. package/dist/factories/vpa/compositions/index.d.ts.map +1 -0
  412. package/dist/factories/vpa/compositions/index.js +3 -0
  413. package/dist/factories/vpa/compositions/index.js.map +1 -0
  414. package/dist/factories/vpa/compositions/vpa-bootstrap.d.ts +30 -0
  415. package/dist/factories/vpa/compositions/vpa-bootstrap.d.ts.map +1 -0
  416. package/dist/factories/vpa/compositions/vpa-bootstrap.js +104 -0
  417. package/dist/factories/vpa/compositions/vpa-bootstrap.js.map +1 -0
  418. package/dist/factories/vpa/compositions/vpa-helm-repository.d.ts +10 -0
  419. package/dist/factories/vpa/compositions/vpa-helm-repository.d.ts.map +1 -0
  420. package/dist/factories/vpa/compositions/vpa-helm-repository.js +25 -0
  421. package/dist/factories/vpa/compositions/vpa-helm-repository.js.map +1 -0
  422. package/dist/factories/vpa/constants.d.ts +77 -0
  423. package/dist/factories/vpa/constants.d.ts.map +1 -0
  424. package/dist/factories/vpa/constants.js +67 -0
  425. package/dist/factories/vpa/constants.js.map +1 -0
  426. package/dist/factories/vpa/index.d.ts +14 -0
  427. package/dist/factories/vpa/index.d.ts.map +1 -0
  428. package/dist/factories/vpa/index.js +14 -0
  429. package/dist/factories/vpa/index.js.map +1 -0
  430. package/dist/factories/vpa/resources/helm.d.ts +28 -0
  431. package/dist/factories/vpa/resources/helm.d.ts.map +1 -0
  432. package/dist/factories/vpa/resources/helm.js +88 -0
  433. package/dist/factories/vpa/resources/helm.js.map +1 -0
  434. package/dist/factories/vpa/resources/index.d.ts +4 -0
  435. package/dist/factories/vpa/resources/index.d.ts.map +1 -0
  436. package/dist/factories/vpa/resources/index.js +4 -0
  437. package/dist/factories/vpa/resources/index.js.map +1 -0
  438. package/dist/factories/vpa/resources/readiness.d.ts +24 -0
  439. package/dist/factories/vpa/resources/readiness.d.ts.map +1 -0
  440. package/dist/factories/vpa/resources/readiness.js +66 -0
  441. package/dist/factories/vpa/resources/readiness.js.map +1 -0
  442. package/dist/factories/vpa/resources/vertical-pod-autoscaler.d.ts +42 -0
  443. package/dist/factories/vpa/resources/vertical-pod-autoscaler.d.ts.map +1 -0
  444. package/dist/factories/vpa/resources/vertical-pod-autoscaler.js +93 -0
  445. package/dist/factories/vpa/resources/vertical-pod-autoscaler.js.map +1 -0
  446. package/dist/factories/vpa/types.d.ts +312 -0
  447. package/dist/factories/vpa/types.d.ts.map +1 -0
  448. package/dist/factories/vpa/types.js +96 -0
  449. package/dist/factories/vpa/types.js.map +1 -0
  450. package/dist/factories/vpa/utils/helm-values-mapper.d.ts +18 -0
  451. package/dist/factories/vpa/utils/helm-values-mapper.d.ts.map +1 -0
  452. package/dist/factories/vpa/utils/helm-values-mapper.js +121 -0
  453. package/dist/factories/vpa/utils/helm-values-mapper.js.map +1 -0
  454. package/dist/factories/vpa/utils/index.d.ts +3 -0
  455. package/dist/factories/vpa/utils/index.d.ts.map +1 -0
  456. package/dist/factories/vpa/utils/index.js +3 -0
  457. package/dist/factories/vpa/utils/index.js.map +1 -0
  458. package/dist/factories/vpa/utils/validation.d.ts +42 -0
  459. package/dist/factories/vpa/utils/validation.d.ts.map +1 -0
  460. package/dist/factories/vpa/utils/validation.js +225 -0
  461. package/dist/factories/vpa/utils/validation.js.map +1 -0
  462. package/package.json +21 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/factories/aws-load-balancer-controller/compositions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kCAAkC,EAClC,sCAAsC,GACvC,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,gDAAgD,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,21 @@
1
+ /** Pinned chart version. */
2
+ export declare const DEFAULT_AWS_LBC_CHART_VERSION = "3.5.0";
3
+ /** Controller version bundled with {@link DEFAULT_AWS_LBC_CHART_VERSION}. */
4
+ export declare const DEFAULT_AWS_LBC_APP_VERSION = "v3.5.0";
5
+ /** Chart name inside the eks-charts repository. */
6
+ export declare const AWS_LBC_CHART_NAME = "aws-load-balancer-controller";
7
+ /** The eks-charts Helm repository. */
8
+ export declare const DEFAULT_AWS_LBC_REPOSITORY_URL = "https://aws.github.io/eks-charts";
9
+ /** `HelmRepository` name the bootstrap composition owns as a singleton. */
10
+ export declare const DEFAULT_AWS_LBC_REPOSITORY_NAME = "eks-charts";
11
+ /** Conventional release name, and the service account name the bootstrap pins. */
12
+ export declare const DEFAULT_AWS_LBC_NAME = "aws-load-balancer-controller";
13
+ /** Namespace the controller is installed into by default, as in the upstream docs. */
14
+ export declare const DEFAULT_AWS_LBC_NAMESPACE = "kube-system";
15
+ /** Flux CRD policy applied to install and upgrade. */
16
+ export declare const DEFAULT_AWS_LBC_CRDS_POLICY = "CreateReplace";
17
+ /** API group/version of `TargetGroupBinding` and `IngressClassParams`. */
18
+ export declare const AWS_LBC_ELBV2_API_VERSION = "elbv2.k8s.aws/v1beta1";
19
+ /** IAM policy the controller's role needs, for {@link DEFAULT_AWS_LBC_APP_VERSION}. */
20
+ export declare const AWS_LBC_IAM_POLICY_URL = "https://raw.githubusercontent.com/kubernetes-sigs/aws-load-balancer-controller/v3.5.0/docs/install/iam_policy.json";
21
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/factories/aws-load-balancer-controller/constants.ts"],"names":[],"mappings":"AAUA,4BAA4B;AAC5B,eAAO,MAAM,6BAA6B,UAAU,CAAC;AACrD,6EAA6E;AAC7E,eAAO,MAAM,2BAA2B,WAAW,CAAC;AACpD,mDAAmD;AACnD,eAAO,MAAM,kBAAkB,iCAAiC,CAAC;AACjE,sCAAsC;AACtC,eAAO,MAAM,8BAA8B,qCAAqC,CAAC;AACjF,2EAA2E;AAC3E,eAAO,MAAM,+BAA+B,eAAe,CAAC;AAC5D,kFAAkF;AAClF,eAAO,MAAM,oBAAoB,iCAAiC,CAAC;AACnE,sFAAsF;AACtF,eAAO,MAAM,yBAAyB,gBAAgB,CAAC;AACvD,sDAAsD;AACtD,eAAO,MAAM,2BAA2B,kBAAkB,CAAC;AAC3D,0EAA0E;AAC1E,eAAO,MAAM,yBAAyB,0BAA0B,CAAC;AACjE,uFAAuF;AACvF,eAAO,MAAM,sBAAsB,uHACmF,CAAC"}
@@ -0,0 +1,29 @@
1
+ // AWS Load Balancer Controller factory constants.
2
+ //
3
+ // Verified against the `aws-load-balancer-controller` chart 3.5.0 (appVersion
4
+ // `v3.5.0`) published on https://aws.github.io/eks-charts.
5
+ // The chart ships its CRDs (TargetGroupBinding, IngressClassParams, the
6
+ // gateway.k8s.aws configuration kinds, ...) in its `crds/` directory. Flux
7
+ // SKIPS `crds/` on upgrade by default, so without `CreateReplace` a chart bump
8
+ // would run a newer controller against the CRD schemas of the first install.
9
+ /** Pinned chart version. */
10
+ export const DEFAULT_AWS_LBC_CHART_VERSION = '3.5.0';
11
+ /** Controller version bundled with {@link DEFAULT_AWS_LBC_CHART_VERSION}. */
12
+ export const DEFAULT_AWS_LBC_APP_VERSION = 'v3.5.0';
13
+ /** Chart name inside the eks-charts repository. */
14
+ export const AWS_LBC_CHART_NAME = 'aws-load-balancer-controller';
15
+ /** The eks-charts Helm repository. */
16
+ export const DEFAULT_AWS_LBC_REPOSITORY_URL = 'https://aws.github.io/eks-charts';
17
+ /** `HelmRepository` name the bootstrap composition owns as a singleton. */
18
+ export const DEFAULT_AWS_LBC_REPOSITORY_NAME = 'eks-charts';
19
+ /** Conventional release name, and the service account name the bootstrap pins. */
20
+ export const DEFAULT_AWS_LBC_NAME = 'aws-load-balancer-controller';
21
+ /** Namespace the controller is installed into by default, as in the upstream docs. */
22
+ export const DEFAULT_AWS_LBC_NAMESPACE = 'kube-system';
23
+ /** Flux CRD policy applied to install and upgrade. */
24
+ export const DEFAULT_AWS_LBC_CRDS_POLICY = 'CreateReplace';
25
+ /** API group/version of `TargetGroupBinding` and `IngressClassParams`. */
26
+ export const AWS_LBC_ELBV2_API_VERSION = 'elbv2.k8s.aws/v1beta1';
27
+ /** IAM policy the controller's role needs, for {@link DEFAULT_AWS_LBC_APP_VERSION}. */
28
+ export const AWS_LBC_IAM_POLICY_URL = 'https://raw.githubusercontent.com/kubernetes-sigs/aws-load-balancer-controller/v3.5.0/docs/install/iam_policy.json';
29
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/factories/aws-load-balancer-controller/constants.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,EAAE;AACF,8EAA8E;AAC9E,2DAA2D;AAE3D,wEAAwE;AACxE,2EAA2E;AAC3E,+EAA+E;AAC/E,6EAA6E;AAE7E,4BAA4B;AAC5B,MAAM,CAAC,MAAM,6BAA6B,GAAG,OAAO,CAAC;AACrD,6EAA6E;AAC7E,MAAM,CAAC,MAAM,2BAA2B,GAAG,QAAQ,CAAC;AACpD,mDAAmD;AACnD,MAAM,CAAC,MAAM,kBAAkB,GAAG,8BAA8B,CAAC;AACjE,sCAAsC;AACtC,MAAM,CAAC,MAAM,8BAA8B,GAAG,kCAAkC,CAAC;AACjF,2EAA2E;AAC3E,MAAM,CAAC,MAAM,+BAA+B,GAAG,YAAY,CAAC;AAC5D,kFAAkF;AAClF,MAAM,CAAC,MAAM,oBAAoB,GAAG,8BAA8B,CAAC;AACnE,sFAAsF;AACtF,MAAM,CAAC,MAAM,yBAAyB,GAAG,aAAa,CAAC;AACvD,sDAAsD;AACtD,MAAM,CAAC,MAAM,2BAA2B,GAAG,eAAe,CAAC;AAC3D,0EAA0E;AAC1E,MAAM,CAAC,MAAM,yBAAyB,GAAG,uBAAuB,CAAC;AACjE,uFAAuF;AACvF,MAAM,CAAC,MAAM,sBAAsB,GACjC,oHAAoH,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * AWS Load Balancer Controller.
3
+ *
4
+ * Installs the controller from the eks-charts repository through Flux, and
5
+ * exposes typed `TargetGroupBinding` and `IngressClassParams` factories.
6
+ * TypeKro creates no AWS resources: the IAM role and policy, and the subnet
7
+ * discovery tags, are prerequisites.
8
+ *
9
+ * @see docs/api/aws-load-balancer-controller/index.md
10
+ */
11
+ export * from './compositions/index.js';
12
+ export * from './constants.js';
13
+ export * from './resources/index.js';
14
+ export type * from './types.js';
15
+ export { AwsLoadBalancerControllerBootstrapConfigSchema, AwsLoadBalancerControllerBootstrapStatusSchema, } from './types.js';
16
+ export * from './utils/index.js';
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/factories/aws-load-balancer-controller/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,mBAAmB,YAAY,CAAC;AAChC,OAAO,EACL,8CAA8C,EAC9C,8CAA8C,GAC/C,MAAM,YAAY,CAAC;AACpB,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * AWS Load Balancer Controller.
3
+ *
4
+ * Installs the controller from the eks-charts repository through Flux, and
5
+ * exposes typed `TargetGroupBinding` and `IngressClassParams` factories.
6
+ * TypeKro creates no AWS resources: the IAM role and policy, and the subnet
7
+ * discovery tags, are prerequisites.
8
+ *
9
+ * @see docs/api/aws-load-balancer-controller/index.md
10
+ */
11
+ export * from './compositions/index.js';
12
+ export * from './constants.js';
13
+ export * from './resources/index.js';
14
+ export { AwsLoadBalancerControllerBootstrapConfigSchema, AwsLoadBalancerControllerBootstrapStatusSchema, } from './types.js';
15
+ export * from './utils/index.js';
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/factories/aws-load-balancer-controller/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AAErC,OAAO,EACL,8CAA8C,EAC9C,8CAA8C,GAC/C,MAAM,YAAY,CAAC;AACpB,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,45 @@
1
+ import type { Composable, Enhanced, ReadinessEvaluator } from '../../../core/types/index.js';
2
+ import type { IngressClassParamsConfig, IngressClassParamsSpec, TargetGroupBindingConfig, TargetGroupBindingSpec, TargetGroupBindingStatus } from '../types.js';
3
+ /**
4
+ * A `TargetGroupBinding` is ready once the controller has reconciled its
5
+ * current generation and reports no failing condition.
6
+ */
7
+ export declare const targetGroupBindingReadinessEvaluator: ReadinessEvaluator<unknown>;
8
+ /**
9
+ * Register a Service's endpoints with an existing ELBv2 target group.
10
+ *
11
+ * @example
12
+ * ```typescript
13
+ * targetGroupBinding({
14
+ * name: 'web',
15
+ * namespace: 'apps',
16
+ * spec: {
17
+ * serviceRef: { name: 'web', port: 80 },
18
+ * targetGroupARN: 'arn:aws:elasticloadbalancing:us-east-1:111122223333:targetgroup/web/0123456789abcdef',
19
+ * targetType: 'ip',
20
+ * },
21
+ * id: 'webTargets',
22
+ * });
23
+ * ```
24
+ *
25
+ * @throws {ValidationError} when neither `targetGroupARN` nor `targetGroupName`
26
+ * is set (or both are empty strings), or when concrete values break a static
27
+ * rule of the controller's webhook: `nodeSelector` with `ip` targets,
28
+ * `iamRoleArnToAssume` or a QUIC / TCP_QUIC protocol with `instance` targets, or
29
+ * a malformed `vpcID`.
30
+ */
31
+ export declare function targetGroupBinding(config: Composable<TargetGroupBindingConfig>): Enhanced<TargetGroupBindingSpec, TargetGroupBindingStatus>;
32
+ /**
33
+ * Create a cluster-scoped `IngressClassParams`, the settings an `IngressClass`
34
+ * applies to every Ingress that uses it.
35
+ *
36
+ * @example
37
+ * ```typescript
38
+ * ingressClassParams({
39
+ * name: 'internal',
40
+ * spec: { scheme: 'internal', group: { name: 'internal' }, targetType: 'ip' },
41
+ * });
42
+ * ```
43
+ */
44
+ export declare function ingressClassParams(config: Composable<IngressClassParamsConfig>): Enhanced<IngressClassParamsSpec, object>;
45
+ //# sourceMappingURL=elbv2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"elbv2.d.ts","sourceRoot":"","sources":["../../../../src/factories/aws-load-balancer-controller/resources/elbv2.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,UAAU,EACV,QAAQ,EACR,kBAAkB,EAEnB,MAAM,8BAA8B,CAAC;AAItC,OAAO,KAAK,EACV,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACzB,MAAM,aAAa,CAAC;AAErB;;;GAGG;AACH,eAAO,MAAM,oCAAoC,EAAE,kBAAkB,CAAC,OAAO,CAyB5E,CAAC;AA0FF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,UAAU,CAAC,wBAAwB,CAAC,GAC3C,QAAQ,CAAC,sBAAsB,EAAE,wBAAwB,CAAC,CAY5D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,UAAU,CAAC,wBAAwB,CAAC,GAC3C,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAW1C"}
@@ -0,0 +1,148 @@
1
+ // Typed `elbv2.k8s.aws/v1beta1` resources served by the controller.
2
+ import { ValidationError } from '../../../core/errors.js';
3
+ import { createAlwaysReadyEvaluator } from '../../../core/readiness/index.js';
4
+ import { isCelExpression, isKubernetesRef } from '../../../utils/type-guards.js';
5
+ import { createResource } from '../../shared.js';
6
+ import { AWS_LBC_ELBV2_API_VERSION } from '../constants.js';
7
+ /**
8
+ * A `TargetGroupBinding` is ready once the controller has reconciled its
9
+ * current generation and reports no failing condition.
10
+ */
11
+ export const targetGroupBindingReadinessEvaluator = (live) => {
12
+ const resource = live;
13
+ const observed = resource?.status?.observedGeneration;
14
+ const generation = resource?.metadata?.generation ?? 1;
15
+ if (observed === undefined || observed < generation) {
16
+ return {
17
+ ready: false,
18
+ reason: 'NotReconciled',
19
+ message: 'TargetGroupBinding not yet reconciled by the AWS Load Balancer Controller',
20
+ };
21
+ }
22
+ const failing = resource?.status?.conditions?.find((c) => c.status === 'False');
23
+ if (failing) {
24
+ return {
25
+ ready: false,
26
+ reason: failing.reason ?? failing.type,
27
+ message: failing.message ?? `TargetGroupBinding condition ${failing.type} is False`,
28
+ };
29
+ }
30
+ return { ready: true, message: 'TargetGroupBinding reconciled' };
31
+ };
32
+ /** A value only known per instance: a schema or resource reference, or CEL. */
33
+ function isGraphValue(value) {
34
+ return isKubernetesRef(value) || isCelExpression(value);
35
+ }
36
+ /** The VPC ID format the controller's webhook accepts (v3.5.0). */
37
+ const VPC_ID_PATTERN = /^(?:vpc-[0-9a-f]{8}|vpc-[0-9a-f]{17}|vpc-[0-9a-f]{32})$/;
38
+ /** A concrete, non-empty string; `undefined` for a graph value or anything else. */
39
+ function concreteString(value) {
40
+ return typeof value === 'string' && value.length > 0 ? value : undefined;
41
+ }
42
+ /**
43
+ * Reject at build time the TargetGroupBindings the controller's validating
44
+ * webhook (v3.5.0) would reject on static grounds alone, so the mistake shows
45
+ * up in the composition rather than as a failed apply. Checks that need the
46
+ * AWS target group (protocol, IP address type and VPC matching it) stay with
47
+ * the webhook. A reference or CEL value is only known per instance, so a check
48
+ * that involves one is skipped; the webhook still checks the resolved value.
49
+ */
50
+ function validateTargetGroupBinding(config) {
51
+ const spec = config.spec;
52
+ // A whole spec given as a graph value: nothing is known until an instance.
53
+ if (isGraphValue(spec))
54
+ return;
55
+ const fields = (spec ?? {});
56
+ const name = typeof config.name === 'string' ? config.name : '<reference>';
57
+ const fail = (message, field, suggestions) => {
58
+ throw new ValidationError(`TargetGroupBinding '${name}': ${message}`, 'TargetGroupBinding', name, field, suggestions);
59
+ };
60
+ // The CRD accepts a binding with neither, but the webhook refuses it, and
61
+ // it treats an empty string as unset.
62
+ const isSet = (value) => isGraphValue(value) || concreteString(value) !== undefined;
63
+ if (!isSet(fields.targetGroupARN) && !isSet(fields.targetGroupName)) {
64
+ fail('names no target group: set spec.targetGroupARN or spec.targetGroupName (a non-empty ' +
65
+ 'string). The AWS Load Balancer Controller rejects a binding without one.', 'spec.targetGroupARN', [
66
+ 'Set spec.targetGroupARN to the ARN of an existing target group.',
67
+ 'Or set spec.targetGroupName; the controller looks the ARN up by name.',
68
+ ]);
69
+ }
70
+ const targetType = concreteString(fields.targetType);
71
+ if (targetType === 'ip' &&
72
+ fields.nodeSelector !== undefined &&
73
+ !isGraphValue(fields.nodeSelector)) {
74
+ fail('spec.nodeSelector only applies to instance targets, and targetType is ip.', 'spec.nodeSelector', ["Remove spec.nodeSelector, or use targetType 'instance'."]);
75
+ }
76
+ if (targetType === 'instance' && concreteString(fields.iamRoleArnToAssume) !== undefined) {
77
+ fail('a cross-account binding (spec.iamRoleArnToAssume) needs ip targets, and targetType is instance.', 'spec.targetType', ["Use targetType 'ip' with spec.iamRoleArnToAssume."]);
78
+ }
79
+ const protocol = concreteString(fields.targetGroupProtocol);
80
+ if (targetType === 'instance' && (protocol === 'QUIC' || protocol === 'TCP_QUIC')) {
81
+ fail(`${protocol} target groups do not support instance targets.`, 'spec.targetType', [
82
+ "Use targetType 'ip' for a QUIC or TCP_QUIC target group.",
83
+ ]);
84
+ }
85
+ const vpcID = concreteString(fields.vpcID);
86
+ if (vpcID !== undefined && !VPC_ID_PATTERN.test(vpcID)) {
87
+ fail(`spec.vpcID '${vpcID}' is not a VPC ID: it must be 'vpc-' followed by 8, 17 or 32 ` +
88
+ 'lowercase hex characters.', 'spec.vpcID', ['Leave spec.vpcID unset to let the controller read it from the target group.']);
89
+ }
90
+ }
91
+ /**
92
+ * Register a Service's endpoints with an existing ELBv2 target group.
93
+ *
94
+ * @example
95
+ * ```typescript
96
+ * targetGroupBinding({
97
+ * name: 'web',
98
+ * namespace: 'apps',
99
+ * spec: {
100
+ * serviceRef: { name: 'web', port: 80 },
101
+ * targetGroupARN: 'arn:aws:elasticloadbalancing:us-east-1:111122223333:targetgroup/web/0123456789abcdef',
102
+ * targetType: 'ip',
103
+ * },
104
+ * id: 'webTargets',
105
+ * });
106
+ * ```
107
+ *
108
+ * @throws {ValidationError} when neither `targetGroupARN` nor `targetGroupName`
109
+ * is set (or both are empty strings), or when concrete values break a static
110
+ * rule of the controller's webhook: `nodeSelector` with `ip` targets,
111
+ * `iamRoleArnToAssume` or a QUIC / TCP_QUIC protocol with `instance` targets, or
112
+ * a malformed `vpcID`.
113
+ */
114
+ export function targetGroupBinding(config) {
115
+ validateTargetGroupBinding(config);
116
+ return createResource({
117
+ ...(config.id ? { id: config.id } : {}),
118
+ apiVersion: AWS_LBC_ELBV2_API_VERSION,
119
+ kind: 'TargetGroupBinding',
120
+ metadata: {
121
+ name: config.name,
122
+ ...(config.namespace ? { namespace: config.namespace } : {}),
123
+ },
124
+ spec: config.spec,
125
+ }).withReadinessEvaluator(targetGroupBindingReadinessEvaluator);
126
+ }
127
+ /**
128
+ * Create a cluster-scoped `IngressClassParams`, the settings an `IngressClass`
129
+ * applies to every Ingress that uses it.
130
+ *
131
+ * @example
132
+ * ```typescript
133
+ * ingressClassParams({
134
+ * name: 'internal',
135
+ * spec: { scheme: 'internal', group: { name: 'internal' }, targetType: 'ip' },
136
+ * });
137
+ * ```
138
+ */
139
+ export function ingressClassParams(config) {
140
+ return createResource({
141
+ ...(config.id ? { id: config.id } : {}),
142
+ apiVersion: AWS_LBC_ELBV2_API_VERSION,
143
+ kind: 'IngressClassParams',
144
+ metadata: { name: config.name },
145
+ spec: (config.spec ?? {}),
146
+ }, { scope: 'cluster' }).withReadinessEvaluator(createAlwaysReadyEvaluator('IngressClassParams'));
147
+ }
148
+ //# sourceMappingURL=elbv2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"elbv2.js","sourceRoot":"","sources":["../../../../src/factories/aws-load-balancer-controller/resources/elbv2.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import type { Composable, Enhanced, ReadinessEvaluator } from '../../../core/types/index.js';
2
+ import { type HelmRepositorySpec, type HelmRepositoryStatus } from '../../helm/helm-repository.js';
3
+ import type { HelmReleaseSpec, HelmReleaseStatus } from '../../helm/types.js';
4
+ import type { AwsLoadBalancerControllerHelmReleaseConfig, AwsLoadBalancerControllerHelmRepositoryConfig } from '../types.js';
5
+ /** Readiness of the controller `HelmRelease`, from its Flux conditions. */
6
+ export declare const awsLoadBalancerControllerHelmReleaseReadinessEvaluator: ReadinessEvaluator<unknown>;
7
+ /**
8
+ * Create the Flux `HelmRepository` for the eks-charts repository.
9
+ *
10
+ * @example
11
+ * ```typescript
12
+ * awsLoadBalancerControllerHelmRepository({ id: 'eksCharts' });
13
+ * ```
14
+ */
15
+ export declare function awsLoadBalancerControllerHelmRepository(config?: Composable<AwsLoadBalancerControllerHelmRepositoryConfig>): Enhanced<HelmRepositorySpec, HelmRepositoryStatus>;
16
+ /**
17
+ * Create the Flux `HelmRelease` installing the AWS Load Balancer Controller.
18
+ *
19
+ * The chart ships its CRDs in `crds/`, so `install.crds` and `upgrade.crds`
20
+ * default to `CreateReplace`: Flux skips `crds/` on upgrade otherwise. Every
21
+ * lifecycle field can be overridden; see "Install, upgrade and CRD policy" in
22
+ * the Flux docs.
23
+ *
24
+ * @example
25
+ * ```typescript
26
+ * awsLoadBalancerControllerHelmRelease({
27
+ * name: 'aws-load-balancer-controller',
28
+ * values: mapAwsLoadBalancerControllerConfigToHelmValues({
29
+ * name: 'aws-load-balancer-controller',
30
+ * clusterName: 'prod',
31
+ * }),
32
+ * });
33
+ * ```
34
+ */
35
+ export declare function awsLoadBalancerControllerHelmRelease(config: Composable<AwsLoadBalancerControllerHelmReleaseConfig>): Enhanced<HelmReleaseSpec, HelmReleaseStatus>;
36
+ //# sourceMappingURL=helm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helm.d.ts","sourceRoot":"","sources":["../../../../src/factories/aws-load-balancer-controller/resources/helm.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAC7F,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EAC1B,MAAM,+BAA+B,CAAC;AAGvC,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAU9E,OAAO,KAAK,EACV,0CAA0C,EAC1C,6CAA6C,EAC9C,MAAM,aAAa,CAAC;AAMrB,2EAA2E;AAC3E,eAAO,MAAM,sDAAsD,EAAE,kBAAkB,CAAC,OAAO,CAC5B,CAAC;AAEpE;;;;;;;GAOG;AACH,wBAAgB,uCAAuC,CACrD,MAAM,GAAE,UAAU,CAAC,6CAA6C,CAAM,GACrE,QAAQ,CAAC,kBAAkB,EAAE,oBAAoB,CAAC,CAcpD;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,oCAAoC,CAClD,MAAM,EAAE,UAAU,CAAC,0CAA0C,CAAC,GAC7D,QAAQ,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAyC9C"}
@@ -0,0 +1,96 @@
1
+ // AWS Load Balancer Controller Helm resources: the eks-charts repository and
2
+ // the controller release.
3
+ import { DEFAULT_FLUX_NAMESPACE } from '../../../core/config/defaults.js';
4
+ import { createHelmRepositoryReadinessEvaluator, } from '../../helm/helm-repository.js';
5
+ import { helmReleaseLifecycle } from '../../helm/lifecycle.js';
6
+ import { createLabeledHelmReleaseEvaluator } from '../../helm/readiness-evaluators.js';
7
+ import { createResource } from '../../shared.js';
8
+ import { AWS_LBC_CHART_NAME, DEFAULT_AWS_LBC_CHART_VERSION, DEFAULT_AWS_LBC_CRDS_POLICY, DEFAULT_AWS_LBC_NAMESPACE, DEFAULT_AWS_LBC_REPOSITORY_NAME, DEFAULT_AWS_LBC_REPOSITORY_URL, } from '../constants.js';
9
+ const repositoryReadinessEvaluator = createHelmRepositoryReadinessEvaluator('AWS Load Balancer Controller');
10
+ /** Readiness of the controller `HelmRelease`, from its Flux conditions. */
11
+ export const awsLoadBalancerControllerHelmReleaseReadinessEvaluator = createLabeledHelmReleaseEvaluator('AWS Load Balancer Controller');
12
+ /**
13
+ * Create the Flux `HelmRepository` for the eks-charts repository.
14
+ *
15
+ * @example
16
+ * ```typescript
17
+ * awsLoadBalancerControllerHelmRepository({ id: 'eksCharts' });
18
+ * ```
19
+ */
20
+ export function awsLoadBalancerControllerHelmRepository(config = {}) {
21
+ return createResource({
22
+ ...(config.id ? { id: config.id } : {}),
23
+ apiVersion: 'source.toolkit.fluxcd.io/v1',
24
+ kind: 'HelmRepository',
25
+ metadata: {
26
+ name: config.name ?? DEFAULT_AWS_LBC_REPOSITORY_NAME,
27
+ namespace: config.namespace ?? DEFAULT_FLUX_NAMESPACE,
28
+ },
29
+ spec: {
30
+ url: config.url ?? DEFAULT_AWS_LBC_REPOSITORY_URL,
31
+ interval: config.interval ?? '1h',
32
+ },
33
+ }).withReadinessEvaluator(repositoryReadinessEvaluator);
34
+ }
35
+ /**
36
+ * Create the Flux `HelmRelease` installing the AWS Load Balancer Controller.
37
+ *
38
+ * The chart ships its CRDs in `crds/`, so `install.crds` and `upgrade.crds`
39
+ * default to `CreateReplace`: Flux skips `crds/` on upgrade otherwise. Every
40
+ * lifecycle field can be overridden; see "Install, upgrade and CRD policy" in
41
+ * the Flux docs.
42
+ *
43
+ * @example
44
+ * ```typescript
45
+ * awsLoadBalancerControllerHelmRelease({
46
+ * name: 'aws-load-balancer-controller',
47
+ * values: mapAwsLoadBalancerControllerConfigToHelmValues({
48
+ * name: 'aws-load-balancer-controller',
49
+ * clusterName: 'prod',
50
+ * }),
51
+ * });
52
+ * ```
53
+ */
54
+ export function awsLoadBalancerControllerHelmRelease(config) {
55
+ const namespace = config.namespace ?? DEFAULT_FLUX_NAMESPACE;
56
+ return createResource({
57
+ ...(config.id ? { id: config.id } : {}),
58
+ apiVersion: 'helm.toolkit.fluxcd.io/v2',
59
+ kind: 'HelmRelease',
60
+ metadata: { name: config.name, namespace },
61
+ spec: {
62
+ interval: config.interval ?? '10m',
63
+ chart: {
64
+ spec: {
65
+ chart: AWS_LBC_CHART_NAME,
66
+ version: config.version ?? DEFAULT_AWS_LBC_CHART_VERSION,
67
+ sourceRef: {
68
+ kind: 'HelmRepository',
69
+ name: config.repositoryName ?? DEFAULT_AWS_LBC_REPOSITORY_NAME,
70
+ namespace: config.repositoryNamespace ?? namespace,
71
+ },
72
+ },
73
+ },
74
+ targetNamespace: config.targetNamespace ?? DEFAULT_AWS_LBC_NAMESPACE,
75
+ // Without it Flux names the release `<targetNamespace>-<name>`, which
76
+ // moves whenever the install namespace does and renames the chart's
77
+ // objects with it.
78
+ releaseName: config.name,
79
+ ...helmReleaseLifecycle(config, {
80
+ install: {
81
+ timeout: '10m',
82
+ remediation: { retries: 3 },
83
+ createNamespace: true,
84
+ crds: DEFAULT_AWS_LBC_CRDS_POLICY,
85
+ },
86
+ upgrade: {
87
+ timeout: '10m',
88
+ remediation: { retries: 3, remediateLastFailure: true, strategy: 'rollback' },
89
+ crds: DEFAULT_AWS_LBC_CRDS_POLICY,
90
+ },
91
+ }),
92
+ ...(config.values ? { values: config.values } : {}),
93
+ },
94
+ }).withReadinessEvaluator(awsLoadBalancerControllerHelmReleaseReadinessEvaluator);
95
+ }
96
+ //# sourceMappingURL=helm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helm.js","sourceRoot":"","sources":["../../../../src/factories/aws-load-balancer-controller/resources/helm.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { ingressClassParams, targetGroupBinding, targetGroupBindingReadinessEvaluator, } from './elbv2.js';
2
+ export { awsLoadBalancerControllerHelmRelease, awsLoadBalancerControllerHelmReleaseReadinessEvaluator, awsLoadBalancerControllerHelmRepository, } from './helm.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/factories/aws-load-balancer-controller/resources/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,oCAAoC,GACrC,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,oCAAoC,EACpC,sDAAsD,EACtD,uCAAuC,GACxC,MAAM,WAAW,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { ingressClassParams, targetGroupBinding, targetGroupBindingReadinessEvaluator, } from './elbv2.js';
2
+ export { awsLoadBalancerControllerHelmRelease, awsLoadBalancerControllerHelmReleaseReadinessEvaluator, awsLoadBalancerControllerHelmRepository, } from './helm.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/factories/aws-load-balancer-controller/resources/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,oCAAoC,GACrC,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,oCAAoC,EACpC,sDAAsD,EACtD,uCAAuC,GACxC,MAAM,WAAW,CAAC"}