11package config
22
33import (
4+ "time"
5+
46"github.com/pkg/errors"
57"github.com/spf13/pflag"
68"k8s.io/apimachinery/pkg/util/sets"
@@ -9,16 +11,18 @@ import (
911)
1012
1113const (
12- flagLogLevel = "log-level"
13- flagK8sClusterName = "cluster-name"
14- flagDefaultTags = "default-tags"
15- flagExternalManagedTags = "external-managed-tags"
16- flagServiceMaxConcurrentReconciles = "service-max-concurrent-reconciles"
17- flagTargetGroupBindingMaxConcurrentReconciles = "targetgroupbinding-max-concurrent-reconciles"
18- flagDefaultSSLPolicy = "default-ssl-policy"
19- defaultLogLevel = "info"
20- defaultMaxConcurrentReconciles = 3
21- defaultSSLPolicy = "ELBSecurityPolicy-2016-08"
14+ flagLogLevel = "log-level"
15+ flagK8sClusterName = "cluster-name"
16+ flagDefaultTags = "default-tags"
17+ flagExternalManagedTags = "external-managed-tags"
18+ flagServiceMaxConcurrentReconciles = "service-max-concurrent-reconciles"
19+ flagTargetGroupBindingMaxConcurrentReconciles = "targetgroupbinding-max-concurrent-reconciles"
20+ flagTargetGroupBindingMaxExponentialBackoffDelay = "targetgroupbinding-max-exponential-backoff-delay"
21+ flagDefaultSSLPolicy = "default-ssl-policy"
22+ defaultLogLevel = "info"
23+ defaultMaxConcurrentReconciles = 3
24+ defaultMaxExponentialBackoffDelay = time .Second * 1000
25+ defaultSSLPolicy = "ELBSecurityPolicy-2016-08"
2226)
2327
2428var (
@@ -62,6 +66,8 @@ type ControllerConfig struct {
6266ServiceMaxConcurrentReconciles int
6367// Max concurrent reconcile loops for TargetGroupBinding objects
6468TargetGroupBindingMaxConcurrentReconciles int
69+ // Max exponential backoff delay for reconcile failures of TargetGroupBinding
70+ TargetGroupBindingMaxExponentialBackoffDelay time.Duration
6571}
6672
6773// BindFlags binds the command line flags to the fields in the config object
@@ -77,6 +83,8 @@ func (cfg *ControllerConfig) BindFlags(fs *pflag.FlagSet) {
7783"Maximum number of concurrently running reconcile loops for service" )
7884fs .IntVar (& cfg .TargetGroupBindingMaxConcurrentReconciles , flagTargetGroupBindingMaxConcurrentReconciles , defaultMaxConcurrentReconciles ,
7985"Maximum number of concurrently running reconcile loops for targetGroupBinding" )
86+ fs .DurationVar (& cfg .TargetGroupBindingMaxExponentialBackoffDelay , flagTargetGroupBindingMaxExponentialBackoffDelay , defaultMaxExponentialBackoffDelay ,
87+ "Maximum duration of exponential backoff for targetGroupBinding reconcile failures" )
8088fs .StringVar (& cfg .DefaultSSLPolicy , flagDefaultSSLPolicy , defaultSSLPolicy ,
8189"Default SSL policy for load balancers listeners" )
8290
0 commit comments