typekro 0.5.0 → 0.8.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 (345) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/compositions/typekro-runtime/typekro-runtime.d.ts +1 -1
  3. package/dist/compositions/typekro-runtime/typekro-runtime.d.ts.map +1 -1
  4. package/dist/compositions/typekro-runtime/typekro-runtime.js +16 -2
  5. package/dist/compositions/typekro-runtime/typekro-runtime.js.map +1 -1
  6. package/dist/core/composition/context.d.ts +14 -0
  7. package/dist/core/composition/context.d.ts.map +1 -1
  8. package/dist/core/composition/context.js.map +1 -1
  9. package/dist/core/composition/imperative.d.ts.map +1 -1
  10. package/dist/core/composition/imperative.js +59 -30
  11. package/dist/core/composition/imperative.js.map +1 -1
  12. package/dist/core/composition/nested-status-cel.d.ts +50 -0
  13. package/dist/core/composition/nested-status-cel.d.ts.map +1 -0
  14. package/dist/core/composition/nested-status-cel.js +169 -0
  15. package/dist/core/composition/nested-status-cel.js.map +1 -0
  16. package/dist/core/constants/brands.d.ts +1 -1
  17. package/dist/core/constants/brands.d.ts.map +1 -1
  18. package/dist/core/constants/brands.js +1 -1
  19. package/dist/core/constants/brands.js.map +1 -1
  20. package/dist/core/containers/build.d.ts +50 -0
  21. package/dist/core/containers/build.d.ts.map +1 -0
  22. package/dist/core/containers/build.js +146 -0
  23. package/dist/core/containers/build.js.map +1 -0
  24. package/dist/core/containers/errors.d.ts +14 -0
  25. package/dist/core/containers/errors.d.ts.map +1 -0
  26. package/dist/core/containers/errors.js +48 -0
  27. package/dist/core/containers/errors.js.map +1 -0
  28. package/dist/core/containers/exec.d.ts +36 -0
  29. package/dist/core/containers/exec.d.ts.map +1 -0
  30. package/dist/core/containers/exec.js +110 -0
  31. package/dist/core/containers/exec.js.map +1 -0
  32. package/dist/core/containers/index.d.ts +21 -0
  33. package/dist/core/containers/index.d.ts.map +1 -0
  34. package/dist/core/containers/index.js +20 -0
  35. package/dist/core/containers/index.js.map +1 -0
  36. package/dist/core/containers/registries/ecr.d.ts +22 -0
  37. package/dist/core/containers/registries/ecr.d.ts.map +1 -0
  38. package/dist/core/containers/registries/ecr.js +118 -0
  39. package/dist/core/containers/registries/ecr.js.map +1 -0
  40. package/dist/core/containers/registries/index.d.ts +9 -0
  41. package/dist/core/containers/registries/index.d.ts.map +1 -0
  42. package/dist/core/containers/registries/index.js +23 -0
  43. package/dist/core/containers/registries/index.js.map +1 -0
  44. package/dist/core/containers/registries/orbstack.d.ts +14 -0
  45. package/dist/core/containers/registries/orbstack.d.ts.map +1 -0
  46. package/dist/core/containers/registries/orbstack.js +24 -0
  47. package/dist/core/containers/registries/orbstack.js.map +1 -0
  48. package/dist/core/containers/registries/types.d.ts +94 -0
  49. package/dist/core/containers/registries/types.d.ts.map +1 -0
  50. package/dist/core/containers/registries/types.js +11 -0
  51. package/dist/core/containers/registries/types.js.map +1 -0
  52. package/dist/core/dependencies/graph.d.ts +4 -0
  53. package/dist/core/dependencies/graph.d.ts.map +1 -1
  54. package/dist/core/dependencies/graph.js +6 -0
  55. package/dist/core/dependencies/graph.js.map +1 -1
  56. package/dist/core/dependencies/resolver.d.ts +28 -0
  57. package/dist/core/dependencies/resolver.d.ts.map +1 -1
  58. package/dist/core/dependencies/resolver.js +138 -5
  59. package/dist/core/dependencies/resolver.js.map +1 -1
  60. package/dist/core/deployment/direct-factory.d.ts +13 -0
  61. package/dist/core/deployment/direct-factory.d.ts.map +1 -1
  62. package/dist/core/deployment/direct-factory.js +99 -0
  63. package/dist/core/deployment/direct-factory.js.map +1 -1
  64. package/dist/core/deployment/engine.d.ts.map +1 -1
  65. package/dist/core/deployment/engine.js +45 -2
  66. package/dist/core/deployment/engine.js.map +1 -1
  67. package/dist/core/deployment/kro-factory.d.ts +28 -0
  68. package/dist/core/deployment/kro-factory.d.ts.map +1 -1
  69. package/dist/core/deployment/kro-factory.js +243 -13
  70. package/dist/core/deployment/kro-factory.js.map +1 -1
  71. package/dist/core/deployment/kro-readiness.d.ts.map +1 -1
  72. package/dist/core/deployment/kro-readiness.js +10 -1
  73. package/dist/core/deployment/kro-readiness.js.map +1 -1
  74. package/dist/core/deployment/nested-composition-status.d.ts +33 -0
  75. package/dist/core/deployment/nested-composition-status.d.ts.map +1 -0
  76. package/dist/core/deployment/nested-composition-status.js +101 -0
  77. package/dist/core/deployment/nested-composition-status.js.map +1 -0
  78. package/dist/core/deployment/readiness-waiter.d.ts.map +1 -1
  79. package/dist/core/deployment/readiness-waiter.js +23 -6
  80. package/dist/core/deployment/readiness-waiter.js.map +1 -1
  81. package/dist/core/deployment/rollback-manager.d.ts.map +1 -1
  82. package/dist/core/deployment/rollback-manager.js +19 -0
  83. package/dist/core/deployment/rollback-manager.js.map +1 -1
  84. package/dist/core/deployment/strategies/direct-strategy.d.ts +6 -0
  85. package/dist/core/deployment/strategies/direct-strategy.d.ts.map +1 -1
  86. package/dist/core/deployment/strategies/direct-strategy.js +133 -35
  87. package/dist/core/deployment/strategies/direct-strategy.js.map +1 -1
  88. package/dist/core/expressions/composition/composition-analyzer-helpers.d.ts +8 -2
  89. package/dist/core/expressions/composition/composition-analyzer-helpers.d.ts.map +1 -1
  90. package/dist/core/expressions/composition/composition-analyzer-helpers.js +34 -2
  91. package/dist/core/expressions/composition/composition-analyzer-helpers.js.map +1 -1
  92. package/dist/core/expressions/composition/composition-analyzer-ternary.d.ts.map +1 -1
  93. package/dist/core/expressions/composition/composition-analyzer-ternary.js +52 -28
  94. package/dist/core/expressions/composition/composition-analyzer-ternary.js.map +1 -1
  95. package/dist/core/expressions/composition/composition-analyzer-traversal.d.ts.map +1 -1
  96. package/dist/core/expressions/composition/composition-analyzer-traversal.js +11 -4
  97. package/dist/core/expressions/composition/composition-analyzer-traversal.js.map +1 -1
  98. package/dist/core/expressions/composition/composition-analyzer-types.d.ts +8 -0
  99. package/dist/core/expressions/composition/composition-analyzer-types.d.ts.map +1 -1
  100. package/dist/core/expressions/composition/composition-analyzer.d.ts +1 -1
  101. package/dist/core/expressions/composition/composition-analyzer.d.ts.map +1 -1
  102. package/dist/core/expressions/composition/composition-analyzer.js +8 -2
  103. package/dist/core/expressions/composition/composition-analyzer.js.map +1 -1
  104. package/dist/core/expressions/composition/imperative-analyzer.d.ts +8 -0
  105. package/dist/core/expressions/composition/imperative-analyzer.d.ts.map +1 -1
  106. package/dist/core/expressions/composition/imperative-analyzer.js +111 -16
  107. package/dist/core/expressions/composition/imperative-analyzer.js.map +1 -1
  108. package/dist/core/metadata/resource-metadata.d.ts +4 -0
  109. package/dist/core/metadata/resource-metadata.d.ts.map +1 -1
  110. package/dist/core/metadata/resource-metadata.js.map +1 -1
  111. package/dist/core/proxy/create-resource.d.ts.map +1 -1
  112. package/dist/core/proxy/create-resource.js +63 -21
  113. package/dist/core/proxy/create-resource.js.map +1 -1
  114. package/dist/core/references/cel.d.ts +48 -0
  115. package/dist/core/references/cel.d.ts.map +1 -1
  116. package/dist/core/references/cel.js +82 -0
  117. package/dist/core/references/cel.js.map +1 -1
  118. package/dist/core/references/external-refs.d.ts +2 -0
  119. package/dist/core/references/external-refs.d.ts.map +1 -1
  120. package/dist/core/references/external-refs.js +3 -0
  121. package/dist/core/references/external-refs.js.map +1 -1
  122. package/dist/core/references/resolver.d.ts +12 -4
  123. package/dist/core/references/resolver.d.ts.map +1 -1
  124. package/dist/core/references/resolver.js +152 -69
  125. package/dist/core/references/resolver.js.map +1 -1
  126. package/dist/core/references/schema-proxy.d.ts.map +1 -1
  127. package/dist/core/references/schema-proxy.js +5 -4
  128. package/dist/core/references/schema-proxy.js.map +1 -1
  129. package/dist/core/serialization/cel-references.d.ts +1 -1
  130. package/dist/core/serialization/cel-references.d.ts.map +1 -1
  131. package/dist/core/serialization/cel-references.js +191 -24
  132. package/dist/core/serialization/cel-references.js.map +1 -1
  133. package/dist/core/serialization/core.d.ts +8 -1
  134. package/dist/core/serialization/core.d.ts.map +1 -1
  135. package/dist/core/serialization/core.js +434 -7
  136. package/dist/core/serialization/core.js.map +1 -1
  137. package/dist/core/serialization/kro-post-processing.d.ts +46 -0
  138. package/dist/core/serialization/kro-post-processing.d.ts.map +1 -0
  139. package/dist/core/serialization/kro-post-processing.js +103 -0
  140. package/dist/core/serialization/kro-post-processing.js.map +1 -0
  141. package/dist/core/serialization/schema.d.ts +61 -3
  142. package/dist/core/serialization/schema.d.ts.map +1 -1
  143. package/dist/core/serialization/schema.js +520 -18
  144. package/dist/core/serialization/schema.js.map +1 -1
  145. package/dist/core/serialization/status-analysis-pipeline.d.ts +4 -0
  146. package/dist/core/serialization/status-analysis-pipeline.d.ts.map +1 -1
  147. package/dist/core/serialization/status-analysis-pipeline.js +127 -10
  148. package/dist/core/serialization/status-analysis-pipeline.js.map +1 -1
  149. package/dist/core/serialization/yaml.d.ts.map +1 -1
  150. package/dist/core/serialization/yaml.js +27 -4
  151. package/dist/core/serialization/yaml.js.map +1 -1
  152. package/dist/core/types/composable.d.ts +62 -0
  153. package/dist/core/types/composable.d.ts.map +1 -0
  154. package/dist/core/types/composable.js +51 -0
  155. package/dist/core/types/composable.js.map +1 -0
  156. package/dist/core/types/deployment.d.ts +2 -1
  157. package/dist/core/types/deployment.d.ts.map +1 -1
  158. package/dist/core/types/index.d.ts +1 -0
  159. package/dist/core/types/index.d.ts.map +1 -1
  160. package/dist/core/types/index.js +1 -0
  161. package/dist/core/types/index.js.map +1 -1
  162. package/dist/core/types/serialization.d.ts +40 -1
  163. package/dist/core/types/serialization.d.ts.map +1 -1
  164. package/dist/core/validation/cel-validator.d.ts.map +1 -1
  165. package/dist/core/validation/cel-validator.js +55 -31
  166. package/dist/core/validation/cel-validator.js.map +1 -1
  167. package/dist/factories/cnpg/compositions/cnpg-bootstrap.d.ts +55 -0
  168. package/dist/factories/cnpg/compositions/cnpg-bootstrap.d.ts.map +1 -0
  169. package/dist/factories/cnpg/compositions/cnpg-bootstrap.js +92 -0
  170. package/dist/factories/cnpg/compositions/cnpg-bootstrap.js.map +1 -0
  171. package/dist/factories/cnpg/compositions/index.d.ts +2 -0
  172. package/dist/factories/cnpg/compositions/index.d.ts.map +1 -0
  173. package/dist/factories/cnpg/compositions/index.js +2 -0
  174. package/dist/factories/cnpg/compositions/index.js.map +1 -0
  175. package/dist/factories/cnpg/index.d.ts +42 -0
  176. package/dist/factories/cnpg/index.d.ts.map +1 -0
  177. package/dist/factories/cnpg/index.js +42 -0
  178. package/dist/factories/cnpg/index.js.map +1 -0
  179. package/dist/factories/cnpg/resources/backup.d.ts +34 -0
  180. package/dist/factories/cnpg/resources/backup.d.ts.map +1 -0
  181. package/dist/factories/cnpg/resources/backup.js +87 -0
  182. package/dist/factories/cnpg/resources/backup.js.map +1 -0
  183. package/dist/factories/cnpg/resources/cluster.d.ts +55 -0
  184. package/dist/factories/cnpg/resources/cluster.d.ts.map +1 -0
  185. package/dist/factories/cnpg/resources/cluster.js +123 -0
  186. package/dist/factories/cnpg/resources/cluster.js.map +1 -0
  187. package/dist/factories/cnpg/resources/helm.d.ts +45 -0
  188. package/dist/factories/cnpg/resources/helm.d.ts.map +1 -0
  189. package/dist/factories/cnpg/resources/helm.js +78 -0
  190. package/dist/factories/cnpg/resources/helm.js.map +1 -0
  191. package/dist/factories/cnpg/resources/index.d.ts +6 -0
  192. package/dist/factories/cnpg/resources/index.d.ts.map +1 -0
  193. package/dist/factories/cnpg/resources/index.js +6 -0
  194. package/dist/factories/cnpg/resources/index.js.map +1 -0
  195. package/dist/factories/cnpg/resources/pooler.d.ts +38 -0
  196. package/dist/factories/cnpg/resources/pooler.d.ts.map +1 -0
  197. package/dist/factories/cnpg/resources/pooler.js +97 -0
  198. package/dist/factories/cnpg/resources/pooler.js.map +1 -0
  199. package/dist/factories/cnpg/resources/scheduled-backup.d.ts +35 -0
  200. package/dist/factories/cnpg/resources/scheduled-backup.d.ts.map +1 -0
  201. package/dist/factories/cnpg/resources/scheduled-backup.js +68 -0
  202. package/dist/factories/cnpg/resources/scheduled-backup.js.map +1 -0
  203. package/dist/factories/cnpg/types.d.ts +507 -0
  204. package/dist/factories/cnpg/types.d.ts.map +1 -0
  205. package/dist/factories/cnpg/types.js +398 -0
  206. package/dist/factories/cnpg/types.js.map +1 -0
  207. package/dist/factories/cnpg/utils/helm-values-mapper.d.ts +70 -0
  208. package/dist/factories/cnpg/utils/helm-values-mapper.d.ts.map +1 -0
  209. package/dist/factories/cnpg/utils/helm-values-mapper.js +79 -0
  210. package/dist/factories/cnpg/utils/helm-values-mapper.js.map +1 -0
  211. package/dist/factories/cnpg/utils/index.d.ts +2 -0
  212. package/dist/factories/cnpg/utils/index.d.ts.map +1 -0
  213. package/dist/factories/cnpg/utils/index.js +2 -0
  214. package/dist/factories/cnpg/utils/index.js.map +1 -0
  215. package/dist/factories/helm/helm-release.d.ts.map +1 -1
  216. package/dist/factories/helm/helm-release.js +4 -0
  217. package/dist/factories/helm/helm-release.js.map +1 -1
  218. package/dist/factories/helm/types.d.ts +2 -0
  219. package/dist/factories/helm/types.d.ts.map +1 -1
  220. package/dist/factories/inngest/compositions/index.d.ts +2 -0
  221. package/dist/factories/inngest/compositions/index.d.ts.map +1 -0
  222. package/dist/factories/inngest/compositions/index.js +2 -0
  223. package/dist/factories/inngest/compositions/index.js.map +1 -0
  224. package/dist/factories/inngest/compositions/inngest-bootstrap.d.ts +150 -0
  225. package/dist/factories/inngest/compositions/inngest-bootstrap.d.ts.map +1 -0
  226. package/dist/factories/inngest/compositions/inngest-bootstrap.js +90 -0
  227. package/dist/factories/inngest/compositions/inngest-bootstrap.js.map +1 -0
  228. package/dist/factories/inngest/index.d.ts +45 -0
  229. package/dist/factories/inngest/index.d.ts.map +1 -0
  230. package/dist/factories/inngest/index.js +45 -0
  231. package/dist/factories/inngest/index.js.map +1 -0
  232. package/dist/factories/inngest/resources/helm.d.ts +53 -0
  233. package/dist/factories/inngest/resources/helm.d.ts.map +1 -0
  234. package/dist/factories/inngest/resources/helm.js +88 -0
  235. package/dist/factories/inngest/resources/helm.js.map +1 -0
  236. package/dist/factories/inngest/resources/index.d.ts +2 -0
  237. package/dist/factories/inngest/resources/index.d.ts.map +1 -0
  238. package/dist/factories/inngest/resources/index.js +2 -0
  239. package/dist/factories/inngest/resources/index.js.map +1 -0
  240. package/dist/factories/inngest/types.d.ts +177 -0
  241. package/dist/factories/inngest/types.d.ts.map +1 -0
  242. package/dist/factories/inngest/types.js +189 -0
  243. package/dist/factories/inngest/types.js.map +1 -0
  244. package/dist/factories/inngest/utils/helm-values-mapper.d.ts +127 -0
  245. package/dist/factories/inngest/utils/helm-values-mapper.d.ts.map +1 -0
  246. package/dist/factories/inngest/utils/helm-values-mapper.js +116 -0
  247. package/dist/factories/inngest/utils/helm-values-mapper.js.map +1 -0
  248. package/dist/factories/inngest/utils/index.d.ts +2 -0
  249. package/dist/factories/inngest/utils/index.d.ts.map +1 -0
  250. package/dist/factories/inngest/utils/index.js +2 -0
  251. package/dist/factories/inngest/utils/index.js.map +1 -0
  252. package/dist/factories/kubernetes/config/secret.d.ts.map +1 -1
  253. package/dist/factories/kubernetes/config/secret.js +11 -1
  254. package/dist/factories/kubernetes/config/secret.js.map +1 -1
  255. package/dist/factories/kubernetes/core/namespace.d.ts.map +1 -1
  256. package/dist/factories/kubernetes/core/namespace.js +1 -1
  257. package/dist/factories/kubernetes/core/namespace.js.map +1 -1
  258. package/dist/factories/searxng/compositions/index.d.ts +2 -0
  259. package/dist/factories/searxng/compositions/index.d.ts.map +1 -0
  260. package/dist/factories/searxng/compositions/index.js +2 -0
  261. package/dist/factories/searxng/compositions/index.js.map +1 -0
  262. package/dist/factories/searxng/compositions/searxng-bootstrap.d.ts +65 -0
  263. package/dist/factories/searxng/compositions/searxng-bootstrap.d.ts.map +1 -0
  264. package/dist/factories/searxng/compositions/searxng-bootstrap.js +237 -0
  265. package/dist/factories/searxng/compositions/searxng-bootstrap.js.map +1 -0
  266. package/dist/factories/searxng/index.d.ts +29 -0
  267. package/dist/factories/searxng/index.d.ts.map +1 -0
  268. package/dist/factories/searxng/index.js +27 -0
  269. package/dist/factories/searxng/index.js.map +1 -0
  270. package/dist/factories/searxng/resources/index.d.ts +2 -0
  271. package/dist/factories/searxng/resources/index.d.ts.map +1 -0
  272. package/dist/factories/searxng/resources/index.js +2 -0
  273. package/dist/factories/searxng/resources/index.js.map +1 -0
  274. package/dist/factories/searxng/resources/searxng.d.ts +65 -0
  275. package/dist/factories/searxng/resources/searxng.d.ts.map +1 -0
  276. package/dist/factories/searxng/resources/searxng.js +188 -0
  277. package/dist/factories/searxng/resources/searxng.js.map +1 -0
  278. package/dist/factories/searxng/types.d.ts +126 -0
  279. package/dist/factories/searxng/types.d.ts.map +1 -0
  280. package/dist/factories/searxng/types.js +176 -0
  281. package/dist/factories/searxng/types.js.map +1 -0
  282. package/dist/factories/searxng/utils/settings-builder.d.ts +46 -0
  283. package/dist/factories/searxng/utils/settings-builder.d.ts.map +1 -0
  284. package/dist/factories/searxng/utils/settings-builder.js +52 -0
  285. package/dist/factories/searxng/utils/settings-builder.js.map +1 -0
  286. package/dist/factories/simple/config/secret.d.ts.map +1 -1
  287. package/dist/factories/simple/config/secret.js +28 -0
  288. package/dist/factories/simple/config/secret.js.map +1 -1
  289. package/dist/factories/valkey/compositions/index.d.ts +2 -0
  290. package/dist/factories/valkey/compositions/index.d.ts.map +1 -0
  291. package/dist/factories/valkey/compositions/index.js +2 -0
  292. package/dist/factories/valkey/compositions/index.js.map +1 -0
  293. package/dist/factories/valkey/compositions/valkey-bootstrap.d.ts +41 -0
  294. package/dist/factories/valkey/compositions/valkey-bootstrap.d.ts.map +1 -0
  295. package/dist/factories/valkey/compositions/valkey-bootstrap.js +105 -0
  296. package/dist/factories/valkey/compositions/valkey-bootstrap.js.map +1 -0
  297. package/dist/factories/valkey/index.d.ts +50 -0
  298. package/dist/factories/valkey/index.d.ts.map +1 -0
  299. package/dist/factories/valkey/index.js +50 -0
  300. package/dist/factories/valkey/index.js.map +1 -0
  301. package/dist/factories/valkey/resources/helm.d.ts +53 -0
  302. package/dist/factories/valkey/resources/helm.d.ts.map +1 -0
  303. package/dist/factories/valkey/resources/helm.js +82 -0
  304. package/dist/factories/valkey/resources/helm.js.map +1 -0
  305. package/dist/factories/valkey/resources/index.d.ts +3 -0
  306. package/dist/factories/valkey/resources/index.d.ts.map +1 -0
  307. package/dist/factories/valkey/resources/index.js +3 -0
  308. package/dist/factories/valkey/resources/index.js.map +1 -0
  309. package/dist/factories/valkey/resources/valkey.d.ts +46 -0
  310. package/dist/factories/valkey/resources/valkey.d.ts.map +1 -0
  311. package/dist/factories/valkey/resources/valkey.js +123 -0
  312. package/dist/factories/valkey/resources/valkey.js.map +1 -0
  313. package/dist/factories/valkey/types.d.ts +185 -0
  314. package/dist/factories/valkey/types.d.ts.map +1 -0
  315. package/dist/factories/valkey/types.js +204 -0
  316. package/dist/factories/valkey/types.js.map +1 -0
  317. package/dist/factories/valkey/utils/helm-values-mapper.d.ts +32 -0
  318. package/dist/factories/valkey/utils/helm-values-mapper.d.ts.map +1 -0
  319. package/dist/factories/valkey/utils/helm-values-mapper.js +58 -0
  320. package/dist/factories/valkey/utils/helm-values-mapper.js.map +1 -0
  321. package/dist/factories/valkey/utils/index.d.ts +2 -0
  322. package/dist/factories/valkey/utils/index.d.ts.map +1 -0
  323. package/dist/factories/valkey/utils/index.js +2 -0
  324. package/dist/factories/valkey/utils/index.js.map +1 -0
  325. package/dist/factories/webapp/compositions/index.d.ts +2 -0
  326. package/dist/factories/webapp/compositions/index.d.ts.map +1 -0
  327. package/dist/factories/webapp/compositions/index.js +2 -0
  328. package/dist/factories/webapp/compositions/index.js.map +1 -0
  329. package/dist/factories/webapp/compositions/web-app-with-processing.d.ts +97 -0
  330. package/dist/factories/webapp/compositions/web-app-with-processing.d.ts.map +1 -0
  331. package/dist/factories/webapp/compositions/web-app-with-processing.js +220 -0
  332. package/dist/factories/webapp/compositions/web-app-with-processing.js.map +1 -0
  333. package/dist/factories/webapp/index.d.ts +53 -0
  334. package/dist/factories/webapp/index.d.ts.map +1 -0
  335. package/dist/factories/webapp/index.js +53 -0
  336. package/dist/factories/webapp/index.js.map +1 -0
  337. package/dist/factories/webapp/types.d.ts +69 -0
  338. package/dist/factories/webapp/types.d.ts.map +1 -0
  339. package/dist/factories/webapp/types.js +92 -0
  340. package/dist/factories/webapp/types.js.map +1 -0
  341. package/dist/shared/brands.d.ts +16 -0
  342. package/dist/shared/brands.d.ts.map +1 -1
  343. package/dist/shared/brands.js +16 -0
  344. package/dist/shared/brands.js.map +1 -1
  345. package/package.json +29 -1
