From a47eb508e04c28cf800c2a4c9916a7cb2ba83923 Mon Sep 17 00:00:00 2001 From: Andrew Bayer Date: Thu, 16 Jun 2022 11:10:03 -0400 Subject: [PATCH] Remove deprecated `PipelineRun.Spec.ServiceAccountNames` field. Finishing up #2614 We had multiple ways to specify the `serviceAccountName` for `PipelineTask`s - the original `PipelineRun.Spec.ServiceAccountNames`, and the more general `PipelineRun.Spec.TaskRunSpecs`, which also allows specifying a pod template, metadata, and container overrides for individual steps and sidecars. Therefore, we deprecated `ServiceAccountNames`, and are now removing it. This has been scheduled for removal since May 2021. Signed-off-by: Andrew Bayer --- docs/deprecations.md | 1 - docs/pipelineruns.md | 10 +- .../v1alpha1/pipelinerun_conversion.go | 2 - .../v1alpha1/pipelinerun_conversion_test.go | 12 +- .../pipeline/v1alpha1/pipelinerun_types.go | 20 +- .../v1alpha1/pipelinerun_types_test.go | 70 ------ .../v1alpha1/zz_generated.deepcopy.go | 5 - .../pipeline/v1beta1/openapi_generated.go | 209 +++++++----------- .../pipeline/v1beta1/pipelinerun_types.go | 25 +-- .../v1beta1/pipelinerun_types_test.go | 58 ----- pkg/apis/pipeline/v1beta1/swagger.json | 21 -- .../pipeline/v1beta1/zz_generated.deepcopy.go | 21 -- pkg/reconciler/pipelinerun/pipelinerun.go | 11 +- .../pipelinerun/pipelinerun_test.go | 12 +- .../resources/pipelinerunresolution.go | 19 -- .../resources/pipelinerunresolution_test.go | 143 ------------ test/serviceaccount_test.go | 5 +- 17 files changed, 99 insertions(+), 545 deletions(-) diff --git a/docs/deprecations.md b/docs/deprecations.md index ff12f9cc421..903d9c42d7d 100644 --- a/docs/deprecations.md +++ b/docs/deprecations.md @@ -19,7 +19,6 @@ being deprecated. | Feature Being Deprecated | Deprecation Announcement | [API Compatibility Policy](https://github.com/tektoncd/pipeline/tree/main/api_compatibility_policy.md) | Earliest Date or Release of Removal | |---------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------|-------------------------------------| -| [The `PipelineRun.Spec.ServiceAccountNames` field is deprecated and will be removed.](https://github.com/tektoncd/pipeline/issues/2614) | [v0.15.0](https://github.com/tektoncd/pipeline/releases/tag/v0.15.0) | Beta | May 15 2021 | | [`PipelineRunCancelled` is deprecated and will be removed](https://github.com/tektoncd/pipeline/issues/4611) | [v0.25.0](https://github.com/tektoncd/pipeline/releases/tag/v0.25.0) | Beta | July 12 2022 | | [`PipelineResources` are deprecated.](https://github.com/tektoncd/community/blob/main/teps/0074-deprecate-pipelineresources.md) | [v0.30.0](https://github.com/tektoncd/pipeline/releases/tag/v0.30.0) | Alpha | Dec 20 2021 | | [The `PipelineRun.Status.TaskRuns` and `PipelineRun.Status.Runs` fields are deprecated and will be removed.](https://github.com/tektoncd/community/blob/main/teps/0100-embedded-taskruns-and-runs-status-in-pipelineruns.md) | v0.35.0 | Beta | Jan 25, 2023 | diff --git a/docs/pipelineruns.md b/docs/pipelineruns.md index a4aa01fc3e9..b2e81ac6985 100644 --- a/docs/pipelineruns.md +++ b/docs/pipelineruns.md @@ -71,8 +71,6 @@ A `PipelineRun` definition supports the following fields: - [`params`](#specifying-parameters) - Specifies the desired execution parameters for the `Pipeline`. - [`serviceAccountName`](#specifying-custom-serviceaccount-credentials) - Specifies a `ServiceAccount` object that supplies specific execution credentials for the `Pipeline`. - - [`serviceAccountNames`](#mapping-serviceaccount-credentials-to-tasks) - Maps specific `serviceAccountName` values - to `Tasks` in the `Pipeline`. This overrides the credentials set for the entire `Pipeline`. - [`status`](#cancelling-a-pipelinerun) - Specifies options for cancelling a `PipelineRun`. - [`taskRunSpecs`](#specifying-taskrunspecs) - Specifies a list of `PipelineRunTaskSpec` which allows for setting `ServiceAccountName`, [`Pod` template](./podtemplates.md), and `Metadata` for each task. This overrides the `Pod` template set for the entire `Pipeline`. - [`timeout`](#configuring-a-failure-timeout) - Specifies the timeout before the `PipelineRun` fails. `timeout` is deprecated and will eventually be removed, so consider using `timeouts` instead. @@ -645,7 +643,7 @@ Consult the documentation of the custom task that you are using to determine whe ### Mapping `ServiceAccount` credentials to `Tasks` -If you require more granularity in specifying execution credentials, use the `serviceAccountNames` field to +If you require more granularity in specifying execution credentials, use the `taskRunSpecs[].taskServiceAccountName` field to map a specific `serviceAccountName` value to a specific `Task` in the `Pipeline`. This overrides the global `serviceAccountName` you may have set for the `Pipeline` as described in the previous section. @@ -654,9 +652,9 @@ For example, if you specify these mappings: ```yaml spec: serviceAccountName: sa-1 - serviceAccountNames: - - taskName: build-task - serviceAccountName: sa-for-build + taskRunSpecs: + - pipelineTaskName: build-task + taskServiceAccountName: sa-for-build ``` for this `Pipeline`: diff --git a/pkg/apis/pipeline/v1alpha1/pipelinerun_conversion.go b/pkg/apis/pipeline/v1alpha1/pipelinerun_conversion.go index 995f444e2c4..6a89f523823 100644 --- a/pkg/apis/pipeline/v1alpha1/pipelinerun_conversion.go +++ b/pkg/apis/pipeline/v1alpha1/pipelinerun_conversion.go @@ -65,7 +65,6 @@ func (prs *PipelineRunSpec) ConvertTo(ctx context.Context, sink *v1beta1.Pipelin sink.Resources = prs.Resources sink.Params = prs.Params sink.ServiceAccountName = prs.ServiceAccountName - sink.ServiceAccountNames = prs.ServiceAccountNames sink.Status = prs.Status sink.Timeout = prs.Timeout sink.PodTemplate = prs.PodTemplate @@ -107,7 +106,6 @@ func (prs *PipelineRunSpec) ConvertFrom(ctx context.Context, source *v1beta1.Pip prs.Resources = source.Resources prs.Params = source.Params prs.ServiceAccountName = source.ServiceAccountName - prs.ServiceAccountNames = source.ServiceAccountNames prs.Status = source.Status prs.Timeout = source.Timeout prs.PodTemplate = source.PodTemplate diff --git a/pkg/apis/pipeline/v1alpha1/pipelinerun_conversion_test.go b/pkg/apis/pipeline/v1alpha1/pipelinerun_conversion_test.go index 2e059f57898..8096c2fc4cd 100644 --- a/pkg/apis/pipeline/v1alpha1/pipelinerun_conversion_test.go +++ b/pkg/apis/pipeline/v1alpha1/pipelinerun_conversion_test.go @@ -61,11 +61,7 @@ func TestPipelineRunConversion(t *testing.T) { Name: "pipeline", }, ServiceAccountName: "sa", - ServiceAccountNames: []PipelineRunSpecServiceAccountName{{ - TaskName: "t1", - ServiceAccountName: "sa1", - }}, - Timeout: &metav1.Duration{Duration: 1 * time.Minute}, + Timeout: &metav1.Duration{Duration: 1 * time.Minute}, PodTemplate: &PodTemplate{ NodeSelector: map[string]string{"foo": "bar"}, }, @@ -121,11 +117,7 @@ func TestPipelineRunConversion(t *testing.T) { }}, }, ServiceAccountName: "sa", - ServiceAccountNames: []PipelineRunSpecServiceAccountName{{ - TaskName: "t1", - ServiceAccountName: "sa1", - }}, - Timeout: &metav1.Duration{Duration: 1 * time.Minute}, + Timeout: &metav1.Duration{Duration: 1 * time.Minute}, PodTemplate: &PodTemplate{ NodeSelector: map[string]string{"foo": "bar"}, }, diff --git a/pkg/apis/pipeline/v1alpha1/pipelinerun_types.go b/pkg/apis/pipeline/v1alpha1/pipelinerun_types.go index 2d67bdd76a8..2a3682b2da8 100644 --- a/pkg/apis/pipeline/v1alpha1/pipelinerun_types.go +++ b/pkg/apis/pipeline/v1alpha1/pipelinerun_types.go @@ -68,8 +68,6 @@ type PipelineRunSpec struct { Params []Param `json:"params,omitempty"` // +optional ServiceAccountName string `json:"serviceAccountName,omitempty"` - // +optional - ServiceAccountNames []PipelineRunSpecServiceAccountName `json:"serviceAccountNames,omitempty"` // Used for cancelling a pipelinerun (and maybe more later on) // +optional Status PipelineRunSpecStatus `json:"status,omitempty"` @@ -115,10 +113,6 @@ type PipelineRunStatusFields = v1beta1.PipelineRunStatusFields // PipelineRunTaskRunStatus contains the name of the PipelineTask for this TaskRun and the TaskRun's Status type PipelineRunTaskRunStatus = v1beta1.PipelineRunTaskRunStatus -// PipelineRunSpecServiceAccountName can be used to configure specific -// ServiceAccountName for a concrete Task -type PipelineRunSpecServiceAccountName = v1beta1.PipelineRunSpecServiceAccountName - // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object // PipelineRunList contains a list of PipelineRun @@ -178,18 +172,6 @@ func (pr *PipelineRun) IsTimedOut(c clock.PassiveClock) bool { return false } -// GetServiceAccountName returns the service account name for a given -// PipelineTask if configured, otherwise it returns the PipelineRun's serviceAccountName. -func (pr *PipelineRun) GetServiceAccountName(pipelineTaskName string) string { - serviceAccountName := pr.Spec.ServiceAccountName - for _, sa := range pr.Spec.ServiceAccountNames { - if sa.TaskName == pipelineTaskName { - serviceAccountName = sa.ServiceAccountName - } - } - return serviceAccountName -} - // HasVolumeClaimTemplate returns true if PipelineRun contains volumeClaimTemplates that is // used for creating PersistentVolumeClaims with an OwnerReference for each run func (pr *PipelineRun) HasVolumeClaimTemplate() bool { @@ -211,7 +193,7 @@ type PipelineTaskRunSpec struct { // GetTaskRunSpecs returns the task specific spec for a given // PipelineTask if configured, otherwise it returns the PipelineRun's default. func (pr *PipelineRun) GetTaskRunSpecs(pipelineTaskName string) (string, *PodTemplate) { - serviceAccountName := pr.GetServiceAccountName(pipelineTaskName) + serviceAccountName := pr.Spec.ServiceAccountName taskPodTemplate := pr.Spec.PodTemplate for _, task := range pr.Spec.TaskRunSpecs { if task.PipelineTaskName == pipelineTaskName { diff --git a/pkg/apis/pipeline/v1alpha1/pipelinerun_types_test.go b/pkg/apis/pipeline/v1alpha1/pipelinerun_types_test.go index f5dc5ff9307..98c7cb87771 100644 --- a/pkg/apis/pipeline/v1alpha1/pipelinerun_types_test.go +++ b/pkg/apis/pipeline/v1alpha1/pipelinerun_types_test.go @@ -237,73 +237,6 @@ func TestPipelineRunHasTimedOut(t *testing.T) { } } -func TestPipelineRunGetServiceAccountName(t *testing.T) { - for _, tt := range []struct { - name string - pr *v1alpha1.PipelineRun - saNames map[string]string - }{ - { - name: "default SA", - pr: &v1alpha1.PipelineRun{ - ObjectMeta: metav1.ObjectMeta{ - Name: "pr", - }, - Spec: v1alpha1.PipelineRunSpec{ - PipelineRef: &v1alpha1.PipelineRef{ - Name: "prs", - }, - ServiceAccountName: "defaultSA", - ServiceAccountNames: []v1alpha1.PipelineRunSpecServiceAccountName{{ - TaskName: "taskName", - ServiceAccountName: "taskSA", - }}, - }, - }, - saNames: map[string]string{ - "unknown": "defaultSA", - "taskName": "taskSA", - }, - }, - { - name: "mixed default SA", - pr: &v1alpha1.PipelineRun{ - ObjectMeta: metav1.ObjectMeta{ - Name: "defaultSA", - }, - Spec: v1alpha1.PipelineRunSpec{ - PipelineRef: &v1alpha1.PipelineRef{ - Name: "defaultSA", - }, - ServiceAccountName: "defaultSA", - ServiceAccountNames: []v1alpha1.PipelineRunSpecServiceAccountName{ - { - TaskName: "task1", - ServiceAccountName: "task1SA", - }, - { - TaskName: "task2", - ServiceAccountName: "task2SA", - }, - }, - }, - }, - saNames: map[string]string{ - "unknown": "defaultSA", - "task1": "task1SA", - "task2": "task2SA", - }, - }, - } { - for taskName, expected := range tt.saNames { - sa := tt.pr.GetServiceAccountName(taskName) - if expected != sa { - t.Errorf("%s: wrong service account: got: %v, want: %v", tt.name, sa, expected) - } - } - } -} - func TestPipelineRunGetPodSpecSABackcompatibility(t *testing.T) { for _, tt := range []struct { name string @@ -317,9 +250,6 @@ func TestPipelineRunGetPodSpecSABackcompatibility(t *testing.T) { Spec: v1alpha1.PipelineRunSpec{ PipelineRef: &v1alpha1.PipelineRef{Name: "prs"}, ServiceAccountName: "defaultSA", - ServiceAccountNames: []v1alpha1.PipelineRunSpecServiceAccountName{{ - TaskName: "taskName", ServiceAccountName: "taskSA", - }}, TaskRunSpecs: []v1alpha1.PipelineTaskRunSpec{{ PipelineTaskName: "taskName", TaskServiceAccountName: "newTaskSA", diff --git a/pkg/apis/pipeline/v1alpha1/zz_generated.deepcopy.go b/pkg/apis/pipeline/v1alpha1/zz_generated.deepcopy.go index 002c3e03167..77c31346c88 100644 --- a/pkg/apis/pipeline/v1alpha1/zz_generated.deepcopy.go +++ b/pkg/apis/pipeline/v1alpha1/zz_generated.deepcopy.go @@ -314,11 +314,6 @@ func (in *PipelineRunSpec) DeepCopyInto(out *PipelineRunSpec) { (*in)[i].DeepCopyInto(&(*out)[i]) } } - if in.ServiceAccountNames != nil { - in, out := &in.ServiceAccountNames, &out.ServiceAccountNames - *out = make([]v1beta1.PipelineRunSpecServiceAccountName, len(*in)) - copy(*out, *in) - } if in.Timeout != nil { in, out := &in.Timeout, &out.Timeout *out = new(v1.Duration) diff --git a/pkg/apis/pipeline/v1beta1/openapi_generated.go b/pkg/apis/pipeline/v1beta1/openapi_generated.go index 294409a481e..5ae4d1a7b91 100644 --- a/pkg/apis/pipeline/v1beta1/openapi_generated.go +++ b/pkg/apis/pipeline/v1beta1/openapi_generated.go @@ -30,88 +30,87 @@ import ( func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenAPIDefinition { return map[string]common.OpenAPIDefinition{ - "github.com/tektoncd/pipeline/pkg/apis/pipeline/pod.AffinityAssistantTemplate": schema_pkg_apis_pipeline_pod_AffinityAssistantTemplate(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/pod.Template": schema_pkg_apis_pipeline_pod_Template(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.ArrayOrString": schema_pkg_apis_pipeline_v1beta1_ArrayOrString(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.ChildStatusReference": schema_pkg_apis_pipeline_v1beta1_ChildStatusReference(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.CloudEventDelivery": schema_pkg_apis_pipeline_v1beta1_CloudEventDelivery(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.CloudEventDeliveryState": schema_pkg_apis_pipeline_v1beta1_CloudEventDeliveryState(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.ClusterTask": schema_pkg_apis_pipeline_v1beta1_ClusterTask(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.ClusterTaskList": schema_pkg_apis_pipeline_v1beta1_ClusterTaskList(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.EmbeddedTask": schema_pkg_apis_pipeline_v1beta1_EmbeddedTask(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.InternalTaskModifier": schema_pkg_apis_pipeline_v1beta1_InternalTaskModifier(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.Param": schema_pkg_apis_pipeline_v1beta1_Param(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.ParamSpec": schema_pkg_apis_pipeline_v1beta1_ParamSpec(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.Pipeline": schema_pkg_apis_pipeline_v1beta1_Pipeline(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineDeclaredResource": schema_pkg_apis_pipeline_v1beta1_PipelineDeclaredResource(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineList": schema_pkg_apis_pipeline_v1beta1_PipelineList(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineRef": schema_pkg_apis_pipeline_v1beta1_PipelineRef(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineResourceBinding": schema_pkg_apis_pipeline_v1beta1_PipelineResourceBinding(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineResourceRef": schema_pkg_apis_pipeline_v1beta1_PipelineResourceRef(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineResourceResult": schema_pkg_apis_pipeline_v1beta1_PipelineResourceResult(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineResult": schema_pkg_apis_pipeline_v1beta1_PipelineResult(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineRun": schema_pkg_apis_pipeline_v1beta1_PipelineRun(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineRunList": schema_pkg_apis_pipeline_v1beta1_PipelineRunList(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineRunResult": schema_pkg_apis_pipeline_v1beta1_PipelineRunResult(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineRunRunStatus": schema_pkg_apis_pipeline_v1beta1_PipelineRunRunStatus(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineRunSpec": schema_pkg_apis_pipeline_v1beta1_PipelineRunSpec(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineRunSpecServiceAccountName": schema_pkg_apis_pipeline_v1beta1_PipelineRunSpecServiceAccountName(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineRunStatus": schema_pkg_apis_pipeline_v1beta1_PipelineRunStatus(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineRunStatusFields": schema_pkg_apis_pipeline_v1beta1_PipelineRunStatusFields(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineRunTaskRunStatus": schema_pkg_apis_pipeline_v1beta1_PipelineRunTaskRunStatus(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineSpec": schema_pkg_apis_pipeline_v1beta1_PipelineSpec(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineTask": schema_pkg_apis_pipeline_v1beta1_PipelineTask(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineTaskInputResource": schema_pkg_apis_pipeline_v1beta1_PipelineTaskInputResource(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineTaskMetadata": schema_pkg_apis_pipeline_v1beta1_PipelineTaskMetadata(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineTaskOutputResource": schema_pkg_apis_pipeline_v1beta1_PipelineTaskOutputResource(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineTaskParam": schema_pkg_apis_pipeline_v1beta1_PipelineTaskParam(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineTaskResources": schema_pkg_apis_pipeline_v1beta1_PipelineTaskResources(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineTaskRun": schema_pkg_apis_pipeline_v1beta1_PipelineTaskRun(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineTaskRunSpec": schema_pkg_apis_pipeline_v1beta1_PipelineTaskRunSpec(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineWorkspaceDeclaration": schema_pkg_apis_pipeline_v1beta1_PipelineWorkspaceDeclaration(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PropertySpec": schema_pkg_apis_pipeline_v1beta1_PropertySpec(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.ResolverParam": schema_pkg_apis_pipeline_v1beta1_ResolverParam(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.ResolverRef": schema_pkg_apis_pipeline_v1beta1_ResolverRef(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.ResultRef": schema_pkg_apis_pipeline_v1beta1_ResultRef(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.Sidecar": schema_pkg_apis_pipeline_v1beta1_Sidecar(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.SidecarState": schema_pkg_apis_pipeline_v1beta1_SidecarState(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.SkippedTask": schema_pkg_apis_pipeline_v1beta1_SkippedTask(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.Step": schema_pkg_apis_pipeline_v1beta1_Step(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.StepState": schema_pkg_apis_pipeline_v1beta1_StepState(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.StepTemplate": schema_pkg_apis_pipeline_v1beta1_StepTemplate(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.Task": schema_pkg_apis_pipeline_v1beta1_Task(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.TaskList": schema_pkg_apis_pipeline_v1beta1_TaskList(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.TaskRef": schema_pkg_apis_pipeline_v1beta1_TaskRef(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.TaskResource": schema_pkg_apis_pipeline_v1beta1_TaskResource(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.TaskResourceBinding": schema_pkg_apis_pipeline_v1beta1_TaskResourceBinding(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.TaskResources": schema_pkg_apis_pipeline_v1beta1_TaskResources(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.TaskResult": schema_pkg_apis_pipeline_v1beta1_TaskResult(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.TaskRun": schema_pkg_apis_pipeline_v1beta1_TaskRun(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.TaskRunDebug": schema_pkg_apis_pipeline_v1beta1_TaskRunDebug(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.TaskRunInputs": schema_pkg_apis_pipeline_v1beta1_TaskRunInputs(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.TaskRunList": schema_pkg_apis_pipeline_v1beta1_TaskRunList(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.TaskRunOutputs": schema_pkg_apis_pipeline_v1beta1_TaskRunOutputs(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.TaskRunResources": schema_pkg_apis_pipeline_v1beta1_TaskRunResources(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.TaskRunResult": schema_pkg_apis_pipeline_v1beta1_TaskRunResult(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.TaskRunSidecarOverride": schema_pkg_apis_pipeline_v1beta1_TaskRunSidecarOverride(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.TaskRunSpec": schema_pkg_apis_pipeline_v1beta1_TaskRunSpec(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.TaskRunStatus": schema_pkg_apis_pipeline_v1beta1_TaskRunStatus(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.TaskRunStatusFields": schema_pkg_apis_pipeline_v1beta1_TaskRunStatusFields(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.TaskRunStepOverride": schema_pkg_apis_pipeline_v1beta1_TaskRunStepOverride(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.TaskSpec": schema_pkg_apis_pipeline_v1beta1_TaskSpec(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.TimeoutFields": schema_pkg_apis_pipeline_v1beta1_TimeoutFields(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.WhenExpression": schema_pkg_apis_pipeline_v1beta1_WhenExpression(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.WorkspaceBinding": schema_pkg_apis_pipeline_v1beta1_WorkspaceBinding(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.WorkspaceDeclaration": schema_pkg_apis_pipeline_v1beta1_WorkspaceDeclaration(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.WorkspacePipelineTaskBinding": schema_pkg_apis_pipeline_v1beta1_WorkspacePipelineTaskBinding(ref), - "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.WorkspaceUsage": schema_pkg_apis_pipeline_v1beta1_WorkspaceUsage(ref), - "github.com/tektoncd/pipeline/pkg/apis/resource/v1alpha1.PipelineResource": schema_pkg_apis_resource_v1alpha1_PipelineResource(ref), - "github.com/tektoncd/pipeline/pkg/apis/resource/v1alpha1.PipelineResourceList": schema_pkg_apis_resource_v1alpha1_PipelineResourceList(ref), - "github.com/tektoncd/pipeline/pkg/apis/resource/v1alpha1.PipelineResourceSpec": schema_pkg_apis_resource_v1alpha1_PipelineResourceSpec(ref), - "github.com/tektoncd/pipeline/pkg/apis/resource/v1alpha1.PipelineResourceStatus": schema_pkg_apis_resource_v1alpha1_PipelineResourceStatus(ref), - "github.com/tektoncd/pipeline/pkg/apis/resource/v1alpha1.ResourceDeclaration": schema_pkg_apis_resource_v1alpha1_ResourceDeclaration(ref), - "github.com/tektoncd/pipeline/pkg/apis/resource/v1alpha1.ResourceParam": schema_pkg_apis_resource_v1alpha1_ResourceParam(ref), - "github.com/tektoncd/pipeline/pkg/apis/resource/v1alpha1.SecretParam": schema_pkg_apis_resource_v1alpha1_SecretParam(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/pod.AffinityAssistantTemplate": schema_pkg_apis_pipeline_pod_AffinityAssistantTemplate(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/pod.Template": schema_pkg_apis_pipeline_pod_Template(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.ArrayOrString": schema_pkg_apis_pipeline_v1beta1_ArrayOrString(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.ChildStatusReference": schema_pkg_apis_pipeline_v1beta1_ChildStatusReference(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.CloudEventDelivery": schema_pkg_apis_pipeline_v1beta1_CloudEventDelivery(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.CloudEventDeliveryState": schema_pkg_apis_pipeline_v1beta1_CloudEventDeliveryState(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.ClusterTask": schema_pkg_apis_pipeline_v1beta1_ClusterTask(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.ClusterTaskList": schema_pkg_apis_pipeline_v1beta1_ClusterTaskList(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.EmbeddedTask": schema_pkg_apis_pipeline_v1beta1_EmbeddedTask(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.InternalTaskModifier": schema_pkg_apis_pipeline_v1beta1_InternalTaskModifier(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.Param": schema_pkg_apis_pipeline_v1beta1_Param(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.ParamSpec": schema_pkg_apis_pipeline_v1beta1_ParamSpec(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.Pipeline": schema_pkg_apis_pipeline_v1beta1_Pipeline(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineDeclaredResource": schema_pkg_apis_pipeline_v1beta1_PipelineDeclaredResource(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineList": schema_pkg_apis_pipeline_v1beta1_PipelineList(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineRef": schema_pkg_apis_pipeline_v1beta1_PipelineRef(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineResourceBinding": schema_pkg_apis_pipeline_v1beta1_PipelineResourceBinding(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineResourceRef": schema_pkg_apis_pipeline_v1beta1_PipelineResourceRef(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineResourceResult": schema_pkg_apis_pipeline_v1beta1_PipelineResourceResult(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineResult": schema_pkg_apis_pipeline_v1beta1_PipelineResult(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineRun": schema_pkg_apis_pipeline_v1beta1_PipelineRun(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineRunList": schema_pkg_apis_pipeline_v1beta1_PipelineRunList(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineRunResult": schema_pkg_apis_pipeline_v1beta1_PipelineRunResult(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineRunRunStatus": schema_pkg_apis_pipeline_v1beta1_PipelineRunRunStatus(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineRunSpec": schema_pkg_apis_pipeline_v1beta1_PipelineRunSpec(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineRunStatus": schema_pkg_apis_pipeline_v1beta1_PipelineRunStatus(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineRunStatusFields": schema_pkg_apis_pipeline_v1beta1_PipelineRunStatusFields(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineRunTaskRunStatus": schema_pkg_apis_pipeline_v1beta1_PipelineRunTaskRunStatus(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineSpec": schema_pkg_apis_pipeline_v1beta1_PipelineSpec(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineTask": schema_pkg_apis_pipeline_v1beta1_PipelineTask(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineTaskInputResource": schema_pkg_apis_pipeline_v1beta1_PipelineTaskInputResource(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineTaskMetadata": schema_pkg_apis_pipeline_v1beta1_PipelineTaskMetadata(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineTaskOutputResource": schema_pkg_apis_pipeline_v1beta1_PipelineTaskOutputResource(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineTaskParam": schema_pkg_apis_pipeline_v1beta1_PipelineTaskParam(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineTaskResources": schema_pkg_apis_pipeline_v1beta1_PipelineTaskResources(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineTaskRun": schema_pkg_apis_pipeline_v1beta1_PipelineTaskRun(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineTaskRunSpec": schema_pkg_apis_pipeline_v1beta1_PipelineTaskRunSpec(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineWorkspaceDeclaration": schema_pkg_apis_pipeline_v1beta1_PipelineWorkspaceDeclaration(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PropertySpec": schema_pkg_apis_pipeline_v1beta1_PropertySpec(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.ResolverParam": schema_pkg_apis_pipeline_v1beta1_ResolverParam(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.ResolverRef": schema_pkg_apis_pipeline_v1beta1_ResolverRef(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.ResultRef": schema_pkg_apis_pipeline_v1beta1_ResultRef(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.Sidecar": schema_pkg_apis_pipeline_v1beta1_Sidecar(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.SidecarState": schema_pkg_apis_pipeline_v1beta1_SidecarState(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.SkippedTask": schema_pkg_apis_pipeline_v1beta1_SkippedTask(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.Step": schema_pkg_apis_pipeline_v1beta1_Step(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.StepState": schema_pkg_apis_pipeline_v1beta1_StepState(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.StepTemplate": schema_pkg_apis_pipeline_v1beta1_StepTemplate(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.Task": schema_pkg_apis_pipeline_v1beta1_Task(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.TaskList": schema_pkg_apis_pipeline_v1beta1_TaskList(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.TaskRef": schema_pkg_apis_pipeline_v1beta1_TaskRef(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.TaskResource": schema_pkg_apis_pipeline_v1beta1_TaskResource(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.TaskResourceBinding": schema_pkg_apis_pipeline_v1beta1_TaskResourceBinding(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.TaskResources": schema_pkg_apis_pipeline_v1beta1_TaskResources(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.TaskResult": schema_pkg_apis_pipeline_v1beta1_TaskResult(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.TaskRun": schema_pkg_apis_pipeline_v1beta1_TaskRun(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.TaskRunDebug": schema_pkg_apis_pipeline_v1beta1_TaskRunDebug(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.TaskRunInputs": schema_pkg_apis_pipeline_v1beta1_TaskRunInputs(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.TaskRunList": schema_pkg_apis_pipeline_v1beta1_TaskRunList(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.TaskRunOutputs": schema_pkg_apis_pipeline_v1beta1_TaskRunOutputs(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.TaskRunResources": schema_pkg_apis_pipeline_v1beta1_TaskRunResources(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.TaskRunResult": schema_pkg_apis_pipeline_v1beta1_TaskRunResult(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.TaskRunSidecarOverride": schema_pkg_apis_pipeline_v1beta1_TaskRunSidecarOverride(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.TaskRunSpec": schema_pkg_apis_pipeline_v1beta1_TaskRunSpec(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.TaskRunStatus": schema_pkg_apis_pipeline_v1beta1_TaskRunStatus(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.TaskRunStatusFields": schema_pkg_apis_pipeline_v1beta1_TaskRunStatusFields(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.TaskRunStepOverride": schema_pkg_apis_pipeline_v1beta1_TaskRunStepOverride(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.TaskSpec": schema_pkg_apis_pipeline_v1beta1_TaskSpec(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.TimeoutFields": schema_pkg_apis_pipeline_v1beta1_TimeoutFields(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.WhenExpression": schema_pkg_apis_pipeline_v1beta1_WhenExpression(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.WorkspaceBinding": schema_pkg_apis_pipeline_v1beta1_WorkspaceBinding(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.WorkspaceDeclaration": schema_pkg_apis_pipeline_v1beta1_WorkspaceDeclaration(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.WorkspacePipelineTaskBinding": schema_pkg_apis_pipeline_v1beta1_WorkspacePipelineTaskBinding(ref), + "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.WorkspaceUsage": schema_pkg_apis_pipeline_v1beta1_WorkspaceUsage(ref), + "github.com/tektoncd/pipeline/pkg/apis/resource/v1alpha1.PipelineResource": schema_pkg_apis_resource_v1alpha1_PipelineResource(ref), + "github.com/tektoncd/pipeline/pkg/apis/resource/v1alpha1.PipelineResourceList": schema_pkg_apis_resource_v1alpha1_PipelineResourceList(ref), + "github.com/tektoncd/pipeline/pkg/apis/resource/v1alpha1.PipelineResourceSpec": schema_pkg_apis_resource_v1alpha1_PipelineResourceSpec(ref), + "github.com/tektoncd/pipeline/pkg/apis/resource/v1alpha1.PipelineResourceStatus": schema_pkg_apis_resource_v1alpha1_PipelineResourceStatus(ref), + "github.com/tektoncd/pipeline/pkg/apis/resource/v1alpha1.ResourceDeclaration": schema_pkg_apis_resource_v1alpha1_ResourceDeclaration(ref), + "github.com/tektoncd/pipeline/pkg/apis/resource/v1alpha1.ResourceParam": schema_pkg_apis_resource_v1alpha1_ResourceParam(ref), + "github.com/tektoncd/pipeline/pkg/apis/resource/v1alpha1.SecretParam": schema_pkg_apis_resource_v1alpha1_SecretParam(ref), } } @@ -1512,25 +1511,6 @@ func schema_pkg_apis_pipeline_v1beta1_PipelineRunSpec(ref common.ReferenceCallba Format: "", }, }, - "serviceAccountNames": { - VendorExtensible: spec.VendorExtensible{ - Extensions: spec.Extensions{ - "x-kubernetes-list-type": "atomic", - }, - }, - SchemaProps: spec.SchemaProps{ - Description: "Deprecated: use taskRunSpecs.ServiceAccountName instead", - Type: []string{"array"}, - Items: &spec.SchemaOrArray{ - Schema: &spec.Schema{ - SchemaProps: spec.SchemaProps{ - Default: map[string]interface{}{}, - Ref: ref("github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineRunSpecServiceAccountName"), - }, - }, - }, - }, - }, "status": { SchemaProps: spec.SchemaProps{ Description: "Used for cancelling a pipelinerun (and maybe more later on)", @@ -1598,32 +1578,7 @@ func schema_pkg_apis_pipeline_v1beta1_PipelineRunSpec(ref common.ReferenceCallba }, }, Dependencies: []string{ - "github.com/tektoncd/pipeline/pkg/apis/pipeline/pod.Template", "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.Param", "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineRef", "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineResourceBinding", "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineRunSpecServiceAccountName", "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineSpec", "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineTaskRunSpec", "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.TimeoutFields", "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.WorkspaceBinding", "k8s.io/apimachinery/pkg/apis/meta/v1.Duration"}, - } -} - -func schema_pkg_apis_pipeline_v1beta1_PipelineRunSpecServiceAccountName(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Description: "PipelineRunSpecServiceAccountName can be used to configure specific ServiceAccountName for a concrete Task", - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "taskName": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "serviceAccountName": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - }, - }, - }, + "github.com/tektoncd/pipeline/pkg/apis/pipeline/pod.Template", "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.Param", "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineRef", "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineResourceBinding", "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineSpec", "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.PipelineTaskRunSpec", "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.TimeoutFields", "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1.WorkspaceBinding", "k8s.io/apimachinery/pkg/apis/meta/v1.Duration"}, } } diff --git a/pkg/apis/pipeline/v1beta1/pipelinerun_types.go b/pkg/apis/pipeline/v1beta1/pipelinerun_types.go index 01686eb88bb..5274e1373a0 100644 --- a/pkg/apis/pipeline/v1beta1/pipelinerun_types.go +++ b/pkg/apis/pipeline/v1beta1/pipelinerun_types.go @@ -172,18 +172,6 @@ func (pr *PipelineRun) HasTimedOut(ctx context.Context, c clock.PassiveClock) bo return false } -// GetServiceAccountName returns the service account name for a given -// PipelineTask if configured, otherwise it returns the PipelineRun's serviceAccountName. -func (pr *PipelineRun) GetServiceAccountName(pipelineTaskName string) string { - serviceAccountName := pr.Spec.ServiceAccountName - for _, sa := range pr.Spec.ServiceAccountNames { - if sa.TaskName == pipelineTaskName { - serviceAccountName = sa.ServiceAccountName - } - } - return serviceAccountName -} - // HasVolumeClaimTemplate returns true if PipelineRun contains volumeClaimTemplates that is // used for creating PersistentVolumeClaims with an OwnerReference for each run func (pr *PipelineRun) HasVolumeClaimTemplate() bool { @@ -212,10 +200,6 @@ type PipelineRunSpec struct { // +optional ServiceAccountName string `json:"serviceAccountName,omitempty"` - // Deprecated: use taskRunSpecs.ServiceAccountName instead - // +optional - // +listType=atomic - ServiceAccountNames []PipelineRunSpecServiceAccountName `json:"serviceAccountNames,omitempty"` // Used for cancelling a pipelinerun (and maybe more later on) // +optional Status PipelineRunSpecStatus `json:"status,omitempty"` @@ -526,13 +510,6 @@ type PipelineRunRunStatus struct { WhenExpressions []WhenExpression `json:"whenExpressions,omitempty"` } -// PipelineRunSpecServiceAccountName can be used to configure specific -// ServiceAccountName for a concrete Task -type PipelineRunSpecServiceAccountName struct { - TaskName string `json:"taskName,omitempty"` - ServiceAccountName string `json:"serviceAccountName,omitempty"` -} - // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object // PipelineRunList contains a list of PipelineRun @@ -570,7 +547,7 @@ type PipelineTaskRunSpec struct { func (pr *PipelineRun) GetTaskRunSpec(pipelineTaskName string) PipelineTaskRunSpec { s := PipelineTaskRunSpec{ PipelineTaskName: pipelineTaskName, - TaskServiceAccountName: pr.GetServiceAccountName(pipelineTaskName), + TaskServiceAccountName: pr.Spec.ServiceAccountName, TaskPodTemplate: pr.Spec.PodTemplate, } for _, task := range pr.Spec.TaskRunSpecs { diff --git a/pkg/apis/pipeline/v1beta1/pipelinerun_types_test.go b/pkg/apis/pipeline/v1beta1/pipelinerun_types_test.go index f2bc36e893c..5b4a0055b21 100644 --- a/pkg/apis/pipeline/v1beta1/pipelinerun_types_test.go +++ b/pkg/apis/pipeline/v1beta1/pipelinerun_types_test.go @@ -350,61 +350,6 @@ func TestPipelineRunTimeouts(t *testing.T) { } } -func TestPipelineRunGetServiceAccountName(t *testing.T) { - for _, tt := range []struct { - name string - pr *v1beta1.PipelineRun - saNames map[string]string - }{ - { - name: "default SA", - pr: &v1beta1.PipelineRun{ - ObjectMeta: metav1.ObjectMeta{Name: "pr"}, - Spec: v1beta1.PipelineRunSpec{ - PipelineRef: &v1beta1.PipelineRef{Name: "prs"}, - ServiceAccountName: "defaultSA", - ServiceAccountNames: []v1beta1.PipelineRunSpecServiceAccountName{{ - TaskName: "taskName", ServiceAccountName: "taskSA", - }}, - }, - }, - saNames: map[string]string{ - "unknown": "defaultSA", - "taskName": "taskSA", - }, - }, - { - name: "mixed default SA", - pr: &v1beta1.PipelineRun{ - ObjectMeta: metav1.ObjectMeta{Name: "pr"}, - Spec: v1beta1.PipelineRunSpec{ - PipelineRef: &v1beta1.PipelineRef{Name: "prs"}, - ServiceAccountName: "defaultSA", - ServiceAccountNames: []v1beta1.PipelineRunSpecServiceAccountName{{ - TaskName: "task1", ServiceAccountName: "task1SA", - }, { - TaskName: "task2", ServiceAccountName: "task2SA", - }}, - }, - }, - saNames: map[string]string{ - "unknown": "defaultSA", - "task1": "task1SA", - "task2": "task2SA", - }, - }, - } { - for taskName, expected := range tt.saNames { - t.Run(tt.name, func(t *testing.T) { - sa := tt.pr.GetServiceAccountName(taskName) - if expected != sa { - t.Errorf("wrong service account: got: %v, want: %v", sa, expected) - } - }) - } - } -} - func TestPipelineRunGetPodSpecSABackcompatibility(t *testing.T) { for _, tt := range []struct { name string @@ -418,9 +363,6 @@ func TestPipelineRunGetPodSpecSABackcompatibility(t *testing.T) { Spec: v1beta1.PipelineRunSpec{ PipelineRef: &v1beta1.PipelineRef{Name: "prs"}, ServiceAccountName: "defaultSA", - ServiceAccountNames: []v1beta1.PipelineRunSpecServiceAccountName{{ - TaskName: "taskName", ServiceAccountName: "taskSA", - }}, TaskRunSpecs: []v1beta1.PipelineTaskRunSpec{{ PipelineTaskName: "taskName", TaskServiceAccountName: "newTaskSA", diff --git a/pkg/apis/pipeline/v1beta1/swagger.json b/pkg/apis/pipeline/v1beta1/swagger.json index 7800d55c8d5..c45f3b1faf1 100644 --- a/pkg/apis/pipeline/v1beta1/swagger.json +++ b/pkg/apis/pipeline/v1beta1/swagger.json @@ -935,15 +935,6 @@ "serviceAccountName": { "type": "string" }, - "serviceAccountNames": { - "description": "Deprecated: use taskRunSpecs.ServiceAccountName instead", - "type": "array", - "items": { - "default": {}, - "$ref": "#/definitions/v1beta1.PipelineRunSpecServiceAccountName" - }, - "x-kubernetes-list-type": "atomic" - }, "status": { "description": "Used for cancelling a pipelinerun (and maybe more later on)", "type": "string" @@ -976,18 +967,6 @@ } } }, - "v1beta1.PipelineRunSpecServiceAccountName": { - "description": "PipelineRunSpecServiceAccountName can be used to configure specific ServiceAccountName for a concrete Task", - "type": "object", - "properties": { - "serviceAccountName": { - "type": "string" - }, - "taskName": { - "type": "string" - } - } - }, "v1beta1.PipelineRunStatus": { "description": "PipelineRunStatus defines the observed state of PipelineRun", "type": "object", diff --git a/pkg/apis/pipeline/v1beta1/zz_generated.deepcopy.go b/pkg/apis/pipeline/v1beta1/zz_generated.deepcopy.go index 89846e1d64c..ad3f2c5ff78 100644 --- a/pkg/apis/pipeline/v1beta1/zz_generated.deepcopy.go +++ b/pkg/apis/pipeline/v1beta1/zz_generated.deepcopy.go @@ -580,11 +580,6 @@ func (in *PipelineRunSpec) DeepCopyInto(out *PipelineRunSpec) { (*in)[i].DeepCopyInto(&(*out)[i]) } } - if in.ServiceAccountNames != nil { - in, out := &in.ServiceAccountNames, &out.ServiceAccountNames - *out = make([]PipelineRunSpecServiceAccountName, len(*in)) - copy(*out, *in) - } if in.Timeouts != nil { in, out := &in.Timeouts, &out.Timeouts *out = new(TimeoutFields) @@ -627,22 +622,6 @@ func (in *PipelineRunSpec) DeepCopy() *PipelineRunSpec { return out } -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *PipelineRunSpecServiceAccountName) DeepCopyInto(out *PipelineRunSpecServiceAccountName) { - *out = *in - return -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PipelineRunSpecServiceAccountName. -func (in *PipelineRunSpecServiceAccountName) DeepCopy() *PipelineRunSpecServiceAccountName { - if in == nil { - return nil - } - out := new(PipelineRunSpecServiceAccountName) - in.DeepCopyInto(out) - return out -} - // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *PipelineRunStatus) DeepCopyInto(out *PipelineRunStatus) { *out = *in diff --git a/pkg/reconciler/pipelinerun/pipelinerun.go b/pkg/reconciler/pipelinerun/pipelinerun.go index 4c7cafd8ac7..3448970587d 100644 --- a/pkg/reconciler/pipelinerun/pipelinerun.go +++ b/pkg/reconciler/pipelinerun/pipelinerun.go @@ -75,7 +75,7 @@ const ( // ReasonInvalidWorkspaceBinding indicates that a Pipeline expects a workspace but a // PipelineRun has provided an invalid binding. ReasonInvalidWorkspaceBinding = "InvalidWorkspaceBindings" - // ReasonInvalidServiceAccountMapping indicates that PipelineRun.Spec.ServiceAccountNames defined with a wrong taskName + // ReasonInvalidServiceAccountMapping indicates that PipelineRun.Spec.TaskRunSpecs[].TaskServiceAccountName is defined with a wrong taskName ReasonInvalidServiceAccountMapping = "InvalidServiceAccountMappings" // ReasonParameterTypeMismatch indicates that the reason for the failure status is that // parameter(s) declared in the PipelineRun do not have the some declared type as the @@ -446,15 +446,6 @@ func (c *Reconciler) reconcile(ctx context.Context, pr *v1beta1.PipelineRun, get return controller.NewPermanentError(err) } - // Ensure that the ServiceAccountNames defined are correct. - // This is "deprecated". - if err := resources.ValidateServiceaccountMapping(pipelineSpec, pr); err != nil { - pr.Status.MarkFailed(ReasonInvalidServiceAccountMapping, - "PipelineRun %s/%s doesn't define ServiceAccountNames correctly: %s", - pr.Namespace, pr.Name, err) - return controller.NewPermanentError(err) - } - // Ensure that the TaskRunSpecs defined are correct. if err := resources.ValidateTaskRunSpecs(pipelineSpec, pr); err != nil { pr.Status.MarkFailed(ReasonInvalidServiceAccountMapping, diff --git a/pkg/reconciler/pipelinerun/pipelinerun_test.go b/pkg/reconciler/pipelinerun/pipelinerun_test.go index 313b9a7bd8f..20f4f3a574b 100644 --- a/pkg/reconciler/pipelinerun/pipelinerun_test.go +++ b/pkg/reconciler/pipelinerun/pipelinerun_test.go @@ -2828,9 +2828,9 @@ spec: pipelineRef: name: test-pipeline serviceAccountName: test-sa-0 - serviceAccountNames: - - serviceAccountName: test-sa-1 - taskName: hello-world-1 + taskRunSpecs: + - taskServiceAccountName: test-sa-1 + pipelineTaskName: hello-world-1 `)} ts := []*v1beta1.Task{parse.MustParseTask(t, ` metadata: @@ -2913,9 +2913,9 @@ spec: pipelineRef: name: test-pipeline serviceAccountName: test-sa-0 - serviceAccountNames: - - serviceAccountName: test-sa-1 - taskName: hello-world-1 + taskRunSpecs: + - taskServiceAccountName: test-sa-1 + pipelineTaskName: hello-world-1 `)} cms := []*corev1.ConfigMap{withCustomTasks(newFeatureFlagsConfigMap())} diff --git a/pkg/reconciler/pipelinerun/resources/pipelinerunresolution.go b/pkg/reconciler/pipelinerun/resources/pipelinerunresolution.go index 3455741117f..c53462731de 100644 --- a/pkg/reconciler/pipelinerun/resources/pipelinerunresolution.go +++ b/pkg/reconciler/pipelinerun/resources/pipelinerunresolution.go @@ -477,25 +477,6 @@ func ValidateTaskRunSpecs(p *v1beta1.PipelineSpec, pr *v1beta1.PipelineRun) erro return nil } -// ValidateServiceaccountMapping validates that the ServiceAccountNames defined by a PipelineRun are not correct. -func ValidateServiceaccountMapping(p *v1beta1.PipelineSpec, pr *v1beta1.PipelineRun) error { - pipelineTasks := make(map[string]string) - for _, task := range p.Tasks { - pipelineTasks[task.Name] = task.Name - } - - for _, task := range p.Finally { - pipelineTasks[task.Name] = task.Name - } - - for _, name := range pr.Spec.ServiceAccountNames { - if _, ok := pipelineTasks[name.TaskName]; !ok { - return fmt.Errorf("PipelineRun's ServiceAccountNames defined wrong taskName: %q, does not exist in Pipeline", name.TaskName) - } - } - return nil -} - func isCustomTask(ctx context.Context, rprt ResolvedPipelineRunTask) bool { invalidSpec := rprt.PipelineTask.TaskRef != nil && rprt.PipelineTask.TaskSpec != nil isTaskRefCustomTask := rprt.PipelineTask.TaskRef != nil && rprt.PipelineTask.TaskRef.APIVersion != "" && diff --git a/pkg/reconciler/pipelinerun/resources/pipelinerunresolution_test.go b/pkg/reconciler/pipelinerun/resources/pipelinerunresolution_test.go index 99638717e1e..5a7a52712a0 100644 --- a/pkg/reconciler/pipelinerun/resources/pipelinerunresolution_test.go +++ b/pkg/reconciler/pipelinerun/resources/pipelinerunresolution_test.go @@ -2205,149 +2205,6 @@ func TestValidateTaskRunSpecs(t *testing.T) { } } -func TestValidateServiceaccountMapping(t *testing.T) { - for _, tc := range []struct { - name string - p *v1beta1.Pipeline - pr *v1beta1.PipelineRun - wantErr bool - }{{ - name: "valid task mapping", - p: &v1beta1.Pipeline{ - ObjectMeta: metav1.ObjectMeta{ - Name: "pipelines", - }, - Spec: v1beta1.PipelineSpec{ - Tasks: []v1beta1.PipelineTask{{ - Name: "mytask1", - TaskRef: &v1beta1.TaskRef{ - Name: "task", - }, - Resources: &v1beta1.PipelineTaskResources{ - Inputs: []v1beta1.PipelineTaskInputResource{{ - Name: "input1", - Resource: "git-resource", - }}, - }, - }}, - }, - }, - pr: &v1beta1.PipelineRun{ - ObjectMeta: metav1.ObjectMeta{ - Name: "pipelinerun", - }, - Spec: v1beta1.PipelineRunSpec{ - PipelineRef: &v1beta1.PipelineRef{ - Name: "pipeline", - }, - ServiceAccountNames: []v1beta1.PipelineRunSpecServiceAccountName{{ - TaskName: "mytask1", - ServiceAccountName: "default", - }}, - }, - }, - wantErr: false, - }, { - name: "valid finally task mapping", - p: &v1beta1.Pipeline{ - ObjectMeta: metav1.ObjectMeta{ - Name: "pipelines", - }, - Spec: v1beta1.PipelineSpec{ - Tasks: []v1beta1.PipelineTask{{ - Name: "mytask1", - TaskRef: &v1beta1.TaskRef{ - Name: "task", - }, - Resources: &v1beta1.PipelineTaskResources{ - Inputs: []v1beta1.PipelineTaskInputResource{{ - Name: "input1", - Resource: "git-resource", - }}, - }, - }}, - Finally: []v1beta1.PipelineTask{{ - Name: "myfinaltask1", - TaskRef: &v1beta1.TaskRef{ - Name: "finaltask", - }, - }}, - }, - }, - pr: &v1beta1.PipelineRun{ - ObjectMeta: metav1.ObjectMeta{ - Name: "pipelinerun", - }, - Spec: v1beta1.PipelineRunSpec{ - PipelineRef: &v1beta1.PipelineRef{ - Name: "pipeline", - }, - ServiceAccountNames: []v1beta1.PipelineRunSpecServiceAccountName{{ - TaskName: "myfinaltask1", - ServiceAccountName: "default", - }}, - }, - }, - wantErr: false, - }, { - name: "invalid task mapping", - p: &v1beta1.Pipeline{ - ObjectMeta: metav1.ObjectMeta{ - Name: "pipelines", - }, - Spec: v1beta1.PipelineSpec{ - Tasks: []v1beta1.PipelineTask{{ - Name: "mytask1", - TaskRef: &v1beta1.TaskRef{ - Name: "task", - }, - Resources: &v1beta1.PipelineTaskResources{ - Inputs: []v1beta1.PipelineTaskInputResource{{ - Name: "input1", - Resource: "git-resource", - }}, - }, - }}, - Finally: []v1beta1.PipelineTask{{ - Name: "myfinaltask1", - TaskRef: &v1beta1.TaskRef{ - Name: "finaltask", - }, - }}, - }, - }, - pr: &v1beta1.PipelineRun{ - ObjectMeta: metav1.ObjectMeta{ - Name: "pipelinerun", - }, - Spec: v1beta1.PipelineRunSpec{ - PipelineRef: &v1beta1.PipelineRef{ - Name: "pipeline", - }, - ServiceAccountNames: []v1beta1.PipelineRunSpecServiceAccountName{{ - TaskName: "wrongtask", - ServiceAccountName: "default", - }}, - }, - }, - wantErr: true, - }} { - t.Run(tc.name, func(t *testing.T) { - spec := tc.p.Spec - err := ValidateServiceaccountMapping(&spec, tc.pr) - if tc.wantErr { - if err == nil { - t.Fatalf("Did not get error when it was expected for test: %s", tc.name) - } - } else { - if err != nil { - t.Fatalf("Unexpected error when no error expected: %v", err) - } - } - }) - } -} - func TestResolvePipeline_WhenExpressions(t *testing.T) { names.TestingSeed() tName1 := "pipelinerun-mytask1-always-true" diff --git a/test/serviceaccount_test.go b/test/serviceaccount_test.go index 92d2cf870ea..2742fac184c 100644 --- a/test/serviceaccount_test.go +++ b/test/serviceaccount_test.go @@ -150,10 +150,9 @@ spec: pipelineRef: name: %s serviceAccountName: sa1 - serviceAccountNames: - - serviceAccountName: sa2 - taskName: task2 taskRunSpecs: + - pipelineTaskName: task2 + taskServiceAccountName: sa2 - pipelineTaskName: task3 taskServiceAccountName: sa3 `, helpers.ObjectNameForTest(t), namespace, pipeline.Name))