typekro 0.3.1 → 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 (435) 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 +44 -2
  27. package/dist/core/deployment/engine.d.ts.map +1 -1
  28. package/dist/core/deployment/engine.js +645 -63
  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/expressions/analyzer.d.ts +6 -6
  65. package/dist/core/expressions/analyzer.d.ts.map +1 -1
  66. package/dist/core/expressions/analyzer.js +40 -75
  67. package/dist/core/expressions/analyzer.js.map +1 -1
  68. package/dist/core/expressions/cel-conversion-engine.d.ts.map +1 -1
  69. package/dist/core/expressions/cel-conversion-engine.js +10 -11
  70. package/dist/core/expressions/cel-conversion-engine.js.map +1 -1
  71. package/dist/core/expressions/composition-integration.d.ts +2 -2
  72. package/dist/core/expressions/composition-integration.d.ts.map +1 -1
  73. package/dist/core/expressions/composition-integration.js +20 -12
  74. package/dist/core/expressions/composition-integration.js.map +1 -1
  75. package/dist/core/expressions/field-hydration-processor.d.ts +4 -1
  76. package/dist/core/expressions/field-hydration-processor.d.ts.map +1 -1
  77. package/dist/core/expressions/field-hydration-processor.js +12 -13
  78. package/dist/core/expressions/field-hydration-processor.js.map +1 -1
  79. package/dist/core/expressions/imperative-analyzer.d.ts.map +1 -1
  80. package/dist/core/expressions/imperative-analyzer.js +54 -24
  81. package/dist/core/expressions/imperative-analyzer.js.map +1 -1
  82. package/dist/core/expressions/index.d.ts +2 -0
  83. package/dist/core/expressions/index.d.ts.map +1 -1
  84. package/dist/core/expressions/index.js +2 -0
  85. package/dist/core/expressions/index.js.map +1 -1
  86. package/dist/core/expressions/magic-proxy-analyzer.d.ts +1 -1
  87. package/dist/core/expressions/magic-proxy-analyzer.d.ts.map +1 -1
  88. package/dist/core/expressions/magic-proxy-analyzer.js +8 -7
  89. package/dist/core/expressions/magic-proxy-analyzer.js.map +1 -1
  90. package/dist/core/expressions/parser.d.ts +163 -0
  91. package/dist/core/expressions/parser.d.ts.map +1 -0
  92. package/dist/core/expressions/parser.js +272 -0
  93. package/dist/core/expressions/parser.js.map +1 -0
  94. package/dist/core/kubernetes/api.d.ts.map +1 -1
  95. package/dist/core/kubernetes/api.js +5 -6
  96. package/dist/core/kubernetes/api.js.map +1 -1
  97. package/dist/core/kubernetes/bun-api-client.d.ts +95 -0
  98. package/dist/core/kubernetes/bun-api-client.d.ts.map +1 -0
  99. package/dist/core/kubernetes/bun-api-client.js +160 -0
  100. package/dist/core/kubernetes/bun-api-client.js.map +1 -0
  101. package/dist/core/kubernetes/bun-http-library.d.ts +38 -0
  102. package/dist/core/kubernetes/bun-http-library.d.ts.map +1 -0
  103. package/dist/core/kubernetes/bun-http-library.js +133 -0
  104. package/dist/core/kubernetes/bun-http-library.js.map +1 -0
  105. package/dist/core/kubernetes/client-provider.d.ts +3 -0
  106. package/dist/core/kubernetes/client-provider.d.ts.map +1 -1
  107. package/dist/core/kubernetes/client-provider.js +32 -23
  108. package/dist/core/kubernetes/client-provider.js.map +1 -1
  109. package/dist/core/kubernetes/errors.d.ts +189 -0
  110. package/dist/core/kubernetes/errors.d.ts.map +1 -0
  111. package/dist/core/kubernetes/errors.js +298 -0
  112. package/dist/core/kubernetes/errors.js.map +1 -0
  113. package/dist/core/kubernetes/index.d.ts +19 -0
  114. package/dist/core/kubernetes/index.d.ts.map +1 -0
  115. package/dist/core/kubernetes/index.js +23 -0
  116. package/dist/core/kubernetes/index.js.map +1 -0
  117. package/dist/core/kubernetes/type-guards.d.ts +142 -0
  118. package/dist/core/kubernetes/type-guards.d.ts.map +1 -0
  119. package/dist/core/kubernetes/type-guards.js +151 -0
  120. package/dist/core/kubernetes/type-guards.js.map +1 -0
  121. package/dist/core/logging/logger.d.ts.map +1 -1
  122. package/dist/core/logging/logger.js +8 -0
  123. package/dist/core/logging/logger.js.map +1 -1
  124. package/dist/core/readiness/cluster-state.d.ts.map +1 -1
  125. package/dist/core/readiness/cluster-state.js +6 -4
  126. package/dist/core/readiness/cluster-state.js.map +1 -1
  127. package/dist/core/references/cel-evaluator.d.ts.map +1 -1
  128. package/dist/core/references/cel-evaluator.js +12 -2
  129. package/dist/core/references/cel-evaluator.js.map +1 -1
  130. package/dist/core/references/cel.js +1 -1
  131. package/dist/core/references/cel.js.map +1 -1
  132. package/dist/core/references/resolver.d.ts +28 -1
  133. package/dist/core/references/resolver.d.ts.map +1 -1
  134. package/dist/core/references/resolver.js +325 -11
  135. package/dist/core/references/resolver.js.map +1 -1
  136. package/dist/core/references/schema-proxy.d.ts.map +1 -1
  137. package/dist/core/references/schema-proxy.js +14 -5
  138. package/dist/core/references/schema-proxy.js.map +1 -1
  139. package/dist/core/scope/resolver.d.ts +16 -0
  140. package/dist/core/scope/resolver.d.ts.map +1 -0
  141. package/dist/core/scope/resolver.js +45 -0
  142. package/dist/core/scope/resolver.js.map +1 -0
  143. package/dist/core/serialization/core.d.ts +1 -1
  144. package/dist/core/serialization/core.d.ts.map +1 -1
  145. package/dist/core/serialization/core.js +78 -54
  146. package/dist/core/serialization/core.js.map +1 -1
  147. package/dist/core/types/common.d.ts +23 -1
  148. package/dist/core/types/common.d.ts.map +1 -1
  149. package/dist/core/types/deployment.d.ts +68 -1
  150. package/dist/core/types/deployment.d.ts.map +1 -1
  151. package/dist/core/types/deployment.js +17 -0
  152. package/dist/core/types/deployment.js.map +1 -1
  153. package/dist/core/types/factory-scope.d.ts +42 -0
  154. package/dist/core/types/factory-scope.d.ts.map +1 -0
  155. package/dist/core/types/factory-scope.js +14 -0
  156. package/dist/core/types/factory-scope.js.map +1 -0
  157. package/dist/core/types/kubernetes.d.ts +146 -4
  158. package/dist/core/types/kubernetes.d.ts.map +1 -1
  159. package/dist/core/types/references.d.ts +47 -3
  160. package/dist/core/types/references.d.ts.map +1 -1
  161. package/dist/core/types/references.js.map +1 -1
  162. package/dist/core/types/serialization.d.ts +17 -6
  163. package/dist/core/types/serialization.d.ts.map +1 -1
  164. package/dist/core/utils/crd-patcher.d.ts +30 -0
  165. package/dist/core/utils/crd-patcher.d.ts.map +1 -0
  166. package/dist/core/utils/crd-patcher.js +198 -0
  167. package/dist/core/utils/crd-patcher.js.map +1 -0
  168. package/dist/core/utils/crd-schema-fix.d.ts +108 -0
  169. package/dist/core/utils/crd-schema-fix.d.ts.map +1 -0
  170. package/dist/core/utils/crd-schema-fix.js +245 -0
  171. package/dist/core/utils/crd-schema-fix.js.map +1 -0
  172. package/dist/core/utils/index.d.ts +12 -0
  173. package/dist/core/utils/index.d.ts.map +1 -0
  174. package/dist/core/utils/index.js +12 -0
  175. package/dist/core/utils/index.js.map +1 -0
  176. package/dist/core/utils/minimal-connection-reset-suppression.d.ts +16 -0
  177. package/dist/core/utils/minimal-connection-reset-suppression.d.ts.map +1 -0
  178. package/dist/core/utils/minimal-connection-reset-suppression.js +72 -0
  179. package/dist/core/utils/minimal-connection-reset-suppression.js.map +1 -0
  180. package/dist/core/utils/output-filter.d.ts +16 -0
  181. package/dist/core/utils/output-filter.d.ts.map +1 -0
  182. package/dist/core/utils/output-filter.js +90 -0
  183. package/dist/core/utils/output-filter.js.map +1 -0
  184. package/dist/core/utils/scoped-error-suppression.d.ts +25 -0
  185. package/dist/core/utils/scoped-error-suppression.d.ts.map +1 -0
  186. package/dist/core/utils/scoped-error-suppression.js +226 -0
  187. package/dist/core/utils/scoped-error-suppression.js.map +1 -0
  188. package/dist/core/validation/cel-validator.d.ts.map +1 -1
  189. package/dist/core/validation/cel-validator.js +52 -12
  190. package/dist/core/validation/cel-validator.js.map +1 -1
  191. package/dist/factories/apisix/compositions/apisix-bootstrap.d.ts +38 -0
  192. package/dist/factories/apisix/compositions/apisix-bootstrap.d.ts.map +1 -0
  193. package/dist/factories/apisix/compositions/apisix-bootstrap.js +280 -0
  194. package/dist/factories/apisix/compositions/apisix-bootstrap.js.map +1 -0
  195. package/dist/factories/apisix/compositions/index.d.ts +5 -0
  196. package/dist/factories/apisix/compositions/index.d.ts.map +1 -0
  197. package/dist/factories/apisix/compositions/index.js +5 -0
  198. package/dist/factories/apisix/compositions/index.js.map +1 -0
  199. package/dist/factories/apisix/index.d.ts +11 -0
  200. package/dist/factories/apisix/index.d.ts.map +1 -0
  201. package/dist/factories/apisix/index.js +11 -0
  202. package/dist/factories/apisix/index.js.map +1 -0
  203. package/dist/factories/apisix/resources/helm.d.ts +59 -0
  204. package/dist/factories/apisix/resources/helm.d.ts.map +1 -0
  205. package/dist/factories/apisix/resources/helm.js +175 -0
  206. package/dist/factories/apisix/resources/helm.js.map +1 -0
  207. package/dist/factories/apisix/resources/index.d.ts +5 -0
  208. package/dist/factories/apisix/resources/index.d.ts.map +1 -0
  209. package/dist/factories/apisix/resources/index.js +5 -0
  210. package/dist/factories/apisix/resources/index.js.map +1 -0
  211. package/dist/factories/apisix/types.d.ts +339 -0
  212. package/dist/factories/apisix/types.d.ts.map +1 -0
  213. package/dist/factories/apisix/types.js +88 -0
  214. package/dist/factories/apisix/types.js.map +1 -0
  215. package/dist/factories/apisix/utils/helm-values-mapper.d.ts +19 -0
  216. package/dist/factories/apisix/utils/helm-values-mapper.d.ts.map +1 -0
  217. package/dist/factories/apisix/utils/helm-values-mapper.js +108 -0
  218. package/dist/factories/apisix/utils/helm-values-mapper.js.map +1 -0
  219. package/dist/factories/apisix/utils/index.d.ts +5 -0
  220. package/dist/factories/apisix/utils/index.d.ts.map +1 -0
  221. package/dist/factories/apisix/utils/index.js +5 -0
  222. package/dist/factories/apisix/utils/index.js.map +1 -0
  223. package/dist/factories/cert-manager/compositions/cert-manager-bootstrap.d.ts +45 -0
  224. package/dist/factories/cert-manager/compositions/cert-manager-bootstrap.d.ts.map +1 -0
  225. package/dist/factories/cert-manager/compositions/cert-manager-bootstrap.js +323 -0
  226. package/dist/factories/cert-manager/compositions/cert-manager-bootstrap.js.map +1 -0
  227. package/dist/factories/cert-manager/compositions/index.d.ts +2 -0
  228. package/dist/factories/cert-manager/compositions/index.d.ts.map +1 -0
  229. package/dist/factories/cert-manager/compositions/index.js +2 -0
  230. package/dist/factories/cert-manager/compositions/index.js.map +1 -0
  231. package/dist/factories/cert-manager/index.d.ts +10 -0
  232. package/dist/factories/cert-manager/index.d.ts.map +1 -0
  233. package/dist/factories/cert-manager/index.js +19 -0
  234. package/dist/factories/cert-manager/index.js.map +1 -0
  235. package/dist/factories/cert-manager/resources/certificates.d.ts +39 -0
  236. package/dist/factories/cert-manager/resources/certificates.d.ts.map +1 -0
  237. package/dist/factories/cert-manager/resources/certificates.js +132 -0
  238. package/dist/factories/cert-manager/resources/certificates.js.map +1 -0
  239. package/dist/factories/cert-manager/resources/challenges.d.ts +113 -0
  240. package/dist/factories/cert-manager/resources/challenges.d.ts.map +1 -0
  241. package/dist/factories/cert-manager/resources/challenges.js +281 -0
  242. package/dist/factories/cert-manager/resources/challenges.js.map +1 -0
  243. package/dist/factories/cert-manager/resources/helm.d.ts +57 -0
  244. package/dist/factories/cert-manager/resources/helm.d.ts.map +1 -0
  245. package/dist/factories/cert-manager/resources/helm.js +390 -0
  246. package/dist/factories/cert-manager/resources/helm.js.map +1 -0
  247. package/dist/factories/cert-manager/resources/index.d.ts +5 -0
  248. package/dist/factories/cert-manager/resources/index.d.ts.map +1 -0
  249. package/dist/factories/cert-manager/resources/index.js +6 -0
  250. package/dist/factories/cert-manager/resources/index.js.map +1 -0
  251. package/dist/factories/cert-manager/resources/issuers.d.ts +79 -0
  252. package/dist/factories/cert-manager/resources/issuers.d.ts.map +1 -0
  253. package/dist/factories/cert-manager/resources/issuers.js +204 -0
  254. package/dist/factories/cert-manager/resources/issuers.js.map +1 -0
  255. package/dist/factories/cert-manager/types.d.ts +1015 -0
  256. package/dist/factories/cert-manager/types.d.ts.map +1 -0
  257. package/dist/factories/cert-manager/types.js +198 -0
  258. package/dist/factories/cert-manager/types.js.map +1 -0
  259. package/dist/factories/cert-manager/utils/helm-values-mapper.d.ts +19 -0
  260. package/dist/factories/cert-manager/utils/helm-values-mapper.d.ts.map +1 -0
  261. package/dist/factories/cert-manager/utils/helm-values-mapper.js +117 -0
  262. package/dist/factories/cert-manager/utils/helm-values-mapper.js.map +1 -0
  263. package/dist/factories/cert-manager/utils/index.d.ts +2 -0
  264. package/dist/factories/cert-manager/utils/index.d.ts.map +1 -0
  265. package/dist/factories/cert-manager/utils/index.js +2 -0
  266. package/dist/factories/cert-manager/utils/index.js.map +1 -0
  267. package/dist/factories/cilium/compositions/cilium-bootstrap.d.ts +220 -0
  268. package/dist/factories/cilium/compositions/cilium-bootstrap.d.ts.map +1 -0
  269. package/dist/factories/cilium/compositions/cilium-bootstrap.js +293 -0
  270. package/dist/factories/cilium/compositions/cilium-bootstrap.js.map +1 -0
  271. package/dist/factories/cilium/compositions/index.d.ts +8 -0
  272. package/dist/factories/cilium/compositions/index.d.ts.map +1 -0
  273. package/dist/factories/cilium/compositions/index.js +11 -0
  274. package/dist/factories/cilium/compositions/index.js.map +1 -0
  275. package/dist/factories/cilium/index.d.ts +10 -0
  276. package/dist/factories/cilium/index.d.ts.map +1 -0
  277. package/dist/factories/cilium/index.js +19 -0
  278. package/dist/factories/cilium/index.js.map +1 -0
  279. package/dist/factories/cilium/resources/bgp.d.ts +10 -0
  280. package/dist/factories/cilium/resources/bgp.d.ts.map +1 -0
  281. package/dist/factories/cilium/resources/bgp.js +14 -0
  282. package/dist/factories/cilium/resources/bgp.js.map +1 -0
  283. package/dist/factories/cilium/resources/gateway.d.ts +72 -0
  284. package/dist/factories/cilium/resources/gateway.d.ts.map +1 -0
  285. package/dist/factories/cilium/resources/gateway.js +118 -0
  286. package/dist/factories/cilium/resources/gateway.js.map +1 -0
  287. package/dist/factories/cilium/resources/helm.d.ts +93 -0
  288. package/dist/factories/cilium/resources/helm.d.ts.map +1 -0
  289. package/dist/factories/cilium/resources/helm.js +377 -0
  290. package/dist/factories/cilium/resources/helm.js.map +1 -0
  291. package/dist/factories/cilium/resources/index.d.ts +14 -0
  292. package/dist/factories/cilium/resources/index.d.ts.map +1 -0
  293. package/dist/factories/cilium/resources/index.js +35 -0
  294. package/dist/factories/cilium/resources/index.js.map +1 -0
  295. package/dist/factories/cilium/resources/load-balancer.d.ts +9 -0
  296. package/dist/factories/cilium/resources/load-balancer.d.ts.map +1 -0
  297. package/dist/factories/cilium/resources/load-balancer.js +12 -0
  298. package/dist/factories/cilium/resources/load-balancer.js.map +1 -0
  299. package/dist/factories/cilium/resources/networking.d.ts +202 -0
  300. package/dist/factories/cilium/resources/networking.d.ts.map +1 -0
  301. package/dist/factories/cilium/resources/networking.js +581 -0
  302. package/dist/factories/cilium/resources/networking.js.map +1 -0
  303. package/dist/factories/cilium/resources/observability.d.ts +9 -0
  304. package/dist/factories/cilium/resources/observability.d.ts.map +1 -0
  305. package/dist/factories/cilium/resources/observability.js +11 -0
  306. package/dist/factories/cilium/resources/observability.js.map +1 -0
  307. package/dist/factories/cilium/resources/security.d.ts +10 -0
  308. package/dist/factories/cilium/resources/security.d.ts.map +1 -0
  309. package/dist/factories/cilium/resources/security.js +14 -0
  310. package/dist/factories/cilium/resources/security.js.map +1 -0
  311. package/dist/factories/cilium/types.d.ts +1001 -0
  312. package/dist/factories/cilium/types.d.ts.map +1 -0
  313. package/dist/factories/cilium/types.js +79 -0
  314. package/dist/factories/cilium/types.js.map +1 -0
  315. package/dist/factories/external-dns/compositions/external-dns-bootstrap.d.ts +32 -0
  316. package/dist/factories/external-dns/compositions/external-dns-bootstrap.d.ts.map +1 -0
  317. package/dist/factories/external-dns/compositions/external-dns-bootstrap.js +152 -0
  318. package/dist/factories/external-dns/compositions/external-dns-bootstrap.js.map +1 -0
  319. package/dist/factories/external-dns/compositions/index.d.ts +2 -0
  320. package/dist/factories/external-dns/compositions/index.d.ts.map +1 -0
  321. package/dist/factories/external-dns/compositions/index.js +3 -0
  322. package/dist/factories/external-dns/compositions/index.js.map +1 -0
  323. package/dist/factories/external-dns/index.d.ts +10 -0
  324. package/dist/factories/external-dns/index.d.ts.map +1 -0
  325. package/dist/factories/external-dns/index.js +19 -0
  326. package/dist/factories/external-dns/index.js.map +1 -0
  327. package/dist/factories/external-dns/resources/dns-endpoint.d.ts +54 -0
  328. package/dist/factories/external-dns/resources/dns-endpoint.d.ts.map +1 -0
  329. package/dist/factories/external-dns/resources/dns-endpoint.js +53 -0
  330. package/dist/factories/external-dns/resources/dns-endpoint.js.map +1 -0
  331. package/dist/factories/external-dns/resources/helm.d.ts +57 -0
  332. package/dist/factories/external-dns/resources/helm.d.ts.map +1 -0
  333. package/dist/factories/external-dns/resources/helm.js +435 -0
  334. package/dist/factories/external-dns/resources/helm.js.map +1 -0
  335. package/dist/factories/external-dns/resources/index.d.ts +3 -0
  336. package/dist/factories/external-dns/resources/index.d.ts.map +1 -0
  337. package/dist/factories/external-dns/resources/index.js +4 -0
  338. package/dist/factories/external-dns/resources/index.js.map +1 -0
  339. package/dist/factories/external-dns/types.d.ts +180 -0
  340. package/dist/factories/external-dns/types.d.ts.map +1 -0
  341. package/dist/factories/external-dns/types.js +39 -0
  342. package/dist/factories/external-dns/types.js.map +1 -0
  343. package/dist/factories/flux/git-repository.d.ts +2 -2
  344. package/dist/factories/flux/git-repository.d.ts.map +1 -1
  345. package/dist/factories/helm/types.d.ts +24 -3
  346. package/dist/factories/helm/types.d.ts.map +1 -1
  347. package/dist/factories/index.d.ts +7 -1
  348. package/dist/factories/index.d.ts.map +1 -1
  349. package/dist/factories/index.js +21 -2
  350. package/dist/factories/index.js.map +1 -1
  351. package/dist/factories/kubernetes/config/config-map.d.ts +4 -1
  352. package/dist/factories/kubernetes/config/config-map.d.ts.map +1 -1
  353. package/dist/factories/kubernetes/config/config-map.js +4 -0
  354. package/dist/factories/kubernetes/config/config-map.js.map +1 -1
  355. package/dist/factories/kubernetes/config/secret.d.ts +6 -1
  356. package/dist/factories/kubernetes/config/secret.d.ts.map +1 -1
  357. package/dist/factories/kubernetes/config/secret.js +4 -0
  358. package/dist/factories/kubernetes/config/secret.js.map +1 -1
  359. package/dist/factories/kubernetes/networking/service.d.ts.map +1 -1
  360. package/dist/factories/kubernetes/networking/service.js +6 -1
  361. package/dist/factories/kubernetes/networking/service.js.map +1 -1
  362. package/dist/factories/kubernetes/rbac/cluster-role-binding.d.ts.map +1 -1
  363. package/dist/factories/kubernetes/rbac/cluster-role-binding.js +1 -1
  364. package/dist/factories/kubernetes/rbac/cluster-role-binding.js.map +1 -1
  365. package/dist/factories/kubernetes/rbac/cluster-role.d.ts.map +1 -1
  366. package/dist/factories/kubernetes/rbac/cluster-role.js +1 -1
  367. package/dist/factories/kubernetes/rbac/cluster-role.js.map +1 -1
  368. package/dist/factories/kubernetes/scheduling/priority-class.d.ts.map +1 -1
  369. package/dist/factories/kubernetes/scheduling/priority-class.js +1 -1
  370. package/dist/factories/kubernetes/scheduling/priority-class.js.map +1 -1
  371. package/dist/factories/kubernetes/storage/storage-class.d.ts.map +1 -1
  372. package/dist/factories/kubernetes/storage/storage-class.js +1 -1
  373. package/dist/factories/kubernetes/storage/storage-class.js.map +1 -1
  374. package/dist/factories/kubernetes/workloads/deployment.d.ts.map +1 -1
  375. package/dist/factories/kubernetes/workloads/deployment.js +9 -4
  376. package/dist/factories/kubernetes/workloads/deployment.js.map +1 -1
  377. package/dist/factories/kubernetes/yaml/yaml-directory.js +2 -2
  378. package/dist/factories/kubernetes/yaml/yaml-directory.js.map +1 -1
  379. package/dist/factories/kubernetes/yaml/yaml-file.d.ts +31 -1
  380. package/dist/factories/kubernetes/yaml/yaml-file.d.ts.map +1 -1
  381. package/dist/factories/kubernetes/yaml/yaml-file.js +80 -7
  382. package/dist/factories/kubernetes/yaml/yaml-file.js.map +1 -1
  383. package/dist/factories/pebble/compositions/index.d.ts +2 -0
  384. package/dist/factories/pebble/compositions/index.d.ts.map +1 -0
  385. package/dist/factories/pebble/compositions/index.js +3 -0
  386. package/dist/factories/pebble/compositions/index.js.map +1 -0
  387. package/dist/factories/pebble/compositions/pebble-bootstrap.d.ts +56 -0
  388. package/dist/factories/pebble/compositions/pebble-bootstrap.d.ts.map +1 -0
  389. package/dist/factories/pebble/compositions/pebble-bootstrap.js +97 -0
  390. package/dist/factories/pebble/compositions/pebble-bootstrap.js.map +1 -0
  391. package/dist/factories/pebble/index.d.ts +10 -0
  392. package/dist/factories/pebble/index.d.ts.map +1 -0
  393. package/dist/factories/pebble/index.js +19 -0
  394. package/dist/factories/pebble/index.js.map +1 -0
  395. package/dist/factories/pebble/resources/helm.d.ts +99 -0
  396. package/dist/factories/pebble/resources/helm.d.ts.map +1 -0
  397. package/dist/factories/pebble/resources/helm.js +167 -0
  398. package/dist/factories/pebble/resources/helm.js.map +1 -0
  399. package/dist/factories/pebble/resources/index.d.ts +2 -0
  400. package/dist/factories/pebble/resources/index.d.ts.map +1 -0
  401. package/dist/factories/pebble/resources/index.js +3 -0
  402. package/dist/factories/pebble/resources/index.js.map +1 -0
  403. package/dist/factories/pebble/types.d.ts +184 -0
  404. package/dist/factories/pebble/types.d.ts.map +1 -0
  405. package/dist/factories/pebble/types.js +23 -0
  406. package/dist/factories/pebble/types.js.map +1 -0
  407. package/dist/factories/pebble/utils/helm-values-mapper.d.ts +21 -0
  408. package/dist/factories/pebble/utils/helm-values-mapper.d.ts.map +1 -0
  409. package/dist/factories/pebble/utils/helm-values-mapper.js +96 -0
  410. package/dist/factories/pebble/utils/helm-values-mapper.js.map +1 -0
  411. package/dist/factories/shared.d.ts +18 -1
  412. package/dist/factories/shared.d.ts.map +1 -1
  413. package/dist/factories/shared.js +89 -8
  414. package/dist/factories/shared.js.map +1 -1
  415. package/dist/factories/simple/config/config-map.d.ts +7 -2
  416. package/dist/factories/simple/config/config-map.d.ts.map +1 -1
  417. package/dist/factories/simple/config/config-map.js +3 -0
  418. package/dist/factories/simple/config/config-map.js.map +1 -1
  419. package/dist/factories/simple/config/secret.d.ts +11 -2
  420. package/dist/factories/simple/config/secret.d.ts.map +1 -1
  421. package/dist/factories/simple/config/secret.js +23 -1
  422. package/dist/factories/simple/config/secret.js.map +1 -1
  423. package/dist/factories/simple/storage/persistent-volume-claim.d.ts.map +1 -1
  424. package/dist/factories/simple/storage/persistent-volume-claim.js +1 -0
  425. package/dist/factories/simple/storage/persistent-volume-claim.js.map +1 -1
  426. package/dist/factories/simple/types.d.ts +5 -1
  427. package/dist/factories/simple/types.d.ts.map +1 -1
  428. package/dist/utils/helpers.d.ts.map +1 -1
  429. package/dist/utils/helpers.js +67 -0
  430. package/dist/utils/helpers.js.map +1 -1
  431. package/dist/utils/type-guards.d.ts +5 -0
  432. package/dist/utils/type-guards.d.ts.map +1 -1
  433. package/dist/utils/type-guards.js +9 -3
  434. package/dist/utils/type-guards.js.map +1 -1
  435. package/package.json +49 -5
