From b82fef4be5004cdb9b2b41a2d5c02d345801b251 Mon Sep 17 00:00:00 2001 From: "charles-edouard.breteche" Date: Mon, 23 Mar 2020 10:41:27 +0100 Subject: [PATCH] make defaults config map name customizable --- cmd/webhook/main.go | 6 +++--- pkg/apis/config/default.go | 12 ++++++++++-- pkg/apis/config/default_test.go | 2 +- pkg/apis/config/store.go | 4 ++-- .../pipeline/v1alpha1/pipelinerun_defaults_test.go | 8 ++++---- pkg/apis/pipeline/v1alpha1/taskrun_defaults_test.go | 12 ++++++------ .../pipeline/v1beta1/pipelinerun_defaults_test.go | 8 ++++---- pkg/apis/pipeline/v1beta1/taskrun_defaults_test.go | 4 ++-- 8 files changed, 32 insertions(+), 24 deletions(-) diff --git a/cmd/webhook/main.go b/cmd/webhook/main.go index 48cba887bfa..6b508798906 100644 --- a/cmd/webhook/main.go +++ b/cmd/webhook/main.go @@ -115,9 +115,9 @@ func NewConfigValidationController(ctx context.Context, cmw configmap.Watcher) * // The configmaps to validate. configmap.Constructors{ - logging.ConfigMapName(): logging.NewConfigFromConfigMap, - defaultconfig.DefaultsConfigName: defaultconfig.NewDefaultsFromConfigMap, - pkgleaderelection.ConfigMapName(): pkgleaderelection.NewConfigFromConfigMap, + logging.ConfigMapName(): logging.NewConfigFromConfigMap, + defaultconfig.GetDefaultsConfigName(): defaultconfig.NewDefaultsFromConfigMap, + pkgleaderelection.ConfigMapName(): pkgleaderelection.NewConfigFromConfigMap, }, ) } diff --git a/pkg/apis/config/default.go b/pkg/apis/config/default.go index b82843531db..4f89ca4bd45 100644 --- a/pkg/apis/config/default.go +++ b/pkg/apis/config/default.go @@ -18,6 +18,7 @@ package config import ( "fmt" + "os" "strconv" "time" @@ -27,8 +28,6 @@ import ( ) const ( - // ConfigName is the name of the configmap - DefaultsConfigName = "config-defaults" DefaultTimeoutMinutes = 60 NoTimeoutDuration = 0 * time.Minute defaultTimeoutMinutesKey = "default-timeout-minutes" @@ -47,6 +46,15 @@ type Defaults struct { DefaultPodTemplate *pod.Template } +// GetBucketConfigName returns the name of the configmap containing all +// customizations for the storage bucket. +func GetDefaultsConfigName() string { + if e := os.Getenv("CONFIG_DEFAULTS_NAME"); e != "" { + return e + } + return "config-defaults" +} + // Equals returns true if two Configs are identical func (cfg *Defaults) Equals(other *Defaults) bool { if cfg == nil && other == nil { diff --git a/pkg/apis/config/default_test.go b/pkg/apis/config/default_test.go index 2b8ffb5c6e7..84eca548ced 100644 --- a/pkg/apis/config/default_test.go +++ b/pkg/apis/config/default_test.go @@ -38,7 +38,7 @@ func TestNewDefaultsFromConfigMap(t *testing.T) { DefaultServiceAccount: "tekton", DefaultManagedByLabelValue: "something-else", }, - fileName: DefaultsConfigName, + fileName: GetDefaultsConfigName(), }, { expectedConfig: &Defaults{ diff --git a/pkg/apis/config/store.go b/pkg/apis/config/store.go index c257b0f33de..a7423ca3bcc 100644 --- a/pkg/apis/config/store.go +++ b/pkg/apis/config/store.go @@ -70,7 +70,7 @@ func NewStore(logger configmap.Logger, onAfterStore ...func(name string, value i "defaults", logger, configmap.Constructors{ - DefaultsConfigName: NewDefaultsFromConfigMap, + GetDefaultsConfigName(): NewDefaultsFromConfigMap, }, onAfterStore..., ), @@ -87,6 +87,6 @@ func (s *Store) ToContext(ctx context.Context) context.Context { // Load creates a Config from the current config state of the Store. func (s *Store) Load() *Config { return &Config{ - Defaults: s.UntypedLoad(DefaultsConfigName).(*Defaults).DeepCopy(), + Defaults: s.UntypedLoad(GetDefaultsConfigName()).(*Defaults).DeepCopy(), } } diff --git a/pkg/apis/pipeline/v1alpha1/pipelinerun_defaults_test.go b/pkg/apis/pipeline/v1alpha1/pipelinerun_defaults_test.go index f687670a33e..5ebe831ac7e 100644 --- a/pkg/apis/pipeline/v1alpha1/pipelinerun_defaults_test.go +++ b/pkg/apis/pipeline/v1alpha1/pipelinerun_defaults_test.go @@ -141,7 +141,7 @@ func TestPipelineRunDefaulting(t *testing.T) { s := config.NewStore(logtesting.TestLogger(t)) s.OnConfigChanged(&corev1.ConfigMap{ ObjectMeta: metav1.ObjectMeta{ - Name: config.DefaultsConfigName, + Name: config.GetDefaultsConfigName(), }, Data: map[string]string{ "default-timeout-minutes": "5", @@ -167,7 +167,7 @@ func TestPipelineRunDefaulting(t *testing.T) { s := config.NewStore(logtesting.TestLogger(t)) s.OnConfigChanged(&corev1.ConfigMap{ ObjectMeta: metav1.ObjectMeta{ - Name: config.DefaultsConfigName, + Name: config.GetDefaultsConfigName(), }, Data: map[string]string{ "default-timeout-minutes": "5", @@ -199,7 +199,7 @@ func TestPipelineRunDefaulting(t *testing.T) { s := config.NewStore(logtesting.TestLogger(t)) s.OnConfigChanged(&corev1.ConfigMap{ ObjectMeta: metav1.ObjectMeta{ - Name: config.DefaultsConfigName, + Name: config.GetDefaultsConfigName(), }, Data: map[string]string{ "default-timeout-minutes": "5", @@ -237,7 +237,7 @@ func TestPipelineRunDefaulting(t *testing.T) { s := config.NewStore(logtesting.TestLogger(t)) s.OnConfigChanged(&corev1.ConfigMap{ ObjectMeta: metav1.ObjectMeta{ - Name: config.DefaultsConfigName, + Name: config.GetDefaultsConfigName(), }, Data: map[string]string{ "default-timeout-minutes": "5", diff --git a/pkg/apis/pipeline/v1alpha1/taskrun_defaults_test.go b/pkg/apis/pipeline/v1alpha1/taskrun_defaults_test.go index 153d41ec88c..84086f99d56 100644 --- a/pkg/apis/pipeline/v1alpha1/taskrun_defaults_test.go +++ b/pkg/apis/pipeline/v1alpha1/taskrun_defaults_test.go @@ -192,7 +192,7 @@ func TestTaskRunDefaulting(t *testing.T) { s := config.NewStore(logtesting.TestLogger(t)) s.OnConfigChanged(&corev1.ConfigMap{ ObjectMeta: metav1.ObjectMeta{ - Name: config.DefaultsConfigName, + Name: config.GetDefaultsConfigName(), }, Data: map[string]string{ "default-timeout-minutes": "5", @@ -221,7 +221,7 @@ func TestTaskRunDefaulting(t *testing.T) { s := config.NewStore(logtesting.TestLogger(t)) s.OnConfigChanged(&corev1.ConfigMap{ ObjectMeta: metav1.ObjectMeta{ - Name: config.DefaultsConfigName, + Name: config.GetDefaultsConfigName(), }, Data: map[string]string{ "default-timeout-minutes": "5", @@ -250,7 +250,7 @@ func TestTaskRunDefaulting(t *testing.T) { s := config.NewStore(logtesting.TestLogger(t)) s.OnConfigChanged(&corev1.ConfigMap{ ObjectMeta: metav1.ObjectMeta{ - Name: config.DefaultsConfigName, + Name: config.GetDefaultsConfigName(), }, Data: map[string]string{ "default-timeout-minutes": "5", @@ -282,7 +282,7 @@ func TestTaskRunDefaulting(t *testing.T) { s := config.NewStore(logtesting.TestLogger(t)) s.OnConfigChanged(&corev1.ConfigMap{ ObjectMeta: metav1.ObjectMeta{ - Name: config.DefaultsConfigName, + Name: config.GetDefaultsConfigName(), }, Data: map[string]string{ "default-timeout-minutes": "5", @@ -317,7 +317,7 @@ func TestTaskRunDefaulting(t *testing.T) { s := config.NewStore(logtesting.TestLogger(t)) s.OnConfigChanged(&corev1.ConfigMap{ ObjectMeta: metav1.ObjectMeta{ - Name: config.DefaultsConfigName, + Name: config.GetDefaultsConfigName(), }, Data: map[string]string{ "default-timeout-minutes": "5", @@ -358,7 +358,7 @@ func TestTaskRunDefaulting(t *testing.T) { s := config.NewStore(logtesting.TestLogger(t)) s.OnConfigChanged(&corev1.ConfigMap{ ObjectMeta: metav1.ObjectMeta{ - Name: config.DefaultsConfigName, + Name: config.GetDefaultsConfigName(), }, Data: map[string]string{ "default-timeout-minutes": "5", diff --git a/pkg/apis/pipeline/v1beta1/pipelinerun_defaults_test.go b/pkg/apis/pipeline/v1beta1/pipelinerun_defaults_test.go index 0b31245c205..95b4139edcb 100644 --- a/pkg/apis/pipeline/v1beta1/pipelinerun_defaults_test.go +++ b/pkg/apis/pipeline/v1beta1/pipelinerun_defaults_test.go @@ -159,7 +159,7 @@ func TestPipelineRunDefaulting(t *testing.T) { s := config.NewStore(logtesting.TestLogger(t)) s.OnConfigChanged(&corev1.ConfigMap{ ObjectMeta: metav1.ObjectMeta{ - Name: config.DefaultsConfigName, + Name: config.GetDefaultsConfigName(), }, Data: map[string]string{ "default-timeout-minutes": "5", @@ -185,7 +185,7 @@ func TestPipelineRunDefaulting(t *testing.T) { s := config.NewStore(logtesting.TestLogger(t)) s.OnConfigChanged(&corev1.ConfigMap{ ObjectMeta: metav1.ObjectMeta{ - Name: config.DefaultsConfigName, + Name: config.GetDefaultsConfigName(), }, Data: map[string]string{ "default-timeout-minutes": "5", @@ -217,7 +217,7 @@ func TestPipelineRunDefaulting(t *testing.T) { s := config.NewStore(logtesting.TestLogger(t)) s.OnConfigChanged(&corev1.ConfigMap{ ObjectMeta: metav1.ObjectMeta{ - Name: config.DefaultsConfigName, + Name: config.GetDefaultsConfigName(), }, Data: map[string]string{ "default-timeout-minutes": "5", @@ -255,7 +255,7 @@ func TestPipelineRunDefaulting(t *testing.T) { s := config.NewStore(logtesting.TestLogger(t)) s.OnConfigChanged(&corev1.ConfigMap{ ObjectMeta: metav1.ObjectMeta{ - Name: config.DefaultsConfigName, + Name: config.GetDefaultsConfigName(), }, Data: map[string]string{ "default-timeout-minutes": "5", diff --git a/pkg/apis/pipeline/v1beta1/taskrun_defaults_test.go b/pkg/apis/pipeline/v1beta1/taskrun_defaults_test.go index 8dbd19384eb..e4a4f0e0b2e 100644 --- a/pkg/apis/pipeline/v1beta1/taskrun_defaults_test.go +++ b/pkg/apis/pipeline/v1beta1/taskrun_defaults_test.go @@ -181,7 +181,7 @@ func TestTaskRunDefaulting(t *testing.T) { s := config.NewStore(logtesting.TestLogger(t)) s.OnConfigChanged(&corev1.ConfigMap{ ObjectMeta: metav1.ObjectMeta{ - Name: config.DefaultsConfigName, + Name: config.GetDefaultsConfigName(), }, Data: map[string]string{ "default-timeout-minutes": "5", @@ -207,7 +207,7 @@ func TestTaskRunDefaulting(t *testing.T) { s := config.NewStore(logtesting.TestLogger(t)) s.OnConfigChanged(&corev1.ConfigMap{ ObjectMeta: metav1.ObjectMeta{ - Name: config.DefaultsConfigName, + Name: config.GetDefaultsConfigName(), }, Data: map[string]string{ "default-timeout-minutes": "5",