-
Notifications
You must be signed in to change notification settings - Fork 202
/
annotator_config.go
303 lines (260 loc) · 7.53 KB
/
annotator_config.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
package kubernetes
// AnnotateOptions configure the injection behavior.
type AnnotateOptions struct {
appID *string
metricsEnabled *bool
metricsPort *int
appPort *int
config *string
appProtocol *string
profileEnabled *bool
logLevel *string
apiTokenSecret *string
appTokenSecret *string
logAsJSON *bool
appMaxConcurrency *int
debugEnabled *bool
debugPort *int
env *string
cpuLimit *string
memoryLimit *string
cpuRequest *string
memoryRequest *string
listenAddresses *string
livenessProbeDelay *int
livenessProbeTimeout *int
livenessProbePeriod *int
livenessProbeThreshold *int
readinessProbeDelay *int
readinessProbeTimeout *int
readinessProbePeriod *int
readinessProbeThreshold *int
image *string
appSSL *bool
maxRequestBodySize *int
readBufferSize *int
httpStreamRequestBody *bool
gracefulShutdownSeconds *int
enableAPILogging *bool
unixDomainSocketPath *string
volumeMountsReadOnly *string
volumeMountsReadWrite *string
disableBuiltinK8sSecretStore *bool
placementHostAddress *string
}
type AnnoteOption func(*AnnotateOptions)
func NewAnnotateOptions(opts ...AnnoteOption) AnnotateOptions {
config := AnnotateOptions{} //nolint:exhaustivestruct
for _, opt := range opts {
opt(&config)
}
return config
}
func WithAppID(appID string) AnnoteOption {
return func(config *AnnotateOptions) {
config.appID = &appID
}
}
func WithMetricsEnabled() AnnoteOption {
return func(config *AnnotateOptions) {
enabled := true
config.metricsEnabled = &enabled
}
}
func WithMetricsPort(port int) AnnoteOption {
return func(config *AnnotateOptions) {
config.metricsPort = &port
}
}
func WithAppPort(port int) AnnoteOption {
return func(config *AnnotateOptions) {
config.appPort = &port
}
}
func WithConfig(cfg string) AnnoteOption {
return func(config *AnnotateOptions) {
config.config = &cfg
}
}
func WithAppProtocol(protocol string) AnnoteOption {
return func(config *AnnotateOptions) {
config.appProtocol = &protocol
}
}
func WithProfileEnabled() AnnoteOption {
return func(config *AnnotateOptions) {
enabled := true
config.profileEnabled = &enabled
}
}
func WithLogLevel(logLevel string) AnnoteOption {
return func(config *AnnotateOptions) {
config.logLevel = &logLevel
}
}
func WithAPITokenSecret(apiTokenSecret string) AnnoteOption {
return func(config *AnnotateOptions) {
config.apiTokenSecret = &apiTokenSecret
}
}
func WithAppTokenSecret(appTokenSecret string) AnnoteOption {
return func(config *AnnotateOptions) {
config.appTokenSecret = &appTokenSecret
}
}
func WithLogAsJSON() AnnoteOption {
return func(config *AnnotateOptions) {
enabled := true
config.logAsJSON = &enabled
}
}
func WithAppMaxConcurrency(maxConcurrency int) AnnoteOption {
return func(config *AnnotateOptions) {
config.appMaxConcurrency = &maxConcurrency
}
}
func WithDebugEnabled() AnnoteOption {
return func(config *AnnotateOptions) {
enabled := true
config.debugEnabled = &enabled
}
}
func WithDebugPort(debugPort int) AnnoteOption {
return func(config *AnnotateOptions) {
config.debugPort = &debugPort
}
}
func WithEnv(env string) AnnoteOption {
return func(config *AnnotateOptions) {
config.env = &env
}
}
func WithCPULimit(cpuLimit string) AnnoteOption {
return func(config *AnnotateOptions) {
config.cpuLimit = &cpuLimit
}
}
func WithMemoryLimit(memoryLimit string) AnnoteOption {
return func(config *AnnotateOptions) {
config.memoryLimit = &memoryLimit
}
}
func WithCPURequest(cpuRequest string) AnnoteOption {
return func(config *AnnotateOptions) {
config.cpuRequest = &cpuRequest
}
}
func WithMemoryRequest(memoryRequest string) AnnoteOption {
return func(config *AnnotateOptions) {
config.memoryRequest = &memoryRequest
}
}
func WithListenAddresses(listenAddresses string) AnnoteOption {
return func(config *AnnotateOptions) {
config.listenAddresses = &listenAddresses
}
}
func WithLivenessProbeDelay(livenessProbeDelay int) AnnoteOption {
return func(config *AnnotateOptions) {
config.livenessProbeDelay = &livenessProbeDelay
}
}
func WithLivenessProbeTimeout(livenessProbeTimeout int) AnnoteOption {
return func(config *AnnotateOptions) {
config.livenessProbeTimeout = &livenessProbeTimeout
}
}
func WithLivenessProbePeriod(livenessProbePeriod int) AnnoteOption {
return func(config *AnnotateOptions) {
config.livenessProbePeriod = &livenessProbePeriod
}
}
func WithLivenessProbeThreshold(livenessProbeThreshold int) AnnoteOption {
return func(config *AnnotateOptions) {
config.livenessProbeThreshold = &livenessProbeThreshold
}
}
func WithReadinessProbeDelay(readinessProbeDelay int) AnnoteOption {
return func(config *AnnotateOptions) {
config.readinessProbeDelay = &readinessProbeDelay
}
}
func WithReadinessProbeTimeout(readinessProbeTimeout int) AnnoteOption {
return func(config *AnnotateOptions) {
config.readinessProbeTimeout = &readinessProbeTimeout
}
}
func WithReadinessProbePeriod(readinessProbePeriod int) AnnoteOption {
return func(config *AnnotateOptions) {
config.readinessProbePeriod = &readinessProbePeriod
}
}
func WithReadinessProbeThreshold(readinessProbeThreshold int) AnnoteOption {
return func(config *AnnotateOptions) {
config.readinessProbeThreshold = &readinessProbeThreshold
}
}
func WithDaprImage(image string) AnnoteOption {
return func(config *AnnotateOptions) {
config.image = &image
}
}
func WithAppSSL() AnnoteOption {
return func(config *AnnotateOptions) {
enabled := true
config.appSSL = &enabled
}
}
func WithMaxRequestBodySize(maxRequestBodySize int) AnnoteOption {
return func(config *AnnotateOptions) {
config.maxRequestBodySize = &maxRequestBodySize
}
}
func WithReadBufferSize(readBufferSize int) AnnoteOption {
return func(config *AnnotateOptions) {
config.readBufferSize = &readBufferSize
}
}
func WithHTTPStreamRequestBody() AnnoteOption {
return func(config *AnnotateOptions) {
enabled := true
config.httpStreamRequestBody = &enabled
}
}
func WithGracefulShutdownSeconds(gracefulShutdownSeconds int) AnnoteOption {
return func(config *AnnotateOptions) {
config.gracefulShutdownSeconds = &gracefulShutdownSeconds
}
}
func WithEnableAPILogging() AnnoteOption {
return func(config *AnnotateOptions) {
enabled := true
config.enableAPILogging = &enabled
}
}
func WithUnixDomainSocketPath(unixDomainSocketPath string) AnnoteOption {
return func(config *AnnotateOptions) {
config.unixDomainSocketPath = &unixDomainSocketPath
}
}
func WithVolumeMountsReadOnly(volumeMountsReadOnly string) AnnoteOption {
return func(config *AnnotateOptions) {
config.volumeMountsReadOnly = &volumeMountsReadOnly
}
}
func WithVolumeMountsReadWrite(volumeMountsReadWrite string) AnnoteOption {
return func(config *AnnotateOptions) {
config.volumeMountsReadWrite = &volumeMountsReadWrite
}
}
func WithDisableBuiltinK8sSecretStore() AnnoteOption {
return func(config *AnnotateOptions) {
enabled := true
config.disableBuiltinK8sSecretStore = &enabled
}
}
func WithPlacementHostAddress(placementHostAddress string) AnnoteOption {
return func(config *AnnotateOptions) {
config.placementHostAddress = &placementHostAddress
}
}