...
1
16
17 package config
18
19 import "time"
20
21 type TimeoutConfig struct {
22
23
24 CreateTimeout time.Duration
25
26
27
28 DeleteTimeout time.Duration
29
30
31
32 GetTimeout time.Duration
33
34
35
36 GatewayMustHaveAddress time.Duration
37
38
39
40
41 GatewayMustHaveCondition time.Duration
42
43
44
45 GatewayStatusMustHaveListeners time.Duration
46
47
48
49 GatewayListenersMustHaveCondition time.Duration
50
51
52
53 GWCMustBeAccepted time.Duration
54
55
56
57 HTTPRouteMustNotHaveParents time.Duration
58
59
60
61 HTTPRouteMustHaveCondition time.Duration
62
63
64
65 TLSRouteMustHaveCondition time.Duration
66
67
68
69 RouteMustHaveParents time.Duration
70
71
72
73 ManifestFetchTimeout time.Duration
74
75
76
77 MaxTimeToConsistency time.Duration
78
79
80
81
82
83
84 NamespacesMustBeReady time.Duration
85
86
87
88 RequestTimeout time.Duration
89
90
91
92 LatestObservedGenerationSet time.Duration
93
94
95
96
97 RequiredConsecutiveSuccesses int
98 }
99
100
101 func DefaultTimeoutConfig() TimeoutConfig {
102 return TimeoutConfig{
103 CreateTimeout: 60 * time.Second,
104 DeleteTimeout: 10 * time.Second,
105 GetTimeout: 10 * time.Second,
106 GatewayMustHaveAddress: 180 * time.Second,
107 GatewayMustHaveCondition: 180 * time.Second,
108 GatewayStatusMustHaveListeners: 60 * time.Second,
109 GatewayListenersMustHaveCondition: 60 * time.Second,
110 GWCMustBeAccepted: 180 * time.Second,
111 HTTPRouteMustNotHaveParents: 60 * time.Second,
112 HTTPRouteMustHaveCondition: 60 * time.Second,
113 TLSRouteMustHaveCondition: 60 * time.Second,
114 RouteMustHaveParents: 60 * time.Second,
115 ManifestFetchTimeout: 10 * time.Second,
116 MaxTimeToConsistency: 30 * time.Second,
117 NamespacesMustBeReady: 300 * time.Second,
118 RequestTimeout: 10 * time.Second,
119 LatestObservedGenerationSet: 60 * time.Second,
120 RequiredConsecutiveSuccesses: 3,
121 }
122 }
123
124 func SetupTimeoutConfig(timeoutConfig *TimeoutConfig) {
125 defaultTimeoutConfig := DefaultTimeoutConfig()
126 if timeoutConfig.CreateTimeout == 0 {
127 timeoutConfig.CreateTimeout = defaultTimeoutConfig.CreateTimeout
128 }
129 if timeoutConfig.DeleteTimeout == 0 {
130 timeoutConfig.DeleteTimeout = defaultTimeoutConfig.DeleteTimeout
131 }
132 if timeoutConfig.GetTimeout == 0 {
133 timeoutConfig.GetTimeout = defaultTimeoutConfig.GetTimeout
134 }
135 if timeoutConfig.GatewayMustHaveAddress == 0 {
136 timeoutConfig.GatewayMustHaveAddress = defaultTimeoutConfig.GatewayMustHaveAddress
137 }
138 if timeoutConfig.GatewayMustHaveCondition == 0 {
139 timeoutConfig.GatewayMustHaveCondition = defaultTimeoutConfig.GatewayMustHaveCondition
140 }
141 if timeoutConfig.GatewayStatusMustHaveListeners == 0 {
142 timeoutConfig.GatewayStatusMustHaveListeners = defaultTimeoutConfig.GatewayStatusMustHaveListeners
143 }
144 if timeoutConfig.GatewayListenersMustHaveCondition == 0 {
145 timeoutConfig.GatewayListenersMustHaveCondition = defaultTimeoutConfig.GatewayListenersMustHaveCondition
146 }
147 if timeoutConfig.GWCMustBeAccepted == 0 {
148 timeoutConfig.GWCMustBeAccepted = defaultTimeoutConfig.GWCMustBeAccepted
149 }
150 if timeoutConfig.HTTPRouteMustNotHaveParents == 0 {
151 timeoutConfig.HTTPRouteMustNotHaveParents = defaultTimeoutConfig.HTTPRouteMustNotHaveParents
152 }
153 if timeoutConfig.HTTPRouteMustHaveCondition == 0 {
154 timeoutConfig.HTTPRouteMustHaveCondition = defaultTimeoutConfig.HTTPRouteMustHaveCondition
155 }
156 if timeoutConfig.RouteMustHaveParents == 0 {
157 timeoutConfig.RouteMustHaveParents = defaultTimeoutConfig.RouteMustHaveParents
158 }
159 if timeoutConfig.ManifestFetchTimeout == 0 {
160 timeoutConfig.ManifestFetchTimeout = defaultTimeoutConfig.ManifestFetchTimeout
161 }
162 if timeoutConfig.MaxTimeToConsistency == 0 {
163 timeoutConfig.MaxTimeToConsistency = defaultTimeoutConfig.MaxTimeToConsistency
164 }
165 if timeoutConfig.NamespacesMustBeReady == 0 {
166 timeoutConfig.NamespacesMustBeReady = defaultTimeoutConfig.NamespacesMustBeReady
167 }
168 if timeoutConfig.RequestTimeout == 0 {
169 timeoutConfig.RequestTimeout = defaultTimeoutConfig.RequestTimeout
170 }
171 if timeoutConfig.LatestObservedGenerationSet == 0 {
172 timeoutConfig.LatestObservedGenerationSet = defaultTimeoutConfig.LatestObservedGenerationSet
173 }
174 if timeoutConfig.TLSRouteMustHaveCondition == 0 {
175 timeoutConfig.TLSRouteMustHaveCondition = defaultTimeoutConfig.TLSRouteMustHaveCondition
176 }
177 }
178
View as plain text