docs/migrating-v1alpha1-to-v1beta1.md
v1alpha1 to Tekton v1beta1PipelineResources with Tasks
PipelineResourcesThis document describes the differences between v1alpha1 Tekton entities and their
v1beta1 counterparts. It also describes how to replace the supported types of
PipelineResources with Tasks from the Tekton Catalog of equivalent functionality.
In Tekton v1beta1, the following fields have been changed:
| Old field | New field |
|---|---|
spec.inputs.params | spec.params |
spec.inputs | Removed from Tasks |
spec.outputs | Removed from Tasks |
spec.inputs.resources | spec.resources.inputs |
spec.outputs.resources | spec.resources.outputs |
In Tekton v1beta1, input parameters have been moved from spec.inputs.params to spec.params.
For example, consider the following v1alpha1 parameters:
# Task.yaml (v1alpha1)
spec:
inputs:
params:
- name: ADDR
description: Address to curl.
type: string
# TaskRun.yaml (v1alpha1)
spec:
inputs:
params:
- name: ADDR
value: https://example.com/foo.json
The above parameters are now represented as follows in v1beta1:
# Task.yaml (v1beta1)
spec:
params:
- name: ADDR
description: Address to curl.
type: string
# TaskRun.yaml (v1beta1)
spec:
params:
- name: ADDR
value: https://example.com/foo.json
PipelineResources with TasksSee "Replacing PipelineResources with Tasks" for information and examples on how to replace PipelineResources when migrating from v1alpha1 to v1beta1.
In Tekton v1beta1, PipelineResources have been moved from spec.input.resources
and spec.output.resources to spec.resources.inputs and spec.resources.outputs,
respectively.
For example, consider the following v1alpha1 definition:
# Task.yaml (v1alpha1)
spec:
inputs:
resources:
- name: skaffold
type: git
outputs:
resources:
- name: baked-image
type: image
# TaskRun.yaml (v1alpha1)
spec:
inputs:
resources:
- name: skaffold
resourceSpec:
type: git
params:
- name: revision
value: v0.32.0
- name: url
value: https://github.com/GoogleContainerTools/skaffold
outputs:
resources:
- name: baked-image
resourceSpec:
- type: image
params:
- name: url
value: gcr.io/foo/bar
The above definition becomes the following in v1beta1:
# Task.yaml (v1beta1)
spec:
resources:
inputs:
- name: src-repo
type: git
outputs:
- name: baked-image
type: image
# TaskRun.yaml (v1beta1)
spec:
resources:
inputs:
- name: src-repo
resourceSpec:
type: git
params:
- name: revision
value: main
- name: url
value: https://github.com/tektoncd/pipeline
outputs:
- name: baked-image
resourceSpec:
- type: image
params:
- name: url
value: gcr.io/foo/bar