@intentius/chant-lexicon-k8s 0.46.0 → 0.50.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 (248) hide show
  1. package/dist/components/kubectl-apply.d.ts +5 -0
  2. package/dist/components/kubectl-apply.d.ts.map +1 -1
  3. package/dist/composites/flux-app.d.ts +12 -0
  4. package/dist/composites/flux-app.d.ts.map +1 -1
  5. package/dist/composites/index.d.ts +8 -0
  6. package/dist/composites/index.d.ts.map +1 -1
  7. package/dist/composites/inference-service.d.ts +86 -0
  8. package/dist/composites/inference-service.d.ts.map +1 -0
  9. package/dist/composites/model.d.ts +80 -0
  10. package/dist/composites/model.d.ts.map +1 -0
  11. package/dist/composites/operator-stack.d.ts +183 -0
  12. package/dist/composites/operator-stack.d.ts.map +1 -0
  13. package/dist/composites/vllm-serving-runtime.d.ts +100 -0
  14. package/dist/composites/vllm-serving-runtime.d.ts.map +1 -0
  15. package/dist/crd/crd-sources.d.ts.map +1 -1
  16. package/dist/deep-observe-hooks.d.ts.map +1 -1
  17. package/dist/generated/index.d.ts +167 -40
  18. package/dist/generated/index.d.ts.map +1 -1
  19. package/dist/group-namespace.d.ts.map +1 -1
  20. package/dist/index.d.ts +3 -2
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/integrity.json +41 -33
  23. package/dist/kube/apply.d.ts.map +1 -1
  24. package/dist/lint/audit-catalog.d.ts.map +1 -1
  25. package/dist/lint/post-synth/argo-helpers.d.ts.map +1 -1
  26. package/dist/lint/post-synth/crd-schema-helpers.d.ts.map +1 -1
  27. package/dist/lint/post-synth/index.d.ts.map +1 -1
  28. package/dist/lint/post-synth/k8s-helpers.d.ts +56 -6
  29. package/dist/lint/post-synth/k8s-helpers.d.ts.map +1 -1
  30. package/dist/lint/post-synth/sops-helpers.d.ts +38 -0
  31. package/dist/lint/post-synth/sops-helpers.d.ts.map +1 -0
  32. package/dist/lint/post-synth/wk8005.d.ts.map +1 -1
  33. package/dist/lint/post-synth/wk8006.d.ts.map +1 -1
  34. package/dist/lint/post-synth/wk8041.d.ts.map +1 -1
  35. package/dist/lint/post-synth/wk8042.d.ts.map +1 -1
  36. package/dist/lint/post-synth/wk8101.d.ts.map +1 -1
  37. package/dist/lint/post-synth/wk8102.d.ts.map +1 -1
  38. package/dist/lint/post-synth/wk8103.d.ts.map +1 -1
  39. package/dist/lint/post-synth/wk8104.d.ts.map +1 -1
  40. package/dist/lint/post-synth/wk8105.d.ts.map +1 -1
  41. package/dist/lint/post-synth/wk8201.d.ts.map +1 -1
  42. package/dist/lint/post-synth/wk8202.d.ts.map +1 -1
  43. package/dist/lint/post-synth/wk8203.d.ts.map +1 -1
  44. package/dist/lint/post-synth/wk8204.d.ts.map +1 -1
  45. package/dist/lint/post-synth/wk8205.d.ts.map +1 -1
  46. package/dist/lint/post-synth/wk8207.d.ts.map +1 -1
  47. package/dist/lint/post-synth/wk8208.d.ts.map +1 -1
  48. package/dist/lint/post-synth/wk8209.d.ts.map +1 -1
  49. package/dist/lint/post-synth/wk8301.d.ts.map +1 -1
  50. package/dist/lint/post-synth/wk8302.d.ts.map +1 -1
  51. package/dist/lint/post-synth/wk8303.d.ts.map +1 -1
  52. package/dist/lint/post-synth/wk8304.d.ts.map +1 -1
  53. package/dist/lint/post-synth/wk8305.d.ts.map +1 -1
  54. package/dist/lint/post-synth/wk8306.d.ts.map +1 -1
  55. package/dist/lint/post-synth/wk8401.d.ts.map +1 -1
  56. package/dist/lint/post-synth/wk8402.d.ts.map +1 -1
  57. package/dist/lint/post-synth/wk8403.d.ts.map +1 -1
  58. package/dist/lint/post-synth/wk8404.d.ts +12 -0
  59. package/dist/lint/post-synth/wk8404.d.ts.map +1 -0
  60. package/dist/lint/post-synth/wk8405.d.ts +13 -0
  61. package/dist/lint/post-synth/wk8405.d.ts.map +1 -0
  62. package/dist/lint/post-synth/wk8406.d.ts +12 -0
  63. package/dist/lint/post-synth/wk8406.d.ts.map +1 -0
  64. package/dist/lint/post-synth/wk8407.d.ts +21 -0
  65. package/dist/lint/post-synth/wk8407.d.ts.map +1 -0
  66. package/dist/lint/post-synth/wk8503.d.ts +39 -0
  67. package/dist/lint/post-synth/wk8503.d.ts.map +1 -0
  68. package/dist/lint/post-synth/wk8504.d.ts +28 -0
  69. package/dist/lint/post-synth/wk8504.d.ts.map +1 -0
  70. package/dist/lint/post-synth/wk8505.d.ts +28 -0
  71. package/dist/lint/post-synth/wk8505.d.ts.map +1 -0
  72. package/dist/manifest.json +1 -1
  73. package/dist/meta.json +1039 -68
  74. package/dist/okf/index.md +26 -2
  75. package/dist/okf/rules/FLUX002.md +0 -1
  76. package/dist/okf/rules/WK8404.md +11 -0
  77. package/dist/okf/rules/WK8405.md +17 -0
  78. package/dist/okf/rules/WK8406.md +11 -0
  79. package/dist/okf/rules/WK8407.md +15 -0
  80. package/dist/okf/rules/WK8503.md +17 -0
  81. package/dist/okf/rules/WK8504.md +11 -0
  82. package/dist/okf/rules/WK8505.md +15 -0
  83. package/dist/okf/types/AWSClusterControllerIdentity.md +14 -0
  84. package/dist/okf/types/AWSManagedCluster.md +14 -0
  85. package/dist/okf/types/AWSManagedControlPlane.md +14 -0
  86. package/dist/okf/types/AWSManagedMachinePool.md +14 -0
  87. package/dist/okf/types/CAPICluster.md +14 -0
  88. package/dist/okf/types/Certificate.md +1 -0
  89. package/dist/okf/types/ClusterResourceSet.md +14 -0
  90. package/dist/okf/types/ClusterServingRuntime.md +14 -0
  91. package/dist/okf/types/{Cluster.md → CnpgCluster.md} +2 -2
  92. package/dist/okf/types/DBInstance.md +14 -0
  93. package/dist/okf/types/{Bucket.md → FluxBucket.md} +2 -6
  94. package/dist/okf/types/HelmChartProxy.md +14 -0
  95. package/dist/okf/types/IamRole.md +14 -0
  96. package/dist/okf/types/InferenceService.md +19 -0
  97. package/dist/okf/types/InfisicalDynamicSecret.md +4 -0
  98. package/dist/okf/types/InfisicalSecret.md +4 -0
  99. package/dist/okf/types/Kustomization.md +1 -0
  100. package/dist/okf/types/MachinePool.md +14 -0
  101. package/dist/okf/types/PDB.md +1 -0
  102. package/dist/okf/types/PodIdentityAssociation.md +14 -0
  103. package/dist/okf/types/Policy.md +14 -0
  104. package/dist/okf/types/S3Bucket.md +14 -0
  105. package/dist/okf/types/ServingRuntime.md +14 -0
  106. package/dist/okf/types/StatefulSet.md +1 -0
  107. package/dist/okf/types/User.md +14 -0
  108. package/dist/op/activities/ensure-secret.d.ts +41 -0
  109. package/dist/op/activities/ensure-secret.d.ts.map +1 -0
  110. package/dist/op/activities/index.d.ts +2 -0
  111. package/dist/op/activities/index.d.ts.map +1 -1
  112. package/dist/op/activities/kubectl.d.ts +9 -0
  113. package/dist/op/activities/kubectl.d.ts.map +1 -1
  114. package/dist/op/activities/wait-for-ready.d.ts.map +1 -1
  115. package/dist/op/builders.d.ts +69 -0
  116. package/dist/op/builders.d.ts.map +1 -0
  117. package/dist/plugin.d.ts.map +1 -1
  118. package/dist/rules/argo-helpers.ts +2 -6
  119. package/dist/rules/crd-schema-helpers.ts +4 -6
  120. package/dist/rules/k8s-helpers.ts +87 -24
  121. package/dist/rules/sops-helpers.ts +76 -0
  122. package/dist/rules/wk8005.ts +27 -32
  123. package/dist/rules/wk8006.ts +33 -38
  124. package/dist/rules/wk8041.ts +19 -24
  125. package/dist/rules/wk8042.ts +17 -22
  126. package/dist/rules/wk8101.ts +29 -34
  127. package/dist/rules/wk8102.ts +13 -18
  128. package/dist/rules/wk8103.ts +17 -22
  129. package/dist/rules/wk8104.ts +30 -35
  130. package/dist/rules/wk8105.ts +16 -21
  131. package/dist/rules/wk8201.ts +26 -31
  132. package/dist/rules/wk8202.ts +17 -22
  133. package/dist/rules/wk8203.ts +17 -22
  134. package/dist/rules/wk8204.ts +46 -51
  135. package/dist/rules/wk8205.ts +27 -32
  136. package/dist/rules/wk8207.ts +14 -19
  137. package/dist/rules/wk8208.ts +14 -19
  138. package/dist/rules/wk8209.ts +14 -19
  139. package/dist/rules/wk8301.ts +25 -30
  140. package/dist/rules/wk8302.ts +19 -24
  141. package/dist/rules/wk8303.ts +23 -26
  142. package/dist/rules/wk8304.ts +35 -40
  143. package/dist/rules/wk8305.ts +39 -42
  144. package/dist/rules/wk8306.ts +20 -25
  145. package/dist/rules/wk8401.ts +59 -64
  146. package/dist/rules/wk8402.ts +13 -18
  147. package/dist/rules/wk8403.ts +32 -37
  148. package/dist/rules/wk8404.ts +49 -0
  149. package/dist/rules/wk8405.ts +85 -0
  150. package/dist/rules/wk8406.ts +55 -0
  151. package/dist/rules/wk8407.ts +66 -0
  152. package/dist/rules/wk8503.ts +220 -0
  153. package/dist/rules/wk8504.ts +51 -0
  154. package/dist/rules/wk8505.ts +63 -0
  155. package/dist/secret-labels.d.ts +31 -0
  156. package/dist/secret-labels.d.ts.map +1 -0
  157. package/dist/secret-store.d.ts +73 -0
  158. package/dist/secret-store.d.ts.map +1 -0
  159. package/dist/serializer.d.ts.map +1 -1
  160. package/dist/sops/encrypted-secret-file.d.ts +52 -0
  161. package/dist/sops/encrypted-secret-file.d.ts.map +1 -0
  162. package/dist/sops/entity.d.ts +31 -0
  163. package/dist/sops/entity.d.ts.map +1 -0
  164. package/dist/teardown.d.ts.map +1 -1
  165. package/dist/types/index.d.ts +261 -9
  166. package/package.json +4 -4
  167. package/src/components/kubectl-apply.ts +5 -0
  168. package/src/composites/composites.test.ts +556 -0
  169. package/src/composites/flux-app.ts +23 -0
  170. package/src/composites/index.ts +15 -0
  171. package/src/composites/inference-service.ts +140 -0
  172. package/src/composites/model.ts +150 -0
  173. package/src/composites/operator-stack.ts +385 -0
  174. package/src/composites/vllm-serving-runtime.test.ts +167 -0
  175. package/src/composites/vllm-serving-runtime.ts +196 -0
  176. package/src/crd/cnpg.test.ts +8 -3
  177. package/src/crd/crd-sources.ts +183 -0
  178. package/src/crd/parser.test.ts +14 -0
  179. package/src/deep-observe-hooks.ts +24 -0
  180. package/src/deep-observe.test.ts +89 -0
  181. package/src/generated/index.d.ts +261 -9
  182. package/src/generated/index.ts +167 -40
  183. package/src/generated/lexicon-k8s.json +1039 -68
  184. package/src/generated/operations.json +272 -0
  185. package/src/group-namespace.test.ts +31 -0
  186. package/src/group-namespace.ts +13 -0
  187. package/src/index.ts +17 -0
  188. package/src/kube/apply.ts +5 -0
  189. package/src/lint/audit-catalog.ts +7 -0
  190. package/src/lint/post-synth/argo-helpers.ts +2 -6
  191. package/src/lint/post-synth/crd-schema-helpers.ts +4 -6
  192. package/src/lint/post-synth/index.ts +14 -0
  193. package/src/lint/post-synth/k8s-helpers.test.ts +26 -9
  194. package/src/lint/post-synth/k8s-helpers.ts +87 -24
  195. package/src/lint/post-synth/post-synth.test.ts +826 -0
  196. package/src/lint/post-synth/sops-helpers.ts +76 -0
  197. package/src/lint/post-synth/wk8005.ts +27 -32
  198. package/src/lint/post-synth/wk8006.ts +33 -38
  199. package/src/lint/post-synth/wk8041.ts +19 -24
  200. package/src/lint/post-synth/wk8042.ts +17 -22
  201. package/src/lint/post-synth/wk8101.ts +29 -34
  202. package/src/lint/post-synth/wk8102.ts +13 -18
  203. package/src/lint/post-synth/wk8103.ts +17 -22
  204. package/src/lint/post-synth/wk8104.ts +30 -35
  205. package/src/lint/post-synth/wk8105.ts +16 -21
  206. package/src/lint/post-synth/wk8201.ts +26 -31
  207. package/src/lint/post-synth/wk8202.ts +17 -22
  208. package/src/lint/post-synth/wk8203.ts +17 -22
  209. package/src/lint/post-synth/wk8204.ts +46 -51
  210. package/src/lint/post-synth/wk8205.ts +27 -32
  211. package/src/lint/post-synth/wk8207.ts +14 -19
  212. package/src/lint/post-synth/wk8208.ts +14 -19
  213. package/src/lint/post-synth/wk8209.ts +14 -19
  214. package/src/lint/post-synth/wk8301.ts +25 -30
  215. package/src/lint/post-synth/wk8302.ts +19 -24
  216. package/src/lint/post-synth/wk8303.ts +23 -26
  217. package/src/lint/post-synth/wk8304.ts +35 -40
  218. package/src/lint/post-synth/wk8305.ts +39 -42
  219. package/src/lint/post-synth/wk8306.ts +20 -25
  220. package/src/lint/post-synth/wk8401.ts +59 -64
  221. package/src/lint/post-synth/wk8402.ts +13 -18
  222. package/src/lint/post-synth/wk8403.ts +32 -37
  223. package/src/lint/post-synth/wk8404.ts +49 -0
  224. package/src/lint/post-synth/wk8405.ts +85 -0
  225. package/src/lint/post-synth/wk8406.ts +55 -0
  226. package/src/lint/post-synth/wk8407.ts +66 -0
  227. package/src/lint/post-synth/wk8503.ts +220 -0
  228. package/src/lint/post-synth/wk8504.ts +51 -0
  229. package/src/lint/post-synth/wk8505.ts +63 -0
  230. package/src/op/activities/ensure-secret.ts +71 -0
  231. package/src/op/activities/index.ts +7 -0
  232. package/src/op/activities/kubectl.test.ts +32 -0
  233. package/src/op/activities/kubectl.ts +28 -5
  234. package/src/op/activities/wait-for-ready.test.ts +34 -0
  235. package/src/op/activities/wait-for-ready.ts +26 -0
  236. package/src/op/builders.test.ts +82 -0
  237. package/src/op/builders.ts +95 -0
  238. package/src/plugin.ts +21 -2
  239. package/src/secret-labels.ts +36 -0
  240. package/src/secret-store.test.ts +184 -0
  241. package/src/secret-store.ts +165 -0
  242. package/src/serializer.ts +41 -2
  243. package/src/sops/encrypted-secret-file.test.ts +333 -0
  244. package/src/sops/encrypted-secret-file.ts +264 -0
  245. package/src/sops/entity.ts +53 -0
  246. package/src/teardown.test.ts +36 -0
  247. package/src/teardown.ts +14 -0
  248. package/src/testdata/sops/db-credentials.sops.yaml +23 -0
