1
1
package config
2
2
3
3
import (
4
+ "time"
5
+
4
6
"github.com/pkg/errors"
5
7
"github.com/spf13/pflag"
6
8
"k8s.io/apimachinery/pkg/util/sets"
@@ -9,16 +11,18 @@ import (
9
11
)
10
12
11
13
const (
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"
22
26
)
23
27
24
28
var (
@@ -62,6 +66,8 @@ type ControllerConfig struct {
62
66
ServiceMaxConcurrentReconciles int
63
67
// Max concurrent reconcile loops for TargetGroupBinding objects
64
68
TargetGroupBindingMaxConcurrentReconciles int
69
+ // Max exponential backoff delay for reconcile failures of TargetGroupBinding
70
+ TargetGroupBindingMaxExponentialBackoffDelay time.Duration
65
71
}
66
72
67
73
// BindFlags binds the command line flags to the fields in the config object
@@ -77,6 +83,8 @@ func (cfg *ControllerConfig) BindFlags(fs *pflag.FlagSet) {
77
83
"Maximum number of concurrently running reconcile loops for service" )
78
84
fs .IntVar (& cfg .TargetGroupBindingMaxConcurrentReconciles , flagTargetGroupBindingMaxConcurrentReconciles , defaultMaxConcurrentReconciles ,
79
85
"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" )
80
88
fs .StringVar (& cfg .DefaultSSLPolicy , flagDefaultSSLPolicy , defaultSSLPolicy ,
81
89
"Default SSL policy for load balancers listeners" )
82
90
0 commit comments