@intentius/chant-lexicon-k8s 0.46.0 → 0.49.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.
- package/dist/components/kubectl-apply.d.ts +5 -0
- package/dist/components/kubectl-apply.d.ts.map +1 -1
- package/dist/composites/flux-app.d.ts +12 -0
- package/dist/composites/flux-app.d.ts.map +1 -1
- package/dist/composites/index.d.ts +6 -0
- package/dist/composites/index.d.ts.map +1 -1
- package/dist/composites/inference-service.d.ts +86 -0
- package/dist/composites/inference-service.d.ts.map +1 -0
- package/dist/composites/model.d.ts +80 -0
- package/dist/composites/model.d.ts.map +1 -0
- package/dist/composites/vllm-serving-runtime.d.ts +100 -0
- package/dist/composites/vllm-serving-runtime.d.ts.map +1 -0
- package/dist/crd/crd-sources.d.ts.map +1 -1
- package/dist/deep-observe-hooks.d.ts.map +1 -1
- package/dist/generated/index.d.ts +167 -40
- package/dist/generated/index.d.ts.map +1 -1
- package/dist/group-namespace.d.ts.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/integrity.json +13 -5
- package/dist/kube/apply.d.ts.map +1 -1
- package/dist/lint/audit-catalog.d.ts.map +1 -1
- package/dist/lint/post-synth/index.d.ts.map +1 -1
- package/dist/lint/post-synth/k8s-helpers.d.ts +28 -1
- package/dist/lint/post-synth/k8s-helpers.d.ts.map +1 -1
- package/dist/lint/post-synth/sops-helpers.d.ts +38 -0
- package/dist/lint/post-synth/sops-helpers.d.ts.map +1 -0
- package/dist/lint/post-synth/wk8404.d.ts +12 -0
- package/dist/lint/post-synth/wk8404.d.ts.map +1 -0
- package/dist/lint/post-synth/wk8405.d.ts +13 -0
- package/dist/lint/post-synth/wk8405.d.ts.map +1 -0
- package/dist/lint/post-synth/wk8406.d.ts +12 -0
- package/dist/lint/post-synth/wk8406.d.ts.map +1 -0
- package/dist/lint/post-synth/wk8407.d.ts +21 -0
- package/dist/lint/post-synth/wk8407.d.ts.map +1 -0
- package/dist/lint/post-synth/wk8503.d.ts +39 -0
- package/dist/lint/post-synth/wk8503.d.ts.map +1 -0
- package/dist/lint/post-synth/wk8504.d.ts +28 -0
- package/dist/lint/post-synth/wk8504.d.ts.map +1 -0
- package/dist/lint/post-synth/wk8505.d.ts +28 -0
- package/dist/lint/post-synth/wk8505.d.ts.map +1 -0
- package/dist/manifest.json +1 -1
- package/dist/meta.json +1039 -68
- package/dist/okf/index.md +26 -2
- package/dist/okf/rules/FLUX002.md +0 -1
- package/dist/okf/rules/WK8404.md +11 -0
- package/dist/okf/rules/WK8405.md +17 -0
- package/dist/okf/rules/WK8406.md +11 -0
- package/dist/okf/rules/WK8407.md +15 -0
- package/dist/okf/rules/WK8503.md +17 -0
- package/dist/okf/rules/WK8504.md +11 -0
- package/dist/okf/rules/WK8505.md +15 -0
- package/dist/okf/types/AWSClusterControllerIdentity.md +14 -0
- package/dist/okf/types/AWSManagedCluster.md +14 -0
- package/dist/okf/types/AWSManagedControlPlane.md +14 -0
- package/dist/okf/types/AWSManagedMachinePool.md +14 -0
- package/dist/okf/types/CAPICluster.md +14 -0
- package/dist/okf/types/Certificate.md +1 -0
- package/dist/okf/types/ClusterResourceSet.md +14 -0
- package/dist/okf/types/ClusterServingRuntime.md +14 -0
- package/dist/okf/types/{Cluster.md → CnpgCluster.md} +2 -2
- package/dist/okf/types/DBInstance.md +14 -0
- package/dist/okf/types/{Bucket.md → FluxBucket.md} +2 -6
- package/dist/okf/types/HelmChartProxy.md +14 -0
- package/dist/okf/types/IamRole.md +14 -0
- package/dist/okf/types/InferenceService.md +19 -0
- package/dist/okf/types/InfisicalDynamicSecret.md +4 -0
- package/dist/okf/types/InfisicalSecret.md +4 -0
- package/dist/okf/types/Kustomization.md +1 -0
- package/dist/okf/types/MachinePool.md +14 -0
- package/dist/okf/types/PDB.md +1 -0
- package/dist/okf/types/PodIdentityAssociation.md +14 -0
- package/dist/okf/types/Policy.md +14 -0
- package/dist/okf/types/S3Bucket.md +14 -0
- package/dist/okf/types/ServingRuntime.md +14 -0
- package/dist/okf/types/StatefulSet.md +1 -0
- package/dist/okf/types/User.md +14 -0
- package/dist/op/activities/ensure-secret.d.ts +41 -0
- package/dist/op/activities/ensure-secret.d.ts.map +1 -0
- package/dist/op/activities/index.d.ts +2 -0
- package/dist/op/activities/index.d.ts.map +1 -1
- package/dist/op/activities/kubectl.d.ts +9 -0
- package/dist/op/activities/kubectl.d.ts.map +1 -1
- package/dist/op/activities/wait-for-ready.d.ts.map +1 -1
- package/dist/plugin.d.ts.map +1 -1
- package/dist/rules/k8s-helpers.ts +55 -1
- package/dist/rules/sops-helpers.ts +76 -0
- package/dist/rules/wk8404.ts +55 -0
- package/dist/rules/wk8405.ts +88 -0
- package/dist/rules/wk8406.ts +60 -0
- package/dist/rules/wk8407.ts +71 -0
- package/dist/rules/wk8503.ts +220 -0
- package/dist/rules/wk8504.ts +51 -0
- package/dist/rules/wk8505.ts +63 -0
- package/dist/secret-labels.d.ts +31 -0
- package/dist/secret-labels.d.ts.map +1 -0
- package/dist/secret-store.d.ts +73 -0
- package/dist/secret-store.d.ts.map +1 -0
- package/dist/serializer.d.ts.map +1 -1
- package/dist/sops/encrypted-secret-file.d.ts +52 -0
- package/dist/sops/encrypted-secret-file.d.ts.map +1 -0
- package/dist/sops/entity.d.ts +31 -0
- package/dist/sops/entity.d.ts.map +1 -0
- package/dist/teardown.d.ts.map +1 -1
- package/dist/types/index.d.ts +261 -9
- package/package.json +4 -4
- package/src/components/kubectl-apply.ts +5 -0
- package/src/composites/composites.test.ts +273 -0
- package/src/composites/flux-app.ts +23 -0
- package/src/composites/index.ts +11 -0
- package/src/composites/inference-service.ts +140 -0
- package/src/composites/model.ts +150 -0
- package/src/composites/vllm-serving-runtime.test.ts +167 -0
- package/src/composites/vllm-serving-runtime.ts +196 -0
- package/src/crd/cnpg.test.ts +8 -3
- package/src/crd/crd-sources.ts +183 -0
- package/src/crd/parser.test.ts +14 -0
- package/src/deep-observe-hooks.ts +24 -0
- package/src/deep-observe.test.ts +89 -0
- package/src/generated/index.d.ts +261 -9
- package/src/generated/index.ts +167 -40
- package/src/generated/lexicon-k8s.json +1039 -68
- package/src/generated/operations.json +272 -0
- package/src/group-namespace.test.ts +31 -0
- package/src/group-namespace.ts +13 -0
- package/src/index.ts +6 -0
- package/src/kube/apply.ts +5 -0
- package/src/lint/audit-catalog.ts +7 -0
- package/src/lint/post-synth/index.ts +14 -0
- package/src/lint/post-synth/k8s-helpers.ts +55 -1
- package/src/lint/post-synth/post-synth.test.ts +826 -0
- package/src/lint/post-synth/sops-helpers.ts +76 -0
- package/src/lint/post-synth/wk8404.ts +55 -0
- package/src/lint/post-synth/wk8405.ts +88 -0
- package/src/lint/post-synth/wk8406.ts +60 -0
- package/src/lint/post-synth/wk8407.ts +71 -0
- package/src/lint/post-synth/wk8503.ts +220 -0
- package/src/lint/post-synth/wk8504.ts +51 -0
- package/src/lint/post-synth/wk8505.ts +63 -0
- package/src/op/activities/ensure-secret.ts +71 -0
- package/src/op/activities/index.ts +7 -0
- package/src/op/activities/kubectl.test.ts +32 -0
- package/src/op/activities/kubectl.ts +28 -5
- package/src/op/activities/wait-for-ready.test.ts +34 -0
- package/src/op/activities/wait-for-ready.ts +26 -0
- package/src/plugin.ts +21 -2
- package/src/secret-labels.ts +36 -0
- package/src/secret-store.test.ts +184 -0
- package/src/secret-store.ts +165 -0
- package/src/serializer.ts +33 -2
- package/src/sops/encrypted-secret-file.test.ts +333 -0
- package/src/sops/encrypted-secret-file.ts +264 -0
- package/src/sops/entity.ts +53 -0
- package/src/teardown.test.ts +36 -0
- package/src/teardown.ts +14 -0
- 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;
|
|
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;
|
|
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,14 @@ 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";
|
|
88
94
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/composites/index.ts"],"names":[],"mappings":"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"}
|
|
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,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,YAAY,EACV,qBAAqB,EACrB,sBAAsB,EACtB,cAAc,EACd,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAC7B,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;AACpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,YAAY,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAClH,OAAO,EAAE,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AACxD,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -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,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;
|
|
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;
|
|
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"}
|