@@ -0,0 +1,581 @@
1
+ /**
2
+ * Cilium Networking CRD Factory Functions
3
+ *
4
+ * This module provides factory functions for Cilium networking resources:
5
+ * - CiliumNetworkPolicy
6
+ * - CiliumClusterwideNetworkPolicy
7
+ *
8
+ * Each factory function includes embedded readiness evaluators for proper
9
+ * lifecycle management and status monitoring.
10
+ */
11
+ import { createResource } from '../../shared.js';
12
+ // =============================================================================
13
+ // CILIUM NETWORK POLICY FACTORY
14
+ // =============================================================================
15
+ /**
16
+ * Embedded readiness evaluator for CiliumNetworkPolicy
17
+ *
18
+ * Evaluates policy readiness based on:
19
+ * - Policy acceptance by Cilium agent
20
+ * - Endpoint selection and rule application
21
+ * - Error conditions and validation status
22
+ */
23
+ export const ciliumNetworkPolicyReadinessEvaluator = (resource) => {
24
+ const status = resource.status;
25
+ // Check if status exists - for CiliumNetworkPolicy, no status often means it's been accepted
26
+ // but not yet processed by the Cilium agent. We'll consider this ready after a brief period.
27
+ if (!status) {
28
+ // If the resource exists and has been applied, consider it ready
29
+ // CiliumNetworkPolicy doesn't always populate status immediately
30
+ if (resource.metadata?.creationTimestamp) {
31
+ const createdTime = new Date(resource.metadata.creationTimestamp);
32
+ const now = new Date();
33
+ const ageInSeconds = (now.getTime() - createdTime.getTime()) / 1000;
34
+ // If the policy has existed for more than 5 seconds without errors, consider it ready
35
+ if (ageInSeconds > 5) {
36
+ return {
37
+ ready: true,
38
+ message: 'CiliumNetworkPolicy applied successfully (no status reported)',
39
+ details: {
40
+ phase: 'applied',
41
+ ageInSeconds: Math.round(ageInSeconds),
42
+ },
43
+ };
44
+ }
45
+ }
46
+ return {
47
+ ready: false,
48
+ message: 'CiliumNetworkPolicy status not available',
49
+ details: { phase: 'pending' },
50
+ };
51
+ }
52
+ // Check for error conditions
53
+ if (status.conditions) {
54
+ // Check for Ready condition first (standard Kubernetes pattern)
55
+ const readyCondition = status.conditions.find((c) => c.type === 'Ready');
56
+ if (readyCondition) {
57
+ if (readyCondition.status === 'True') {
58
+ return {
59
+ ready: true,
60
+ message: 'CiliumNetworkPolicy is ready and applied',
61
+ details: {
62
+ lastTransition: readyCondition.lastTransitionTime,
63
+ },
64
+ };
65
+ }
66
+ else {
67
+ // Handle specific error reasons, prefer message over reason
68
+ let message = 'CiliumNetworkPolicy not ready';
69
+ if (readyCondition.message) {
70
+ message = `CiliumNetworkPolicy not ready: ${readyCondition.message}`;
71
+ }
72
+ else if (readyCondition.reason === 'InvalidEndpointSelector') {
73
+ message = 'CiliumNetworkPolicy not ready: Invalid endpoint selector';
74
+ }
75
+ else if (readyCondition.reason) {
76
+ message = `CiliumNetworkPolicy not ready: ${readyCondition.reason}`;
77
+ }
78
+ return {
79
+ ready: false,
80
+ message,
81
+ details: {
82
+ condition: readyCondition,
83
+ },
84
+ };
85
+ }
86
+ }
87
+ // Check for validation errors (Cilium-specific)
88
+ const invalidCondition = status.conditions.find((c) => c.type === 'Valid' && c.status === 'False');
89
+ if (invalidCondition) {
90
+ return {
91
+ ready: false,
92
+ message: `CiliumNetworkPolicy validation failed: ${invalidCondition.message || invalidCondition.reason || 'Unknown error'}`,
93
+ details: {
94
+ condition: invalidCondition,
95
+ state: status.state,
96
+ },
97
+ };
98
+ }
99
+ // Check for valid condition (Cilium uses 'Valid' instead of 'Ready')
100
+ const validCondition = status.conditions.find((c) => c.type === 'Valid' && c.status === 'True');
101
+ if (validCondition) {
102
+ return {
103
+ ready: true,
104
+ message: 'CiliumNetworkPolicy is valid and applied',
105
+ details: {
106
+ condition: validCondition,
107
+ state: status.state,
108
+ lastTransition: validCondition.lastTransitionTime,
109
+ },
110
+ };
111
+ }
112
+ if (readyCondition) {
113
+ return {
114
+ ready: true,
115
+ message: 'CiliumNetworkPolicy is ready and applied',
116
+ details: {
117
+ condition: readyCondition,
118
+ state: status.state,
119
+ lastTransition: readyCondition.lastTransitionTime,
120
+ },
121
+ };
122
+ }
123
+ }
124
+ // Check state field as fallback
125
+ if (status.state) {
126
+ switch (status.state.toLowerCase()) {
127
+ case 'ready':
128
+ case 'applied':
129
+ return {
130
+ ready: true,
131
+ message: 'CiliumNetworkPolicy is ready',
132
+ details: { state: status.state },
133
+ };
134
+ case 'error':
135
+ case 'failed':
136
+ return {
137
+ ready: false,
138
+ message: `CiliumNetworkPolicy failed: ${status.message || 'Unknown error'}`,
139
+ details: { state: status.state },
140
+ };
141
+ case 'pending':
142
+ case 'applying':
143
+ return {
144
+ ready: false,
145
+ message: 'CiliumNetworkPolicy is being applied',
146
+ details: { state: status.state },
147
+ };
148
+ default:
149
+ return {
150
+ ready: false,
151
+ message: `CiliumNetworkPolicy in unknown state: ${status.state}`,
152
+ details: { state: status.state },
153
+ };
154
+ }
155
+ }
156
+ // Default to not ready if we can't determine status
157
+ return {
158
+ ready: false,
159
+ message: 'CiliumNetworkPolicy status unclear',
160
+ details: { status },
161
+ };
162
+ };
163
+ /**
164
+ * Factory function for CiliumNetworkPolicy
165
+ *
166
+ * Creates a Cilium network policy resource with comprehensive configuration
167
+ * options for ingress and egress rules, endpoint selection, and L7 policies.
168
+ *
169
+ * @param resource - CiliumNetworkPolicy resource definition
170
+ * @returns Enhanced CiliumNetworkPolicy resource with embedded readiness evaluator
171
+ *
172
+ * @example
173
+ * Basic network policy:
174
+ * ```typescript
175
+ * const policy = ciliumNetworkPolicy({
176
+ * apiVersion: 'cilium.io/v2',
177
+ * kind: 'CiliumNetworkPolicy',
178
+ * metadata: {
179
+ * name: 'allow-frontend',
180
+ * namespace: 'default'
181
+ * },
182
+ * spec: {
183
+ * endpointSelector: {
184
+ * matchLabels: { app: 'frontend' }
185
+ * },
186
+ * ingress: [{
187
+ * fromEndpoints: [{
188
+ * matchLabels: { app: 'backend' }
189
+ * }],
190
+ * toPorts: [{
191
+ * ports: [{ port: '8080', protocol: 'TCP' }]
192
+ * }]
193
+ * }]
194
+ * }
195
+ * });
196
+ * ```
197
+ *
198
+ * @example
199
+ * L7 HTTP policy:
200
+ * ```typescript
201
+ * const httpPolicy = ciliumNetworkPolicy({
202
+ * apiVersion: 'cilium.io/v2',
203
+ * kind: 'CiliumNetworkPolicy',
204
+ * metadata: {
205
+ * name: 'api-access',
206
+ * namespace: 'default'
207
+ * },
208
+ * spec: {
209
+ * endpointSelector: {
210
+ * matchLabels: { app: 'api' }
211
+ * },
212
+ * ingress: [{
213
+ * fromEndpoints: [{
214
+ * matchLabels: { app: 'frontend' }
215
+ * }],
216
+ * toPorts: [{
217
+ * ports: [{ port: '8080', protocol: 'TCP' }],
218
+ * rules: {
219
+ * http: [{
220
+ * method: 'GET',
221
+ * path: '/api/v1/.*'
222
+ * }]
223
+ * }
224
+ * }]
225
+ * }]
226
+ * }
227
+ * });
228
+ * ```
229
+ */
230
+ export function ciliumNetworkPolicy(resource) {
231
+ // Validate required fields - allow CEL expressions, KubernetesRef objects, and JavaScript expression results
232
+ const name = resource.metadata?.name;
233
+ if (name === undefined || name === null) {
234
+ throw new Error('CiliumNetworkPolicy name is required');
235
+ }
236
+ if (!resource.spec) {
237
+ throw new Error('CiliumNetworkPolicy spec is required');
238
+ }
239
+ // Validate endpoint selector if provided (empty object {} is valid for selecting all endpoints)
240
+ if (resource.spec.endpointSelector && Object.keys(resource.spec.endpointSelector).length > 0) {
241
+ if (!resource.spec.endpointSelector.matchLabels &&
242
+ !resource.spec.endpointSelector.matchExpressions) {
243
+ throw new Error('CiliumNetworkPolicy endpointSelector must have matchLabels or matchExpressions');
244
+ }
245
+ }
246
+ // Validate ingress rules if provided
247
+ if (resource.spec.ingress) {
248
+ resource.spec.ingress.forEach((rule, index) => {
249
+ if (!rule.fromEndpoints &&
250
+ !rule.fromCIDR &&
251
+ !rule.fromCIDRSet &&
252
+ !rule.fromEntities &&
253
+ !rule.fromGroups) {
254
+ throw new Error(`CiliumNetworkPolicy ingress rule ${index} must specify at least one source`);
255
+ }
256
+ });
257
+ }
258
+ // Validate egress rules if provided
259
+ if (resource.spec.egress) {
260
+ resource.spec.egress.forEach((rule, index) => {
261
+ if (!rule.toEndpoints &&
262
+ !rule.toCIDR &&
263
+ !rule.toCIDRSet &&
264
+ !rule.toEntities &&
265
+ !rule.toGroups &&
266
+ !rule.toFQDNs) {
267
+ throw new Error(`CiliumNetworkPolicy egress rule ${index} must specify at least one destination`);
268
+ }
269
+ });
270
+ }
271
+ return createResource({
272
+ ...resource,
273
+ apiVersion: 'cilium.io/v2',
274
+ kind: 'CiliumNetworkPolicy',
275
+ metadata: {
276
+ ...resource.metadata,
277
+ namespace: resource.metadata?.namespace || 'default',
278
+ },
279
+ }).withReadinessEvaluator(ciliumNetworkPolicyReadinessEvaluator);
280
+ }
281
+ // =============================================================================
282
+ // CILIUM CLUSTERWIDE NETWORK POLICY FACTORY
283
+ // =============================================================================
284
+ /**
285
+ * Embedded readiness evaluator for CiliumClusterwideNetworkPolicy
286
+ *
287
+ * Evaluates cluster-wide policy readiness based on:
288
+ * - Policy acceptance across all nodes
289
+ * - Node selector validation
290
+ * - Cluster-wide rule application status
291
+ */
292
+ export const ciliumClusterwideNetworkPolicyReadinessEvaluator = (resource) => {
293
+ const status = resource.status;
294
+ // Check if status exists - for CiliumClusterwideNetworkPolicy, no status often means it's been accepted
295
+ // but not yet processed by the Cilium agent. We'll consider this ready after a brief period.
296
+ if (!status) {
297
+ // If the resource exists and has been applied, consider it ready
298
+ // CiliumClusterwideNetworkPolicy doesn't always populate status immediately
299
+ if (resource.metadata?.creationTimestamp) {
300
+ const createdTime = new Date(resource.metadata.creationTimestamp);
301
+ const now = new Date();
302
+ const ageInSeconds = (now.getTime() - createdTime.getTime()) / 1000;
303
+ // If the policy has existed for more than 5 seconds without errors, consider it ready
304
+ if (ageInSeconds > 5) {
305
+ return {
306
+ ready: true,
307
+ message: 'CiliumClusterwideNetworkPolicy applied successfully (no status reported)',
308
+ details: {
309
+ phase: 'applied',
310
+ ageInSeconds: Math.round(ageInSeconds),
311
+ },
312
+ };
313
+ }
314
+ }
315
+ return {
316
+ ready: false,
317
+ message: 'CiliumClusterwideNetworkPolicy status not available',
318
+ details: { phase: 'pending' },
319
+ };
320
+ }
321
+ // Check for error conditions
322
+ if (status.conditions) {
323
+ // Check for validation errors first
324
+ const invalidCondition = status.conditions.find((c) => c.type === 'Valid' && c.status === 'False');
325
+ if (invalidCondition) {
326
+ return {
327
+ ready: false,
328
+ message: `CiliumClusterwideNetworkPolicy validation failed: ${invalidCondition.message || invalidCondition.reason || 'Unknown error'}`,
329
+ details: {
330
+ condition: invalidCondition,
331
+ state: status.state,
332
+ },
333
+ };
334
+ }
335
+ // Check for valid condition (Cilium uses 'Valid' instead of 'Ready')
336
+ const validCondition = status.conditions.find((c) => c.type === 'Valid' && c.status === 'True');
337
+ if (validCondition) {
338
+ return {
339
+ ready: true,
340
+ message: 'CiliumClusterwideNetworkPolicy is valid and applied cluster-wide',
341
+ details: {
342
+ condition: validCondition,
343
+ state: status.state,
344
+ lastTransition: validCondition.lastTransitionTime,
345
+ },
346
+ };
347
+ }
348
+ // Also check for Ready condition as fallback
349
+ const readyCondition = status.conditions.find((c) => c.type === 'Ready' && c.status === 'True');
350
+ if (readyCondition) {
351
+ return {
352
+ ready: true,
353
+ message: 'CiliumClusterwideNetworkPolicy is ready and applied cluster-wide',
354
+ details: {
355
+ condition: readyCondition,
356
+ state: status.state,
357
+ lastTransition: readyCondition.lastTransitionTime,
358
+ },
359
+ };
360
+ }
361
+ }
362
+ // Check state field as fallback
363
+ if (status.state) {
364
+ switch (status.state.toLowerCase()) {
365
+ case 'ready':
366
+ case 'applied':
367
+ return {
368
+ ready: true,
369
+ message: 'CiliumClusterwideNetworkPolicy is ready',
370
+ details: { state: status.state },
371
+ };
372
+ case 'error':
373
+ case 'failed':
374
+ return {
375
+ ready: false,
376
+ message: `CiliumClusterwideNetworkPolicy failed: ${status.message || 'Unknown error'}`,
377
+ details: { state: status.state },
378
+ };
379
+ case 'pending':
380
+ case 'applying':
381
+ return {
382
+ ready: false,
383
+ message: 'CiliumClusterwideNetworkPolicy is being applied cluster-wide',
384
+ details: { state: status.state },
385
+ };
386
+ default:
387
+ return {
388
+ ready: false,
389
+ message: `CiliumClusterwideNetworkPolicy in unknown state: ${status.state}`,
390
+ details: { state: status.state },
391
+ };
392
+ }
393
+ }
394
+ // Default to not ready if we can't determine status
395
+ return {
396
+ ready: false,
397
+ message: 'CiliumClusterwideNetworkPolicy status unclear',
398
+ details: { status },
399
+ };
400
+ };
401
+ /**
402
+ * Factory function for CiliumClusterwideNetworkPolicy
403
+ *
404
+ * Creates a cluster-wide Cilium network policy resource that applies across
405
+ * all nodes in the cluster. Supports node selection and cluster-wide rules.
406
+ *
407
+ * @param resource - CiliumClusterwideNetworkPolicy resource definition
408
+ * @returns Enhanced CiliumClusterwideNetworkPolicy resource with embedded readiness evaluator
409
+ *
410
+ * @example
411
+ * Cluster-wide deny-all policy:
412
+ * ```typescript
413
+ * const denyAll = ciliumClusterwideNetworkPolicy({
414
+ * apiVersion: 'cilium.io/v2',
415
+ * kind: 'CiliumClusterwideNetworkPolicy',
416
+ * metadata: {
417
+ * name: 'deny-all-ingress'
418
+ * },
419
+ * spec: {
420
+ * endpointSelector: {}, // Selects all endpoints
421
+ * ingress: [], // Empty ingress rules = deny all
422
+ * egress: [] // Empty egress rules = deny all
423
+ * }
424
+ * });
425
+ * ```
426
+ *
427
+ * @example
428
+ * Node-specific cluster policy:
429
+ * ```typescript
430
+ * const nodePolicy = ciliumClusterwideNetworkPolicy({
431
+ * apiVersion: 'cilium.io/v2',
432
+ * kind: 'CiliumClusterwideNetworkPolicy',
433
+ * metadata: {
434
+ * name: 'worker-node-policy'
435
+ * },
436
+ * spec: {
437
+ * nodeSelector: {
438
+ * matchLabels: { 'node-role.kubernetes.io/worker': '' }
439
+ * },
440
+ * ingress: [{
441
+ * fromEntities: ['host'],
442
+ * toPorts: [{
443
+ * ports: [{ port: '9100', protocol: 'TCP' }]
444
+ * }]
445
+ * }]
446
+ * }
447
+ * });
448
+ * ```
449
+ */
450
+ export function ciliumClusterwideNetworkPolicy(resource) {
451
+ // Validate required fields - allow CEL expressions, KubernetesRef objects, and JavaScript expression results
452
+ const name = resource.metadata?.name;
453
+ if (name === undefined || name === null) {
454
+ throw new Error('CiliumClusterwideNetworkPolicy name is required');
455
+ }
456
+ if (!resource.spec) {
457
+ throw new Error('CiliumClusterwideNetworkPolicy spec is required');
458
+ }
459
+ // Validate endpoint selector if provided (empty object {} is valid for selecting all endpoints)
460
+ if (resource.spec.endpointSelector && Object.keys(resource.spec.endpointSelector).length > 0) {
461
+ if (!resource.spec.endpointSelector.matchLabels &&
462
+ !resource.spec.endpointSelector.matchExpressions) {
463
+ throw new Error('CiliumClusterwideNetworkPolicy endpointSelector must have matchLabels or matchExpressions');
464
+ }
465
+ }
466
+ // Validate node selector if provided
467
+ if (resource.spec.nodeSelector) {
468
+ if (!resource.spec.nodeSelector.matchLabels && !resource.spec.nodeSelector.matchExpressions) {
469
+ throw new Error('CiliumClusterwideNetworkPolicy nodeSelector must have matchLabels or matchExpressions');
470
+ }
471
+ }
472
+ // Validate ingress rules if provided
473
+ if (resource.spec.ingress) {
474
+ resource.spec.ingress.forEach((rule, index) => {
475
+ if (!rule.fromEndpoints &&
476
+ !rule.fromCIDR &&
477
+ !rule.fromCIDRSet &&
478
+ !rule.fromEntities &&
479
+ !rule.fromGroups) {
480
+ throw new Error(`CiliumClusterwideNetworkPolicy ingress rule ${index} must specify at least one source`);
481
+ }
482
+ });
483
+ }
484
+ // Validate egress rules if provided
485
+ if (resource.spec.egress) {
486
+ resource.spec.egress.forEach((rule, index) => {
487
+ if (!rule.toEndpoints &&
488
+ !rule.toCIDR &&
489
+ !rule.toCIDRSet &&
490
+ !rule.toEntities &&
491
+ !rule.toGroups &&
492
+ !rule.toFQDNs) {
493
+ throw new Error(`CiliumClusterwideNetworkPolicy egress rule ${index} must specify at least one destination`);
494
+ }
495
+ });
496
+ }
497
+ return createResource({
498
+ ...resource,
499
+ apiVersion: 'cilium.io/v2',
500
+ kind: 'CiliumClusterwideNetworkPolicy',
501
+ metadata: resource.metadata ?? { name: 'unnamed-cilium-clusterwide-network-policy' },
502
+ }, { scope: 'cluster' }).withReadinessEvaluator(ciliumClusterwideNetworkPolicyReadinessEvaluator);
503
+ }
504
+ // =============================================================================
505
+ // SIMPLE FACTORY FUNCTIONS
506
+ // =============================================================================
507
+ /**
508
+ * Simple factory function for CiliumNetworkPolicy
509
+ *
510
+ * Creates a CiliumNetworkPolicy with simplified configuration and sensible defaults.
511
+ *
512
+ * @param config - Simplified CiliumNetworkPolicy configuration
513
+ * @returns Enhanced CiliumNetworkPolicy resource with embedded readiness evaluator
514
+ *
515
+ * @example
516
+ * ```typescript
517
+ * const policy = NetworkPolicy({
518
+ * name: 'allow-frontend',
519
+ * namespace: 'default',
520
+ * spec: {
521
+ * endpointSelector: {
522
+ * matchLabels: { app: 'frontend' }
523
+ * },
524
+ * ingress: [{
525
+ * fromEndpoints: [{
526
+ * matchLabels: { app: 'backend' }
527
+ * }],
528
+ * toPorts: [{
529
+ * ports: [{ port: '8080', protocol: 'TCP' }]
530
+ * }]
531
+ * }]
532
+ * },
533
+ * id: 'frontendPolicy'
534
+ * });
535
+ * ```
536
+ */
537
+ export function NetworkPolicy(config) {
538
+ return ciliumNetworkPolicy({
539
+ apiVersion: 'cilium.io/v2',
540
+ kind: 'CiliumNetworkPolicy',
541
+ metadata: {
542
+ name: config.name,
543
+ ...(config.namespace && { namespace: config.namespace }),
544
+ },
545
+ spec: config.spec,
546
+ ...(config.id && { id: config.id }),
547
+ });
548
+ }
549
+ /**
550
+ * Simple factory function for CiliumClusterwideNetworkPolicy
551
+ *
552
+ * Creates a CiliumClusterwideNetworkPolicy with simplified configuration and sensible defaults.
553
+ *
554
+ * @param config - Simplified CiliumClusterwideNetworkPolicy configuration
555
+ * @returns Enhanced CiliumClusterwideNetworkPolicy resource with embedded readiness evaluator
556
+ *
557
+ * @example
558
+ * ```typescript
559
+ * const denyAll = ClusterwideNetworkPolicy({
560
+ * name: 'deny-all-ingress',
561
+ * spec: {
562
+ * endpointSelector: {}, // Selects all endpoints
563
+ * ingress: [], // Empty ingress rules = deny all
564
+ * egress: [] // Empty egress rules = deny all
565
+ * },
566
+ * id: 'denyAllPolicy'
567
+ * });
568
+ * ```
569
+ */
570
+ export function ClusterwideNetworkPolicy(config) {
571
+ return ciliumClusterwideNetworkPolicy({
572
+ apiVersion: 'cilium.io/v2',
573
+ kind: 'CiliumClusterwideNetworkPolicy',
574
+ metadata: {
575
+ name: config.name,
576
+ },
577
+ spec: config.spec,
578
+ ...(config.id && { id: config.id }),
579
+ });
580
+ }
581
+ //# sourceMappingURL=networking.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"networking.js","sourceRoot":"","sources":["../../../../src/factories/cilium/resources/networking.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Cilium Observability CRD Factory Functions
3
+ *
4
+ * This module provides factory functions for Cilium observability resources:
5
+ * - Hubble configuration resources
6
+ * - Monitoring and metrics resources
7
+ */
8
+ export declare const __observabilityPlaceholder = true;
9
+ //# sourceMappingURL=observability.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"observability.d.ts","sourceRoot":"","sources":["../../../../src/factories/cilium/resources/observability.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,eAAO,MAAM,0BAA0B,OAAO,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Cilium Observability CRD Factory Functions
3
+ *
4
+ * This module provides factory functions for Cilium observability resources:
5
+ * - Hubble configuration resources
6
+ * - Monitoring and metrics resources
7
+ */
8
+ // TODO: Implement observability CRD factories in later tasks
9
+ // Placeholder export to make this a valid module
10
+ export const __observabilityPlaceholder = true;
11
+ //# sourceMappingURL=observability.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"observability.js","sourceRoot":"","sources":["../../../../src/factories/cilium/resources/observability.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,6DAA6D;AAE7D,iDAAiD;AACjD,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Cilium Security CRD Factory Functions
3
+ *
4
+ * This module provides factory functions for Cilium security resources:
5
+ * - CiliumEgressGatewayPolicy
6
+ * - CiliumLocalRedirectPolicy
7
+ * - CiliumCIDRGroup
8
+ */
9
+ export declare const __securityPlaceholder = true;
10
+ //# sourceMappingURL=security.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../../../src/factories/cilium/resources/security.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH,eAAO,MAAM,qBAAqB,OAAO,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Cilium Security CRD Factory Functions
3
+ *
4
+ * This module provides factory functions for Cilium security resources:
5
+ * - CiliumEgressGatewayPolicy
6
+ * - CiliumLocalRedirectPolicy
7
+ * - CiliumCIDRGroup
8
+ */
9
+ // TODO: Implement in task 8.1 - Create CiliumEgressGatewayPolicy factory
10
+ // TODO: Implement in task 8.2 - Create CiliumLocalRedirectPolicy factory
11
+ // TODO: Implement in task 8.3 - Create CiliumCIDRGroup factory
12
+ // Placeholder export to make this a valid module
13
+ export const __securityPlaceholder = true;
14
+ //# sourceMappingURL=security.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security.js","sourceRoot":"","sources":["../../../../src/factories/cilium/resources/security.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,yEAAyE;AACzE,yEAAyE;AACzE,+DAA+D;AAE/D,iDAAiD;AACjD,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC"}