Implementation:Kubeflow Pipelines PipelineVersion CRD
| Knowledge Sources | |
|---|---|
| Domains | Kubernetes, Pipeline_Management, CRD |
| Last Updated | 2026-02-13 14:00 GMT |
Overview
CustomResourceDefinition manifest defining the `PipelineVersion` resource under the `pipelines.kubeflow.org` API group for versioned pipeline definitions as Kubernetes custom resources.
Description
This CRD (95 lines) declares a namespaced resource with v2beta1 schema. The spec contains fields for `pipelineName`, `pipelineSpec` (preserved unknown fields, required), `pipelineSpecURI`, `platformSpec`, `displayName`, `description`, and `codeSourceURL`. Includes a status subresource with a conditions array for lifecycle tracking.
Usage
Applied during KFP deployment to enable creating PipelineVersion custom resources that represent versioned pipeline definitions stored natively in Kubernetes.
Code Reference
Source Location
- Repository: Kubeflow_Pipelines
- File: manifests/kustomize/base/crds/pipelines.kubeflow.org_pipelineversions.yaml
- Lines: 1-95
Signature
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: pipelineversions.pipelines.kubeflow.org
spec:
group: pipelines.kubeflow.org
names:
kind: PipelineVersion
plural: pipelineversions
scope: Namespaced
versions:
- name: v2beta1
schema:
openAPIV3Schema:
properties:
spec:
properties:
pipelineName: {type: string}
pipelineSpec: {x-kubernetes-preserve-unknown-fields: true}
pipelineSpecURI: {type: string}
platformSpec: {type: string}
displayName: {type: string}
description: {type: string}
codeSourceURL: {type: string}
required: [pipelineSpec]
Import
kubectl apply -f pipelines.kubeflow.org_pipelineversions.yaml
I/O Contract
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
| Kubernetes cluster | cluster | Yes | Cluster with apiextensions.k8s.io/v1 support |
Outputs
| Name | Type | Description |
|---|---|---|
| PipelineVersion CRD | API resource | Enables versioned pipeline definitions as K8s resources |
Usage Examples
Creating a PipelineVersion
apiVersion: pipelines.kubeflow.org/v2beta1
kind: PipelineVersion
metadata:
name: my-pipeline-v1
namespace: kubeflow
spec:
pipelineName: my-pipeline
displayName: "My Pipeline v1"
description: "Initial version"
pipelineSpec:
# Pipeline IR spec content
components: {}
root: {}