typekro 0.3.0 → 0.4.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 (443) hide show
  1. package/README.md +142 -1054
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/alchemy/deployers.d.ts +0 -5
  4. package/dist/alchemy/deployers.d.ts.map +1 -1
  5. package/dist/alchemy/deployers.js +25 -72
  6. package/dist/alchemy/deployers.js.map +1 -1
  7. package/dist/core/composition/imperative.d.ts +2 -2
  8. package/dist/core/composition/imperative.d.ts.map +1 -1
  9. package/dist/core/composition/imperative.js +394 -10
  10. package/dist/core/composition/imperative.js.map +1 -1
  11. package/dist/core/composition/typekro-runtime/typekro-runtime.d.ts +1 -9
  12. package/dist/core/composition/typekro-runtime/typekro-runtime.d.ts.map +1 -1
  13. package/dist/core/composition/typekro-runtime/typekro-runtime.js +76 -10
  14. package/dist/core/composition/typekro-runtime/typekro-runtime.js.map +1 -1
  15. package/dist/core/composition/typekro-runtime/types.d.ts +8 -5
  16. package/dist/core/composition/typekro-runtime/types.d.ts.map +1 -1
  17. package/dist/core/composition/typekro-runtime/types.js.map +1 -1
  18. package/dist/core/constants/brands.d.ts +20 -0
  19. package/dist/core/constants/brands.d.ts.map +1 -1
  20. package/dist/core/constants/brands.js +20 -0
  21. package/dist/core/constants/brands.js.map +1 -1
  22. package/dist/core/deployment/direct-factory.d.ts +36 -1
  23. package/dist/core/deployment/direct-factory.d.ts.map +1 -1
  24. package/dist/core/deployment/direct-factory.js +289 -4
  25. package/dist/core/deployment/direct-factory.js.map +1 -1
  26. package/dist/core/deployment/engine.d.ts +57 -2
  27. package/dist/core/deployment/engine.d.ts.map +1 -1
  28. package/dist/core/deployment/engine.js +677 -49
  29. package/dist/core/deployment/engine.js.map +1 -1
  30. package/dist/core/deployment/event-filter.d.ts.map +1 -1
  31. package/dist/core/deployment/event-filter.js +6 -7
  32. package/dist/core/deployment/event-filter.js.map +1 -1
  33. package/dist/core/deployment/event-monitor.d.ts +36 -2
  34. package/dist/core/deployment/event-monitor.d.ts.map +1 -1
  35. package/dist/core/deployment/event-monitor.js +183 -33
  36. package/dist/core/deployment/event-monitor.js.map +1 -1
  37. package/dist/core/deployment/kro-factory.d.ts +22 -0
  38. package/dist/core/deployment/kro-factory.d.ts.map +1 -1
  39. package/dist/core/deployment/kro-factory.js +291 -27
  40. package/dist/core/deployment/kro-factory.js.map +1 -1
  41. package/dist/core/deployment/readiness.d.ts.map +1 -1
  42. package/dist/core/deployment/readiness.js +4 -2
  43. package/dist/core/deployment/readiness.js.map +1 -1
  44. package/dist/core/deployment/rollback-manager.d.ts +2 -1
  45. package/dist/core/deployment/rollback-manager.d.ts.map +1 -1
  46. package/dist/core/deployment/rollback-manager.js +5 -2
  47. package/dist/core/deployment/rollback-manager.js.map +1 -1
  48. package/dist/core/deployment/shared-utilities.js.map +1 -1
  49. package/dist/core/deployment/status-hydrator.d.ts +1 -1
  50. package/dist/core/deployment/status-hydrator.d.ts.map +1 -1
  51. package/dist/core/deployment/status-hydrator.js +8 -5
  52. package/dist/core/deployment/status-hydrator.js.map +1 -1
  53. package/dist/core/deployment/strategies/base-strategy.d.ts.map +1 -1
  54. package/dist/core/deployment/strategies/base-strategy.js +60 -21
  55. package/dist/core/deployment/strategies/base-strategy.js.map +1 -1
  56. package/dist/core/deployment/strategies/direct-strategy.d.ts +7 -0
  57. package/dist/core/deployment/strategies/direct-strategy.d.ts.map +1 -1
  58. package/dist/core/deployment/strategies/direct-strategy.js +50 -0
  59. package/dist/core/deployment/strategies/direct-strategy.js.map +1 -1
  60. package/dist/core/deployment/strategies/kro-strategy.d.ts +5 -0
  61. package/dist/core/deployment/strategies/kro-strategy.d.ts.map +1 -1
  62. package/dist/core/deployment/strategies/kro-strategy.js +53 -4
  63. package/dist/core/deployment/strategies/kro-strategy.js.map +1 -1
  64. package/dist/core/evaluation/cel-optimizer.d.ts.map +1 -1
  65. package/dist/core/evaluation/cel-optimizer.js +7 -13
  66. package/dist/core/evaluation/cel-optimizer.js.map +1 -1
  67. package/dist/core/expressions/analyzer.d.ts +6 -6
  68. package/dist/core/expressions/analyzer.d.ts.map +1 -1
  69. package/dist/core/expressions/analyzer.js +40 -75
  70. package/dist/core/expressions/analyzer.js.map +1 -1
  71. package/dist/core/expressions/cel-conversion-engine.d.ts.map +1 -1
  72. package/dist/core/expressions/cel-conversion-engine.js +10 -11
  73. package/dist/core/expressions/cel-conversion-engine.js.map +1 -1
  74. package/dist/core/expressions/composition-integration.d.ts +2 -2
  75. package/dist/core/expressions/composition-integration.d.ts.map +1 -1
  76. package/dist/core/expressions/composition-integration.js +20 -12
  77. package/dist/core/expressions/composition-integration.js.map +1 -1
  78. package/dist/core/expressions/field-hydration-processor.d.ts +4 -1
  79. package/dist/core/expressions/field-hydration-processor.d.ts.map +1 -1
  80. package/dist/core/expressions/field-hydration-processor.js +12 -13
  81. package/dist/core/expressions/field-hydration-processor.js.map +1 -1
  82. package/dist/core/expressions/imperative-analyzer.d.ts.map +1 -1
  83. package/dist/core/expressions/imperative-analyzer.js +193 -49
  84. package/dist/core/expressions/imperative-analyzer.js.map +1 -1
  85. package/dist/core/expressions/index.d.ts +2 -0
  86. package/dist/core/expressions/index.d.ts.map +1 -1
  87. package/dist/core/expressions/index.js +2 -0
  88. package/dist/core/expressions/index.js.map +1 -1
  89. package/dist/core/expressions/magic-proxy-analyzer.d.ts +1 -1
  90. package/dist/core/expressions/magic-proxy-analyzer.d.ts.map +1 -1
  91. package/dist/core/expressions/magic-proxy-analyzer.js +8 -7
  92. package/dist/core/expressions/magic-proxy-analyzer.js.map +1 -1
  93. package/dist/core/expressions/parser.d.ts +163 -0
  94. package/dist/core/expressions/parser.d.ts.map +1 -0
  95. package/dist/core/expressions/parser.js +272 -0
  96. package/dist/core/expressions/parser.js.map +1 -0
  97. package/dist/core/expressions/status-builder-analyzer.d.ts.map +1 -1
  98. package/dist/core/expressions/status-builder-analyzer.js +15 -5
  99. package/dist/core/expressions/status-builder-analyzer.js.map +1 -1
  100. package/dist/core/kubernetes/api.d.ts.map +1 -1
  101. package/dist/core/kubernetes/api.js +5 -6
  102. package/dist/core/kubernetes/api.js.map +1 -1
  103. package/dist/core/kubernetes/bun-api-client.d.ts +95 -0
  104. package/dist/core/kubernetes/bun-api-client.d.ts.map +1 -0
  105. package/dist/core/kubernetes/bun-api-client.js +160 -0
  106. package/dist/core/kubernetes/bun-api-client.js.map +1 -0
  107. package/dist/core/kubernetes/bun-http-library.d.ts +38 -0
  108. package/dist/core/kubernetes/bun-http-library.d.ts.map +1 -0
  109. package/dist/core/kubernetes/bun-http-library.js +133 -0
  110. package/dist/core/kubernetes/bun-http-library.js.map +1 -0
  111. package/dist/core/kubernetes/client-provider.d.ts +3 -0
  112. package/dist/core/kubernetes/client-provider.d.ts.map +1 -1
  113. package/dist/core/kubernetes/client-provider.js +32 -23
  114. package/dist/core/kubernetes/client-provider.js.map +1 -1
  115. package/dist/core/kubernetes/errors.d.ts +189 -0
  116. package/dist/core/kubernetes/errors.d.ts.map +1 -0
  117. package/dist/core/kubernetes/errors.js +298 -0
  118. package/dist/core/kubernetes/errors.js.map +1 -0
  119. package/dist/core/kubernetes/index.d.ts +19 -0
  120. package/dist/core/kubernetes/index.d.ts.map +1 -0
  121. package/dist/core/kubernetes/index.js +23 -0
  122. package/dist/core/kubernetes/index.js.map +1 -0
  123. package/dist/core/kubernetes/type-guards.d.ts +142 -0
  124. package/dist/core/kubernetes/type-guards.d.ts.map +1 -0
  125. package/dist/core/kubernetes/type-guards.js +151 -0
  126. package/dist/core/kubernetes/type-guards.js.map +1 -0
  127. package/dist/core/logging/logger.d.ts.map +1 -1
  128. package/dist/core/logging/logger.js +8 -0
  129. package/dist/core/logging/logger.js.map +1 -1
  130. package/dist/core/readiness/cluster-state.d.ts.map +1 -1
  131. package/dist/core/readiness/cluster-state.js +6 -4
  132. package/dist/core/readiness/cluster-state.js.map +1 -1
  133. package/dist/core/references/cel-evaluator.d.ts.map +1 -1
  134. package/dist/core/references/cel-evaluator.js +12 -2
  135. package/dist/core/references/cel-evaluator.js.map +1 -1
  136. package/dist/core/references/cel.d.ts +13 -1
  137. package/dist/core/references/cel.d.ts.map +1 -1
  138. package/dist/core/references/cel.js +50 -0
  139. package/dist/core/references/cel.js.map +1 -1
  140. package/dist/core/references/resolver.d.ts +28 -1
  141. package/dist/core/references/resolver.d.ts.map +1 -1
  142. package/dist/core/references/resolver.js +325 -11
  143. package/dist/core/references/resolver.js.map +1 -1
  144. package/dist/core/references/schema-proxy.d.ts.map +1 -1
  145. package/dist/core/references/schema-proxy.js +27 -13
  146. package/dist/core/references/schema-proxy.js.map +1 -1
  147. package/dist/core/scope/resolver.d.ts +16 -0
  148. package/dist/core/scope/resolver.d.ts.map +1 -0
  149. package/dist/core/scope/resolver.js +45 -0
  150. package/dist/core/scope/resolver.js.map +1 -0
  151. package/dist/core/serialization/core.d.ts +1 -1
  152. package/dist/core/serialization/core.d.ts.map +1 -1
  153. package/dist/core/serialization/core.js +78 -54
  154. package/dist/core/serialization/core.js.map +1 -1
  155. package/dist/core/types/common.d.ts +23 -1
  156. package/dist/core/types/common.d.ts.map +1 -1
  157. package/dist/core/types/deployment.d.ts +71 -1
  158. package/dist/core/types/deployment.d.ts.map +1 -1
  159. package/dist/core/types/deployment.js +24 -0
  160. package/dist/core/types/deployment.js.map +1 -1
  161. package/dist/core/types/factory-scope.d.ts +42 -0
  162. package/dist/core/types/factory-scope.d.ts.map +1 -0
  163. package/dist/core/types/factory-scope.js +14 -0
  164. package/dist/core/types/factory-scope.js.map +1 -0
  165. package/dist/core/types/kubernetes.d.ts +146 -4
  166. package/dist/core/types/kubernetes.d.ts.map +1 -1
  167. package/dist/core/types/references.d.ts +47 -3
  168. package/dist/core/types/references.d.ts.map +1 -1
  169. package/dist/core/types/references.js.map +1 -1
  170. package/dist/core/types/serialization.d.ts +17 -6
  171. package/dist/core/types/serialization.d.ts.map +1 -1
  172. package/dist/core/utils/crd-patcher.d.ts +30 -0
  173. package/dist/core/utils/crd-patcher.d.ts.map +1 -0
  174. package/dist/core/utils/crd-patcher.js +198 -0
  175. package/dist/core/utils/crd-patcher.js.map +1 -0
  176. package/dist/core/utils/crd-schema-fix.d.ts +108 -0
  177. package/dist/core/utils/crd-schema-fix.d.ts.map +1 -0
  178. package/dist/core/utils/crd-schema-fix.js +245 -0
  179. package/dist/core/utils/crd-schema-fix.js.map +1 -0
  180. package/dist/core/utils/index.d.ts +12 -0
  181. package/dist/core/utils/index.d.ts.map +1 -0
  182. package/dist/core/utils/index.js +12 -0
  183. package/dist/core/utils/index.js.map +1 -0
  184. package/dist/core/utils/minimal-connection-reset-suppression.d.ts +16 -0
  185. package/dist/core/utils/minimal-connection-reset-suppression.d.ts.map +1 -0
  186. package/dist/core/utils/minimal-connection-reset-suppression.js +72 -0
  187. package/dist/core/utils/minimal-connection-reset-suppression.js.map +1 -0
  188. package/dist/core/utils/output-filter.d.ts +16 -0
  189. package/dist/core/utils/output-filter.d.ts.map +1 -0
  190. package/dist/core/utils/output-filter.js +90 -0
  191. package/dist/core/utils/output-filter.js.map +1 -0
  192. package/dist/core/utils/scoped-error-suppression.d.ts +25 -0
  193. package/dist/core/utils/scoped-error-suppression.d.ts.map +1 -0
  194. package/dist/core/utils/scoped-error-suppression.js +226 -0
  195. package/dist/core/utils/scoped-error-suppression.js.map +1 -0
  196. package/dist/core/validation/cel-validator.d.ts.map +1 -1
  197. package/dist/core/validation/cel-validator.js +51 -15
  198. package/dist/core/validation/cel-validator.js.map +1 -1
  199. package/dist/factories/apisix/compositions/apisix-bootstrap.d.ts +38 -0
  200. package/dist/factories/apisix/compositions/apisix-bootstrap.d.ts.map +1 -0
  201. package/dist/factories/apisix/compositions/apisix-bootstrap.js +280 -0
  202. package/dist/factories/apisix/compositions/apisix-bootstrap.js.map +1 -0
  203. package/dist/factories/apisix/compositions/index.d.ts +5 -0
  204. package/dist/factories/apisix/compositions/index.d.ts.map +1 -0
  205. package/dist/factories/apisix/compositions/index.js +5 -0
  206. package/dist/factories/apisix/compositions/index.js.map +1 -0
  207. package/dist/factories/apisix/index.d.ts +11 -0
  208. package/dist/factories/apisix/index.d.ts.map +1 -0
  209. package/dist/factories/apisix/index.js +11 -0
  210. package/dist/factories/apisix/index.js.map +1 -0
  211. package/dist/factories/apisix/resources/helm.d.ts +59 -0
  212. package/dist/factories/apisix/resources/helm.d.ts.map +1 -0
  213. package/dist/factories/apisix/resources/helm.js +175 -0
  214. package/dist/factories/apisix/resources/helm.js.map +1 -0
  215. package/dist/factories/apisix/resources/index.d.ts +5 -0
  216. package/dist/factories/apisix/resources/index.d.ts.map +1 -0
  217. package/dist/factories/apisix/resources/index.js +5 -0
  218. package/dist/factories/apisix/resources/index.js.map +1 -0
  219. package/dist/factories/apisix/types.d.ts +339 -0
  220. package/dist/factories/apisix/types.d.ts.map +1 -0
  221. package/dist/factories/apisix/types.js +88 -0
  222. package/dist/factories/apisix/types.js.map +1 -0
  223. package/dist/factories/apisix/utils/helm-values-mapper.d.ts +19 -0
  224. package/dist/factories/apisix/utils/helm-values-mapper.d.ts.map +1 -0
  225. package/dist/factories/apisix/utils/helm-values-mapper.js +108 -0
  226. package/dist/factories/apisix/utils/helm-values-mapper.js.map +1 -0
  227. package/dist/factories/apisix/utils/index.d.ts +5 -0
  228. package/dist/factories/apisix/utils/index.d.ts.map +1 -0
  229. package/dist/factories/apisix/utils/index.js +5 -0
  230. package/dist/factories/apisix/utils/index.js.map +1 -0
  231. package/dist/factories/cert-manager/compositions/cert-manager-bootstrap.d.ts +45 -0
  232. package/dist/factories/cert-manager/compositions/cert-manager-bootstrap.d.ts.map +1 -0
  233. package/dist/factories/cert-manager/compositions/cert-manager-bootstrap.js +323 -0
  234. package/dist/factories/cert-manager/compositions/cert-manager-bootstrap.js.map +1 -0
  235. package/dist/factories/cert-manager/compositions/index.d.ts +2 -0
  236. package/dist/factories/cert-manager/compositions/index.d.ts.map +1 -0
  237. package/dist/factories/cert-manager/compositions/index.js +2 -0
  238. package/dist/factories/cert-manager/compositions/index.js.map +1 -0
  239. package/dist/factories/cert-manager/index.d.ts +10 -0
  240. package/dist/factories/cert-manager/index.d.ts.map +1 -0
  241. package/dist/factories/cert-manager/index.js +19 -0
  242. package/dist/factories/cert-manager/index.js.map +1 -0
  243. package/dist/factories/cert-manager/resources/certificates.d.ts +39 -0
  244. package/dist/factories/cert-manager/resources/certificates.d.ts.map +1 -0
  245. package/dist/factories/cert-manager/resources/certificates.js +132 -0
  246. package/dist/factories/cert-manager/resources/certificates.js.map +1 -0
  247. package/dist/factories/cert-manager/resources/challenges.d.ts +113 -0
  248. package/dist/factories/cert-manager/resources/challenges.d.ts.map +1 -0
  249. package/dist/factories/cert-manager/resources/challenges.js +281 -0
  250. package/dist/factories/cert-manager/resources/challenges.js.map +1 -0
  251. package/dist/factories/cert-manager/resources/helm.d.ts +57 -0
  252. package/dist/factories/cert-manager/resources/helm.d.ts.map +1 -0
  253. package/dist/factories/cert-manager/resources/helm.js +390 -0
  254. package/dist/factories/cert-manager/resources/helm.js.map +1 -0
  255. package/dist/factories/cert-manager/resources/index.d.ts +5 -0
  256. package/dist/factories/cert-manager/resources/index.d.ts.map +1 -0
  257. package/dist/factories/cert-manager/resources/index.js +6 -0
  258. package/dist/factories/cert-manager/resources/index.js.map +1 -0
  259. package/dist/factories/cert-manager/resources/issuers.d.ts +79 -0
  260. package/dist/factories/cert-manager/resources/issuers.d.ts.map +1 -0
  261. package/dist/factories/cert-manager/resources/issuers.js +204 -0
  262. package/dist/factories/cert-manager/resources/issuers.js.map +1 -0
  263. package/dist/factories/cert-manager/types.d.ts +1015 -0
  264. package/dist/factories/cert-manager/types.d.ts.map +1 -0
  265. package/dist/factories/cert-manager/types.js +198 -0
  266. package/dist/factories/cert-manager/types.js.map +1 -0
  267. package/dist/factories/cert-manager/utils/helm-values-mapper.d.ts +19 -0
  268. package/dist/factories/cert-manager/utils/helm-values-mapper.d.ts.map +1 -0
  269. package/dist/factories/cert-manager/utils/helm-values-mapper.js +117 -0
  270. package/dist/factories/cert-manager/utils/helm-values-mapper.js.map +1 -0
  271. package/dist/factories/cert-manager/utils/index.d.ts +2 -0
  272. package/dist/factories/cert-manager/utils/index.d.ts.map +1 -0
  273. package/dist/factories/cert-manager/utils/index.js +2 -0
  274. package/dist/factories/cert-manager/utils/index.js.map +1 -0
  275. package/dist/factories/cilium/compositions/cilium-bootstrap.d.ts +220 -0
  276. package/dist/factories/cilium/compositions/cilium-bootstrap.d.ts.map +1 -0
  277. package/dist/factories/cilium/compositions/cilium-bootstrap.js +293 -0
  278. package/dist/factories/cilium/compositions/cilium-bootstrap.js.map +1 -0
  279. package/dist/factories/cilium/compositions/index.d.ts +8 -0
  280. package/dist/factories/cilium/compositions/index.d.ts.map +1 -0
  281. package/dist/factories/cilium/compositions/index.js +11 -0
  282. package/dist/factories/cilium/compositions/index.js.map +1 -0
  283. package/dist/factories/cilium/index.d.ts +10 -0
  284. package/dist/factories/cilium/index.d.ts.map +1 -0
  285. package/dist/factories/cilium/index.js +19 -0
  286. package/dist/factories/cilium/index.js.map +1 -0
  287. package/dist/factories/cilium/resources/bgp.d.ts +10 -0
  288. package/dist/factories/cilium/resources/bgp.d.ts.map +1 -0
  289. package/dist/factories/cilium/resources/bgp.js +14 -0
  290. package/dist/factories/cilium/resources/bgp.js.map +1 -0
  291. package/dist/factories/cilium/resources/gateway.d.ts +72 -0
  292. package/dist/factories/cilium/resources/gateway.d.ts.map +1 -0
  293. package/dist/factories/cilium/resources/gateway.js +118 -0
  294. package/dist/factories/cilium/resources/gateway.js.map +1 -0
  295. package/dist/factories/cilium/resources/helm.d.ts +93 -0
  296. package/dist/factories/cilium/resources/helm.d.ts.map +1 -0
  297. package/dist/factories/cilium/resources/helm.js +377 -0
  298. package/dist/factories/cilium/resources/helm.js.map +1 -0
  299. package/dist/factories/cilium/resources/index.d.ts +14 -0
  300. package/dist/factories/cilium/resources/index.d.ts.map +1 -0
  301. package/dist/factories/cilium/resources/index.js +35 -0
  302. package/dist/factories/cilium/resources/index.js.map +1 -0
  303. package/dist/factories/cilium/resources/load-balancer.d.ts +9 -0
  304. package/dist/factories/cilium/resources/load-balancer.d.ts.map +1 -0
  305. package/dist/factories/cilium/resources/load-balancer.js +12 -0
  306. package/dist/factories/cilium/resources/load-balancer.js.map +1 -0
  307. package/dist/factories/cilium/resources/networking.d.ts +202 -0
  308. package/dist/factories/cilium/resources/networking.d.ts.map +1 -0
  309. package/dist/factories/cilium/resources/networking.js +581 -0
  310. package/dist/factories/cilium/resources/networking.js.map +1 -0
  311. package/dist/factories/cilium/resources/observability.d.ts +9 -0
  312. package/dist/factories/cilium/resources/observability.d.ts.map +1 -0
  313. package/dist/factories/cilium/resources/observability.js +11 -0
  314. package/dist/factories/cilium/resources/observability.js.map +1 -0
  315. package/dist/factories/cilium/resources/security.d.ts +10 -0
  316. package/dist/factories/cilium/resources/security.d.ts.map +1 -0
  317. package/dist/factories/cilium/resources/security.js +14 -0
  318. package/dist/factories/cilium/resources/security.js.map +1 -0
  319. package/dist/factories/cilium/types.d.ts +1001 -0
  320. package/dist/factories/cilium/types.d.ts.map +1 -0
  321. package/dist/factories/cilium/types.js +79 -0
  322. package/dist/factories/cilium/types.js.map +1 -0
  323. package/dist/factories/external-dns/compositions/external-dns-bootstrap.d.ts +32 -0
  324. package/dist/factories/external-dns/compositions/external-dns-bootstrap.d.ts.map +1 -0
  325. package/dist/factories/external-dns/compositions/external-dns-bootstrap.js +152 -0
  326. package/dist/factories/external-dns/compositions/external-dns-bootstrap.js.map +1 -0
  327. package/dist/factories/external-dns/compositions/index.d.ts +2 -0
  328. package/dist/factories/external-dns/compositions/index.d.ts.map +1 -0
  329. package/dist/factories/external-dns/compositions/index.js +3 -0
  330. package/dist/factories/external-dns/compositions/index.js.map +1 -0
  331. package/dist/factories/external-dns/index.d.ts +10 -0
  332. package/dist/factories/external-dns/index.d.ts.map +1 -0
  333. package/dist/factories/external-dns/index.js +19 -0
  334. package/dist/factories/external-dns/index.js.map +1 -0
  335. package/dist/factories/external-dns/resources/dns-endpoint.d.ts +54 -0
  336. package/dist/factories/external-dns/resources/dns-endpoint.d.ts.map +1 -0
  337. package/dist/factories/external-dns/resources/dns-endpoint.js +53 -0
  338. package/dist/factories/external-dns/resources/dns-endpoint.js.map +1 -0
  339. package/dist/factories/external-dns/resources/helm.d.ts +57 -0
  340. package/dist/factories/external-dns/resources/helm.d.ts.map +1 -0
  341. package/dist/factories/external-dns/resources/helm.js +435 -0
  342. package/dist/factories/external-dns/resources/helm.js.map +1 -0
  343. package/dist/factories/external-dns/resources/index.d.ts +3 -0
  344. package/dist/factories/external-dns/resources/index.d.ts.map +1 -0
  345. package/dist/factories/external-dns/resources/index.js +4 -0
  346. package/dist/factories/external-dns/resources/index.js.map +1 -0
  347. package/dist/factories/external-dns/types.d.ts +180 -0
  348. package/dist/factories/external-dns/types.d.ts.map +1 -0
  349. package/dist/factories/external-dns/types.js +39 -0
  350. package/dist/factories/external-dns/types.js.map +1 -0
  351. package/dist/factories/flux/git-repository.d.ts +2 -2
  352. package/dist/factories/flux/git-repository.d.ts.map +1 -1
  353. package/dist/factories/helm/types.d.ts +24 -3
  354. package/dist/factories/helm/types.d.ts.map +1 -1
  355. package/dist/factories/index.d.ts +7 -1
  356. package/dist/factories/index.d.ts.map +1 -1
  357. package/dist/factories/index.js +21 -1
  358. package/dist/factories/index.js.map +1 -1
  359. package/dist/factories/kubernetes/config/config-map.d.ts +4 -1
  360. package/dist/factories/kubernetes/config/config-map.d.ts.map +1 -1
  361. package/dist/factories/kubernetes/config/config-map.js +4 -0
  362. package/dist/factories/kubernetes/config/config-map.js.map +1 -1
  363. package/dist/factories/kubernetes/config/secret.d.ts +6 -1
  364. package/dist/factories/kubernetes/config/secret.d.ts.map +1 -1
  365. package/dist/factories/kubernetes/config/secret.js +4 -0
  366. package/dist/factories/kubernetes/config/secret.js.map +1 -1
  367. package/dist/factories/kubernetes/networking/service.d.ts.map +1 -1
  368. package/dist/factories/kubernetes/networking/service.js +6 -1
  369. package/dist/factories/kubernetes/networking/service.js.map +1 -1
  370. package/dist/factories/kubernetes/rbac/cluster-role-binding.d.ts.map +1 -1
  371. package/dist/factories/kubernetes/rbac/cluster-role-binding.js +1 -1
  372. package/dist/factories/kubernetes/rbac/cluster-role-binding.js.map +1 -1
  373. package/dist/factories/kubernetes/rbac/cluster-role.d.ts.map +1 -1
  374. package/dist/factories/kubernetes/rbac/cluster-role.js +1 -1
  375. package/dist/factories/kubernetes/rbac/cluster-role.js.map +1 -1
  376. package/dist/factories/kubernetes/scheduling/priority-class.d.ts.map +1 -1
  377. package/dist/factories/kubernetes/scheduling/priority-class.js +1 -1
  378. package/dist/factories/kubernetes/scheduling/priority-class.js.map +1 -1
  379. package/dist/factories/kubernetes/storage/storage-class.d.ts.map +1 -1
  380. package/dist/factories/kubernetes/storage/storage-class.js +1 -1
  381. package/dist/factories/kubernetes/storage/storage-class.js.map +1 -1
  382. package/dist/factories/kubernetes/workloads/deployment.d.ts.map +1 -1
  383. package/dist/factories/kubernetes/workloads/deployment.js +9 -4
  384. package/dist/factories/kubernetes/workloads/deployment.js.map +1 -1
  385. package/dist/factories/kubernetes/yaml/yaml-directory.js +2 -2
  386. package/dist/factories/kubernetes/yaml/yaml-directory.js.map +1 -1
  387. package/dist/factories/kubernetes/yaml/yaml-file.d.ts +31 -1
  388. package/dist/factories/kubernetes/yaml/yaml-file.d.ts.map +1 -1
  389. package/dist/factories/kubernetes/yaml/yaml-file.js +80 -7
  390. package/dist/factories/kubernetes/yaml/yaml-file.js.map +1 -1
  391. package/dist/factories/pebble/compositions/index.d.ts +2 -0
  392. package/dist/factories/pebble/compositions/index.d.ts.map +1 -0
  393. package/dist/factories/pebble/compositions/index.js +3 -0
  394. package/dist/factories/pebble/compositions/index.js.map +1 -0
  395. package/dist/factories/pebble/compositions/pebble-bootstrap.d.ts +56 -0
  396. package/dist/factories/pebble/compositions/pebble-bootstrap.d.ts.map +1 -0
  397. package/dist/factories/pebble/compositions/pebble-bootstrap.js +97 -0
  398. package/dist/factories/pebble/compositions/pebble-bootstrap.js.map +1 -0
  399. package/dist/factories/pebble/index.d.ts +10 -0
  400. package/dist/factories/pebble/index.d.ts.map +1 -0
  401. package/dist/factories/pebble/index.js +19 -0
  402. package/dist/factories/pebble/index.js.map +1 -0
  403. package/dist/factories/pebble/resources/helm.d.ts +99 -0
  404. package/dist/factories/pebble/resources/helm.d.ts.map +1 -0
  405. package/dist/factories/pebble/resources/helm.js +167 -0
  406. package/dist/factories/pebble/resources/helm.js.map +1 -0
  407. package/dist/factories/pebble/resources/index.d.ts +2 -0
  408. package/dist/factories/pebble/resources/index.d.ts.map +1 -0
  409. package/dist/factories/pebble/resources/index.js +3 -0
  410. package/dist/factories/pebble/resources/index.js.map +1 -0
  411. package/dist/factories/pebble/types.d.ts +184 -0
  412. package/dist/factories/pebble/types.d.ts.map +1 -0
  413. package/dist/factories/pebble/types.js +23 -0
  414. package/dist/factories/pebble/types.js.map +1 -0
  415. package/dist/factories/pebble/utils/helm-values-mapper.d.ts +21 -0
  416. package/dist/factories/pebble/utils/helm-values-mapper.d.ts.map +1 -0
  417. package/dist/factories/pebble/utils/helm-values-mapper.js +96 -0
  418. package/dist/factories/pebble/utils/helm-values-mapper.js.map +1 -0
  419. package/dist/factories/shared.d.ts +18 -1
  420. package/dist/factories/shared.d.ts.map +1 -1
  421. package/dist/factories/shared.js +89 -8
  422. package/dist/factories/shared.js.map +1 -1
  423. package/dist/factories/simple/config/config-map.d.ts +7 -2
  424. package/dist/factories/simple/config/config-map.d.ts.map +1 -1
  425. package/dist/factories/simple/config/config-map.js +3 -0
  426. package/dist/factories/simple/config/config-map.js.map +1 -1
  427. package/dist/factories/simple/config/secret.d.ts +11 -2
  428. package/dist/factories/simple/config/secret.d.ts.map +1 -1
  429. package/dist/factories/simple/config/secret.js +23 -1
  430. package/dist/factories/simple/config/secret.js.map +1 -1
  431. package/dist/factories/simple/storage/persistent-volume-claim.d.ts.map +1 -1
  432. package/dist/factories/simple/storage/persistent-volume-claim.js +1 -0
  433. package/dist/factories/simple/storage/persistent-volume-claim.js.map +1 -1
  434. package/dist/factories/simple/types.d.ts +5 -1
  435. package/dist/factories/simple/types.d.ts.map +1 -1
  436. package/dist/utils/helpers.d.ts.map +1 -1
  437. package/dist/utils/helpers.js +67 -0
  438. package/dist/utils/helpers.js.map +1 -1
  439. package/dist/utils/type-guards.d.ts +5 -0
  440. package/dist/utils/type-guards.d.ts.map +1 -1
  441. package/dist/utils/type-guards.js +9 -3
  442. package/dist/utils/type-guards.js.map +1 -1
  443. package/package.json +49 -5