@@ -40,6 +40,11 @@ export interface KubectlApplyOutcome {
40
40
  applied: AppliedRef[];
41
41
  /** Objects deleted because they carried chant's marker and are no longer declared. */
42
42
  pruned: AppliedRef[];
43
+ /**
44
+ * Owned, undeclared, deliberately KEPT (#1830): generated-once Secrets never
45
+ * enter the prunable set. Present whenever the prune ran.
46
+ */
47
+ retained?: AppliedRef[];
43
48
  }
44
49
  interface ApplierArgs {
45
50
  manifest: string;
@@ -1 +1 @@
1
- {"version":3,"file":"kubectl-apply.d.ts","sourceRoot":"","sources":["../../src/components/kubectl-apply.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,EAAE,UAAU,EAAiB,MAAM,wCAAwC,CAAC;AAExF;;;;;;;;;;GAUG;AACH,UAAU,UAAU;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,4DAA4D;AAC5D,MAAM,WAAW,mBAAmB;IAClC,qDAAqD;IACrD,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,sFAAsF;IACtF,MAAM,EAAE,UAAU,EAAE,CAAC;CACtB;AAED,UAAU,WAAW;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,GAAG,YAAY,GAAG,OAAO,CAAC;CAC/C;AAED,KAAK,OAAO,GAAG,CAAC,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAEnE,MAAM,WAAW,iBAAiB;IAChC,uDAAuD;IACvD,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,GAAG,YAAY,CAAC;CACjC;AAED;;;uCAGuC;AACvC,wBAAgB,4BAA4B,CAC1C,KAAK,CAAC,EAAE,OAAO,GACd,UAAU,CAAC,iBAAiB,EAAE,mBAAmB,CAAC,CAkBpD;AAED,eAAO,MAAM,sBAAsB,oDAAiC,CAAC"}
1
+ {"version":3,"file":"kubectl-apply.d.ts","sourceRoot":"","sources":["../../src/components/kubectl-apply.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,EAAE,UAAU,EAAiB,MAAM,wCAAwC,CAAC;AAExF;;;;;;;;;;GAUG;AACH,UAAU,UAAU;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,4DAA4D;AAC5D,MAAM,WAAW,mBAAmB;IAClC,qDAAqD;IACrD,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,sFAAsF;IACtF,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB;;;OAGG;IACH,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAC;CACzB;AAED,UAAU,WAAW;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,GAAG,YAAY,GAAG,OAAO,CAAC;CAC/C;AAED,KAAK,OAAO,GAAG,CAAC,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAEnE,MAAM,WAAW,iBAAiB;IAChC,uDAAuD;IACvD,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,GAAG,YAAY,CAAC;CACjC;AAED;;;uCAGuC;AACvC,wBAAgB,4BAA4B,CAC1C,KAAK,CAAC,EAAE,OAAO,GACd,UAAU,CAAC,iBAAiB,EAAE,mBAAmB,CAAC,CAkBpD;AAED,eAAO,MAAM,sBAAsB,oDAAiC,CAAC"}
@@ -96,6 +96,18 @@ export interface FluxAppForOptions {
96
96
  suspend?: boolean;
97
97
  /** ServiceAccount the kustomize-controller impersonates for this app. */
98
98
  serviceAccountName?: string;
99
+ /**
100
+ * SOPS decryption for the reconciled path. `"sops"` is shorthand for the
101
+ * default age Secret name (`sops-age`); pass an object to name a different
102
+ * one. Never inferred — the path this Kustomization reconciles is usually
103
+ * the output of a *different* `chant build`, so the composite cannot know
104
+ * whether it contains SOPS ciphertext. See WK8505 for the build-time check
105
+ * that catches a committed-encrypted secret with no wiring here.
106
+ */
107
+ decryption?: "sops" | {
108
+ provider: "sops";
109
+ secretRef?: string;
110
+ };
99
111
  /** Namespace the Kustomization object itself lives in (default "flux-system"). */
100
112
  fluxNamespace?: string;
101
113
  /** Extra labels applied to the Kustomization. */
@@ -1 +1 @@
1
- {"version":3,"file":"flux-app.d.ts","sourceRoot":"","sources":["../../src/composites/flux-app.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,EACL,aAAa,IAAI,qBAAqB,EACtC,aAAa,IAAI,qBAAqB,EACvC,MAAM,cAAc,CAAC;AAOtB,uDAAuD;AACvD,MAAM,MAAM,cAAc,GAAG,eAAe,GAAG,eAAe,GAAG,QAAQ,CAAC;AAE1E,4DAA4D;AAC5D,MAAM,WAAW,aAAa;IAC5B,6CAA6C;IAC7C,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAID,MAAM,WAAW,oBAAoB;IACnC,wDAAwD;IACxD,GAAG,EAAE,MAAM,CAAC;IACZ,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sCAAsC;IACtC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,qCAAqC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qEAAqE;IACrE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oEAAoE;IACpE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iDAAiD;IACjD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,QAAQ,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;KAAE,CAAC;CACjE;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,aAAa,EAAE,YAAY,CAAC,OAAO,qBAAqB,CAAC,CAAC;CAC3D,CAAA;AAwCD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,GAAG,mBAAmB,CAE9F;AAID,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,MAAM,EAAE,mBAAmB,GAAG,aAAa,GAAG,MAAM,CAAC;IACrD,4EAA4E;IAC5E,IAAI,EAAE,MAAM,CAAC;IACb,8EAA8E;IAC9E,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sEAAsE;IACtE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,oEAAoE;IACpE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sDAAsD;IACtD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,yEAAyE;IACzE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kFAAkF;IAClF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iDAAiD;IACjD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,QAAQ,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;KAAE,CAAC;CACjE;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,aAAa,EAAE,YAAY,CAAC,OAAO,qBAAqB,CAAC,CAAC;CAC3D,CAAA;AAqFD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,gBAAgB,CAEvF"}
1
+ {"version":3,"file":"flux-app.d.ts","sourceRoot":"","sources":["../../src/composites/flux-app.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,EACL,aAAa,IAAI,qBAAqB,EACtC,aAAa,IAAI,qBAAqB,EACvC,MAAM,cAAc,CAAC;AAWtB,uDAAuD;AACvD,MAAM,MAAM,cAAc,GAAG,eAAe,GAAG,eAAe,GAAG,QAAQ,CAAC;AAE1E,4DAA4D;AAC5D,MAAM,WAAW,aAAa;IAC5B,6CAA6C;IAC7C,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAID,MAAM,WAAW,oBAAoB;IACnC,wDAAwD;IACxD,GAAG,EAAE,MAAM,CAAC;IACZ,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sCAAsC;IACtC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,qCAAqC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qEAAqE;IACrE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oEAAoE;IACpE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iDAAiD;IACjD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,QAAQ,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;KAAE,CAAC;CACjE;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,aAAa,EAAE,YAAY,CAAC,OAAO,qBAAqB,CAAC,CAAC;CAC3D,CAAA;AAwCD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,GAAG,mBAAmB,CAE9F;AAID,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,MAAM,EAAE,mBAAmB,GAAG,aAAa,GAAG,MAAM,CAAC;IACrD,4EAA4E;IAC5E,IAAI,EAAE,MAAM,CAAC;IACb,8EAA8E;IAC9E,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sEAAsE;IACtE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,oEAAoE;IACpE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sDAAsD;IACtD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,yEAAyE;IACzE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/D,kFAAkF;IAClF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iDAAiD;IACjD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,QAAQ,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;KAAE,CAAC;CACjE;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,aAAa,EAAE,YAAY,CAAC,OAAO,qBAAqB,CAAC,CAAC;CAC3D,CAAA;AA+FD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,gBAAgB,CAEvF"}
@@ -81,8 +81,16 @@ export { RayJob } from "./ray-job.js";
81
81
  export type { RayJobProps, RayJobResult } from "./ray-job.js";
82
82
  export { RayService } from "./ray-service.js";
83
83
  export type { RayServiceProps, RayServiceResult } from "./ray-service.js";
84
+ export { InferenceService } from "./inference-service.js";
85
+ export type { InferenceServiceProps, InferenceServiceResult, ModelReference, ScaleMetric, } from "./inference-service.js";
84
86
  export { ArgoAppFor, ArgoAppSetForRegions, registerArgoCluster } from "./argo-app.js";
85
87
  export type { ArgoDestination, ArgoSyncPolicy, ArgoAppForOptions, ArgoAppForResult, ArgoRegionTarget, ArgoAppSetForRegionsOptions, ArgoAppSetForRegionsResult, RegisterArgoClusterOptions, RegisterArgoClusterResult, } from "./argo-app.js";
86
88
  export { FluxGitSource, FluxAppFor } from "./flux-app.js";
87
89
  export type { FluxSourceKind, FluxSourceRef, FluxGitSourceOptions, FluxGitSourceResult, FluxAppForOptions, FluxAppForResult, } from "./flux-app.js";
90
+ export { VllmServingRuntime } from "./vllm-serving-runtime.js";
91
+ export type { VllmServingRuntimeProps, VllmServingRuntimeResult, VllmResourceSpec } from "./vllm-serving-runtime.js";
92
+ export { Model, resolveModelStorageUri } from "./model.js";
93
+ export type { ModelSource, ModelProps, ModelResult } from "./model.js";
94
+ export { OperatorStack, deriveHostVerbClass, DEFAULT_RESOURCE_RULES } from "./operator-stack.js";
95
+ export type { OperatorDial, OperatorRbacResourceRule, OperatorStackConvergeHost, OperatorStackConfig, OperatorStackResult, } from "./operator-stack.js";
88
96
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/composites/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,YAAY,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC5F,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,YAAY,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AACzF,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,YAAY,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAChG,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,YAAY,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAChG,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,YAAY,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACvF,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,YAAY,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACvF,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,YAAY,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AACpF,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,YAAY,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC1F,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AACrF,YAAY,EAAE,mCAAmC,EAAE,oCAAoC,EAAE,MAAM,qCAAqC,CAAC;AACrI,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAC9F,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,YAAY,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACzG,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,YAAY,EAAE,2BAA2B,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAC5G,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,YAAY,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAC1G,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,YAAY,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAC1G,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,YAAY,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACzG,OAAO,EAAE,8BAA8B,IAAI,iCAAiC,EAAE,MAAM,wBAAwB,CAAC;AAC7G,YAAY,EAAE,mCAAmC,IAAI,sCAAsC,EAAE,oCAAoC,IAAI,uCAAuC,EAAE,MAAM,wBAAwB,CAAC;AAC7M,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAC9F,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,YAAY,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC1F,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,YAAY,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACpG,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,YAAY,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACpG,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,YAAY,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAC/F,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,YAAY,EAAE,4BAA4B,EAAE,gCAAgC,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAC7I,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,cAAc,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrI,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACnF,YAAY,EACV,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,2BAA2B,EAC3B,0BAA0B,EAC1B,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACvD,YAAY,EACV,cAAc,EACd,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/composites/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * InferenceService composite — KServe `InferenceService` (v1beta1).
3
+ *
4
+ * Spec-true to KServe: the predictor references a `ServingRuntime` by name
5
+ * (the plug seam KServe itself defines — see #984's VllmServingRuntime) and
6
+ * a model `storageUri`, plus the real `ComponentExtensionSpec` autoscaling
7
+ * knobs (`minReplicas`/`maxReplicas`/`scaleTarget`/`scaleMetric`) and
8
+ * `canaryTrafficPercent`. No chant-flavored runtime abstraction is invented;
9
+ * `runtime` is just the `ServingRuntime`/`ClusterServingRuntime` name string
10
+ * KServe's own webhook resolves against `supportedModelFormats`.
11
+ *
12
+ * Coupling note (#984/#986 land in parallel in this same lexicon): this
13
+ * composite does not import either sibling. `runtime` is a plain name
14
+ * string (whatever `VllmServingRuntime` from #984 names its `ServingRuntime`
15
+ * object). `model` accepts either a raw `storageUri` string or a
16
+ * `{ storageUri }`-shaped object — the resolved-value shape `Model` from
17
+ * #986 is expected to return — matched structurally, not by import.
18
+ */
19
+ import { InferenceService as InferenceServiceResource } from "../generated/index.js";
20
+ /** Knative concurrency, or a raw HPA metric (cpu/memory/rps). */
21
+ export type ScaleMetric = "concurrency" | "cpu" | "memory" | "rps";
22
+ /**
23
+ * A resolved model reference. Matches the resolved-value shape the `Model`
24
+ * composite (#986) is expected to return — structurally, not by import.
25
+ */
26
+ export interface ModelReference {
27
+ storageUri: string;
28
+ }
29
+ export interface InferenceServiceProps {
30
+ name: string;
31
+ namespace: string;
32
+ /** A raw `storageUri` (e.g. `"gs://bucket/model"`) or a resolved model ref. */
33
+ model: string | ModelReference;
34
+ /** `ServingRuntime`/`ClusterServingRuntime` name the predictor pins to. */
35
+ runtime: string;
36
+ /**
37
+ * Model format name for KServe's runtime auto-matching (e.g. `"vLLM"`).
38
+ * Optional since `runtime` already pins the ServingRuntime explicitly;
39
+ * set it if the ServingRuntime's `supportedModelFormats` expects it.
40
+ */
41
+ modelFormat?: string;
42
+ /** Minimum predictor replicas. */
43
+ minReplicas?: number;
44
+ /** Maximum predictor replicas. */
45
+ maxReplicas?: number;
46
+ /** Autoscaling target value (e.g. concurrency-per-replica, or CPU/memory/RPS target). */
47
+ scaleTarget?: number;
48
+ /** Which metric `scaleTarget` is measured against. */
49
+ scaleMetric?: ScaleMetric;
50
+ /** Percentage of traffic (0-100) routed to this revision as a canary. */
51
+ canaryTrafficPercent?: number;
52
+ labels?: Record<string, string>;
53
+ defaults?: {
54
+ inferenceService?: Partial<Record<string, unknown>>;
55
+ };
56
+ }
57
+ export type InferenceServiceResult = {
58
+ inferenceService: InstanceType<typeof InferenceServiceResource>;
59
+ };
60
+ /**
61
+ * Create an InferenceService composite — a KServe `InferenceService`
62
+ * predictor referencing a `ServingRuntime` and a model `storageUri`, with
63
+ * autoscaling bounds and an optional canary traffic split.
64
+ *
65
+ * @example
66
+ * ```ts
67
+ * import { InferenceService } from "@intentius/chant-lexicon-k8s";
68
+ *
69
+ * const svc = InferenceService({
70
+ * name: "llama-3-8b",
71
+ * namespace: "serving",
72
+ * model: "gs://my-models/llama-3-8b/v1",
73
+ * runtime: "vllm-runtime",
74
+ * modelFormat: "vLLM",
75
+ * minReplicas: 1,
76
+ * maxReplicas: 4,
77
+ * scaleTarget: 8,
78
+ * scaleMetric: "concurrency",
79
+ * canaryTrafficPercent: 10,
80
+ * });
81
+ * ```
82
+ */
83
+ export declare const InferenceService: import("@intentius/chant").CompositeDefinition<InferenceServiceProps, {
84
+ inferenceService: import("@intentius/chant").Declarable & Record<string, string>;
85
+ }>;
86
+ //# sourceMappingURL=inference-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inference-service.d.ts","sourceRoot":"","sources":["../../src/composites/inference-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAAE,gBAAgB,IAAI,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAE5E,iEAAiE;AACjE,MAAM,MAAM,WAAW,GAAG,aAAa,GAAG,KAAK,GAAG,QAAQ,GAAG,KAAK,CAAC;AAEnE;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,+EAA+E;IAC/E,KAAK,EAAE,MAAM,GAAG,cAAc,CAAC;IAC/B,2EAA2E;IAC3E,OAAO,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yFAAyF;IACzF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sDAAsD;IACtD,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,yEAAyE;IACzE,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,QAAQ,CAAC,EAAE;QACT,gBAAgB,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;KACrD,CAAC;CACH;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,gBAAgB,EAAE,YAAY,CAAC,OAAO,wBAAwB,CAAC,CAAC;CACjE,CAAC;AAMF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,gBAAgB;;EA8CP,CAAC"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Model composite — resolves a model artifact reference to a KServe
3
+ * `storageUri` (+ optional warm-cache PVC), keyed by `(id, version)`.
4
+ *
5
+ * This is the FSx-warm-cache equivalent from the Netflix serving yardstick
6
+ * (see epic #982): a small, spec-true resolver that InferenceService (#985)
7
+ * consumes for its predictor's model reference. It does not itself emit an
8
+ * InferenceService or ServingRuntime — those are #984/#985's job.
9
+ *
10
+ * `version` is required so every resolved `storageUri` is pinned: the
11
+ * version is always appended as the trailing path segment, whether the
12
+ * default `id`-derived path is used or `uri` overrides it. This keeps the
13
+ * output stable for the unpinned-model lint rule (#988).
14
+ *
15
+ * `Model` itself is a plain resolver — a resolved value object, per the
16
+ * composite conventions — rather than a `Composite`, because its primary
17
+ * output (`storageUri`) is a string, not a Declarable; a `Composite`
18
+ * factory's members must all be Declarables. The optional cache PVC is
19
+ * built through an internal `Composite` so it gets the same bookkeeping
20
+ * (provenance, defaults-merging) as every other emitted resource.
21
+ */
22
+ import { PersistentVolumeClaim } from "../generated/index.js";
23
+ /** Where the model's weights live. Maps to the matching KServe storage-initializer scheme. */
24
+ export type ModelSource = "hf" | "gcs" | "s3" | "pvc";
25
+ export interface ModelProps {
26
+ /** Model identifier, e.g. "llama-3-8b-instruct". Used to key the resolved storageUri and cache PVC. */
27
+ id: string;
28
+ /**
29
+ * Model version/revision. REQUIRED — feeds the unpinned-model lint rule
30
+ * (#988). Always appears as the trailing segment of the resolved
31
+ * `storageUri` so the reference is pinned.
32
+ */
33
+ version: string;
34
+ /** Where the model artifact is hosted; selects the storageUri scheme. */
35
+ source: ModelSource;
36
+ /**
37
+ * Explicit path override (e.g. a bucket/prefix, HF repo id, or PVC name)
38
+ * in place of the `id`-derived default. `version` is still appended.
39
+ */
40
+ uri?: string;
41
+ /** When set, emits a warm-cache PVC named `${id}-${version}` for the InferenceService (#985) to mount. */
42
+ cache?: {
43
+ storageClass: string;
44
+ size: string;
45
+ };
46
+ /** Per-member defaults for fine-grained overrides. */
47
+ defaults?: {
48
+ cachePvc?: Partial<Record<string, unknown>>;
49
+ };
50
+ }
51
+ export interface ModelResult {
52
+ /** Resolved KServe storageUri, pinned to `version`. */
53
+ storageUri: string;
54
+ /** Warm-cache PVC, present only when `cache` is set. Named `${id}-${version}`. */
55
+ cache?: InstanceType<typeof PersistentVolumeClaim>;
56
+ }
57
+ /**
58
+ * Resolve a model artifact's `{ id, version, source, uri }` to a pinned
59
+ * KServe `storageUri` string.
60
+ */
61
+ export declare function resolveModelStorageUri(props: Pick<ModelProps, "id" | "version" | "source" | "uri">): string;
62
+ /**
63
+ * Resolve a model artifact `{ id, version, source, uri, cache }` to a pinned
64
+ * `storageUri`, with an optional warm-cache PVC.
65
+ *
66
+ * @example
67
+ * ```ts
68
+ * import { Model } from "@intentius/chant-lexicon-k8s";
69
+ *
70
+ * const { storageUri, cache } = Model({
71
+ * id: "llama-3-8b-instruct",
72
+ * version: "2024-07-01",
73
+ * source: "gcs",
74
+ * uri: "my-models-bucket/llama-3-8b-instruct",
75
+ * cache: { storageClass: "premium-rwo", size: "200Gi" },
76
+ * });
77
+ * ```
78
+ */
79
+ export declare function Model(props: ModelProps): ModelResult;
80
+ //# sourceMappingURL=model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/composites/model.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAErD,8FAA8F;AAC9F,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC;AAStD,MAAM,WAAW,UAAU;IACzB,uGAAuG;IACvG,EAAE,EAAE,MAAM,CAAC;IACX;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,yEAAyE;IACzE,MAAM,EAAE,WAAW,CAAC;IACpB;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,0GAA0G;IAC1G,KAAK,CAAC,EAAE;QACN,YAAY,EAAE,MAAM,CAAC;QACrB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,sDAAsD;IACtD,QAAQ,CAAC,EAAE;QACT,QAAQ,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;KAC7C,CAAC;CACH;AAED,MAAM,WAAW,WAAW;IAC1B,uDAAuD;IACvD,UAAU,EAAE,MAAM,CAAC;IACnB,kFAAkF;IAClF,KAAK,CAAC,EAAE,YAAY,CAAC,OAAO,qBAAqB,CAAC,CAAC;CACpD;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,GAAG,SAAS,GAAG,QAAQ,GAAG,KAAK,CAAC,GAAG,MAAM,CAK3G;AAmCD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,WAAW,CAmBpD"}
@@ -0,0 +1,183 @@
1
+ /**
2
+ * OperatorStack composite (#1940, epic #1487) — the operating loop
3
+ * materialized in-cluster as a declared estate on gitops principles: one
4
+ * Namespace, one CronJob per hosted `ConvergeOp` tick, and RBAC scoped to
5
+ * what that tick can actually do. chant declares the loop that runs chant
6
+ * with its own k8s lexicon — the same estate discipline as any other app.
7
+ *
8
+ * ## Why a CronJob, not the operator daemon
9
+ *
10
+ * Issue #1485 ("chant operator: native durable ticks without Temporal")
11
+ * names cron, a systemd timer, a k8s CronJob, a CI schedule, and the
12
+ * `chant operator` daemon as interchangeable safe invokers of the same
13
+ * thing: one converge tick. A k8s CronJob invoking `chant run <name>` per
14
+ * tick is that issue's own "cron … invokes the tick" case, not a dependency
15
+ * on the daemon it proposes — #1485 is a separate, still-unmerged runtime
16
+ * (lease fencing, `chant operator status`, durable gate-as-fact semantics).
17
+ * `OperatorStack`'s container command is deliberately `chant run <name>`,
18
+ * the one-shot local tick `ConvergeOp` (#1484) already ships and tests
19
+ * against (`lexicons/temporal/src/composites/converge-op.ts`'s own doc:
20
+ * "one-shot runnable locally for a single tick"). When #1485 lands, a
21
+ * caller can override `command` to shell out to `chant operator tick`
22
+ * instead — this composite doesn't need to change for that; only the
23
+ * command a caller passes does.
24
+ *
25
+ * `concurrencyPolicy: "Forbid"` is the k8s-native analogue of
26
+ * `ConvergeOp`'s own Temporal schedule `overlap: "Skip"` policy — never
27
+ * queue a second tick behind one still running.
28
+ *
29
+ * ## RBAC derivation
30
+ *
31
+ * `ConvergeOp` adds no authority an environment did not already grant
32
+ * (#1484's Autonomy table). `OperatorStack` re-derives the same bound at the
33
+ * k8s RBAC layer, independently of the temporal lexicon (this module has no
34
+ * dependency on it — see the layering note below): for each hosted
35
+ * ConvergeOp, walk its `dispatchTargets` (the OpConfigs its rule table's
36
+ * `run()` actions may name) through `classifyOpVerbClass`
37
+ * (`packages/core/src/op/op-verb-class.ts`, #1954), then keep only the
38
+ * highest verb class this host's `dial` could ever actually free-run —
39
+ * exactly `convergeTick`'s own `verbClassAllowedToDispatch` gate and
40
+ * `TMP014`'s build-time refusal, restated as an RBAC ceiling:
41
+ *
42
+ * - `dial: "observe"` never dispatches (report-only) → read-only RBAC,
43
+ * regardless of what the rule table's targets could otherwise do.
44
+ * - `dial: "reconcile"` only free-runs a read-only target (TMP014 refuses a
45
+ * mutating dispatch under reconcile in v1) → read-only RBAC.
46
+ * - `dial: "apply"` free-runs read-only and mutating targets → RBAC gains
47
+ * create/update/patch, never delete.
48
+ * - A `dispatchTargets` entry that itself classifies `destructive` is
49
+ * refused outright, at construction — TMP014 already refuses a
50
+ * destructive `run()` target under any dial in v1 (the local dispatch
51
+ * executor can't honor its required gate), so a `destructive` target
52
+ * reaching this composite is either a config bypassing that build check
53
+ * or a target `OperatorStack` should never grant permission toward.
54
+ * `never delete`, unconditionally, in v1 — no verb class here ever grants
55
+ * `delete`/`deletecollection`, and no rule ever uses `"*"`.
56
+ *
57
+ * Each hosted ConvergeOp gets its own ServiceAccount + Role + RoleBinding
58
+ * (never one shared identity across differently-scoped loops) — a read-only
59
+ * loop and a mutating loop sharing a Namespace get RBAC as different as
60
+ * their own dials allow, never the union.
61
+ *
62
+ * ## Layering
63
+ *
64
+ * `lexicons/k8s` has no workspace dependency on `lexicons/temporal` (nor
65
+ * the reverse — see both packages' `package.json`), so this module doesn't
66
+ * import `ConvergeOpConfig`/`ConvergeRule` types. `OperatorStackConvergeHost`
67
+ * restates the handful of `ConvergeOp` fields this composite actually needs
68
+ * (`name`, `schedule`, `env`, `dial`) structurally; `dispatchTargets` takes
69
+ * plain `OpConfig`-shaped values from `@intentius/chant/op` (a dependency
70
+ * this lexicon already has via the `@intentius/chant` peer dependency),
71
+ * the same type `classifyOpVerbClass` itself takes.
72
+ */
73
+ import type { OpConfig, OpVerbClass } from "@intentius/chant/op";
74
+ import { Namespace, CronJob, ServiceAccount, Role, RoleBinding } from "../generated/index.js";
75
+ /**
76
+ * Mirrors `ConvergeOp`'s own `ConvergeDial`
77
+ * (`lexicons/temporal/src/composites/converge-op.ts`) structurally — see
78
+ * this module's Layering doc for why it's restated rather than imported.
79
+ */
80
+ export type OperatorDial = "observe" | "reconcile" | "apply";
81
+ /** One resource-kind grant: an API group plus the resource names within it. Verbs are never specified here — they come from the derived verb class, never authored per-rule (the one place a rule table could smuggle in `delete`). */
82
+ export interface OperatorRbacResourceRule {
83
+ /** `""` is the core API group. */
84
+ apiGroups: string[];
85
+ resources: string[];
86
+ }
87
+ export interface OperatorStackConvergeHost {
88
+ /** ConvergeOp's own name (`ConvergeOpConfig.name`) — the CronJob, ServiceAccount, Role, and RoleBinding name stem for this host. */
89
+ name: string;
90
+ /** Cron expression driving the tick — the same string passed to `ConvergeOp`'s own `schedule`. */
91
+ schedule: string;
92
+ /** Environment this ConvergeOp converges (`ConvergeOpConfig.env`) — carried onto the container as `CHANT_CONVERGE_ENV`, for log/estate readability only (`chant run <name>` needs no `--env`: the target op already carries it). */
93
+ env: string;
94
+ /** Authority dial (`ConvergeOpConfig.dial`). @default "observe" */
95
+ dial?: OperatorDial;
96
+ /**
97
+ * OpConfigs for every op this ConvergeOp's rule table may `run()` — the
98
+ * sibling `*.op.ts` declarations its `run()` actions name. Used to derive
99
+ * least-privilege RBAC the same way `TMP014` derives its build-time
100
+ * refusals. Omit or leave empty when every rule only `report()`s; the
101
+ * host still gets read-only RBAC for its own observation.
102
+ */
103
+ dispatchTargets?: Pick<OpConfig, "phases" | "onFailure">[];
104
+ /** RBAC resource kinds this host's ServiceAccount may act on (the estate being converged — there's no way to derive this generically from an OpConfig). @default DEFAULT_RESOURCE_RULES */
105
+ resources?: OperatorRbacResourceRule[];
106
+ /** Container command. @default `["chant", "run", <name>]` — see this module's doc on why, and #1485 for the future `chant operator`-shaped alternative. */
107
+ command?: string[];
108
+ }
109
+ export interface OperatorStackConfig {
110
+ /** Stack name — also the Namespace name unless `namespace` is given. */
111
+ name: string;
112
+ /** Namespace hosting every CronJob. @default config.name */
113
+ namespace?: string;
114
+ /** Container image running the chant CLI. */
115
+ image: string;
116
+ /** ConvergeOps to host — one CronJob (+ ServiceAccount + Role + RoleBinding) per entry. Non-empty; host names must be unique. */
117
+ converge: OperatorStackConvergeHost[];
118
+ /** RBAC resource kinds granted by default when a host doesn't name its own `resources`. @default DEFAULT_RESOURCE_RULES */
119
+ defaultResources?: OperatorRbacResourceRule[];
120
+ /** @default 3 */
121
+ successfulJobsHistoryLimit?: number;
122
+ /** @default 1 */
123
+ failedJobsHistoryLimit?: number;
124
+ /** Additional labels applied to every resource. */
125
+ labels?: Record<string, string>;
126
+ /** Per-member-kind defaults for fine-grained overrides, applied to every host's member of that kind. */
127
+ defaults?: {
128
+ namespace?: Partial<Record<string, unknown>>;
129
+ serviceAccount?: Partial<Record<string, unknown>>;
130
+ role?: Partial<Record<string, unknown>>;
131
+ roleBinding?: Partial<Record<string, unknown>>;
132
+ cronJob?: Partial<Record<string, unknown>>;
133
+ };
134
+ }
135
+ /**
136
+ * Flat member shape: `namespace`, plus `serviceAccount_<host>`,
137
+ * `role_<host>`, `roleBinding_<host>`, `cronJob_<host>` for every entry in
138
+ * `converge` — a `Composite` member must itself be a `Declarable`
139
+ * (`packages/core/src/composite.ts`), so per-host resources are flat, keyed
140
+ * members rather than grouped under a nested `Record` (a plain object isn't
141
+ * a `Declarable`, so it can't itself be a composite member). A host named
142
+ * `"fountain-converge"` reads back as
143
+ * `result["cronJob_fountain-converge"]` (bracket notation — the key isn't a
144
+ * valid bare identifier).
145
+ */
146
+ export interface OperatorStackResult {
147
+ namespace: InstanceType<typeof Namespace>;
148
+ [member: string]: InstanceType<typeof Namespace> | InstanceType<typeof ServiceAccount> | InstanceType<typeof Role> | InstanceType<typeof RoleBinding> | InstanceType<typeof CronJob>;
149
+ }
150
+ /** Default RBAC resource kinds — the common workload surface a converge tick observes/acts on. Deliberately excludes `secrets`: a host that needs secret access opts in explicitly via its own `resources`. */
151
+ export declare const DEFAULT_RESOURCE_RULES: OperatorRbacResourceRule[];
152
+ /**
153
+ * Derive the highest verb class a host's ServiceAccount actually needs:
154
+ * the max, across `dispatchTargets`, of each target's own class — but only
155
+ * counting a target `dial` could ever actually dispatch (one it can't just
156
+ * gets reported, per `TMP014`/`convergeTick`, and needs no elevated grant).
157
+ * A `dispatchTargets` entry that classifies `destructive` is refused
158
+ * outright rather than silently ignored — see this module's RBAC
159
+ * derivation doc on why a destructive target reaching this composite is
160
+ * itself a refusal, not a no-op.
161
+ */
162
+ export declare function deriveHostVerbClass(hostName: string, dial: OperatorDial, dispatchTargets: Pick<OpConfig, "phases" | "onFailure">[]): OpVerbClass;
163
+ /**
164
+ * Create an OperatorStack composite — a Namespace hosting one CronJob (+
165
+ * least-privilege ServiceAccount/Role/RoleBinding) per ConvergeOp, the
166
+ * in-cluster declared estate for the operating loop.
167
+ *
168
+ * @example
169
+ * ```ts
170
+ * import { OperatorStack } from "@intentius/chant-lexicon-k8s";
171
+ *
172
+ * const stack = OperatorStack({
173
+ * name: "chant-operator",
174
+ * image: "ghcr.io/intentius/chant:0.49.0",
175
+ * converge: [
176
+ * { name: "fountain-observe", schedule: "*\/10 * * * *", env: "staging", dial: "observe" },
177
+ * { name: "fountain-converge", schedule: "*\/10 * * * *", env: "staging", dial: "apply", dispatchTargets: [fountainApplyOp] },
178
+ * ],
179
+ * });
180
+ * ```
181
+ */
182
+ export declare const OperatorStack: import("@intentius/chant").CompositeDefinition<OperatorStackConfig, Record<string, any>>;
183
+ //# sourceMappingURL=operator-stack.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operator-stack.d.ts","sourceRoot":"","sources":["../../src/composites/operator-stack.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,100 @@
1
+ /**
2
+ * VllmServingRuntime composite — KServe ServingRuntime/ClusterServingRuntime
3
+ * running vLLM.
4
+ *
5
+ * Design rule (chant #982, #984): spec-true, not chant-flavored. Props mirror
6
+ * vLLM's real `vllm serve` CLI args — no generic runtime abstraction. KServe's
7
+ * ServingRuntime CRD is the pluggability seam; this composite types vLLM
8
+ * faithfully on top of it, it doesn't invent a wrapper around it.
9
+ *
10
+ * The model itself is not a prop here — an InferenceService (chant #985)
11
+ * references this runtime and supplies storageUri, which KServe mounts at
12
+ * /mnt/models inside the pod. That's the path this composite passes to
13
+ * `vllm serve`.
14
+ */
15
+ import { ServingRuntime, ClusterServingRuntime } from "../generated/index.js";
16
+ /** Container resource spec. GPU count maps to nvidia.com/gpu requests/limits. */
17
+ export interface VllmResourceSpec {
18
+ /** CPU request/limit (e.g. "4", "500m"). */
19
+ cpu?: string;
20
+ /** Memory request/limit (e.g. "16Gi"). */
21
+ memory?: string;
22
+ /** GPU count — adds nvidia.com/gpu to resource requests and limits. */
23
+ gpu?: number;
24
+ }
25
+ export interface VllmServingRuntimeProps {
26
+ /** ServingRuntime/ClusterServingRuntime name. */
27
+ name: string;
28
+ /** Namespace — required unless clusterScoped is true. */
29
+ namespace?: string;
30
+ /**
31
+ * Emit a cluster-scoped ClusterServingRuntime instead of a namespaced
32
+ * ServingRuntime. Default false.
33
+ */
34
+ clusterScoped?: boolean;
35
+ /** vLLM container image (e.g. "vllm/vllm-openai:v0.7.0"). */
36
+ image: string;
37
+ /** --tensor-parallel-size */
38
+ tensorParallelSize?: number;
39
+ /** --max-model-len */
40
+ maxModelLen?: number;
41
+ /** --dtype */
42
+ dtype?: "auto" | "half" | "float16" | "bfloat16" | "float" | "float32";
43
+ /** --quantization (e.g. "awq", "gptq", "fp8") */
44
+ quantization?: string;
45
+ /** --gpu-memory-utilization (0.0-1.0) */
46
+ gpuMemoryUtilization?: number;
47
+ /** --max-num-seqs */
48
+ maxNumSeqs?: number;
49
+ /** Container resources. gpu maps to nvidia.com/gpu. */
50
+ resources?: VllmResourceSpec;
51
+ /**
52
+ * Additional raw args appended after the typed vLLM flags — escape hatch
53
+ * for anything not yet modeled as a typed prop.
54
+ */
55
+ containerArgs?: string[];
56
+ /**
57
+ * supportedModelFormats entry registered on the runtime. Default
58
+ * `{ name: "vllm", autoSelect: true }`.
59
+ */
60
+ modelFormat?: {
61
+ name: string;
62
+ version?: string;
63
+ autoSelect?: boolean;
64
+ priority?: number;
65
+ };
66
+ /** Additional labels applied to the resource. */
67
+ labels?: Record<string, string>;
68
+ /** Per-member defaults for fine-grained overrides via mergeDefaults. */
69
+ defaults?: {
70
+ servingRuntime?: Partial<Record<string, unknown>>;
71
+ };
72
+ }
73
+ export interface VllmServingRuntimeResult {
74
+ servingRuntime: InstanceType<typeof ServingRuntime> | InstanceType<typeof ClusterServingRuntime>;
75
+ }
76
+ /**
77
+ * Create a VllmServingRuntime composite — a KServe ServingRuntime (or, with
78
+ * `clusterScoped: true`, a ClusterServingRuntime) that runs vLLM's OpenAI-
79
+ * compatible server, with vLLM's own flags surfaced as typed props.
80
+ *
81
+ * @example
82
+ * ```ts
83
+ * import { VllmServingRuntime } from "@intentius/chant-lexicon-k8s";
84
+ *
85
+ * const runtime = VllmServingRuntime({
86
+ * name: "vllm-runtime",
87
+ * namespace: "models",
88
+ * image: "vllm/vllm-openai:v0.7.0",
89
+ * tensorParallelSize: 2,
90
+ * maxModelLen: 8192,
91
+ * dtype: "bfloat16",
92
+ * gpuMemoryUtilization: 0.9,
93
+ * resources: { cpu: "8", memory: "32Gi", gpu: 2 },
94
+ * });
95
+ * ```
96
+ */
97
+ export declare const VllmServingRuntime: import("@intentius/chant").CompositeDefinition<VllmServingRuntimeProps, {
98
+ servingRuntime: import("@intentius/chant").Declarable & Record<string, string>;
99
+ }>;
100
+ //# sourceMappingURL=vllm-serving-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vllm-serving-runtime.d.ts","sourceRoot":"","sources":["../../src/composites/vllm-serving-runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EACL,cAAc,EACd,qBAAqB,EACtB,MAAM,cAAc,CAAC;AAEtB,iFAAiF;AACjF,MAAM,WAAW,gBAAgB;IAC/B,4CAA4C;IAC5C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,0CAA0C;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uEAAuE;IACvE,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,uBAAuB;IACtC,iDAAiD;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,6DAA6D;IAC7D,KAAK,EAAE,MAAM,CAAC;IAGd,6BAA6B;IAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,sBAAsB;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc;IACd,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,CAAC;IACvE,iDAAiD;IACjD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yCAAyC;IACzC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,qBAAqB;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,uDAAuD;IACvD,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB;;;OAGG;IACH,WAAW,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1F,iDAAiD;IACjD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,wEAAwE;IACxE,QAAQ,CAAC,EAAE;QACT,cAAc,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;KACnD,CAAC;CACH;AAED,MAAM,WAAW,wBAAwB;IACvC,cAAc,EAAE,YAAY,CAAC,OAAO,cAAc,CAAC,GAAG,YAAY,CAAC,OAAO,qBAAqB,CAAC,CAAC;CAClG;AAoCD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,kBAAkB;;EA0DP,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"crd-sources.d.ts","sourceRoot":"","sources":["../../src/crd/crd-sources.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAiTzC,eAAO,MAAM,WAAW,EAAE,SAAS,EAmElC,CAAC"}
1
+ {"version":3,"file":"crd-sources.d.ts","sourceRoot":"","sources":["../../src/crd/crd-sources.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAudzC,eAAO,MAAM,WAAW,EAAE,SAAS,EAoFlC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"deep-observe-hooks.d.ts","sourceRoot":"","sources":["../src/deep-observe-hooks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAKH,OAAO,KAAK,EAAE,gBAAgB,EAAY,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAQnG;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAoCxE,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,4BAA4B,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAE5E,CAAC;AA+BF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,uFAAuF;AACvF,KAAK,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;AAIlD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,GAAE,MAA8B,GAAG,eAAe,CAWzF;AAeD,mFAAmF;AACnF,wBAAgB,yBAAyB,CAAC,KAAK,CAAC,EAAE,eAAe,GAAG,IAAI,CAEvE;AAmCD;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,GAAG,SAAS,CAYnF;AAMD,eAAO,MAAM,yBAAyB,EAAE,sBA4BvC,CAAC"}
1
+ {"version":3,"file":"deep-observe-hooks.d.ts","sourceRoot":"","sources":["../src/deep-observe-hooks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAKH,OAAO,KAAK,EAAE,gBAAgB,EAAY,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AASnG;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAwCxE,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,4BAA4B,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAE5E,CAAC;AAkCF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,uFAAuF;AACvF,KAAK,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;AAIlD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,GAAE,MAA8B,GAAG,eAAe,CAWzF;AAeD,mFAAmF;AACnF,wBAAgB,yBAAyB,CAAC,KAAK,CAAC,EAAE,eAAe,GAAG,IAAI,CAEvE;AAmCD;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,GAAG,SAAS,CAYnF;AAkBD,eAAO,MAAM,yBAAyB,EAAE,sBAgCvC,CAAC"}