typekro 0.5.0 → 0.7.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 (283) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/core/composition/context.d.ts +14 -0
  3. package/dist/core/composition/context.d.ts.map +1 -1
  4. package/dist/core/composition/context.js.map +1 -1
  5. package/dist/core/composition/imperative.d.ts.map +1 -1
  6. package/dist/core/composition/imperative.js +59 -30
  7. package/dist/core/composition/imperative.js.map +1 -1
  8. package/dist/core/composition/nested-status-cel.d.ts +50 -0
  9. package/dist/core/composition/nested-status-cel.d.ts.map +1 -0
  10. package/dist/core/composition/nested-status-cel.js +169 -0
  11. package/dist/core/composition/nested-status-cel.js.map +1 -0
  12. package/dist/core/constants/brands.d.ts +1 -1
  13. package/dist/core/constants/brands.d.ts.map +1 -1
  14. package/dist/core/constants/brands.js +1 -1
  15. package/dist/core/constants/brands.js.map +1 -1
  16. package/dist/core/containers/build.d.ts +50 -0
  17. package/dist/core/containers/build.d.ts.map +1 -0
  18. package/dist/core/containers/build.js +146 -0
  19. package/dist/core/containers/build.js.map +1 -0
  20. package/dist/core/containers/errors.d.ts +14 -0
  21. package/dist/core/containers/errors.d.ts.map +1 -0
  22. package/dist/core/containers/errors.js +48 -0
  23. package/dist/core/containers/errors.js.map +1 -0
  24. package/dist/core/containers/exec.d.ts +36 -0
  25. package/dist/core/containers/exec.d.ts.map +1 -0
  26. package/dist/core/containers/exec.js +110 -0
  27. package/dist/core/containers/exec.js.map +1 -0
  28. package/dist/core/containers/index.d.ts +21 -0
  29. package/dist/core/containers/index.d.ts.map +1 -0
  30. package/dist/core/containers/index.js +20 -0
  31. package/dist/core/containers/index.js.map +1 -0
  32. package/dist/core/containers/registries/ecr.d.ts +22 -0
  33. package/dist/core/containers/registries/ecr.d.ts.map +1 -0
  34. package/dist/core/containers/registries/ecr.js +118 -0
  35. package/dist/core/containers/registries/ecr.js.map +1 -0
  36. package/dist/core/containers/registries/index.d.ts +9 -0
  37. package/dist/core/containers/registries/index.d.ts.map +1 -0
  38. package/dist/core/containers/registries/index.js +23 -0
  39. package/dist/core/containers/registries/index.js.map +1 -0
  40. package/dist/core/containers/registries/orbstack.d.ts +14 -0
  41. package/dist/core/containers/registries/orbstack.d.ts.map +1 -0
  42. package/dist/core/containers/registries/orbstack.js +24 -0
  43. package/dist/core/containers/registries/orbstack.js.map +1 -0
  44. package/dist/core/containers/registries/types.d.ts +94 -0
  45. package/dist/core/containers/registries/types.d.ts.map +1 -0
  46. package/dist/core/containers/registries/types.js +11 -0
  47. package/dist/core/containers/registries/types.js.map +1 -0
  48. package/dist/core/dependencies/graph.d.ts +4 -0
  49. package/dist/core/dependencies/graph.d.ts.map +1 -1
  50. package/dist/core/dependencies/graph.js +6 -0
  51. package/dist/core/dependencies/graph.js.map +1 -1
  52. package/dist/core/dependencies/resolver.d.ts +28 -0
  53. package/dist/core/dependencies/resolver.d.ts.map +1 -1
  54. package/dist/core/dependencies/resolver.js +138 -5
  55. package/dist/core/dependencies/resolver.js.map +1 -1
  56. package/dist/core/deployment/direct-factory.d.ts +13 -0
  57. package/dist/core/deployment/direct-factory.d.ts.map +1 -1
  58. package/dist/core/deployment/direct-factory.js +99 -0
  59. package/dist/core/deployment/direct-factory.js.map +1 -1
  60. package/dist/core/deployment/engine.d.ts.map +1 -1
  61. package/dist/core/deployment/engine.js +45 -2
  62. package/dist/core/deployment/engine.js.map +1 -1
  63. package/dist/core/deployment/kro-factory.d.ts +7 -0
  64. package/dist/core/deployment/kro-factory.d.ts.map +1 -1
  65. package/dist/core/deployment/kro-factory.js +203 -9
  66. package/dist/core/deployment/kro-factory.js.map +1 -1
  67. package/dist/core/deployment/kro-readiness.d.ts.map +1 -1
  68. package/dist/core/deployment/kro-readiness.js +10 -1
  69. package/dist/core/deployment/kro-readiness.js.map +1 -1
  70. package/dist/core/deployment/nested-composition-status.d.ts +33 -0
  71. package/dist/core/deployment/nested-composition-status.d.ts.map +1 -0
  72. package/dist/core/deployment/nested-composition-status.js +101 -0
  73. package/dist/core/deployment/nested-composition-status.js.map +1 -0
  74. package/dist/core/deployment/readiness-waiter.d.ts.map +1 -1
  75. package/dist/core/deployment/readiness-waiter.js +23 -6
  76. package/dist/core/deployment/readiness-waiter.js.map +1 -1
  77. package/dist/core/deployment/rollback-manager.d.ts.map +1 -1
  78. package/dist/core/deployment/rollback-manager.js +19 -0
  79. package/dist/core/deployment/rollback-manager.js.map +1 -1
  80. package/dist/core/deployment/strategies/direct-strategy.d.ts +6 -0
  81. package/dist/core/deployment/strategies/direct-strategy.d.ts.map +1 -1
  82. package/dist/core/deployment/strategies/direct-strategy.js +133 -35
  83. package/dist/core/deployment/strategies/direct-strategy.js.map +1 -1
  84. package/dist/core/expressions/composition/imperative-analyzer.d.ts +8 -0
  85. package/dist/core/expressions/composition/imperative-analyzer.d.ts.map +1 -1
  86. package/dist/core/expressions/composition/imperative-analyzer.js +111 -16
  87. package/dist/core/expressions/composition/imperative-analyzer.js.map +1 -1
  88. package/dist/core/metadata/resource-metadata.d.ts +4 -0
  89. package/dist/core/metadata/resource-metadata.d.ts.map +1 -1
  90. package/dist/core/metadata/resource-metadata.js.map +1 -1
  91. package/dist/core/proxy/create-resource.d.ts.map +1 -1
  92. package/dist/core/proxy/create-resource.js +63 -21
  93. package/dist/core/proxy/create-resource.js.map +1 -1
  94. package/dist/core/references/external-refs.d.ts +2 -0
  95. package/dist/core/references/external-refs.d.ts.map +1 -1
  96. package/dist/core/references/external-refs.js +3 -0
  97. package/dist/core/references/external-refs.js.map +1 -1
  98. package/dist/core/references/resolver.d.ts +12 -4
  99. package/dist/core/references/resolver.d.ts.map +1 -1
  100. package/dist/core/references/resolver.js +152 -69
  101. package/dist/core/references/resolver.js.map +1 -1
  102. package/dist/core/references/schema-proxy.d.ts.map +1 -1
  103. package/dist/core/references/schema-proxy.js +5 -4
  104. package/dist/core/references/schema-proxy.js.map +1 -1
  105. package/dist/core/serialization/cel-references.d.ts +1 -1
  106. package/dist/core/serialization/cel-references.d.ts.map +1 -1
  107. package/dist/core/serialization/cel-references.js +133 -8
  108. package/dist/core/serialization/cel-references.js.map +1 -1
  109. package/dist/core/serialization/core.d.ts +2 -0
  110. package/dist/core/serialization/core.d.ts.map +1 -1
  111. package/dist/core/serialization/core.js +16 -2
  112. package/dist/core/serialization/core.js.map +1 -1
  113. package/dist/core/serialization/schema.d.ts +2 -2
  114. package/dist/core/serialization/schema.d.ts.map +1 -1
  115. package/dist/core/serialization/schema.js +34 -17
  116. package/dist/core/serialization/schema.js.map +1 -1
  117. package/dist/core/serialization/status-analysis-pipeline.d.ts +4 -0
  118. package/dist/core/serialization/status-analysis-pipeline.d.ts.map +1 -1
  119. package/dist/core/serialization/status-analysis-pipeline.js +127 -10
  120. package/dist/core/serialization/status-analysis-pipeline.js.map +1 -1
  121. package/dist/core/serialization/yaml.d.ts.map +1 -1
  122. package/dist/core/serialization/yaml.js +7 -2
  123. package/dist/core/serialization/yaml.js.map +1 -1
  124. package/dist/core/types/composable.d.ts +62 -0
  125. package/dist/core/types/composable.d.ts.map +1 -0
  126. package/dist/core/types/composable.js +51 -0
  127. package/dist/core/types/composable.js.map +1 -0
  128. package/dist/core/types/deployment.d.ts +2 -1
  129. package/dist/core/types/deployment.d.ts.map +1 -1
  130. package/dist/core/types/index.d.ts +1 -0
  131. package/dist/core/types/index.d.ts.map +1 -1
  132. package/dist/core/types/index.js +1 -0
  133. package/dist/core/types/index.js.map +1 -1
  134. package/dist/core/types/serialization.d.ts +2 -1
  135. package/dist/core/types/serialization.d.ts.map +1 -1
  136. package/dist/core/validation/cel-validator.d.ts.map +1 -1
  137. package/dist/core/validation/cel-validator.js +55 -31
  138. package/dist/core/validation/cel-validator.js.map +1 -1
  139. package/dist/factories/cnpg/compositions/cnpg-bootstrap.d.ts +55 -0
  140. package/dist/factories/cnpg/compositions/cnpg-bootstrap.d.ts.map +1 -0
  141. package/dist/factories/cnpg/compositions/cnpg-bootstrap.js +92 -0
  142. package/dist/factories/cnpg/compositions/cnpg-bootstrap.js.map +1 -0
  143. package/dist/factories/cnpg/compositions/index.d.ts +2 -0
  144. package/dist/factories/cnpg/compositions/index.d.ts.map +1 -0
  145. package/dist/factories/cnpg/compositions/index.js +2 -0
  146. package/dist/factories/cnpg/compositions/index.js.map +1 -0
  147. package/dist/factories/cnpg/index.d.ts +42 -0
  148. package/dist/factories/cnpg/index.d.ts.map +1 -0
  149. package/dist/factories/cnpg/index.js +42 -0
  150. package/dist/factories/cnpg/index.js.map +1 -0
  151. package/dist/factories/cnpg/resources/backup.d.ts +34 -0
  152. package/dist/factories/cnpg/resources/backup.d.ts.map +1 -0
  153. package/dist/factories/cnpg/resources/backup.js +87 -0
  154. package/dist/factories/cnpg/resources/backup.js.map +1 -0
  155. package/dist/factories/cnpg/resources/cluster.d.ts +55 -0
  156. package/dist/factories/cnpg/resources/cluster.d.ts.map +1 -0
  157. package/dist/factories/cnpg/resources/cluster.js +123 -0
  158. package/dist/factories/cnpg/resources/cluster.js.map +1 -0
  159. package/dist/factories/cnpg/resources/helm.d.ts +45 -0
  160. package/dist/factories/cnpg/resources/helm.d.ts.map +1 -0
  161. package/dist/factories/cnpg/resources/helm.js +78 -0
  162. package/dist/factories/cnpg/resources/helm.js.map +1 -0
  163. package/dist/factories/cnpg/resources/index.d.ts +6 -0
  164. package/dist/factories/cnpg/resources/index.d.ts.map +1 -0
  165. package/dist/factories/cnpg/resources/index.js +6 -0
  166. package/dist/factories/cnpg/resources/index.js.map +1 -0
  167. package/dist/factories/cnpg/resources/pooler.d.ts +38 -0
  168. package/dist/factories/cnpg/resources/pooler.d.ts.map +1 -0
  169. package/dist/factories/cnpg/resources/pooler.js +97 -0
  170. package/dist/factories/cnpg/resources/pooler.js.map +1 -0
  171. package/dist/factories/cnpg/resources/scheduled-backup.d.ts +35 -0
  172. package/dist/factories/cnpg/resources/scheduled-backup.d.ts.map +1 -0
  173. package/dist/factories/cnpg/resources/scheduled-backup.js +68 -0
  174. package/dist/factories/cnpg/resources/scheduled-backup.js.map +1 -0
  175. package/dist/factories/cnpg/types.d.ts +507 -0
  176. package/dist/factories/cnpg/types.d.ts.map +1 -0
  177. package/dist/factories/cnpg/types.js +398 -0
  178. package/dist/factories/cnpg/types.js.map +1 -0
  179. package/dist/factories/cnpg/utils/helm-values-mapper.d.ts +70 -0
  180. package/dist/factories/cnpg/utils/helm-values-mapper.d.ts.map +1 -0
  181. package/dist/factories/cnpg/utils/helm-values-mapper.js +79 -0
  182. package/dist/factories/cnpg/utils/helm-values-mapper.js.map +1 -0
  183. package/dist/factories/cnpg/utils/index.d.ts +2 -0
  184. package/dist/factories/cnpg/utils/index.d.ts.map +1 -0
  185. package/dist/factories/cnpg/utils/index.js +2 -0
  186. package/dist/factories/cnpg/utils/index.js.map +1 -0
  187. package/dist/factories/helm/helm-release.d.ts.map +1 -1
  188. package/dist/factories/helm/helm-release.js +4 -0
  189. package/dist/factories/helm/helm-release.js.map +1 -1
  190. package/dist/factories/helm/types.d.ts +2 -0
  191. package/dist/factories/helm/types.d.ts.map +1 -1
  192. package/dist/factories/inngest/compositions/index.d.ts +2 -0
  193. package/dist/factories/inngest/compositions/index.d.ts.map +1 -0
  194. package/dist/factories/inngest/compositions/index.js +2 -0
  195. package/dist/factories/inngest/compositions/index.js.map +1 -0
  196. package/dist/factories/inngest/compositions/inngest-bootstrap.d.ts +150 -0
  197. package/dist/factories/inngest/compositions/inngest-bootstrap.d.ts.map +1 -0
  198. package/dist/factories/inngest/compositions/inngest-bootstrap.js +90 -0
  199. package/dist/factories/inngest/compositions/inngest-bootstrap.js.map +1 -0
  200. package/dist/factories/inngest/index.d.ts +45 -0
  201. package/dist/factories/inngest/index.d.ts.map +1 -0
  202. package/dist/factories/inngest/index.js +45 -0
  203. package/dist/factories/inngest/index.js.map +1 -0
  204. package/dist/factories/inngest/resources/helm.d.ts +53 -0
  205. package/dist/factories/inngest/resources/helm.d.ts.map +1 -0
  206. package/dist/factories/inngest/resources/helm.js +88 -0
  207. package/dist/factories/inngest/resources/helm.js.map +1 -0
  208. package/dist/factories/inngest/resources/index.d.ts +2 -0
  209. package/dist/factories/inngest/resources/index.d.ts.map +1 -0
  210. package/dist/factories/inngest/resources/index.js +2 -0
  211. package/dist/factories/inngest/resources/index.js.map +1 -0
  212. package/dist/factories/inngest/types.d.ts +177 -0
  213. package/dist/factories/inngest/types.d.ts.map +1 -0
  214. package/dist/factories/inngest/types.js +189 -0
  215. package/dist/factories/inngest/types.js.map +1 -0
  216. package/dist/factories/inngest/utils/helm-values-mapper.d.ts +127 -0
  217. package/dist/factories/inngest/utils/helm-values-mapper.d.ts.map +1 -0
  218. package/dist/factories/inngest/utils/helm-values-mapper.js +116 -0
  219. package/dist/factories/inngest/utils/helm-values-mapper.js.map +1 -0
  220. package/dist/factories/inngest/utils/index.d.ts +2 -0
  221. package/dist/factories/inngest/utils/index.d.ts.map +1 -0
  222. package/dist/factories/inngest/utils/index.js +2 -0
  223. package/dist/factories/inngest/utils/index.js.map +1 -0
  224. package/dist/factories/kubernetes/core/namespace.d.ts.map +1 -1
  225. package/dist/factories/kubernetes/core/namespace.js +1 -1
  226. package/dist/factories/kubernetes/core/namespace.js.map +1 -1
  227. package/dist/factories/valkey/compositions/index.d.ts +2 -0
  228. package/dist/factories/valkey/compositions/index.d.ts.map +1 -0
  229. package/dist/factories/valkey/compositions/index.js +2 -0
  230. package/dist/factories/valkey/compositions/index.js.map +1 -0
  231. package/dist/factories/valkey/compositions/valkey-bootstrap.d.ts +41 -0
  232. package/dist/factories/valkey/compositions/valkey-bootstrap.d.ts.map +1 -0
  233. package/dist/factories/valkey/compositions/valkey-bootstrap.js +105 -0
  234. package/dist/factories/valkey/compositions/valkey-bootstrap.js.map +1 -0
  235. package/dist/factories/valkey/index.d.ts +50 -0
  236. package/dist/factories/valkey/index.d.ts.map +1 -0
  237. package/dist/factories/valkey/index.js +50 -0
  238. package/dist/factories/valkey/index.js.map +1 -0
  239. package/dist/factories/valkey/resources/helm.d.ts +53 -0
  240. package/dist/factories/valkey/resources/helm.d.ts.map +1 -0
  241. package/dist/factories/valkey/resources/helm.js +82 -0
  242. package/dist/factories/valkey/resources/helm.js.map +1 -0
  243. package/dist/factories/valkey/resources/index.d.ts +3 -0
  244. package/dist/factories/valkey/resources/index.d.ts.map +1 -0
  245. package/dist/factories/valkey/resources/index.js +3 -0
  246. package/dist/factories/valkey/resources/index.js.map +1 -0
  247. package/dist/factories/valkey/resources/valkey.d.ts +46 -0
  248. package/dist/factories/valkey/resources/valkey.d.ts.map +1 -0
  249. package/dist/factories/valkey/resources/valkey.js +123 -0
  250. package/dist/factories/valkey/resources/valkey.js.map +1 -0
  251. package/dist/factories/valkey/types.d.ts +185 -0
  252. package/dist/factories/valkey/types.d.ts.map +1 -0
  253. package/dist/factories/valkey/types.js +204 -0
  254. package/dist/factories/valkey/types.js.map +1 -0
  255. package/dist/factories/valkey/utils/helm-values-mapper.d.ts +32 -0
  256. package/dist/factories/valkey/utils/helm-values-mapper.d.ts.map +1 -0
  257. package/dist/factories/valkey/utils/helm-values-mapper.js +58 -0
  258. package/dist/factories/valkey/utils/helm-values-mapper.js.map +1 -0
  259. package/dist/factories/valkey/utils/index.d.ts +2 -0
  260. package/dist/factories/valkey/utils/index.d.ts.map +1 -0
  261. package/dist/factories/valkey/utils/index.js +2 -0
  262. package/dist/factories/valkey/utils/index.js.map +1 -0
  263. package/dist/factories/webapp/compositions/index.d.ts +2 -0
  264. package/dist/factories/webapp/compositions/index.d.ts.map +1 -0
  265. package/dist/factories/webapp/compositions/index.js +2 -0
  266. package/dist/factories/webapp/compositions/index.js.map +1 -0
  267. package/dist/factories/webapp/compositions/web-app-with-processing.d.ts +98 -0
  268. package/dist/factories/webapp/compositions/web-app-with-processing.d.ts.map +1 -0
  269. package/dist/factories/webapp/compositions/web-app-with-processing.js +221 -0
  270. package/dist/factories/webapp/compositions/web-app-with-processing.js.map +1 -0
  271. package/dist/factories/webapp/index.d.ts +53 -0
  272. package/dist/factories/webapp/index.d.ts.map +1 -0
  273. package/dist/factories/webapp/index.js +53 -0
  274. package/dist/factories/webapp/index.js.map +1 -0
  275. package/dist/factories/webapp/types.d.ts +69 -0
  276. package/dist/factories/webapp/types.d.ts.map +1 -0
  277. package/dist/factories/webapp/types.js +92 -0
  278. package/dist/factories/webapp/types.js.map +1 -0
  279. package/dist/shared/brands.d.ts +16 -0
  280. package/dist/shared/brands.d.ts.map +1 -1
  281. package/dist/shared/brands.js +16 -0
  282. package/dist/shared/brands.js.map +1 -1
  283. package/package.json +25 -1