@@ -0,0 +1,1001 @@
1
+ /**
2
+ * Cilium Ecosystem Type Definitions
3
+ *
4
+ * This module provides comprehensive type definitions for the Cilium ecosystem,
5
+ * including bootstrap composition configuration, CRD factory interfaces,
6
+ * and common types used across Cilium resources.
7
+ */
8
+ import { TypeKroError } from '../../core/errors.js';
9
+ /**
10
+ * Configuration interface for Cilium bootstrap composition
11
+ */
12
+ export interface CiliumBootstrapConfig {
13
+ name: string;
14
+ namespace?: string;
15
+ version?: string;
16
+ cluster: {
17
+ name: string;
18
+ id: number;
19
+ };
20
+ networking?: {
21
+ ipam?: {
22
+ mode: 'kubernetes' | 'cluster-pool' | 'azure' | 'aws-eni' | 'crd';
23
+ operator?: {
24
+ clusterPoolIPv4PodCIDRList?: string[];
25
+ clusterPoolIPv6PodCIDRList?: string[];
26
+ };
27
+ };
28
+ kubeProxyReplacement?: 'disabled' | 'partial' | 'strict';
29
+ routingMode?: 'tunnel' | 'native';
30
+ tunnelProtocol?: 'vxlan' | 'geneve';
31
+ autoDirectNodeRoutes?: boolean;
32
+ endpointRoutes?: {
33
+ enabled?: boolean;
34
+ };
35
+ hostServices?: {
36
+ enabled?: boolean;
37
+ protocols?: ('tcp' | 'udp')[];
38
+ };
39
+ nodePort?: {
40
+ enabled?: boolean;
41
+ range?: string;
42
+ };
43
+ externalIPs?: {
44
+ enabled?: boolean;
45
+ };
46
+ hostPort?: {
47
+ enabled?: boolean;
48
+ };
49
+ loadBalancer?: {
50
+ algorithm?: 'random' | 'round_robin' | 'maglev';
51
+ mode?: 'snat' | 'dsr' | 'hybrid';
52
+ acceleration?: 'disabled' | 'native' | 'best-effort';
53
+ };
54
+ };
55
+ security?: {
56
+ encryption?: {
57
+ enabled?: boolean;
58
+ type?: 'wireguard' | 'ipsec';
59
+ nodeEncryption?: boolean;
60
+ wireguard?: {
61
+ userspaceFallback?: boolean;
62
+ persistentKeepalive?: number;
63
+ };
64
+ ipsec?: {
65
+ interface?: string;
66
+ mountPath?: string;
67
+ keyFile?: string;
68
+ };
69
+ };
70
+ authentication?: {
71
+ enabled?: boolean;
72
+ mutual?: {
73
+ spire?: {
74
+ enabled?: boolean;
75
+ install?: boolean;
76
+ };
77
+ };
78
+ };
79
+ policyEnforcement?: 'default' | 'always' | 'never';
80
+ policyAuditMode?: boolean;
81
+ };
82
+ bgp?: {
83
+ enabled?: boolean;
84
+ announce?: {
85
+ loadbalancerIP?: boolean;
86
+ podCIDR?: boolean;
87
+ };
88
+ };
89
+ gatewayAPI?: {
90
+ enabled?: boolean;
91
+ secretsNamespace?: {
92
+ create?: boolean;
93
+ name?: string;
94
+ };
95
+ };
96
+ observability?: {
97
+ hubble?: {
98
+ enabled?: boolean;
99
+ metrics?: {
100
+ enabled?: string[];
101
+ enableOpenMetrics?: boolean;
102
+ port?: number;
103
+ };
104
+ relay?: {
105
+ enabled?: boolean;
106
+ replicas?: number;
107
+ };
108
+ ui?: {
109
+ enabled?: boolean;
110
+ replicas?: number;
111
+ ingress?: {
112
+ enabled?: boolean;
113
+ hosts?: string[];
114
+ };
115
+ };
116
+ };
117
+ prometheus?: {
118
+ enabled?: boolean;
119
+ port?: number;
120
+ serviceMonitor?: {
121
+ enabled?: boolean;
122
+ };
123
+ };
124
+ };
125
+ operator?: {
126
+ replicas?: number;
127
+ resources?: ResourceRequirements;
128
+ };
129
+ agent?: {
130
+ resources?: ResourceRequirements;
131
+ };
132
+ advanced?: {
133
+ bpf?: {
134
+ preallocateMaps?: boolean;
135
+ mapDynamicSizeRatio?: number;
136
+ };
137
+ k8s?: {
138
+ requireIPv4PodCIDR?: boolean;
139
+ requireIPv6PodCIDR?: boolean;
140
+ };
141
+ cni?: {
142
+ binPath?: string;
143
+ confPath?: string;
144
+ };
145
+ };
146
+ customValues?: Record<string, any>;
147
+ id?: string;
148
+ }
149
+ /**
150
+ * Status interface for Cilium bootstrap composition
151
+ */
152
+ export interface CiliumBootstrapStatus {
153
+ phase: 'Installing' | 'Ready' | 'Failed' | 'Upgrading';
154
+ ready: boolean;
155
+ version: string;
156
+ agentReady: boolean;
157
+ operatorReady: boolean;
158
+ hubbleReady: boolean;
159
+ encryptionEnabled: boolean;
160
+ bgpEnabled: boolean;
161
+ gatewayAPIEnabled: boolean;
162
+ clusterMeshReady: boolean;
163
+ endpoints: {
164
+ health: string;
165
+ metrics: string;
166
+ hubbleMetrics?: string;
167
+ hubbleUI?: string;
168
+ };
169
+ cni: {
170
+ configPath: string;
171
+ socketPath: string;
172
+ binPath: string;
173
+ };
174
+ networking: {
175
+ ipamMode: string;
176
+ kubeProxyReplacement: string;
177
+ routingMode: string;
178
+ tunnelProtocol?: string;
179
+ };
180
+ security: {
181
+ policyEnforcement: string;
182
+ encryptionStatus: string;
183
+ authenticationEnabled: boolean;
184
+ };
185
+ resources: {
186
+ totalNodes: number;
187
+ readyNodes: number;
188
+ totalEndpoints: number;
189
+ totalIdentities: number;
190
+ };
191
+ }
192
+ /**
193
+ * Simple configuration interface for CiliumNetworkPolicy
194
+ */
195
+ export interface CiliumNetworkPolicyConfig {
196
+ name: string;
197
+ namespace?: string;
198
+ spec: CiliumNetworkPolicySpec;
199
+ id?: string;
200
+ }
201
+ /**
202
+ * Simple configuration interface for CiliumClusterwideNetworkPolicy
203
+ */
204
+ export interface CiliumClusterwideNetworkPolicyConfig {
205
+ name: string;
206
+ spec: CiliumClusterwideNetworkPolicySpec;
207
+ id?: string;
208
+ }
209
+ /**
210
+ * CiliumNetworkPolicy CRD type (following @kubernetes/client-node pattern)
211
+ */
212
+ export interface CiliumNetworkPolicy {
213
+ apiVersion: 'cilium.io/v2';
214
+ kind: 'CiliumNetworkPolicy';
215
+ metadata: {
216
+ name: string;
217
+ namespace?: string;
218
+ labels?: Record<string, string>;
219
+ annotations?: Record<string, string>;
220
+ [key: string]: any;
221
+ };
222
+ spec: CiliumNetworkPolicySpec;
223
+ status?: CiliumNetworkPolicyStatus;
224
+ id?: string;
225
+ }
226
+ /**
227
+ * CiliumClusterwideNetworkPolicy CRD type (following @kubernetes/client-node pattern)
228
+ */
229
+ export interface CiliumClusterwideNetworkPolicy {
230
+ apiVersion: 'cilium.io/v2';
231
+ kind: 'CiliumClusterwideNetworkPolicy';
232
+ metadata: {
233
+ name: string;
234
+ labels?: Record<string, string>;
235
+ annotations?: Record<string, string>;
236
+ [key: string]: any;
237
+ };
238
+ spec: CiliumClusterwideNetworkPolicySpec;
239
+ status?: CiliumClusterwideNetworkPolicyStatus;
240
+ id?: string;
241
+ }
242
+ /**
243
+ * Configuration interface for CiliumBGPClusterConfig
244
+ */
245
+ export interface CiliumBGPClusterConfigConfig {
246
+ name: string;
247
+ spec: {
248
+ nodeSelector?: LabelSelector;
249
+ bgpInstances: BGPInstance[];
250
+ };
251
+ id?: string;
252
+ }
253
+ /**
254
+ * Configuration interface for CiliumBGPPeeringPolicy (Legacy)
255
+ */
256
+ export interface CiliumBGPPeeringPolicyConfig {
257
+ name: string;
258
+ spec: {
259
+ nodeSelector?: LabelSelector;
260
+ virtualRouters: VirtualRouter[];
261
+ };
262
+ id?: string;
263
+ }
264
+ /**
265
+ * Configuration interface for CiliumBGPAdvertisement
266
+ */
267
+ export interface CiliumBGPAdvertisementConfig {
268
+ name: string;
269
+ spec: {
270
+ advertisements: Advertisement[];
271
+ };
272
+ id?: string;
273
+ }
274
+ /**
275
+ * Configuration interface for CiliumLoadBalancerIPPool
276
+ */
277
+ export interface CiliumLoadBalancerIPPoolConfig {
278
+ name: string;
279
+ spec: {
280
+ cidrs: CIDRBlock[];
281
+ serviceSelector?: ServiceSelector;
282
+ disabled?: boolean;
283
+ };
284
+ id?: string;
285
+ }
286
+ /**
287
+ * Configuration interface for CiliumL2AnnouncementPolicy
288
+ */
289
+ export interface CiliumL2AnnouncementPolicyConfig {
290
+ name: string;
291
+ spec: {
292
+ nodeSelector?: LabelSelector;
293
+ serviceSelector?: ServiceSelector;
294
+ loadBalancerIPs?: boolean;
295
+ externalIPs?: boolean;
296
+ interfaces?: string[];
297
+ };
298
+ id?: string;
299
+ }
300
+ /**
301
+ * Configuration interface for CiliumGatewayClassConfig
302
+ */
303
+ export interface CiliumGatewayClassConfigConfig {
304
+ name: string;
305
+ spec: {
306
+ gatewayType?: 'dedicated' | 'shared';
307
+ deployment?: {
308
+ replicas?: number;
309
+ resources?: ResourceRequirements;
310
+ };
311
+ };
312
+ id?: string;
313
+ }
314
+ /**
315
+ * Configuration interface for CiliumEnvoyConfig
316
+ */
317
+ export interface CiliumEnvoyConfigConfig {
318
+ name: string;
319
+ namespace?: string;
320
+ spec: {
321
+ services?: ServiceReference[];
322
+ backendServices?: BackendService[];
323
+ resources: EnvoyResource[];
324
+ };
325
+ id?: string;
326
+ }
327
+ /**
328
+ * Configuration interface for CiliumClusterwideEnvoyConfig
329
+ */
330
+ export interface CiliumClusterwideEnvoyConfigConfig {
331
+ name: string;
332
+ spec: {
333
+ services?: ServiceReference[];
334
+ backendServices?: BackendService[];
335
+ resources: EnvoyResource[];
336
+ };
337
+ id?: string;
338
+ }
339
+ /**
340
+ * Configuration interface for CiliumEgressGatewayPolicy
341
+ */
342
+ export interface CiliumEgressGatewayPolicyConfig {
343
+ name: string;
344
+ spec: {
345
+ selectors: EndpointSelector[];
346
+ destinationCIDRs: string[];
347
+ excludedCIDRs?: string[];
348
+ gatewayConfig: {
349
+ nodeSelector: LabelSelector;
350
+ interface?: string;
351
+ };
352
+ };
353
+ id?: string;
354
+ }
355
+ /**
356
+ * Configuration interface for CiliumLocalRedirectPolicy
357
+ */
358
+ export interface CiliumLocalRedirectPolicyConfig {
359
+ name: string;
360
+ namespace?: string;
361
+ spec: {
362
+ redirectFrontend: LocalRedirectFrontend;
363
+ redirectBackend: LocalRedirectBackend;
364
+ skipRedirectFromBackend?: boolean;
365
+ };
366
+ id?: string;
367
+ }
368
+ /**
369
+ * Configuration interface for CiliumCIDRGroup
370
+ */
371
+ export interface CiliumCIDRGroupConfig {
372
+ name: string;
373
+ spec: {
374
+ cidrs: CIDRBlock[];
375
+ };
376
+ id?: string;
377
+ }
378
+ /**
379
+ * Kubernetes label selector
380
+ */
381
+ export interface LabelSelector {
382
+ matchLabels?: Record<string, string>;
383
+ matchExpressions?: LabelSelectorRequirement[];
384
+ }
385
+ /**
386
+ * Label selector requirement
387
+ */
388
+ export interface LabelSelectorRequirement {
389
+ key: string;
390
+ operator: 'In' | 'NotIn' | 'Exists' | 'DoesNotExist';
391
+ values?: string[];
392
+ }
393
+ /**
394
+ * Kubernetes resource requirements
395
+ */
396
+ export interface ResourceRequirements {
397
+ limits?: {
398
+ cpu?: string;
399
+ memory?: string;
400
+ };
401
+ requests?: {
402
+ cpu?: string;
403
+ memory?: string;
404
+ };
405
+ }
406
+ /**
407
+ * Endpoint selector for Cilium policies
408
+ */
409
+ export interface EndpointSelector {
410
+ matchLabels?: Record<string, string>;
411
+ matchExpressions?: LabelSelectorRequirement[];
412
+ }
413
+ /**
414
+ * Ingress rule for network policies
415
+ */
416
+ export interface IngressRule {
417
+ fromEndpoints?: EndpointSelector[];
418
+ fromCIDR?: string[];
419
+ fromCIDRSet?: CIDRRule[];
420
+ fromEntities?: string[];
421
+ fromGroups?: GroupSelector[];
422
+ toPorts?: PortRule[];
423
+ icmps?: ICMPRule[];
424
+ authentication?: AuthenticationMode;
425
+ }
426
+ /**
427
+ * Egress rule for network policies
428
+ */
429
+ export interface EgressRule {
430
+ toEndpoints?: EndpointSelector[];
431
+ toCIDR?: string[];
432
+ toCIDRSet?: CIDRRule[];
433
+ toEntities?: string[];
434
+ toGroups?: GroupSelector[];
435
+ toFQDNs?: FQDNSelector[];
436
+ toPorts?: PortRule[];
437
+ icmps?: ICMPRule[];
438
+ authentication?: AuthenticationMode;
439
+ }
440
+ /**
441
+ * Port rule for network policies
442
+ */
443
+ export interface PortRule {
444
+ ports?: PortProtocol[];
445
+ rules?: L7Rules;
446
+ }
447
+ /**
448
+ * Port and protocol specification
449
+ */
450
+ export interface PortProtocol {
451
+ port?: string;
452
+ protocol?: 'TCP' | 'UDP' | 'SCTP' | 'ANY';
453
+ }
454
+ /**
455
+ * Layer 7 rules for network policies
456
+ */
457
+ export interface L7Rules {
458
+ http?: HTTPRule[];
459
+ kafka?: KafkaRule[];
460
+ dns?: DNSRule[];
461
+ l7proto?: string;
462
+ l7?: PortRuleL7[];
463
+ }
464
+ /**
465
+ * HTTP rule for L7 policies
466
+ */
467
+ export interface HTTPRule {
468
+ method?: string;
469
+ path?: string;
470
+ host?: string;
471
+ headers?: string[];
472
+ }
473
+ /**
474
+ * Kafka rule for L7 policies
475
+ */
476
+ export interface KafkaRule {
477
+ role?: 'produce' | 'consume';
478
+ topic?: string;
479
+ clientID?: string;
480
+ }
481
+ /**
482
+ * DNS rule for L7 policies
483
+ */
484
+ export interface DNSRule {
485
+ matchName?: string;
486
+ matchPattern?: string;
487
+ }
488
+ /**
489
+ * Generic L7 rule
490
+ */
491
+ export interface PortRuleL7 {
492
+ [key: string]: string;
493
+ }
494
+ /**
495
+ * CIDR rule with optional generated fields
496
+ */
497
+ export interface CIDRRule {
498
+ cidr: string;
499
+ except?: string[];
500
+ generated?: boolean;
501
+ }
502
+ /**
503
+ * Group selector for policies
504
+ */
505
+ export interface GroupSelector {
506
+ [key: string]: string;
507
+ }
508
+ /**
509
+ * FQDN selector for egress policies
510
+ */
511
+ export interface FQDNSelector {
512
+ matchName?: string;
513
+ matchPattern?: string;
514
+ }
515
+ /**
516
+ * ICMP rule for network policies
517
+ */
518
+ export interface ICMPRule {
519
+ fields?: ICMPField[];
520
+ }
521
+ /**
522
+ * ICMP field specification
523
+ */
524
+ export interface ICMPField {
525
+ family?: 'IPv4' | 'IPv6';
526
+ type?: number;
527
+ code?: number;
528
+ }
529
+ /**
530
+ * Authentication mode for policies
531
+ */
532
+ export interface AuthenticationMode {
533
+ mode: 'required' | 'always' | 'never';
534
+ }
535
+ /**
536
+ * BGP instance configuration
537
+ */
538
+ export interface BGPInstance {
539
+ name: string;
540
+ localASN: number;
541
+ routerID?: string;
542
+ peers?: BGPPeer[];
543
+ }
544
+ /**
545
+ * BGP peer configuration
546
+ */
547
+ export interface BGPPeer {
548
+ name: string;
549
+ peerASN: number;
550
+ peerAddress: string;
551
+ peerPort?: number;
552
+ multihop?: number;
553
+ connectRetryTimeSeconds?: number;
554
+ holdTimeSeconds?: number;
555
+ keepAliveTimeSeconds?: number;
556
+ gracefulRestart?: GracefulRestartConfig;
557
+ families?: AddressFamily[];
558
+ }
559
+ /**
560
+ * BGP graceful restart configuration
561
+ */
562
+ export interface GracefulRestartConfig {
563
+ enabled?: boolean;
564
+ restartTimeSeconds?: number;
565
+ staleRoutesTimeSeconds?: number;
566
+ }
567
+ /**
568
+ * BGP address family
569
+ */
570
+ export interface AddressFamily {
571
+ afi: 'ipv4' | 'ipv6';
572
+ safi: 'unicast' | 'multicast';
573
+ advertisements?: {
574
+ matchLabels?: Record<string, string>;
575
+ matchExpressions?: LabelSelectorRequirement[];
576
+ };
577
+ }
578
+ /**
579
+ * Virtual router configuration (legacy BGP)
580
+ */
581
+ export interface VirtualRouter {
582
+ localASN: number;
583
+ exportPodCIDR?: boolean;
584
+ neighbors: BGPNeighbor[];
585
+ serviceSelector?: ServiceSelector;
586
+ podIPPoolSelector?: LabelSelector;
587
+ }
588
+ /**
589
+ * BGP neighbor configuration (legacy)
590
+ */
591
+ export interface BGPNeighbor {
592
+ peerAddress: string;
593
+ peerASN: number;
594
+ peerPort?: number;
595
+ holdTimeSeconds?: number;
596
+ keepAliveTimeSeconds?: number;
597
+ connectRetryTimeSeconds?: number;
598
+ gracefulRestart?: {
599
+ enabled?: boolean;
600
+ restartTimeSeconds?: number;
601
+ };
602
+ families?: {
603
+ ipv4?: {
604
+ advertisements?: {
605
+ matchLabels?: Record<string, string>;
606
+ };
607
+ };
608
+ ipv6?: {
609
+ advertisements?: {
610
+ matchLabels?: Record<string, string>;
611
+ };
612
+ };
613
+ };
614
+ }
615
+ /**
616
+ * BGP advertisement configuration
617
+ */
618
+ export interface Advertisement {
619
+ advertisementType: 'PodCIDR' | 'CiliumPodIPPool' | 'CiliumLoadBalancerIPPool' | 'Service';
620
+ selector?: LabelSelector;
621
+ service?: {
622
+ addresses?: ('ClusterIP' | 'ExternalIP' | 'LoadBalancerIP')[];
623
+ };
624
+ attributes?: {
625
+ localPreference?: number;
626
+ communities?: {
627
+ standard?: string[];
628
+ large?: string[];
629
+ };
630
+ };
631
+ }
632
+ /**
633
+ * CIDR block specification
634
+ */
635
+ export interface CIDRBlock {
636
+ cidr: string;
637
+ }
638
+ /**
639
+ * Service selector for load balancer resources
640
+ */
641
+ export interface ServiceSelector {
642
+ matchLabels?: Record<string, string>;
643
+ matchExpressions?: LabelSelectorRequirement[];
644
+ }
645
+ /**
646
+ * Service reference for Gateway API
647
+ */
648
+ export interface ServiceReference {
649
+ name: string;
650
+ namespace?: string;
651
+ }
652
+ /**
653
+ * Backend service configuration
654
+ */
655
+ export interface BackendService {
656
+ name: string;
657
+ namespace?: string;
658
+ ports?: string[];
659
+ }
660
+ /**
661
+ * Envoy resource configuration
662
+ */
663
+ export interface EnvoyResource {
664
+ '@type': string;
665
+ [key: string]: any;
666
+ }
667
+ /**
668
+ * Local redirect frontend configuration
669
+ */
670
+ export interface LocalRedirectFrontend {
671
+ addressMatcher: {
672
+ ip: string;
673
+ toPorts?: PortMatcher[];
674
+ };
675
+ }
676
+ /**
677
+ * Local redirect backend configuration
678
+ */
679
+ export interface LocalRedirectBackend {
680
+ localEndpointSelector: EndpointSelector;
681
+ toPorts?: PortMatcher[];
682
+ }
683
+ /**
684
+ * Port matcher for local redirect policies
685
+ */
686
+ export interface PortMatcher {
687
+ port: string;
688
+ protocol?: 'TCP' | 'UDP';
689
+ name?: string;
690
+ }
691
+ /**
692
+ * CiliumNetworkPolicy spec interface
693
+ */
694
+ export interface CiliumNetworkPolicySpec {
695
+ endpointSelector?: LabelSelector;
696
+ ingress?: IngressRule[];
697
+ egress?: EgressRule[];
698
+ labels?: LabelSelector[];
699
+ description?: string;
700
+ }
701
+ /**
702
+ * CiliumNetworkPolicy status interface
703
+ */
704
+ export interface CiliumNetworkPolicyStatus {
705
+ conditions?: Condition[];
706
+ state?: string;
707
+ message?: string;
708
+ nodes?: {
709
+ [nodeName: string]: {
710
+ ok?: boolean;
711
+ error?: string;
712
+ lastUpdated?: string;
713
+ };
714
+ };
715
+ }
716
+ /**
717
+ * CiliumClusterwideNetworkPolicy spec interface
718
+ */
719
+ export interface CiliumClusterwideNetworkPolicySpec {
720
+ endpointSelector?: LabelSelector;
721
+ nodeSelector?: LabelSelector;
722
+ ingress?: IngressRule[];
723
+ egress?: EgressRule[];
724
+ description?: string;
725
+ }
726
+ /**
727
+ * CiliumClusterwideNetworkPolicy status interface
728
+ */
729
+ export interface CiliumClusterwideNetworkPolicyStatus {
730
+ conditions?: Condition[];
731
+ state?: string;
732
+ message?: string;
733
+ nodes?: {
734
+ [nodeName: string]: {
735
+ ok?: boolean;
736
+ error?: string;
737
+ lastUpdated?: string;
738
+ };
739
+ };
740
+ }
741
+ /**
742
+ * Generic Cilium resource status
743
+ */
744
+ export interface CiliumResourceStatus {
745
+ conditions?: Condition[];
746
+ state?: string;
747
+ message?: string;
748
+ }
749
+ /**
750
+ * Kubernetes condition
751
+ */
752
+ export interface Condition {
753
+ type: string;
754
+ status: 'True' | 'False' | 'Unknown';
755
+ lastTransitionTime?: string;
756
+ reason?: string;
757
+ message?: string;
758
+ }
759
+ /**
760
+ * BGP session status
761
+ */
762
+ export interface BGPSessionStatus {
763
+ localASN: number;
764
+ peerASN: number;
765
+ peerAddress: string;
766
+ sessionState: 'Idle' | 'Connect' | 'Active' | 'OpenSent' | 'OpenConfirm' | 'Established';
767
+ uptimeNanoseconds?: number;
768
+ keepAliveTimeSeconds?: number;
769
+ opensSent?: number;
770
+ opensReceived?: number;
771
+ notificationsSent?: number;
772
+ notificationsReceived?: number;
773
+ updatesSent?: number;
774
+ updatesReceived?: number;
775
+ }
776
+ /**
777
+ * Readiness evaluation result
778
+ */
779
+ export interface ReadinessResult {
780
+ ready: boolean;
781
+ message: string;
782
+ details?: Record<string, any>;
783
+ lastTransition?: string | undefined;
784
+ reason?: string;
785
+ }
786
+ /**
787
+ * Configuration interface for Cilium HelmRepository
788
+ */
789
+ export interface CiliumHelmRepositoryConfig {
790
+ name: string;
791
+ namespace?: string;
792
+ interval?: string;
793
+ timeout?: string;
794
+ labels?: Record<string, string>;
795
+ annotations?: Record<string, string>;
796
+ secretRef?: {
797
+ name: string;
798
+ };
799
+ id?: string;
800
+ }
801
+ /**
802
+ * Configuration interface for Cilium HelmRelease
803
+ */
804
+ export interface CiliumHelmReleaseConfig {
805
+ name: string;
806
+ namespace?: string;
807
+ version?: string;
808
+ repositoryName: string;
809
+ repositoryNamespace: string;
810
+ interval?: string;
811
+ timeout?: string;
812
+ installTimeout?: string;
813
+ upgradeTimeout?: string;
814
+ replace?: boolean;
815
+ createNamespace?: boolean;
816
+ cleanupOnFail?: boolean;
817
+ values?: Record<string, any>;
818
+ labels?: Record<string, string>;
819
+ annotations?: Record<string, string>;
820
+ id?: string;
821
+ }
822
+ /**
823
+ * Cilium Helm values interface
824
+ */
825
+ export interface CiliumHelmValues {
826
+ cluster: {
827
+ name: string;
828
+ id: number;
829
+ };
830
+ ipam?: {
831
+ mode?: 'kubernetes' | 'cluster-pool' | 'azure' | 'aws-eni' | 'crd';
832
+ operator?: {
833
+ clusterPoolIPv4PodCIDRList?: string[];
834
+ clusterPoolIPv6PodCIDRList?: string[];
835
+ };
836
+ };
837
+ kubeProxyReplacement?: boolean | 'partial';
838
+ routingMode?: 'tunnel' | 'native';
839
+ tunnelProtocol?: 'vxlan' | 'geneve';
840
+ autoDirectNodeRoutes?: boolean;
841
+ endpointRoutes?: {
842
+ enabled?: boolean;
843
+ };
844
+ hostServices?: {
845
+ enabled?: boolean;
846
+ protocols?: ('tcp' | 'udp')[];
847
+ };
848
+ nodePort?: {
849
+ enabled?: boolean;
850
+ range?: string;
851
+ };
852
+ externalIPs?: {
853
+ enabled?: boolean;
854
+ };
855
+ hostPort?: {
856
+ enabled?: boolean;
857
+ };
858
+ loadBalancer?: {
859
+ algorithm?: 'random' | 'round_robin' | 'maglev';
860
+ mode?: 'snat' | 'dsr' | 'hybrid';
861
+ acceleration?: 'disabled' | 'native' | 'best-effort';
862
+ };
863
+ encryption?: {
864
+ enabled?: boolean;
865
+ type?: 'wireguard' | 'ipsec';
866
+ nodeEncryption?: boolean;
867
+ wireguard?: {
868
+ userspaceFallback?: boolean;
869
+ persistentKeepalive?: number;
870
+ };
871
+ ipsec?: {
872
+ interface?: string;
873
+ mountPath?: string;
874
+ keyFile?: string;
875
+ };
876
+ };
877
+ authentication?: {
878
+ enabled?: boolean;
879
+ mutual?: {
880
+ spire?: {
881
+ enabled?: boolean;
882
+ install?: boolean;
883
+ };
884
+ };
885
+ };
886
+ policyEnforcement?: 'default' | 'always' | 'never';
887
+ policyAuditMode?: boolean;
888
+ bgp?: {
889
+ enabled?: boolean;
890
+ announce?: {
891
+ loadbalancerIP?: boolean;
892
+ podCIDR?: boolean;
893
+ };
894
+ };
895
+ gatewayAPI?: {
896
+ enabled?: boolean;
897
+ secretsNamespace?: {
898
+ create?: boolean;
899
+ name?: string;
900
+ };
901
+ };
902
+ hubble?: {
903
+ enabled?: boolean;
904
+ metrics?: {
905
+ enabled?: string[];
906
+ enableOpenMetrics?: boolean;
907
+ port?: number;
908
+ };
909
+ relay?: {
910
+ enabled?: boolean;
911
+ replicas?: number;
912
+ };
913
+ ui?: {
914
+ enabled?: boolean;
915
+ replicas?: number;
916
+ ingress?: {
917
+ enabled?: boolean;
918
+ hosts?: string[];
919
+ };
920
+ };
921
+ };
922
+ prometheus?: {
923
+ enabled?: boolean;
924
+ port?: number;
925
+ serviceMonitor?: {
926
+ enabled?: boolean;
927
+ };
928
+ };
929
+ operator?: {
930
+ replicas?: number;
931
+ resources?: {
932
+ limits?: {
933
+ cpu?: string;
934
+ memory?: string;
935
+ };
936
+ requests?: {
937
+ cpu?: string;
938
+ memory?: string;
939
+ };
940
+ };
941
+ };
942
+ agent?: {
943
+ resources?: {
944
+ limits?: {
945
+ cpu?: string;
946
+ memory?: string;
947
+ };
948
+ requests?: {
949
+ cpu?: string;
950
+ memory?: string;
951
+ };
952
+ };
953
+ };
954
+ bpf?: {
955
+ preallocateMaps?: boolean;
956
+ mapDynamicSizeRatio?: number;
957
+ };
958
+ k8s?: {
959
+ requireIPv4PodCIDR?: boolean;
960
+ requireIPv6PodCIDR?: boolean;
961
+ };
962
+ cni?: {
963
+ binPath?: string;
964
+ confPath?: string;
965
+ };
966
+ [key: string]: any;
967
+ }
968
+ /**
969
+ * Cilium configuration validation error
970
+ */
971
+ export declare class CiliumConfigurationError extends TypeKroError {
972
+ readonly configPath: string;
973
+ readonly validationErrors: string[];
974
+ constructor(message: string, configPath: string, validationErrors: string[]);
975
+ }
976
+ /**
977
+ * Cilium resource validation error
978
+ */
979
+ export declare class CiliumResourceValidationError extends TypeKroError {
980
+ readonly resourceType: string;
981
+ readonly resourceName: string;
982
+ constructor(message: string, resourceType: string, resourceName: string);
983
+ }
984
+ /**
985
+ * Cilium deployment error
986
+ */
987
+ export declare class CiliumDeploymentError extends TypeKroError {
988
+ readonly phase: string;
989
+ readonly componentErrors: string[];
990
+ constructor(message: string, phase: string, componentErrors: string[]);
991
+ }
992
+ /**
993
+ * Cilium readiness evaluation error
994
+ */
995
+ export declare class CiliumReadinessError extends TypeKroError {
996
+ readonly component: string;
997
+ readonly expectedState: string;
998
+ readonly actualState: string;
999
+ constructor(message: string, component: string, expectedState: string, actualState: string);
1000
+ }
1001
+ //# sourceMappingURL=types.d.ts.map