WorkflowRun CRD
WorkflowRun is the plnt Custom Resource. Everything the operator, the workflow, and the Helm chart need is on the spec.
Full example
Section titled “Full example”apiVersion: plnt.work/v1kind: WorkflowRunmetadata: name: llama-3.1-70b-instruct namespace: defaultspec: runtime: vllm # vllm | tgi | trt-llm | sglang model: name: meta-llama/Llama-3.1-70B-Instruct storageUri: s3://plnt-models/llama-3.1-70b/fp16 quantization: fp16 # fp16 | fp8 | awq-4bit | gptq-4bit resources: gpu: 2 gpuClass: nvidia.com/h100 memoryGiB: 160 replicas: min: 1 max: 4 autoscaling: targetTokensPerSecond: 1500 canary: trafficPercent: 5 smokeTest: prompts: 10 ttftBudgetMs: 250 tpotBudgetMs: 40kubectl apply -f examples/llama-3.1-70b-instruct.yamlThe operator picks up the event, starts the DeployModelWorkflow, and patches .status.phase as it progresses:
NAME RUNTIME GPU PHASE ENDPOINTllama-3.1-70b-instruct vllm nvidia.com/h100 Validatingllama-3.1-70b-instruct vllm nvidia.com/h100 PullingWeightsllama-3.1-70b-instruct vllm nvidia.com/h100 Deployingllama-3.1-70b-instruct vllm nvidia.com/h100 SmokeTestingllama-3.1-70b-instruct vllm nvidia.com/h100 Promotingllama-3.1-70b-instruct vllm nvidia.com/h100 Ready llama-3.1-70b-instruct.default.svc:8000Status subresource
Section titled “Status subresource”status: phase: Ready # Pending | Validating | PullingWeights | Deploying | # SmokeTesting | Promoting | Ready | RolledBack | Failed endpoint: llama-3.1-70b-instruct.default.svc.cluster.local:8000 workflowRunId: r-9c4f218e0a observedGeneration: 1Lifecycle
Section titled “Lifecycle”| Kubernetes event | Operator action |
|---|---|
create | Start DeployModelWorkflow. Set phase: Validating. |
update (spec) | Cancel the running workflow, start a fresh one. New canary at 5% traffic. |
delete | Cancel workflow. Compensation activity helm uninstalls the release. |
Full CRD schema
Section titled “Full CRD schema”See WorkflowRun schema reference for every field with type, default, and validation constraints. The CRD YAML lives at plnt/operators/crds/workflowrun.yaml.