@@ -1 +1 @@
1
- {"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../../../src/factories/kubernetes/core/namespace.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AASjD;;;;;;;;;GASG;AACH,MAAM,UAAU,SAAS,CAAC,QAAyB;IACjD,OAAO,cAAc,CAAC;QACpB,GAAG,QAAQ;QACX,GAAG,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC;QACvC,UAAU,EAAE,IAAI;QAChB,IAAI,EAAE,WAAW;QACjB,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,EAAE,IAAI,EAAE,mBAAmB,EAAE;KAC7D,CAAC,CAAC,sBAAsB,CAAC,CAAC,YAAyB,EAAE,EAAE;QACtD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;YAEnC,mCAAmC;YACnC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO;oBACL,KAAK,EAAE,KAAK;oBACZ,MAAM,EAAE,eAAe;oBACvB,OAAO,EAAE,oCAAoC;iBAC9C,CAAC;YACJ,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YAE3B,0CAA0C;YAC1C,MAAM,KAAK,GAAG,KAAK,KAAK,QAAQ,CAAC;YAEjC,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO;oBACL,KAAK,EAAE,IAAI;oBACX,OAAO,EAAE,+BAA+B;iBACzC,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,OAAO;oBACL,KAAK,EAAE,KAAK;oBACZ,MAAM,EAAE,WAAW;oBACnB,OAAO,EAAE,sBAAsB,KAAK,IAAI,SAAS,4BAA4B;oBAC7E,OAAO,EAAE,EAAE,KAAK,EAAE;iBACnB,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,iBAAiB;gBACzB,OAAO,EAAE,yCAAyC,WAAW,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE;gBAC9E,OAAO,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE;aAC/C,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../../../src/factories/kubernetes/core/namespace.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AASjD;;;;;;;;;GASG;AACH,MAAM,UAAU,SAAS,CAAC,QAAyB;IACjD,OAAO,cAAc,CACnB;QACE,GAAG,QAAQ;QACX,GAAG,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC;QACvC,UAAU,EAAE,IAAI;QAChB,IAAI,EAAE,WAAW;QACjB,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,EAAE,IAAI,EAAE,mBAAmB,EAAE;KAC7D,EACD,EAAE,KAAK,EAAE,SAAS,EAAE,CACrB,CAAC,sBAAsB,CAAC,CAAC,YAAyB,EAAE,EAAE;QACrD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;YAEnC,mCAAmC;YACnC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO;oBACL,KAAK,EAAE,KAAK;oBACZ,MAAM,EAAE,eAAe;oBACvB,OAAO,EAAE,oCAAoC;iBAC9C,CAAC;YACJ,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YAE3B,0CAA0C;YAC1C,MAAM,KAAK,GAAG,KAAK,KAAK,QAAQ,CAAC;YAEjC,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO;oBACL,KAAK,EAAE,IAAI;oBACX,OAAO,EAAE,+BAA+B;iBACzC,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,OAAO;oBACL,KAAK,EAAE,KAAK;oBACZ,MAAM,EAAE,WAAW;oBACnB,OAAO,EAAE,sBAAsB,KAAK,IAAI,SAAS,4BAA4B;oBAC7E,OAAO,EAAE,EAAE,KAAK,EAAE;iBACnB,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,iBAAiB;gBACzB,OAAO,EAAE,yCAAyC,WAAW,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE;gBAC9E,OAAO,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE;aAC/C,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { valkeyBootstrap } from './valkey-bootstrap.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/factories/valkey/compositions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { valkeyBootstrap } from './valkey-bootstrap.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/factories/valkey/compositions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Hyperspike Valkey Operator Bootstrap Composition
3
+ *
4
+ * Deploys the Hyperspike Valkey operator via HelmRepository and HelmRelease.
5
+ * The operator manages Valkey clusters as Kubernetes-native resources.
6
+ *
7
+ * This composition:
8
+ * 1. Creates the target namespace
9
+ * 2. Creates a HelmRepository pointing to the Hyperspike OCI registry
10
+ * 3. Creates a HelmRelease that installs the operator
11
+ *
12
+ * After the operator is running, use the `valkey()` factory to create
13
+ * Valkey cluster resources.
14
+ *
15
+ * @example
16
+ * ```typescript
17
+ * // 'kro' = KRO mode (continuous reconciliation via ResourceGraphDefinition)
18
+ * // 'direct' = Direct mode (immediate apply, no KRO controller needed)
19
+ * const factory = valkeyBootstrap.factory('kro', {
20
+ * namespace: 'valkey-operator-system',
21
+ * waitForReady: true,
22
+ * });
23
+ *
24
+ * await factory.deploy({
25
+ * name: 'valkey-operator',
26
+ * namespace: 'valkey-operator-system',
27
+ * });
28
+ * ```
29
+ */
30
+ export declare const valkeyBootstrap: import("../../../index.js").CallableComposition<{
31
+ name: string;
32
+ namespace?: string;
33
+ version?: string;
34
+ customValues?: Record<string, unknown>;
35
+ }, {
36
+ phase: "Ready" | "Installing";
37
+ ready: boolean;
38
+ failed: boolean;
39
+ version?: string;
40
+ }>;
41
+ //# sourceMappingURL=valkey-bootstrap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"valkey-bootstrap.d.ts","sourceRoot":"","sources":["../../../../src/factories/valkey/compositions/valkey-bootstrap.ts"],"names":[],"mappings":"AA0BA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;EA4E3B,CAAC"}
@@ -0,0 +1,105 @@
1
+ import { kubernetesComposition } from '../../../core/composition/imperative.js';
2
+ import { DEFAULT_FLUX_NAMESPACE } from '../../../core/config/defaults.js';
3
+ import { Cel } from '../../../core/references/cel.js';
4
+ import { namespace } from '../../kubernetes/core/namespace.js';
5
+ import { DEFAULT_VALKEY_REPO_NAME, DEFAULT_VALKEY_VERSION, valkeyHelmRelease, valkeyHelmRepository, } from '../resources/helm.js';
6
+ import { ValkeyBootstrapConfigSchema, ValkeyBootstrapStatusSchema, } from '../types.js';
7
+ import { mapValkeyConfigToHelmValues } from '../utils/helm-values-mapper.js';
8
+ /**
9
+ * Strips the '-chart' suffix from a Hyperspike version tag for labeling.
10
+ * The Helm chart version (e.g. 'v0.0.61-chart') differs from the app version
11
+ * ('v0.0.61'). Labels should use the app version per k8s well-known labels spec.
12
+ */
13
+ function stripChartSuffix(version) {
14
+ return version.replace(/-chart$/, '');
15
+ }
16
+ /**
17
+ * Hyperspike Valkey Operator Bootstrap Composition
18
+ *
19
+ * Deploys the Hyperspike Valkey operator via HelmRepository and HelmRelease.
20
+ * The operator manages Valkey clusters as Kubernetes-native resources.
21
+ *
22
+ * This composition:
23
+ * 1. Creates the target namespace
24
+ * 2. Creates a HelmRepository pointing to the Hyperspike OCI registry
25
+ * 3. Creates a HelmRelease that installs the operator
26
+ *
27
+ * After the operator is running, use the `valkey()` factory to create
28
+ * Valkey cluster resources.
29
+ *
30
+ * @example
31
+ * ```typescript
32
+ * // 'kro' = KRO mode (continuous reconciliation via ResourceGraphDefinition)
33
+ * // 'direct' = Direct mode (immediate apply, no KRO controller needed)
34
+ * const factory = valkeyBootstrap.factory('kro', {
35
+ * namespace: 'valkey-operator-system',
36
+ * waitForReady: true,
37
+ * });
38
+ *
39
+ * await factory.deploy({
40
+ * name: 'valkey-operator',
41
+ * namespace: 'valkey-operator-system',
42
+ * });
43
+ * ```
44
+ */
45
+ export const valkeyBootstrap = kubernetesComposition({
46
+ name: 'valkey-bootstrap',
47
+ kind: 'ValkeyBootstrap',
48
+ spec: ValkeyBootstrapConfigSchema,
49
+ status: ValkeyBootstrapStatusSchema,
50
+ }, (spec) => {
51
+ const resolvedNamespace = spec.namespace || 'valkey-operator-system';
52
+ const resolvedVersion = spec.version || DEFAULT_VALKEY_VERSION;
53
+ const appVersion = stripChartSuffix(resolvedVersion);
54
+ const helmValues = mapValkeyConfigToHelmValues({
55
+ ...spec,
56
+ namespace: resolvedNamespace,
57
+ version: resolvedVersion,
58
+ });
59
+ // Resources are _-prefixed because they're registered via side effects in the
60
+ // kubernetesComposition callback — the composition captures them automatically.
61
+ // They're referenced in the status return via their `id`.
62
+ const _valkeyNamespace = namespace({
63
+ metadata: {
64
+ name: resolvedNamespace,
65
+ labels: {
66
+ 'app.kubernetes.io/name': 'valkey-operator',
67
+ 'app.kubernetes.io/instance': spec.name,
68
+ 'app.kubernetes.io/version': appVersion,
69
+ 'app.kubernetes.io/managed-by': 'typekro',
70
+ },
71
+ },
72
+ id: 'valkeyNamespace',
73
+ });
74
+ // OCI HelmRepositories don't have status in Flux, which can cause the deploy
75
+ // engine to block waiting for readiness. Create both resources but don't depend
76
+ // on the repository readiness — Flux handles the OCI → chart resolution internally.
77
+ const _helmRepository = valkeyHelmRepository({
78
+ name: DEFAULT_VALKEY_REPO_NAME,
79
+ namespace: DEFAULT_FLUX_NAMESPACE,
80
+ id: 'valkeyHelmRepository',
81
+ });
82
+ const _helmRelease = valkeyHelmRelease({
83
+ name: spec.name,
84
+ namespace: resolvedNamespace,
85
+ version: resolvedVersion,
86
+ values: helmValues,
87
+ repositoryName: DEFAULT_VALKEY_REPO_NAME,
88
+ id: 'valkeyHelmRelease',
89
+ });
90
+ // Status derived from HelmRelease conditions.
91
+ return {
92
+ ready: Cel.expr(_helmRelease.status.conditions, '.exists(c, c.type == "Ready" && c.status == "True")'),
93
+ // Phase cannot distinguish Failed from Installing due to a CEL evaluator
94
+ // limitation (#48). Use the `failed` field for failure detection.
95
+ phase: Cel.expr(_helmRelease.status.conditions, '.exists(c, c.type == "Ready" && c.status == "True") ? "Ready" : "Installing"'),
96
+ // Separate failed boolean — workaround for the nested CEL ternary limitation.
97
+ // True when the Ready condition is explicitly False (not just absent/Unknown).
98
+ failed: Cel.expr(_helmRelease.status.conditions, '.exists(c, c.type == "Ready" && c.status == "False")'),
99
+ // Static version from deploy-time config, not derived from live HelmRelease
100
+ // status. If the operator is upgraded out-of-band (e.g. Flux automation),
101
+ // this value will not reflect the running version.
102
+ version: appVersion,
103
+ };
104
+ });
105
+ //# sourceMappingURL=valkey-bootstrap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"valkey-bootstrap.js","sourceRoot":"","sources":["../../../../src/factories/valkey/compositions/valkey-bootstrap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,GAAG,EAAE,MAAM,iCAAiC,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,EACL,wBAAwB,EACxB,sBAAsB,EACtB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAEL,2BAA2B,EAC3B,2BAA2B,GAC5B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAE7E;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,OAAe;IACvC,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;AACxC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,qBAAqB,CAClD;IACE,IAAI,EAAE,kBAAkB;IACxB,IAAI,EAAE,iBAAiB;IACvB,IAAI,EAAE,2BAA2B;IACjC,MAAM,EAAE,2BAA2B;CACpC,EACD,CAAC,IAA2B,EAAE,EAAE;IAC9B,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,IAAI,wBAAwB,CAAC;IACrE,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,IAAI,sBAAsB,CAAC;IAC/D,MAAM,UAAU,GAAG,gBAAgB,CAAC,eAAe,CAAC,CAAC;IAErD,MAAM,UAAU,GAAG,2BAA2B,CAAC;QAC7C,GAAG,IAAI;QACP,SAAS,EAAE,iBAAiB;QAC5B,OAAO,EAAE,eAAe;KACzB,CAAC,CAAC;IAEH,8EAA8E;IAC9E,gFAAgF;IAChF,0DAA0D;IAC1D,MAAM,gBAAgB,GAAG,SAAS,CAAC;QACjC,QAAQ,EAAE;YACR,IAAI,EAAE,iBAAiB;YACvB,MAAM,EAAE;gBACN,wBAAwB,EAAE,iBAAiB;gBAC3C,4BAA4B,EAAE,IAAI,CAAC,IAAI;gBACvC,2BAA2B,EAAE,UAAU;gBACvC,8BAA8B,EAAE,SAAS;aAC1C;SACF;QACD,EAAE,EAAE,iBAAiB;KACtB,CAAC,CAAC;IAEH,6EAA6E;IAC7E,gFAAgF;IAChF,oFAAoF;IACpF,MAAM,eAAe,GAAG,oBAAoB,CAAC;QAC3C,IAAI,EAAE,wBAAwB;QAC9B,SAAS,EAAE,sBAAsB;QACjC,EAAE,EAAE,sBAAsB;KAC3B,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,iBAAiB,CAAC;QACrC,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,SAAS,EAAE,iBAAiB;QAC5B,OAAO,EAAE,eAAe;QACxB,MAAM,EAAE,UAAU;QAClB,cAAc,EAAE,wBAAwB;QACxC,EAAE,EAAE,mBAAmB;KACxB,CAAC,CAAC;IAEH,8CAA8C;IAC9C,OAAO;QACL,KAAK,EAAE,GAAG,CAAC,IAAI,CACb,YAAY,CAAC,MAAM,CAAC,UAAU,EAC9B,qDAAqD,CACtD;QACD,yEAAyE;QACzE,kEAAkE;QAClE,KAAK,EAAE,GAAG,CAAC,IAAI,CACb,YAAY,CAAC,MAAM,CAAC,UAAU,EAC9B,8EAA8E,CAC/E;QACD,8EAA8E;QAC9E,+EAA+E;QAC/E,MAAM,EAAE,GAAG,CAAC,IAAI,CACd,YAAY,CAAC,MAAM,CAAC,UAAU,EAC9B,sDAAsD,CACvD;QACD,4EAA4E;QAC5E,0EAA0E;QAC1E,mDAAmD;QACnD,OAAO,EAAE,UAAU;KACpB,CAAC;AACJ,CAAC,CACF,CAAC"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Hyperspike Valkey Operator Integration for TypeKro
3
+ *
4
+ * Provides type-safe factories for managing Valkey clusters on Kubernetes
5
+ * using the Hyperspike Valkey operator.
6
+ *
7
+ * ## Resources
8
+ * - `valkey()` — Valkey cluster (sharded with optional replicas)
9
+ * - `valkeyHelmRepository()` — Helm chart repository (OCI)
10
+ * - `valkeyHelmRelease()` — Operator installation via Helm
11
+ *
12
+ * ## Compositions
13
+ * - `valkeyBootstrap` — Complete operator deployment (namespace + Helm repo + release)
14
+ *
15
+ * @example
16
+ * ```typescript
17
+ * import { valkeyBootstrap, valkey } from 'typekro/valkey';
18
+ *
19
+ * // Install the operator
20
+ * const operatorFactory = valkeyBootstrap.factory('kro', {
21
+ * namespace: 'valkey-operator-system',
22
+ * });
23
+ * await operatorFactory.deploy({
24
+ * name: 'valkey-operator',
25
+ * namespace: 'valkey-operator-system',
26
+ * });
27
+ *
28
+ * // Create a Valkey cluster
29
+ * const cache = valkey({
30
+ * name: 'app-cache',
31
+ * namespace: 'default',
32
+ * spec: {
33
+ * shards: 3,
34
+ * replicas: 1,
35
+ * storage: {
36
+ * resources: { requests: { storage: '10Gi' } },
37
+ * },
38
+ * },
39
+ * id: 'appCache',
40
+ * });
41
+ * ```
42
+ *
43
+ * @see https://github.com/hyperspike/valkey-operator
44
+ * @module
45
+ */
46
+ export * from './compositions/index.js';
47
+ export * from './resources/index.js';
48
+ export * from './types.js';
49
+ export * from './utils/index.js';
50
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/factories/valkey/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Hyperspike Valkey Operator Integration for TypeKro
3
+ *
4
+ * Provides type-safe factories for managing Valkey clusters on Kubernetes
5
+ * using the Hyperspike Valkey operator.
6
+ *
7
+ * ## Resources
8
+ * - `valkey()` — Valkey cluster (sharded with optional replicas)
9
+ * - `valkeyHelmRepository()` — Helm chart repository (OCI)
10
+ * - `valkeyHelmRelease()` — Operator installation via Helm
11
+ *
12
+ * ## Compositions
13
+ * - `valkeyBootstrap` — Complete operator deployment (namespace + Helm repo + release)
14
+ *
15
+ * @example
16
+ * ```typescript
17
+ * import { valkeyBootstrap, valkey } from 'typekro/valkey';
18
+ *
19
+ * // Install the operator
20
+ * const operatorFactory = valkeyBootstrap.factory('kro', {
21
+ * namespace: 'valkey-operator-system',
22
+ * });
23
+ * await operatorFactory.deploy({
24
+ * name: 'valkey-operator',
25
+ * namespace: 'valkey-operator-system',
26
+ * });
27
+ *
28
+ * // Create a Valkey cluster
29
+ * const cache = valkey({
30
+ * name: 'app-cache',
31
+ * namespace: 'default',
32
+ * spec: {
33
+ * shards: 3,
34
+ * replicas: 1,
35
+ * storage: {
36
+ * resources: { requests: { storage: '10Gi' } },
37
+ * },
38
+ * },
39
+ * id: 'appCache',
40
+ * });
41
+ * ```
42
+ *
43
+ * @see https://github.com/hyperspike/valkey-operator
44
+ * @module
45
+ */
46
+ export * from './compositions/index.js';
47
+ export * from './resources/index.js';
48
+ export * from './types.js';
49
+ export * from './utils/index.js';
50
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/factories/valkey/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Hyperspike Valkey Operator Helm Resource Factories
3
+ *
4
+ * Wrappers around the generic Helm factories with Valkey-specific defaults.
5
+ * Used by the valkeyBootstrap composition to install the operator.
6
+ *
7
+ * Note: The Hyperspike operator uses an OCI registry (ghcr.io), not a
8
+ * traditional Helm chart repository. Flux HelmRepository supports OCI
9
+ * via `type: oci` in the spec.
10
+ */
11
+ import type { Composable, Enhanced } from '../../../core/types/index.js';
12
+ import { type HelmRepositorySpec, type HelmRepositoryStatus } from '../../helm/helm-repository.js';
13
+ import type { HelmReleaseSpec, HelmReleaseStatus } from '../../helm/types.js';
14
+ import type { ValkeyHelmReleaseConfig, ValkeyHelmRepositoryConfig } from '../types.js';
15
+ /** Default OCI registry URL for the Hyperspike charts. */
16
+ export declare const DEFAULT_VALKEY_REPO_URL = "oci://ghcr.io/hyperspike";
17
+ /** Default chart version (Hyperspike uses 'v{version}-chart' tag format). */
18
+ export declare const DEFAULT_VALKEY_VERSION = "v0.0.61-chart";
19
+ /** Default HelmRepository resource name. */
20
+ export declare const DEFAULT_VALKEY_REPO_NAME = "valkey-operator-repo";
21
+ /**
22
+ * Create a HelmRepository for the Hyperspike Valkey operator OCI registry.
23
+ *
24
+ * @param config - Repository configuration with Valkey-specific defaults
25
+ * @returns Enhanced HelmRepository resource
26
+ *
27
+ * @example
28
+ * ```typescript
29
+ * const repo = valkeyHelmRepository({
30
+ * name: 'valkey-operator-repo',
31
+ * namespace: 'flux-system',
32
+ * id: 'valkeyHelmRepository',
33
+ * });
34
+ * ```
35
+ */
36
+ export declare function valkeyHelmRepository(config: Composable<ValkeyHelmRepositoryConfig>): Enhanced<HelmRepositorySpec, HelmRepositoryStatus>;
37
+ /**
38
+ * Create a HelmRelease for the Hyperspike Valkey operator.
39
+ *
40
+ * @param config - Release configuration with Valkey-specific defaults
41
+ * @returns Enhanced HelmRelease resource
42
+ *
43
+ * @example
44
+ * ```typescript
45
+ * const release = valkeyHelmRelease({
46
+ * name: 'valkey-operator',
47
+ * namespace: 'valkey-operator-system',
48
+ * id: 'valkeyHelmRelease',
49
+ * });
50
+ * ```
51
+ */
52
+ export declare function valkeyHelmRelease(config: Composable<ValkeyHelmReleaseConfig>): Enhanced<HelmReleaseSpec, HelmReleaseStatus>;
53
+ //# sourceMappingURL=helm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helm.d.ts","sourceRoot":"","sources":["../../../../src/factories/valkey/resources/helm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,EAGL,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EAC1B,MAAM,+BAA+B,CAAC;AAEvC,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE9E,OAAO,KAAK,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAEvF,0DAA0D;AAC1D,eAAO,MAAM,uBAAuB,6BAA6B,CAAC;AAElE,6EAA6E;AAC7E,eAAO,MAAM,sBAAsB,kBAAkB,CAAC;AAEtD,4CAA4C;AAC5C,eAAO,MAAM,wBAAwB,yBAAyB,CAAC;AAE/D;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,UAAU,CAAC,0BAA0B,CAAC,GAC7C,QAAQ,CAAC,kBAAkB,EAAE,oBAAoB,CAAC,CAWpD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,UAAU,CAAC,uBAAuB,CAAC,GAC1C,QAAQ,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAuB9C"}
@@ -0,0 +1,82 @@
1
+ /**
2
+ * Hyperspike Valkey Operator Helm Resource Factories
3
+ *
4
+ * Wrappers around the generic Helm factories with Valkey-specific defaults.
5
+ * Used by the valkeyBootstrap composition to install the operator.
6
+ *
7
+ * Note: The Hyperspike operator uses an OCI registry (ghcr.io), not a
8
+ * traditional Helm chart repository. Flux HelmRepository supports OCI
9
+ * via `type: oci` in the spec.
10
+ */
11
+ import { DEFAULT_FLUX_NAMESPACE } from '../../../core/config/defaults.js';
12
+ import { createHelmRepositoryReadinessEvaluator, helmRepository, } from '../../helm/helm-repository.js';
13
+ import { createLabeledHelmReleaseEvaluator } from '../../helm/readiness-evaluators.js';
14
+ import { helmRelease } from '../../helm/helm-release.js';
15
+ /** Default OCI registry URL for the Hyperspike charts. */
16
+ export const DEFAULT_VALKEY_REPO_URL = 'oci://ghcr.io/hyperspike';
17
+ /** Default chart version (Hyperspike uses 'v{version}-chart' tag format). */
18
+ export const DEFAULT_VALKEY_VERSION = 'v0.0.61-chart';
19
+ /** Default HelmRepository resource name. */
20
+ export const DEFAULT_VALKEY_REPO_NAME = 'valkey-operator-repo';
21
+ /**
22
+ * Create a HelmRepository for the Hyperspike Valkey operator OCI registry.
23
+ *
24
+ * @param config - Repository configuration with Valkey-specific defaults
25
+ * @returns Enhanced HelmRepository resource
26
+ *
27
+ * @example
28
+ * ```typescript
29
+ * const repo = valkeyHelmRepository({
30
+ * name: 'valkey-operator-repo',
31
+ * namespace: 'flux-system',
32
+ * id: 'valkeyHelmRepository',
33
+ * });
34
+ * ```
35
+ */
36
+ export function valkeyHelmRepository(config) {
37
+ return helmRepository({
38
+ name: config.name || DEFAULT_VALKEY_REPO_NAME,
39
+ namespace: config.namespace || DEFAULT_FLUX_NAMESPACE,
40
+ url: config.url || DEFAULT_VALKEY_REPO_URL,
41
+ type: 'oci',
42
+ interval: config.interval || '5m',
43
+ ...(config.id && { id: config.id }),
44
+ }).withReadinessEvaluator(createHelmRepositoryReadinessEvaluator('Valkey'));
45
+ }
46
+ /**
47
+ * Create a HelmRelease for the Hyperspike Valkey operator.
48
+ *
49
+ * @param config - Release configuration with Valkey-specific defaults
50
+ * @returns Enhanced HelmRelease resource
51
+ *
52
+ * @example
53
+ * ```typescript
54
+ * const release = valkeyHelmRelease({
55
+ * name: 'valkey-operator',
56
+ * namespace: 'valkey-operator-system',
57
+ * id: 'valkeyHelmRelease',
58
+ * });
59
+ * ```
60
+ */
61
+ export function valkeyHelmRelease(config) {
62
+ // Pass values directly — the core proxy system handles serialization.
63
+ // chart.repository is used for chart identification; sourceRef is what Flux
64
+ // actually uses to resolve the chart. Both are required by the helmRelease factory.
65
+ return helmRelease({
66
+ name: config.name,
67
+ namespace: config.namespace || 'valkey-operator-system',
68
+ chart: {
69
+ repository: DEFAULT_VALKEY_REPO_URL,
70
+ name: 'valkey-operator',
71
+ version: config.version || DEFAULT_VALKEY_VERSION,
72
+ },
73
+ sourceRef: {
74
+ name: config.repositoryName || DEFAULT_VALKEY_REPO_NAME,
75
+ namespace: DEFAULT_FLUX_NAMESPACE,
76
+ kind: 'HelmRepository',
77
+ },
78
+ values: config.values || {},
79
+ ...(config.id && { id: config.id }),
80
+ }).withReadinessEvaluator(createLabeledHelmReleaseEvaluator('Valkey'));
81
+ }
82
+ //# sourceMappingURL=helm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helm.js","sourceRoot":"","sources":["../../../../src/factories/valkey/resources/helm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAE1E,OAAO,EACL,sCAAsC,EACtC,cAAc,GAGf,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,iCAAiC,EAAE,MAAM,oCAAoC,CAAC;AAEvF,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAGzD,0DAA0D;AAC1D,MAAM,CAAC,MAAM,uBAAuB,GAAG,0BAA0B,CAAC;AAElE,6EAA6E;AAC7E,MAAM,CAAC,MAAM,sBAAsB,GAAG,eAAe,CAAC;AAEtD,4CAA4C;AAC5C,MAAM,CAAC,MAAM,wBAAwB,GAAG,sBAAsB,CAAC;AAE/D;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAA8C;IAE9C,OAAO,cAAc,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,wBAAwB;QAC7C,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,sBAAsB;QACrD,GAAG,EAAE,MAAM,CAAC,GAAG,IAAI,uBAAuB;QAC1C,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,IAAI;QACjC,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;KACpC,CAAC,CAAC,sBAAsB,CACvB,sCAAsC,CAAC,QAAQ,CAAC,CACK,CAAC;AAC1D,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,iBAAiB,CAC/B,MAA2C;IAE3C,sEAAsE;IAEtE,4EAA4E;IAC5E,oFAAoF;IACpF,OAAO,WAAW,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,wBAAwB;QACvD,KAAK,EAAE;YACL,UAAU,EAAE,uBAAuB;YACnC,IAAI,EAAE,iBAAiB;YACvB,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,sBAAsB;SAClD;QACD,SAAS,EAAE;YACT,IAAI,EAAE,MAAM,CAAC,cAAc,IAAI,wBAAwB;YACvD,SAAS,EAAE,sBAAsB;YACjC,IAAI,EAAE,gBAAgB;SACvB;QACD,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;QAC3B,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;KACpC,CAAC,CAAC,sBAAsB,CACvB,iCAAiC,CAAC,QAAQ,CAAC,CACI,CAAC;AACpD,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './valkey.js';
2
+ export * from './helm.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/factories/valkey/resources/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './valkey.js';
2
+ export * from './helm.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/factories/valkey/resources/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Hyperspike Valkey Cluster Factory
3
+ *
4
+ * Creates a Valkey CRD resource representing a Valkey cluster
5
+ * managed by the Hyperspike operator.
6
+ */
7
+ import type { Composable, Enhanced } from '../../../core/types/index.js';
8
+ import type { ValkeyConfig, ValkeyStatus } from '../types.js';
9
+ /**
10
+ * Hyperspike Valkey Cluster Factory
11
+ *
12
+ * Creates a Valkey cluster managed by the Hyperspike operator. Supports
13
+ * sharded clusters with optional replication, TLS, external access via
14
+ * Envoy proxy or LoadBalancer, and Prometheus monitoring.
15
+ *
16
+ * @param config - Valkey cluster configuration following hyperspike.io/v1 API
17
+ * @returns Enhanced Valkey resource with readiness evaluation
18
+ *
19
+ * @example
20
+ * ```typescript
21
+ * const cache = valkey({
22
+ * name: 'app-cache',
23
+ * namespace: 'default',
24
+ * spec: {
25
+ * shards: 3,
26
+ * replicas: 1,
27
+ * storage: {
28
+ * spec: {
29
+ * storageClassName: 'gp3',
30
+ * resources: { requests: { storage: '10Gi' } },
31
+ * },
32
+ * },
33
+ * resources: {
34
+ * requests: { cpu: '250m', memory: '512Mi' },
35
+ * limits: { cpu: '1', memory: '2Gi' },
36
+ * },
37
+ * prometheus: true,
38
+ * },
39
+ * id: 'appCache',
40
+ * });
41
+ * ```
42
+ */
43
+ declare function createValkeyResource(config: Composable<ValkeyConfig>): Enhanced<ValkeyConfig['spec'], ValkeyStatus>;
44
+ export declare const valkey: typeof createValkeyResource;
45
+ export {};
46
+ //# sourceMappingURL=valkey.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"valkey.d.ts","sourceRoot":"","sources":["../../../../src/factories/valkey/resources/valkey.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAkB,MAAM,8BAA8B,CAAC;AAEzF,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAsD9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,iBAAS,oBAAoB,CAC3B,MAAM,EAAE,UAAU,CAAC,YAAY,CAAC,GAC/B,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,CAsC9C;AAED,eAAO,MAAM,MAAM,6BAAuB,CAAC"}
@@ -0,0 +1,123 @@
1
+ /**
2
+ * Hyperspike Valkey Cluster Factory
3
+ *
4
+ * Creates a Valkey CRD resource representing a Valkey cluster
5
+ * managed by the Hyperspike operator.
6
+ */
7
+ import { createConditionBasedReadinessEvaluator } from '../../../core/readiness/index.js';
8
+ import { createResource } from '../../shared.js';
9
+ /** Base condition-based evaluator for Valkey Ready condition. */
10
+ const baseValkeyEvaluator = createConditionBasedReadinessEvaluator({ kind: 'Valkey' });
11
+ /**
12
+ * Valkey Readiness Evaluator
13
+ *
14
+ * Checks the standard Ready condition first. If status has a top-level
15
+ * `ready` boolean (Hyperspike pattern), uses that as a fast path.
16
+ * Falls back to condition-based evaluation for detailed state.
17
+ */
18
+ function valkeyReadinessEvaluator(liveResource) {
19
+ const resource = liveResource;
20
+ const status = resource?.status;
21
+ if (!status) {
22
+ return {
23
+ ready: false,
24
+ message: 'Valkey cluster has no status yet',
25
+ reason: 'StatusMissing',
26
+ };
27
+ }
28
+ // Fast path: Hyperspike reports a top-level ready boolean
29
+ if (status.ready === true) {
30
+ return {
31
+ ready: true,
32
+ message: 'Valkey cluster is ready',
33
+ reason: 'Ready',
34
+ };
35
+ }
36
+ if (status.ready === false) {
37
+ // Check conditions for a more specific reason
38
+ const readyCondition = status.conditions?.find((c) => c.type === 'Ready');
39
+ if (readyCondition) {
40
+ return {
41
+ ready: false,
42
+ message: readyCondition.message || 'Valkey cluster is not ready',
43
+ reason: readyCondition.reason || 'NotReady',
44
+ };
45
+ }
46
+ return {
47
+ ready: false,
48
+ message: 'Valkey cluster is not ready',
49
+ reason: 'NotReady',
50
+ };
51
+ }
52
+ // Fall back to condition-based evaluation
53
+ return baseValkeyEvaluator(liveResource);
54
+ }
55
+ /**
56
+ * Hyperspike Valkey Cluster Factory
57
+ *
58
+ * Creates a Valkey cluster managed by the Hyperspike operator. Supports
59
+ * sharded clusters with optional replication, TLS, external access via
60
+ * Envoy proxy or LoadBalancer, and Prometheus monitoring.
61
+ *
62
+ * @param config - Valkey cluster configuration following hyperspike.io/v1 API
63
+ * @returns Enhanced Valkey resource with readiness evaluation
64
+ *
65
+ * @example
66
+ * ```typescript
67
+ * const cache = valkey({
68
+ * name: 'app-cache',
69
+ * namespace: 'default',
70
+ * spec: {
71
+ * shards: 3,
72
+ * replicas: 1,
73
+ * storage: {
74
+ * spec: {
75
+ * storageClassName: 'gp3',
76
+ * resources: { requests: { storage: '10Gi' } },
77
+ * },
78
+ * },
79
+ * resources: {
80
+ * requests: { cpu: '250m', memory: '512Mi' },
81
+ * limits: { cpu: '1', memory: '2Gi' },
82
+ * },
83
+ * prometheus: true,
84
+ * },
85
+ * id: 'appCache',
86
+ * });
87
+ * ```
88
+ */
89
+ function createValkeyResource(config) {
90
+ // Map the user-facing `shards` field to the CRD's `nodes` JSON tag.
91
+ // The Hyperspike CRD Go type uses `Nodes int32 \`json:"nodes"\``
92
+ // but we expose it as `shards` for clarity.
93
+ const spec = config.spec;
94
+ const crdSpec = {};
95
+ for (const [key, value] of Object.entries(spec)) {
96
+ if (key === 'shards') {
97
+ crdSpec.nodes = value;
98
+ }
99
+ else {
100
+ crdSpec[key] = value;
101
+ }
102
+ }
103
+ return createResource({
104
+ apiVersion: 'hyperspike.io/v1',
105
+ kind: 'Valkey',
106
+ metadata: {
107
+ name: config.name,
108
+ ...(config.namespace && { namespace: config.namespace }),
109
+ // Labels must be non-empty: the Hyperspike operator's labels() function
110
+ // panics on nil map assignment when metadata.labels is absent.
111
+ // https://github.com/hyperspike/valkey-operator/blob/v0.0.61/internal/controller/valkey_controller.go#L250
112
+ labels: {
113
+ 'app.kubernetes.io/name': 'valkey',
114
+ 'app.kubernetes.io/instance': config.name,
115
+ 'app.kubernetes.io/managed-by': 'typekro',
116
+ },
117
+ },
118
+ spec: crdSpec,
119
+ ...(config.id && { id: config.id }),
120
+ }, { scope: 'namespaced' }).withReadinessEvaluator(valkeyReadinessEvaluator);
121
+ }
122
+ export const valkey = createValkeyResource;
123
+ //# sourceMappingURL=valkey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"valkey.js","sourceRoot":"","sources":["../../../../src/factories/valkey/resources/valkey.ts"],"names":[],"mappings":"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"}