Summary
AI agents generate JSON more reliably than combinations of bespoke flags. tkn pipeline start and tkn task start should accept a full PipelineRun/TaskRun spec as JSON input.
Current State
Parameters are passed as --param key=value flags, workspaces as --workspace name=pvc,claimName=my-pvc, etc. This requires agents to understand custom flag syntax that doesn't map directly to the Kubernetes API.
Proposal
# From flag
tkn pipeline start my-pipeline --json '{
"params": [{"name": "repo-url", "value": "https://github.com/..."}],
"workspaces": [{"name": "shared", "persistentVolumeClaim": {"claimName": "my-pvc"}}]
}'
# From stdin
cat run-spec.json | tkn pipeline start my-pipeline --json -
# From file
tkn pipeline start my-pipeline --json @run-spec.json
The JSON should map directly to the PipelineRun/TaskRun spec, with zero translation layer.
Acceptance Criteria
/kind feature
Summary
AI agents generate JSON more reliably than combinations of bespoke flags.
tkn pipeline startandtkn task startshould accept a full PipelineRun/TaskRun spec as JSON input.Current State
Parameters are passed as
--param key=valueflags, workspaces as--workspace name=pvc,claimName=my-pvc, etc. This requires agents to understand custom flag syntax that doesn't map directly to the Kubernetes API.Proposal
The JSON should map directly to the PipelineRun/TaskRun spec, with zero translation layer.
Acceptance Criteria
tkn pipeline startaccepts--jsonwith inline JSON, stdin (-), or file (@path)tkn task startaccepts--jsonsimilarly.specfields/kind feature