-
Notifications
You must be signed in to change notification settings - Fork 4
/
values.yaml
327 lines (275 loc) · 13.2 KB
/
values.yaml
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
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
# synthetic-pop-controller
controller:
# controller.enabled specifies whether to deploy controller pod, default is true
enabled: true
image:
name: "synthetic-pop-controller"
tag: "1.286.0"
# image.pullPolicy specifies when to pull the image
pullPolicy: "Always"
# controller.redisNamespace specifies the redis namespace if redis is deployed in a different namespace, default is ""
redisNamespace: ""
# Required, controller.location is the PoP configuration, format: "label; displayLabel; country; city; latitude; longitude; description"
# label is part of the location identifier, it can not be updated after PoP is deployment, but displayLabel can be changed freely
# Example: "MyPoP;My PoP;China;Beijing;39.54;116.23;This is a testing PoP"
location: ""
# Required, controller.instanaKey is Instana agent key, the key can be found by clicking on Deploy a PoP within the Instana Synthetic Monitoring user interface page.
# If there are multiple backends and each backend requires different key, use semicolon to separate multiple keys, e.g. "anAgentKey;anotherAgentKey"
# Either instanaKey or instanaKeySecret must be provided
instanaKey: ""
# The name of secret which stores the Instana agent key string, the secret must have a field called "instana-key"
instanaKeySecret: ""
# Required, controller.instanaSyntheticEndpoint is the Instana backend URL, e.g. "https://synthetics-pink-saas.instana.rocks"
# This value can be found by clicking on Deploy a PoP within the Instana Synthetic Monitoring user interface page.
# If there are multiple backends, use semicolon to separate, e.g. "https://synthetics-pink-saas.instana.rocks;https://synthetics-blue-saas.instana.rocks"
instanaSyntheticEndpoint: ""
# controller.capabilities defines the playback capabilities for this PoP
# Full capabilities: syntheticType=WebpageAction,WebpageScript,HTTPAction,HTTPScript,BrowserScript,DNSAction,SSLCertificate;browserType=firefox,chrome
# Current release only supports syntheticType=WebpageAction,WebpageScript,HTTPAction,HTTPScript,BrowserScript,SSLCertificate
# API Simple test type: HTTPAction, API Script test type: HTTPScript
# Browser Script test type: BrowserScript, Webpage Simple test type: WebpageAction and Webpage Script test type: WebpageScript
capabilities: "syntheticType=WebpageAction,WebpageScript,HTTPAction,HTTPScript,BrowserScript,SSLCertificate;browserType=firefox,chrome"
# Optionally, controller.clusterName needs to be set with the name of the Kubernetes cluster that is to be displayed in Instana.
# Set this value when Instana agent is installed to monitor this PoP.
clusterName: ""
# custom tags for this location, format is "tag1=value1;tag2=value2"
customProperties: ""
# The max thread pool size for publishing result messages into Ingress service in parallel, default is 5;
# The value is recommended to set with equal or greater than 5, users can increase this value to accelerate the publishing for high workload, e.g, 10 or 20
publishAARThreadPoolSize: 5
# The max thread pool size for scheduling tests in PoP controller, default is 2;
# The value is recommended to set with equal or greater than 2.
# Users can increase this value when scheduling tests enabled user credentials for high workload, e.g, 10
scheduleTestMaxPoolSize: 2
# The expiry time in Redis key for user credentials (seconds), default is 60;
# For each test run, if user creds are not picked up by playback engines from Redis after expiry time, they will be expired and removed automatically and the test run will also be skipped
credExpireTime: 60
# controller.traceLevel is the tracing level, value can be ALL, TRACE, DEBUG, INFO, WARN and ERROR
traceLevel: "INFO"
# nodeSelector and taintSelects are used to assign pop controller pod to a particular node to avoid host change for PoP sensor
# the host change for PoP sensor can lead to monitoring data loss in the PoP monitoring dashboard
# to assign pop controller pod to a particular node
# 1. add node label by command "kubectl label nodes <yournode> scheduler=synthetic-pop-controller"
# 2. enable nodeSelector by setting controller.nodeSelector.enabled to true
# to assign only pop controller pod to a particular node and other pods not to that node
# 1. add node taint by command "kubectl taint nodes <yournode> toleration=synthetic-pop-controller:PreferNoSchedule"
# 2. enable taintSelector by setting controller.taintSelector.enabled to true
nodeSelector:
enabled: false
nodeLabel:
key: "scheduler"
value: "synthetic-pop-controller"
taintSelector:
enabled: false
nodeTaint:
key: "toleration"
value: "synthetic-pop-controller"
## Default Container resource requests and limits
## ref: https://kubernetes.io/docs/user-guide/compute-resources/
resources:
requests:
cpu: 100m
memory: 200Mi
limits:
cpu: 300m
memory: 300Mi
# synthetic-pop-http playback engine
http:
# http.enabled specifies whether to deploy the synthetic-pop-http or not
enabled: true
image:
name: "synthetic-playback-http"
# tag is the tag name of the container image
tag: "1.286.0"
# image.pullPolicy specifies when to pull the image.
pullPolicy: "Always"
# http.replicas specifies the synthetic-pop-http pod instance number
replicas: 1
# http.traceLevel is the tracing level, value can be ALL|TRACE|DEBUG|INFO|WARN|ERROR|FATAL|MARK
traceLevel: "INFO"
# http.maxTimeout (minutes) is the default timeout value of synthetic-pop-http playback engine
maxTimeout: 1
## Default Container resource requests and limits
## ref: https://kubernetes.io/docs/user-guide/compute-resources/
resources:
requests:
cpu: 200m
memory: 200Mi
limits:
cpu: 300m
memory: 500Mi
# synthetic-pop-javascript playback engine
javascript:
# javascript.enabled specifies whether to deploy the synthetic-pop-javascript or not
enabled: true
image:
name: "synthetic-playback-javascript"
# image.tag is the tag name of the container image
tag: "1.286.0"
# image.pullPolicy specifies when to pull the image container.
pullPolicy: "Always"
# javascript.replicas specifies the synthetic-pop-javascript pod instance number
replicas: 1
# javascript.traceLevel is the tracing level, value can be ALL|TRACE|DEBUG|INFO|WARN|ERROR|FATAL|MARK
traceLevel: "INFO"
# javascript.maxTimeout (minutes) is the default timeout value of synthetic-pop-javascript playback engine
maxTimeout: 5
# javascript.maxConcurrentTests is the number how many tests can be executed by javascript playback engine simultaneously at one time
maxConcurrentTests: 3
## Default Container resource requests and limits
## ref: https://kubernetes.io/docs/user-guide/compute-resources/
resources:
requests:
cpu: 600m
memory: 200Mi
limits:
cpu: 800m
memory: 300Mi
# synthetic-pop-browserscript playback engine
browserscript:
# browserscript.enabled specifies whether to deploy the synthetic-pop-browserscript or not
enabled: true
image:
name: "synthetic-playback-browserscript"
# image.tag is the tag name of the container image;
tag: "1.286.0"
# image.pullPolicy specifies when to pull the image.
pullPolicy: "Always"
# browserscript.replicas specifies the synthetic-pop-browserscript pod instance number
replicas: 1
# browserscript.traceLevel is the tracing level, value can be TRACE, DEBUG, INFO, WARN and ERROR
traceLevel: "INFO"
# browserscript.maxTimeout (minutes) is the default timeout value of synthetic-pop-browserscript playback engine
maxTimeout: 5
# browserscript.maxConcurrentTests is the number how many tests can be executed by browserscript playback engine simultaneously at one time
maxConcurrentTests: 3
# Default blocking list. Host names in the property separated by semicolon ";" will be added to deny list.
# www.google-analytics.com and googleads.g.doubleclick.net will be blocked by default.
# Allows using wildcards to match the URL to be blocked e.g. *.png or *.s81c.com
defaultDenyList: "www.google-analytics.com;googleads.g.doubleclick.net"
## Default Container resource requests and limits
## ref: https://kubernetes.io/docs/user-guide/compute-resources/
resources:
requests:
cpu: 2
memory: 2Gi
limits:
cpu: 4
memory: 3Gi
## Other env variables needed to set in the synthetic-pop-browserscript playback engine pod
env:
# Allows to select specific chrome driver in the self-hosted air-gaped pop. Ex - 102.0.5005.61
- name: SE_DRIVER_VERSION
value: ""
# synthetic-pop-ism playback engine
ism:
# ism.enabled specifies whether to deploy the synthetic-pop-ism or not
enabled: true
image:
name: "synthetic-playback-ism"
# image.tag is the tag name of the container image;
tag: "1.286.0"
# image.pullPolicy specifies when to pull the image container.
pullPolicy: "Always"
# ism.replicas specifies the synthetic-pop-ism pod instance number
replicas: 1
# ism.traceLevel is the tracing level, value can be ALL|TRACE|DEBUG|INFO|WARN|ERROR|FATAL|MARK
traceLevel: "INFO"
# ism.maxTimeout is the default timeout value for different test type in synthetic-pop-ism playback engine
maxTimeout:
DNSAction: 10s
SSLCertificate: 30s
## Default Container resource requests and limits
## ref: https://kubernetes.io/docs/user-guide/compute-resources/
resources:
requests:
cpu: 200m
memory: 200Mi
limits:
cpu: 300m
memory: 500Mi
# redis
redis:
# redis.enabled specifies whether to deploy redis pod, default is true.
enabled: true
image:
name: "redis"
tag: "1.286.0"
# image.pullPolicy specifies when to pull the image container.
pullPolicy: "Always"
# If tls.enabled is false, either password or passwordSecret must be provided must be provided for Redis server authentication
# Redis password string: password length should be greater than or equal to 10
password: ""
# The name of secret which stores Redis password string, the secret must have a field called "redis-password"
passwordSecret: ""
# Redis log level from high to low: DEBUG, NOTICE, VERBOSE, WARNING
traceLevel: "NOTICE"
tls:
# To enable redis TLS or not
enabled: false
# If tls.enabled is true, a secret of kubernetes.io/tls type must be specified.
# secretName is the name of the secret that has the relevant files, it must have three fields: tls.key, tls.crt and ca.crt.
secretName: ""
## Default Container resource requests and limits
## ref: https://kubernetes.io/docs/user-guide/compute-resources/
resources:
requests:
cpu: 200m
memory: 100Mi
limits:
cpu: 300m
memory: 200Mi
#proxy specifies the proxy configuration for Synthetic PoP to connect to Instana backend server
proxy:
# proxy.popProxyProtocol: the protocol (http | socks) for the proxy server
popProxyProtocol: ""
# proxy.popProxyServer: the proxy server for synthetic PoP to connect to the backend server, format: "ipaddress:port"
popProxyServer: ""
# proxy.popProxyUserPass: the username and password for the proxy server authentication,
# Either popProxyUserPass or popProxyUserPassSecret can be set
# Proxy username and password string, format: "username:password"
popProxyUserPass: ""
# The name of secret which stores proxy username and password(format: "username:password"), the secret must have a field called "proxy-user-pass"
popProxyUserPassSecret: ""
serviceAccount:
name: synthetic-pop-serviceaccount
create: true
# Apply RuntimeDefault seccomp profile, recommend changing to true for ocp > = 4.11, k8s >= 1.19
seccompDefault: false
# To enable/disable Network Policy installation
networkPolicyEnabled: true
# Apply Network Policy to playback engines
# See more about network policy in https://kubernetes.io/docs/concepts/services-networking/network-policies/
playbackEngineNetworkPolicy:
enabled: false
egress:
- to:
- ipBlock:
# allow access to ip range: 1.0.0.0-254.255.255.255
cidr: 0.0.0.0/0
# block access to ip range: 10.0.0.0-10.0.0.255
# block access to metadata IP address for all cloud providers: 169.254.169.254
except:
- 10.0.0.0/24
- 169.254.169.254/32
# support KEDA for auto-scaling horizontally
keda:
enabled: false
namespace: keda
# Instana AutoTrace webhook is off by default.
# Enabling it is not recommended due to potential conflicts and issues with AutoTrace.
autotraceWebhookEnabled: false
# Image common path, for instana production, it is "containers.instana.io/synthetic"
imagePath: "containers.instana.io/synthetic"
# Required, either downloadKey or downloadSecret must be provided to pull images
# The string of download key, this value can be found by clicking on "Deploy a PoP" within the Instana Synthetic Monitoring user interface page.
downloadKey: ""
# The name of secret of kubernetes.io/dockerconfigjson type used to pull images from the image registry.
downloadSecret : "instana-io"
### TESTING values if you want to test the PoP from an ARM Macbook (successfully tested on M1) ###
# Change it to false for testing.
# ReadOnlyRootFileSystem
roRootFileSystem: true
# Select the Point Of Presence Architecture, default: amd64
# Change it to arm64 for testing.
popArch: "amd64"