@@ -1,13 +1,23 @@
1
1
  import { createAlwaysReadyEvaluator } from '../../../core/readiness/index.js';
2
2
  import { registerFactory } from '../../../core/resources/factory-registry.js';
3
3
  import { createResource } from '../../shared.js';
4
- // Self-register with semantic alias for fuzzy resource key matching.
4
+ // Self-register under both the PascalCase `Secret` name (used by
5
+ // `simple.Secret`) and the lowercase `secret` name (this module's
6
+ // exported function). Registering both ensures that composition-body
7
+ // AST analysis (`isKnownFactory`) recognises direct calls like
8
+ // `secret({...})` inside compositions and can extract control-flow
9
+ // directives (includeWhen, forEach, etc).
5
10
  registerFactory({
6
11
  factoryName: 'Secret',
7
12
  kind: 'Secret',
8
13
  apiVersion: 'v1',
9
14
  semanticAliases: ['secret'],
10
15
  });
16
+ registerFactory({
17
+ factoryName: 'secret',
18
+ kind: 'Secret',
19
+ apiVersion: 'v1',
20
+ });
11
21
  /**
12
22
  * Creates a Kubernetes Secret resource that is considered ready immediately upon creation.
13
23
  *
@@ -1 +1 @@
1
- {"version":3,"file":"secret.js","sourceRoot":"","sources":["../../../../src/factories/kubernetes/config/secret.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAE9E,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,qEAAqE;AACrE,eAAe,CAAC;IACd,WAAW,EAAE,QAAQ;IACrB,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE,IAAI;IAChB,eAAe,EAAE,CAAC,QAAQ,CAAC;CAC5B,CAAC,CAAC;AAWH;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,MAAM,CAAC,QAAoC;IACzD,wFAAwF;IACxF,oFAAoF;IACpF,gDAAgD;IAChD,OAAO,cAAc,CAA2B;QAC9C,GAAG,QAAQ;QACX,UAAU,EAAE,IAAI;QAChB,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE;QACzD,kFAAkF;KACnF,CAAC,CAAC,sBAAsB,CAAC,0BAA0B,CAAW,QAAQ,CAAC,CAAC,CAAC;AAC5E,CAAC"}
1
+ {"version":3,"file":"secret.js","sourceRoot":"","sources":["../../../../src/factories/kubernetes/config/secret.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAE9E,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,iEAAiE;AACjE,kEAAkE;AAClE,qEAAqE;AACrE,+DAA+D;AAC/D,mEAAmE;AACnE,0CAA0C;AAC1C,eAAe,CAAC;IACd,WAAW,EAAE,QAAQ;IACrB,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE,IAAI;IAChB,eAAe,EAAE,CAAC,QAAQ,CAAC;CAC5B,CAAC,CAAC;AACH,eAAe,CAAC;IACd,WAAW,EAAE,QAAQ;IACrB,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE,IAAI;CACjB,CAAC,CAAC;AAWH;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,MAAM,CAAC,QAAoC;IACzD,wFAAwF;IACxF,oFAAoF;IACpF,gDAAgD;IAChD,OAAO,cAAc,CAA2B;QAC9C,GAAG,QAAQ;QACX,UAAU,EAAE,IAAI;QAChB,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE;QACzD,kFAAkF;KACnF,CAAC,CAAC,sBAAsB,CAAC,0BAA0B,CAAW,QAAQ,CAAC,CAAC,CAAC;AAC5E,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../../../../src/factories/kubernetes/core/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAG7D,MAAM,MAAM,eAAe,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;AAC/D,MAAM,MAAM,iBAAiB,GAAG,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;AAEnE,MAAM,WAAW,eAAgB,SAAQ,WAAW;IAClD,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,eAAe,GAAG,QAAQ,CAAC,eAAe,EAAE,iBAAiB,CAAC,CA+CjG"}
1
+ {"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../../../../src/factories/kubernetes/core/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAG7D,MAAM,MAAM,eAAe,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;AAC/D,MAAM,MAAM,iBAAiB,GAAG,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;AAEnE,MAAM,WAAW,eAAgB,SAAQ,WAAW;IAClD,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,eAAe,GAAG,QAAQ,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAkDjG"}
@@ -17,7 +17,7 @@ export function namespace(resource) {
17
17
  apiVersion: 'v1',
18
18
  kind: 'Namespace',
19
19
  metadata: resource.metadata ?? { name: 'unnamed-namespace' },
20
- }).withReadinessEvaluator((liveResource) => {
20
+ }, { scope: 'cluster' }).withReadinessEvaluator((liveResource) => {
21
21
  try {
22
22
  const status = liveResource.status;
23
23
  // Handle missing status gracefully
@@ -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 { searxngBootstrap } from './searxng-bootstrap.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/factories/searxng/compositions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { searxngBootstrap } from './searxng-bootstrap.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/factories/searxng/compositions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * SearXNG Bootstrap Composition
3
+ *
4
+ * Deploys a complete SearXNG instance: Namespace + ConfigMap + Deployment + Service.
5
+ * Settings are built from typed spec fields — no proxy objects pass through to YAML.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * import { searxngBootstrap } from 'typekro/searxng';
10
+ *
11
+ * const factory = searxngBootstrap.factory('direct', {
12
+ * namespace: 'search',
13
+ * waitForReady: true,
14
+ * });
15
+ *
16
+ * await factory.deploy({
17
+ * name: 'searxng',
18
+ * search: { formats: ['html', 'json'] },
19
+ * server: { limiter: false, secret_key: 'change-me-in-production' },
20
+ * });
21
+ * ```
22
+ */
23
+ export declare const searxngBootstrap: import("../../../index.js").CallableComposition<{
24
+ name: string;
25
+ namespace?: string;
26
+ image?: string;
27
+ replicas?: number;
28
+ instanceName?: string;
29
+ baseUrl?: string;
30
+ server?: {
31
+ secret_key?: string;
32
+ limiter?: boolean;
33
+ bind_address?: string;
34
+ method?: string;
35
+ };
36
+ secretKeyRef?: {
37
+ name: string;
38
+ key: string;
39
+ };
40
+ search?: {
41
+ formats?: string[];
42
+ default_lang?: string;
43
+ autocomplete?: string;
44
+ safe_search?: 0 | 1 | 2;
45
+ };
46
+ redisUrl?: string;
47
+ settingsYaml?: string;
48
+ env?: Record<string, string>;
49
+ resources?: {
50
+ requests?: {
51
+ cpu?: string;
52
+ memory?: string;
53
+ };
54
+ limits?: {
55
+ cpu?: string;
56
+ memory?: string;
57
+ };
58
+ };
59
+ }, {
60
+ ready: boolean;
61
+ phase: "Ready" | "Installing";
62
+ failed: boolean;
63
+ url: string;
64
+ }>;
65
+ //# sourceMappingURL=searxng-bootstrap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"searxng-bootstrap.d.ts","sourceRoot":"","sources":["../../../../src/factories/searxng/compositions/searxng-bootstrap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AA8BH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2N5B,CAAC"}
@@ -0,0 +1,237 @@
1
+ /**
2
+ * SearXNG Bootstrap Composition
3
+ *
4
+ * Deploys a complete SearXNG instance: Namespace + ConfigMap + Deployment + Service.
5
+ * Settings are built from typed spec fields — no proxy objects pass through to YAML.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * import { searxngBootstrap } from 'typekro/searxng';
10
+ *
11
+ * const factory = searxngBootstrap.factory('direct', {
12
+ * namespace: 'search',
13
+ * waitForReady: true,
14
+ * });
15
+ *
16
+ * await factory.deploy({
17
+ * name: 'searxng',
18
+ * search: { formats: ['html', 'json'] },
19
+ * server: { limiter: false, secret_key: 'change-me-in-production' },
20
+ * });
21
+ * ```
22
+ */
23
+ import { kubernetesComposition } from '../../../core/composition/imperative.js';
24
+ import { Cel } from '../../../core/references/cel.js';
25
+ import { configMap } from '../../kubernetes/config/config-map.js';
26
+ import { namespace } from '../../kubernetes/core/namespace.js';
27
+ import { secret } from '../../kubernetes/config/secret.js';
28
+ import { simple } from '../../simple/index.js';
29
+ import { searxng } from '../resources/searxng.js';
30
+ import { DEFAULT_SEARXNG_IMAGE, DEFAULT_SEARXNG_PORT, SearxngBootstrapConfigSchema, SearxngBootstrapStatusSchema, } from '../types.js';
31
+ /**
32
+ * Return a copy of the server config with `secret_key` removed. The field
33
+ * is delivered via a dedicated K8s Secret, not via the Deployment spec —
34
+ * this helper makes sure the plaintext (or the KubernetesRef proxy that
35
+ * carries it in KRO mode) does not leak into the searxng() factory's
36
+ * `spec.server` which would otherwise fall back to injecting it as a
37
+ * plaintext env var.
38
+ */
39
+ function stripSecretKey(server) {
40
+ const { secret_key: _discarded, ...rest } = server;
41
+ return rest;
42
+ }
43
+ export const searxngBootstrap = kubernetesComposition({
44
+ name: 'searxng-bootstrap',
45
+ kind: 'SearxngBootstrap',
46
+ spec: SearxngBootstrapConfigSchema,
47
+ status: SearxngBootstrapStatusSchema,
48
+ }, (spec) => {
49
+ const resolvedNamespace = spec.namespace ?? 'searxng';
50
+ const resolvedImage = spec.image ?? DEFAULT_SEARXNG_IMAGE;
51
+ const port = DEFAULT_SEARXNG_PORT;
52
+ // ── Namespace ──────────────────────────────────────────────────────
53
+ const _ns = namespace({
54
+ metadata: {
55
+ name: resolvedNamespace,
56
+ labels: {
57
+ 'app.kubernetes.io/name': 'searxng',
58
+ 'app.kubernetes.io/instance': spec.name,
59
+ 'app.kubernetes.io/managed-by': 'typekro',
60
+ },
61
+ },
62
+ id: 'searxngNamespace',
63
+ });
64
+ // ── Settings ConfigMap ─────────────────────────────────────────────
65
+ //
66
+ // WHY TEMPLATE LITERALS (not `yaml.dump(...)`):
67
+ //
68
+ // The composition function runs in two very different modes:
69
+ //
70
+ // (1) Direct mode — spec fields are real values (`'redis://...'`,
71
+ // `['html', 'json']`, `false`). `yaml.dump()` would work fine
72
+ // and is in fact used by the `buildSearxngSettings` helper for
73
+ // direct-mode callers who pass a pre-built `settingsYaml`.
74
+ //
75
+ // (2) KRO mode — spec fields are `KubernetesRef` proxy objects
76
+ // whose string coercion yields `__KUBERNETES_REF___schema___spec.xxx__`
77
+ // marker tokens. These markers are recognized by the framework
78
+ // later and rewritten into CEL expressions like
79
+ // `${string(schema.spec.redisUrl)}` inside the final RGD YAML.
80
+ // `yaml.dump()` cannot produce those markers — it would call
81
+ // `.toString()`/`.toJSON()` on the proxy and flatten everything
82
+ // into the wrong thing, losing the reference entirely.
83
+ //
84
+ // The template-literal approach is what makes mixed templates work:
85
+ // the literal text (`use_default_settings: true`, key names, indentation)
86
+ // is rendered as-is, while `${spec.redisUrl}` interpolation emits the
87
+ // marker token that the framework then converts to CEL. This is the
88
+ // only way to build a string that is BOTH (a) valid YAML when the
89
+ // spec is concrete, and (b) a carrier for CEL references when it
90
+ // isn't. Changing this to `yaml.dump()` will break KRO mode.
91
+ //
92
+ // The `typeof spec.settingsYaml === 'string'` branch lets advanced
93
+ // direct-mode callers override the entire file with a hand-crafted
94
+ // (or `buildSearxngSettings`-generated) string — in KRO mode the
95
+ // proxy isn't a string, so this branch is never taken.
96
+ //
97
+ // `secret_key` is intentionally NOT written into the ConfigMap — and
98
+ // it's also NOT injected as a plaintext env var on the Deployment
99
+ // (which would expose it via `kubectl get deploy -o yaml`). Instead,
100
+ // the secret is delivered via a dedicated K8s Secret resource that
101
+ // the Deployment mounts with `valueFrom.secretKeyRef`. See the
102
+ // Secret block below.
103
+ const redisSection = spec.redisUrl
104
+ ? `\nredis:\n url: ${spec.redisUrl}`
105
+ : '';
106
+ // Build search formats: use spec.search.formats in direct mode (real array),
107
+ // fall back to defaults in KRO mode (the proxy isn't a real array, so
108
+ // `Array.isArray()` returns false and the literal default list is emitted).
109
+ // TODO(typekro#array-cel): once CEL template support for arrays lands,
110
+ // this can emit `${spec.search.formats}` in KRO mode too.
111
+ const searchFormats = Array.isArray(spec.search?.formats)
112
+ ? spec.search.formats.map((f) => ` - ${f}`).join('\n')
113
+ : ' - html\n - json';
114
+ const settingsYaml = typeof spec.settingsYaml === 'string'
115
+ ? spec.settingsYaml
116
+ : `use_default_settings: true
117
+ server:
118
+ limiter: ${spec.server?.limiter ?? false}
119
+ search:
120
+ formats:
121
+ ${searchFormats}
122
+ ${redisSection}`;
123
+ const configMapName = `${spec.name}-config`;
124
+ const _config = configMap({
125
+ metadata: {
126
+ name: configMapName,
127
+ namespace: resolvedNamespace,
128
+ labels: {
129
+ 'app.kubernetes.io/name': 'searxng',
130
+ 'app.kubernetes.io/component': 'config',
131
+ 'app.kubernetes.io/managed-by': 'typekro',
132
+ },
133
+ },
134
+ data: { 'settings.yml': settingsYaml },
135
+ id: 'searxngConfig',
136
+ });
137
+ // ── Secret (SEARXNG_SECRET delivery) ───────────────────────────────
138
+ //
139
+ // Secret delivery rules:
140
+ // (1) If the user provided an external `secretKeyRef`, the Deployment
141
+ // mounts that existing Secret via valueFrom — the bootstrap does
142
+ // NOT create its own. This is the path for external-secrets
143
+ // workflows (Vault, AWS SM, external-secrets operator).
144
+ // (2) Otherwise, the bootstrap creates a dedicated `{name}-secret`
145
+ // Secret from `server.secret_key`. The plaintext stops at the
146
+ // Secret's stringData and never enters the Deployment env.
147
+ //
148
+ // The plain `if (!spec.secretKeyRef)` below is transformed into a KRO
149
+ // `includeWhen: ${!has(schema.spec.secretKeyRef)}` directive by the
150
+ // composition AST analyzer during serialization. In direct mode the
151
+ // `if` runs normally; in KRO mode the analyzer attaches the includeWhen
152
+ // so the Secret is only created when the user didn't provide an
153
+ // external ref. The Deployment's `secretKeyRef` field is computed by
154
+ // the JS ternary on the same condition and the analyzer emits the
155
+ // corresponding CEL ternary there as well.
156
+ //
157
+ // Why `simple.Secret` is NOT used here: it eagerly base64-encodes
158
+ // stringData values via `Buffer.from(...)` at composition time, which
159
+ // would encode the `__KUBERNETES_REF__` marker token in KRO mode
160
+ // instead of the actual user-supplied secret, baking a broken value
161
+ // into the RGD. The low-level `secret()` factory passes `stringData`
162
+ // through untouched so KRO can resolve it at reconcile time.
163
+ const secretName = `${spec.name}-secret`;
164
+ if (!spec.secretKeyRef) {
165
+ secret({
166
+ metadata: {
167
+ name: secretName,
168
+ namespace: resolvedNamespace,
169
+ labels: {
170
+ 'app.kubernetes.io/name': 'searxng',
171
+ 'app.kubernetes.io/instance': spec.name,
172
+ 'app.kubernetes.io/component': 'secret',
173
+ 'app.kubernetes.io/managed-by': 'typekro',
174
+ },
175
+ },
176
+ type: 'Opaque',
177
+ stringData: {
178
+ secret_key: spec.server?.secret_key,
179
+ },
180
+ id: 'searxngSecret',
181
+ });
182
+ }
183
+ // ── Deployment ─────────────────────────────────────────────────────
184
+ //
185
+ // The Deployment never sees the plaintext secret — it mounts a
186
+ // `secretKeyRef` instead, which the factory translates into
187
+ // `valueFrom.secretKeyRef` on the SEARXNG_SECRET env var.
188
+ //
189
+ // The two nested ternaries on `secretKeyRef.name` and `secretKeyRef.key`
190
+ // are detected by the composition AST analyzer and emitted as CEL
191
+ // conditionals in the final RGD — in KRO mode the user's CR value
192
+ // for `spec.secretKeyRef` selects between the external Secret and
193
+ // the auto-created one at reconcile time.
194
+ const _deployment = searxng({
195
+ name: spec.name,
196
+ namespace: resolvedNamespace,
197
+ spec: {
198
+ image: resolvedImage,
199
+ replicas: spec.replicas ?? 1,
200
+ instanceName: spec.instanceName ?? spec.name,
201
+ baseUrl: spec.baseUrl ?? `http://${spec.name}:${port}/`,
202
+ configMapName,
203
+ // Strip secret_key before passing server config through — the
204
+ // plaintext stops here and is delivered exclusively via the
205
+ // Secret resource above.
206
+ ...(spec.server && {
207
+ server: stripSecretKey(spec.server),
208
+ }),
209
+ secretKeyRef: {
210
+ name: spec.secretKeyRef ? spec.secretKeyRef.name : secretName,
211
+ key: spec.secretKeyRef ? spec.secretKeyRef.key : 'secret_key',
212
+ },
213
+ env: spec.env,
214
+ resources: spec.resources,
215
+ },
216
+ id: 'searxngDeployment',
217
+ });
218
+ // ── Service ────────────────────────────────────────────────────────
219
+ simple.Service({
220
+ name: spec.name,
221
+ namespace: resolvedNamespace,
222
+ selector: {
223
+ 'app.kubernetes.io/name': 'searxng',
224
+ 'app.kubernetes.io/instance': spec.name,
225
+ },
226
+ ports: [{ port, targetPort: port, name: 'http' }],
227
+ id: 'searxngService',
228
+ });
229
+ // ── Status ─────────────────────────────────────────────────────────
230
+ return {
231
+ ready: Cel.expr(_deployment.status.conditions, '.exists(c, c.type == "Available" && c.status == "True")'),
232
+ phase: Cel.expr(_deployment.status.conditions, '.exists(c, c.type == "Available" && c.status == "True") ? "Ready" : "Installing"'),
233
+ failed: Cel.expr(_deployment.status.conditions, '.exists(c, c.type == "Available" && c.status == "False")'),
234
+ url: `http://${spec.name}.${resolvedNamespace}:${port}`,
235
+ };
236
+ });
237
+ //# sourceMappingURL=searxng-bootstrap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"searxng-bootstrap.js","sourceRoot":"","sources":["../../../../src/factories/searxng/compositions/searxng-bootstrap.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * SearXNG Integration
3
+ *
4
+ * Privacy-respecting metasearch engine that aggregates results from
5
+ * multiple search providers (Google, Bing, DuckDuckGo, Brave, etc.).
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * import { searxngBootstrap } from 'typekro/searxng';
10
+ *
11
+ * const factory = searxngBootstrap.factory('direct', {
12
+ * namespace: 'search',
13
+ * waitForReady: true,
14
+ * });
15
+ *
16
+ * await factory.deploy({
17
+ * name: 'searxng',
18
+ * search: { formats: ['html', 'json'] },
19
+ * server: { limiter: false, secret_key: 'change-me' },
20
+ * });
21
+ * ```
22
+ */
23
+ export { searxngBootstrap } from './compositions/index.js';
24
+ export { searxng } from './resources/index.js';
25
+ export type { SearxngBootstrapConfig, SearxngBootstrapStatus, SearxngConfig, SearxngStatus, } from './types.js';
26
+ export { DEFAULT_SEARXNG_IMAGE, DEFAULT_SEARXNG_PORT } from './types.js';
27
+ export { buildSearxngSettings } from './utils/settings-builder.js';
28
+ export type { SearxngSettingsInput } from './utils/settings-builder.js';
29
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/factories/searxng/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,YAAY,EACV,sBAAsB,EACtB,sBAAsB,EACtB,aAAa,EACb,aAAa,GACd,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,YAAY,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * SearXNG Integration
3
+ *
4
+ * Privacy-respecting metasearch engine that aggregates results from
5
+ * multiple search providers (Google, Bing, DuckDuckGo, Brave, etc.).
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * import { searxngBootstrap } from 'typekro/searxng';
10
+ *
11
+ * const factory = searxngBootstrap.factory('direct', {
12
+ * namespace: 'search',
13
+ * waitForReady: true,
14
+ * });
15
+ *
16
+ * await factory.deploy({
17
+ * name: 'searxng',
18
+ * search: { formats: ['html', 'json'] },
19
+ * server: { limiter: false, secret_key: 'change-me' },
20
+ * });
21
+ * ```
22
+ */
23
+ export { searxngBootstrap } from './compositions/index.js';
24
+ export { searxng } from './resources/index.js';
25
+ export { DEFAULT_SEARXNG_IMAGE, DEFAULT_SEARXNG_PORT } from './types.js';
26
+ export { buildSearxngSettings } from './utils/settings-builder.js';
27
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/factories/searxng/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAO/C,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { searxng } from './searxng.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/factories/searxng/resources/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { searxng } from './searxng.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/factories/searxng/resources/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * SearXNG Deployment Factory
3
+ *
4
+ * Creates a SearXNG Deployment with a mounted settings ConfigMap,
5
+ * health probes at /healthz, and optional environment variables.
6
+ * The secret_key is injected via SEARXNG_SECRET env var (not in ConfigMap).
7
+ */
8
+ import type { CelExpression, Composable, Enhanced } from '../../../core/types/index.js';
9
+ import { type SearxngConfig, type SearxngStatus } from '../types.js';
10
+ /**
11
+ * Relaxed spec type for the factory. The ArkType schema constrains
12
+ * `secretKeyRef.name` and `secretKeyRef.key` to plain strings, but the
13
+ * bootstrap composition needs to pass `CelExpression<string>` values in
14
+ * KRO mode (where the field values are CEL ternaries that KRO evaluates
15
+ * at reconcile time). At runtime `createResource` handles both concrete
16
+ * strings and CelExpression objects uniformly, so widening the type here
17
+ * is purely a TypeScript ergonomics fix — no runtime behavior change.
18
+ */
19
+ type SearxngFactoryConfig = Omit<SearxngConfig, 'spec'> & {
20
+ spec: Omit<SearxngConfig['spec'], 'secretKeyRef'> & {
21
+ secretKeyRef?: {
22
+ name: string | CelExpression<string>;
23
+ key: string | CelExpression<string>;
24
+ };
25
+ };
26
+ };
27
+ /**
28
+ * Create a SearXNG Deployment resource.
29
+ *
30
+ * @example Recommended — mount an existing Secret via `secretKeyRef`
31
+ * ```typescript
32
+ * const search = searxng({
33
+ * name: 'my-searxng',
34
+ * namespace: 'search',
35
+ * spec: {
36
+ * instanceName: 'My Search',
37
+ * search: { formats: ['html', 'json'] },
38
+ * server: { limiter: false },
39
+ * // Secret is managed externally (Vault, external-secrets operator,
40
+ * // or created alongside this factory). The Deployment mounts
41
+ * // SEARXNG_SECRET via valueFrom.secretKeyRef — the plaintext
42
+ * // never enters the Deployment spec.
43
+ * secretKeyRef: { name: 'my-searxng-secret', key: 'secret_key' },
44
+ * },
45
+ * });
46
+ * ```
47
+ *
48
+ * @example Discouraged — plaintext `secret_key` in the config
49
+ * ```typescript
50
+ * // Works, but the secret appears in `kubectl get deploy -o yaml` as
51
+ * // Deployment.spec.template.spec.containers[0].env[].value. Prefer the
52
+ * // `secretKeyRef` path above or use the `searxngBootstrap` composition
53
+ * // which auto-creates a K8s Secret and wires it through for you.
54
+ * const search = searxng({
55
+ * name: 'my-searxng',
56
+ * spec: {
57
+ * server: { secret_key: 'change-me-in-production', limiter: false },
58
+ * },
59
+ * });
60
+ * ```
61
+ */
62
+ declare function createSearxngResource(config: Composable<SearxngFactoryConfig>): Enhanced<SearxngConfig['spec'], SearxngStatus>;
63
+ export declare const searxng: typeof createSearxngResource;
64
+ export {};
65
+ //# sourceMappingURL=searxng.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"searxng.d.ts","sourceRoot":"","sources":["../../../../src/factories/searxng/resources/searxng.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EACV,aAAa,EACb,UAAU,EACV,QAAQ,EAET,MAAM,8BAA8B,CAAC;AAItC,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,aAAa,EACnB,MAAM,aAAa,CAAC;AAErB;;;;;;;;GAQG;AACH,KAAK,oBAAoB,GAAG,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,GAAG;IACxD,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC,GAAG;QAClD,YAAY,CAAC,EAAE;YACb,IAAI,EAAE,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;YACrC,GAAG,EAAE,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;SACrC,CAAC;KACH,CAAC;CACH,CAAC;AA6BF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,iBAAS,qBAAqB,CAC5B,MAAM,EAAE,UAAU,CAAC,oBAAoB,CAAC,GACvC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC,CA6HhD;AAED,eAAO,MAAM,OAAO,8BAAwB,CAAC"}