From e4de37cb832665069b923db7498865e0e536419f Mon Sep 17 00:00:00 2001 From: Shivam Mukhade Date: Tue, 24 Aug 2021 13:20:25 +0530 Subject: [PATCH 1/2] Adds `scope-when-expressions-to-task` field for Pipelines This adds a new field in TektonPipeline to alter value for new field in `feature-flag` configmap. field: scope-when-expressions-to-task (Default: false) Signed-off-by: Shivam Mukhade --- pkg/apis/operator/v1alpha1/tektonpipeline_defaults.go | 3 +++ pkg/apis/operator/v1alpha1/tektonpipeline_defaults_test.go | 1 + pkg/apis/operator/v1alpha1/tektonpipeline_types.go | 1 + pkg/apis/operator/v1alpha1/zz_generated.deepcopy.go | 5 +++++ pkg/reconciler/openshift/tektonconfig/extension.go | 1 + pkg/reconciler/openshift/tektontrigger/extension.go | 3 ++- 6 files changed, 13 insertions(+), 1 deletion(-) diff --git a/pkg/apis/operator/v1alpha1/tektonpipeline_defaults.go b/pkg/apis/operator/v1alpha1/tektonpipeline_defaults.go index 1a82990b42..e31dcab367 100644 --- a/pkg/apis/operator/v1alpha1/tektonpipeline_defaults.go +++ b/pkg/apis/operator/v1alpha1/tektonpipeline_defaults.go @@ -51,4 +51,7 @@ func (p *PipelineProperties) setDefaults() { if p.EnableApiFields == "" { p.EnableApiFields = PipelineApiFieldStable } + if p.ScopeWhenExpressionsToTask == nil { + p.ScopeWhenExpressionsToTask = ptr.Bool(false) + } } diff --git a/pkg/apis/operator/v1alpha1/tektonpipeline_defaults_test.go b/pkg/apis/operator/v1alpha1/tektonpipeline_defaults_test.go index ae709129e3..26056ab5f8 100644 --- a/pkg/apis/operator/v1alpha1/tektonpipeline_defaults_test.go +++ b/pkg/apis/operator/v1alpha1/tektonpipeline_defaults_test.go @@ -48,6 +48,7 @@ func Test_SetDefaults_PipelineProperties(t *testing.T) { EnableTektonOciBundles: ptr.Bool(false), EnableCustomTasks: ptr.Bool(false), EnableApiFields: PipelineApiFieldStable, + ScopeWhenExpressionsToTask: ptr.Bool(false), } tp.SetDefaults(context.TODO()) diff --git a/pkg/apis/operator/v1alpha1/tektonpipeline_types.go b/pkg/apis/operator/v1alpha1/tektonpipeline_types.go index 558cf48c9a..d63753caba 100644 --- a/pkg/apis/operator/v1alpha1/tektonpipeline_types.go +++ b/pkg/apis/operator/v1alpha1/tektonpipeline_types.go @@ -90,6 +90,7 @@ type PipelineProperties struct { EnableTektonOciBundles *bool `json:"enable-tekton-oci-bundles,omitempty"` EnableCustomTasks *bool `json:"enable-custom-tasks,omitempty"` EnableApiFields string `json:"enable-api-fields,omitempty"` + ScopeWhenExpressionsToTask *bool `json:"scope-when-expressions-to-task,omitempty"` // +optional OptionalPipelineProperties `json:",inline"` } diff --git a/pkg/apis/operator/v1alpha1/zz_generated.deepcopy.go b/pkg/apis/operator/v1alpha1/zz_generated.deepcopy.go index c21f9a001d..9d5cbedf9d 100644 --- a/pkg/apis/operator/v1alpha1/zz_generated.deepcopy.go +++ b/pkg/apis/operator/v1alpha1/zz_generated.deepcopy.go @@ -210,6 +210,11 @@ func (in *PipelineProperties) DeepCopyInto(out *PipelineProperties) { *out = new(bool) **out = **in } + if in.ScopeWhenExpressionsToTask != nil { + in, out := &in.ScopeWhenExpressionsToTask, &out.ScopeWhenExpressionsToTask + *out = new(bool) + **out = **in + } in.OptionalPipelineProperties.DeepCopyInto(&out.OptionalPipelineProperties) return } diff --git a/pkg/reconciler/openshift/tektonconfig/extension.go b/pkg/reconciler/openshift/tektonconfig/extension.go index c76c999b44..1d32b08a99 100644 --- a/pkg/reconciler/openshift/tektonconfig/extension.go +++ b/pkg/reconciler/openshift/tektonconfig/extension.go @@ -18,6 +18,7 @@ package tektonconfig import ( "context" + "github.com/go-logr/zapr" mfc "github.com/manifestival/client-go-client" mf "github.com/manifestival/manifestival" diff --git a/pkg/reconciler/openshift/tektontrigger/extension.go b/pkg/reconciler/openshift/tektontrigger/extension.go index 72eb35a9e6..2ae65a2c5b 100644 --- a/pkg/reconciler/openshift/tektontrigger/extension.go +++ b/pkg/reconciler/openshift/tektontrigger/extension.go @@ -18,13 +18,14 @@ package tektontrigger import ( "context" + mf "github.com/manifestival/manifestival" "github.com/tektoncd/operator/pkg/apis/operator/v1alpha1" "github.com/tektoncd/operator/pkg/client/clientset/versioned" operatorclient "github.com/tektoncd/operator/pkg/client/injection/client" "github.com/tektoncd/operator/pkg/reconciler/common" occommon "github.com/tektoncd/operator/pkg/reconciler/openshift/common" - "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) const triggersPrefix = "quay.io/openshift-pipeline/tektoncd-triggers-" From ff1bcce87300e8e47c58f33baa3b387a3c4d57d9 Mon Sep 17 00:00:00 2001 From: Shivam Mukhade Date: Tue, 24 Aug 2021 13:28:38 +0530 Subject: [PATCH 2/2] Update docs for `scope-when-expressions-to-task` field Signed-off-by: Shivam Mukhade --- docs/TektonPipeline.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/TektonPipeline.md b/docs/TektonPipeline.md index e3dd5b7082..9d335e15ab 100644 --- a/docs/TektonPipeline.md +++ b/docs/TektonPipeline.md @@ -21,6 +21,7 @@ spec: enable-tekton-oci-bundles: false require-git-ssh-secret-known-hosts: false running-in-environment-with-injected-sidecars: true + scope-when-expressions-to-task: false ``` You can install this component using [TektonConfig](./TektonConfig.md) by choosing appropriate `profile`. @@ -93,6 +94,11 @@ You can install this component using [TektonConfig](./TektonConfig.md) by choosi Setting this flag will determine which gated features are enabled. Acceptable values are "stable" or "alpha". + +- `scope-when-expressions-to-task` (Default: `false`) + + Setting this flag to "true" scopes when expressions to guard a Task only instead of a Task and its dependent Tasks. + ### Optional Properties This fields doesn't have default values so will be considered only if user passes them. By default Operator won't add this fields CR and won't configure for pipelines.