Enable Istio on IEC type2
[iec.git] / src / foundation / service_mesh / Istio / istio-demo-arm64.yaml
1 apiVersion: v1\r
2 kind: Namespace\r
3 metadata:\r
4   name: istio-system\r
5   labels:\r
6     istio-injection: disabled\r
7 ---\r
8 apiVersion: apiextensions.k8s.io/v1beta1\r
9 kind: CustomResourceDefinition\r
10 metadata:\r
11   name: virtualservices.networking.istio.io\r
12   labels:\r
13     app: istio-pilot\r
14     chart: istio\r
15     heritage: Tiller\r
16     release: istio\r
17   annotations:\r
18     "helm.sh/resource-policy": keep\r
19 spec:\r
20   group: networking.istio.io\r
21   names:\r
22     kind: VirtualService\r
23     listKind: VirtualServiceList\r
24     plural: virtualservices\r
25     singular: virtualservice\r
26     shortNames:\r
27     - vs\r
28     categories:\r
29     - istio-io\r
30     - networking-istio-io\r
31   scope: Namespaced\r
32   version: v1alpha3\r
33   additionalPrinterColumns:\r
34   - JSONPath: .spec.gateways\r
35     description: The names of gateways and sidecars that should apply these routes\r
36     name: Gateways\r
37     type: string\r
38   - JSONPath: .spec.hosts\r
39     description: The destination hosts to which traffic is being sent\r
40     name: Hosts\r
41     type: string\r
42   - JSONPath: .metadata.creationTimestamp\r
43     description: |-\r
44       CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.\r
45 \r
46       Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata\r
47     name: Age\r
48     type: date\r
49 ---\r
50 apiVersion: apiextensions.k8s.io/v1beta1\r
51 kind: CustomResourceDefinition\r
52 metadata:\r
53   name: destinationrules.networking.istio.io\r
54   labels:\r
55     app: istio-pilot\r
56     chart: istio\r
57     heritage: Tiller\r
58     release: istio\r
59   annotations:\r
60     "helm.sh/resource-policy": keep\r
61 spec:\r
62   group: networking.istio.io\r
63   names:\r
64     kind: DestinationRule\r
65     listKind: DestinationRuleList\r
66     plural: destinationrules\r
67     singular: destinationrule\r
68     shortNames:\r
69     - dr\r
70     categories:\r
71     - istio-io\r
72     - networking-istio-io\r
73   scope: Namespaced\r
74   version: v1alpha3\r
75   additionalPrinterColumns:\r
76   - JSONPath: .spec.host\r
77     description: The name of a service from the service registry\r
78     name: Host\r
79     type: string\r
80   - JSONPath: .metadata.creationTimestamp\r
81     description: |-\r
82       CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.\r
83 \r
84       Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata\r
85     name: Age\r
86     type: date\r
87 ---\r
88 apiVersion: apiextensions.k8s.io/v1beta1\r
89 kind: CustomResourceDefinition\r
90 metadata:\r
91   name: serviceentries.networking.istio.io\r
92   labels:\r
93     app: istio-pilot\r
94     chart: istio\r
95     heritage: Tiller\r
96     release: istio\r
97   annotations:\r
98     "helm.sh/resource-policy": keep\r
99 spec:\r
100   group: networking.istio.io\r
101   names:\r
102     kind: ServiceEntry\r
103     listKind: ServiceEntryList\r
104     plural: serviceentries\r
105     singular: serviceentry\r
106     shortNames:\r
107     - se\r
108     categories:\r
109     - istio-io\r
110     - networking-istio-io\r
111   scope: Namespaced\r
112   version: v1alpha3\r
113   additionalPrinterColumns:\r
114   - JSONPath: .spec.hosts\r
115     description: The hosts associated with the ServiceEntry\r
116     name: Hosts\r
117     type: string\r
118   - JSONPath: .spec.location\r
119     description: Whether the service is external to the mesh or part of the mesh (MESH_EXTERNAL or MESH_INTERNAL)\r
120     name: Location\r
121     type: string\r
122   - JSONPath: .spec.resolution\r
123     description: Service discovery mode for the hosts (NONE, STATIC, or DNS)\r
124     name: Resolution\r
125     type: string\r
126   - JSONPath: .metadata.creationTimestamp\r
127     description: |-\r
128       CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.\r
129 \r
130       Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata\r
131     name: Age\r
132     type: date\r
133 ---\r
134 apiVersion: apiextensions.k8s.io/v1beta1\r
135 kind: CustomResourceDefinition\r
136 metadata:\r
137   name: gateways.networking.istio.io\r
138   labels:\r
139     app: istio-pilot\r
140     chart: istio\r
141     heritage: Tiller\r
142     release: istio\r
143   annotations:\r
144     "helm.sh/resource-policy": keep\r
145 spec:\r
146   group: networking.istio.io\r
147   names:\r
148     kind: Gateway\r
149     plural: gateways\r
150     singular: gateway\r
151     shortNames:\r
152     - gw\r
153     categories:\r
154     - istio-io\r
155     - networking-istio-io\r
156   scope: Namespaced\r
157   version: v1alpha3\r
158 ---\r
159 apiVersion: apiextensions.k8s.io/v1beta1\r
160 kind: CustomResourceDefinition\r
161 metadata:\r
162   name: envoyfilters.networking.istio.io\r
163   labels:\r
164     app: istio-pilot\r
165     chart: istio\r
166     heritage: Tiller\r
167     release: istio\r
168   annotations:\r
169     "helm.sh/resource-policy": keep\r
170 spec:\r
171   group: networking.istio.io\r
172   names:\r
173     kind: EnvoyFilter\r
174     plural: envoyfilters\r
175     singular: envoyfilter\r
176     categories:\r
177     - istio-io\r
178     - networking-istio-io\r
179   scope: Namespaced\r
180   version: v1alpha3\r
181 ---\r
182 kind: CustomResourceDefinition\r
183 apiVersion: apiextensions.k8s.io/v1beta1\r
184 metadata:\r
185   name: clusterrbacconfigs.rbac.istio.io\r
186   labels:\r
187     app: istio-pilot\r
188     istio: rbac\r
189     heritage: Tiller\r
190     release: istio\r
191   annotations:\r
192     "helm.sh/resource-policy": keep\r
193 spec:\r
194   group: rbac.istio.io\r
195   names:\r
196     kind: ClusterRbacConfig\r
197     plural: clusterrbacconfigs\r
198     singular: clusterrbacconfig\r
199     categories:\r
200     - istio-io\r
201     - rbac-istio-io\r
202   scope: Cluster\r
203   version: v1alpha1\r
204 ---\r
205 kind: CustomResourceDefinition\r
206 apiVersion: apiextensions.k8s.io/v1beta1\r
207 metadata:\r
208   name: policies.authentication.istio.io\r
209   labels:\r
210     app: istio-citadel\r
211     chart: istio\r
212     heritage: Tiller\r
213     release: istio\r
214   annotations:\r
215     "helm.sh/resource-policy": keep\r
216 spec:\r
217   group: authentication.istio.io\r
218   names:\r
219     kind: Policy\r
220     plural: policies\r
221     singular: policy\r
222     categories:\r
223     - istio-io\r
224     - authentication-istio-io\r
225   scope: Namespaced\r
226   version: v1alpha1\r
227 ---\r
228 kind: CustomResourceDefinition\r
229 apiVersion: apiextensions.k8s.io/v1beta1\r
230 metadata:\r
231   name: meshpolicies.authentication.istio.io\r
232   labels:\r
233     app: istio-citadel\r
234     chart: istio\r
235     heritage: Tiller\r
236     release: istio\r
237   annotations:\r
238     "helm.sh/resource-policy": keep\r
239 spec:\r
240   group: authentication.istio.io\r
241   names:\r
242     kind: MeshPolicy\r
243     listKind: MeshPolicyList\r
244     plural: meshpolicies\r
245     singular: meshpolicy\r
246     categories:\r
247     - istio-io\r
248     - authentication-istio-io\r
249   scope: Cluster\r
250   version: v1alpha1\r
251 ---\r
252 kind: CustomResourceDefinition\r
253 apiVersion: apiextensions.k8s.io/v1beta1\r
254 metadata:\r
255   name: httpapispecbindings.config.istio.io\r
256   labels:\r
257     app: istio-mixer\r
258     chart: istio\r
259     heritage: Tiller\r
260     release: istio\r
261   annotations:\r
262     "helm.sh/resource-policy": keep\r
263 spec:\r
264   group: config.istio.io\r
265   names:\r
266     kind: HTTPAPISpecBinding\r
267     plural: httpapispecbindings\r
268     singular: httpapispecbinding\r
269     categories:\r
270     - istio-io\r
271     - apim-istio-io\r
272   scope: Namespaced\r
273   version: v1alpha2\r
274 ---\r
275 kind: CustomResourceDefinition\r
276 apiVersion: apiextensions.k8s.io/v1beta1\r
277 metadata:\r
278   name: httpapispecs.config.istio.io\r
279   labels:\r
280     app: istio-mixer\r
281     chart: istio\r
282     heritage: Tiller\r
283     release: istio\r
284   annotations:\r
285     "helm.sh/resource-policy": keep\r
286 spec:\r
287   group: config.istio.io\r
288   names:\r
289     kind: HTTPAPISpec\r
290     plural: httpapispecs\r
291     singular: httpapispec\r
292     categories:\r
293     - istio-io\r
294     - apim-istio-io\r
295   scope: Namespaced\r
296   version: v1alpha2\r
297 ---\r
298 kind: CustomResourceDefinition\r
299 apiVersion: apiextensions.k8s.io/v1beta1\r
300 metadata:\r
301   name: quotaspecbindings.config.istio.io\r
302   labels:\r
303     app: istio-mixer\r
304     chart: istio\r
305     heritage: Tiller\r
306     release: istio\r
307   annotations:\r
308     "helm.sh/resource-policy": keep\r
309 spec:\r
310   group: config.istio.io\r
311   names:\r
312     kind: QuotaSpecBinding\r
313     plural: quotaspecbindings\r
314     singular: quotaspecbinding\r
315     categories:\r
316     - istio-io\r
317     - apim-istio-io\r
318   scope: Namespaced\r
319   version: v1alpha2\r
320 ---\r
321 kind: CustomResourceDefinition\r
322 apiVersion: apiextensions.k8s.io/v1beta1\r
323 metadata:\r
324   name: quotaspecs.config.istio.io\r
325   labels:\r
326     app: istio-mixer\r
327     chart: istio\r
328     heritage: Tiller\r
329     release: istio\r
330   annotations:\r
331     "helm.sh/resource-policy": keep\r
332 spec:\r
333   group: config.istio.io\r
334   names:\r
335     kind: QuotaSpec\r
336     plural: quotaspecs\r
337     singular: quotaspec\r
338     categories:\r
339     - istio-io\r
340     - apim-istio-io\r
341   scope: Namespaced\r
342   version: v1alpha2\r
343 ---\r
344 kind: CustomResourceDefinition\r
345 apiVersion: apiextensions.k8s.io/v1beta1\r
346 metadata:\r
347   name: rules.config.istio.io\r
348   labels:\r
349     app: mixer\r
350     package: istio.io.mixer\r
351     istio: core\r
352     chart: istio\r
353     heritage: Tiller\r
354     release: istio\r
355   annotations:\r
356     "helm.sh/resource-policy": keep\r
357 spec:\r
358   group: config.istio.io\r
359   names:\r
360     kind: rule\r
361     plural: rules\r
362     singular: rule\r
363     categories:\r
364     - istio-io\r
365     - policy-istio-io\r
366   scope: Namespaced\r
367   version: v1alpha2\r
368 ---\r
369 kind: CustomResourceDefinition\r
370 apiVersion: apiextensions.k8s.io/v1beta1\r
371 metadata:\r
372   name: attributemanifests.config.istio.io\r
373   labels:\r
374     app: mixer\r
375     package: istio.io.mixer\r
376     istio: core\r
377     chart: istio\r
378     heritage: Tiller\r
379     release: istio\r
380   annotations:\r
381     "helm.sh/resource-policy": keep\r
382 spec:\r
383   group: config.istio.io\r
384   names:\r
385     kind: attributemanifest\r
386     plural: attributemanifests\r
387     singular: attributemanifest\r
388     categories:\r
389     - istio-io\r
390     - policy-istio-io\r
391   scope: Namespaced\r
392   version: v1alpha2\r
393 ---\r
394 kind: CustomResourceDefinition\r
395 apiVersion: apiextensions.k8s.io/v1beta1\r
396 metadata:\r
397   name: rbacconfigs.rbac.istio.io\r
398   labels:\r
399     app: mixer\r
400     package: istio.io.mixer\r
401     istio: rbac\r
402     chart: istio\r
403     heritage: Tiller\r
404     release: istio\r
405   annotations:\r
406     "helm.sh/resource-policy": keep\r
407 spec:\r
408   group: rbac.istio.io\r
409   names:\r
410     kind: RbacConfig\r
411     plural: rbacconfigs\r
412     singular: rbacconfig\r
413     categories:\r
414     - istio-io\r
415     - rbac-istio-io\r
416   scope: Namespaced\r
417   version: v1alpha1\r
418 ---\r
419 kind: CustomResourceDefinition\r
420 apiVersion: apiextensions.k8s.io/v1beta1\r
421 metadata:\r
422   name: serviceroles.rbac.istio.io\r
423   labels:\r
424     app: mixer\r
425     package: istio.io.mixer\r
426     istio: rbac\r
427     chart: istio\r
428     heritage: Tiller\r
429     release: istio\r
430   annotations:\r
431     "helm.sh/resource-policy": keep\r
432 spec:\r
433   group: rbac.istio.io\r
434   names:\r
435     kind: ServiceRole\r
436     plural: serviceroles\r
437     singular: servicerole\r
438     categories:\r
439     - istio-io\r
440     - rbac-istio-io\r
441   scope: Namespaced\r
442   version: v1alpha1\r
443 ---\r
444 kind: CustomResourceDefinition\r
445 apiVersion: apiextensions.k8s.io/v1beta1\r
446 metadata:\r
447   name: servicerolebindings.rbac.istio.io\r
448   labels:\r
449     app: mixer\r
450     package: istio.io.mixer\r
451     istio: rbac\r
452     chart: istio\r
453     heritage: Tiller\r
454     release: istio\r
455   annotations:\r
456     "helm.sh/resource-policy": keep\r
457 spec:\r
458   group: rbac.istio.io\r
459   names:\r
460     kind: ServiceRoleBinding\r
461     plural: servicerolebindings\r
462     singular: servicerolebinding\r
463     categories:\r
464     - istio-io\r
465     - rbac-istio-io\r
466   scope: Namespaced\r
467   version: v1alpha1\r
468   additionalPrinterColumns:\r
469   - JSONPath: .spec.roleRef.name\r
470     description: The name of the ServiceRole object being referenced\r
471     name: Reference\r
472     type: string\r
473   - JSONPath: .metadata.creationTimestamp\r
474     description: |-\r
475       CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.\r
476 \r
477       Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata\r
478     name: Age\r
479     type: date\r
480 ---\r
481 kind: CustomResourceDefinition\r
482 apiVersion: apiextensions.k8s.io/v1beta1\r
483 metadata:\r
484   name: adapters.config.istio.io\r
485   labels:\r
486     app: mixer\r
487     package: adapter\r
488     istio: mixer-adapter\r
489     chart: istio\r
490     heritage: Tiller\r
491     release: istio\r
492   annotations:\r
493     "helm.sh/resource-policy": keep\r
494 spec:\r
495   group: config.istio.io\r
496   names:\r
497     kind: adapter\r
498     plural: adapters\r
499     singular: adapter\r
500     categories:\r
501     - istio-io\r
502     - policy-istio-io\r
503   scope: Namespaced\r
504   version: v1alpha2\r
505 ---\r
506 kind: CustomResourceDefinition\r
507 apiVersion: apiextensions.k8s.io/v1beta1\r
508 metadata:\r
509   name: instances.config.istio.io\r
510   labels:\r
511     app: mixer\r
512     package: instance\r
513     istio: mixer-instance\r
514     chart: istio\r
515     heritage: Tiller\r
516     release: istio\r
517   annotations:\r
518     "helm.sh/resource-policy": keep\r
519 spec:\r
520   group: config.istio.io\r
521   names:\r
522     kind: instance\r
523     plural: instances\r
524     singular: instance\r
525     categories:\r
526     - istio-io\r
527     - policy-istio-io\r
528   scope: Namespaced\r
529   version: v1alpha2\r
530 ---\r
531 kind: CustomResourceDefinition\r
532 apiVersion: apiextensions.k8s.io/v1beta1\r
533 metadata:\r
534   name: templates.config.istio.io\r
535   labels:\r
536     app: mixer\r
537     package: template\r
538     istio: mixer-template\r
539     chart: istio\r
540     heritage: Tiller\r
541     release: istio\r
542   annotations:\r
543     "helm.sh/resource-policy": keep\r
544 spec:\r
545   group: config.istio.io\r
546   names:\r
547     kind: template\r
548     plural: templates\r
549     singular: template\r
550     categories:\r
551     - istio-io\r
552     - policy-istio-io\r
553   scope: Namespaced\r
554   version: v1alpha2\r
555 ---\r
556 kind: CustomResourceDefinition\r
557 apiVersion: apiextensions.k8s.io/v1beta1\r
558 metadata:\r
559   name: handlers.config.istio.io\r
560   labels:\r
561     app: mixer\r
562     package: handler\r
563     istio: mixer-handler\r
564     chart: istio\r
565     heritage: Tiller\r
566     release: istio\r
567   annotations:\r
568     "helm.sh/resource-policy": keep\r
569 spec:\r
570   group: config.istio.io\r
571   names:\r
572     kind: handler\r
573     plural: handlers\r
574     singular: handler\r
575     categories:\r
576     - istio-io\r
577     - policy-istio-io\r
578   scope: Namespaced\r
579   version: v1alpha2\r
580 ---\r
581 apiVersion: apiextensions.k8s.io/v1beta1\r
582 kind: CustomResourceDefinition\r
583 metadata:\r
584   name: sidecars.networking.istio.io\r
585   labels:\r
586     app: istio-pilot\r
587     chart: istio\r
588     heritage: Tiller\r
589     release: istio\r
590   annotations:\r
591     "helm.sh/resource-policy": keep\r
592 spec:\r
593   group: networking.istio.io\r
594   names:\r
595     kind: Sidecar\r
596     plural: sidecars\r
597     singular: sidecar\r
598     categories:\r
599     - istio-io\r
600     - networking-istio-io\r
601   scope: Namespaced\r
602   version: v1alpha3\r
603 ---\r
604 kind: CustomResourceDefinition\r
605 apiVersion: apiextensions.k8s.io/v1beta1\r
606 metadata:\r
607   name: authorizationpolicies.rbac.istio.io\r
608   labels:\r
609     app: istio-pilot\r
610     istio: rbac\r
611     heritage: Tiller\r
612     release: istio\r
613 spec:\r
614   group: rbac.istio.io\r
615   names:\r
616     kind: AuthorizationPolicy\r
617     plural: authorizationpolicies\r
618     singular: authorizationpolicy\r
619     categories:\r
620       - istio-io\r
621       - rbac-istio-io\r
622   scope: Namespaced\r
623   version: v1alpha1\r
624 ---\r
625 apiVersion: apiextensions.k8s.io/v1beta1\r
626 kind: CustomResourceDefinition\r
627 metadata:\r
628   name: clusterissuers.certmanager.k8s.io\r
629   labels:\r
630     app: certmanager\r
631     chart: certmanager\r
632     heritage: Tiller\r
633     release: istio\r
634   annotations:\r
635     "helm.sh/resource-policy": keep\r
636 spec:\r
637   group: certmanager.k8s.io\r
638   version: v1alpha1\r
639   names:\r
640     kind: ClusterIssuer\r
641     plural: clusterissuers\r
642   scope: Cluster\r
643 ---\r
644 apiVersion: apiextensions.k8s.io/v1beta1\r
645 kind: CustomResourceDefinition\r
646 metadata:\r
647   name: issuers.certmanager.k8s.io\r
648   labels:\r
649     app: certmanager\r
650     chart: certmanager\r
651     heritage: Tiller\r
652     release: istio\r
653   annotations:\r
654     "helm.sh/resource-policy": keep\r
655 spec:\r
656   group: certmanager.k8s.io\r
657   version: v1alpha1\r
658   names:\r
659     kind: Issuer\r
660     plural: issuers\r
661   scope: Namespaced\r
662 ---\r
663 apiVersion: apiextensions.k8s.io/v1beta1\r
664 kind: CustomResourceDefinition\r
665 metadata:\r
666   name: certificates.certmanager.k8s.io\r
667   labels:\r
668     app: certmanager\r
669     chart: certmanager\r
670     heritage: Tiller\r
671     release: istio\r
672   annotations:\r
673     "helm.sh/resource-policy": keep\r
674 spec:\r
675   additionalPrinterColumns:\r
676     - JSONPath: .status.conditions[?(@.type=="Ready")].status\r
677       name: Ready\r
678       type: string\r
679     - JSONPath: .spec.secretName\r
680       name: Secret\r
681       type: string\r
682     - JSONPath: .spec.issuerRef.name\r
683       name: Issuer\r
684       type: string\r
685       priority: 1\r
686     - JSONPath: .status.conditions[?(@.type=="Ready")].message\r
687       name: Status\r
688       type: string\r
689       priority: 1\r
690     - JSONPath: .metadata.creationTimestamp\r
691       description: |-\r
692         CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.\r
693 \r
694         Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata\r
695       name: Age\r
696       type: date\r
697   group: certmanager.k8s.io\r
698   version: v1alpha1\r
699   scope: Namespaced\r
700   names:\r
701     kind: Certificate\r
702     plural: certificates\r
703     shortNames:\r
704       - cert\r
705       - certs\r
706 ---\r
707 apiVersion: apiextensions.k8s.io/v1beta1\r
708 kind: CustomResourceDefinition\r
709 metadata:\r
710   name: orders.certmanager.k8s.io\r
711   labels:\r
712     app: certmanager\r
713     chart: certmanager\r
714     heritage: Tiller\r
715     release: istio\r
716   annotations:\r
717     "helm.sh/resource-policy": keep\r
718 spec:\r
719   additionalPrinterColumns:\r
720     - JSONPath: .status.state\r
721       name: State\r
722       type: string\r
723     - JSONPath: .spec.issuerRef.name\r
724       name: Issuer\r
725       type: string\r
726       priority: 1\r
727     - JSONPath: .status.reason\r
728       name: Reason\r
729       type: string\r
730       priority: 1\r
731     - JSONPath: .metadata.creationTimestamp\r
732       description: |-\r
733         CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.\r
734 \r
735         Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata\r
736       name: Age\r
737       type: date\r
738   group: certmanager.k8s.io\r
739   version: v1alpha1\r
740   names:\r
741     kind: Order\r
742     plural: orders\r
743   scope: Namespaced\r
744 ---\r
745 apiVersion: apiextensions.k8s.io/v1beta1\r
746 kind: CustomResourceDefinition\r
747 metadata:\r
748   name: challenges.certmanager.k8s.io\r
749   labels:\r
750     app: certmanager\r
751     chart: certmanager\r
752     heritage: Tiller\r
753     release: istio\r
754   annotations:\r
755     "helm.sh/resource-policy": keep\r
756 spec:\r
757   additionalPrinterColumns:\r
758     - JSONPath: .status.state\r
759       name: State\r
760       type: string\r
761     - JSONPath: .spec.dnsName\r
762       name: Domain\r
763       type: string\r
764     - JSONPath: .status.reason\r
765       name: Reason\r
766       type: string\r
767     - JSONPath: .metadata.creationTimestamp\r
768       description: |-\r
769         CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.\r
770 \r
771         Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata\r
772       name: Age\r
773       type: date\r
774   group: certmanager.k8s.io\r
775   version: v1alpha1\r
776   names:\r
777     kind: Challenge\r
778     plural: challenges\r
779   scope: Namespaced\r
780 ---\r
781 ---\r
782 # Source: istio/charts/kiali/templates/demosecret.yaml\r
783 \r
784 apiVersion: v1\r
785 kind: Secret\r
786 metadata:\r
787   name: kiali\r
788   namespace: istio-system\r
789   labels:\r
790     app: kiali\r
791     chart: kiali\r
792     heritage: Tiller\r
793     release: istio\r
794 type: Opaque\r
795 data:\r
796   username: YWRtaW4=   # admin\r
797   passphrase: YWRtaW4= # admin\r
798 \r
799 ---\r
800 # Source: istio/charts/galley/templates/configmap.yaml\r
801 apiVersion: v1\r
802 kind: ConfigMap\r
803 metadata:\r
804   name: istio-galley-configuration\r
805   namespace: istio-system\r
806   labels:\r
807     app: galley\r
808     chart: galley\r
809     heritage: Tiller\r
810     release: istio\r
811     istio: galley\r
812 data:\r
813   validatingwebhookconfiguration.yaml: |-    \r
814     apiVersion: admissionregistration.k8s.io/v1beta1\r
815     kind: ValidatingWebhookConfiguration\r
816     metadata:\r
817       name: istio-galley\r
818       labels:\r
819         app: galley\r
820         chart: galley\r
821         heritage: Tiller\r
822         release: istio\r
823         istio: galley\r
824     webhooks:\r
825       - name: pilot.validation.istio.io\r
826         clientConfig:\r
827           service:\r
828             name: istio-galley\r
829             namespace: istio-system\r
830             path: "/admitpilot"\r
831           caBundle: ""\r
832         rules:\r
833           - operations:\r
834             - CREATE\r
835             - UPDATE\r
836             apiGroups:\r
837             - config.istio.io\r
838             apiVersions:\r
839             - v1alpha2\r
840             resources:\r
841             - httpapispecs\r
842             - httpapispecbindings\r
843             - quotaspecs\r
844             - quotaspecbindings\r
845           - operations:\r
846             - CREATE\r
847             - UPDATE\r
848             apiGroups:\r
849             - rbac.istio.io\r
850             apiVersions:\r
851             - "*"\r
852             resources:\r
853             - "*"\r
854           - operations:\r
855             - CREATE\r
856             - UPDATE\r
857             apiGroups:\r
858             - authentication.istio.io\r
859             apiVersions:\r
860             - "*"\r
861             resources:\r
862             - "*"\r
863           - operations:\r
864             - CREATE\r
865             - UPDATE\r
866             apiGroups:\r
867             - networking.istio.io\r
868             apiVersions:\r
869             - "*"\r
870             resources:\r
871             - destinationrules\r
872             - envoyfilters\r
873             - gateways\r
874             - serviceentries\r
875             - sidecars\r
876             - virtualservices\r
877         failurePolicy: Fail\r
878         sideEffects: None\r
879       - name: mixer.validation.istio.io\r
880         clientConfig:\r
881           service:\r
882             name: istio-galley\r
883             namespace: istio-system\r
884             path: "/admitmixer"\r
885           caBundle: ""\r
886         rules:\r
887           - operations:\r
888             - CREATE\r
889             - UPDATE\r
890             apiGroups:\r
891             - config.istio.io\r
892             apiVersions:\r
893             - v1alpha2\r
894             resources:\r
895             - rules\r
896             - attributemanifests\r
897             - circonuses\r
898             - deniers\r
899             - fluentds\r
900             - kubernetesenvs\r
901             - listcheckers\r
902             - memquotas\r
903             - noops\r
904             - opas\r
905             - prometheuses\r
906             - rbacs\r
907             - solarwindses\r
908             - stackdrivers\r
909             - cloudwatches\r
910             - dogstatsds\r
911             - statsds\r
912             - stdios\r
913             - apikeys\r
914             - authorizations\r
915             - checknothings\r
916             # - kuberneteses\r
917             - listentries\r
918             - logentries\r
919             - metrics\r
920             - quotas\r
921             - reportnothings\r
922             - tracespans\r
923             - adapters\r
924             - handlers\r
925             - instances\r
926             - templates\r
927             - zipkins\r
928         failurePolicy: Fail\r
929         sideEffects: None\r
930 ---\r
931 # Source: istio/charts/grafana/templates/configmap-custom-resources.yaml\r
932 apiVersion: v1\r
933 kind: ConfigMap\r
934 metadata:\r
935   name: istio-grafana-custom-resources\r
936   namespace: istio-system\r
937   labels:\r
938     app: grafana\r
939     chart: grafana\r
940     heritage: Tiller\r
941     release: istio\r
942     istio: grafana\r
943 data:\r
944   custom-resources.yaml: |-    \r
945     apiVersion: authentication.istio.io/v1alpha1\r
946     kind: Policy\r
947     metadata:\r
948       name: grafana-ports-mtls-disabled\r
949       namespace: istio-system\r
950       labels:\r
951         app: grafana\r
952         chart: grafana\r
953         heritage: Tiller\r
954         release: istio\r
955     spec:\r
956       targets:\r
957       - name: grafana\r
958         ports:\r
959         - number: 3000\r
960   run.sh: |-    \r
961     #!/bin/sh\r
962     \r
963     set -x\r
964     \r
965     if [ "$#" -ne "1" ]; then\r
966         echo "first argument should be path to custom resource yaml"\r
967         exit 1\r
968     fi\r
969     \r
970     pathToResourceYAML=${1}\r
971     \r
972     kubectl get validatingwebhookconfiguration istio-galley 2>/dev/null\r
973     if [ "$?" -eq 0 ]; then\r
974         echo "istio-galley validatingwebhookconfiguration found - waiting for istio-galley deployment to be ready"\r
975         while true; do\r
976             kubectl -n istio-system get deployment istio-galley 2>/dev/null\r
977             if [ "$?" -eq 0 ]; then\r
978                 break\r
979             fi\r
980             sleep 1\r
981         done\r
982         kubectl -n istio-system rollout status deployment istio-galley\r
983         if [ "$?" -ne 0 ]; then\r
984             echo "istio-galley deployment rollout status check failed"\r
985             exit 1\r
986         fi\r
987         echo "istio-galley deployment ready for configuration validation"\r
988     fi\r
989     sleep 5\r
990     kubectl apply -f ${pathToResourceYAML}\r
991     \r
992 \r
993 ---\r
994 # Source: istio/charts/grafana/templates/configmap-dashboards.yaml\r
995 \r
996 apiVersion: v1\r
997 kind: ConfigMap\r
998 metadata:\r
999   name: istio-grafana-configuration-dashboards-galley-dashboard\r
1000   namespace: istio-system\r
1001   labels:\r
1002     app: grafana\r
1003     chart: grafana\r
1004     heritage: Tiller\r
1005     release: istio\r
1006     istio: grafana\r
1007 data:\r
1008   galley-dashboard.json: '{\r
1009   "__inputs": [\r
1010     {\r
1011       "name": "DS_PROMETHEUS",\r
1012       "label": "Prometheus",\r
1013       "description": "",\r
1014       "type": "datasource",\r
1015       "pluginId": "prometheus",\r
1016       "pluginName": "Prometheus"\r
1017     }\r
1018   ],\r
1019   "annotations": {\r
1020     "list": [\r
1021       {\r
1022         "builtIn": 1,\r
1023         "datasource": "-- Grafana --",\r
1024         "enable": true,\r
1025         "hide": true,\r
1026         "iconColor": "rgba(0, 211, 255, 1)",\r
1027         "name": "Annotations & Alerts",\r
1028         "type": "dashboard"\r
1029       }\r
1030     ]\r
1031   },\r
1032   "editable": false,\r
1033   "gnetId": null,\r
1034   "graphTooltip": 0,\r
1035   "links": [],\r
1036   "panels": [\r
1037     {\r
1038       "aliasColors": {},\r
1039       "bars": false,\r
1040       "dashLength": 10,\r
1041       "dashes": false,\r
1042       "datasource": "Prometheus",\r
1043       "fill": 1,\r
1044       "gridPos": {\r
1045         "h": 5,\r
1046         "w": 24,\r
1047         "x": 0,\r
1048         "y": 0\r
1049       },\r
1050       "id": 46,\r
1051       "legend": {\r
1052         "avg": false,\r
1053         "current": false,\r
1054         "max": false,\r
1055         "min": false,\r
1056         "show": true,\r
1057         "total": false,\r
1058         "values": false\r
1059       },\r
1060       "lines": true,\r
1061       "linewidth": 1,\r
1062       "links": [],\r
1063       "nullPointMode": "null",\r
1064       "percentage": false,\r
1065       "pointradius": 5,\r
1066       "points": false,\r
1067       "renderer": "flot",\r
1068       "seriesOverrides": [],\r
1069       "spaceLength": 10,\r
1070       "stack": false,\r
1071       "steppedLine": false,\r
1072       "targets": [\r
1073         {\r
1074           "expr": "sum(istio_build{component=\"galley\"}) by (tag)",\r
1075           "format": "time_series",\r
1076           "intervalFactor": 1,\r
1077           "legendFormat": "{{ tag }}",\r
1078           "refId": "A"\r
1079         }\r
1080       ],\r
1081       "thresholds": [],\r
1082       "timeFrom": null,\r
1083       "timeRegions": [],\r
1084       "timeShift": null,\r
1085       "title": "Galley Versions",\r
1086       "tooltip": {\r
1087         "shared": true,\r
1088         "sort": 0,\r
1089         "value_type": "individual"\r
1090       },\r
1091       "type": "graph",\r
1092       "xaxis": {\r
1093         "buckets": null,\r
1094         "mode": "time",\r
1095         "name": null,\r
1096         "show": true,\r
1097         "values": []\r
1098       },\r
1099       "yaxes": [\r
1100         {\r
1101           "format": "short",\r
1102           "label": null,\r
1103           "logBase": 1,\r
1104           "max": null,\r
1105           "min": null,\r
1106           "show": true\r
1107         },\r
1108         {\r
1109           "format": "short",\r
1110           "label": null,\r
1111           "logBase": 1,\r
1112           "max": null,\r
1113           "min": null,\r
1114           "show": false\r
1115         }\r
1116       ],\r
1117       "yaxis": {\r
1118         "align": false,\r
1119         "alignLevel": null\r
1120       }\r
1121     },\r
1122     {\r
1123       "collapsed": false,\r
1124       "gridPos": {\r
1125         "h": 1,\r
1126         "w": 24,\r
1127         "x": 0,\r
1128         "y": 5\r
1129       },\r
1130       "id": 40,\r
1131       "panels": [],\r
1132       "title": "Resource Usage",\r
1133       "type": "row"\r
1134     },\r
1135     {\r
1136       "aliasColors": {},\r
1137       "bars": false,\r
1138       "dashLength": 10,\r
1139       "dashes": false,\r
1140       "datasource": "Prometheus",\r
1141       "fill": 1,\r
1142       "gridPos": {\r
1143         "h": 8,\r
1144         "w": 6,\r
1145         "x": 0,\r
1146         "y": 6\r
1147       },\r
1148       "id": 36,\r
1149       "legend": {\r
1150         "avg": false,\r
1151         "current": false,\r
1152         "max": false,\r
1153         "min": false,\r
1154         "show": true,\r
1155         "total": false,\r
1156         "values": false\r
1157       },\r
1158       "lines": true,\r
1159       "linewidth": 1,\r
1160       "links": [],\r
1161       "nullPointMode": "null",\r
1162       "percentage": false,\r
1163       "pointradius": 5,\r
1164       "points": false,\r
1165       "renderer": "flot",\r
1166       "seriesOverrides": [],\r
1167       "spaceLength": 10,\r
1168       "stack": false,\r
1169       "steppedLine": false,\r
1170       "targets": [\r
1171         {\r
1172           "expr": "process_virtual_memory_bytes{job=\"galley\"}",\r
1173           "format": "time_series",\r
1174           "intervalFactor": 2,\r
1175           "legendFormat": "Virtual Memory",\r
1176           "refId": "A"\r
1177         },\r
1178         {\r
1179           "expr": "process_resident_memory_bytes{job=\"galley\"}",\r
1180           "format": "time_series",\r
1181           "intervalFactor": 2,\r
1182           "legendFormat": "Resident Memory",\r
1183           "refId": "B"\r
1184         },\r
1185         {\r
1186           "expr": "go_memstats_heap_sys_bytes{job=\"galley\"}",\r
1187           "format": "time_series",\r
1188           "intervalFactor": 2,\r
1189           "legendFormat": "heap sys",\r
1190           "refId": "C"\r
1191         },\r
1192         {\r
1193           "expr": "go_memstats_heap_alloc_bytes{job=\"galley\"}",\r
1194           "format": "time_series",\r
1195           "intervalFactor": 2,\r
1196           "legendFormat": "heap alloc",\r
1197           "refId": "D"\r
1198         },\r
1199         {\r
1200           "expr": "go_memstats_alloc_bytes{job=\"galley\"}",\r
1201           "format": "time_series",\r
1202           "intervalFactor": 2,\r
1203           "legendFormat": "Alloc",\r
1204           "refId": "F"\r
1205         },\r
1206         {\r
1207           "expr": "go_memstats_heap_inuse_bytes{job=\"galley\"}",\r
1208           "format": "time_series",\r
1209           "intervalFactor": 2,\r
1210           "legendFormat": "Heap in-use",\r
1211           "refId": "G"\r
1212         },\r
1213         {\r
1214           "expr": "go_memstats_stack_inuse_bytes{job=\"galley\"}",\r
1215           "format": "time_series",\r
1216           "intervalFactor": 2,\r
1217           "legendFormat": "Stack in-use",\r
1218           "refId": "H"\r
1219         },\r
1220         {\r
1221           "expr": "sum(container_memory_usage_bytes{container_name=~\"galley\", pod_name=~\"istio-galley-.*\"})",\r
1222           "format": "time_series",\r
1223           "intervalFactor": 1,\r
1224           "legendFormat": "Total (kis)",\r
1225           "refId": "E"\r
1226         }\r
1227       ],\r
1228       "thresholds": [],\r
1229       "timeFrom": null,\r
1230       "timeRegions": [],\r
1231       "timeShift": null,\r
1232       "title": "Memory",\r
1233       "tooltip": {\r
1234         "shared": true,\r
1235         "sort": 0,\r
1236         "value_type": "individual"\r
1237       },\r
1238       "type": "graph",\r
1239       "xaxis": {\r
1240         "buckets": null,\r
1241         "mode": "time",\r
1242         "name": null,\r
1243         "show": true,\r
1244         "values": []\r
1245       },\r
1246       "yaxes": [\r
1247         {\r
1248           "format": "short",\r
1249           "label": null,\r
1250           "logBase": 1,\r
1251           "max": null,\r
1252           "min": null,\r
1253           "show": true\r
1254         },\r
1255         {\r
1256           "format": "short",\r
1257           "label": null,\r
1258           "logBase": 1,\r
1259           "max": null,\r
1260           "min": null,\r
1261           "show": false\r
1262         }\r
1263       ],\r
1264       "yaxis": {\r
1265         "align": false,\r
1266         "alignLevel": null\r
1267       }\r
1268     },\r
1269     {\r
1270       "aliasColors": {},\r
1271       "bars": false,\r
1272       "dashLength": 10,\r
1273       "dashes": false,\r
1274       "datasource": "Prometheus",\r
1275       "fill": 1,\r
1276       "gridPos": {\r
1277         "h": 8,\r
1278         "w": 6,\r
1279         "x": 6,\r
1280         "y": 6\r
1281       },\r
1282       "id": 38,\r
1283       "legend": {\r
1284         "avg": false,\r
1285         "current": false,\r
1286         "max": false,\r
1287         "min": false,\r
1288         "show": true,\r
1289         "total": false,\r
1290         "values": false\r
1291       },\r
1292       "lines": true,\r
1293       "linewidth": 1,\r
1294       "links": [],\r
1295       "nullPointMode": "null",\r
1296       "percentage": false,\r
1297       "pointradius": 5,\r
1298       "points": false,\r
1299       "renderer": "flot",\r
1300       "seriesOverrides": [],\r
1301       "spaceLength": 10,\r
1302       "stack": false,\r
1303       "steppedLine": false,\r
1304       "targets": [\r
1305         {\r
1306           "expr": "sum(rate(container_cpu_usage_seconds_total{job=\"kubernetes-cadvisor\",container_name=~\"galley\", pod_name=~\"istio-galley-.*\"}[1m]))",\r
1307           "format": "time_series",\r
1308           "intervalFactor": 2,\r
1309           "legendFormat": "Total (k8s)",\r
1310           "refId": "A"\r
1311         },\r
1312         {\r
1313           "expr": "sum(rate(container_cpu_usage_seconds_total{job=\"kubernetes-cadvisor\",container_name=~\"galley\", pod_name=~\"istio-galley-.*\"}[1m])) by (container_name)",\r
1314           "format": "time_series",\r
1315           "intervalFactor": 2,\r
1316           "legendFormat": "{{ container_name }} (k8s)",\r
1317           "refId": "B"\r
1318         },\r
1319         {\r
1320           "expr": "irate(process_cpu_seconds_total{job=\"galley\"}[1m])",\r
1321           "format": "time_series",\r
1322           "intervalFactor": 2,\r
1323           "legendFormat": "galley (self-reported)",\r
1324           "refId": "C"\r
1325         }\r
1326       ],\r
1327       "thresholds": [],\r
1328       "timeFrom": null,\r
1329       "timeRegions": [],\r
1330       "timeShift": null,\r
1331       "title": "CPU",\r
1332       "tooltip": {\r
1333         "shared": true,\r
1334         "sort": 0,\r
1335         "value_type": "individual"\r
1336       },\r
1337       "type": "graph",\r
1338       "xaxis": {\r
1339         "buckets": null,\r
1340         "mode": "time",\r
1341         "name": null,\r
1342         "show": true,\r
1343         "values": []\r
1344       },\r
1345       "yaxes": [\r
1346         {\r
1347           "format": "short",\r
1348           "label": null,\r
1349           "logBase": 1,\r
1350           "max": null,\r
1351           "min": null,\r
1352           "show": true\r
1353         },\r
1354         {\r
1355           "format": "short",\r
1356           "label": null,\r
1357           "logBase": 1,\r
1358           "max": null,\r
1359           "min": null,\r
1360           "show": true\r
1361         }\r
1362       ],\r
1363       "yaxis": {\r
1364         "align": false,\r
1365         "alignLevel": null\r
1366       }\r
1367     },\r
1368     {\r
1369       "aliasColors": {},\r
1370       "bars": false,\r
1371       "dashLength": 10,\r
1372       "dashes": false,\r
1373       "datasource": "Prometheus",\r
1374       "fill": 1,\r
1375       "gridPos": {\r
1376         "h": 8,\r
1377         "w": 6,\r
1378         "x": 12,\r
1379         "y": 6\r
1380       },\r
1381       "id": 42,\r
1382       "legend": {\r
1383         "avg": false,\r
1384         "current": false,\r
1385         "max": false,\r
1386         "min": false,\r
1387         "show": true,\r
1388         "total": false,\r
1389         "values": false\r
1390       },\r
1391       "lines": true,\r
1392       "linewidth": 1,\r
1393       "links": [],\r
1394       "nullPointMode": "null",\r
1395       "percentage": false,\r
1396       "pointradius": 5,\r
1397       "points": false,\r
1398       "renderer": "flot",\r
1399       "seriesOverrides": [],\r
1400       "spaceLength": 10,\r
1401       "stack": false,\r
1402       "steppedLine": false,\r
1403       "targets": [\r
1404         {\r
1405           "expr": "process_open_fds{job=\"galley\"}",\r
1406           "format": "time_series",\r
1407           "intervalFactor": 2,\r
1408           "legendFormat": "Open FDs (galley)",\r
1409           "refId": "A"\r
1410         },\r
1411         {\r
1412           "expr": "container_fs_usage_bytes{container_name=~\"galley\", pod_name=~\"istio-galley-.*\"}",\r
1413           "format": "time_series",\r
1414           "intervalFactor": 2,\r
1415           "legendFormat": "{{ container_name }} ",\r
1416           "refId": "B"\r
1417         }\r
1418       ],\r
1419       "thresholds": [],\r
1420       "timeFrom": null,\r
1421       "timeRegions": [],\r
1422       "timeShift": null,\r
1423       "title": "Disk",\r
1424       "tooltip": {\r
1425         "shared": true,\r
1426         "sort": 0,\r
1427         "value_type": "individual"\r
1428       },\r
1429       "type": "graph",\r
1430       "xaxis": {\r
1431         "buckets": null,\r
1432         "mode": "time",\r
1433         "name": null,\r
1434         "show": true,\r
1435         "values": []\r
1436       },\r
1437       "yaxes": [\r
1438         {\r
1439           "format": "short",\r
1440           "label": null,\r
1441           "logBase": 1,\r
1442           "max": null,\r
1443           "min": null,\r
1444           "show": true\r
1445         },\r
1446         {\r
1447           "format": "short",\r
1448           "label": null,\r
1449           "logBase": 1,\r
1450           "max": null,\r
1451           "min": null,\r
1452           "show": false\r
1453         }\r
1454       ],\r
1455       "yaxis": {\r
1456         "align": false,\r
1457         "alignLevel": null\r
1458       }\r
1459     },\r
1460     {\r
1461       "aliasColors": {},\r
1462       "bars": false,\r
1463       "dashLength": 10,\r
1464       "dashes": false,\r
1465       "datasource": "Prometheus",\r
1466       "fill": 1,\r
1467       "gridPos": {\r
1468         "h": 8,\r
1469         "w": 6,\r
1470         "x": 18,\r
1471         "y": 6\r
1472       },\r
1473       "id": 44,\r
1474       "legend": {\r
1475         "avg": false,\r
1476         "current": false,\r
1477         "max": false,\r
1478         "min": false,\r
1479         "show": true,\r
1480         "total": false,\r
1481         "values": false\r
1482       },\r
1483       "lines": true,\r
1484       "linewidth": 1,\r
1485       "links": [],\r
1486       "nullPointMode": "null",\r
1487       "percentage": false,\r
1488       "pointradius": 5,\r
1489       "points": false,\r
1490       "renderer": "flot",\r
1491       "seriesOverrides": [],\r
1492       "spaceLength": 10,\r
1493       "stack": false,\r
1494       "steppedLine": false,\r
1495       "targets": [\r
1496         {\r
1497           "expr": "go_goroutines{job=\"galley\"}",\r
1498           "format": "time_series",\r
1499           "intervalFactor": 2,\r
1500           "legendFormat": "goroutines_total",\r
1501           "refId": "A"\r
1502         },\r
1503         {\r
1504           "expr": "galley_mcp_source_clients_total",\r
1505           "format": "time_series",\r
1506           "intervalFactor": 1,\r
1507           "legendFormat": "clients_total",\r
1508           "refId": "B"\r
1509         },\r
1510         {\r
1511           "expr": "go_goroutines{job=\"galley\"}/galley_mcp_source_clients_total",\r
1512           "format": "time_series",\r
1513           "intervalFactor": 1,\r
1514           "legendFormat": "avg_goroutines_per_client",\r
1515           "refId": "C"\r
1516         }\r
1517       ],\r
1518       "thresholds": [],\r
1519       "timeFrom": null,\r
1520       "timeRegions": [],\r
1521       "timeShift": null,\r
1522       "title": "Goroutines",\r
1523       "tooltip": {\r
1524         "shared": true,\r
1525         "sort": 0,\r
1526         "value_type": "individual"\r
1527       },\r
1528       "type": "graph",\r
1529       "xaxis": {\r
1530         "buckets": null,\r
1531         "mode": "time",\r
1532         "name": null,\r
1533         "show": true,\r
1534         "values": []\r
1535       },\r
1536       "yaxes": [\r
1537         {\r
1538           "format": "short",\r
1539           "label": null,\r
1540           "logBase": 1,\r
1541           "max": null,\r
1542           "min": null,\r
1543           "show": true\r
1544         },\r
1545         {\r
1546           "format": "short",\r
1547           "label": null,\r
1548           "logBase": 1,\r
1549           "max": null,\r
1550           "min": null,\r
1551           "show": true\r
1552         }\r
1553       ],\r
1554       "yaxis": {\r
1555         "align": false,\r
1556         "alignLevel": null\r
1557       }\r
1558     },\r
1559     {\r
1560       "collapsed": false,\r
1561       "gridPos": {\r
1562         "h": 1,\r
1563         "w": 24,\r
1564         "x": 0,\r
1565         "y": 14\r
1566       },\r
1567       "id": 10,\r
1568       "panels": [],\r
1569       "title": "Runtime",\r
1570       "type": "row"\r
1571     },\r
1572     {\r
1573       "aliasColors": {},\r
1574       "bars": false,\r
1575       "dashLength": 10,\r
1576       "dashes": false,\r
1577       "datasource": "Prometheus",\r
1578       "fill": 1,\r
1579       "gridPos": {\r
1580         "h": 6,\r
1581         "w": 8,\r
1582         "x": 0,\r
1583         "y": 15\r
1584       },\r
1585       "id": 2,\r
1586       "legend": {\r
1587         "avg": false,\r
1588         "current": false,\r
1589         "max": false,\r
1590         "min": false,\r
1591         "show": true,\r
1592         "total": false,\r
1593         "values": false\r
1594       },\r
1595       "lines": true,\r
1596       "linewidth": 1,\r
1597       "links": [],\r
1598       "nullPointMode": "null",\r
1599       "percentage": false,\r
1600       "pointradius": 5,\r
1601       "points": false,\r
1602       "renderer": "flot",\r
1603       "seriesOverrides": [],\r
1604       "spaceLength": 10,\r
1605       "stack": false,\r
1606       "steppedLine": false,\r
1607       "targets": [\r
1608         {\r
1609           "expr": "sum(rate(galley_runtime_strategy_on_change_total[1m])) * 60",\r
1610           "format": "time_series",\r
1611           "intervalFactor": 1,\r
1612           "legendFormat": "Strategy Change Events",\r
1613           "refId": "A"\r
1614         },\r
1615         {\r
1616           "expr": "sum(rate(galley_runtime_processor_events_processed_total[1m])) * 60",\r
1617           "format": "time_series",\r
1618           "intervalFactor": 1,\r
1619           "legendFormat": "Processed Events",\r
1620           "refId": "B"\r
1621         },\r
1622         {\r
1623           "expr": "sum(rate(galley_runtime_processor_snapshots_published_total[1m])) * 60",\r
1624           "format": "time_series",\r
1625           "intervalFactor": 1,\r
1626           "legendFormat": "Snapshot Published",\r
1627           "refId": "C"\r
1628         }\r
1629       ],\r
1630       "thresholds": [],\r
1631       "timeFrom": null,\r
1632       "timeRegions": [],\r
1633       "timeShift": null,\r
1634       "title": "Event Rates",\r
1635       "tooltip": {\r
1636         "shared": true,\r
1637         "sort": 0,\r
1638         "value_type": "individual"\r
1639       },\r
1640       "type": "graph",\r
1641       "xaxis": {\r
1642         "buckets": null,\r
1643         "mode": "time",\r
1644         "name": null,\r
1645         "show": true,\r
1646         "values": []\r
1647       },\r
1648       "yaxes": [\r
1649         {\r
1650           "format": "short",\r
1651           "label": "Events/min",\r
1652           "logBase": 1,\r
1653           "max": null,\r
1654           "min": null,\r
1655           "show": true\r
1656         },\r
1657         {\r
1658           "format": "short",\r
1659           "label": "",\r
1660           "logBase": 1,\r
1661           "max": null,\r
1662           "min": null,\r
1663           "show": true\r
1664         }\r
1665       ],\r
1666       "yaxis": {\r
1667         "align": false,\r
1668         "alignLevel": null\r
1669       }\r
1670     },\r
1671     {\r
1672       "aliasColors": {},\r
1673       "bars": false,\r
1674       "dashLength": 10,\r
1675       "dashes": false,\r
1676       "datasource": "Prometheus",\r
1677       "fill": 1,\r
1678       "gridPos": {\r
1679         "h": 6,\r
1680         "w": 8,\r
1681         "x": 8,\r
1682         "y": 15\r
1683       },\r
1684       "id": 4,\r
1685       "legend": {\r
1686         "avg": false,\r
1687         "current": false,\r
1688         "max": false,\r
1689         "min": false,\r
1690         "show": true,\r
1691         "total": false,\r
1692         "values": false\r
1693       },\r
1694       "lines": true,\r
1695       "linewidth": 1,\r
1696       "links": [],\r
1697       "nullPointMode": "null",\r
1698       "percentage": false,\r
1699       "pointradius": 5,\r
1700       "points": false,\r
1701       "renderer": "flot",\r
1702       "seriesOverrides": [],\r
1703       "spaceLength": 10,\r
1704       "stack": false,\r
1705       "steppedLine": false,\r
1706       "targets": [\r
1707         {\r
1708           "expr": "sum(rate(galley_runtime_strategy_timer_max_time_reached_total[1m])) * 60",\r
1709           "format": "time_series",\r
1710           "intervalFactor": 1,\r
1711           "legendFormat": "Max Time Reached",\r
1712           "refId": "A"\r
1713         },\r
1714         {\r
1715           "expr": "sum(rate(galley_runtime_strategy_timer_quiesce_reached_total[1m])) * 60",\r
1716           "format": "time_series",\r
1717           "intervalFactor": 1,\r
1718           "legendFormat": "Quiesce Reached",\r
1719           "refId": "B"\r
1720         },\r
1721         {\r
1722           "expr": "sum(rate(galley_runtime_strategy_timer_resets_total[1m])) * 60",\r
1723           "format": "time_series",\r
1724           "intervalFactor": 1,\r
1725           "legendFormat": "Timer Resets",\r
1726           "refId": "C"\r
1727         }\r
1728       ],\r
1729       "thresholds": [],\r
1730       "timeFrom": null,\r
1731       "timeRegions": [],\r
1732       "timeShift": null,\r
1733       "title": "Timer Rates",\r
1734       "tooltip": {\r
1735         "shared": true,\r
1736         "sort": 0,\r
1737         "value_type": "individual"\r
1738       },\r
1739       "type": "graph",\r
1740       "xaxis": {\r
1741         "buckets": null,\r
1742         "mode": "time",\r
1743         "name": null,\r
1744         "show": true,\r
1745         "values": []\r
1746       },\r
1747       "yaxes": [\r
1748         {\r
1749           "format": "short",\r
1750           "label": "Events/min",\r
1751           "logBase": 1,\r
1752           "max": null,\r
1753           "min": null,\r
1754           "show": true\r
1755         },\r
1756         {\r
1757           "format": "short",\r
1758           "label": null,\r
1759           "logBase": 1,\r
1760           "max": null,\r
1761           "min": null,\r
1762           "show": true\r
1763         }\r
1764       ],\r
1765       "yaxis": {\r
1766         "align": false,\r
1767         "alignLevel": null\r
1768       }\r
1769     },\r
1770     {\r
1771       "aliasColors": {},\r
1772       "bars": false,\r
1773       "dashLength": 10,\r
1774       "dashes": false,\r
1775       "datasource": "Prometheus",\r
1776       "fill": 1,\r
1777       "gridPos": {\r
1778         "h": 6,\r
1779         "w": 8,\r
1780         "x": 16,\r
1781         "y": 15\r
1782       },\r
1783       "id": 8,\r
1784       "legend": {\r
1785         "avg": false,\r
1786         "current": false,\r
1787         "max": false,\r
1788         "min": false,\r
1789         "show": true,\r
1790         "total": false,\r
1791         "values": false\r
1792       },\r
1793       "lines": true,\r
1794       "linewidth": 1,\r
1795       "links": [],\r
1796       "nullPointMode": "null",\r
1797       "percentage": false,\r
1798       "pointradius": 3,\r
1799       "points": false,\r
1800       "renderer": "flot",\r
1801       "seriesOverrides": [],\r
1802       "spaceLength": 10,\r
1803       "stack": true,\r
1804       "steppedLine": false,\r
1805       "targets": [\r
1806         {\r
1807           "expr": "histogram_quantile(0.50, sum by (le) (galley_runtime_processor_snapshot_events_total_bucket))",\r
1808           "format": "time_series",\r
1809           "intervalFactor": 1,\r
1810           "legendFormat": "P50",\r
1811           "refId": "A"\r
1812         },\r
1813         {\r
1814           "expr": "histogram_quantile(0.90, sum by (le) (galley_runtime_processor_snapshot_events_total_bucket))",\r
1815           "format": "time_series",\r
1816           "intervalFactor": 1,\r
1817           "legendFormat": "P90",\r
1818           "refId": "B"\r
1819         },\r
1820         {\r
1821           "expr": "histogram_quantile(0.95, sum by (le) (galley_runtime_processor_snapshot_events_total_bucket))",\r
1822           "format": "time_series",\r
1823           "intervalFactor": 1,\r
1824           "legendFormat": "P95",\r
1825           "refId": "C"\r
1826         },\r
1827         {\r
1828           "expr": "histogram_quantile(0.99, sum by (le) (galley_runtime_processor_snapshot_events_total_bucket))",\r
1829           "format": "time_series",\r
1830           "intervalFactor": 1,\r
1831           "legendFormat": "P99",\r
1832           "refId": "D"\r
1833         }\r
1834       ],\r
1835       "thresholds": [],\r
1836       "timeFrom": null,\r
1837       "timeRegions": [],\r
1838       "timeShift": null,\r
1839       "title": "Events Per Snapshot",\r
1840       "tooltip": {\r
1841         "shared": true,\r
1842         "sort": 0,\r
1843         "value_type": "individual"\r
1844       },\r
1845       "type": "graph",\r
1846       "xaxis": {\r
1847         "buckets": null,\r
1848         "mode": "time",\r
1849         "name": null,\r
1850         "show": true,\r
1851         "values": []\r
1852       },\r
1853       "yaxes": [\r
1854         {\r
1855           "format": "short",\r
1856           "label": null,\r
1857           "logBase": 1,\r
1858           "max": null,\r
1859           "min": null,\r
1860           "show": true\r
1861         },\r
1862         {\r
1863           "format": "short",\r
1864           "label": null,\r
1865           "logBase": 1,\r
1866           "max": null,\r
1867           "min": null,\r
1868           "show": true\r
1869         }\r
1870       ],\r
1871       "yaxis": {\r
1872         "align": false,\r
1873         "alignLevel": null\r
1874       }\r
1875     },\r
1876     {\r
1877       "aliasColors": {},\r
1878       "bars": false,\r
1879       "dashLength": 10,\r
1880       "dashes": false,\r
1881       "datasource": "Prometheus",\r
1882       "fill": 1,\r
1883       "gridPos": {\r
1884         "h": 6,\r
1885         "w": 8,\r
1886         "x": 8,\r
1887         "y": 21\r
1888       },\r
1889       "id": 6,\r
1890       "legend": {\r
1891         "avg": false,\r
1892         "current": false,\r
1893         "max": false,\r
1894         "min": false,\r
1895         "show": true,\r
1896         "total": false,\r
1897         "values": false\r
1898       },\r
1899       "lines": true,\r
1900       "linewidth": 1,\r
1901       "links": [],\r
1902       "nullPointMode": "null",\r
1903       "percentage": false,\r
1904       "pointradius": 5,\r
1905       "points": false,\r
1906       "renderer": "flot",\r
1907       "seriesOverrides": [],\r
1908       "spaceLength": 10,\r
1909       "stack": false,\r
1910       "steppedLine": false,\r
1911       "targets": [\r
1912         {\r
1913           "expr": "sum by (typeURL) (galley_runtime_state_type_instances_total)",\r
1914           "format": "time_series",\r
1915           "intervalFactor": 1,\r
1916           "legendFormat": "{{ typeURL }}",\r
1917           "refId": "A"\r
1918         }\r
1919       ],\r
1920       "thresholds": [],\r
1921       "timeFrom": null,\r
1922       "timeRegions": [],\r
1923       "timeShift": null,\r
1924       "title": "State Type Instances",\r
1925       "tooltip": {\r
1926         "shared": true,\r
1927         "sort": 0,\r
1928         "value_type": "individual"\r
1929       },\r
1930       "type": "graph",\r
1931       "xaxis": {\r
1932         "buckets": null,\r
1933         "mode": "time",\r
1934         "name": null,\r
1935         "show": true,\r
1936         "values": []\r
1937       },\r
1938       "yaxes": [\r
1939         {\r
1940           "format": "short",\r
1941           "label": "Count",\r
1942           "logBase": 1,\r
1943           "max": null,\r
1944           "min": null,\r
1945           "show": true\r
1946         },\r
1947         {\r
1948           "format": "short",\r
1949           "label": null,\r
1950           "logBase": 1,\r
1951           "max": null,\r
1952           "min": null,\r
1953           "show": true\r
1954         }\r
1955       ],\r
1956       "yaxis": {\r
1957         "align": false,\r
1958         "alignLevel": null\r
1959       }\r
1960     },\r
1961     {\r
1962       "collapsed": false,\r
1963       "gridPos": {\r
1964         "h": 1,\r
1965         "w": 24,\r
1966         "x": 0,\r
1967         "y": 27\r
1968       },\r
1969       "id": 34,\r
1970       "panels": [],\r
1971       "title": "Validation",\r
1972       "type": "row"\r
1973     },\r
1974     {\r
1975       "aliasColors": {},\r
1976       "bars": false,\r
1977       "dashLength": 10,\r
1978       "dashes": false,\r
1979       "datasource": "Prometheus",\r
1980       "fill": 1,\r
1981       "gridPos": {\r
1982         "h": 6,\r
1983         "w": 8,\r
1984         "x": 0,\r
1985         "y": 28\r
1986       },\r
1987       "id": 28,\r
1988       "legend": {\r
1989         "avg": false,\r
1990         "current": false,\r
1991         "max": false,\r
1992         "min": false,\r
1993         "show": true,\r
1994         "total": false,\r
1995         "values": false\r
1996       },\r
1997       "lines": true,\r
1998       "linewidth": 1,\r
1999       "links": [],\r
2000       "nullPointMode": "null",\r
2001       "percentage": false,\r
2002       "pointradius": 5,\r
2003       "points": false,\r
2004       "renderer": "flot",\r
2005       "seriesOverrides": [],\r
2006       "spaceLength": 10,\r
2007       "stack": false,\r
2008       "steppedLine": false,\r
2009       "targets": [\r
2010         {\r
2011           "expr": "galley_validation_cert_key_updates{job=\"galley\"}",\r
2012           "format": "time_series",\r
2013           "intervalFactor": 1,\r
2014           "legendFormat": "Key Updates",\r
2015           "refId": "A"\r
2016         },\r
2017         {\r
2018           "expr": "galley_validation_cert_key_update_errors{job=\"galley\"}",\r
2019           "format": "time_series",\r
2020           "intervalFactor": 1,\r
2021           "legendFormat": "Key Update Errors: {{ error }}",\r
2022           "refId": "B"\r
2023         }\r
2024       ],\r
2025       "thresholds": [],\r
2026       "timeFrom": null,\r
2027       "timeRegions": [],\r
2028       "timeShift": null,\r
2029       "title": "Validation Webhook Certificate",\r
2030       "tooltip": {\r
2031         "shared": true,\r
2032         "sort": 0,\r
2033         "value_type": "individual"\r
2034       },\r
2035       "type": "graph",\r
2036       "xaxis": {\r
2037         "buckets": null,\r
2038         "mode": "time",\r
2039         "name": null,\r
2040         "show": true,\r
2041         "values": []\r
2042       },\r
2043       "yaxes": [\r
2044         {\r
2045           "format": "short",\r
2046           "label": null,\r
2047           "logBase": 1,\r
2048           "max": null,\r
2049           "min": null,\r
2050           "show": true\r
2051         },\r
2052         {\r
2053           "format": "short",\r
2054           "label": null,\r
2055           "logBase": 1,\r
2056           "max": null,\r
2057           "min": null,\r
2058           "show": true\r
2059         }\r
2060       ],\r
2061       "yaxis": {\r
2062         "align": false,\r
2063         "alignLevel": null\r
2064       }\r
2065     },\r
2066     {\r
2067       "aliasColors": {},\r
2068       "bars": false,\r
2069       "dashLength": 10,\r
2070       "dashes": false,\r
2071       "datasource": "Prometheus",\r
2072       "fill": 1,\r
2073       "gridPos": {\r
2074         "h": 6,\r
2075         "w": 8,\r
2076         "x": 8,\r
2077         "y": 28\r
2078       },\r
2079       "id": 30,\r
2080       "legend": {\r
2081         "avg": false,\r
2082         "current": false,\r
2083         "max": false,\r
2084         "min": false,\r
2085         "show": true,\r
2086         "total": false,\r
2087         "values": false\r
2088       },\r
2089       "lines": true,\r
2090       "linewidth": 1,\r
2091       "links": [],\r
2092       "nullPointMode": "null",\r
2093       "percentage": false,\r
2094       "pointradius": 5,\r
2095       "points": false,\r
2096       "renderer": "flot",\r
2097       "seriesOverrides": [],\r
2098       "spaceLength": 10,\r
2099       "stack": false,\r
2100       "steppedLine": false,\r
2101       "targets": [\r
2102         {\r
2103           "expr": "sum(galley_validation_passed{job=\"galley\"}) by (group, version, resource)",\r
2104           "format": "time_series",\r
2105           "intervalFactor": 1,\r
2106           "legendFormat": "Passed: {{ group }}/{{ version }}/{{resource}}",\r
2107           "refId": "A"\r
2108         },\r
2109         {\r
2110           "expr": "sum(galley_validation_failed{job=\"galley\"}) by (group, version, resource, reason)",\r
2111           "format": "time_series",\r
2112           "intervalFactor": 1,\r
2113           "legendFormat": "Failed: {{ group }}/{{ version }}/{{resource}} ({{ reason}})",\r
2114           "refId": "B"\r
2115         }\r
2116       ],\r
2117       "thresholds": [],\r
2118       "timeFrom": null,\r
2119       "timeRegions": [],\r
2120       "timeShift": null,\r
2121       "title": "Resource Validation",\r
2122       "tooltip": {\r
2123         "shared": true,\r
2124         "sort": 0,\r
2125         "value_type": "individual"\r
2126       },\r
2127       "type": "graph",\r
2128       "xaxis": {\r
2129         "buckets": null,\r
2130         "mode": "time",\r
2131         "name": null,\r
2132         "show": true,\r
2133         "values": []\r
2134       },\r
2135       "yaxes": [\r
2136         {\r
2137           "format": "short",\r
2138           "label": null,\r
2139           "logBase": 1,\r
2140           "max": null,\r
2141           "min": null,\r
2142           "show": true\r
2143         },\r
2144         {\r
2145           "format": "short",\r
2146           "label": null,\r
2147           "logBase": 1,\r
2148           "max": null,\r
2149           "min": null,\r
2150           "show": true\r
2151         }\r
2152       ],\r
2153       "yaxis": {\r
2154         "align": false,\r
2155         "alignLevel": null\r
2156       }\r
2157     },\r
2158     {\r
2159       "aliasColors": {},\r
2160       "bars": false,\r
2161       "dashLength": 10,\r
2162       "dashes": false,\r
2163       "datasource": "Prometheus",\r
2164       "fill": 1,\r
2165       "gridPos": {\r
2166         "h": 6,\r
2167         "w": 8,\r
2168         "x": 16,\r
2169         "y": 28\r
2170       },\r
2171       "id": 32,\r
2172       "legend": {\r
2173         "avg": false,\r
2174         "current": false,\r
2175         "max": false,\r
2176         "min": false,\r
2177         "show": true,\r
2178         "total": false,\r
2179         "values": false\r
2180       },\r
2181       "lines": true,\r
2182       "linewidth": 1,\r
2183       "links": [],\r
2184       "nullPointMode": "null",\r
2185       "percentage": false,\r
2186       "pointradius": 5,\r
2187       "points": false,\r
2188       "renderer": "flot",\r
2189       "seriesOverrides": [],\r
2190       "spaceLength": 10,\r
2191       "stack": false,\r
2192       "steppedLine": false,\r
2193       "targets": [\r
2194         {\r
2195           "expr": "sum(galley_validation_http_error{job=\"galley\"}) by (status)",\r
2196           "format": "time_series",\r
2197           "intervalFactor": 1,\r
2198           "legendFormat": "{{ status }}",\r
2199           "refId": "A"\r
2200         }\r
2201       ],\r
2202       "thresholds": [],\r
2203       "timeFrom": null,\r
2204       "timeRegions": [],\r
2205       "timeShift": null,\r
2206       "title": "Validation HTTP Errors",\r
2207       "tooltip": {\r
2208         "shared": true,\r
2209         "sort": 0,\r
2210         "value_type": "individual"\r
2211       },\r
2212       "type": "graph",\r
2213       "xaxis": {\r
2214         "buckets": null,\r
2215         "mode": "time",\r
2216         "name": null,\r
2217         "show": true,\r
2218         "values": []\r
2219       },\r
2220       "yaxes": [\r
2221         {\r
2222           "format": "short",\r
2223           "label": null,\r
2224           "logBase": 1,\r
2225           "max": null,\r
2226           "min": null,\r
2227           "show": true\r
2228         },\r
2229         {\r
2230           "format": "short",\r
2231           "label": null,\r
2232           "logBase": 1,\r
2233           "max": null,\r
2234           "min": null,\r
2235           "show": true\r
2236         }\r
2237       ],\r
2238       "yaxis": {\r
2239         "align": false,\r
2240         "alignLevel": null\r
2241       }\r
2242     },\r
2243     {\r
2244       "collapsed": false,\r
2245       "gridPos": {\r
2246         "h": 1,\r
2247         "w": 24,\r
2248         "x": 0,\r
2249         "y": 34\r
2250       },\r
2251       "id": 12,\r
2252       "panels": [],\r
2253       "title": "Kubernetes Source",\r
2254       "type": "row"\r
2255     },\r
2256     {\r
2257       "aliasColors": {},\r
2258       "bars": false,\r
2259       "dashLength": 10,\r
2260       "dashes": false,\r
2261       "datasource": "Prometheus",\r
2262       "fill": 1,\r
2263       "gridPos": {\r
2264         "h": 6,\r
2265         "w": 8,\r
2266         "x": 0,\r
2267         "y": 35\r
2268       },\r
2269       "id": 14,\r
2270       "legend": {\r
2271         "avg": false,\r
2272         "current": false,\r
2273         "max": false,\r
2274         "min": false,\r
2275         "show": true,\r
2276         "total": false,\r
2277         "values": false\r
2278       },\r
2279       "lines": true,\r
2280       "linewidth": 1,\r
2281       "links": [],\r
2282       "nullPointMode": "null",\r
2283       "percentage": false,\r
2284       "pointradius": 5,\r
2285       "points": false,\r
2286       "renderer": "flot",\r
2287       "seriesOverrides": [],\r
2288       "spaceLength": 10,\r
2289       "stack": false,\r
2290       "steppedLine": false,\r
2291       "targets": [\r
2292         {\r
2293           "expr": "rate(galley_source_kube_event_success_total[1m]) * 60",\r
2294           "format": "time_series",\r
2295           "intervalFactor": 1,\r
2296           "legendFormat": "Success",\r
2297           "refId": "A"\r
2298         },\r
2299         {\r
2300           "expr": "rate(galley_source_kube_event_error_total[1m]) * 60",\r
2301           "format": "time_series",\r
2302           "intervalFactor": 1,\r
2303           "legendFormat": "Error",\r
2304           "refId": "B"\r
2305         }\r
2306       ],\r
2307       "thresholds": [],\r
2308       "timeFrom": null,\r
2309       "timeRegions": [],\r
2310       "timeShift": null,\r
2311       "title": "Source Event Rate",\r
2312       "tooltip": {\r
2313         "shared": true,\r
2314         "sort": 0,\r
2315         "value_type": "individual"\r
2316       },\r
2317       "type": "graph",\r
2318       "xaxis": {\r
2319         "buckets": null,\r
2320         "mode": "time",\r
2321         "name": null,\r
2322         "show": true,\r
2323         "values": []\r
2324       },\r
2325       "yaxes": [\r
2326         {\r
2327           "format": "short",\r
2328           "label": "Events/min",\r
2329           "logBase": 1,\r
2330           "max": null,\r
2331           "min": null,\r
2332           "show": true\r
2333         },\r
2334         {\r
2335           "format": "short",\r
2336           "label": null,\r
2337           "logBase": 1,\r
2338           "max": null,\r
2339           "min": null,\r
2340           "show": true\r
2341         }\r
2342       ],\r
2343       "yaxis": {\r
2344         "align": false,\r
2345         "alignLevel": null\r
2346       }\r
2347     },\r
2348     {\r
2349       "aliasColors": {},\r
2350       "bars": false,\r
2351       "dashLength": 10,\r
2352       "dashes": false,\r
2353       "datasource": "Prometheus",\r
2354       "fill": 1,\r
2355       "gridPos": {\r
2356         "h": 6,\r
2357         "w": 8,\r
2358         "x": 8,\r
2359         "y": 35\r
2360       },\r
2361       "id": 16,\r
2362       "legend": {\r
2363         "avg": false,\r
2364         "current": false,\r
2365         "max": false,\r
2366         "min": false,\r
2367         "show": true,\r
2368         "total": false,\r
2369         "values": false\r
2370       },\r
2371       "lines": true,\r
2372       "linewidth": 1,\r
2373       "links": [],\r
2374       "nullPointMode": "null",\r
2375       "percentage": false,\r
2376       "pointradius": 5,\r
2377       "points": false,\r
2378       "renderer": "flot",\r
2379       "seriesOverrides": [],\r
2380       "spaceLength": 10,\r
2381       "stack": false,\r
2382       "steppedLine": false,\r
2383       "targets": [\r
2384         {\r
2385           "expr": "rate(galley_source_kube_dynamic_converter_success_total[1m]) * 60",\r
2386           "format": "time_series",\r
2387           "intervalFactor": 1,\r
2388           "legendFormat": "{apiVersion=\"{{apiVersion}}\",group=\"{{group}}\",kind=\"{{kind}}\"}",\r
2389           "refId": "A"\r
2390         }\r
2391       ],\r
2392       "thresholds": [],\r
2393       "timeFrom": null,\r
2394       "timeRegions": [],\r
2395       "timeShift": null,\r
2396       "title": "Kubernetes Object Conversion Successes",\r
2397       "tooltip": {\r
2398         "shared": true,\r
2399         "sort": 0,\r
2400         "value_type": "individual"\r
2401       },\r
2402       "type": "graph",\r
2403       "xaxis": {\r
2404         "buckets": null,\r
2405         "mode": "time",\r
2406         "name": null,\r
2407         "show": true,\r
2408         "values": []\r
2409       },\r
2410       "yaxes": [\r
2411         {\r
2412           "format": "short",\r
2413           "label": "Conversions/min",\r
2414           "logBase": 1,\r
2415           "max": null,\r
2416           "min": null,\r
2417           "show": true\r
2418         },\r
2419         {\r
2420           "format": "short",\r
2421           "label": null,\r
2422           "logBase": 1,\r
2423           "max": null,\r
2424           "min": null,\r
2425           "show": true\r
2426         }\r
2427       ],\r
2428       "yaxis": {\r
2429         "align": false,\r
2430         "alignLevel": null\r
2431       }\r
2432     },\r
2433     {\r
2434       "aliasColors": {},\r
2435       "bars": false,\r
2436       "dashLength": 10,\r
2437       "dashes": false,\r
2438       "datasource": "Prometheus",\r
2439       "fill": 1,\r
2440       "gridPos": {\r
2441         "h": 6,\r
2442         "w": 8,\r
2443         "x": 16,\r
2444         "y": 35\r
2445       },\r
2446       "id": 24,\r
2447       "legend": {\r
2448         "avg": false,\r
2449         "current": false,\r
2450         "max": false,\r
2451         "min": false,\r
2452         "show": true,\r
2453         "total": false,\r
2454         "values": false\r
2455       },\r
2456       "lines": true,\r
2457       "linewidth": 1,\r
2458       "links": [],\r
2459       "nullPointMode": "null",\r
2460       "percentage": false,\r
2461       "pointradius": 5,\r
2462       "points": false,\r
2463       "renderer": "flot",\r
2464       "seriesOverrides": [],\r
2465       "spaceLength": 10,\r
2466       "stack": false,\r
2467       "steppedLine": false,\r
2468       "targets": [\r
2469         {\r
2470           "expr": "rate(galley_source_kube_dynamic_converter_failure_total[1m]) * 60",\r
2471           "format": "time_series",\r
2472           "intervalFactor": 1,\r
2473           "legendFormat": "Error",\r
2474           "refId": "A"\r
2475         }\r
2476       ],\r
2477       "thresholds": [],\r
2478       "timeFrom": null,\r
2479       "timeRegions": [],\r
2480       "timeShift": null,\r
2481       "title": "Kubernetes Object Conversion Failures",\r
2482       "tooltip": {\r
2483         "shared": true,\r
2484         "sort": 0,\r
2485         "value_type": "individual"\r
2486       },\r
2487       "type": "graph",\r
2488       "xaxis": {\r
2489         "buckets": null,\r
2490         "mode": "time",\r
2491         "name": null,\r
2492         "show": true,\r
2493         "values": []\r
2494       },\r
2495       "yaxes": [\r
2496         {\r
2497           "format": "short",\r
2498           "label": "Failures/min",\r
2499           "logBase": 1,\r
2500           "max": null,\r
2501           "min": null,\r
2502           "show": true\r
2503         },\r
2504         {\r
2505           "format": "short",\r
2506           "label": null,\r
2507           "logBase": 1,\r
2508           "max": null,\r
2509           "min": null,\r
2510           "show": true\r
2511         }\r
2512       ],\r
2513       "yaxis": {\r
2514         "align": false,\r
2515         "alignLevel": null\r
2516       }\r
2517     },\r
2518     {\r
2519       "collapsed": false,\r
2520       "gridPos": {\r
2521         "h": 1,\r
2522         "w": 24,\r
2523         "x": 0,\r
2524         "y": 41\r
2525       },\r
2526       "id": 18,\r
2527       "panels": [],\r
2528       "title": "Mesh Configuration Protocol",\r
2529       "type": "row"\r
2530     },\r
2531     {\r
2532       "aliasColors": {},\r
2533       "bars": false,\r
2534       "dashLength": 10,\r
2535       "dashes": false,\r
2536       "datasource": "Prometheus",\r
2537       "fill": 1,\r
2538       "gridPos": {\r
2539         "h": 6,\r
2540         "w": 8,\r
2541         "x": 0,\r
2542         "y": 42\r
2543       },\r
2544       "id": 20,\r
2545       "legend": {\r
2546         "avg": false,\r
2547         "current": false,\r
2548         "max": false,\r
2549         "min": false,\r
2550         "show": true,\r
2551         "total": false,\r
2552         "values": false\r
2553       },\r
2554       "lines": true,\r
2555       "linewidth": 1,\r
2556       "links": [],\r
2557       "nullPointMode": "null",\r
2558       "percentage": false,\r
2559       "pointradius": 5,\r
2560       "points": false,\r
2561       "renderer": "flot",\r
2562       "seriesOverrides": [],\r
2563       "spaceLength": 10,\r
2564       "stack": false,\r
2565       "steppedLine": false,\r
2566       "targets": [\r
2567         {\r
2568           "expr": "sum(galley_mcp_source_clients_total)",\r
2569           "format": "time_series",\r
2570           "intervalFactor": 1,\r
2571           "legendFormat": "Clients",\r
2572           "refId": "A"\r
2573         }\r
2574       ],\r
2575       "thresholds": [],\r
2576       "timeFrom": null,\r
2577       "timeRegions": [],\r
2578       "timeShift": null,\r
2579       "title": "Connected Clients",\r
2580       "tooltip": {\r
2581         "shared": true,\r
2582         "sort": 0,\r
2583         "value_type": "individual"\r
2584       },\r
2585       "type": "graph",\r
2586       "xaxis": {\r
2587         "buckets": null,\r
2588         "mode": "time",\r
2589         "name": null,\r
2590         "show": true,\r
2591         "values": []\r
2592       },\r
2593       "yaxes": [\r
2594         {\r
2595           "format": "short",\r
2596           "label": null,\r
2597           "logBase": 1,\r
2598           "max": null,\r
2599           "min": null,\r
2600           "show": true\r
2601         },\r
2602         {\r
2603           "format": "short",\r
2604           "label": null,\r
2605           "logBase": 1,\r
2606           "max": null,\r
2607           "min": null,\r
2608           "show": true\r
2609         }\r
2610       ],\r
2611       "yaxis": {\r
2612         "align": false,\r
2613         "alignLevel": null\r
2614       }\r
2615     },\r
2616     {\r
2617       "aliasColors": {},\r
2618       "bars": false,\r
2619       "dashLength": 10,\r
2620       "dashes": false,\r
2621       "datasource": "Prometheus",\r
2622       "fill": 1,\r
2623       "gridPos": {\r
2624         "h": 6,\r
2625         "w": 8,\r
2626         "x": 8,\r
2627         "y": 42\r
2628       },\r
2629       "id": 22,\r
2630       "legend": {\r
2631         "avg": false,\r
2632         "current": false,\r
2633         "max": false,\r
2634         "min": false,\r
2635         "show": true,\r
2636         "total": false,\r
2637         "values": false\r
2638       },\r
2639       "lines": true,\r
2640       "linewidth": 1,\r
2641       "links": [],\r
2642       "nullPointMode": "null",\r
2643       "percentage": false,\r
2644       "pointradius": 5,\r
2645       "points": false,\r
2646       "renderer": "flot",\r
2647       "seriesOverrides": [],\r
2648       "spaceLength": 10,\r
2649       "stack": false,\r
2650       "steppedLine": false,\r
2651       "targets": [\r
2652         {\r
2653           "expr": "sum by(collection)(irate(galley_mcp_source_request_acks_total[1m]) * 60)",\r
2654           "format": "time_series",\r
2655           "intervalFactor": 1,\r
2656           "legendFormat": "",\r
2657           "refId": "A"\r
2658         }\r
2659       ],\r
2660       "thresholds": [],\r
2661       "timeFrom": null,\r
2662       "timeRegions": [],\r
2663       "timeShift": null,\r
2664       "title": "Request ACKs",\r
2665       "tooltip": {\r
2666         "shared": true,\r
2667         "sort": 0,\r
2668         "value_type": "individual"\r
2669       },\r
2670       "type": "graph",\r
2671       "xaxis": {\r
2672         "buckets": null,\r
2673         "mode": "time",\r
2674         "name": null,\r
2675         "show": true,\r
2676         "values": []\r
2677       },\r
2678       "yaxes": [\r
2679         {\r
2680           "format": "short",\r
2681           "label": "ACKs/min",\r
2682           "logBase": 1,\r
2683           "max": null,\r
2684           "min": null,\r
2685           "show": true\r
2686         },\r
2687         {\r
2688           "format": "short",\r
2689           "label": null,\r
2690           "logBase": 1,\r
2691           "max": null,\r
2692           "min": null,\r
2693           "show": true\r
2694         }\r
2695       ],\r
2696       "yaxis": {\r
2697         "align": false,\r
2698         "alignLevel": null\r
2699       }\r
2700     },\r
2701     {\r
2702       "aliasColors": {},\r
2703       "bars": false,\r
2704       "dashLength": 10,\r
2705       "dashes": false,\r
2706       "datasource": "Prometheus",\r
2707       "fill": 1,\r
2708       "gridPos": {\r
2709         "h": 6,\r
2710         "w": 8,\r
2711         "x": 16,\r
2712         "y": 42\r
2713       },\r
2714       "id": 26,\r
2715       "legend": {\r
2716         "avg": false,\r
2717         "current": false,\r
2718         "max": false,\r
2719         "min": false,\r
2720         "show": true,\r
2721         "total": false,\r
2722         "values": false\r
2723       },\r
2724       "lines": true,\r
2725       "linewidth": 1,\r
2726       "links": [],\r
2727       "nullPointMode": "null",\r
2728       "percentage": false,\r
2729       "pointradius": 5,\r
2730       "points": false,\r
2731       "renderer": "flot",\r
2732       "seriesOverrides": [],\r
2733       "spaceLength": 10,\r
2734       "stack": false,\r
2735       "steppedLine": false,\r
2736       "targets": [\r
2737         {\r
2738           "expr": "rate(galley_mcp_source_request_nacks_total[1m]) * 60",\r
2739           "format": "time_series",\r
2740           "intervalFactor": 1,\r
2741           "refId": "A"\r
2742         }\r
2743       ],\r
2744       "thresholds": [],\r
2745       "timeFrom": null,\r
2746       "timeRegions": [],\r
2747       "timeShift": null,\r
2748       "title": "Request NACKs",\r
2749       "tooltip": {\r
2750         "shared": true,\r
2751         "sort": 0,\r
2752         "value_type": "individual"\r
2753       },\r
2754       "type": "graph",\r
2755       "xaxis": {\r
2756         "buckets": null,\r
2757         "mode": "time",\r
2758         "name": null,\r
2759         "show": true,\r
2760         "values": []\r
2761       },\r
2762       "yaxes": [\r
2763         {\r
2764           "format": "short",\r
2765           "label": "NACKs/min",\r
2766           "logBase": 1,\r
2767           "max": null,\r
2768           "min": null,\r
2769           "show": true\r
2770         },\r
2771         {\r
2772           "format": "short",\r
2773           "label": null,\r
2774           "logBase": 1,\r
2775           "max": null,\r
2776           "min": null,\r
2777           "show": true\r
2778         }\r
2779       ],\r
2780       "yaxis": {\r
2781         "align": false,\r
2782         "alignLevel": null\r
2783       }\r
2784     }\r
2785   ],\r
2786   "refresh": "5s",\r
2787   "schemaVersion": 16,\r
2788   "style": "dark",\r
2789   "tags": [],\r
2790   "templating": {\r
2791     "list": []\r
2792   },\r
2793   "time": {\r
2794     "from": "now-5m",\r
2795     "to": "now"\r
2796   },\r
2797   "timepicker": {\r
2798     "refresh_intervals": [\r
2799       "5s",\r
2800       "10s",\r
2801       "30s",\r
2802       "1m",\r
2803       "5m",\r
2804       "15m",\r
2805       "30m",\r
2806       "1h",\r
2807       "2h",\r
2808       "1d"\r
2809     ],\r
2810     "time_options": [\r
2811       "5m",\r
2812       "15m",\r
2813       "1h",\r
2814       "6h",\r
2815       "12h",\r
2816       "24h",\r
2817       "2d",\r
2818       "7d",\r
2819       "30d"\r
2820     ]\r
2821   },\r
2822   "timezone": "",\r
2823   "title": "Istio Galley Dashboard",\r
2824   "uid": "TSEY6jLmk",\r
2825   "version": 1\r
2826 }\r
2827 '\r
2828 ---\r
2829 apiVersion: v1\r
2830 kind: ConfigMap\r
2831 metadata:\r
2832   name: istio-grafana-configuration-dashboards-istio-mesh-dashboard\r
2833   namespace: istio-system\r
2834   labels:\r
2835     app: grafana\r
2836     chart: grafana\r
2837     heritage: Tiller\r
2838     release: istio\r
2839     istio: grafana\r
2840 data:\r
2841   istio-mesh-dashboard.json: '{\r
2842   "__inputs": [\r
2843     {\r
2844       "name": "DS_PROMETHEUS",\r
2845       "label": "Prometheus",\r
2846       "description": "",\r
2847       "type": "datasource",\r
2848       "pluginId": "prometheus",\r
2849       "pluginName": "Prometheus"\r
2850     }\r
2851   ],\r
2852   "__requires": [\r
2853     {\r
2854       "type": "grafana",\r
2855       "id": "grafana",\r
2856       "name": "Grafana",\r
2857       "version": "5.2.3"\r
2858     },\r
2859     {\r
2860       "type": "panel",\r
2861       "id": "graph",\r
2862       "name": "Graph",\r
2863       "version": "5.0.0"\r
2864     },\r
2865     {\r
2866       "type": "datasource",\r
2867       "id": "prometheus",\r
2868       "name": "Prometheus",\r
2869       "version": "5.0.0"\r
2870     },\r
2871     {\r
2872       "type": "panel",\r
2873       "id": "singlestat",\r
2874       "name": "Singlestat",\r
2875       "version": "5.0.0"\r
2876     },\r
2877     {\r
2878       "type": "panel",\r
2879       "id": "table",\r
2880       "name": "Table",\r
2881       "version": "5.0.0"\r
2882     },\r
2883     {\r
2884       "type": "panel",\r
2885       "id": "text",\r
2886       "name": "Text",\r
2887       "version": "5.0.0"\r
2888     }\r
2889   ],\r
2890   "annotations": {\r
2891     "list": [\r
2892       {\r
2893         "builtIn": 1,\r
2894         "datasource": "-- Grafana --",\r
2895         "enable": true,\r
2896         "hide": true,\r
2897         "iconColor": "rgba(0, 211, 255, 1)",\r
2898         "name": "Annotations & Alerts",\r
2899         "type": "dashboard"\r
2900       }\r
2901     ]\r
2902   },\r
2903   "editable": false,\r
2904   "gnetId": null,\r
2905   "graphTooltip": 0,\r
2906   "id": null,\r
2907   "links": [],\r
2908   "panels": [\r
2909     {\r
2910       "content": "<div>\n  <div style=\"position: absolute; bottom: 0\">\n    <a href=\"https://istio.io\" target=\"_blank\" style=\"font-size: 30px; text-decoration: none; color: inherit\"><img src=\"https://istio.io/img/istio-logo.svg\" style=\"height: 50px\"> Istio</a>\n  </div>\n  <div style=\"position: absolute; bottom: 0; right: 0; font-size: 15px\">\n    Istio is an <a href=\"https://github.com/istio/istio\" target=\"_blank\">open platform</a> that provides a uniform way to connect,\n    <a href=\"https://istio.io/docs/concepts/traffic-management/overview.html\" target=\"_blank\">manage</a>, and \n    <a href=\"https://istio.io/docs/concepts/network-and-auth/auth.html\" target=\"_blank\">secure</a> microservices.\n    <br>\n    Need help? Join the <a href=\"https://istio.io/community/\" target=\"_blank\">Istio community</a>.\n  </div>\n</div>",\r
2911       "gridPos": {\r
2912         "h": 3,\r
2913         "w": 24,\r
2914         "x": 0,\r
2915         "y": 0\r
2916       },\r
2917       "height": "50px",\r
2918       "id": 13,\r
2919       "links": [],\r
2920       "mode": "html",\r
2921       "style": {\r
2922         "font-size": "18pt"\r
2923       },\r
2924       "title": "",\r
2925       "transparent": true,\r
2926       "type": "text"\r
2927     },\r
2928     {\r
2929       "cacheTimeout": null,\r
2930       "colorBackground": false,\r
2931       "colorValue": false,\r
2932       "colors": [\r
2933         "rgba(245, 54, 54, 0.9)",\r
2934         "rgba(237, 129, 40, 0.89)",\r
2935         "rgba(50, 172, 45, 0.97)"\r
2936       ],\r
2937       "datasource": "Prometheus",\r
2938       "format": "ops",\r
2939       "gauge": {\r
2940         "maxValue": 100,\r
2941         "minValue": 0,\r
2942         "show": false,\r
2943         "thresholdLabels": false,\r
2944         "thresholdMarkers": true\r
2945       },\r
2946       "gridPos": {\r
2947         "h": 3,\r
2948         "w": 6,\r
2949         "x": 0,\r
2950         "y": 3\r
2951       },\r
2952       "id": 20,\r
2953       "interval": null,\r
2954       "links": [],\r
2955       "mappingType": 1,\r
2956       "mappingTypes": [\r
2957         {\r
2958           "name": "value to text",\r
2959           "value": 1\r
2960         },\r
2961         {\r
2962           "name": "range to text",\r
2963           "value": 2\r
2964         }\r
2965       ],\r
2966       "maxDataPoints": 100,\r
2967       "nullPointMode": "connected",\r
2968       "nullText": null,\r
2969       "postfix": "",\r
2970       "postfixFontSize": "50%",\r
2971       "prefix": "",\r
2972       "prefixFontSize": "50%",\r
2973       "rangeMaps": [\r
2974         {\r
2975           "from": "null",\r
2976           "text": "N/A",\r
2977           "to": "null"\r
2978         }\r
2979       ],\r
2980       "sparkline": {\r
2981         "fillColor": "rgba(31, 118, 189, 0.18)",\r
2982         "full": true,\r
2983         "lineColor": "rgb(31, 120, 193)",\r
2984         "show": true\r
2985       },\r
2986       "tableColumn": "",\r
2987       "targets": [\r
2988         {\r
2989           "expr": "round(sum(irate(istio_requests_total{reporter=\"destination\"}[1m])), 0.001)",\r
2990           "intervalFactor": 1,\r
2991           "refId": "A",\r
2992           "step": 4\r
2993         }\r
2994       ],\r
2995       "thresholds": "",\r
2996       "title": "Global Request Volume",\r
2997       "transparent": false,\r
2998       "type": "singlestat",\r
2999       "valueFontSize": "80%",\r
3000       "valueMaps": [\r
3001         {\r
3002           "op": "=",\r
3003           "text": "N/A",\r
3004           "value": "null"\r
3005         }\r
3006       ],\r
3007       "valueName": "avg"\r
3008     },\r
3009     {\r
3010       "cacheTimeout": null,\r
3011       "colorBackground": false,\r
3012       "colorValue": false,\r
3013       "colors": [\r
3014         "rgba(245, 54, 54, 0.9)",\r
3015         "rgba(237, 129, 40, 0.89)",\r
3016         "rgba(50, 172, 45, 0.97)"\r
3017       ],\r
3018       "datasource": "Prometheus",\r
3019       "format": "percentunit",\r
3020       "gauge": {\r
3021         "maxValue": 100,\r
3022         "minValue": 80,\r
3023         "show": false,\r
3024         "thresholdLabels": false,\r
3025         "thresholdMarkers": false\r
3026       },\r
3027       "gridPos": {\r
3028         "h": 3,\r
3029         "w": 6,\r
3030         "x": 6,\r
3031         "y": 3\r
3032       },\r
3033       "id": 21,\r
3034       "interval": null,\r
3035       "links": [],\r
3036       "mappingType": 1,\r
3037       "mappingTypes": [\r
3038         {\r
3039           "name": "value to text",\r
3040           "value": 1\r
3041         },\r
3042         {\r
3043           "name": "range to text",\r
3044           "value": 2\r
3045         }\r
3046       ],\r
3047       "maxDataPoints": 100,\r
3048       "nullPointMode": "connected",\r
3049       "nullText": null,\r
3050       "postfix": "",\r
3051       "postfixFontSize": "50%",\r
3052       "prefix": "",\r
3053       "prefixFontSize": "50%",\r
3054       "rangeMaps": [\r
3055         {\r
3056           "from": "null",\r
3057           "text": "N/A",\r
3058           "to": "null"\r
3059         }\r
3060       ],\r
3061       "sparkline": {\r
3062         "fillColor": "rgba(31, 118, 189, 0.18)",\r
3063         "full": true,\r
3064         "lineColor": "rgb(31, 120, 193)",\r
3065         "show": true\r
3066       },\r
3067       "tableColumn": "",\r
3068       "targets": [\r
3069         {\r
3070           "expr": "sum(rate(istio_requests_total{reporter=\"destination\", response_code!~\"5.*\"}[1m])) / sum(rate(istio_requests_total{reporter=\"destination\"}[1m]))",\r
3071           "format": "time_series",\r
3072           "intervalFactor": 1,\r
3073           "refId": "A",\r
3074           "step": 4\r
3075         }\r
3076       ],\r
3077       "thresholds": "95, 99, 99.5",\r
3078       "title": "Global Success Rate (non-5xx responses)",\r
3079       "transparent": false,\r
3080       "type": "singlestat",\r
3081       "valueFontSize": "80%",\r
3082       "valueMaps": [\r
3083         {\r
3084           "op": "=",\r
3085           "text": "N/A",\r
3086           "value": "null"\r
3087         }\r
3088       ],\r
3089       "valueName": "avg"\r
3090     },\r
3091     {\r
3092       "cacheTimeout": null,\r
3093       "colorBackground": false,\r
3094       "colorValue": false,\r
3095       "colors": [\r
3096         "rgba(245, 54, 54, 0.9)",\r
3097         "rgba(237, 129, 40, 0.89)",\r
3098         "rgba(50, 172, 45, 0.97)"\r
3099       ],\r
3100       "datasource": "Prometheus",\r
3101       "format": "ops",\r
3102       "gauge": {\r
3103         "maxValue": 100,\r
3104         "minValue": 0,\r
3105         "show": false,\r
3106         "thresholdLabels": false,\r
3107         "thresholdMarkers": true\r
3108       },\r
3109       "gridPos": {\r
3110         "h": 3,\r
3111         "w": 6,\r
3112         "x": 12,\r
3113         "y": 3\r
3114       },\r
3115       "id": 22,\r
3116       "interval": null,\r
3117       "links": [],\r
3118       "mappingType": 1,\r
3119       "mappingTypes": [\r
3120         {\r
3121           "name": "value to text",\r
3122           "value": 1\r
3123         },\r
3124         {\r
3125           "name": "range to text",\r
3126           "value": 2\r
3127         }\r
3128       ],\r
3129       "maxDataPoints": 100,\r
3130       "nullPointMode": "connected",\r
3131       "nullText": null,\r
3132       "postfix": "",\r
3133       "postfixFontSize": "50%",\r
3134       "prefix": "",\r
3135       "prefixFontSize": "50%",\r
3136       "rangeMaps": [\r
3137         {\r
3138           "from": "null",\r
3139           "text": "N/A",\r
3140           "to": "null"\r
3141         }\r
3142       ],\r
3143       "sparkline": {\r
3144         "fillColor": "rgba(31, 118, 189, 0.18)",\r
3145         "full": true,\r
3146         "lineColor": "rgb(31, 120, 193)",\r
3147         "show": true\r
3148       },\r
3149       "tableColumn": "",\r
3150       "targets": [\r
3151         {\r
3152           "expr": "sum(irate(istio_requests_total{reporter=\"destination\", response_code=~\"4.*\"}[1m])) ",\r
3153           "format": "time_series",\r
3154           "intervalFactor": 1,\r
3155           "refId": "A",\r
3156           "step": 4\r
3157         }\r
3158       ],\r
3159       "thresholds": "",\r
3160       "title": "4xxs",\r
3161       "transparent": false,\r
3162       "type": "singlestat",\r
3163       "valueFontSize": "80%",\r
3164       "valueMaps": [\r
3165         {\r
3166           "op": "=",\r
3167           "text": "N/A",\r
3168           "value": "null"\r
3169         }\r
3170       ],\r
3171       "valueName": "avg"\r
3172     },\r
3173     {\r
3174       "cacheTimeout": null,\r
3175       "colorBackground": false,\r
3176       "colorValue": false,\r
3177       "colors": [\r
3178         "rgba(245, 54, 54, 0.9)",\r
3179         "rgba(237, 129, 40, 0.89)",\r
3180         "rgba(50, 172, 45, 0.97)"\r
3181       ],\r
3182       "datasource": "Prometheus",\r
3183       "format": "ops",\r
3184       "gauge": {\r
3185         "maxValue": 100,\r
3186         "minValue": 0,\r
3187         "show": false,\r
3188         "thresholdLabels": false,\r
3189         "thresholdMarkers": true\r
3190       },\r
3191       "gridPos": {\r
3192         "h": 3,\r
3193         "w": 6,\r
3194         "x": 18,\r
3195         "y": 3\r
3196       },\r
3197       "id": 23,\r
3198       "interval": null,\r
3199       "links": [],\r
3200       "mappingType": 1,\r
3201       "mappingTypes": [\r
3202         {\r
3203           "name": "value to text",\r
3204           "value": 1\r
3205         },\r
3206         {\r
3207           "name": "range to text",\r
3208           "value": 2\r
3209         }\r
3210       ],\r
3211       "maxDataPoints": 100,\r
3212       "nullPointMode": "connected",\r
3213       "nullText": null,\r
3214       "postfix": "",\r
3215       "postfixFontSize": "50%",\r
3216       "prefix": "",\r
3217       "prefixFontSize": "50%",\r
3218       "rangeMaps": [\r
3219         {\r
3220           "from": "null",\r
3221           "text": "N/A",\r
3222           "to": "null"\r
3223         }\r
3224       ],\r
3225       "sparkline": {\r
3226         "fillColor": "rgba(31, 118, 189, 0.18)",\r
3227         "full": true,\r
3228         "lineColor": "rgb(31, 120, 193)",\r
3229         "show": true\r
3230       },\r
3231       "tableColumn": "",\r
3232       "targets": [\r
3233         {\r
3234           "expr": "sum(irate(istio_requests_total{reporter=\"destination\", response_code=~\"5.*\"}[1m])) ",\r
3235           "format": "time_series",\r
3236           "intervalFactor": 1,\r
3237           "refId": "A",\r
3238           "step": 4\r
3239         }\r
3240       ],\r
3241       "thresholds": "",\r
3242       "title": "5xxs",\r
3243       "transparent": false,\r
3244       "type": "singlestat",\r
3245       "valueFontSize": "80%",\r
3246       "valueMaps": [\r
3247         {\r
3248           "op": "=",\r
3249           "text": "N/A",\r
3250           "value": "null"\r
3251         }\r
3252       ],\r
3253       "valueName": "avg"\r
3254     },\r
3255     {\r
3256       "columns": [],\r
3257       "datasource": "Prometheus",\r
3258       "fontSize": "100%",\r
3259       "gridPos": {\r
3260         "h": 21,\r
3261         "w": 24,\r
3262         "x": 0,\r
3263         "y": 6\r
3264       },\r
3265       "hideTimeOverride": false,\r
3266       "id": 73,\r
3267       "links": [],\r
3268       "pageSize": null,\r
3269       "repeat": null,\r
3270       "repeatDirection": "v",\r
3271       "scroll": true,\r
3272       "showHeader": true,\r
3273       "sort": {\r
3274         "col": 4,\r
3275         "desc": true\r
3276       },\r
3277       "styles": [\r
3278         {\r
3279           "alias": "Workload",\r
3280           "colorMode": null,\r
3281           "colors": [\r
3282             "rgba(245, 54, 54, 0.9)",\r
3283             "rgba(237, 129, 40, 0.89)",\r
3284             "rgba(50, 172, 45, 0.97)"\r
3285           ],\r
3286           "dateFormat": "YYYY-MM-DD HH:mm:ss",\r
3287           "decimals": 2,\r
3288           "link": false,\r
3289           "linkTargetBlank": false,\r
3290           "linkTooltip": "Workload dashboard",\r
3291           "linkUrl": "/dashboard/db/istio-workload-dashboard?var-namespace=$__cell_2&var-workload=$__cell_",\r
3292           "pattern": "destination_workload",\r
3293           "preserveFormat": false,\r
3294           "sanitize": false,\r
3295           "thresholds": [],\r
3296           "type": "hidden",\r
3297           "unit": "short"\r
3298         },\r
3299         {\r
3300           "alias": "",\r
3301           "colorMode": null,\r
3302           "colors": [\r
3303             "rgba(245, 54, 54, 0.9)",\r
3304             "rgba(237, 129, 40, 0.89)",\r
3305             "rgba(50, 172, 45, 0.97)"\r
3306           ],\r
3307           "dateFormat": "YYYY-MM-DD HH:mm:ss",\r
3308           "decimals": 2,\r
3309           "pattern": "Time",\r
3310           "thresholds": [],\r
3311           "type": "hidden",\r
3312           "unit": "short"\r
3313         },\r
3314         {\r
3315           "alias": "Requests",\r
3316           "colorMode": null,\r
3317           "colors": [\r
3318             "rgba(245, 54, 54, 0.9)",\r
3319             "rgba(237, 129, 40, 0.89)",\r
3320             "rgba(50, 172, 45, 0.97)"\r
3321           ],\r
3322           "dateFormat": "YYYY-MM-DD HH:mm:ss",\r
3323           "decimals": 2,\r
3324           "pattern": "Value #A",\r
3325           "thresholds": [],\r
3326           "type": "number",\r
3327           "unit": "ops"\r
3328         },\r
3329         {\r
3330           "alias": "P50 Latency",\r
3331           "colorMode": null,\r
3332           "colors": [\r
3333             "rgba(245, 54, 54, 0.9)",\r
3334             "rgba(237, 129, 40, 0.89)",\r
3335             "rgba(50, 172, 45, 0.97)"\r
3336           ],\r
3337           "dateFormat": "YYYY-MM-DD HH:mm:ss",\r
3338           "decimals": 2,\r
3339           "pattern": "Value #B",\r
3340           "thresholds": [],\r
3341           "type": "number",\r
3342           "unit": "s"\r
3343         },\r
3344         {\r
3345           "alias": "P90 Latency",\r
3346           "colorMode": null,\r
3347           "colors": [\r
3348             "rgba(245, 54, 54, 0.9)",\r
3349             "rgba(237, 129, 40, 0.89)",\r
3350             "rgba(50, 172, 45, 0.97)"\r
3351           ],\r
3352           "dateFormat": "YYYY-MM-DD HH:mm:ss",\r
3353           "decimals": 2,\r
3354           "pattern": "Value #D",\r
3355           "thresholds": [],\r
3356           "type": "number",\r
3357           "unit": "s"\r
3358         },\r
3359         {\r
3360           "alias": "P99 Latency",\r
3361           "colorMode": null,\r
3362           "colors": [\r
3363             "rgba(245, 54, 54, 0.9)",\r
3364             "rgba(237, 129, 40, 0.89)",\r
3365             "rgba(50, 172, 45, 0.97)"\r
3366           ],\r
3367           "dateFormat": "YYYY-MM-DD HH:mm:ss",\r
3368           "decimals": 2,\r
3369           "pattern": "Value #E",\r
3370           "thresholds": [],\r
3371           "type": "number",\r
3372           "unit": "s"\r
3373         },\r
3374         {\r
3375           "alias": "Success Rate",\r
3376           "colorMode": "cell",\r
3377           "colors": [\r
3378             "rgba(245, 54, 54, 0.9)",\r
3379             "rgba(237, 129, 40, 0.89)",\r
3380             "rgba(50, 172, 45, 0.97)"\r
3381           ],\r
3382           "dateFormat": "YYYY-MM-DD HH:mm:ss",\r
3383           "decimals": 2,\r
3384           "pattern": "Value #F",\r
3385           "thresholds": [\r
3386             ".95",\r
3387             " 1.00"\r
3388           ],\r
3389           "type": "number",\r
3390           "unit": "percentunit"\r
3391         },\r
3392         {\r
3393           "alias": "Workload",\r
3394           "colorMode": null,\r
3395           "colors": [\r
3396             "rgba(245, 54, 54, 0.9)",\r
3397             "rgba(237, 129, 40, 0.89)",\r
3398             "rgba(50, 172, 45, 0.97)"\r
3399           ],\r
3400           "dateFormat": "YYYY-MM-DD HH:mm:ss",\r
3401           "decimals": 2,\r
3402           "link": true,\r
3403           "linkTooltip": "$__cell dashboard",\r
3404           "linkUrl": "/dashboard/db/istio-workload-dashboard?var-workload=$__cell_2&var-namespace=$__cell_3",\r
3405           "pattern": "destination_workload_var",\r
3406           "thresholds": [],\r
3407           "type": "number",\r
3408           "unit": "short"\r
3409         },\r
3410         {\r
3411           "alias": "Service",\r
3412           "colorMode": null,\r
3413           "colors": [\r
3414             "rgba(245, 54, 54, 0.9)",\r
3415             "rgba(237, 129, 40, 0.89)",\r
3416             "rgba(50, 172, 45, 0.97)"\r
3417           ],\r
3418           "dateFormat": "YYYY-MM-DD HH:mm:ss",\r
3419           "decimals": 2,\r
3420           "link": true,\r
3421           "linkTooltip": "$__cell dashboard",\r
3422           "linkUrl": "/dashboard/db/istio-service-dashboard?var-service=$__cell",\r
3423           "pattern": "destination_service",\r
3424           "thresholds": [],\r
3425           "type": "string",\r
3426           "unit": "short"\r
3427         },\r
3428         {\r
3429           "alias": "",\r
3430           "colorMode": null,\r
3431           "colors": [\r
3432             "rgba(245, 54, 54, 0.9)",\r
3433             "rgba(237, 129, 40, 0.89)",\r
3434             "rgba(50, 172, 45, 0.97)"\r
3435           ],\r
3436           "dateFormat": "YYYY-MM-DD HH:mm:ss",\r
3437           "decimals": 2,\r
3438           "pattern": "destination_workload_namespace",\r
3439           "thresholds": [],\r
3440           "type": "hidden",\r
3441           "unit": "short"\r
3442         }\r
3443       ],\r
3444       "targets": [\r
3445         {\r
3446           "expr": "label_join(sum(rate(istio_requests_total{reporter=\"destination\", response_code=\"200\"}[1m])) by (destination_workload, destination_workload_namespace, destination_service), \"destination_workload_var\", \".\", \"destination_workload\", \"destination_workload_namespace\")",\r
3447           "format": "table",\r
3448           "hide": false,\r
3449           "instant": true,\r
3450           "intervalFactor": 1,\r
3451           "legendFormat": "{{ destination_workload}}.{{ destination_workload_namespace }}",\r
3452           "refId": "A"\r
3453         },\r
3454         {\r
3455           "expr": "label_join(histogram_quantile(0.50, sum(rate(istio_request_duration_seconds_bucket{reporter=\"destination\"}[1m])) by (le, destination_workload, destination_workload_namespace)), \"destination_workload_var\", \".\", \"destination_workload\", \"destination_workload_namespace\")",\r
3456           "format": "table",\r
3457           "hide": false,\r
3458           "instant": true,\r
3459           "intervalFactor": 1,\r
3460           "legendFormat": "{{ destination_workload}}.{{ destination_workload_namespace }}",\r
3461           "refId": "B"\r
3462         },\r
3463         {\r
3464           "expr": "label_join(histogram_quantile(0.90, sum(rate(istio_request_duration_seconds_bucket{reporter=\"destination\"}[1m])) by (le, destination_workload, destination_workload_namespace)), \"destination_workload_var\", \".\", \"destination_workload\", \"destination_workload_namespace\")",\r
3465           "format": "table",\r
3466           "hide": false,\r
3467           "instant": true,\r
3468           "intervalFactor": 1,\r
3469           "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }}",\r
3470           "refId": "D"\r
3471         },\r
3472         {\r
3473           "expr": "label_join(histogram_quantile(0.99, sum(rate(istio_request_duration_seconds_bucket{reporter=\"destination\"}[1m])) by (le, destination_workload, destination_workload_namespace)), \"destination_workload_var\", \".\", \"destination_workload\", \"destination_workload_namespace\")",\r
3474           "format": "table",\r
3475           "hide": false,\r
3476           "instant": true,\r
3477           "intervalFactor": 1,\r
3478           "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }}",\r
3479           "refId": "E"\r
3480         },\r
3481         {\r
3482           "expr": "label_join((sum(rate(istio_requests_total{reporter=\"destination\", response_code!~\"5.*\"}[1m])) by (destination_workload, destination_workload_namespace) / sum(rate(istio_requests_total{reporter=\"destination\"}[1m])) by (destination_workload, destination_workload_namespace)), \"destination_workload_var\", \".\", \"destination_workload\", \"destination_workload_namespace\")",\r
3483           "format": "table",\r
3484           "hide": false,\r
3485           "instant": true,\r
3486           "interval": "",\r
3487           "intervalFactor": 1,\r
3488           "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }}",\r
3489           "refId": "F"\r
3490         }\r
3491       ],\r
3492       "timeFrom": null,\r
3493       "title": "HTTP/GRPC Workloads",\r
3494       "transform": "table",\r
3495       "transparent": false,\r
3496       "type": "table"\r
3497     },\r
3498     {\r
3499       "columns": [],\r
3500       "datasource": "Prometheus",\r
3501       "fontSize": "100%",\r
3502       "gridPos": {\r
3503         "h": 18,\r
3504         "w": 24,\r
3505         "x": 0,\r
3506         "y": 27\r
3507       },\r
3508       "hideTimeOverride": false,\r
3509       "id": 109,\r
3510       "links": [],\r
3511       "pageSize": null,\r
3512       "repeatDirection": "v",\r
3513       "scroll": true,\r
3514       "showHeader": true,\r
3515       "sort": {\r
3516         "col": 2,\r
3517         "desc": true\r
3518       },\r
3519       "styles": [\r
3520         {\r
3521           "alias": "Workload",\r
3522           "colorMode": null,\r
3523           "colors": [\r
3524             "rgba(245, 54, 54, 0.9)",\r
3525             "rgba(237, 129, 40, 0.89)",\r
3526             "rgba(50, 172, 45, 0.97)"\r
3527           ],\r
3528           "dateFormat": "YYYY-MM-DD HH:mm:ss",\r
3529           "decimals": 2,\r
3530           "link": false,\r
3531           "linkTargetBlank": false,\r
3532           "linkTooltip": "$__cell dashboard",\r
3533           "linkUrl": "/dashboard/db/istio-tcp-workload-dashboard?var-namespace=$__cell_2&&var-workload=$__cell",\r
3534           "pattern": "destination_workload",\r
3535           "preserveFormat": false,\r
3536           "sanitize": false,\r
3537           "thresholds": [],\r
3538           "type": "hidden",\r
3539           "unit": "short"\r
3540         },\r
3541         {\r
3542           "alias": "Bytes Sent",\r
3543           "colorMode": null,\r
3544           "colors": [\r
3545             "rgba(245, 54, 54, 0.9)",\r
3546             "rgba(237, 129, 40, 0.89)",\r
3547             "rgba(50, 172, 45, 0.97)"\r
3548           ],\r
3549           "dateFormat": "YYYY-MM-DD HH:mm:ss",\r
3550           "decimals": 2,\r
3551           "pattern": "Value #A",\r
3552           "thresholds": [\r
3553             ""\r
3554           ],\r
3555           "type": "number",\r
3556           "unit": "Bps"\r
3557         },\r
3558         {\r
3559           "alias": "Bytes Received",\r
3560           "colorMode": null,\r
3561           "colors": [\r
3562             "rgba(245, 54, 54, 0.9)",\r
3563             "rgba(237, 129, 40, 0.89)",\r
3564             "rgba(50, 172, 45, 0.97)"\r
3565           ],\r
3566           "dateFormat": "YYYY-MM-DD HH:mm:ss",\r
3567           "decimals": 2,\r
3568           "pattern": "Value #C",\r
3569           "thresholds": [],\r
3570           "type": "number",\r
3571           "unit": "Bps"\r
3572         },\r
3573         {\r
3574           "alias": "",\r
3575           "colorMode": null,\r
3576           "colors": [\r
3577             "rgba(245, 54, 54, 0.9)",\r
3578             "rgba(237, 129, 40, 0.89)",\r
3579             "rgba(50, 172, 45, 0.97)"\r
3580           ],\r
3581           "dateFormat": "YYYY-MM-DD HH:mm:ss",\r
3582           "decimals": 2,\r
3583           "pattern": "Time",\r
3584           "thresholds": [],\r
3585           "type": "hidden",\r
3586           "unit": "short"\r
3587         },\r
3588         {\r
3589           "alias": "Workload",\r
3590           "colorMode": null,\r
3591           "colors": [\r
3592             "rgba(245, 54, 54, 0.9)",\r
3593             "rgba(237, 129, 40, 0.89)",\r
3594             "rgba(50, 172, 45, 0.97)"\r
3595           ],\r
3596           "dateFormat": "YYYY-MM-DD HH:mm:ss",\r
3597           "decimals": 2,\r
3598           "link": true,\r
3599           "linkTooltip": "$__cell dashboard",\r
3600           "linkUrl": "/dashboard/db/istio-workload-dashboard?var-namespace=$__cell_3&var-workload=$__cell_2",\r
3601           "pattern": "destination_workload_var",\r
3602           "thresholds": [],\r
3603           "type": "string",\r
3604           "unit": "short"\r
3605         },\r
3606         {\r
3607           "alias": "",\r
3608           "colorMode": null,\r
3609           "colors": [\r
3610             "rgba(245, 54, 54, 0.9)",\r
3611             "rgba(237, 129, 40, 0.89)",\r
3612             "rgba(50, 172, 45, 0.97)"\r
3613           ],\r
3614           "dateFormat": "YYYY-MM-DD HH:mm:ss",\r
3615           "decimals": 2,\r
3616           "pattern": "destination_workload_namespace",\r
3617           "thresholds": [],\r
3618           "type": "hidden",\r
3619           "unit": "short"\r
3620         },\r
3621         {\r
3622           "alias": "Service",\r
3623           "colorMode": null,\r
3624           "colors": [\r
3625             "rgba(245, 54, 54, 0.9)",\r
3626             "rgba(237, 129, 40, 0.89)",\r
3627             "rgba(50, 172, 45, 0.97)"\r
3628           ],\r
3629           "dateFormat": "YYYY-MM-DD HH:mm:ss",\r
3630           "decimals": 2,\r
3631           "link": true,\r
3632           "linkTooltip": "$__cell dashboard",\r
3633           "linkUrl": "/dashboard/db/istio-service-dashboard?var-service=$__cell",\r
3634           "pattern": "destination_service",\r
3635           "thresholds": [],\r
3636           "type": "number",\r
3637           "unit": "short"\r
3638         }\r
3639       ],\r
3640       "targets": [\r
3641         {\r
3642           "expr": "label_join(sum(rate(istio_tcp_received_bytes_total{reporter=\"source\"}[1m])) by (destination_workload, destination_workload_namespace, destination_service), \"destination_workload_var\", \".\", \"destination_workload\", \"destination_workload_namespace\")",\r
3643           "format": "table",\r
3644           "hide": false,\r
3645           "instant": true,\r
3646           "intervalFactor": 1,\r
3647           "legendFormat": "{{ destination_workload }}",\r
3648           "refId": "C"\r
3649         },\r
3650         {\r
3651           "expr": "label_join(sum(rate(istio_tcp_sent_bytes_total{reporter=\"source\"}[1m])) by (destination_workload, destination_workload_namespace, destination_service), \"destination_workload_var\", \".\", \"destination_workload\", \"destination_workload_namespace\")",\r
3652           "format": "table",\r
3653           "hide": false,\r
3654           "instant": true,\r
3655           "intervalFactor": 1,\r
3656           "legendFormat": "{{ destination_workload }}",\r
3657           "refId": "A"\r
3658         }\r
3659       ],\r
3660       "timeFrom": null,\r
3661       "title": "TCP Workloads",\r
3662       "transform": "table",\r
3663       "transparent": false,\r
3664       "type": "table"\r
3665     },\r
3666     {\r
3667       "aliasColors": {},\r
3668       "bars": false,\r
3669       "dashLength": 10,\r
3670       "dashes": false,\r
3671       "datasource": "Prometheus",\r
3672       "fill": 1,\r
3673       "gridPos": {\r
3674         "h": 9,\r
3675         "w": 24,\r
3676         "x": 0,\r
3677         "y": 45\r
3678       },\r
3679       "id": 111,\r
3680       "legend": {\r
3681         "alignAsTable": false,\r
3682         "avg": false,\r
3683         "current": false,\r
3684         "max": false,\r
3685         "min": false,\r
3686         "rightSide": false,\r
3687         "show": true,\r
3688         "total": false,\r
3689         "values": false\r
3690       },\r
3691       "lines": true,\r
3692       "linewidth": 1,\r
3693       "links": [],\r
3694       "nullPointMode": "null",\r
3695       "percentage": false,\r
3696       "pointradius": 5,\r
3697       "points": false,\r
3698       "renderer": "flot",\r
3699       "seriesOverrides": [],\r
3700       "spaceLength": 10,\r
3701       "stack": false,\r
3702       "steppedLine": false,\r
3703       "targets": [\r
3704         {\r
3705           "expr": "sum(istio_build) by (component, tag)",\r
3706           "format": "time_series",\r
3707           "intervalFactor": 1,\r
3708           "legendFormat": "{{ component }}: {{ tag }}",\r
3709           "refId": "A"\r
3710         }\r
3711       ],\r
3712       "thresholds": [],\r
3713       "timeFrom": null,\r
3714       "timeShift": null,\r
3715       "title": "Istio Components by Version",\r
3716       "tooltip": {\r
3717         "shared": true,\r
3718         "sort": 0,\r
3719         "value_type": "individual"\r
3720       },\r
3721       "transparent": false,\r
3722       "type": "graph",\r
3723       "xaxis": {\r
3724         "buckets": null,\r
3725         "mode": "time",\r
3726         "name": null,\r
3727         "show": true,\r
3728         "values": []\r
3729       },\r
3730       "yaxes": [\r
3731         {\r
3732           "format": "short",\r
3733           "label": null,\r
3734           "logBase": 1,\r
3735           "max": null,\r
3736           "min": null,\r
3737           "show": true\r
3738         },\r
3739         {\r
3740           "format": "short",\r
3741           "label": null,\r
3742           "logBase": 1,\r
3743           "max": null,\r
3744           "min": null,\r
3745           "show": false\r
3746         }\r
3747       ],\r
3748       "yaxis": {\r
3749         "align": false,\r
3750         "alignLevel": null\r
3751       }\r
3752     }\r
3753   ],\r
3754   "refresh": "5s",\r
3755   "schemaVersion": 16,\r
3756   "style": "dark",\r
3757   "tags": [],\r
3758   "templating": {\r
3759     "list": []\r
3760   },\r
3761   "time": {\r
3762     "from": "now-5m",\r
3763     "to": "now"\r
3764   },\r
3765   "timepicker": {\r
3766     "refresh_intervals": [\r
3767       "5s",\r
3768       "10s",\r
3769       "30s",\r
3770       "1m",\r
3771       "5m",\r
3772       "15m",\r
3773       "30m",\r
3774       "1h",\r
3775       "2h",\r
3776       "1d"\r
3777     ],\r
3778     "time_options": [\r
3779       "5m",\r
3780       "15m",\r
3781       "1h",\r
3782       "6h",\r
3783       "12h",\r
3784       "24h",\r
3785       "2d",\r
3786       "7d",\r
3787       "30d"\r
3788     ]\r
3789   },\r
3790   "timezone": "browser",\r
3791   "title": "Istio Mesh Dashboard",\r
3792   "version": 4\r
3793 }\r
3794 '\r
3795 ---\r
3796 apiVersion: v1\r
3797 kind: ConfigMap\r
3798 metadata:\r
3799   name: istio-grafana-configuration-dashboards-istio-performance-dashboard\r
3800   namespace: istio-system\r
3801   labels:\r
3802     app: grafana\r
3803     chart: grafana\r
3804     heritage: Tiller\r
3805     release: istio\r
3806     istio: grafana\r
3807 data:\r
3808   istio-performance-dashboard.json: '{\r
3809   "annotations": {\r
3810     "list": [\r
3811       {\r
3812         "builtIn": 1,\r
3813         "datasource": "-- Grafana --",\r
3814         "enable": true,\r
3815         "hide": true,\r
3816         "iconColor": "rgba(0, 211, 255, 1)",\r
3817         "name": "Annotations & Alerts",\r
3818         "type": "dashboard"\r
3819       }\r
3820     ]\r
3821   },\r
3822   "editable": false,\r
3823   "gnetId": null,\r
3824   "graphTooltip": 0,\r
3825   "id": 9,\r
3826   "links": [],\r
3827   "panels": [\r
3828     {\r
3829       "collapsed": true,\r
3830       "gridPos": {\r
3831         "h": 1,\r
3832         "w": 24,\r
3833         "x": 0,\r
3834         "y": 0\r
3835       },\r
3836       "id": 21,\r
3837       "panels": [\r
3838         {\r
3839           "content": "The charts on this dashboard are intended to show Istio main components cost in terms resources utilization under steady load.\n\n- **vCPU/1k rps:** shows vCPU utilization by the main Istio components normalized by 1000 requests/second. When idle or low traffic, this chart will be blank. The curve for istio-proxy refers to the services sidecars only.\n- **vCPU:** vCPU utilization by Istio components, not normalized.\n- **Memory:** memory footprint for the components. Telemetry and policy are normalized by 1k rps, and no data is shown  when there is no traffic. For ingress and istio-proxy, the data is per instance.\n- **Bytes transferred/ sec:** shows the number of bytes flowing through each Istio component.\n\n\n",\r
3840           "gridPos": {\r
3841             "h": 6,\r
3842             "w": 24,\r
3843             "x": 0,\r
3844             "y": 1\r
3845           },\r
3846           "id": 19,\r
3847           "links": [],\r
3848           "mode": "markdown",\r
3849           "timeFrom": null,\r
3850           "timeShift": null,\r
3851           "title": "Performance Dashboard README",\r
3852           "transparent": true,\r
3853           "type": "text"\r
3854         }\r
3855       ],\r
3856       "title": "Performance Dashboard Notes",\r
3857       "type": "row"\r
3858     },\r
3859     {\r
3860       "collapsed": false,\r
3861       "gridPos": {\r
3862         "h": 1,\r
3863         "w": 24,\r
3864         "x": 0,\r
3865         "y": 1\r
3866       },\r
3867       "id": 6,\r
3868       "panels": [],\r
3869       "title": "vCPU Usage",\r
3870       "type": "row"\r
3871     },\r
3872     {\r
3873       "aliasColors": {},\r
3874       "bars": false,\r
3875       "dashLength": 10,\r
3876       "dashes": false,\r
3877       "fill": 1,\r
3878       "gridPos": {\r
3879         "h": 8,\r
3880         "w": 12,\r
3881         "x": 0,\r
3882         "y": 2\r
3883       },\r
3884       "id": 4,\r
3885       "legend": {\r
3886         "avg": false,\r
3887         "current": false,\r
3888         "max": false,\r
3889         "min": false,\r
3890         "show": true,\r
3891         "total": false,\r
3892         "values": false\r
3893       },\r
3894       "lines": true,\r
3895       "linewidth": 1,\r
3896       "links": [],\r
3897       "nullPointMode": "null",\r
3898       "percentage": false,\r
3899       "pointradius": 2,\r
3900       "points": false,\r
3901       "renderer": "flot",\r
3902       "seriesOverrides": [],\r
3903       "spaceLength": 10,\r
3904       "stack": false,\r
3905       "steppedLine": false,\r
3906       "targets": [\r
3907         {\r
3908           "expr": "(sum(irate(container_cpu_usage_seconds_total{job=\"kubernetes-cadvisor\",pod_name=~\"istio-telemetry-.*\",container_name=~\"mixer|istio-proxy\"}[1m]))/ (round(sum(irate(istio_requests_total[1m])), 0.001)/1000))/ (sum(irate(istio_requests_total{source_workload=\"istio-ingressgateway\"}[1m])) >bool 10)",\r
3909           "format": "time_series",\r
3910           "hide": false,\r
3911           "intervalFactor": 1,\r
3912           "legendFormat": "istio-telemetry",\r
3913           "refId": "A"\r
3914         },\r
3915         {\r
3916           "expr": "(sum(irate(container_cpu_usage_seconds_total{job=\"kubernetes-cadvisor\",pod_name=~\"istio-ingressgateway-.*\",container_name=\"istio-proxy\"}[1m])) / (round(sum(irate(istio_requests_total{source_workload=\"istio-ingressgateway\", reporter=\"source\"}[1m])), 0.001)/1000))",\r
3917           "format": "time_series",\r
3918           "hide": false,\r
3919           "intervalFactor": 1,\r
3920           "legendFormat": "istio-ingressgateway",\r
3921           "refId": "B"\r
3922         },\r
3923         {\r
3924           "expr": "(sum(irate(container_cpu_usage_seconds_total{job=\"kubernetes-cadvisor\",namespace!=\"istio-system\",container_name=\"istio-proxy\"}[1m]))/ (round(sum(irate(istio_requests_total[1m])), 0.001)/1000))/ (sum(irate(istio_requests_total{source_workload=\"istio-ingressgateway\"}[1m])) >bool 10)",\r
3925           "format": "time_series",\r
3926           "intervalFactor": 1,\r
3927           "legendFormat": "istio-proxy",\r
3928           "refId": "C"\r
3929         },\r
3930         {\r
3931           "expr": "(sum(irate(container_cpu_usage_seconds_total{job=\"kubernetes-cadvisor\",pod_name=~\"istio-policy-.*\",container_name=~\"mixer|istio-proxy\"}[1m]))/ (round(sum(irate(istio_requests_total[1m])), 0.001)/1000))/ (sum(irate(istio_requests_total{source_workload=\"istio-ingressgateway\"}[1m])) >bool 10)",\r
3932           "format": "time_series",\r
3933           "intervalFactor": 1,\r
3934           "legendFormat": "istio-policy",\r
3935           "refId": "D"\r
3936         }\r
3937       ],\r
3938       "thresholds": [],\r
3939       "timeFrom": null,\r
3940       "timeRegions": [],\r
3941       "timeShift": null,\r
3942       "title": "vCPU / 1k rps",\r
3943       "tooltip": {\r
3944         "shared": true,\r
3945         "sort": 0,\r
3946         "value_type": "individual"\r
3947       },\r
3948       "type": "graph",\r
3949       "xaxis": {\r
3950         "buckets": null,\r
3951         "mode": "time",\r
3952         "name": null,\r
3953         "show": true,\r
3954         "values": []\r
3955       },\r
3956       "yaxes": [\r
3957         {\r
3958           "format": "short",\r
3959           "label": null,\r
3960           "logBase": 1,\r
3961           "max": null,\r
3962           "min": null,\r
3963           "show": true\r
3964         },\r
3965         {\r
3966           "format": "short",\r
3967           "label": null,\r
3968           "logBase": 1,\r
3969           "max": null,\r
3970           "min": null,\r
3971           "show": true\r
3972         }\r
3973       ],\r
3974       "yaxis": {\r
3975         "align": false,\r
3976         "alignLevel": null\r
3977       }\r
3978     },\r
3979     {\r
3980       "aliasColors": {},\r
3981       "bars": false,\r
3982       "dashLength": 10,\r
3983       "dashes": false,\r
3984       "fill": 1,\r
3985       "gridPos": {\r
3986         "h": 8,\r
3987         "w": 12,\r
3988         "x": 12,\r
3989         "y": 2\r
3990       },\r
3991       "id": 7,\r
3992       "legend": {\r
3993         "avg": false,\r
3994         "current": false,\r
3995         "max": false,\r
3996         "min": false,\r
3997         "show": true,\r
3998         "total": false,\r
3999         "values": false\r
4000       },\r
4001       "lines": true,\r
4002       "linewidth": 1,\r
4003       "links": [],\r
4004       "nullPointMode": "null",\r
4005       "percentage": false,\r
4006       "pointradius": 2,\r
4007       "points": false,\r
4008       "renderer": "flot",\r
4009       "seriesOverrides": [],\r
4010       "spaceLength": 10,\r
4011       "stack": false,\r
4012       "steppedLine": false,\r
4013       "targets": [\r
4014         {\r
4015           "expr": "sum(rate(container_cpu_usage_seconds_total{job=\"kubernetes-cadvisor\",pod_name=~\"istio-telemetry-.*\",container_name=~\"mixer|istio-proxy\"}[1m]))",\r
4016           "format": "time_series",\r
4017           "intervalFactor": 1,\r
4018           "legendFormat": "istio-telemetry",\r
4019           "refId": "A"\r
4020         },\r
4021         {\r
4022           "expr": "sum(rate(container_cpu_usage_seconds_total{job=\"kubernetes-cadvisor\",pod_name=~\"istio-ingressgateway-.*\",container_name=\"istio-proxy\"}[1m]))",\r
4023           "format": "time_series",\r
4024           "intervalFactor": 1,\r
4025           "legendFormat": "istio-ingressgateway",\r
4026           "refId": "B"\r
4027         },\r
4028         {\r
4029           "expr": "sum(rate(container_cpu_usage_seconds_total{job=\"kubernetes-cadvisor\",namespace!=\"istio-system\",container_name=\"istio-proxy\"}[1m]))",\r
4030           "format": "time_series",\r
4031           "intervalFactor": 1,\r
4032           "legendFormat": "istio-proxy",\r
4033           "refId": "C"\r
4034         },\r
4035         {\r
4036           "expr": "sum(rate(container_cpu_usage_seconds_total{job=\"kubernetes-cadvisor\",pod_name=~\"istio-policy-.*\",container_name=~\"mixer|istio-proxy\"}[1m]))",\r
4037           "format": "time_series",\r
4038           "intervalFactor": 1,\r
4039           "legendFormat": "istio-policy",\r
4040           "refId": "D"\r
4041         }\r
4042       ],\r
4043       "thresholds": [],\r
4044       "timeFrom": null,\r
4045       "timeRegions": [],\r
4046       "timeShift": null,\r
4047       "title": "vCPU",\r
4048       "tooltip": {\r
4049         "shared": true,\r
4050         "sort": 0,\r
4051         "value_type": "individual"\r
4052       },\r
4053       "type": "graph",\r
4054       "xaxis": {\r
4055         "buckets": null,\r
4056         "mode": "time",\r
4057         "name": null,\r
4058         "show": true,\r
4059         "values": []\r
4060       },\r
4061       "yaxes": [\r
4062         {\r
4063           "format": "short",\r
4064           "label": null,\r
4065           "logBase": 1,\r
4066           "max": null,\r
4067           "min": null,\r
4068           "show": true\r
4069         },\r
4070         {\r
4071           "format": "short",\r
4072           "label": null,\r
4073           "logBase": 1,\r
4074           "max": null,\r
4075           "min": null,\r
4076           "show": true\r
4077         }\r
4078       ],\r
4079       "yaxis": {\r
4080         "align": false,\r
4081         "alignLevel": null\r
4082       }\r
4083     },\r
4084     {\r
4085       "collapsed": false,\r
4086       "gridPos": {\r
4087         "h": 1,\r
4088         "w": 24,\r
4089         "x": 0,\r
4090         "y": 10\r
4091       },\r
4092       "id": 13,\r
4093       "panels": [],\r
4094       "title": "Memory and Data Rates",\r
4095       "type": "row"\r
4096     },\r
4097     {\r
4098       "aliasColors": {},\r
4099       "bars": false,\r
4100       "dashLength": 10,\r
4101       "dashes": false,\r
4102       "fill": 1,\r
4103       "gridPos": {\r
4104         "h": 8,\r
4105         "w": 12,\r
4106         "x": 0,\r
4107         "y": 11\r
4108       },\r
4109       "id": 902,\r
4110       "legend": {\r
4111         "avg": false,\r
4112         "current": false,\r
4113         "max": false,\r
4114         "min": false,\r
4115         "show": true,\r
4116         "total": false,\r
4117         "values": false\r
4118       },\r
4119       "lines": true,\r
4120       "linewidth": 1,\r
4121       "links": [],\r
4122       "nullPointMode": "null",\r
4123       "percentage": false,\r
4124       "pointradius": 2,\r
4125       "points": false,\r
4126       "renderer": "flot",\r
4127       "seriesOverrides": [],\r
4128       "spaceLength": 10,\r
4129       "stack": false,\r
4130       "steppedLine": false,\r
4131       "targets": [\r
4132         {\r
4133           "expr": "(sum(container_memory_usage_bytes{pod_name=~\"istio-telemetry-.*\"}) / (sum(irate(istio_requests_total[1m])) / 1000)) / (sum(irate(istio_requests_total{source_workload=\"istio-ingressgateway\"}[1m])) >bool 10)",\r
4134           "format": "time_series",\r
4135           "intervalFactor": 1,\r
4136           "legendFormat": "istio-telemetry / 1k rps",\r
4137           "refId": "A"\r
4138         },\r
4139         {\r
4140           "expr": "sum(container_memory_usage_bytes{pod_name=~\"istio-ingressgateway-.*\"}) / count(container_memory_usage_bytes{pod_name=~\"istio-ingressgateway-.*\",container_name!=\"POD\"})",\r
4141           "format": "time_series",\r
4142           "intervalFactor": 1,\r
4143           "legendFormat": "per istio-ingressgateway",\r
4144           "refId": "B"\r
4145         },\r
4146         {\r
4147           "expr": "sum(container_memory_usage_bytes{namespace!=\"istio-system\",container_name=\"istio-proxy\"}) / count(container_memory_usage_bytes{namespace!=\"istio-system\",container_name=\"istio-proxy\"})",\r
4148           "format": "time_series",\r
4149           "intervalFactor": 1,\r
4150           "legendFormat": "per istio proxy",\r
4151           "refId": "C"\r
4152         },\r
4153         {\r
4154           "expr": "(sum(container_memory_usage_bytes{pod_name=~\"istio-policy-.*\"}) / (sum(irate(istio_requests_total[1m])) / 1000))/ (sum(irate(istio_requests_total{source_workload=\"istio-ingressgateway\"}[1m])) >bool 10)",\r
4155           "format": "time_series",\r
4156           "intervalFactor": 1,\r
4157           "legendFormat": "istio-policy / 1k rps",\r
4158           "refId": "D"\r
4159         }\r
4160       ],\r
4161       "thresholds": [],\r
4162       "timeFrom": null,\r
4163       "timeRegions": [],\r
4164       "timeShift": null,\r
4165       "title": "Memory Usage",\r
4166       "tooltip": {\r
4167         "shared": true,\r
4168         "sort": 0,\r
4169         "value_type": "individual"\r
4170       },\r
4171       "type": "graph",\r
4172       "xaxis": {\r
4173         "buckets": null,\r
4174         "mode": "time",\r
4175         "name": null,\r
4176         "show": true,\r
4177         "values": []\r
4178       },\r
4179       "yaxes": [\r
4180         {\r
4181           "format": "bytes",\r
4182           "label": null,\r
4183           "logBase": 1,\r
4184           "max": null,\r
4185           "min": null,\r
4186           "show": true\r
4187         },\r
4188         {\r
4189           "format": "short",\r
4190           "label": null,\r
4191           "logBase": 1,\r
4192           "max": null,\r
4193           "min": null,\r
4194           "show": true\r
4195         }\r
4196       ],\r
4197       "yaxis": {\r
4198         "align": false,\r
4199         "alignLevel": null\r
4200       }\r
4201     },\r
4202     {\r
4203       "aliasColors": {},\r
4204       "bars": false,\r
4205       "dashLength": 10,\r
4206       "dashes": false,\r
4207       "fill": 1,\r
4208       "gridPos": {\r
4209         "h": 8,\r
4210         "w": 12,\r
4211         "x": 12,\r
4212         "y": 11\r
4213       },\r
4214       "id": 11,\r
4215       "legend": {\r
4216         "avg": false,\r
4217         "current": false,\r
4218         "max": false,\r
4219         "min": false,\r
4220         "show": true,\r
4221         "total": false,\r
4222         "values": false\r
4223       },\r
4224       "lines": true,\r
4225       "linewidth": 1,\r
4226       "links": [],\r
4227       "nullPointMode": "null",\r
4228       "percentage": false,\r
4229       "pointradius": 2,\r
4230       "points": false,\r
4231       "renderer": "flot",\r
4232       "seriesOverrides": [],\r
4233       "spaceLength": 10,\r
4234       "stack": false,\r
4235       "steppedLine": false,\r
4236       "targets": [\r
4237         {\r
4238           "expr": "sum(irate(istio_response_bytes_sum{destination_workload=\"istio-telemetry\"}[1m])) + sum(irate(istio_request_bytes_sum{destination_workload=\"istio-telemetry\"}[1m]))",\r
4239           "format": "time_series",\r
4240           "intervalFactor": 1,\r
4241           "legendFormat": "istio-telemetry",\r
4242           "refId": "A"\r
4243         },\r
4244         {\r
4245           "expr": "sum(irate(istio_response_bytes_sum{source_workload=\"istio-ingressgateway\", reporter=\"source\"}[1m]))",\r
4246           "format": "time_series",\r
4247           "intervalFactor": 1,\r
4248           "legendFormat": "istio-ingressgateway",\r
4249           "refId": "B"\r
4250         },\r
4251         {\r
4252           "expr": "sum(irate(istio_response_bytes_sum{source_workload_namespace!=\"istio-system\", reporter=\"source\"}[1m])) + sum(irate(istio_response_bytes_sum{destination_workload_namespace!=\"istio-system\", reporter=\"destination\"}[1m])) + sum(irate(istio_request_bytes_sum{source_workload_namespace!=\"istio-system\", reporter=\"source\"}[1m])) + sum(irate(istio_request_bytes_sum{destination_workload_namespace!=\"istio-system\", reporter=\"destination\"}[1m]))",\r
4253           "format": "time_series",\r
4254           "intervalFactor": 1,\r
4255           "legendFormat": "istio-proxy",\r
4256           "refId": "C"\r
4257         },\r
4258         {\r
4259           "expr": "sum(irate(istio_response_bytes_sum{destination_workload=\"istio-policy\"}[1m])) + sum(irate(istio_request_bytes_sum{destination_workload=\"istio-policy\"}[1m]))",\r
4260           "format": "time_series",\r
4261           "intervalFactor": 1,\r
4262           "legendFormat": "istio_policy",\r
4263           "refId": "D"\r
4264         }\r
4265       ],\r
4266       "thresholds": [],\r
4267       "timeFrom": null,\r
4268       "timeRegions": [],\r
4269       "timeShift": null,\r
4270       "title": "Bytes transferred / sec",\r
4271       "tooltip": {\r
4272         "shared": true,\r
4273         "sort": 0,\r
4274         "value_type": "individual"\r
4275       },\r
4276       "type": "graph",\r
4277       "xaxis": {\r
4278         "buckets": null,\r
4279         "mode": "time",\r
4280         "name": null,\r
4281         "show": true,\r
4282         "values": []\r
4283       },\r
4284       "yaxes": [\r
4285         {\r
4286           "format": "Bps",\r
4287           "label": null,\r
4288           "logBase": 1,\r
4289           "max": null,\r
4290           "min": null,\r
4291           "show": true\r
4292         },\r
4293         {\r
4294           "format": "short",\r
4295           "label": null,\r
4296           "logBase": 1,\r
4297           "max": null,\r
4298           "min": null,\r
4299           "show": true\r
4300         }\r
4301       ],\r
4302       "yaxis": {\r
4303         "align": false,\r
4304         "alignLevel": null\r
4305       }\r
4306     },\r
4307     {\r
4308       "collapsed": false,\r
4309       "gridPos": {\r
4310         "h": 1,\r
4311         "w": 24,\r
4312         "x": 0,\r
4313         "y": 19\r
4314       },\r
4315       "id": 17,\r
4316       "panels": [],\r
4317       "title": "Istio Component Versions",\r
4318       "type": "row"\r
4319     },\r
4320     {\r
4321       "aliasColors": {},\r
4322       "bars": false,\r
4323       "dashLength": 10,\r
4324       "dashes": false,\r
4325       "fill": 1,\r
4326       "gridPos": {\r
4327         "h": 8,\r
4328         "w": 24,\r
4329         "x": 0,\r
4330         "y": 20\r
4331       },\r
4332       "id": 15,\r
4333       "legend": {\r
4334         "avg": false,\r
4335         "current": false,\r
4336         "max": false,\r
4337         "min": false,\r
4338         "show": true,\r
4339         "total": false,\r
4340         "values": false\r
4341       },\r
4342       "lines": true,\r
4343       "linewidth": 1,\r
4344       "links": [],\r
4345       "nullPointMode": "null",\r
4346       "percentage": false,\r
4347       "pointradius": 2,\r
4348       "points": false,\r
4349       "renderer": "flot",\r
4350       "seriesOverrides": [],\r
4351       "spaceLength": 10,\r
4352       "stack": false,\r
4353       "steppedLine": false,\r
4354       "targets": [\r
4355         {\r
4356           "expr": "sum(istio_build) by (component, tag)",\r
4357           "format": "time_series",\r
4358           "intervalFactor": 1,\r
4359           "legendFormat": "{{ component }}: {{ tag }}",\r
4360           "refId": "A"\r
4361         }\r
4362       ],\r
4363       "thresholds": [],\r
4364       "timeFrom": null,\r
4365       "timeRegions": [],\r
4366       "timeShift": null,\r
4367       "title": "Istio Components by Version",\r
4368       "tooltip": {\r
4369         "shared": true,\r
4370         "sort": 0,\r
4371         "value_type": "individual"\r
4372       },\r
4373       "type": "graph",\r
4374       "xaxis": {\r
4375         "buckets": null,\r
4376         "mode": "time",\r
4377         "name": null,\r
4378         "show": true,\r
4379         "values": []\r
4380       },\r
4381       "yaxes": [\r
4382         {\r
4383           "format": "short",\r
4384           "label": null,\r
4385           "logBase": 1,\r
4386           "max": null,\r
4387           "min": null,\r
4388           "show": true\r
4389         },\r
4390         {\r
4391           "format": "short",\r
4392           "label": null,\r
4393           "logBase": 1,\r
4394           "max": null,\r
4395           "min": null,\r
4396           "show": true\r
4397         }\r
4398       ],\r
4399       "yaxis": {\r
4400         "align": false,\r
4401         "alignLevel": null\r
4402       }\r
4403     },\r
4404     {\r
4405       "collapsed": false,\r
4406       "gridPos": {\r
4407         "h": 1,\r
4408         "w": 24,\r
4409         "x": 0,\r
4410         "y": 31\r
4411       },\r
4412       "id": 71,\r
4413       "panels": [],\r
4414       "title": "Proxy Resource Usage",\r
4415       "type": "row"\r
4416     },\r
4417     {\r
4418       "aliasColors": {},\r
4419       "bars": false,\r
4420       "dashLength": 10,\r
4421       "dashes": false,\r
4422       "datasource": "Prometheus",\r
4423       "fill": 1,\r
4424       "gridPos": {\r
4425         "h": 7,\r
4426         "w": 6,\r
4427         "x": 0,\r
4428         "y": 32\r
4429       },\r
4430       "id": 72,\r
4431       "legend": {\r
4432         "avg": false,\r
4433         "current": false,\r
4434         "max": false,\r
4435         "min": false,\r
4436         "show": true,\r
4437         "total": false,\r
4438         "values": false\r
4439       },\r
4440       "lines": true,\r
4441       "linewidth": 1,\r
4442       "links": [],\r
4443       "nullPointMode": "null",\r
4444       "percentage": false,\r
4445       "pointradius": 5,\r
4446       "points": false,\r
4447       "renderer": "flot",\r
4448       "seriesOverrides": [],\r
4449       "spaceLength": 10,\r
4450       "stack": false,\r
4451       "steppedLine": false,\r
4452       "targets": [\r
4453         {\r
4454           "expr": "sum(container_memory_usage_bytes{container_name=\"istio-proxy\"})",\r
4455           "format": "time_series",\r
4456           "hide": false,\r
4457           "intervalFactor": 2,\r
4458           "legendFormat": "{{ container_name }} (k8s)",\r
4459           "refId": "B",\r
4460           "step": 2\r
4461         }\r
4462       ],\r
4463       "thresholds": [],\r
4464       "timeFrom": null,\r
4465       "timeRegions": [],\r
4466       "timeShift": null,\r
4467       "title": "Memory",\r
4468       "tooltip": {\r
4469         "shared": true,\r
4470         "sort": 0,\r
4471         "value_type": "individual"\r
4472       },\r
4473       "type": "graph",\r
4474       "xaxis": {\r
4475         "buckets": null,\r
4476         "mode": "time",\r
4477         "name": null,\r
4478         "show": true,\r
4479         "values": []\r
4480       },\r
4481       "yaxes": [\r
4482         {\r
4483           "format": "bytes",\r
4484           "label": null,\r
4485           "logBase": 1,\r
4486           "max": null,\r
4487           "min": null,\r
4488           "show": true\r
4489         },\r
4490         {\r
4491           "format": "short",\r
4492           "label": null,\r
4493           "logBase": 1,\r
4494           "max": null,\r
4495           "min": null,\r
4496           "show": false\r
4497         }\r
4498       ],\r
4499       "yaxis": {\r
4500         "align": false,\r
4501         "alignLevel": null\r
4502       }\r
4503     },\r
4504     {\r
4505       "aliasColors": {},\r
4506       "bars": false,\r
4507       "dashLength": 10,\r
4508       "dashes": false,\r
4509       "datasource": "Prometheus",\r
4510       "fill": 1,\r
4511       "gridPos": {\r
4512         "h": 7,\r
4513         "w": 6,\r
4514         "x": 6,\r
4515         "y": 32\r
4516       },\r
4517       "id": 73,\r
4518       "legend": {\r
4519         "avg": false,\r
4520         "current": false,\r
4521         "max": false,\r
4522         "min": false,\r
4523         "show": true,\r
4524         "total": false,\r
4525         "values": false\r
4526       },\r
4527       "lines": true,\r
4528       "linewidth": 1,\r
4529       "links": [],\r
4530       "nullPointMode": "null",\r
4531       "percentage": false,\r
4532       "pointradius": 5,\r
4533       "points": false,\r
4534       "renderer": "flot",\r
4535       "seriesOverrides": [],\r
4536       "spaceLength": 10,\r
4537       "stack": false,\r
4538       "steppedLine": false,\r
4539       "targets": [\r
4540         {\r
4541           "expr": "sum(rate(container_cpu_usage_seconds_total{job=\"kubernetes-cadvisor\",container_name=\"istio-proxy\"}[1m]))",\r
4542           "format": "time_series",\r
4543           "hide": false,\r
4544           "intervalFactor": 2,\r
4545           "legendFormat": "Total (k8s)",\r
4546           "refId": "A",\r
4547           "step": 2\r
4548         }\r
4549       ],\r
4550       "thresholds": [],\r
4551       "timeFrom": null,\r
4552       "timeRegions": [],\r
4553       "timeShift": null,\r
4554       "title": "vCPU",\r
4555       "tooltip": {\r
4556         "shared": true,\r
4557         "sort": 0,\r
4558         "value_type": "individual"\r
4559       },\r
4560       "type": "graph",\r
4561       "xaxis": {\r
4562         "buckets": null,\r
4563         "mode": "time",\r
4564         "name": null,\r
4565         "show": true,\r
4566         "values": []\r
4567       },\r
4568       "yaxes": [\r
4569         {\r
4570           "format": "short",\r
4571           "label": null,\r
4572           "logBase": 1,\r
4573           "max": null,\r
4574           "min": null,\r
4575           "show": true\r
4576         },\r
4577         {\r
4578           "format": "short",\r
4579           "label": null,\r
4580           "logBase": 1,\r
4581           "max": null,\r
4582           "min": null,\r
4583           "show": true\r
4584         }\r
4585       ],\r
4586       "yaxis": {\r
4587         "align": false,\r
4588         "alignLevel": null\r
4589       }\r
4590     },\r
4591     {\r
4592       "aliasColors": {},\r
4593       "bars": false,\r
4594       "dashLength": 10,\r
4595       "dashes": false,\r
4596       "datasource": "Prometheus",\r
4597       "fill": 1,\r
4598       "gridPos": {\r
4599         "h": 7,\r
4600         "w": 6,\r
4601         "x": 12,\r
4602         "y": 32\r
4603       },\r
4604       "id": 702,\r
4605       "legend": {\r
4606         "avg": false,\r
4607         "current": false,\r
4608         "max": false,\r
4609         "min": false,\r
4610         "show": true,\r
4611         "total": false,\r
4612         "values": false\r
4613       },\r
4614       "lines": true,\r
4615       "linewidth": 1,\r
4616       "links": [],\r
4617       "nullPointMode": "null",\r
4618       "percentage": false,\r
4619       "pointradius": 5,\r
4620       "points": false,\r
4621       "renderer": "flot",\r
4622       "seriesOverrides": [],\r
4623       "spaceLength": 10,\r
4624       "stack": false,\r
4625       "steppedLine": false,\r
4626       "targets": [\r
4627         {\r
4628           "expr": "sum(container_fs_usage_bytes{container_name=\"istio-proxy\"})",\r
4629           "format": "time_series",\r
4630           "intervalFactor": 2,\r
4631           "legendFormat": "{{ container_name }}",\r
4632           "refId": "B",\r
4633           "step": 2\r
4634         }\r
4635       ],\r
4636       "thresholds": [],\r
4637       "timeFrom": null,\r
4638       "timeRegions": [],\r
4639       "timeShift": null,\r
4640       "title": "Disk",\r
4641       "tooltip": {\r
4642         "shared": true,\r
4643         "sort": 0,\r
4644         "value_type": "individual"\r
4645       },\r
4646       "type": "graph",\r
4647       "xaxis": {\r
4648         "buckets": null,\r
4649         "mode": "time",\r
4650         "name": null,\r
4651         "show": true,\r
4652         "values": []\r
4653       },\r
4654       "yaxes": [\r
4655         {\r
4656           "format": "bytes",\r
4657           "label": "",\r
4658           "logBase": 1,\r
4659           "max": null,\r
4660           "min": null,\r
4661           "show": true\r
4662         },\r
4663         {\r
4664           "decimals": null,\r
4665           "format": "none",\r
4666           "label": "",\r
4667           "logBase": 1024,\r
4668           "max": null,\r
4669           "min": null,\r
4670           "show": false\r
4671         }\r
4672       ],\r
4673       "yaxis": {\r
4674         "align": false,\r
4675         "alignLevel": null\r
4676       }\r
4677     },\r
4678     {\r
4679       "collapsed": false,\r
4680       "gridPos": {\r
4681         "h": 1,\r
4682         "w": 24,\r
4683         "x": 0,\r
4684         "y": 39\r
4685       },\r
4686       "id": 69,\r
4687       "panels": [],\r
4688       "title": "Pilot Resource Usage",\r
4689       "type": "row"\r
4690     },\r
4691     {\r
4692       "aliasColors": {},\r
4693       "bars": false,\r
4694       "dashLength": 10,\r
4695       "dashes": false,\r
4696       "datasource": "Prometheus",\r
4697       "fill": 1,\r
4698       "gridPos": {\r
4699         "h": 7,\r
4700         "w": 6,\r
4701         "x": 0,\r
4702         "y": 40\r
4703       },\r
4704       "id": 5,\r
4705       "legend": {\r
4706         "avg": false,\r
4707         "current": false,\r
4708         "max": false,\r
4709         "min": false,\r
4710         "show": true,\r
4711         "total": false,\r
4712         "values": false\r
4713       },\r
4714       "lines": true,\r
4715       "linewidth": 1,\r
4716       "links": [],\r
4717       "nullPointMode": "null",\r
4718       "percentage": false,\r
4719       "pointradius": 5,\r
4720       "points": false,\r
4721       "renderer": "flot",\r
4722       "seriesOverrides": [],\r
4723       "spaceLength": 10,\r
4724       "stack": false,\r
4725       "steppedLine": false,\r
4726       "targets": [\r
4727         {\r
4728           "expr": "process_virtual_memory_bytes{job=\"pilot\"}",\r
4729           "format": "time_series",\r
4730           "instant": false,\r
4731           "intervalFactor": 2,\r
4732           "legendFormat": "Virtual Memory",\r
4733           "refId": "I",\r
4734           "step": 2\r
4735         },\r
4736         {\r
4737           "expr": "process_resident_memory_bytes{job=\"pilot\"}",\r
4738           "format": "time_series",\r
4739           "intervalFactor": 2,\r
4740           "legendFormat": "Resident Memory",\r
4741           "refId": "H",\r
4742           "step": 2\r
4743         },\r
4744         {\r
4745           "expr": "go_memstats_heap_sys_bytes{job=\"pilot\"}",\r
4746           "format": "time_series",\r
4747           "hide": true,\r
4748           "intervalFactor": 2,\r
4749           "legendFormat": "heap sys",\r
4750           "refId": "A"\r
4751         },\r
4752         {\r
4753           "expr": "go_memstats_heap_alloc_bytes{job=\"pilot\"}",\r
4754           "format": "time_series",\r
4755           "hide": true,\r
4756           "intervalFactor": 2,\r
4757           "legendFormat": "heap alloc",\r
4758           "refId": "D"\r
4759         },\r
4760         {\r
4761           "expr": "go_memstats_alloc_bytes{job=\"pilot\"}",\r
4762           "format": "time_series",\r
4763           "intervalFactor": 2,\r
4764           "legendFormat": "Alloc",\r
4765           "refId": "F",\r
4766           "step": 2\r
4767         },\r
4768         {\r
4769           "expr": "go_memstats_heap_inuse_bytes{job=\"pilot\"}",\r
4770           "format": "time_series",\r
4771           "hide": false,\r
4772           "intervalFactor": 2,\r
4773           "legendFormat": "Heap in-use",\r
4774           "refId": "E",\r
4775           "step": 2\r
4776         },\r
4777         {\r
4778           "expr": "go_memstats_stack_inuse_bytes{job=\"pilot\"}",\r
4779           "format": "time_series",\r
4780           "intervalFactor": 2,\r
4781           "legendFormat": "Stack in-use",\r
4782           "refId": "G",\r
4783           "step": 2\r
4784         },\r
4785         {\r
4786           "expr": "sum(container_memory_usage_bytes{container_name=~\"discovery|istio-proxy\", pod_name=~\"istio-pilot-.*\"})",\r
4787           "format": "time_series",\r
4788           "hide": false,\r
4789           "intervalFactor": 2,\r
4790           "legendFormat": "Total (k8s)",\r
4791           "refId": "C",\r
4792           "step": 2\r
4793         },\r
4794         {\r
4795           "expr": "container_memory_usage_bytes{container_name=~\"discovery|istio-proxy\", pod_name=~\"istio-pilot-.*\"}",\r
4796           "format": "time_series",\r
4797           "hide": false,\r
4798           "intervalFactor": 2,\r
4799           "legendFormat": "{{ container_name }} (k8s)",\r
4800           "refId": "B",\r
4801           "step": 2\r
4802         }\r
4803       ],\r
4804       "thresholds": [],\r
4805       "timeFrom": null,\r
4806       "timeRegions": [],\r
4807       "timeShift": null,\r
4808       "title": "Memory",\r
4809       "tooltip": {\r
4810         "shared": true,\r
4811         "sort": 0,\r
4812         "value_type": "individual"\r
4813       },\r
4814       "type": "graph",\r
4815       "xaxis": {\r
4816         "buckets": null,\r
4817         "mode": "time",\r
4818         "name": null,\r
4819         "show": true,\r
4820         "values": []\r
4821       },\r
4822       "yaxes": [\r
4823         {\r
4824           "format": "bytes",\r
4825           "label": null,\r
4826           "logBase": 1,\r
4827           "max": null,\r
4828           "min": null,\r
4829           "show": true\r
4830         },\r
4831         {\r
4832           "format": "short",\r
4833           "label": null,\r
4834           "logBase": 1,\r
4835           "max": null,\r
4836           "min": null,\r
4837           "show": false\r
4838         }\r
4839       ],\r
4840       "yaxis": {\r
4841         "align": false,\r
4842         "alignLevel": null\r
4843       }\r
4844     },\r
4845     {\r
4846       "aliasColors": {},\r
4847       "bars": false,\r
4848       "dashLength": 10,\r
4849       "dashes": false,\r
4850       "datasource": "Prometheus",\r
4851       "fill": 1,\r
4852       "gridPos": {\r
4853         "h": 7,\r
4854         "w": 6,\r
4855         "x": 6,\r
4856         "y": 40\r
4857       },\r
4858       "id": 602,\r
4859       "legend": {\r
4860         "avg": false,\r
4861         "current": false,\r
4862         "max": false,\r
4863         "min": false,\r
4864         "show": true,\r
4865         "total": false,\r
4866         "values": false\r
4867       },\r
4868       "lines": true,\r
4869       "linewidth": 1,\r
4870       "links": [],\r
4871       "nullPointMode": "null",\r
4872       "percentage": false,\r
4873       "pointradius": 5,\r
4874       "points": false,\r
4875       "renderer": "flot",\r
4876       "seriesOverrides": [],\r
4877       "spaceLength": 10,\r
4878       "stack": false,\r
4879       "steppedLine": false,\r
4880       "targets": [\r
4881         {\r
4882           "expr": "sum(rate(container_cpu_usage_seconds_total{job=\"kubernetes-cadvisor\",container_name=~\"discovery|istio-proxy\", pod_name=~\"istio-pilot-.*\"}[1m]))",\r
4883           "format": "time_series",\r
4884           "hide": false,\r
4885           "intervalFactor": 2,\r
4886           "legendFormat": "Total (k8s)",\r
4887           "refId": "A",\r
4888           "step": 2\r
4889         },\r
4890         {\r
4891           "expr": "sum(rate(container_cpu_usage_seconds_total{job=\"kubernetes-cadvisor\",container_name=~\"discovery|istio-proxy\", pod_name=~\"istio-pilot-.*\"}[1m])) by (container_name)",\r
4892           "format": "time_series",\r
4893           "hide": false,\r
4894           "intervalFactor": 2,\r
4895           "legendFormat": "{{ container_name }} (k8s)",\r
4896           "refId": "B",\r
4897           "step": 2\r
4898         },\r
4899         {\r
4900           "expr": "irate(process_cpu_seconds_total{job=\"pilot\"}[1m])",\r
4901           "format": "time_series",\r
4902           "hide": false,\r
4903           "intervalFactor": 2,\r
4904           "legendFormat": "pilot (self-reported)",\r
4905           "refId": "C",\r
4906           "step": 2\r
4907         }\r
4908       ],\r
4909       "thresholds": [],\r
4910       "timeFrom": null,\r
4911       "timeRegions": [],\r
4912       "timeShift": null,\r
4913       "title": "vCPU",\r
4914       "tooltip": {\r
4915         "shared": true,\r
4916         "sort": 0,\r
4917         "value_type": "individual"\r
4918       },\r
4919       "type": "graph",\r
4920       "xaxis": {\r
4921         "buckets": null,\r
4922         "mode": "time",\r
4923         "name": null,\r
4924         "show": true,\r
4925         "values": []\r
4926       },\r
4927       "yaxes": [\r
4928         {\r
4929           "format": "short",\r
4930           "label": null,\r
4931           "logBase": 1,\r
4932           "max": null,\r
4933           "min": null,\r
4934           "show": true\r
4935         },\r
4936         {\r
4937           "format": "short",\r
4938           "label": null,\r
4939           "logBase": 1,\r
4940           "max": null,\r
4941           "min": null,\r
4942           "show": true\r
4943         }\r
4944       ],\r
4945       "yaxis": {\r
4946         "align": false,\r
4947         "alignLevel": null\r
4948       }\r
4949     },\r
4950     {\r
4951       "aliasColors": {},\r
4952       "bars": false,\r
4953       "dashLength": 10,\r
4954       "dashes": false,\r
4955       "datasource": "Prometheus",\r
4956       "fill": 1,\r
4957       "gridPos": {\r
4958         "h": 7,\r
4959         "w": 6,\r
4960         "x": 12,\r
4961         "y": 40\r
4962       },\r
4963       "id": 74,\r
4964       "legend": {\r
4965         "avg": false,\r
4966         "current": false,\r
4967         "max": false,\r
4968         "min": false,\r
4969         "show": true,\r
4970         "total": false,\r
4971         "values": false\r
4972       },\r
4973       "lines": true,\r
4974       "linewidth": 1,\r
4975       "links": [],\r
4976       "nullPointMode": "null",\r
4977       "percentage": false,\r
4978       "pointradius": 5,\r
4979       "points": false,\r
4980       "renderer": "flot",\r
4981       "seriesOverrides": [],\r
4982       "spaceLength": 10,\r
4983       "stack": false,\r
4984       "steppedLine": false,\r
4985       "targets": [\r
4986         {\r
4987           "expr": "process_open_fds{job=\"pilot\"}",\r
4988           "format": "time_series",\r
4989           "hide": true,\r
4990           "instant": false,\r
4991           "interval": "",\r
4992           "intervalFactor": 2,\r
4993           "legendFormat": "Open FDs (pilot)",\r
4994           "refId": "A"\r
4995         },\r
4996         {\r
4997           "expr": "container_fs_usage_bytes{container_name=~\"discovery|istio-proxy\", pod_name=~\"istio-pilot-.*\"}",\r
4998           "format": "time_series",\r
4999           "intervalFactor": 2,\r
5000           "legendFormat": "{{ container_name }}",\r
5001           "refId": "B",\r
5002           "step": 2\r
5003         }\r
5004       ],\r
5005       "thresholds": [],\r
5006       "timeFrom": null,\r
5007       "timeRegions": [],\r
5008       "timeShift": null,\r
5009       "title": "Disk",\r
5010       "tooltip": {\r
5011         "shared": true,\r
5012         "sort": 0,\r
5013         "value_type": "individual"\r
5014       },\r
5015       "type": "graph",\r
5016       "xaxis": {\r
5017         "buckets": null,\r
5018         "mode": "time",\r
5019         "name": null,\r
5020         "show": true,\r
5021         "values": []\r
5022       },\r
5023       "yaxes": [\r
5024         {\r
5025           "format": "bytes",\r
5026           "label": "",\r
5027           "logBase": 1,\r
5028           "max": null,\r
5029           "min": null,\r
5030           "show": true\r
5031         },\r
5032         {\r
5033           "decimals": null,\r
5034           "format": "none",\r
5035           "label": "",\r
5036           "logBase": 1024,\r
5037           "max": null,\r
5038           "min": null,\r
5039           "show": false\r
5040         }\r
5041       ],\r
5042       "yaxis": {\r
5043         "align": false,\r
5044         "alignLevel": null\r
5045       }\r
5046     },\r
5047     {\r
5048       "aliasColors": {},\r
5049       "bars": false,\r
5050       "dashLength": 10,\r
5051       "dashes": false,\r
5052       "datasource": "Prometheus",\r
5053       "fill": 1,\r
5054       "gridPos": {\r
5055         "h": 7,\r
5056         "w": 6,\r
5057         "x": 18,\r
5058         "y": 40\r
5059       },\r
5060       "id": 402,\r
5061       "legend": {\r
5062         "avg": false,\r
5063         "current": false,\r
5064         "max": false,\r
5065         "min": false,\r
5066         "show": false,\r
5067         "total": false,\r
5068         "values": false\r
5069       },\r
5070       "lines": true,\r
5071       "linewidth": 1,\r
5072       "links": [],\r
5073       "nullPointMode": "null",\r
5074       "percentage": false,\r
5075       "pointradius": 5,\r
5076       "points": false,\r
5077       "renderer": "flot",\r
5078       "seriesOverrides": [],\r
5079       "spaceLength": 10,\r
5080       "stack": false,\r
5081       "steppedLine": false,\r
5082       "targets": [\r
5083         {\r
5084           "expr": "go_goroutines{job=\"pilot\"}",\r
5085           "format": "time_series",\r
5086           "intervalFactor": 2,\r
5087           "legendFormat": "Number of Goroutines",\r
5088           "refId": "A",\r
5089           "step": 2\r
5090         }\r
5091       ],\r
5092       "thresholds": [],\r
5093       "timeFrom": null,\r
5094       "timeRegions": [],\r
5095       "timeShift": null,\r
5096       "title": "Goroutines",\r
5097       "tooltip": {\r
5098         "shared": true,\r
5099         "sort": 0,\r
5100         "value_type": "individual"\r
5101       },\r
5102       "type": "graph",\r
5103       "xaxis": {\r
5104         "buckets": null,\r
5105         "mode": "time",\r
5106         "name": null,\r
5107         "show": true,\r
5108         "values": []\r
5109       },\r
5110       "yaxes": [\r
5111         {\r
5112           "format": "short",\r
5113           "label": "",\r
5114           "logBase": 1,\r
5115           "max": null,\r
5116           "min": null,\r
5117           "show": true\r
5118         },\r
5119         {\r
5120           "format": "short",\r
5121           "label": null,\r
5122           "logBase": 1,\r
5123           "max": null,\r
5124           "min": null,\r
5125           "show": true\r
5126         }\r
5127       ],\r
5128       "yaxis": {\r
5129         "align": false,\r
5130         "alignLevel": null\r
5131       }\r
5132     },\r
5133     {\r
5134       "collapsed": false,\r
5135       "gridPos": {\r
5136         "h": 1,\r
5137         "w": 24,\r
5138         "x": 0,\r
5139         "y": 47\r
5140       },\r
5141       "id": 93,\r
5142       "panels": [],\r
5143       "title": "Mixer Resource Usage",\r
5144       "type": "row"\r
5145     },\r
5146     {\r
5147       "aliasColors": {},\r
5148       "bars": false,\r
5149       "dashLength": 10,\r
5150       "dashes": false,\r
5151       "datasource": "Prometheus",\r
5152       "fill": 1,\r
5153       "gridPos": {\r
5154         "h": 7,\r
5155         "w": 6,\r
5156         "x": 0,\r
5157         "y": 48\r
5158       },\r
5159       "id": 94,\r
5160       "legend": {\r
5161         "avg": false,\r
5162         "current": false,\r
5163         "max": false,\r
5164         "min": false,\r
5165         "show": true,\r
5166         "total": false,\r
5167         "values": false\r
5168       },\r
5169       "lines": true,\r
5170       "linewidth": 1,\r
5171       "links": [],\r
5172       "nullPointMode": "null",\r
5173       "percentage": false,\r
5174       "pointradius": 5,\r
5175       "points": false,\r
5176       "renderer": "flot",\r
5177       "seriesOverrides": [],\r
5178       "spaceLength": 10,\r
5179       "stack": false,\r
5180       "steppedLine": false,\r
5181       "targets": [\r
5182         {\r
5183           "expr": "process_virtual_memory_bytes{job=~\"istio-telemetry|istio-policy\"}",\r
5184           "format": "time_series",\r
5185           "instant": false,\r
5186           "intervalFactor": 2,\r
5187           "legendFormat": "Virtual Memory",\r
5188           "refId": "I",\r
5189           "step": 2\r
5190         },\r
5191         {\r
5192           "expr": "process_resident_memory_bytes{job=~\"istio-telemetry|istio-policy\"}",\r
5193           "format": "time_series",\r
5194           "intervalFactor": 2,\r
5195           "legendFormat": "Resident Memory",\r
5196           "refId": "H",\r
5197           "step": 2\r
5198         },\r
5199         {\r
5200           "expr": "go_memstats_heap_sys_bytes{job=~\"istio-telemetry|istio-policy\"}",\r
5201           "format": "time_series",\r
5202           "hide": true,\r
5203           "intervalFactor": 2,\r
5204           "legendFormat": "heap sys",\r
5205           "refId": "A"\r
5206         },\r
5207         {\r
5208           "expr": "go_memstats_heap_alloc_bytes{job=~\"istio-telemetry|istio-policy\"}",\r
5209           "format": "time_series",\r
5210           "hide": true,\r
5211           "intervalFactor": 2,\r
5212           "legendFormat": "heap alloc",\r
5213           "refId": "D"\r
5214         },\r
5215         {\r
5216           "expr": "go_memstats_alloc_bytes{job=~\"istio-telemetry|istio-policy\"}",\r
5217           "format": "time_series",\r
5218           "intervalFactor": 2,\r
5219           "legendFormat": "Alloc",\r
5220           "refId": "F",\r
5221           "step": 2\r
5222         },\r
5223         {\r
5224           "expr": "go_memstats_heap_inuse_bytes{job=~\"istio-telemetry|istio-policy\"}",\r
5225           "format": "time_series",\r
5226           "hide": false,\r
5227           "intervalFactor": 2,\r
5228           "legendFormat": "Heap in-use",\r
5229           "refId": "E",\r
5230           "step": 2\r
5231         },\r
5232         {\r
5233           "expr": "go_memstats_stack_inuse_bytes{job=~\"istio-policy|istio-telemetry\"}",\r
5234           "format": "time_series",\r
5235           "intervalFactor": 2,\r
5236           "legendFormat": "Stack in-use",\r
5237           "refId": "G",\r
5238           "step": 2\r
5239         },\r
5240         {\r
5241           "expr": "sum(container_memory_usage_bytes{container_name=~\"mixer|istio-proxy\", pod_name=~\"istio-telemetry-.*\"})",\r
5242           "format": "time_series",\r
5243           "hide": false,\r
5244           "intervalFactor": 2,\r
5245           "legendFormat": "Total (k8s)",\r
5246           "refId": "C",\r
5247           "step": 2\r
5248         },\r
5249         {\r
5250           "expr": "container_memory_usage_bytes{container_name=~\"mixer|istio-proxy\", pod_name=~\"istio-telemetry-.*\"}",\r
5251           "format": "time_series",\r
5252           "hide": false,\r
5253           "intervalFactor": 2,\r
5254           "legendFormat": "{{ container_name }} (k8s)",\r
5255           "refId": "B",\r
5256           "step": 2\r
5257         }\r
5258       ],\r
5259       "thresholds": [],\r
5260       "timeFrom": null,\r
5261       "timeRegions": [],\r
5262       "timeShift": null,\r
5263       "title": "Memory",\r
5264       "tooltip": {\r
5265         "shared": true,\r
5266         "sort": 0,\r
5267         "value_type": "individual"\r
5268       },\r
5269       "type": "graph",\r
5270       "xaxis": {\r
5271         "buckets": null,\r
5272         "mode": "time",\r
5273         "name": null,\r
5274         "show": true,\r
5275         "values": []\r
5276       },\r
5277       "yaxes": [\r
5278         {\r
5279           "format": "bytes",\r
5280           "label": null,\r
5281           "logBase": 1,\r
5282           "max": null,\r
5283           "min": null,\r
5284           "show": true\r
5285         },\r
5286         {\r
5287           "format": "short",\r
5288           "label": null,\r
5289           "logBase": 1,\r
5290           "max": null,\r
5291           "min": null,\r
5292           "show": false\r
5293         }\r
5294       ],\r
5295       "yaxis": {\r
5296         "align": false,\r
5297         "alignLevel": null\r
5298       }\r
5299     },\r
5300     {\r
5301       "aliasColors": {},\r
5302       "bars": false,\r
5303       "dashLength": 10,\r
5304       "dashes": false,\r
5305       "datasource": "Prometheus",\r
5306       "fill": 1,\r
5307       "gridPos": {\r
5308         "h": 7,\r
5309         "w": 6,\r
5310         "x": 6,\r
5311         "y": 48\r
5312       },\r
5313       "id": 95,\r
5314       "legend": {\r
5315         "avg": false,\r
5316         "current": false,\r
5317         "max": false,\r
5318         "min": false,\r
5319         "show": true,\r
5320         "total": false,\r
5321         "values": false\r
5322       },\r
5323       "lines": true,\r
5324       "linewidth": 1,\r
5325       "links": [],\r
5326       "nullPointMode": "null",\r
5327       "percentage": false,\r
5328       "pointradius": 5,\r
5329       "points": false,\r
5330       "renderer": "flot",\r
5331       "seriesOverrides": [],\r
5332       "spaceLength": 10,\r
5333       "stack": false,\r
5334       "steppedLine": false,\r
5335       "targets": [\r
5336         {\r
5337           "expr": "sum(rate(container_cpu_usage_seconds_total{job=\"kubernetes-cadvisor\",container_name=~\"mixer|istio-proxy\", pod_name=~\"istio-telemetry-.*\"}[1m]))",\r
5338           "format": "time_series",\r
5339           "hide": false,\r
5340           "intervalFactor": 2,\r
5341           "legendFormat": "Total (k8s)",\r
5342           "refId": "A",\r
5343           "step": 2\r
5344         },\r
5345         {\r
5346           "expr": "sum(rate(container_cpu_usage_seconds_total{job=\"kubernetes-cadvisor\",container_name=~\"mixer|istio-proxy\", pod_name=~\"istio-telemetry-.*\"}[1m])) by (container_name)",\r
5347           "format": "time_series",\r
5348           "hide": false,\r
5349           "intervalFactor": 2,\r
5350           "legendFormat": "{{ container_name }} (k8s)",\r
5351           "refId": "B",\r
5352           "step": 2\r
5353         },\r
5354         {\r
5355           "expr": "irate(process_cpu_seconds_total{job=~\"istio-policy|istio-telemetry\"}[1m])",\r
5356           "format": "time_series",\r
5357           "hide": false,\r
5358           "intervalFactor": 2,\r
5359           "legendFormat": "mixer (self-reported)",\r
5360           "refId": "C",\r
5361           "step": 2\r
5362         }\r
5363       ],\r
5364       "thresholds": [],\r
5365       "timeFrom": null,\r
5366       "timeRegions": [],\r
5367       "timeShift": null,\r
5368       "title": "vCPU",\r
5369       "tooltip": {\r
5370         "shared": true,\r
5371         "sort": 0,\r
5372         "value_type": "individual"\r
5373       },\r
5374       "type": "graph",\r
5375       "xaxis": {\r
5376         "buckets": null,\r
5377         "mode": "time",\r
5378         "name": null,\r
5379         "show": true,\r
5380         "values": []\r
5381       },\r
5382       "yaxes": [\r
5383         {\r
5384           "format": "short",\r
5385           "label": null,\r
5386           "logBase": 1,\r
5387           "max": null,\r
5388           "min": null,\r
5389           "show": true\r
5390         },\r
5391         {\r
5392           "format": "short",\r
5393           "label": null,\r
5394           "logBase": 1,\r
5395           "max": null,\r
5396           "min": null,\r
5397           "show": true\r
5398         }\r
5399       ],\r
5400       "yaxis": {\r
5401         "align": false,\r
5402         "alignLevel": null\r
5403       }\r
5404     },\r
5405     {\r
5406       "aliasColors": {},\r
5407       "bars": false,\r
5408       "dashLength": 10,\r
5409       "dashes": false,\r
5410       "datasource": "Prometheus",\r
5411       "fill": 1,\r
5412       "gridPos": {\r
5413         "h": 7,\r
5414         "w": 6,\r
5415         "x": 12,\r
5416         "y": 48\r
5417       },\r
5418       "id": 96,\r
5419       "legend": {\r
5420         "avg": false,\r
5421         "current": false,\r
5422         "max": false,\r
5423         "min": false,\r
5424         "show": true,\r
5425         "total": false,\r
5426         "values": false\r
5427       },\r
5428       "lines": true,\r
5429       "linewidth": 1,\r
5430       "links": [],\r
5431       "nullPointMode": "null",\r
5432       "percentage": false,\r
5433       "pointradius": 5,\r
5434       "points": false,\r
5435       "renderer": "flot",\r
5436       "seriesOverrides": [],\r
5437       "spaceLength": 10,\r
5438       "stack": false,\r
5439       "steppedLine": false,\r
5440       "targets": [\r
5441         {\r
5442           "expr": "process_open_fds{job=~\"istio-policy|istio-telemetry\"}",\r
5443           "format": "time_series",\r
5444           "hide": true,\r
5445           "instant": false,\r
5446           "interval": "",\r
5447           "intervalFactor": 2,\r
5448           "legendFormat": "Open FDs (pilot)",\r
5449           "refId": "A"\r
5450         },\r
5451         {\r
5452           "expr": "container_fs_usage_bytes{container_name=~\"mixer|istio-proxy\", pod_name=~\"istio-telemetry-.*\"}",\r
5453           "format": "time_series",\r
5454           "intervalFactor": 2,\r
5455           "legendFormat": "{{ container_name }}",\r
5456           "refId": "B",\r
5457           "step": 2\r
5458         }\r
5459       ],\r
5460       "thresholds": [],\r
5461       "timeFrom": null,\r
5462       "timeRegions": [],\r
5463       "timeShift": null,\r
5464       "title": "Disk",\r
5465       "tooltip": {\r
5466         "shared": true,\r
5467         "sort": 0,\r
5468         "value_type": "individual"\r
5469       },\r
5470       "type": "graph",\r
5471       "xaxis": {\r
5472         "buckets": null,\r
5473         "mode": "time",\r
5474         "name": null,\r
5475         "show": true,\r
5476         "values": []\r
5477       },\r
5478       "yaxes": [\r
5479         {\r
5480           "format": "bytes",\r
5481           "label": "",\r
5482           "logBase": 1,\r
5483           "max": null,\r
5484           "min": null,\r
5485           "show": true\r
5486         },\r
5487         {\r
5488           "decimals": null,\r
5489           "format": "none",\r
5490           "label": "",\r
5491           "logBase": 1024,\r
5492           "max": null,\r
5493           "min": null,\r
5494           "show": false\r
5495         }\r
5496       ],\r
5497       "yaxis": {\r
5498         "align": false,\r
5499         "alignLevel": null\r
5500       }\r
5501     },\r
5502     {\r
5503       "aliasColors": {},\r
5504       "bars": false,\r
5505       "dashLength": 10,\r
5506       "dashes": false,\r
5507       "datasource": "Prometheus",\r
5508       "fill": 1,\r
5509       "gridPos": {\r
5510         "h": 7,\r
5511         "w": 6,\r
5512         "x": 18,\r
5513         "y": 48\r
5514       },\r
5515       "id": 97,\r
5516       "legend": {\r
5517         "avg": false,\r
5518         "current": false,\r
5519         "max": false,\r
5520         "min": false,\r
5521         "show": false,\r
5522         "total": false,\r
5523         "values": false\r
5524       },\r
5525       "lines": true,\r
5526       "linewidth": 1,\r
5527       "links": [],\r
5528       "nullPointMode": "null",\r
5529       "percentage": false,\r
5530       "pointradius": 5,\r
5531       "points": false,\r
5532       "renderer": "flot",\r
5533       "seriesOverrides": [],\r
5534       "spaceLength": 10,\r
5535       "stack": false,\r
5536       "steppedLine": false,\r
5537       "targets": [\r
5538         {\r
5539           "expr": "go_goroutines{job=\"istio-telemetry\"}",\r
5540           "format": "time_series",\r
5541           "intervalFactor": 2,\r
5542           "legendFormat": "Number of Goroutines",\r
5543           "refId": "A",\r
5544           "step": 2\r
5545         }\r
5546       ],\r
5547       "thresholds": [],\r
5548       "timeFrom": null,\r
5549       "timeRegions": [],\r
5550       "timeShift": null,\r
5551       "title": "Goroutines",\r
5552       "tooltip": {\r
5553         "shared": true,\r
5554         "sort": 0,\r
5555         "value_type": "individual"\r
5556       },\r
5557       "type": "graph",\r
5558       "xaxis": {\r
5559         "buckets": null,\r
5560         "mode": "time",\r
5561         "name": null,\r
5562         "show": true,\r
5563         "values": []\r
5564       },\r
5565       "yaxes": [\r
5566         {\r
5567           "format": "short",\r
5568           "label": "",\r
5569           "logBase": 1,\r
5570           "max": null,\r
5571           "min": null,\r
5572           "show": true\r
5573         },\r
5574         {\r
5575           "format": "short",\r
5576           "label": null,\r
5577           "logBase": 1,\r
5578           "max": null,\r
5579           "min": null,\r
5580           "show": true\r
5581         }\r
5582       ],\r
5583       "yaxis": {\r
5584         "align": false,\r
5585         "alignLevel": null\r
5586       }\r
5587     }\r
5588   ],\r
5589   "refresh": "10s",\r
5590   "schemaVersion": 18,\r
5591   "style": "dark",\r
5592   "tags": [],\r
5593   "templating": {\r
5594     "list": []\r
5595   },\r
5596   "time": {\r
5597     "from": "now-5m",\r
5598     "to": "now"\r
5599   },\r
5600   "timepicker": {\r
5601     "refresh_intervals": [\r
5602       "5s",\r
5603       "10s",\r
5604       "30s",\r
5605       "1m",\r
5606       "5m",\r
5607       "15m",\r
5608       "30m",\r
5609       "1h",\r
5610       "2h",\r
5611       "1d"\r
5612     ],\r
5613     "time_options": [\r
5614       "5m",\r
5615       "15m",\r
5616       "1h",\r
5617       "6h",\r
5618       "12h",\r
5619       "24h",\r
5620       "2d",\r
5621       "7d",\r
5622       "30d"\r
5623     ]\r
5624   },\r
5625   "timezone": "",\r
5626   "title": "Istio Performance Dashboard",\r
5627   "uid": "vu8e0VWZk",\r
5628   "version": 22\r
5629 }\r
5630 '\r
5631 ---\r
5632 apiVersion: v1\r
5633 kind: ConfigMap\r
5634 metadata:\r
5635   name: istio-grafana-configuration-dashboards-istio-service-dashboard\r
5636   namespace: istio-system\r
5637   labels:\r
5638     app: grafana\r
5639     chart: grafana\r
5640     heritage: Tiller\r
5641     release: istio\r
5642     istio: grafana\r
5643 data:\r
5644   istio-service-dashboard.json: '{\r
5645   "annotations": {\r
5646     "list": [\r
5647       {\r
5648         "builtIn": 1,\r
5649         "datasource": "-- Grafana --",\r
5650         "enable": true,\r
5651         "hide": true,\r
5652         "iconColor": "rgba(0, 211, 255, 1)",\r
5653         "name": "Annotations & Alerts",\r
5654         "type": "dashboard"\r
5655       }\r
5656     ]\r
5657   },\r
5658   "editable": false,\r
5659   "gnetId": null,\r
5660   "graphTooltip": 0,\r
5661   "iteration": 1536442501501,\r
5662   "links": [],\r
5663   "panels": [\r
5664     {\r
5665       "content": "<div class=\"dashboard-header text-center\">\n<span>SERVICE: $service</span>\n</div>",\r
5666       "gridPos": {\r
5667         "h": 3,\r
5668         "w": 24,\r
5669         "x": 0,\r
5670         "y": 0\r
5671       },\r
5672       "id": 89,\r
5673       "links": [],\r
5674       "mode": "html",\r
5675       "title": "",\r
5676       "transparent": true,\r
5677       "type": "text"\r
5678     },\r
5679     {\r
5680       "cacheTimeout": null,\r
5681       "colorBackground": false,\r
5682       "colorValue": false,\r
5683       "colors": [\r
5684         "rgba(245, 54, 54, 0.9)",\r
5685         "rgba(237, 129, 40, 0.89)",\r
5686         "rgba(50, 172, 45, 0.97)"\r
5687       ],\r
5688       "datasource": "Prometheus",\r
5689       "format": "ops",\r
5690       "gauge": {\r
5691         "maxValue": 100,\r
5692         "minValue": 0,\r
5693         "show": false,\r
5694         "thresholdLabels": false,\r
5695         "thresholdMarkers": true\r
5696       },\r
5697       "gridPos": {\r
5698         "h": 4,\r
5699         "w": 6,\r
5700         "x": 0,\r
5701         "y": 3\r
5702       },\r
5703       "id": 12,\r
5704       "interval": null,\r
5705       "links": [],\r
5706       "mappingType": 1,\r
5707       "mappingTypes": [\r
5708         {\r
5709           "name": "value to text",\r
5710           "value": 1\r
5711         },\r
5712         {\r
5713           "name": "range to text",\r
5714           "value": 2\r
5715         }\r
5716       ],\r
5717       "maxDataPoints": 100,\r
5718       "nullPointMode": "connected",\r
5719       "nullText": null,\r
5720       "postfix": "",\r
5721       "postfixFontSize": "50%",\r
5722       "prefix": "",\r
5723       "prefixFontSize": "50%",\r
5724       "rangeMaps": [\r
5725         {\r
5726           "from": "null",\r
5727           "text": "N/A",\r
5728           "to": "null"\r
5729         }\r
5730       ],\r
5731       "sparkline": {\r
5732         "fillColor": "rgba(31, 118, 189, 0.18)",\r
5733         "full": true,\r
5734         "lineColor": "rgb(31, 120, 193)",\r
5735         "show": true\r
5736       },\r
5737       "tableColumn": "",\r
5738       "targets": [\r
5739         {\r
5740           "expr": "round(sum(irate(istio_requests_total{reporter=\"source\",destination_service=~\"$service\"}[5m])), 0.001)",\r
5741           "format": "time_series",\r
5742           "intervalFactor": 1,\r
5743           "refId": "A",\r
5744           "step": 4\r
5745         }\r
5746       ],\r
5747       "thresholds": "",\r
5748       "title": "Client Request Volume",\r
5749       "transparent": false,\r
5750       "type": "singlestat",\r
5751       "valueFontSize": "80%",\r
5752       "valueMaps": [\r
5753         {\r
5754           "op": "=",\r
5755           "text": "N/A",\r
5756           "value": "null"\r
5757         }\r
5758       ],\r
5759       "valueName": "current"\r
5760     },\r
5761     {\r
5762       "cacheTimeout": null,\r
5763       "colorBackground": false,\r
5764       "colorValue": false,\r
5765       "colors": [\r
5766         "rgba(50, 172, 45, 0.97)",\r
5767         "rgba(237, 129, 40, 0.89)",\r
5768         "rgba(245, 54, 54, 0.9)"\r
5769       ],\r
5770       "datasource": "Prometheus",\r
5771       "decimals": null,\r
5772       "format": "percentunit",\r
5773       "gauge": {\r
5774         "maxValue": 100,\r
5775         "minValue": 80,\r
5776         "show": false,\r
5777         "thresholdLabels": false,\r
5778         "thresholdMarkers": false\r
5779       },\r
5780       "gridPos": {\r
5781         "h": 4,\r
5782         "w": 6,\r
5783         "x": 6,\r
5784         "y": 3\r
5785       },\r
5786       "id": 14,\r
5787       "interval": null,\r
5788       "links": [],\r
5789       "mappingType": 1,\r
5790       "mappingTypes": [\r
5791         {\r
5792           "name": "value to text",\r
5793           "value": 1\r
5794         },\r
5795         {\r
5796           "name": "range to text",\r
5797           "value": 2\r
5798         }\r
5799       ],\r
5800       "maxDataPoints": 100,\r
5801       "nullPointMode": "connected",\r
5802       "nullText": null,\r
5803       "postfix": "",\r
5804       "postfixFontSize": "50%",\r
5805       "prefix": "",\r
5806       "prefixFontSize": "50%",\r
5807       "rangeMaps": [\r
5808         {\r
5809           "from": "null",\r
5810           "text": "N/A",\r
5811           "to": "null"\r
5812         }\r
5813       ],\r
5814       "sparkline": {\r
5815         "fillColor": "rgba(31, 118, 189, 0.18)",\r
5816         "full": true,\r
5817         "lineColor": "rgb(31, 120, 193)",\r
5818         "show": true\r
5819       },\r
5820       "tableColumn": "",\r
5821       "targets": [\r
5822         {\r
5823           "expr": "sum(irate(istio_requests_total{reporter=\"source\",destination_service=~\"$service\",response_code!~\"5.*\"}[5m])) / sum(irate(istio_requests_total{reporter=\"source\",destination_service=~\"$service\"}[5m]))",\r
5824           "format": "time_series",\r
5825           "intervalFactor": 1,\r
5826           "refId": "B"\r
5827         }\r
5828       ],\r
5829       "thresholds": "95, 99, 99.5",\r
5830       "title": "Client Success Rate (non-5xx responses)",\r
5831       "transparent": false,\r
5832       "type": "singlestat",\r
5833       "valueFontSize": "80%",\r
5834       "valueMaps": [\r
5835         {\r
5836           "op": "=",\r
5837           "text": "N/A",\r
5838           "value": "null"\r
5839         }\r
5840       ],\r
5841       "valueName": "avg"\r
5842     },\r
5843     {\r
5844       "aliasColors": {},\r
5845       "bars": false,\r
5846       "dashLength": 10,\r
5847       "dashes": false,\r
5848       "datasource": "Prometheus",\r
5849       "fill": 1,\r
5850       "gridPos": {\r
5851         "h": 4,\r
5852         "w": 6,\r
5853         "x": 12,\r
5854         "y": 3\r
5855       },\r
5856       "id": 87,\r
5857       "legend": {\r
5858         "alignAsTable": false,\r
5859         "avg": false,\r
5860         "current": false,\r
5861         "hideEmpty": false,\r
5862         "hideZero": false,\r
5863         "max": false,\r
5864         "min": false,\r
5865         "rightSide": true,\r
5866         "show": true,\r
5867         "total": false,\r
5868         "values": false\r
5869       },\r
5870       "lines": true,\r
5871       "linewidth": 1,\r
5872       "links": [],\r
5873       "nullPointMode": "null",\r
5874       "percentage": false,\r
5875       "pointradius": 5,\r
5876       "points": false,\r
5877       "renderer": "flot",\r
5878       "seriesOverrides": [],\r
5879       "spaceLength": 10,\r
5880       "stack": false,\r
5881       "steppedLine": false,\r
5882       "targets": [\r
5883         {\r
5884           "expr": "histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\",destination_service=~\"$service\"}[1m])) by (le))",\r
5885           "format": "time_series",\r
5886           "interval": "",\r
5887           "intervalFactor": 1,\r
5888           "legendFormat": "P50",\r
5889           "refId": "A"\r
5890         },\r
5891         {\r
5892           "expr": "histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\",destination_service=~\"$service\"}[1m])) by (le))",\r
5893           "format": "time_series",\r
5894           "hide": false,\r
5895           "intervalFactor": 1,\r
5896           "legendFormat": "P90",\r
5897           "refId": "B"\r
5898         },\r
5899         {\r
5900           "expr": "histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\",destination_service=~\"$service\"}[1m])) by (le))",\r
5901           "format": "time_series",\r
5902           "hide": false,\r
5903           "intervalFactor": 1,\r
5904           "legendFormat": "P99",\r
5905           "refId": "C"\r
5906         }\r
5907       ],\r
5908       "thresholds": [],\r
5909       "timeFrom": null,\r
5910       "timeShift": null,\r
5911       "title": "Client Request Duration",\r
5912       "tooltip": {\r
5913         "shared": true,\r
5914         "sort": 0,\r
5915         "value_type": "individual"\r
5916       },\r
5917       "type": "graph",\r
5918       "xaxis": {\r
5919         "buckets": null,\r
5920         "mode": "time",\r
5921         "name": null,\r
5922         "show": true,\r
5923         "values": []\r
5924       },\r
5925       "yaxes": [\r
5926         {\r
5927           "format": "s",\r
5928           "label": null,\r
5929           "logBase": 1,\r
5930           "max": null,\r
5931           "min": null,\r
5932           "show": true\r
5933         },\r
5934         {\r
5935           "format": "short",\r
5936           "label": null,\r
5937           "logBase": 1,\r
5938           "max": null,\r
5939           "min": null,\r
5940           "show": false\r
5941         }\r
5942       ],\r
5943       "yaxis": {\r
5944         "align": false,\r
5945         "alignLevel": null\r
5946       }\r
5947     },\r
5948     {\r
5949       "cacheTimeout": null,\r
5950       "colorBackground": false,\r
5951       "colorValue": false,\r
5952       "colors": [\r
5953         "#299c46",\r
5954         "rgba(237, 129, 40, 0.89)",\r
5955         "#d44a3a"\r
5956       ],\r
5957       "datasource": "Prometheus",\r
5958       "format": "Bps",\r
5959       "gauge": {\r
5960         "maxValue": 100,\r
5961         "minValue": 0,\r
5962         "show": false,\r
5963         "thresholdLabels": false,\r
5964         "thresholdMarkers": true\r
5965       },\r
5966       "gridPos": {\r
5967         "h": 4,\r
5968         "w": 6,\r
5969         "x": 18,\r
5970         "y": 3\r
5971       },\r
5972       "id": 84,\r
5973       "interval": null,\r
5974       "links": [],\r
5975       "mappingType": 1,\r
5976       "mappingTypes": [\r
5977         {\r
5978           "name": "value to text",\r
5979           "value": 1\r
5980         },\r
5981         {\r
5982           "name": "range to text",\r
5983           "value": 2\r
5984         }\r
5985       ],\r
5986       "maxDataPoints": 100,\r
5987       "nullPointMode": "connected",\r
5988       "nullText": null,\r
5989       "postfix": "",\r
5990       "postfixFontSize": "50%",\r
5991       "prefix": "",\r
5992       "prefixFontSize": "50%",\r
5993       "rangeMaps": [\r
5994         {\r
5995           "from": "null",\r
5996           "text": "N/A",\r
5997           "to": "null"\r
5998         }\r
5999       ],\r
6000       "sparkline": {\r
6001         "fillColor": "rgba(31, 118, 189, 0.18)",\r
6002         "full": true,\r
6003         "lineColor": "rgb(31, 120, 193)",\r
6004         "show": true\r
6005       },\r
6006       "tableColumn": "",\r
6007       "targets": [\r
6008         {\r
6009           "expr": "sum(irate(istio_tcp_received_bytes_total{reporter=\"source\", destination_service=~\"$service\"}[1m]))",\r
6010           "format": "time_series",\r
6011           "hide": false,\r
6012           "intervalFactor": 1,\r
6013           "legendFormat": "",\r
6014           "refId": "A"\r
6015         }\r
6016       ],\r
6017       "thresholds": "",\r
6018       "title": "TCP Received Bytes",\r
6019       "transparent": false,\r
6020       "type": "singlestat",\r
6021       "valueFontSize": "80%",\r
6022       "valueMaps": [\r
6023         {\r
6024           "op": "=",\r
6025           "text": "N/A",\r
6026           "value": "null"\r
6027         }\r
6028       ],\r
6029       "valueName": "avg"\r
6030     },\r
6031     {\r
6032       "cacheTimeout": null,\r
6033       "colorBackground": false,\r
6034       "colorValue": false,\r
6035       "colors": [\r
6036         "rgba(245, 54, 54, 0.9)",\r
6037         "rgba(237, 129, 40, 0.89)",\r
6038         "rgba(50, 172, 45, 0.97)"\r
6039       ],\r
6040       "datasource": "Prometheus",\r
6041       "format": "ops",\r
6042       "gauge": {\r
6043         "maxValue": 100,\r
6044         "minValue": 0,\r
6045         "show": false,\r
6046         "thresholdLabels": false,\r
6047         "thresholdMarkers": true\r
6048       },\r
6049       "gridPos": {\r
6050         "h": 4,\r
6051         "w": 6,\r
6052         "x": 0,\r
6053         "y": 7\r
6054       },\r
6055       "id": 97,\r
6056       "interval": null,\r
6057       "links": [],\r
6058       "mappingType": 1,\r
6059       "mappingTypes": [\r
6060         {\r
6061           "name": "value to text",\r
6062           "value": 1\r
6063         },\r
6064         {\r
6065           "name": "range to text",\r
6066           "value": 2\r
6067         }\r
6068       ],\r
6069       "maxDataPoints": 100,\r
6070       "nullPointMode": "connected",\r
6071       "nullText": null,\r
6072       "postfix": "",\r
6073       "postfixFontSize": "50%",\r
6074       "prefix": "",\r
6075       "prefixFontSize": "50%",\r
6076       "rangeMaps": [\r
6077         {\r
6078           "from": "null",\r
6079           "text": "N/A",\r
6080           "to": "null"\r
6081         }\r
6082       ],\r
6083       "sparkline": {\r
6084         "fillColor": "rgba(31, 118, 189, 0.18)",\r
6085         "full": true,\r
6086         "lineColor": "rgb(31, 120, 193)",\r
6087         "show": true\r
6088       },\r
6089       "tableColumn": "",\r
6090       "targets": [\r
6091         {\r
6092           "expr": "round(sum(irate(istio_requests_total{reporter=\"destination\",destination_service=~\"$service\"}[5m])), 0.001)",\r
6093           "format": "time_series",\r
6094           "intervalFactor": 1,\r
6095           "refId": "A",\r
6096           "step": 4\r
6097         }\r
6098       ],\r
6099       "thresholds": "",\r
6100       "title": "Server Request Volume",\r
6101       "transparent": false,\r
6102       "type": "singlestat",\r
6103       "valueFontSize": "80%",\r
6104       "valueMaps": [\r
6105         {\r
6106           "op": "=",\r
6107           "text": "N/A",\r
6108           "value": "null"\r
6109         }\r
6110       ],\r
6111       "valueName": "current"\r
6112     },\r
6113     {\r
6114       "cacheTimeout": null,\r
6115       "colorBackground": false,\r
6116       "colorValue": false,\r
6117       "colors": [\r
6118         "rgba(50, 172, 45, 0.97)",\r
6119         "rgba(237, 129, 40, 0.89)",\r
6120         "rgba(245, 54, 54, 0.9)"\r
6121       ],\r
6122       "datasource": "Prometheus",\r
6123       "decimals": null,\r
6124       "format": "percentunit",\r
6125       "gauge": {\r
6126         "maxValue": 100,\r
6127         "minValue": 80,\r
6128         "show": false,\r
6129         "thresholdLabels": false,\r
6130         "thresholdMarkers": false\r
6131       },\r
6132       "gridPos": {\r
6133         "h": 4,\r
6134         "w": 6,\r
6135         "x": 6,\r
6136         "y": 7\r
6137       },\r
6138       "id": 98,\r
6139       "interval": null,\r
6140       "links": [],\r
6141       "mappingType": 1,\r
6142       "mappingTypes": [\r
6143         {\r
6144           "name": "value to text",\r
6145           "value": 1\r
6146         },\r
6147         {\r
6148           "name": "range to text",\r
6149           "value": 2\r
6150         }\r
6151       ],\r
6152       "maxDataPoints": 100,\r
6153       "nullPointMode": "connected",\r
6154       "nullText": null,\r
6155       "postfix": "",\r
6156       "postfixFontSize": "50%",\r
6157       "prefix": "",\r
6158       "prefixFontSize": "50%",\r
6159       "rangeMaps": [\r
6160         {\r
6161           "from": "null",\r
6162           "text": "N/A",\r
6163           "to": "null"\r
6164         }\r
6165       ],\r
6166       "sparkline": {\r
6167         "fillColor": "rgba(31, 118, 189, 0.18)",\r
6168         "full": true,\r
6169         "lineColor": "rgb(31, 120, 193)",\r
6170         "show": true\r
6171       },\r
6172       "tableColumn": "",\r
6173       "targets": [\r
6174         {\r
6175           "expr": "sum(irate(istio_requests_total{reporter=\"destination\",destination_service=~\"$service\",response_code!~\"5.*\"}[5m])) / sum(irate(istio_requests_total{reporter=\"destination\",destination_service=~\"$service\"}[5m]))",\r
6176           "format": "time_series",\r
6177           "intervalFactor": 1,\r
6178           "refId": "B"\r
6179         }\r
6180       ],\r
6181       "thresholds": "95, 99, 99.5",\r
6182       "title": "Server Success Rate (non-5xx responses)",\r
6183       "transparent": false,\r
6184       "type": "singlestat",\r
6185       "valueFontSize": "80%",\r
6186       "valueMaps": [\r
6187         {\r
6188           "op": "=",\r
6189           "text": "N/A",\r
6190           "value": "null"\r
6191         }\r
6192       ],\r
6193       "valueName": "avg"\r
6194     },\r
6195     {\r
6196       "aliasColors": {},\r
6197       "bars": false,\r
6198       "dashLength": 10,\r
6199       "dashes": false,\r
6200       "datasource": "Prometheus",\r
6201       "fill": 1,\r
6202       "gridPos": {\r
6203         "h": 4,\r
6204         "w": 6,\r
6205         "x": 12,\r
6206         "y": 7\r
6207       },\r
6208       "id": 99,\r
6209       "legend": {\r
6210         "alignAsTable": false,\r
6211         "avg": false,\r
6212         "current": false,\r
6213         "hideEmpty": false,\r
6214         "hideZero": false,\r
6215         "max": false,\r
6216         "min": false,\r
6217         "rightSide": true,\r
6218         "show": true,\r
6219         "total": false,\r
6220         "values": false\r
6221       },\r
6222       "lines": true,\r
6223       "linewidth": 1,\r
6224       "links": [],\r
6225       "nullPointMode": "null",\r
6226       "percentage": false,\r
6227       "pointradius": 5,\r
6228       "points": false,\r
6229       "renderer": "flot",\r
6230       "seriesOverrides": [],\r
6231       "spaceLength": 10,\r
6232       "stack": false,\r
6233       "steppedLine": false,\r
6234       "targets": [\r
6235         {\r
6236           "expr": "histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\",destination_service=~\"$service\"}[1m])) by (le))",\r
6237           "format": "time_series",\r
6238           "interval": "",\r
6239           "intervalFactor": 1,\r
6240           "legendFormat": "P50",\r
6241           "refId": "A"\r
6242         },\r
6243         {\r
6244           "expr": "histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\",destination_service=~\"$service\"}[1m])) by (le))",\r
6245           "format": "time_series",\r
6246           "hide": false,\r
6247           "intervalFactor": 1,\r
6248           "legendFormat": "P90",\r
6249           "refId": "B"\r
6250         },\r
6251         {\r
6252           "expr": "histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\",destination_service=~\"$service\"}[1m])) by (le))",\r
6253           "format": "time_series",\r
6254           "hide": false,\r
6255           "intervalFactor": 1,\r
6256           "legendFormat": "P99",\r
6257           "refId": "C"\r
6258         }\r
6259       ],\r
6260       "thresholds": [],\r
6261       "timeFrom": null,\r
6262       "timeShift": null,\r
6263       "title": "Server Request Duration",\r
6264       "tooltip": {\r
6265         "shared": true,\r
6266         "sort": 0,\r
6267         "value_type": "individual"\r
6268       },\r
6269       "type": "graph",\r
6270       "xaxis": {\r
6271         "buckets": null,\r
6272         "mode": "time",\r
6273         "name": null,\r
6274         "show": true,\r
6275         "values": []\r
6276       },\r
6277       "yaxes": [\r
6278         {\r
6279           "format": "s",\r
6280           "label": null,\r
6281           "logBase": 1,\r
6282           "max": null,\r
6283           "min": null,\r
6284           "show": true\r
6285         },\r
6286         {\r
6287           "format": "short",\r
6288           "label": null,\r
6289           "logBase": 1,\r
6290           "max": null,\r
6291           "min": null,\r
6292           "show": false\r
6293         }\r
6294       ],\r
6295       "yaxis": {\r
6296         "align": false,\r
6297         "alignLevel": null\r
6298       }\r
6299     },\r
6300     {\r
6301       "cacheTimeout": null,\r
6302       "colorBackground": false,\r
6303       "colorValue": false,\r
6304       "colors": [\r
6305         "#299c46",\r
6306         "rgba(237, 129, 40, 0.89)",\r
6307         "#d44a3a"\r
6308       ],\r
6309       "datasource": "Prometheus",\r
6310       "format": "Bps",\r
6311       "gauge": {\r
6312         "maxValue": 100,\r
6313         "minValue": 0,\r
6314         "show": false,\r
6315         "thresholdLabels": false,\r
6316         "thresholdMarkers": true\r
6317       },\r
6318       "gridPos": {\r
6319         "h": 4,\r
6320         "w": 6,\r
6321         "x": 18,\r
6322         "y": 7\r
6323       },\r
6324       "id": 100,\r
6325       "interval": null,\r
6326       "links": [],\r
6327       "mappingType": 1,\r
6328       "mappingTypes": [\r
6329         {\r
6330           "name": "value to text",\r
6331           "value": 1\r
6332         },\r
6333         {\r
6334           "name": "range to text",\r
6335           "value": 2\r
6336         }\r
6337       ],\r
6338       "maxDataPoints": 100,\r
6339       "nullPointMode": "connected",\r
6340       "nullText": null,\r
6341       "postfix": "",\r
6342       "postfixFontSize": "50%",\r
6343       "prefix": "",\r
6344       "prefixFontSize": "50%",\r
6345       "rangeMaps": [\r
6346         {\r
6347           "from": "null",\r
6348           "text": "N/A",\r
6349           "to": "null"\r
6350         }\r
6351       ],\r
6352       "sparkline": {\r
6353         "fillColor": "rgba(31, 118, 189, 0.18)",\r
6354         "full": true,\r
6355         "lineColor": "rgb(31, 120, 193)",\r
6356         "show": true\r
6357       },\r
6358       "tableColumn": "",\r
6359       "targets": [\r
6360         {\r
6361           "expr": "sum(irate(istio_tcp_sent_bytes_total{reporter=\"source\", destination_service=~\"$service\"}[1m])) ",\r
6362           "format": "time_series",\r
6363           "hide": false,\r
6364           "intervalFactor": 1,\r
6365           "legendFormat": "",\r
6366           "refId": "A"\r
6367         }\r
6368       ],\r
6369       "thresholds": "",\r
6370       "title": "TCP Sent Bytes",\r
6371       "transparent": false,\r
6372       "type": "singlestat",\r
6373       "valueFontSize": "80%",\r
6374       "valueMaps": [\r
6375         {\r
6376           "op": "=",\r
6377           "text": "N/A",\r
6378           "value": "null"\r
6379         }\r
6380       ],\r
6381       "valueName": "avg"\r
6382     },\r
6383     {\r
6384       "content": "<div class=\"dashboard-header text-center\">\n<span>CLIENT WORKLOADS</span>\n</div>",\r
6385       "gridPos": {\r
6386         "h": 3,\r
6387         "w": 24,\r
6388         "x": 0,\r
6389         "y": 11\r
6390       },\r
6391       "id": 45,\r
6392       "links": [],\r
6393       "mode": "html",\r
6394       "title": "",\r
6395       "transparent": true,\r
6396       "type": "text"\r
6397     },\r
6398     {\r
6399       "aliasColors": {},\r
6400       "bars": false,\r
6401       "dashLength": 10,\r
6402       "dashes": false,\r
6403       "datasource": "Prometheus",\r
6404       "fill": 0,\r
6405       "gridPos": {\r
6406         "h": 6,\r
6407         "w": 12,\r
6408         "x": 0,\r
6409         "y": 14\r
6410       },\r
6411       "id": 25,\r
6412       "legend": {\r
6413         "avg": false,\r
6414         "current": false,\r
6415         "hideEmpty": true,\r
6416         "max": false,\r
6417         "min": false,\r
6418         "show": true,\r
6419         "total": false,\r
6420         "values": false\r
6421       },\r
6422       "lines": true,\r
6423       "linewidth": 1,\r
6424       "links": [],\r
6425       "nullPointMode": "null as zero",\r
6426       "percentage": false,\r
6427       "pointradius": 5,\r
6428       "points": false,\r
6429       "renderer": "flot",\r
6430       "seriesOverrides": [],\r
6431       "spaceLength": 10,\r
6432       "stack": false,\r
6433       "steppedLine": false,\r
6434       "targets": [\r
6435         {\r
6436           "expr": "round(sum(irate(istio_requests_total{connection_security_policy=\"mutual_tls\",destination_service=~\"$service\",reporter=\"source\",source_workload=~\"$srcwl\",source_workload_namespace=~\"$srcns\"}[5m])) by (source_workload, source_workload_namespace, response_code), 0.001)",\r
6437           "format": "time_series",\r
6438           "intervalFactor": 1,\r
6439           "legendFormat": "{{ source_workload }}.{{ source_workload_namespace }} : {{ response_code }} (🔐mTLS)",\r
6440           "refId": "B",\r
6441           "step": 2\r
6442         },\r
6443         {\r
6444           "expr": "round(sum(irate(istio_requests_total{connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", reporter=\"source\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[5m])) by (source_workload, source_workload_namespace, response_code), 0.001)",\r
6445           "format": "time_series",\r
6446           "hide": false,\r
6447           "intervalFactor": 1,\r
6448           "legendFormat": "{{ source_workload }}.{{ source_workload_namespace }} : {{ response_code }}",\r
6449           "refId": "A",\r
6450           "step": 2\r
6451         }\r
6452       ],\r
6453       "thresholds": [],\r
6454       "timeFrom": null,\r
6455       "timeShift": null,\r
6456       "title": "Incoming Requests by Source And Response Code",\r
6457       "tooltip": {\r
6458         "shared": false,\r
6459         "sort": 0,\r
6460         "value_type": "individual"\r
6461       },\r
6462       "type": "graph",\r
6463       "xaxis": {\r
6464         "buckets": null,\r
6465         "mode": "time",\r
6466         "name": null,\r
6467         "show": true,\r
6468         "values": [\r
6469           "total"\r
6470         ]\r
6471       },\r
6472       "yaxes": [\r
6473         {\r
6474           "format": "ops",\r
6475           "label": null,\r
6476           "logBase": 1,\r
6477           "max": null,\r
6478           "min": "0",\r
6479           "show": true\r
6480         },\r
6481         {\r
6482           "format": "short",\r
6483           "label": null,\r
6484           "logBase": 1,\r
6485           "max": null,\r
6486           "min": null,\r
6487           "show": false\r
6488         }\r
6489       ],\r
6490       "yaxis": {\r
6491         "align": false,\r
6492         "alignLevel": null\r
6493       }\r
6494     },\r
6495     {\r
6496       "aliasColors": {},\r
6497       "bars": false,\r
6498       "dashLength": 10,\r
6499       "dashes": false,\r
6500       "datasource": "Prometheus",\r
6501       "fill": 1,\r
6502       "gridPos": {\r
6503         "h": 6,\r
6504         "w": 12,\r
6505         "x": 12,\r
6506         "y": 14\r
6507       },\r
6508       "id": 26,\r
6509       "legend": {\r
6510         "avg": false,\r
6511         "current": false,\r
6512         "hideEmpty": true,\r
6513         "hideZero": false,\r
6514         "max": false,\r
6515         "min": false,\r
6516         "show": true,\r
6517         "total": false,\r
6518         "values": false\r
6519       },\r
6520       "lines": true,\r
6521       "linewidth": 1,\r
6522       "links": [],\r
6523       "nullPointMode": "null",\r
6524       "percentage": false,\r
6525       "pointradius": 5,\r
6526       "points": false,\r
6527       "renderer": "flot",\r
6528       "seriesOverrides": [],\r
6529       "spaceLength": 10,\r
6530       "stack": false,\r
6531       "steppedLine": false,\r
6532       "targets": [\r
6533         {\r
6534           "expr": "sum(irate(istio_requests_total{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\",response_code!~\"5.*\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[5m])) by (source_workload, source_workload_namespace) / sum(irate(istio_requests_total{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[5m])) by (source_workload, source_workload_namespace)",\r
6535           "format": "time_series",\r
6536           "hide": false,\r
6537           "intervalFactor": 1,\r
6538           "legendFormat": "{{ source_workload }}.{{ source_workload_namespace }} (🔐mTLS)",\r
6539           "refId": "A",\r
6540           "step": 2\r
6541         },\r
6542         {\r
6543           "expr": "sum(irate(istio_requests_total{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\",response_code!~\"5.*\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[5m])) by (source_workload, source_workload_namespace) / sum(irate(istio_requests_total{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[5m])) by (source_workload, source_workload_namespace)",\r
6544           "format": "time_series",\r
6545           "hide": false,\r
6546           "intervalFactor": 1,\r
6547           "legendFormat": "{{ source_workload }}.{{ source_workload_namespace }}",\r
6548           "refId": "B",\r
6549           "step": 2\r
6550         }\r
6551       ],\r
6552       "thresholds": [],\r
6553       "timeFrom": null,\r
6554       "timeShift": null,\r
6555       "title": "Incoming Success Rate (non-5xx responses) By Source",\r
6556       "tooltip": {\r
6557         "shared": true,\r
6558         "sort": 0,\r
6559         "value_type": "individual"\r
6560       },\r
6561       "type": "graph",\r
6562       "xaxis": {\r
6563         "buckets": null,\r
6564         "mode": "time",\r
6565         "name": null,\r
6566         "show": true,\r
6567         "values": []\r
6568       },\r
6569       "yaxes": [\r
6570         {\r
6571           "format": "percentunit",\r
6572           "label": null,\r
6573           "logBase": 1,\r
6574           "max": "1.01",\r
6575           "min": "0",\r
6576           "show": true\r
6577         },\r
6578         {\r
6579           "format": "short",\r
6580           "label": null,\r
6581           "logBase": 1,\r
6582           "max": null,\r
6583           "min": null,\r
6584           "show": false\r
6585         }\r
6586       ],\r
6587       "yaxis": {\r
6588         "align": false,\r
6589         "alignLevel": null\r
6590       }\r
6591     },\r
6592     {\r
6593       "aliasColors": {},\r
6594       "bars": false,\r
6595       "dashLength": 10,\r
6596       "dashes": false,\r
6597       "datasource": "Prometheus",\r
6598       "description": "",\r
6599       "fill": 1,\r
6600       "gridPos": {\r
6601         "h": 6,\r
6602         "w": 8,\r
6603         "x": 0,\r
6604         "y": 20\r
6605       },\r
6606       "id": 27,\r
6607       "legend": {\r
6608         "alignAsTable": false,\r
6609         "avg": false,\r
6610         "current": false,\r
6611         "hideEmpty": true,\r
6612         "hideZero": false,\r
6613         "max": false,\r
6614         "min": false,\r
6615         "rightSide": false,\r
6616         "show": true,\r
6617         "total": false,\r
6618         "values": false\r
6619       },\r
6620       "lines": true,\r
6621       "linewidth": 1,\r
6622       "links": [],\r
6623       "nullPointMode": "null",\r
6624       "percentage": false,\r
6625       "pointradius": 5,\r
6626       "points": false,\r
6627       "renderer": "flot",\r
6628       "seriesOverrides": [],\r
6629       "spaceLength": 10,\r
6630       "stack": false,\r
6631       "steppedLine": false,\r
6632       "targets": [\r
6633         {\r
6634           "expr": "histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))",\r
6635           "format": "time_series",\r
6636           "hide": false,\r
6637           "intervalFactor": 1,\r
6638           "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P50 (🔐mTLS)",\r
6639           "refId": "D",\r
6640           "step": 2\r
6641         },\r
6642         {\r
6643           "expr": "histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))",\r
6644           "format": "time_series",\r
6645           "hide": false,\r
6646           "intervalFactor": 1,\r
6647           "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P90 (🔐mTLS)",\r
6648           "refId": "A",\r
6649           "step": 2\r
6650         },\r
6651         {\r
6652           "expr": "histogram_quantile(0.95, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))",\r
6653           "format": "time_series",\r
6654           "hide": false,\r
6655           "intervalFactor": 1,\r
6656           "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P95 (🔐mTLS)",\r
6657           "refId": "B",\r
6658           "step": 2\r
6659         },\r
6660         {\r
6661           "expr": "histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))",\r
6662           "format": "time_series",\r
6663           "hide": false,\r
6664           "intervalFactor": 1,\r
6665           "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P99 (🔐mTLS)",\r
6666           "refId": "C",\r
6667           "step": 2\r
6668         },\r
6669         {\r
6670           "expr": "histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))",\r
6671           "format": "time_series",\r
6672           "hide": false,\r
6673           "intervalFactor": 1,\r
6674           "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P50",\r
6675           "refId": "E",\r
6676           "step": 2\r
6677         },\r
6678         {\r
6679           "expr": "histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))",\r
6680           "format": "time_series",\r
6681           "hide": false,\r
6682           "intervalFactor": 1,\r
6683           "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P90",\r
6684           "refId": "F",\r
6685           "step": 2\r
6686         },\r
6687         {\r
6688           "expr": "histogram_quantile(0.95, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))",\r
6689           "format": "time_series",\r
6690           "hide": false,\r
6691           "intervalFactor": 1,\r
6692           "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P95",\r
6693           "refId": "G",\r
6694           "step": 2\r
6695         },\r
6696         {\r
6697           "expr": "histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))",\r
6698           "format": "time_series",\r
6699           "hide": false,\r
6700           "intervalFactor": 1,\r
6701           "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P99",\r
6702           "refId": "H",\r
6703           "step": 2\r
6704         }\r
6705       ],\r
6706       "thresholds": [],\r
6707       "timeFrom": null,\r
6708       "timeShift": null,\r
6709       "title": "Incoming Request Duration by Source",\r
6710       "tooltip": {\r
6711         "shared": true,\r
6712         "sort": 0,\r
6713         "value_type": "individual"\r
6714       },\r
6715       "type": "graph",\r
6716       "xaxis": {\r
6717         "buckets": null,\r
6718         "mode": "time",\r
6719         "name": null,\r
6720         "show": true,\r
6721         "values": []\r
6722       },\r
6723       "yaxes": [\r
6724         {\r
6725           "format": "s",\r
6726           "label": null,\r
6727           "logBase": 1,\r
6728           "max": null,\r
6729           "min": "0",\r
6730           "show": true\r
6731         },\r
6732         {\r
6733           "format": "short",\r
6734           "label": null,\r
6735           "logBase": 1,\r
6736           "max": null,\r
6737           "min": null,\r
6738           "show": false\r
6739         }\r
6740       ],\r
6741       "yaxis": {\r
6742         "align": false,\r
6743         "alignLevel": null\r
6744       }\r
6745     },\r
6746     {\r
6747       "aliasColors": {},\r
6748       "bars": false,\r
6749       "dashLength": 10,\r
6750       "dashes": false,\r
6751       "datasource": "Prometheus",\r
6752       "fill": 1,\r
6753       "gridPos": {\r
6754         "h": 6,\r
6755         "w": 8,\r
6756         "x": 8,\r
6757         "y": 20\r
6758       },\r
6759       "id": 28,\r
6760       "legend": {\r
6761         "alignAsTable": false,\r
6762         "avg": false,\r
6763         "current": false,\r
6764         "hideEmpty": true,\r
6765         "max": false,\r
6766         "min": false,\r
6767         "rightSide": false,\r
6768         "show": true,\r
6769         "total": false,\r
6770         "values": false\r
6771       },\r
6772       "lines": true,\r
6773       "linewidth": 1,\r
6774       "links": [],\r
6775       "nullPointMode": "null",\r
6776       "percentage": false,\r
6777       "pointradius": 5,\r
6778       "points": false,\r
6779       "renderer": "flot",\r
6780       "seriesOverrides": [],\r
6781       "spaceLength": 10,\r
6782       "stack": false,\r
6783       "steppedLine": false,\r
6784       "targets": [\r
6785         {\r
6786           "expr": "histogram_quantile(0.50, sum(irate(istio_request_bytes_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))",\r
6787           "format": "time_series",\r
6788           "hide": false,\r
6789           "intervalFactor": 1,\r
6790           "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P50 (🔐mTLS)",\r
6791           "refId": "D",\r
6792           "step": 2\r
6793         },\r
6794         {\r
6795           "expr": "histogram_quantile(0.90, sum(irate(istio_request_bytes_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))",\r
6796           "format": "time_series",\r
6797           "hide": false,\r
6798           "intervalFactor": 1,\r
6799           "legendFormat": "{{source_workload}}.{{source_workload_namespace}}  P90 (🔐mTLS)",\r
6800           "refId": "A",\r
6801           "step": 2\r
6802         },\r
6803         {\r
6804           "expr": "histogram_quantile(0.95, sum(irate(istio_request_bytes_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))",\r
6805           "format": "time_series",\r
6806           "hide": false,\r
6807           "intervalFactor": 1,\r
6808           "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P95 (🔐mTLS)",\r
6809           "refId": "B",\r
6810           "step": 2\r
6811         },\r
6812         {\r
6813           "expr": "histogram_quantile(0.99, sum(irate(istio_request_bytes_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))",\r
6814           "format": "time_series",\r
6815           "hide": false,\r
6816           "intervalFactor": 1,\r
6817           "legendFormat": "{{source_workload}}.{{source_workload_namespace}}  P99 (🔐mTLS)",\r
6818           "refId": "C",\r
6819           "step": 2\r
6820         },\r
6821         {\r
6822           "expr": "histogram_quantile(0.50, sum(irate(istio_request_bytes_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))",\r
6823           "format": "time_series",\r
6824           "hide": false,\r
6825           "intervalFactor": 1,\r
6826           "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P50",\r
6827           "refId": "E",\r
6828           "step": 2\r
6829         },\r
6830         {\r
6831           "expr": "histogram_quantile(0.90, sum(irate(istio_request_bytes_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))",\r
6832           "format": "time_series",\r
6833           "hide": false,\r
6834           "intervalFactor": 1,\r
6835           "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P90",\r
6836           "refId": "F",\r
6837           "step": 2\r
6838         },\r
6839         {\r
6840           "expr": "histogram_quantile(0.95, sum(irate(istio_request_bytes_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))",\r
6841           "format": "time_series",\r
6842           "hide": false,\r
6843           "intervalFactor": 1,\r
6844           "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P95",\r
6845           "refId": "G",\r
6846           "step": 2\r
6847         },\r
6848         {\r
6849           "expr": "histogram_quantile(0.99, sum(irate(istio_request_bytes_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))",\r
6850           "format": "time_series",\r
6851           "hide": false,\r
6852           "intervalFactor": 1,\r
6853           "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P99",\r
6854           "refId": "H",\r
6855           "step": 2\r
6856         }\r
6857       ],\r
6858       "thresholds": [],\r
6859       "timeFrom": null,\r
6860       "timeShift": null,\r
6861       "title": "Incoming Request Size By Source",\r
6862       "tooltip": {\r
6863         "shared": true,\r
6864         "sort": 0,\r
6865         "value_type": "individual"\r
6866       },\r
6867       "type": "graph",\r
6868       "xaxis": {\r
6869         "buckets": null,\r
6870         "mode": "time",\r
6871         "name": null,\r
6872         "show": true,\r
6873         "values": []\r
6874       },\r
6875       "yaxes": [\r
6876         {\r
6877           "format": "decbytes",\r
6878           "label": null,\r
6879           "logBase": 1,\r
6880           "max": null,\r
6881           "min": "0",\r
6882           "show": true\r
6883         },\r
6884         {\r
6885           "format": "short",\r
6886           "label": null,\r
6887           "logBase": 1,\r
6888           "max": null,\r
6889           "min": null,\r
6890           "show": false\r
6891         }\r
6892       ],\r
6893       "yaxis": {\r
6894         "align": false,\r
6895         "alignLevel": null\r
6896       }\r
6897     },\r
6898     {\r
6899       "aliasColors": {},\r
6900       "bars": false,\r
6901       "dashLength": 10,\r
6902       "dashes": false,\r
6903       "datasource": "Prometheus",\r
6904       "fill": 1,\r
6905       "gridPos": {\r
6906         "h": 6,\r
6907         "w": 8,\r
6908         "x": 16,\r
6909         "y": 20\r
6910       },\r
6911       "id": 68,\r
6912       "legend": {\r
6913         "alignAsTable": false,\r
6914         "avg": false,\r
6915         "current": false,\r
6916         "hideEmpty": true,\r
6917         "max": false,\r
6918         "min": false,\r
6919         "rightSide": false,\r
6920         "show": true,\r
6921         "total": false,\r
6922         "values": false\r
6923       },\r
6924       "lines": true,\r
6925       "linewidth": 1,\r
6926       "links": [],\r
6927       "nullPointMode": "null",\r
6928       "percentage": false,\r
6929       "pointradius": 5,\r
6930       "points": false,\r
6931       "renderer": "flot",\r
6932       "seriesOverrides": [],\r
6933       "spaceLength": 10,\r
6934       "stack": false,\r
6935       "steppedLine": false,\r
6936       "targets": [\r
6937         {\r
6938           "expr": "histogram_quantile(0.50, sum(irate(istio_response_bytes_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))",\r
6939           "format": "time_series",\r
6940           "hide": false,\r
6941           "intervalFactor": 1,\r
6942           "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P50 (🔐mTLS)",\r
6943           "refId": "D",\r
6944           "step": 2\r
6945         },\r
6946         {\r
6947           "expr": "histogram_quantile(0.90, sum(irate(istio_response_bytes_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))",\r
6948           "format": "time_series",\r
6949           "hide": false,\r
6950           "intervalFactor": 1,\r
6951           "legendFormat": "{{source_workload}}.{{source_workload_namespace}}  P90 (🔐mTLS)",\r
6952           "refId": "A",\r
6953           "step": 2\r
6954         },\r
6955         {\r
6956           "expr": "histogram_quantile(0.95, sum(irate(istio_response_bytes_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))",\r
6957           "format": "time_series",\r
6958           "hide": false,\r
6959           "intervalFactor": 1,\r
6960           "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P95 (🔐mTLS)",\r
6961           "refId": "B",\r
6962           "step": 2\r
6963         },\r
6964         {\r
6965           "expr": "histogram_quantile(0.99, sum(irate(istio_response_bytes_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))",\r
6966           "format": "time_series",\r
6967           "hide": false,\r
6968           "intervalFactor": 1,\r
6969           "legendFormat": "{{source_workload}}.{{source_workload_namespace}}  P99 (🔐mTLS)",\r
6970           "refId": "C",\r
6971           "step": 2\r
6972         },\r
6973         {\r
6974           "expr": "histogram_quantile(0.50, sum(irate(istio_response_bytes_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))",\r
6975           "format": "time_series",\r
6976           "hide": false,\r
6977           "intervalFactor": 1,\r
6978           "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P50",\r
6979           "refId": "E",\r
6980           "step": 2\r
6981         },\r
6982         {\r
6983           "expr": "histogram_quantile(0.90, sum(irate(istio_response_bytes_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))",\r
6984           "format": "time_series",\r
6985           "hide": false,\r
6986           "intervalFactor": 1,\r
6987           "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P90",\r
6988           "refId": "F",\r
6989           "step": 2\r
6990         },\r
6991         {\r
6992           "expr": "histogram_quantile(0.95, sum(irate(istio_response_bytes_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))",\r
6993           "format": "time_series",\r
6994           "hide": false,\r
6995           "intervalFactor": 1,\r
6996           "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P95",\r
6997           "refId": "G",\r
6998           "step": 2\r
6999         },\r
7000         {\r
7001           "expr": "histogram_quantile(0.99, sum(irate(istio_response_bytes_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))",\r
7002           "format": "time_series",\r
7003           "hide": false,\r
7004           "intervalFactor": 1,\r
7005           "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P99",\r
7006           "refId": "H",\r
7007           "step": 2\r
7008         }\r
7009       ],\r
7010       "thresholds": [],\r
7011       "timeFrom": null,\r
7012       "timeShift": null,\r
7013       "title": "Response Size By Source",\r
7014       "tooltip": {\r
7015         "shared": true,\r
7016         "sort": 0,\r
7017         "value_type": "individual"\r
7018       },\r
7019       "type": "graph",\r
7020       "xaxis": {\r
7021         "buckets": null,\r
7022         "mode": "time",\r
7023         "name": null,\r
7024         "show": true,\r
7025         "values": []\r
7026       },\r
7027       "yaxes": [\r
7028         {\r
7029           "format": "decbytes",\r
7030           "label": null,\r
7031           "logBase": 1,\r
7032           "max": null,\r
7033           "min": "0",\r
7034           "show": true\r
7035         },\r
7036         {\r
7037           "format": "short",\r
7038           "label": null,\r
7039           "logBase": 1,\r
7040           "max": null,\r
7041           "min": null,\r
7042           "show": false\r
7043         }\r
7044       ],\r
7045       "yaxis": {\r
7046         "align": false,\r
7047         "alignLevel": null\r
7048       }\r
7049     },\r
7050     {\r
7051       "aliasColors": {},\r
7052       "bars": false,\r
7053       "dashLength": 10,\r
7054       "dashes": false,\r
7055       "datasource": "Prometheus",\r
7056       "fill": 1,\r
7057       "gridPos": {\r
7058         "h": 6,\r
7059         "w": 12,\r
7060         "x": 0,\r
7061         "y": 26\r
7062       },\r
7063       "id": 80,\r
7064       "legend": {\r
7065         "avg": false,\r
7066         "current": false,\r
7067         "max": false,\r
7068         "min": false,\r
7069         "show": true,\r
7070         "total": false,\r
7071         "values": false\r
7072       },\r
7073       "lines": true,\r
7074       "linewidth": 1,\r
7075       "links": [],\r
7076       "nullPointMode": "null",\r
7077       "percentage": false,\r
7078       "pointradius": 5,\r
7079       "points": false,\r
7080       "renderer": "flot",\r
7081       "seriesOverrides": [],\r
7082       "spaceLength": 10,\r
7083       "stack": false,\r
7084       "steppedLine": false,\r
7085       "targets": [\r
7086         {\r
7087           "expr": "round(sum(irate(istio_tcp_received_bytes_total{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace), 0.001)",\r
7088           "format": "time_series",\r
7089           "hide": false,\r
7090           "intervalFactor": 1,\r
7091           "legendFormat": "{{ source_workload }}.{{ source_workload_namespace}} (🔐mTLS)",\r
7092           "refId": "A",\r
7093           "step": 2\r
7094         },\r
7095         {\r
7096           "expr": "round(sum(irate(istio_tcp_received_bytes_total{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace), 0.001)",\r
7097           "format": "time_series",\r
7098           "intervalFactor": 1,\r
7099           "legendFormat": "{{ source_workload }}.{{ source_workload_namespace}}",\r
7100           "refId": "B",\r
7101           "step": 2\r
7102         }\r
7103       ],\r
7104       "thresholds": [],\r
7105       "timeFrom": null,\r
7106       "timeShift": null,\r
7107       "title": "Bytes Received from Incoming TCP Connection",\r
7108       "tooltip": {\r
7109         "shared": true,\r
7110         "sort": 0,\r
7111         "value_type": "individual"\r
7112       },\r
7113       "type": "graph",\r
7114       "xaxis": {\r
7115         "buckets": null,\r
7116         "mode": "time",\r
7117         "name": null,\r
7118         "show": true,\r
7119         "values": []\r
7120       },\r
7121       "yaxes": [\r
7122         {\r
7123           "format": "Bps",\r
7124           "label": null,\r
7125           "logBase": 1,\r
7126           "max": null,\r
7127           "min": "0",\r
7128           "show": true\r
7129         },\r
7130         {\r
7131           "format": "short",\r
7132           "label": null,\r
7133           "logBase": 1,\r
7134           "max": null,\r
7135           "min": null,\r
7136           "show": true\r
7137         }\r
7138       ],\r
7139       "yaxis": {\r
7140         "align": false,\r
7141         "alignLevel": null\r
7142       }\r
7143     },\r
7144     {\r
7145       "aliasColors": {},\r
7146       "bars": false,\r
7147       "dashLength": 10,\r
7148       "dashes": false,\r
7149       "datasource": "Prometheus",\r
7150       "fill": 1,\r
7151       "gridPos": {\r
7152         "h": 6,\r
7153         "w": 12,\r
7154         "x": 12,\r
7155         "y": 26\r
7156       },\r
7157       "id": 82,\r
7158       "legend": {\r
7159         "avg": false,\r
7160         "current": false,\r
7161         "max": false,\r
7162         "min": false,\r
7163         "show": true,\r
7164         "total": false,\r
7165         "values": false\r
7166       },\r
7167       "lines": true,\r
7168       "linewidth": 1,\r
7169       "links": [],\r
7170       "nullPointMode": "null",\r
7171       "percentage": false,\r
7172       "pointradius": 5,\r
7173       "points": false,\r
7174       "renderer": "flot",\r
7175       "seriesOverrides": [],\r
7176       "spaceLength": 10,\r
7177       "stack": false,\r
7178       "steppedLine": false,\r
7179       "targets": [\r
7180         {\r
7181           "expr": "round(sum(irate(istio_tcp_sent_bytes_total{connection_security_policy=\"mutual_tls\", reporter=\"source\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace), 0.001)",\r
7182           "format": "time_series",\r
7183           "intervalFactor": 1,\r
7184           "legendFormat": "{{ source_workload }}.{{ source_workload_namespace}} (🔐mTLS)",\r
7185           "refId": "A",\r
7186           "step": 2\r
7187         },\r
7188         {\r
7189           "expr": "round(sum(irate(istio_tcp_sent_bytes_total{connection_security_policy!=\"mutual_tls\", reporter=\"source\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace), 0.001)",\r
7190           "format": "time_series",\r
7191           "intervalFactor": 1,\r
7192           "legendFormat": "{{ source_workload }}.{{ source_workload_namespace}}",\r
7193           "refId": "B",\r
7194           "step": 2\r
7195         }\r
7196       ],\r
7197       "thresholds": [],\r
7198       "timeFrom": null,\r
7199       "timeShift": null,\r
7200       "title": "Bytes Sent to Incoming TCP Connection",\r
7201       "tooltip": {\r
7202         "shared": true,\r
7203         "sort": 0,\r
7204         "value_type": "individual"\r
7205       },\r
7206       "type": "graph",\r
7207       "xaxis": {\r
7208         "buckets": null,\r
7209         "mode": "time",\r
7210         "name": null,\r
7211         "show": true,\r
7212         "values": []\r
7213       },\r
7214       "yaxes": [\r
7215         {\r
7216           "format": "Bps",\r
7217           "label": null,\r
7218           "logBase": 1,\r
7219           "max": null,\r
7220           "min": "0",\r
7221           "show": true\r
7222         },\r
7223         {\r
7224           "format": "short",\r
7225           "label": null,\r
7226           "logBase": 1,\r
7227           "max": null,\r
7228           "min": null,\r
7229           "show": true\r
7230         }\r
7231       ],\r
7232       "yaxis": {\r
7233         "align": false,\r
7234         "alignLevel": null\r
7235       }\r
7236     },\r
7237     {\r
7238       "content": "<div class=\"dashboard-header text-center\">\n<span>SERVICE WORKLOADS</span>\n</div>",\r
7239       "gridPos": {\r
7240         "h": 3,\r
7241         "w": 24,\r
7242         "x": 0,\r
7243         "y": 32\r
7244       },\r
7245       "id": 69,\r
7246       "links": [],\r
7247       "mode": "html",\r
7248       "title": "",\r
7249       "transparent": true,\r
7250       "type": "text"\r
7251     },\r
7252     {\r
7253       "aliasColors": {},\r
7254       "bars": false,\r
7255       "dashLength": 10,\r
7256       "dashes": false,\r
7257       "datasource": "Prometheus",\r
7258       "fill": 0,\r
7259       "gridPos": {\r
7260         "h": 6,\r
7261         "w": 12,\r
7262         "x": 0,\r
7263         "y": 35\r
7264       },\r
7265       "id": 90,\r
7266       "legend": {\r
7267         "avg": false,\r
7268         "current": false,\r
7269         "hideEmpty": true,\r
7270         "max": false,\r
7271         "min": false,\r
7272         "show": true,\r
7273         "total": false,\r
7274         "values": false\r
7275       },\r
7276       "lines": true,\r
7277       "linewidth": 1,\r
7278       "links": [],\r
7279       "nullPointMode": "null as zero",\r
7280       "percentage": false,\r
7281       "pointradius": 5,\r
7282       "points": false,\r
7283       "renderer": "flot",\r
7284       "seriesOverrides": [],\r
7285       "spaceLength": 10,\r
7286       "stack": false,\r
7287       "steppedLine": false,\r
7288       "targets": [\r
7289         {\r
7290           "expr": "round(sum(irate(istio_requests_total{connection_security_policy=\"mutual_tls\",destination_service=~\"$service\",reporter=\"destination\",destination_workload=~\"$dstwl\",destination_workload_namespace=~\"$dstns\"}[5m])) by (destination_workload, destination_workload_namespace, response_code), 0.001)",\r
7291           "format": "time_series",\r
7292           "intervalFactor": 1,\r
7293           "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} : {{ response_code }} (🔐mTLS)",\r
7294           "refId": "B",\r
7295           "step": 2\r
7296         },\r
7297         {\r
7298           "expr": "round(sum(irate(istio_requests_total{connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", reporter=\"destination\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[5m])) by (destination_workload, destination_workload_namespace, response_code), 0.001)",\r
7299           "format": "time_series",\r
7300           "hide": false,\r
7301           "intervalFactor": 1,\r
7302           "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} : {{ response_code }}",\r
7303           "refId": "A",\r
7304           "step": 2\r
7305         }\r
7306       ],\r
7307       "thresholds": [],\r
7308       "timeFrom": null,\r
7309       "timeShift": null,\r
7310       "title": "Incoming Requests by Destination And Response Code",\r
7311       "tooltip": {\r
7312         "shared": false,\r
7313         "sort": 0,\r
7314         "value_type": "individual"\r
7315       },\r
7316       "type": "graph",\r
7317       "xaxis": {\r
7318         "buckets": null,\r
7319         "mode": "time",\r
7320         "name": null,\r
7321         "show": true,\r
7322         "values": [\r
7323           "total"\r
7324         ]\r
7325       },\r
7326       "yaxes": [\r
7327         {\r
7328           "format": "ops",\r
7329           "label": null,\r
7330           "logBase": 1,\r
7331           "max": null,\r
7332           "min": "0",\r
7333           "show": true\r
7334         },\r
7335         {\r
7336           "format": "short",\r
7337           "label": null,\r
7338           "logBase": 1,\r
7339           "max": null,\r
7340           "min": null,\r
7341           "show": false\r
7342         }\r
7343       ],\r
7344       "yaxis": {\r
7345         "align": false,\r
7346         "alignLevel": null\r
7347       }\r
7348     },\r
7349     {\r
7350       "aliasColors": {},\r
7351       "bars": false,\r
7352       "dashLength": 10,\r
7353       "dashes": false,\r
7354       "datasource": "Prometheus",\r
7355       "fill": 1,\r
7356       "gridPos": {\r
7357         "h": 6,\r
7358         "w": 12,\r
7359         "x": 12,\r
7360         "y": 35\r
7361       },\r
7362       "id": 91,\r
7363       "legend": {\r
7364         "avg": false,\r
7365         "current": false,\r
7366         "hideEmpty": true,\r
7367         "hideZero": false,\r
7368         "max": false,\r
7369         "min": false,\r
7370         "show": true,\r
7371         "total": false,\r
7372         "values": false\r
7373       },\r
7374       "lines": true,\r
7375       "linewidth": 1,\r
7376       "links": [],\r
7377       "nullPointMode": "null",\r
7378       "percentage": false,\r
7379       "pointradius": 5,\r
7380       "points": false,\r
7381       "renderer": "flot",\r
7382       "seriesOverrides": [],\r
7383       "spaceLength": 10,\r
7384       "stack": false,\r
7385       "steppedLine": false,\r
7386       "targets": [\r
7387         {\r
7388           "expr": "sum(irate(istio_requests_total{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\",response_code!~\"5.*\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[5m])) by (destination_workload, destination_workload_namespace) / sum(irate(istio_requests_total{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[5m])) by (destination_workload, destination_workload_namespace)",\r
7389           "format": "time_series",\r
7390           "hide": false,\r
7391           "intervalFactor": 1,\r
7392           "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} (🔐mTLS)",\r
7393           "refId": "A",\r
7394           "step": 2\r
7395         },\r
7396         {\r
7397           "expr": "sum(irate(istio_requests_total{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\",response_code!~\"5.*\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[5m])) by (destination_workload, destination_workload_namespace) / sum(irate(istio_requests_total{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[5m])) by (destination_workload, destination_workload_namespace)",\r
7398           "format": "time_series",\r
7399           "hide": false,\r
7400           "intervalFactor": 1,\r
7401           "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }}",\r
7402           "refId": "B",\r
7403           "step": 2\r
7404         }\r
7405       ],\r
7406       "thresholds": [],\r
7407       "timeFrom": null,\r
7408       "timeShift": null,\r
7409       "title": "Incoming Success Rate (non-5xx responses) By Source",\r
7410       "tooltip": {\r
7411         "shared": true,\r
7412         "sort": 0,\r
7413         "value_type": "individual"\r
7414       },\r
7415       "type": "graph",\r
7416       "xaxis": {\r
7417         "buckets": null,\r
7418         "mode": "time",\r
7419         "name": null,\r
7420         "show": true,\r
7421         "values": []\r
7422       },\r
7423       "yaxes": [\r
7424         {\r
7425           "format": "percentunit",\r
7426           "label": null,\r
7427           "logBase": 1,\r
7428           "max": "1.01",\r
7429           "min": "0",\r
7430           "show": true\r
7431         },\r
7432         {\r
7433           "format": "short",\r
7434           "label": null,\r
7435           "logBase": 1,\r
7436           "max": null,\r
7437           "min": null,\r
7438           "show": false\r
7439         }\r
7440       ],\r
7441       "yaxis": {\r
7442         "align": false,\r
7443         "alignLevel": null\r
7444       }\r
7445     },\r
7446     {\r
7447       "aliasColors": {},\r
7448       "bars": false,\r
7449       "dashLength": 10,\r
7450       "dashes": false,\r
7451       "datasource": "Prometheus",\r
7452       "description": "",\r
7453       "fill": 1,\r
7454       "gridPos": {\r
7455         "h": 6,\r
7456         "w": 8,\r
7457         "x": 0,\r
7458         "y": 41\r
7459       },\r
7460       "id": 94,\r
7461       "legend": {\r
7462         "alignAsTable": false,\r
7463         "avg": false,\r
7464         "current": false,\r
7465         "hideEmpty": true,\r
7466         "hideZero": false,\r
7467         "max": false,\r
7468         "min": false,\r
7469         "rightSide": false,\r
7470         "show": true,\r
7471         "total": false,\r
7472         "values": false\r
7473       },\r
7474       "lines": true,\r
7475       "linewidth": 1,\r
7476       "links": [],\r
7477       "nullPointMode": "null",\r
7478       "percentage": false,\r
7479       "pointradius": 5,\r
7480       "points": false,\r
7481       "renderer": "flot",\r
7482       "seriesOverrides": [],\r
7483       "spaceLength": 10,\r
7484       "stack": false,\r
7485       "steppedLine": false,\r
7486       "targets": [\r
7487         {\r
7488           "expr": "histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))",\r
7489           "format": "time_series",\r
7490           "hide": false,\r
7491           "intervalFactor": 1,\r
7492           "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P50 (🔐mTLS)",\r
7493           "refId": "D",\r
7494           "step": 2\r
7495         },\r
7496         {\r
7497           "expr": "histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))",\r
7498           "format": "time_series",\r
7499           "hide": false,\r
7500           "intervalFactor": 1,\r
7501           "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P90 (🔐mTLS)",\r
7502           "refId": "A",\r
7503           "step": 2\r
7504         },\r
7505         {\r
7506           "expr": "histogram_quantile(0.95, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))",\r
7507           "format": "time_series",\r
7508           "hide": false,\r
7509           "intervalFactor": 1,\r
7510           "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P95 (🔐mTLS)",\r
7511           "refId": "B",\r
7512           "step": 2\r
7513         },\r
7514         {\r
7515           "expr": "histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))",\r
7516           "format": "time_series",\r
7517           "hide": false,\r
7518           "intervalFactor": 1,\r
7519           "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P99 (🔐mTLS)",\r
7520           "refId": "C",\r
7521           "step": 2\r
7522         },\r
7523         {\r
7524           "expr": "histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))",\r
7525           "format": "time_series",\r
7526           "hide": false,\r
7527           "intervalFactor": 1,\r
7528           "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P50",\r
7529           "refId": "E",\r
7530           "step": 2\r
7531         },\r
7532         {\r
7533           "expr": "histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))",\r
7534           "format": "time_series",\r
7535           "hide": false,\r
7536           "intervalFactor": 1,\r
7537           "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P90",\r
7538           "refId": "F",\r
7539           "step": 2\r
7540         },\r
7541         {\r
7542           "expr": "histogram_quantile(0.95, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))",\r
7543           "format": "time_series",\r
7544           "hide": false,\r
7545           "intervalFactor": 1,\r
7546           "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P95",\r
7547           "refId": "G",\r
7548           "step": 2\r
7549         },\r
7550         {\r
7551           "expr": "histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))",\r
7552           "format": "time_series",\r
7553           "hide": false,\r
7554           "intervalFactor": 1,\r
7555           "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P99",\r
7556           "refId": "H",\r
7557           "step": 2\r
7558         }\r
7559       ],\r
7560       "thresholds": [],\r
7561       "timeFrom": null,\r
7562       "timeShift": null,\r
7563       "title": "Incoming Request Duration by Source",\r
7564       "tooltip": {\r
7565         "shared": true,\r
7566         "sort": 0,\r
7567         "value_type": "individual"\r
7568       },\r
7569       "type": "graph",\r
7570       "xaxis": {\r
7571         "buckets": null,\r
7572         "mode": "time",\r
7573         "name": null,\r
7574         "show": true,\r
7575         "values": []\r
7576       },\r
7577       "yaxes": [\r
7578         {\r
7579           "format": "s",\r
7580           "label": null,\r
7581           "logBase": 1,\r
7582           "max": null,\r
7583           "min": "0",\r
7584           "show": true\r
7585         },\r
7586         {\r
7587           "format": "short",\r
7588           "label": null,\r
7589           "logBase": 1,\r
7590           "max": null,\r
7591           "min": null,\r
7592           "show": false\r
7593         }\r
7594       ],\r
7595       "yaxis": {\r
7596         "align": false,\r
7597         "alignLevel": null\r
7598       }\r
7599     },\r
7600     {\r
7601       "aliasColors": {},\r
7602       "bars": false,\r
7603       "dashLength": 10,\r
7604       "dashes": false,\r
7605       "datasource": "Prometheus",\r
7606       "fill": 1,\r
7607       "gridPos": {\r
7608         "h": 6,\r
7609         "w": 8,\r
7610         "x": 8,\r
7611         "y": 41\r
7612       },\r
7613       "id": 95,\r
7614       "legend": {\r
7615         "alignAsTable": false,\r
7616         "avg": false,\r
7617         "current": false,\r
7618         "hideEmpty": true,\r
7619         "max": false,\r
7620         "min": false,\r
7621         "rightSide": false,\r
7622         "show": true,\r
7623         "total": false,\r
7624         "values": false\r
7625       },\r
7626       "lines": true,\r
7627       "linewidth": 1,\r
7628       "links": [],\r
7629       "nullPointMode": "null",\r
7630       "percentage": false,\r
7631       "pointradius": 5,\r
7632       "points": false,\r
7633       "renderer": "flot",\r
7634       "seriesOverrides": [],\r
7635       "spaceLength": 10,\r
7636       "stack": false,\r
7637       "steppedLine": false,\r
7638       "targets": [\r
7639         {\r
7640           "expr": "histogram_quantile(0.50, sum(irate(istio_request_bytes_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))",\r
7641           "format": "time_series",\r
7642           "hide": false,\r
7643           "intervalFactor": 1,\r
7644           "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P50 (🔐mTLS)",\r
7645           "refId": "D",\r
7646           "step": 2\r
7647         },\r
7648         {\r
7649           "expr": "histogram_quantile(0.90, sum(irate(istio_request_bytes_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))",\r
7650           "format": "time_series",\r
7651           "hide": false,\r
7652           "intervalFactor": 1,\r
7653           "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }}  P90 (🔐mTLS)",\r
7654           "refId": "A",\r
7655           "step": 2\r
7656         },\r
7657         {\r
7658           "expr": "histogram_quantile(0.95, sum(irate(istio_request_bytes_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))",\r
7659           "format": "time_series",\r
7660           "hide": false,\r
7661           "intervalFactor": 1,\r
7662           "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P95 (🔐mTLS)",\r
7663           "refId": "B",\r
7664           "step": 2\r
7665         },\r
7666         {\r
7667           "expr": "histogram_quantile(0.99, sum(irate(istio_request_bytes_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))",\r
7668           "format": "time_series",\r
7669           "hide": false,\r
7670           "intervalFactor": 1,\r
7671           "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }}  P99 (🔐mTLS)",\r
7672           "refId": "C",\r
7673           "step": 2\r
7674         },\r
7675         {\r
7676           "expr": "histogram_quantile(0.50, sum(irate(istio_request_bytes_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))",\r
7677           "format": "time_series",\r
7678           "hide": false,\r
7679           "intervalFactor": 1,\r
7680           "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P50",\r
7681           "refId": "E",\r
7682           "step": 2\r
7683         },\r
7684         {\r
7685           "expr": "histogram_quantile(0.90, sum(irate(istio_request_bytes_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))",\r
7686           "format": "time_series",\r
7687           "hide": false,\r
7688           "intervalFactor": 1,\r
7689           "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P90",\r
7690           "refId": "F",\r
7691           "step": 2\r
7692         },\r
7693         {\r
7694           "expr": "histogram_quantile(0.95, sum(irate(istio_request_bytes_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))",\r
7695           "format": "time_series",\r
7696           "hide": false,\r
7697           "intervalFactor": 1,\r
7698           "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P95",\r
7699           "refId": "G",\r
7700           "step": 2\r
7701         },\r
7702         {\r
7703           "expr": "histogram_quantile(0.99, sum(irate(istio_request_bytes_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))",\r
7704           "format": "time_series",\r
7705           "hide": false,\r
7706           "intervalFactor": 1,\r
7707           "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P99",\r
7708           "refId": "H",\r
7709           "step": 2\r
7710         }\r
7711       ],\r
7712       "thresholds": [],\r
7713       "timeFrom": null,\r
7714       "timeShift": null,\r
7715       "title": "Incoming Request Size By Source",\r
7716       "tooltip": {\r
7717         "shared": true,\r
7718         "sort": 0,\r
7719         "value_type": "individual"\r
7720       },\r
7721       "type": "graph",\r
7722       "xaxis": {\r
7723         "buckets": null,\r
7724         "mode": "time",\r
7725         "name": null,\r
7726         "show": true,\r
7727         "values": []\r
7728       },\r
7729       "yaxes": [\r
7730         {\r
7731           "format": "decbytes",\r
7732           "label": null,\r
7733           "logBase": 1,\r
7734           "max": null,\r
7735           "min": "0",\r
7736           "show": true\r
7737         },\r
7738         {\r
7739           "format": "short",\r
7740           "label": null,\r
7741           "logBase": 1,\r
7742           "max": null,\r
7743           "min": null,\r
7744           "show": false\r
7745         }\r
7746       ],\r
7747       "yaxis": {\r
7748         "align": false,\r
7749         "alignLevel": null\r
7750       }\r
7751     },\r
7752     {\r
7753       "aliasColors": {},\r
7754       "bars": false,\r
7755       "dashLength": 10,\r
7756       "dashes": false,\r
7757       "datasource": "Prometheus",\r
7758       "fill": 1,\r
7759       "gridPos": {\r
7760         "h": 6,\r
7761         "w": 8,\r
7762         "x": 16,\r
7763         "y": 41\r
7764       },\r
7765       "id": 96,\r
7766       "legend": {\r
7767         "alignAsTable": false,\r
7768         "avg": false,\r
7769         "current": false,\r
7770         "hideEmpty": true,\r
7771         "max": false,\r
7772         "min": false,\r
7773         "rightSide": false,\r
7774         "show": true,\r
7775         "total": false,\r
7776         "values": false\r
7777       },\r
7778       "lines": true,\r
7779       "linewidth": 1,\r
7780       "links": [],\r
7781       "nullPointMode": "null",\r
7782       "percentage": false,\r
7783       "pointradius": 5,\r
7784       "points": false,\r
7785       "renderer": "flot",\r
7786       "seriesOverrides": [],\r
7787       "spaceLength": 10,\r
7788       "stack": false,\r
7789       "steppedLine": false,\r
7790       "targets": [\r
7791         {\r
7792           "expr": "histogram_quantile(0.50, sum(irate(istio_response_bytes_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))",\r
7793           "format": "time_series",\r
7794           "hide": false,\r
7795           "intervalFactor": 1,\r
7796           "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P50 (🔐mTLS)",\r
7797           "refId": "D",\r
7798           "step": 2\r
7799         },\r
7800         {\r
7801           "expr": "histogram_quantile(0.90, sum(irate(istio_response_bytes_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))",\r
7802           "format": "time_series",\r
7803           "hide": false,\r
7804           "intervalFactor": 1,\r
7805           "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }}  P90 (🔐mTLS)",\r
7806           "refId": "A",\r
7807           "step": 2\r
7808         },\r
7809         {\r
7810           "expr": "histogram_quantile(0.95, sum(irate(istio_response_bytes_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))",\r
7811           "format": "time_series",\r
7812           "hide": false,\r
7813           "intervalFactor": 1,\r
7814           "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P95 (🔐mTLS)",\r
7815           "refId": "B",\r
7816           "step": 2\r
7817         },\r
7818         {\r
7819           "expr": "histogram_quantile(0.99, sum(irate(istio_response_bytes_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))",\r
7820           "format": "time_series",\r
7821           "hide": false,\r
7822           "intervalFactor": 1,\r
7823           "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }}  P99 (🔐mTLS)",\r
7824           "refId": "C",\r
7825           "step": 2\r
7826         },\r
7827         {\r
7828           "expr": "histogram_quantile(0.50, sum(irate(istio_response_bytes_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))",\r
7829           "format": "time_series",\r
7830           "hide": false,\r
7831           "intervalFactor": 1,\r
7832           "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P50",\r
7833           "refId": "E",\r
7834           "step": 2\r
7835         },\r
7836         {\r
7837           "expr": "histogram_quantile(0.90, sum(irate(istio_response_bytes_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))",\r
7838           "format": "time_series",\r
7839           "hide": false,\r
7840           "intervalFactor": 1,\r
7841           "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P90",\r
7842           "refId": "F",\r
7843           "step": 2\r
7844         },\r
7845         {\r
7846           "expr": "histogram_quantile(0.95, sum(irate(istio_response_bytes_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))",\r
7847           "format": "time_series",\r
7848           "hide": false,\r
7849           "intervalFactor": 1,\r
7850           "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P95",\r
7851           "refId": "G",\r
7852           "step": 2\r
7853         },\r
7854         {\r
7855           "expr": "histogram_quantile(0.99, sum(irate(istio_response_bytes_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))",\r
7856           "format": "time_series",\r
7857           "hide": false,\r
7858           "intervalFactor": 1,\r
7859           "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P99",\r
7860           "refId": "H",\r
7861           "step": 2\r
7862         }\r
7863       ],\r
7864       "thresholds": [],\r
7865       "timeFrom": null,\r
7866       "timeShift": null,\r
7867       "title": "Response Size By Source",\r
7868       "tooltip": {\r
7869         "shared": true,\r
7870         "sort": 0,\r
7871         "value_type": "individual"\r
7872       },\r
7873       "type": "graph",\r
7874       "xaxis": {\r
7875         "buckets": null,\r
7876         "mode": "time",\r
7877         "name": null,\r
7878         "show": true,\r
7879         "values": []\r
7880       },\r
7881       "yaxes": [\r
7882         {\r
7883           "format": "decbytes",\r
7884           "label": null,\r
7885           "logBase": 1,\r
7886           "max": null,\r
7887           "min": "0",\r
7888           "show": true\r
7889         },\r
7890         {\r
7891           "format": "short",\r
7892           "label": null,\r
7893           "logBase": 1,\r
7894           "max": null,\r
7895           "min": null,\r
7896           "show": false\r
7897         }\r
7898       ],\r
7899       "yaxis": {\r
7900         "align": false,\r
7901         "alignLevel": null\r
7902       }\r
7903     },\r
7904     {\r
7905       "aliasColors": {},\r
7906       "bars": false,\r
7907       "dashLength": 10,\r
7908       "dashes": false,\r
7909       "datasource": "Prometheus",\r
7910       "fill": 1,\r
7911       "gridPos": {\r
7912         "h": 6,\r
7913         "w": 12,\r
7914         "x": 0,\r
7915         "y": 47\r
7916       },\r
7917       "id": 92,\r
7918       "legend": {\r
7919         "avg": false,\r
7920         "current": false,\r
7921         "max": false,\r
7922         "min": false,\r
7923         "show": true,\r
7924         "total": false,\r
7925         "values": false\r
7926       },\r
7927       "lines": true,\r
7928       "linewidth": 1,\r
7929       "links": [],\r
7930       "nullPointMode": "null",\r
7931       "percentage": false,\r
7932       "pointradius": 5,\r
7933       "points": false,\r
7934       "renderer": "flot",\r
7935       "seriesOverrides": [],\r
7936       "spaceLength": 10,\r
7937       "stack": false,\r
7938       "steppedLine": false,\r
7939       "targets": [\r
7940         {\r
7941           "expr": "round(sum(irate(istio_tcp_received_bytes_total{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace), 0.001)",\r
7942           "format": "time_series",\r
7943           "hide": false,\r
7944           "intervalFactor": 1,\r
7945           "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace}} (🔐mTLS)",\r
7946           "refId": "A",\r
7947           "step": 2\r
7948         },\r
7949         {\r
7950           "expr": "round(sum(irate(istio_tcp_received_bytes_total{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace), 0.001)",\r
7951           "format": "time_series",\r
7952           "intervalFactor": 1,\r
7953           "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace}}",\r
7954           "refId": "B",\r
7955           "step": 2\r
7956         }\r
7957       ],\r
7958       "thresholds": [],\r
7959       "timeFrom": null,\r
7960       "timeShift": null,\r
7961       "title": "Bytes Received from Incoming TCP Connection",\r
7962       "tooltip": {\r
7963         "shared": true,\r
7964         "sort": 0,\r
7965         "value_type": "individual"\r
7966       },\r
7967       "type": "graph",\r
7968       "xaxis": {\r
7969         "buckets": null,\r
7970         "mode": "time",\r
7971         "name": null,\r
7972         "show": true,\r
7973         "values": []\r
7974       },\r
7975       "yaxes": [\r
7976         {\r
7977           "format": "Bps",\r
7978           "label": null,\r
7979           "logBase": 1,\r
7980           "max": null,\r
7981           "min": "0",\r
7982           "show": true\r
7983         },\r
7984         {\r
7985           "format": "short",\r
7986           "label": null,\r
7987           "logBase": 1,\r
7988           "max": null,\r
7989           "min": null,\r
7990           "show": true\r
7991         }\r
7992       ],\r
7993       "yaxis": {\r
7994         "align": false,\r
7995         "alignLevel": null\r
7996       }\r
7997     },\r
7998     {\r
7999       "aliasColors": {},\r
8000       "bars": false,\r
8001       "dashLength": 10,\r
8002       "dashes": false,\r
8003       "datasource": "Prometheus",\r
8004       "fill": 1,\r
8005       "gridPos": {\r
8006         "h": 6,\r
8007         "w": 12,\r
8008         "x": 12,\r
8009         "y": 47\r
8010       },\r
8011       "id": 93,\r
8012       "legend": {\r
8013         "avg": false,\r
8014         "current": false,\r
8015         "max": false,\r
8016         "min": false,\r
8017         "show": true,\r
8018         "total": false,\r
8019         "values": false\r
8020       },\r
8021       "lines": true,\r
8022       "linewidth": 1,\r
8023       "links": [],\r
8024       "nullPointMode": "null",\r
8025       "percentage": false,\r
8026       "pointradius": 5,\r
8027       "points": false,\r
8028       "renderer": "flot",\r
8029       "seriesOverrides": [],\r
8030       "spaceLength": 10,\r
8031       "stack": false,\r
8032       "steppedLine": false,\r
8033       "targets": [\r
8034         {\r
8035           "expr": "round(sum(irate(istio_tcp_sent_bytes_total{connection_security_policy=\"mutual_tls\", reporter=\"source\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace), 0.001)",\r
8036           "format": "time_series",\r
8037           "intervalFactor": 1,\r
8038           "legendFormat": "{{ destination_workload }}.{{destination_workload_namespace }} (🔐mTLS)",\r
8039           "refId": "A",\r
8040           "step": 2\r
8041         },\r
8042         {\r
8043           "expr": "round(sum(irate(istio_tcp_sent_bytes_total{connection_security_policy!=\"mutual_tls\", reporter=\"source\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace), 0.001)",\r
8044           "format": "time_series",\r
8045           "intervalFactor": 1,\r
8046           "legendFormat": "{{ destination_workload }}.{{destination_workload_namespace }}",\r
8047           "refId": "B",\r
8048           "step": 2\r
8049         }\r
8050       ],\r
8051       "thresholds": [],\r
8052       "timeFrom": null,\r
8053       "timeShift": null,\r
8054       "title": "Bytes Sent to Incoming TCP Connection",\r
8055       "tooltip": {\r
8056         "shared": true,\r
8057         "sort": 0,\r
8058         "value_type": "individual"\r
8059       },\r
8060       "type": "graph",\r
8061       "xaxis": {\r
8062         "buckets": null,\r
8063         "mode": "time",\r
8064         "name": null,\r
8065         "show": true,\r
8066         "values": []\r
8067       },\r
8068       "yaxes": [\r
8069         {\r
8070           "format": "Bps",\r
8071           "label": null,\r
8072           "logBase": 1,\r
8073           "max": null,\r
8074           "min": "0",\r
8075           "show": true\r
8076         },\r
8077         {\r
8078           "format": "short",\r
8079           "label": null,\r
8080           "logBase": 1,\r
8081           "max": null,\r
8082           "min": null,\r
8083           "show": true\r
8084         }\r
8085       ],\r
8086       "yaxis": {\r
8087         "align": false,\r
8088         "alignLevel": null\r
8089       }\r
8090     }\r
8091   ],\r
8092   "refresh": "10s",\r
8093   "schemaVersion": 16,\r
8094   "style": "dark",\r
8095   "tags": [],\r
8096   "templating": {\r
8097     "list": [\r
8098       {\r
8099         "allValue": null,\r
8100         "datasource": "Prometheus",\r
8101         "hide": 0,\r
8102         "includeAll": false,\r
8103         "label": "Service",\r
8104         "multi": false,\r
8105         "name": "service",\r
8106         "options": [],\r
8107         "query": "label_values(destination_service)",\r
8108         "refresh": 1,\r
8109         "regex": "",\r
8110         "sort": 0,\r
8111         "tagValuesQuery": "",\r
8112         "tags": [],\r
8113         "tagsQuery": "",\r
8114         "type": "query",\r
8115         "useTags": false\r
8116       },\r
8117       {\r
8118         "allValue": null,\r
8119         "current": {\r
8120           "text": "All",\r
8121           "value": "$__all"\r
8122         },\r
8123         "datasource": "Prometheus",\r
8124         "hide": 0,\r
8125         "includeAll": true,\r
8126         "label": "Client Workload Namespace",\r
8127         "multi": true,\r
8128         "name": "srcns",\r
8129         "options": [],\r
8130         "query": "query_result( sum(istio_requests_total{reporter=\"destination\", destination_service=\"$service\"}) by (source_workload_namespace) or sum(istio_tcp_sent_bytes_total{reporter=\"destination\", destination_service=~\"$service\"}) by (source_workload_namespace))",\r
8131         "refresh": 1,\r
8132         "regex": "/.*namespace=\"([^\"]*).*/",\r
8133         "sort": 2,\r
8134         "tagValuesQuery": "",\r
8135         "tags": [],\r
8136         "tagsQuery": "",\r
8137         "type": "query",\r
8138         "useTags": false\r
8139       },\r
8140       {\r
8141         "allValue": null,\r
8142         "current": {\r
8143           "text": "All",\r
8144           "value": "$__all"\r
8145         },\r
8146         "datasource": "Prometheus",\r
8147         "hide": 0,\r
8148         "includeAll": true,\r
8149         "label": "Client Workload",\r
8150         "multi": true,\r
8151         "name": "srcwl",\r
8152         "options": [],\r
8153         "query": "query_result( sum(istio_requests_total{reporter=\"destination\", destination_service=~\"$service\", source_workload_namespace=~\"$srcns\"}) by (source_workload) or sum(istio_tcp_sent_bytes_total{reporter=\"destination\", destination_service=~\"$service\", source_workload_namespace=~\"$srcns\"}) by (source_workload))",\r
8154         "refresh": 1,\r
8155         "regex": "/.*workload=\"([^\"]*).*/",\r
8156         "sort": 3,\r
8157         "tagValuesQuery": "",\r
8158         "tags": [],\r
8159         "tagsQuery": "",\r
8160         "type": "query",\r
8161         "useTags": false\r
8162       },\r
8163       {\r
8164         "allValue": null,\r
8165         "current": {\r
8166           "text": "All",\r
8167           "value": "$__all"\r
8168         },\r
8169         "datasource": "Prometheus",\r
8170         "hide": 0,\r
8171         "includeAll": true,\r
8172         "label": "Service Workload Namespace",\r
8173         "multi": true,\r
8174         "name": "dstns",\r
8175         "options": [],\r
8176         "query": "query_result( sum(istio_requests_total{reporter=\"destination\", destination_service=\"$service\"}) by (destination_workload_namespace) or sum(istio_tcp_sent_bytes_total{reporter=\"destination\", destination_service=~\"$service\"}) by (destination_workload_namespace))",\r
8177         "refresh": 1,\r
8178         "regex": "/.*namespace=\"([^\"]*).*/",\r
8179         "sort": 2,\r
8180         "tagValuesQuery": "",\r
8181         "tags": [],\r
8182         "tagsQuery": "",\r
8183         "type": "query",\r
8184         "useTags": false\r
8185       },\r
8186       {\r
8187         "allValue": null,\r
8188         "current": {\r
8189           "text": "All",\r
8190           "value": "$__all"\r
8191         },\r
8192         "datasource": "Prometheus",\r
8193         "hide": 0,\r
8194         "includeAll": true,\r
8195         "label": "Service Workload",\r
8196         "multi": true,\r
8197         "name": "dstwl",\r
8198         "options": [],\r
8199         "query": "query_result( sum(istio_requests_total{reporter=\"destination\", destination_service=~\"$service\", destination_workload_namespace=~\"$dstns\"}) by (destination_workload) or sum(istio_tcp_sent_bytes_total{reporter=\"destination\", destination_service=~\"$service\", destination_workload_namespace=~\"$dstns\"}) by (destination_workload))",\r
8200         "refresh": 1,\r
8201         "regex": "/.*workload=\"([^\"]*).*/",\r
8202         "sort": 3,\r
8203         "tagValuesQuery": "",\r
8204         "tags": [],\r
8205         "tagsQuery": "",\r
8206         "type": "query",\r
8207         "useTags": false\r
8208       }\r
8209     ]\r
8210   },\r
8211   "time": {\r
8212     "from": "now-5m",\r
8213     "to": "now"\r
8214   },\r
8215   "timepicker": {\r
8216     "refresh_intervals": [\r
8217       "5s",\r
8218       "10s",\r
8219       "30s",\r
8220       "1m",\r
8221       "5m",\r
8222       "15m",\r
8223       "30m",\r
8224       "1h",\r
8225       "2h",\r
8226       "1d"\r
8227     ],\r
8228     "time_options": [\r
8229       "5m",\r
8230       "15m",\r
8231       "1h",\r
8232       "6h",\r
8233       "12h",\r
8234       "24h",\r
8235       "2d",\r
8236       "7d",\r
8237       "30d"\r
8238     ]\r
8239   },\r
8240   "timezone": "",\r
8241   "title": "Istio Service Dashboard",\r
8242   "uid": "LJ_uJAvmk",\r
8243   "version": 1\r
8244 }\r
8245 '\r
8246 ---\r
8247 apiVersion: v1\r
8248 kind: ConfigMap\r
8249 metadata:\r
8250   name: istio-grafana-configuration-dashboards-istio-workload-dashboard\r
8251   namespace: istio-system\r
8252   labels:\r
8253     app: grafana\r
8254     chart: grafana\r
8255     heritage: Tiller\r
8256     release: istio\r
8257     istio: grafana\r
8258 data:\r
8259   istio-workload-dashboard.json: '{\r
8260   "__inputs": [\r
8261     {\r
8262       "name": "DS_PROMETHEUS",\r
8263       "label": "Prometheus",\r
8264       "description": "",\r
8265       "type": "datasource",\r
8266       "pluginId": "prometheus",\r
8267       "pluginName": "Prometheus"\r
8268     }\r
8269   ],\r
8270   "__requires": [\r
8271     {\r
8272       "type": "grafana",\r
8273       "id": "grafana",\r
8274       "name": "Grafana",\r
8275       "version": "5.0.4"\r
8276     },\r
8277     {\r
8278       "type": "panel",\r
8279       "id": "graph",\r
8280       "name": "Graph",\r
8281       "version": "5.0.0"\r
8282     },\r
8283     {\r
8284       "type": "datasource",\r
8285       "id": "prometheus",\r
8286       "name": "Prometheus",\r
8287       "version": "5.0.0"\r
8288     },\r
8289     {\r
8290       "type": "panel",\r
8291       "id": "singlestat",\r
8292       "name": "Singlestat",\r
8293       "version": "5.0.0"\r
8294     },\r
8295     {\r
8296       "type": "panel",\r
8297       "id": "text",\r
8298       "name": "Text",\r
8299       "version": "5.0.0"\r
8300     }\r
8301   ],\r
8302   "annotations": {\r
8303     "list": [\r
8304       {\r
8305         "builtIn": 1,\r
8306         "datasource": "-- Grafana --",\r
8307         "enable": true,\r
8308         "hide": true,\r
8309         "iconColor": "rgba(0, 211, 255, 1)",\r
8310         "name": "Annotations & Alerts",\r
8311         "type": "dashboard"\r
8312       }\r
8313     ]\r
8314   },\r
8315   "editable": false,\r
8316   "gnetId": null,\r
8317   "graphTooltip": 0,\r
8318   "id": null,\r
8319   "iteration": 1531345461465,\r
8320   "links": [],\r
8321   "panels": [\r
8322     {\r
8323       "content": "<div class=\"dashboard-header text-center\">\n<span>WORKLOAD: $workload.$namespace</span>\n</div>",\r
8324       "gridPos": {\r
8325         "h": 3,\r
8326         "w": 24,\r
8327         "x": 0,\r
8328         "y": 0\r
8329       },\r
8330       "id": 89,\r
8331       "links": [],\r
8332       "mode": "html",\r
8333       "title": "",\r
8334       "transparent": true,\r
8335       "type": "text"\r
8336     },\r
8337     {\r
8338       "cacheTimeout": null,\r
8339       "colorBackground": false,\r
8340       "colorValue": false,\r
8341       "colors": [\r
8342         "rgba(245, 54, 54, 0.9)",\r
8343         "rgba(237, 129, 40, 0.89)",\r
8344         "rgba(50, 172, 45, 0.97)"\r
8345       ],\r
8346       "datasource": "Prometheus",\r
8347       "format": "ops",\r
8348       "gauge": {\r
8349         "maxValue": 100,\r
8350         "minValue": 0,\r
8351         "show": false,\r
8352         "thresholdLabels": false,\r
8353         "thresholdMarkers": true\r
8354       },\r
8355       "gridPos": {\r
8356         "h": 4,\r
8357         "w": 8,\r
8358         "x": 0,\r
8359         "y": 3\r
8360       },\r
8361       "id": 12,\r
8362       "interval": null,\r
8363       "links": [],\r
8364       "mappingType": 1,\r
8365       "mappingTypes": [\r
8366         {\r
8367           "name": "value to text",\r
8368           "value": 1\r
8369         },\r
8370         {\r
8371           "name": "range to text",\r
8372           "value": 2\r
8373         }\r
8374       ],\r
8375       "maxDataPoints": 100,\r
8376       "nullPointMode": "connected",\r
8377       "nullText": null,\r
8378       "postfix": "",\r
8379       "postfixFontSize": "50%",\r
8380       "prefix": "",\r
8381       "prefixFontSize": "50%",\r
8382       "rangeMaps": [\r
8383         {\r
8384           "from": "null",\r
8385           "text": "N/A",\r
8386           "to": "null"\r
8387         }\r
8388       ],\r
8389       "sparkline": {\r
8390         "fillColor": "rgba(31, 118, 189, 0.18)",\r
8391         "full": true,\r
8392         "lineColor": "rgb(31, 120, 193)",\r
8393         "show": true\r
8394       },\r
8395       "tableColumn": "",\r
8396       "targets": [\r
8397         {\r
8398           "expr": "round(sum(irate(istio_requests_total{reporter=\"destination\",destination_workload_namespace=~\"$namespace\",destination_workload=~\"$workload\"}[5m])), 0.001)",\r
8399           "format": "time_series",\r
8400           "intervalFactor": 1,\r
8401           "refId": "A",\r
8402           "step": 4\r
8403         }\r
8404       ],\r
8405       "thresholds": "",\r
8406       "title": "Incoming Request Volume",\r
8407       "transparent": false,\r
8408       "type": "singlestat",\r
8409       "valueFontSize": "80%",\r
8410       "valueMaps": [\r
8411         {\r
8412           "op": "=",\r
8413           "text": "N/A",\r
8414           "value": "null"\r
8415         }\r
8416       ],\r
8417       "valueName": "current"\r
8418     },\r
8419     {\r
8420       "cacheTimeout": null,\r
8421       "colorBackground": false,\r
8422       "colorValue": false,\r
8423       "colors": [\r
8424         "rgba(50, 172, 45, 0.97)",\r
8425         "rgba(237, 129, 40, 0.89)",\r
8426         "rgba(245, 54, 54, 0.9)"\r
8427       ],\r
8428       "datasource": "Prometheus",\r
8429       "decimals": null,\r
8430       "format": "percentunit",\r
8431       "gauge": {\r
8432         "maxValue": 100,\r
8433         "minValue": 80,\r
8434         "show": false,\r
8435         "thresholdLabels": false,\r
8436         "thresholdMarkers": false\r
8437       },\r
8438       "gridPos": {\r
8439         "h": 4,\r
8440         "w": 8,\r
8441         "x": 8,\r
8442         "y": 3\r
8443       },\r
8444       "id": 14,\r
8445       "interval": null,\r
8446       "links": [],\r
8447       "mappingType": 1,\r
8448       "mappingTypes": [\r
8449         {\r
8450           "name": "value to text",\r
8451           "value": 1\r
8452         },\r
8453         {\r
8454           "name": "range to text",\r
8455           "value": 2\r
8456         }\r
8457       ],\r
8458       "maxDataPoints": 100,\r
8459       "nullPointMode": "connected",\r
8460       "nullText": null,\r
8461       "postfix": "",\r
8462       "postfixFontSize": "50%",\r
8463       "prefix": "",\r
8464       "prefixFontSize": "50%",\r
8465       "rangeMaps": [\r
8466         {\r
8467           "from": "null",\r
8468           "text": "N/A",\r
8469           "to": "null"\r
8470         }\r
8471       ],\r
8472       "sparkline": {\r
8473         "fillColor": "rgba(31, 118, 189, 0.18)",\r
8474         "full": true,\r
8475         "lineColor": "rgb(31, 120, 193)",\r
8476         "show": true\r
8477       },\r
8478       "tableColumn": "",\r
8479       "targets": [\r
8480         {\r
8481           "expr": "sum(irate(istio_requests_total{reporter=\"destination\",destination_workload_namespace=~\"$namespace\",destination_workload=~\"$workload\",response_code!~\"5.*\"}[5m])) / sum(irate(istio_requests_total{reporter=\"destination\",destination_workload_namespace=~\"$namespace\",destination_workload=~\"$workload\"}[5m]))",\r
8482           "format": "time_series",\r
8483           "intervalFactor": 1,\r
8484           "refId": "B"\r
8485         }\r
8486       ],\r
8487       "thresholds": "95, 99, 99.5",\r
8488       "title": "Incoming Success Rate (non-5xx responses)",\r
8489       "transparent": false,\r
8490       "type": "singlestat",\r
8491       "valueFontSize": "80%",\r
8492       "valueMaps": [\r
8493         {\r
8494           "op": "=",\r
8495           "text": "N/A",\r
8496           "value": "null"\r
8497         }\r
8498       ],\r
8499       "valueName": "avg"\r
8500     },\r
8501     {\r
8502       "aliasColors": {},\r
8503       "bars": false,\r
8504       "dashLength": 10,\r
8505       "dashes": false,\r
8506       "datasource": "Prometheus",\r
8507       "fill": 1,\r
8508       "gridPos": {\r
8509         "h": 4,\r
8510         "w": 8,\r
8511         "x": 16,\r
8512         "y": 3\r
8513       },\r
8514       "id": 87,\r
8515       "legend": {\r
8516         "alignAsTable": false,\r
8517         "avg": false,\r
8518         "current": false,\r
8519         "hideEmpty": false,\r
8520         "hideZero": false,\r
8521         "max": false,\r
8522         "min": false,\r
8523         "rightSide": true,\r
8524         "show": true,\r
8525         "total": false,\r
8526         "values": false\r
8527       },\r
8528       "lines": true,\r
8529       "linewidth": 1,\r
8530       "links": [],\r
8531       "nullPointMode": "null",\r
8532       "percentage": false,\r
8533       "pointradius": 5,\r
8534       "points": false,\r
8535       "renderer": "flot",\r
8536       "seriesOverrides": [],\r
8537       "spaceLength": 10,\r
8538       "stack": false,\r
8539       "steppedLine": false,\r
8540       "targets": [\r
8541         {\r
8542           "expr": "histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\",destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\"}[1m])) by (le))",\r
8543           "format": "time_series",\r
8544           "interval": "",\r
8545           "intervalFactor": 1,\r
8546           "legendFormat": "P50",\r
8547           "refId": "A"\r
8548         },\r
8549         {\r
8550           "expr": "histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\",destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\"}[1m])) by (le))",\r
8551           "format": "time_series",\r
8552           "hide": false,\r
8553           "intervalFactor": 1,\r
8554           "legendFormat": "P90",\r
8555           "refId": "B"\r
8556         },\r
8557         {\r
8558           "expr": "histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\",destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\"}[1m])) by (le))",\r
8559           "format": "time_series",\r
8560           "hide": false,\r
8561           "intervalFactor": 1,\r
8562           "legendFormat": "P99",\r
8563           "refId": "C"\r
8564         }\r
8565       ],\r
8566       "thresholds": [],\r
8567       "timeFrom": null,\r
8568       "timeShift": null,\r
8569       "title": "Request Duration",\r
8570       "tooltip": {\r
8571         "shared": true,\r
8572         "sort": 0,\r
8573         "value_type": "individual"\r
8574       },\r
8575       "type": "graph",\r
8576       "xaxis": {\r
8577         "buckets": null,\r
8578         "mode": "time",\r
8579         "name": null,\r
8580         "show": true,\r
8581         "values": []\r
8582       },\r
8583       "yaxes": [\r
8584         {\r
8585           "format": "s",\r
8586           "label": null,\r
8587           "logBase": 1,\r
8588           "max": null,\r
8589           "min": null,\r
8590           "show": true\r
8591         },\r
8592         {\r
8593           "format": "short",\r
8594           "label": null,\r
8595           "logBase": 1,\r
8596           "max": null,\r
8597           "min": null,\r
8598           "show": false\r
8599         }\r
8600       ]\r
8601     },\r
8602     {\r
8603       "cacheTimeout": null,\r
8604       "colorBackground": false,\r
8605       "colorValue": false,\r
8606       "colors": [\r
8607         "#299c46",\r
8608         "rgba(237, 129, 40, 0.89)",\r
8609         "#d44a3a"\r
8610       ],\r
8611       "datasource": "Prometheus",\r
8612       "format": "Bps",\r
8613       "gauge": {\r
8614         "maxValue": 100,\r
8615         "minValue": 0,\r
8616         "show": false,\r
8617         "thresholdLabels": false,\r
8618         "thresholdMarkers": true\r
8619       },\r
8620       "gridPos": {\r
8621         "h": 4,\r
8622         "w": 12,\r
8623         "x": 0,\r
8624         "y": 7\r
8625       },\r
8626       "id": 84,\r
8627       "interval": null,\r
8628       "links": [],\r
8629       "mappingType": 1,\r
8630       "mappingTypes": [\r
8631         {\r
8632           "name": "value to text",\r
8633           "value": 1\r
8634         },\r
8635         {\r
8636           "name": "range to text",\r
8637           "value": 2\r
8638         }\r
8639       ],\r
8640       "maxDataPoints": 100,\r
8641       "nullPointMode": "connected",\r
8642       "nullText": null,\r
8643       "postfix": "",\r
8644       "postfixFontSize": "50%",\r
8645       "prefix": "",\r
8646       "prefixFontSize": "50%",\r
8647       "rangeMaps": [\r
8648         {\r
8649           "from": "null",\r
8650           "text": "N/A",\r
8651           "to": "null"\r
8652         }\r
8653       ],\r
8654       "sparkline": {\r
8655         "fillColor": "rgba(31, 118, 189, 0.18)",\r
8656         "full": true,\r
8657         "lineColor": "rgb(31, 120, 193)",\r
8658         "show": true\r
8659       },\r
8660       "tableColumn": "",\r
8661       "targets": [\r
8662         {\r
8663           "expr": "sum(irate(istio_tcp_sent_bytes_total{reporter=\"destination\", destination_workload_namespace=~\"$namespace\", destination_workload=~\"$workload\"}[1m])) + sum(irate(istio_tcp_received_bytes_total{reporter=\"destination\", destination_workload_namespace=~\"$namespace\", destination_workload=~\"$workload\"}[1m]))",\r
8664           "format": "time_series",\r
8665           "hide": false,\r
8666           "intervalFactor": 1,\r
8667           "legendFormat": "",\r
8668           "refId": "A"\r
8669         }\r
8670       ],\r
8671       "thresholds": "",\r
8672       "title": "TCP Server Traffic",\r
8673       "transparent": false,\r
8674       "type": "singlestat",\r
8675       "valueFontSize": "80%",\r
8676       "valueMaps": [\r
8677         {\r
8678           "op": "=",\r
8679           "text": "N/A",\r
8680           "value": "null"\r
8681         }\r
8682       ],\r
8683       "valueName": "avg"\r
8684     },\r
8685     {\r
8686       "cacheTimeout": null,\r
8687       "colorBackground": false,\r
8688       "colorValue": false,\r
8689       "colors": [\r
8690         "#299c46",\r
8691         "rgba(237, 129, 40, 0.89)",\r
8692         "#d44a3a"\r
8693       ],\r
8694       "datasource": "Prometheus",\r
8695       "format": "Bps",\r
8696       "gauge": {\r
8697         "maxValue": 100,\r
8698         "minValue": 0,\r
8699         "show": false,\r
8700         "thresholdLabels": false,\r
8701         "thresholdMarkers": true\r
8702       },\r
8703       "gridPos": {\r
8704         "h": 4,\r
8705         "w": 12,\r
8706         "x": 12,\r
8707         "y": 7\r
8708       },\r
8709       "id": 85,\r
8710       "interval": null,\r
8711       "links": [],\r
8712       "mappingType": 1,\r
8713       "mappingTypes": [\r
8714         {\r
8715           "name": "value to text",\r
8716           "value": 1\r
8717         },\r
8718         {\r
8719           "name": "range to text",\r
8720           "value": 2\r
8721         }\r
8722       ],\r
8723       "maxDataPoints": 100,\r
8724       "nullPointMode": "connected",\r
8725       "nullText": null,\r
8726       "postfix": "",\r
8727       "postfixFontSize": "50%",\r
8728       "prefix": "",\r
8729       "prefixFontSize": "50%",\r
8730       "rangeMaps": [\r
8731         {\r
8732           "from": "null",\r
8733           "text": "N/A",\r
8734           "to": "null"\r
8735         }\r
8736       ],\r
8737       "sparkline": {\r
8738         "fillColor": "rgba(31, 118, 189, 0.18)",\r
8739         "full": true,\r
8740         "lineColor": "rgb(31, 120, 193)",\r
8741         "show": true\r
8742       },\r
8743       "tableColumn": "",\r
8744       "targets": [\r
8745         {\r
8746           "expr": "sum(irate(istio_tcp_sent_bytes_total{reporter=\"source\", source_workload_namespace=~\"$namespace\", source_workload=~\"$workload\"}[1m])) + sum(irate(istio_tcp_received_bytes_total{reporter=\"source\", source_workload_namespace=~\"$namespace\", source_workload=~\"$workload\"}[1m]))",\r
8747           "format": "time_series",\r
8748           "hide": false,\r
8749           "intervalFactor": 1,\r
8750           "legendFormat": "",\r
8751           "refId": "A"\r
8752         }\r
8753       ],\r
8754       "thresholds": "",\r
8755       "title": "TCP Client Traffic",\r
8756       "transparent": false,\r
8757       "type": "singlestat",\r
8758       "valueFontSize": "80%",\r
8759       "valueMaps": [\r
8760         {\r
8761           "op": "=",\r
8762           "text": "N/A",\r
8763           "value": "null"\r
8764         }\r
8765       ],\r
8766       "valueName": "avg"\r
8767     },\r
8768     {\r
8769       "content": "<div class=\"dashboard-header text-center\">\n<span>INBOUND WORKLOADS</span>\n</div>",\r
8770       "gridPos": {\r
8771         "h": 3,\r
8772         "w": 24,\r
8773         "x": 0,\r
8774         "y": 11\r
8775       },\r
8776       "id": 45,\r
8777       "links": [],\r
8778       "mode": "html",\r
8779       "title": "",\r
8780       "transparent": true,\r
8781       "type": "text"\r
8782     },\r
8783     {\r
8784       "aliasColors": {},\r
8785       "bars": false,\r
8786       "dashLength": 10,\r
8787       "dashes": false,\r
8788       "datasource": "Prometheus",\r
8789       "fill": 0,\r
8790       "gridPos": {\r
8791         "h": 6,\r
8792         "w": 12,\r
8793         "x": 0,\r
8794         "y": 14\r
8795       },\r
8796       "id": 25,\r
8797       "legend": {\r
8798         "avg": false,\r
8799         "current": false,\r
8800         "hideEmpty": true,\r
8801         "max": false,\r
8802         "min": false,\r
8803         "show": true,\r
8804         "total": false,\r
8805         "values": false\r
8806       },\r
8807       "lines": true,\r
8808       "linewidth": 1,\r
8809       "links": [],\r
8810       "nullPointMode": "null as zero",\r
8811       "percentage": false,\r
8812       "pointradius": 5,\r
8813       "points": false,\r
8814       "renderer": "flot",\r
8815       "seriesOverrides": [],\r
8816       "spaceLength": 10,\r
8817       "stack": false,\r
8818       "steppedLine": false,\r
8819       "targets": [\r
8820         {\r
8821           "expr": "round(sum(irate(istio_requests_total{connection_security_policy=\"mutual_tls\", destination_workload_namespace=~\"$namespace\", destination_workload=~\"$workload\", reporter=\"destination\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[5m])) by (source_workload, source_workload_namespace, response_code), 0.001)",\r
8822           "format": "time_series",\r
8823           "intervalFactor": 1,\r
8824           "legendFormat": "{{ source_workload }}.{{ source_workload_namespace }} : {{ response_code }} (🔐mTLS)",\r
8825           "refId": "B",\r
8826           "step": 2\r
8827         },\r
8828         {\r
8829           "expr": "round(sum(irate(istio_requests_total{connection_security_policy!=\"mutual_tls\", destination_workload_namespace=~\"$namespace\", destination_workload=~\"$workload\", reporter=\"destination\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[5m])) by (source_workload, source_workload_namespace, response_code), 0.001)",\r
8830           "format": "time_series",\r
8831           "hide": false,\r
8832           "intervalFactor": 1,\r
8833           "legendFormat": "{{ source_workload }}.{{ source_workload_namespace }} : {{ response_code }}",\r
8834           "refId": "A",\r
8835           "step": 2\r
8836         }\r
8837       ],\r
8838       "thresholds": [],\r
8839       "timeFrom": null,\r
8840       "timeShift": null,\r
8841       "title": "Incoming Requests by Source And Response Code",\r
8842       "tooltip": {\r
8843         "shared": false,\r
8844         "sort": 0,\r
8845         "value_type": "individual"\r
8846       },\r
8847       "type": "graph",\r
8848       "xaxis": {\r
8849         "buckets": null,\r
8850         "mode": "time",\r
8851         "name": null,\r
8852         "show": true,\r
8853         "values": [\r
8854           "total"\r
8855         ]\r
8856       },\r
8857       "yaxes": [\r
8858         {\r
8859           "format": "ops",\r
8860           "label": null,\r
8861           "logBase": 1,\r
8862           "max": null,\r
8863           "min": "0",\r
8864           "show": true\r
8865         },\r
8866         {\r
8867           "format": "short",\r
8868           "label": null,\r
8869           "logBase": 1,\r
8870           "max": null,\r
8871           "min": null,\r
8872           "show": false\r
8873         }\r
8874       ]\r
8875     },\r
8876     {\r
8877       "aliasColors": {},\r
8878       "bars": false,\r
8879       "dashLength": 10,\r
8880       "dashes": false,\r
8881       "datasource": "Prometheus",\r
8882       "fill": 1,\r
8883       "gridPos": {\r
8884         "h": 6,\r
8885         "w": 12,\r
8886         "x": 12,\r
8887         "y": 14\r
8888       },\r
8889       "id": 26,\r
8890       "legend": {\r
8891         "avg": false,\r
8892         "current": false,\r
8893         "hideEmpty": true,\r
8894         "hideZero": false,\r
8895         "max": false,\r
8896         "min": false,\r
8897         "show": true,\r
8898         "total": false,\r
8899         "values": false\r
8900       },\r
8901       "lines": true,\r
8902       "linewidth": 1,\r
8903       "links": [],\r
8904       "nullPointMode": "null",\r
8905       "percentage": false,\r
8906       "pointradius": 5,\r
8907       "points": false,\r
8908       "renderer": "flot",\r
8909       "seriesOverrides": [],\r
8910       "spaceLength": 10,\r
8911       "stack": false,\r
8912       "steppedLine": false,\r
8913       "targets": [\r
8914         {\r
8915           "expr": "sum(irate(istio_requests_total{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload_namespace=~\"$namespace\", destination_workload=~\"$workload\",response_code!~\"5.*\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[5m])) by (source_workload, source_workload_namespace) / sum(irate(istio_requests_total{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload_namespace=~\"$namespace\", destination_workload=~\"$workload\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[5m])) by (source_workload, source_workload_namespace)",\r
8916           "format": "time_series",\r
8917           "hide": false,\r
8918           "intervalFactor": 1,\r
8919           "legendFormat": "{{ source_workload }}.{{ source_workload_namespace }} (🔐mTLS)",\r
8920           "refId": "A",\r
8921           "step": 2\r
8922         },\r
8923         {\r
8924           "expr": "sum(irate(istio_requests_total{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload_namespace=~\"$namespace\", destination_workload=~\"$workload\",response_code!~\"5.*\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[5m])) by (source_workload, source_workload_namespace) / sum(irate(istio_requests_total{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload_namespace=~\"$namespace\", destination_workload=~\"$workload\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[5m])) by (source_workload, source_workload_namespace)",\r
8925           "format": "time_series",\r
8926           "hide": false,\r
8927           "intervalFactor": 1,\r
8928           "legendFormat": "{{ source_workload }}.{{ source_workload_namespace }}",\r
8929           "refId": "B",\r
8930           "step": 2\r
8931         }\r
8932       ],\r
8933       "thresholds": [],\r
8934       "timeFrom": null,\r
8935       "timeShift": null,\r
8936       "title": "Incoming Success Rate (non-5xx responses) By Source",\r
8937       "tooltip": {\r
8938         "shared": true,\r
8939         "sort": 0,\r
8940         "value_type": "individual"\r
8941       },\r
8942       "type": "graph",\r
8943       "xaxis": {\r
8944         "buckets": null,\r
8945         "mode": "time",\r
8946         "name": null,\r
8947         "show": true,\r
8948         "values": []\r
8949       },\r
8950       "yaxes": [\r
8951         {\r
8952           "format": "percentunit",\r
8953           "label": null,\r
8954           "logBase": 1,\r
8955           "max": "1.01",\r
8956           "min": "0",\r
8957           "show": true\r
8958         },\r
8959         {\r
8960           "format": "short",\r
8961           "label": null,\r
8962           "logBase": 1,\r
8963           "max": null,\r
8964           "min": null,\r
8965           "show": false\r
8966         }\r
8967       ]\r
8968     },\r
8969     {\r
8970       "aliasColors": {},\r
8971       "bars": false,\r
8972       "dashLength": 10,\r
8973       "dashes": false,\r
8974       "datasource": "Prometheus",\r
8975       "description": "",\r
8976       "fill": 1,\r
8977       "gridPos": {\r
8978         "h": 6,\r
8979         "w": 8,\r
8980         "x": 0,\r
8981         "y": 20\r
8982       },\r
8983       "id": 27,\r
8984       "legend": {\r
8985         "alignAsTable": false,\r
8986         "avg": false,\r
8987         "current": false,\r
8988         "hideEmpty": true,\r
8989         "hideZero": false,\r
8990         "max": false,\r
8991         "min": false,\r
8992         "rightSide": false,\r
8993         "show": true,\r
8994         "total": false,\r
8995         "values": false\r
8996       },\r
8997       "lines": true,\r
8998       "linewidth": 1,\r
8999       "links": [],\r
9000       "nullPointMode": "null",\r
9001       "percentage": false,\r
9002       "pointradius": 5,\r
9003       "points": false,\r
9004       "renderer": "flot",\r
9005       "seriesOverrides": [],\r
9006       "spaceLength": 10,\r
9007       "stack": false,\r
9008       "steppedLine": false,\r
9009       "targets": [\r
9010         {\r
9011           "expr": "histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))",\r
9012           "format": "time_series",\r
9013           "hide": false,\r
9014           "intervalFactor": 1,\r
9015           "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P50 (🔐mTLS)",\r
9016           "refId": "D",\r
9017           "step": 2\r
9018         },\r
9019         {\r
9020           "expr": "histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))",\r
9021           "format": "time_series",\r
9022           "hide": false,\r
9023           "intervalFactor": 1,\r
9024           "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P90 (🔐mTLS)",\r
9025           "refId": "A",\r
9026           "step": 2\r
9027         },\r
9028         {\r
9029           "expr": "histogram_quantile(0.95, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))",\r
9030           "format": "time_series",\r
9031           "hide": false,\r
9032           "intervalFactor": 1,\r
9033           "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P95 (🔐mTLS)",\r
9034           "refId": "B",\r
9035           "step": 2\r
9036         },\r
9037         {\r
9038           "expr": "histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))",\r
9039           "format": "time_series",\r
9040           "hide": false,\r
9041           "intervalFactor": 1,\r
9042           "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P99 (🔐mTLS)",\r
9043           "refId": "C",\r
9044           "step": 2\r
9045         },\r
9046         {\r
9047           "expr": "histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))",\r
9048           "format": "time_series",\r
9049           "hide": false,\r
9050           "intervalFactor": 1,\r
9051           "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P50",\r
9052           "refId": "E",\r
9053           "step": 2\r
9054         },\r
9055         {\r
9056           "expr": "histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))",\r
9057           "format": "time_series",\r
9058           "hide": false,\r
9059           "intervalFactor": 1,\r
9060           "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P90",\r
9061           "refId": "F",\r
9062           "step": 2\r
9063         },\r
9064         {\r
9065           "expr": "histogram_quantile(0.95, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))",\r
9066           "format": "time_series",\r
9067           "hide": false,\r
9068           "intervalFactor": 1,\r
9069           "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P95",\r
9070           "refId": "G",\r
9071           "step": 2\r
9072         },\r
9073         {\r
9074           "expr": "histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))",\r
9075           "format": "time_series",\r
9076           "hide": false,\r
9077           "intervalFactor": 1,\r
9078           "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P99",\r
9079           "refId": "H",\r
9080           "step": 2\r
9081         }\r
9082       ],\r
9083       "thresholds": [],\r
9084       "timeFrom": null,\r
9085       "timeShift": null,\r
9086       "title": "Incoming Request Duration by Source",\r
9087       "tooltip": {\r
9088         "shared": true,\r
9089         "sort": 0,\r
9090         "value_type": "individual"\r
9091       },\r
9092       "type": "graph",\r
9093       "xaxis": {\r
9094         "buckets": null,\r
9095         "mode": "time",\r
9096         "name": null,\r
9097         "show": true,\r
9098         "values": []\r
9099       },\r
9100       "yaxes": [\r
9101         {\r
9102           "format": "s",\r
9103           "label": null,\r
9104           "logBase": 1,\r
9105           "max": null,\r
9106           "min": "0",\r
9107           "show": true\r
9108         },\r
9109         {\r
9110           "format": "short",\r
9111           "label": null,\r
9112           "logBase": 1,\r
9113           "max": null,\r
9114           "min": null,\r
9115           "show": false\r
9116         }\r
9117       ]\r
9118     },\r
9119     {\r
9120       "aliasColors": {},\r
9121       "bars": false,\r
9122       "dashLength": 10,\r
9123       "dashes": false,\r
9124       "datasource": "Prometheus",\r
9125       "fill": 1,\r
9126       "gridPos": {\r
9127         "h": 6,\r
9128         "w": 8,\r
9129         "x": 8,\r
9130         "y": 20\r
9131       },\r
9132       "id": 28,\r
9133       "legend": {\r
9134         "alignAsTable": false,\r
9135         "avg": false,\r
9136         "current": false,\r
9137         "hideEmpty": true,\r
9138         "max": false,\r
9139         "min": false,\r
9140         "rightSide": false,\r
9141         "show": true,\r
9142         "total": false,\r
9143         "values": false\r
9144       },\r
9145       "lines": true,\r
9146       "linewidth": 1,\r
9147       "links": [],\r
9148       "nullPointMode": "null",\r
9149       "percentage": false,\r
9150       "pointradius": 5,\r
9151       "points": false,\r
9152       "renderer": "flot",\r
9153       "seriesOverrides": [],\r
9154       "spaceLength": 10,\r
9155       "stack": false,\r
9156       "steppedLine": false,\r
9157       "targets": [\r
9158         {\r
9159           "expr": "histogram_quantile(0.50, sum(irate(istio_request_bytes_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))",\r
9160           "format": "time_series",\r
9161           "hide": false,\r
9162           "intervalFactor": 1,\r
9163           "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P50 (🔐mTLS)",\r
9164           "refId": "D",\r
9165           "step": 2\r
9166         },\r
9167         {\r
9168           "expr": "histogram_quantile(0.90, sum(irate(istio_request_bytes_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))",\r
9169           "format": "time_series",\r
9170           "hide": false,\r
9171           "intervalFactor": 1,\r
9172           "legendFormat": "{{source_workload}}.{{source_workload_namespace}}  P90 (🔐mTLS)",\r
9173           "refId": "A",\r
9174           "step": 2\r
9175         },\r
9176         {\r
9177           "expr": "histogram_quantile(0.95, sum(irate(istio_request_bytes_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))",\r
9178           "format": "time_series",\r
9179           "hide": false,\r
9180           "intervalFactor": 1,\r
9181           "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P95 (🔐mTLS)",\r
9182           "refId": "B",\r
9183           "step": 2\r
9184         },\r
9185         {\r
9186           "expr": "histogram_quantile(0.99, sum(irate(istio_request_bytes_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))",\r
9187           "format": "time_series",\r
9188           "hide": false,\r
9189           "intervalFactor": 1,\r
9190           "legendFormat": "{{source_workload}}.{{source_workload_namespace}}  P99 (🔐mTLS)",\r
9191           "refId": "C",\r
9192           "step": 2\r
9193         },\r
9194         {\r
9195           "expr": "histogram_quantile(0.50, sum(irate(istio_request_bytes_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))",\r
9196           "format": "time_series",\r
9197           "hide": false,\r
9198           "intervalFactor": 1,\r
9199           "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P50",\r
9200           "refId": "E",\r
9201           "step": 2\r
9202         },\r
9203         {\r
9204           "expr": "histogram_quantile(0.90, sum(irate(istio_request_bytes_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))",\r
9205           "format": "time_series",\r
9206           "hide": false,\r
9207           "intervalFactor": 1,\r
9208           "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P90",\r
9209           "refId": "F",\r
9210           "step": 2\r
9211         },\r
9212         {\r
9213           "expr": "histogram_quantile(0.95, sum(irate(istio_request_bytes_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))",\r
9214           "format": "time_series",\r
9215           "hide": false,\r
9216           "intervalFactor": 1,\r
9217           "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P95",\r
9218           "refId": "G",\r
9219           "step": 2\r
9220         },\r
9221         {\r
9222           "expr": "histogram_quantile(0.99, sum(irate(istio_request_bytes_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))",\r
9223           "format": "time_series",\r
9224           "hide": false,\r
9225           "intervalFactor": 1,\r
9226           "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P99",\r
9227           "refId": "H",\r
9228           "step": 2\r
9229         }\r
9230       ],\r
9231       "thresholds": [],\r
9232       "timeFrom": null,\r
9233       "timeShift": null,\r
9234       "title": "Incoming Request Size By Source",\r
9235       "tooltip": {\r
9236         "shared": true,\r
9237         "sort": 0,\r
9238         "value_type": "individual"\r
9239       },\r
9240       "type": "graph",\r
9241       "xaxis": {\r
9242         "buckets": null,\r
9243         "mode": "time",\r
9244         "name": null,\r
9245         "show": true,\r
9246         "values": []\r
9247       },\r
9248       "yaxes": [\r
9249         {\r
9250           "format": "decbytes",\r
9251           "label": null,\r
9252           "logBase": 1,\r
9253           "max": null,\r
9254           "min": "0",\r
9255           "show": true\r
9256         },\r
9257         {\r
9258           "format": "short",\r
9259           "label": null,\r
9260           "logBase": 1,\r
9261           "max": null,\r
9262           "min": null,\r
9263           "show": false\r
9264         }\r
9265       ]\r
9266     },\r
9267     {\r
9268       "aliasColors": {},\r
9269       "bars": false,\r
9270       "dashLength": 10,\r
9271       "dashes": false,\r
9272       "datasource": "Prometheus",\r
9273       "fill": 1,\r
9274       "gridPos": {\r
9275         "h": 6,\r
9276         "w": 8,\r
9277         "x": 16,\r
9278         "y": 20\r
9279       },\r
9280       "id": 68,\r
9281       "legend": {\r
9282         "alignAsTable": false,\r
9283         "avg": false,\r
9284         "current": false,\r
9285         "hideEmpty": true,\r
9286         "max": false,\r
9287         "min": false,\r
9288         "rightSide": false,\r
9289         "show": true,\r
9290         "total": false,\r
9291         "values": false\r
9292       },\r
9293       "lines": true,\r
9294       "linewidth": 1,\r
9295       "links": [],\r
9296       "nullPointMode": "null",\r
9297       "percentage": false,\r
9298       "pointradius": 5,\r
9299       "points": false,\r
9300       "renderer": "flot",\r
9301       "seriesOverrides": [],\r
9302       "spaceLength": 10,\r
9303       "stack": false,\r
9304       "steppedLine": false,\r
9305       "targets": [\r
9306         {\r
9307           "expr": "histogram_quantile(0.50, sum(irate(istio_response_bytes_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))",\r
9308           "format": "time_series",\r
9309           "hide": false,\r
9310           "intervalFactor": 1,\r
9311           "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P50 (🔐mTLS)",\r
9312           "refId": "D",\r
9313           "step": 2\r
9314         },\r
9315         {\r
9316           "expr": "histogram_quantile(0.90, sum(irate(istio_response_bytes_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))",\r
9317           "format": "time_series",\r
9318           "hide": false,\r
9319           "intervalFactor": 1,\r
9320           "legendFormat": "{{source_workload}}.{{source_workload_namespace}}  P90 (🔐mTLS)",\r
9321           "refId": "A",\r
9322           "step": 2\r
9323         },\r
9324         {\r
9325           "expr": "histogram_quantile(0.95, sum(irate(istio_response_bytes_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))",\r
9326           "format": "time_series",\r
9327           "hide": false,\r
9328           "intervalFactor": 1,\r
9329           "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P95 (🔐mTLS)",\r
9330           "refId": "B",\r
9331           "step": 2\r
9332         },\r
9333         {\r
9334           "expr": "histogram_quantile(0.99, sum(irate(istio_response_bytes_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))",\r
9335           "format": "time_series",\r
9336           "hide": false,\r
9337           "intervalFactor": 1,\r
9338           "legendFormat": "{{source_workload}}.{{source_workload_namespace}}  P99 (🔐mTLS)",\r
9339           "refId": "C",\r
9340           "step": 2\r
9341         },\r
9342         {\r
9343           "expr": "histogram_quantile(0.50, sum(irate(istio_response_bytes_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))",\r
9344           "format": "time_series",\r
9345           "hide": false,\r
9346           "intervalFactor": 1,\r
9347           "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P50",\r
9348           "refId": "E",\r
9349           "step": 2\r
9350         },\r
9351         {\r
9352           "expr": "histogram_quantile(0.90, sum(irate(istio_response_bytes_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))",\r
9353           "format": "time_series",\r
9354           "hide": false,\r
9355           "intervalFactor": 1,\r
9356           "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P90",\r
9357           "refId": "F",\r
9358           "step": 2\r
9359         },\r
9360         {\r
9361           "expr": "histogram_quantile(0.95, sum(irate(istio_response_bytes_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))",\r
9362           "format": "time_series",\r
9363           "hide": false,\r
9364           "intervalFactor": 1,\r
9365           "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P95",\r
9366           "refId": "G",\r
9367           "step": 2\r
9368         },\r
9369         {\r
9370           "expr": "histogram_quantile(0.99, sum(irate(istio_response_bytes_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))",\r
9371           "format": "time_series",\r
9372           "hide": false,\r
9373           "intervalFactor": 1,\r
9374           "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P99",\r
9375           "refId": "H",\r
9376           "step": 2\r
9377         }\r
9378       ],\r
9379       "thresholds": [],\r
9380       "timeFrom": null,\r
9381       "timeShift": null,\r
9382       "title": "Response Size By Source",\r
9383       "tooltip": {\r
9384         "shared": true,\r
9385         "sort": 0,\r
9386         "value_type": "individual"\r
9387       },\r
9388       "type": "graph",\r
9389       "xaxis": {\r
9390         "buckets": null,\r
9391         "mode": "time",\r
9392         "name": null,\r
9393         "show": true,\r
9394         "values": []\r
9395       },\r
9396       "yaxes": [\r
9397         {\r
9398           "format": "decbytes",\r
9399           "label": null,\r
9400           "logBase": 1,\r
9401           "max": null,\r
9402           "min": "0",\r
9403           "show": true\r
9404         },\r
9405         {\r
9406           "format": "short",\r
9407           "label": null,\r
9408           "logBase": 1,\r
9409           "max": null,\r
9410           "min": null,\r
9411           "show": false\r
9412         }\r
9413       ]\r
9414     },\r
9415     {\r
9416       "aliasColors": {},\r
9417       "bars": false,\r
9418       "dashLength": 10,\r
9419       "dashes": false,\r
9420       "datasource": "Prometheus",\r
9421       "fill": 1,\r
9422       "gridPos": {\r
9423         "h": 6,\r
9424         "w": 12,\r
9425         "x": 0,\r
9426         "y": 26\r
9427       },\r
9428       "id": 80,\r
9429       "legend": {\r
9430         "avg": false,\r
9431         "current": false,\r
9432         "max": false,\r
9433         "min": false,\r
9434         "show": true,\r
9435         "total": false,\r
9436         "values": false\r
9437       },\r
9438       "lines": true,\r
9439       "linewidth": 1,\r
9440       "links": [],\r
9441       "nullPointMode": "null",\r
9442       "percentage": false,\r
9443       "pointradius": 5,\r
9444       "points": false,\r
9445       "renderer": "flot",\r
9446       "seriesOverrides": [],\r
9447       "spaceLength": 10,\r
9448       "stack": false,\r
9449       "steppedLine": false,\r
9450       "targets": [\r
9451         {\r
9452           "expr": "round(sum(irate(istio_tcp_received_bytes_total{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload_namespace=~\"$namespace\", destination_workload=~\"$workload\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace), 0.001)",\r
9453           "format": "time_series",\r
9454           "hide": false,\r
9455           "intervalFactor": 1,\r
9456           "legendFormat": "{{ source_workload }}.{{ source_workload_namespace}} (🔐mTLS)",\r
9457           "refId": "A",\r
9458           "step": 2\r
9459         },\r
9460         {\r
9461           "expr": "round(sum(irate(istio_tcp_received_bytes_total{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload_namespace=~\"$namespace\", destination_workload=~\"$workload\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace), 0.001)",\r
9462           "format": "time_series",\r
9463           "intervalFactor": 1,\r
9464           "legendFormat": "{{ source_workload }}.{{ source_workload_namespace}}",\r
9465           "refId": "B",\r
9466           "step": 2\r
9467         }\r
9468       ],\r
9469       "thresholds": [],\r
9470       "timeFrom": null,\r
9471       "timeShift": null,\r
9472       "title": "Bytes Received from Incoming TCP Connection",\r
9473       "tooltip": {\r
9474         "shared": true,\r
9475         "sort": 0,\r
9476         "value_type": "individual"\r
9477       },\r
9478       "type": "graph",\r
9479       "xaxis": {\r
9480         "buckets": null,\r
9481         "mode": "time",\r
9482         "name": null,\r
9483         "show": true,\r
9484         "values": []\r
9485       },\r
9486       "yaxes": [\r
9487         {\r
9488           "format": "Bps",\r
9489           "label": null,\r
9490           "logBase": 1,\r
9491           "max": null,\r
9492           "min": "0",\r
9493           "show": true\r
9494         },\r
9495         {\r
9496           "format": "short",\r
9497           "label": null,\r
9498           "logBase": 1,\r
9499           "max": null,\r
9500           "min": null,\r
9501           "show": true\r
9502         }\r
9503       ]\r
9504     },\r
9505     {\r
9506       "aliasColors": {},\r
9507       "bars": false,\r
9508       "dashLength": 10,\r
9509       "dashes": false,\r
9510       "datasource": "Prometheus",\r
9511       "fill": 1,\r
9512       "gridPos": {\r
9513         "h": 6,\r
9514         "w": 12,\r
9515         "x": 12,\r
9516         "y": 26\r
9517       },\r
9518       "id": 82,\r
9519       "legend": {\r
9520         "avg": false,\r
9521         "current": false,\r
9522         "max": false,\r
9523         "min": false,\r
9524         "show": true,\r
9525         "total": false,\r
9526         "values": false\r
9527       },\r
9528       "lines": true,\r
9529       "linewidth": 1,\r
9530       "links": [],\r
9531       "nullPointMode": "null",\r
9532       "percentage": false,\r
9533       "pointradius": 5,\r
9534       "points": false,\r
9535       "renderer": "flot",\r
9536       "seriesOverrides": [],\r
9537       "spaceLength": 10,\r
9538       "stack": false,\r
9539       "steppedLine": false,\r
9540       "targets": [\r
9541         {\r
9542           "expr": "round(sum(irate(istio_tcp_sent_bytes_total{connection_security_policy=\"mutual_tls\", reporter=\"destination\", destination_workload_namespace=~\"$namespace\", destination_workload=~\"$workload\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace), 0.001)",\r
9543           "format": "time_series",\r
9544           "intervalFactor": 1,\r
9545           "legendFormat": "{{ source_workload }}.{{ source_workload_namespace}} (🔐mTLS)",\r
9546           "refId": "A",\r
9547           "step": 2\r
9548         },\r
9549         {\r
9550           "expr": "round(sum(irate(istio_tcp_sent_bytes_total{connection_security_policy!=\"mutual_tls\", reporter=\"destination\", destination_workload_namespace=~\"$namespace\", destination_workload=~\"$workload\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace), 0.001)",\r
9551           "format": "time_series",\r
9552           "intervalFactor": 1,\r
9553           "legendFormat": "{{ source_workload }}.{{ source_workload_namespace}}",\r
9554           "refId": "B",\r
9555           "step": 2\r
9556         }\r
9557       ],\r
9558       "thresholds": [],\r
9559       "timeFrom": null,\r
9560       "timeShift": null,\r
9561       "title": "Bytes Sent to Incoming TCP Connection",\r
9562       "tooltip": {\r
9563         "shared": true,\r
9564         "sort": 0,\r
9565         "value_type": "individual"\r
9566       },\r
9567       "type": "graph",\r
9568       "xaxis": {\r
9569         "buckets": null,\r
9570         "mode": "time",\r
9571         "name": null,\r
9572         "show": true,\r
9573         "values": []\r
9574       },\r
9575       "yaxes": [\r
9576         {\r
9577           "format": "Bps",\r
9578           "label": null,\r
9579           "logBase": 1,\r
9580           "max": null,\r
9581           "min": "0",\r
9582           "show": true\r
9583         },\r
9584         {\r
9585           "format": "short",\r
9586           "label": null,\r
9587           "logBase": 1,\r
9588           "max": null,\r
9589           "min": null,\r
9590           "show": true\r
9591         }\r
9592       ]\r
9593     },\r
9594     {\r
9595       "content": "<div class=\"dashboard-header text-center\">\n<span>OUTBOUND SERVICES</span>\n</div>",\r
9596       "gridPos": {\r
9597         "h": 3,\r
9598         "w": 24,\r
9599         "x": 0,\r
9600         "y": 32\r
9601       },\r
9602       "id": 69,\r
9603       "links": [],\r
9604       "mode": "html",\r
9605       "title": "",\r
9606       "transparent": true,\r
9607       "type": "text"\r
9608     },\r
9609     {\r
9610       "aliasColors": {},\r
9611       "bars": false,\r
9612       "dashLength": 10,\r
9613       "dashes": false,\r
9614       "datasource": "Prometheus",\r
9615       "fill": 0,\r
9616       "gridPos": {\r
9617         "h": 6,\r
9618         "w": 12,\r
9619         "x": 0,\r
9620         "y": 35\r
9621       },\r
9622       "id": 70,\r
9623       "legend": {\r
9624         "avg": false,\r
9625         "current": false,\r
9626         "hideEmpty": true,\r
9627         "max": false,\r
9628         "min": false,\r
9629         "show": true,\r
9630         "total": false,\r
9631         "values": false\r
9632       },\r
9633       "lines": true,\r
9634       "linewidth": 1,\r
9635       "links": [],\r
9636       "nullPointMode": "null as zero",\r
9637       "percentage": false,\r
9638       "pointradius": 5,\r
9639       "points": false,\r
9640       "renderer": "flot",\r
9641       "seriesOverrides": [],\r
9642       "spaceLength": 10,\r
9643       "stack": false,\r
9644       "steppedLine": false,\r
9645       "targets": [\r
9646         {\r
9647           "expr": "round(sum(irate(istio_requests_total{connection_security_policy=\"mutual_tls\", source_workload_namespace=~\"$namespace\", source_workload=~\"$workload\", reporter=\"source\", destination_service=~\"$dstsvc\"}[5m])) by (destination_service, response_code), 0.001)",\r
9648           "format": "time_series",\r
9649           "intervalFactor": 1,\r
9650           "legendFormat": "{{ destination_service }} : {{ response_code }} (🔐mTLS)",\r
9651           "refId": "B",\r
9652           "step": 2\r
9653         },\r
9654         {\r
9655           "expr": "round(sum(irate(istio_requests_total{connection_security_policy!=\"mutual_tls\", source_workload_namespace=~\"$namespace\", source_workload=~\"$workload\", reporter=\"source\", destination_service=~\"$dstsvc\"}[5m])) by (destination_service, response_code), 0.001)",\r
9656           "format": "time_series",\r
9657           "hide": false,\r
9658           "intervalFactor": 1,\r
9659           "legendFormat": "{{ destination_service }} : {{ response_code }}",\r
9660           "refId": "A",\r
9661           "step": 2\r
9662         }\r
9663       ],\r
9664       "thresholds": [],\r
9665       "timeFrom": null,\r
9666       "timeShift": null,\r
9667       "title": "Outgoing Requests by Destination And Response Code",\r
9668       "tooltip": {\r
9669         "shared": false,\r
9670         "sort": 0,\r
9671         "value_type": "individual"\r
9672       },\r
9673       "type": "graph",\r
9674       "xaxis": {\r
9675         "buckets": null,\r
9676         "mode": "time",\r
9677         "name": null,\r
9678         "show": true,\r
9679         "values": [\r
9680           "total"\r
9681         ]\r
9682       },\r
9683       "yaxes": [\r
9684         {\r
9685           "format": "ops",\r
9686           "label": null,\r
9687           "logBase": 1,\r
9688           "max": null,\r
9689           "min": "0",\r
9690           "show": true\r
9691         },\r
9692         {\r
9693           "format": "short",\r
9694           "label": null,\r
9695           "logBase": 1,\r
9696           "max": null,\r
9697           "min": null,\r
9698           "show": false\r
9699         }\r
9700       ]\r
9701     },\r
9702     {\r
9703       "aliasColors": {},\r
9704       "bars": false,\r
9705       "dashLength": 10,\r
9706       "dashes": false,\r
9707       "datasource": "Prometheus",\r
9708       "fill": 1,\r
9709       "gridPos": {\r
9710         "h": 6,\r
9711         "w": 12,\r
9712         "x": 12,\r
9713         "y": 35\r
9714       },\r
9715       "id": 71,\r
9716       "legend": {\r
9717         "avg": false,\r
9718         "current": false,\r
9719         "hideEmpty": true,\r
9720         "hideZero": false,\r
9721         "max": false,\r
9722         "min": false,\r
9723         "show": true,\r
9724         "total": false,\r
9725         "values": false\r
9726       },\r
9727       "lines": true,\r
9728       "linewidth": 1,\r
9729       "links": [],\r
9730       "nullPointMode": "null",\r
9731       "percentage": false,\r
9732       "pointradius": 5,\r
9733       "points": false,\r
9734       "renderer": "flot",\r
9735       "seriesOverrides": [],\r
9736       "spaceLength": 10,\r
9737       "stack": false,\r
9738       "steppedLine": false,\r
9739       "targets": [\r
9740         {\r
9741           "expr": "sum(irate(istio_requests_total{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload_namespace=~\"$namespace\", source_workload=~\"$workload\",response_code!~\"5.*\", destination_service=~\"$dstsvc\"}[5m])) by (destination_service) / sum(irate(istio_requests_total{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload_namespace=~\"$namespace\", source_workload=~\"$workload\", destination_service=~\"$dstsvc\"}[5m])) by (destination_service)",\r
9742           "format": "time_series",\r
9743           "hide": false,\r
9744           "intervalFactor": 1,\r
9745           "legendFormat": "{{ destination_service }} (🔐mTLS)",\r
9746           "refId": "A",\r
9747           "step": 2\r
9748         },\r
9749         {\r
9750           "expr": "sum(irate(istio_requests_total{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload_namespace=~\"$namespace\", source_workload=~\"$workload\",response_code!~\"5.*\", destination_service=~\"$dstsvc\"}[5m])) by (destination_service) / sum(irate(istio_requests_total{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload_namespace=~\"$namespace\", source_workload=~\"$workload\", destination_service=~\"$dstsvc\"}[5m])) by (destination_service)",\r
9751           "format": "time_series",\r
9752           "hide": false,\r
9753           "intervalFactor": 1,\r
9754           "legendFormat": "{{destination_service }}",\r
9755           "refId": "B",\r
9756           "step": 2\r
9757         }\r
9758       ],\r
9759       "thresholds": [],\r
9760       "timeFrom": null,\r
9761       "timeShift": null,\r
9762       "title": "Outgoing Success Rate (non-5xx responses) By Destination",\r
9763       "tooltip": {\r
9764         "shared": true,\r
9765         "sort": 0,\r
9766         "value_type": "individual"\r
9767       },\r
9768       "type": "graph",\r
9769       "xaxis": {\r
9770         "buckets": null,\r
9771         "mode": "time",\r
9772         "name": null,\r
9773         "show": true,\r
9774         "values": []\r
9775       },\r
9776       "yaxes": [\r
9777         {\r
9778           "format": "percentunit",\r
9779           "label": null,\r
9780           "logBase": 1,\r
9781           "max": "1.01",\r
9782           "min": "0",\r
9783           "show": true\r
9784         },\r
9785         {\r
9786           "format": "short",\r
9787           "label": null,\r
9788           "logBase": 1,\r
9789           "max": null,\r
9790           "min": null,\r
9791           "show": false\r
9792         }\r
9793       ]\r
9794     },\r
9795     {\r
9796       "aliasColors": {},\r
9797       "bars": false,\r
9798       "dashLength": 10,\r
9799       "dashes": false,\r
9800       "datasource": "Prometheus",\r
9801       "description": "",\r
9802       "fill": 1,\r
9803       "gridPos": {\r
9804         "h": 6,\r
9805         "w": 8,\r
9806         "x": 0,\r
9807         "y": 41\r
9808       },\r
9809       "id": 72,\r
9810       "legend": {\r
9811         "alignAsTable": false,\r
9812         "avg": false,\r
9813         "current": false,\r
9814         "hideEmpty": true,\r
9815         "hideZero": false,\r
9816         "max": false,\r
9817         "min": false,\r
9818         "rightSide": false,\r
9819         "show": true,\r
9820         "total": false,\r
9821         "values": false\r
9822       },\r
9823       "lines": true,\r
9824       "linewidth": 1,\r
9825       "links": [],\r
9826       "nullPointMode": "null",\r
9827       "percentage": false,\r
9828       "pointradius": 5,\r
9829       "points": false,\r
9830       "renderer": "flot",\r
9831       "seriesOverrides": [],\r
9832       "spaceLength": 10,\r
9833       "stack": false,\r
9834       "steppedLine": false,\r
9835       "targets": [\r
9836         {\r
9837           "expr": "histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))",\r
9838           "format": "time_series",\r
9839           "hide": false,\r
9840           "intervalFactor": 1,\r
9841           "legendFormat": "{{ destination_service }} P50 (🔐mTLS)",\r
9842           "refId": "D",\r
9843           "step": 2\r
9844         },\r
9845         {\r
9846           "expr": "histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))",\r
9847           "format": "time_series",\r
9848           "hide": false,\r
9849           "intervalFactor": 1,\r
9850           "legendFormat": "{{ destination_service }} P90 (🔐mTLS)",\r
9851           "refId": "A",\r
9852           "step": 2\r
9853         },\r
9854         {\r
9855           "expr": "histogram_quantile(0.95, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))",\r
9856           "format": "time_series",\r
9857           "hide": false,\r
9858           "intervalFactor": 1,\r
9859           "legendFormat": "{{ destination_service }} P95 (🔐mTLS)",\r
9860           "refId": "B",\r
9861           "step": 2\r
9862         },\r
9863         {\r
9864           "expr": "histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))",\r
9865           "format": "time_series",\r
9866           "hide": false,\r
9867           "intervalFactor": 1,\r
9868           "legendFormat": "{{ destination_service }} P99 (🔐mTLS)",\r
9869           "refId": "C",\r
9870           "step": 2\r
9871         },\r
9872         {\r
9873           "expr": "histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))",\r
9874           "format": "time_series",\r
9875           "hide": false,\r
9876           "intervalFactor": 1,\r
9877           "legendFormat": "{{ destination_service }} P50",\r
9878           "refId": "E",\r
9879           "step": 2\r
9880         },\r
9881         {\r
9882           "expr": "histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))",\r
9883           "format": "time_series",\r
9884           "hide": false,\r
9885           "intervalFactor": 1,\r
9886           "legendFormat": "{{ destination_service }} P90",\r
9887           "refId": "F",\r
9888           "step": 2\r
9889         },\r
9890         {\r
9891           "expr": "histogram_quantile(0.95, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))",\r
9892           "format": "time_series",\r
9893           "hide": false,\r
9894           "intervalFactor": 1,\r
9895           "legendFormat": "{{ destination_service }} P95",\r
9896           "refId": "G",\r
9897           "step": 2\r
9898         },\r
9899         {\r
9900           "expr": "histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))",\r
9901           "format": "time_series",\r
9902           "hide": false,\r
9903           "intervalFactor": 1,\r
9904           "legendFormat": "{{ destination_service }} P99",\r
9905           "refId": "H",\r
9906           "step": 2\r
9907         }\r
9908       ],\r
9909       "thresholds": [],\r
9910       "timeFrom": null,\r
9911       "timeShift": null,\r
9912       "title": "Outgoing Request Duration by Destination",\r
9913       "tooltip": {\r
9914         "shared": true,\r
9915         "sort": 0,\r
9916         "value_type": "individual"\r
9917       },\r
9918       "type": "graph",\r
9919       "xaxis": {\r
9920         "buckets": null,\r
9921         "mode": "time",\r
9922         "name": null,\r
9923         "show": true,\r
9924         "values": []\r
9925       },\r
9926       "yaxes": [\r
9927         {\r
9928           "format": "s",\r
9929           "label": null,\r
9930           "logBase": 1,\r
9931           "max": null,\r
9932           "min": "0",\r
9933           "show": true\r
9934         },\r
9935         {\r
9936           "format": "short",\r
9937           "label": null,\r
9938           "logBase": 1,\r
9939           "max": null,\r
9940           "min": null,\r
9941           "show": false\r
9942         }\r
9943       ]\r
9944     },\r
9945     {\r
9946       "aliasColors": {},\r
9947       "bars": false,\r
9948       "dashLength": 10,\r
9949       "dashes": false,\r
9950       "datasource": "Prometheus",\r
9951       "fill": 1,\r
9952       "gridPos": {\r
9953         "h": 6,\r
9954         "w": 8,\r
9955         "x": 8,\r
9956         "y": 41\r
9957       },\r
9958       "id": 73,\r
9959       "legend": {\r
9960         "alignAsTable": false,\r
9961         "avg": false,\r
9962         "current": false,\r
9963         "hideEmpty": true,\r
9964         "max": false,\r
9965         "min": false,\r
9966         "rightSide": false,\r
9967         "show": true,\r
9968         "total": false,\r
9969         "values": false\r
9970       },\r
9971       "lines": true,\r
9972       "linewidth": 1,\r
9973       "links": [],\r
9974       "nullPointMode": "null",\r
9975       "percentage": false,\r
9976       "pointradius": 5,\r
9977       "points": false,\r
9978       "renderer": "flot",\r
9979       "seriesOverrides": [],\r
9980       "spaceLength": 10,\r
9981       "stack": false,\r
9982       "steppedLine": false,\r
9983       "targets": [\r
9984         {\r
9985           "expr": "histogram_quantile(0.50, sum(irate(istio_request_bytes_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))",\r
9986           "format": "time_series",\r
9987           "hide": false,\r
9988           "intervalFactor": 1,\r
9989           "legendFormat": "{{ destination_service }} P50 (🔐mTLS)",\r
9990           "refId": "D",\r
9991           "step": 2\r
9992         },\r
9993         {\r
9994           "expr": "histogram_quantile(0.90, sum(irate(istio_request_bytes_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))",\r
9995           "format": "time_series",\r
9996           "hide": false,\r
9997           "intervalFactor": 1,\r
9998           "legendFormat": "{{ destination_service }} P90 (🔐mTLS)",\r
9999           "refId": "A",\r
10000           "step": 2\r
10001         },\r
10002         {\r
10003           "expr": "histogram_quantile(0.95, sum(irate(istio_request_bytes_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))",\r
10004           "format": "time_series",\r
10005           "hide": false,\r
10006           "intervalFactor": 1,\r
10007           "legendFormat": "{{ destination_service }} P95 (🔐mTLS)",\r
10008           "refId": "B",\r
10009           "step": 2\r
10010         },\r
10011         {\r
10012           "expr": "histogram_quantile(0.99, sum(irate(istio_request_bytes_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))",\r
10013           "format": "time_series",\r
10014           "hide": false,\r
10015           "intervalFactor": 1,\r
10016           "legendFormat": "{{ destination_service }} P99 (🔐mTLS)",\r
10017           "refId": "C",\r
10018           "step": 2\r
10019         },\r
10020         {\r
10021           "expr": "histogram_quantile(0.50, sum(irate(istio_request_bytes_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))",\r
10022           "format": "time_series",\r
10023           "hide": false,\r
10024           "intervalFactor": 1,\r
10025           "legendFormat": "{{ destination_service }} P50",\r
10026           "refId": "E",\r
10027           "step": 2\r
10028         },\r
10029         {\r
10030           "expr": "histogram_quantile(0.90, sum(irate(istio_request_bytes_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))",\r
10031           "format": "time_series",\r
10032           "hide": false,\r
10033           "intervalFactor": 1,\r
10034           "legendFormat": "{{ destination_service }} P90",\r
10035           "refId": "F",\r
10036           "step": 2\r
10037         },\r
10038         {\r
10039           "expr": "histogram_quantile(0.95, sum(irate(istio_request_bytes_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))",\r
10040           "format": "time_series",\r
10041           "hide": false,\r
10042           "intervalFactor": 1,\r
10043           "legendFormat": "{{ destination_service }} P95",\r
10044           "refId": "G",\r
10045           "step": 2\r
10046         },\r
10047         {\r
10048           "expr": "histogram_quantile(0.99, sum(irate(istio_request_bytes_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))",\r
10049           "format": "time_series",\r
10050           "hide": false,\r
10051           "intervalFactor": 1,\r
10052           "legendFormat": "{{ destination_service }} P99",\r
10053           "refId": "H",\r
10054           "step": 2\r
10055         }\r
10056       ],\r
10057       "thresholds": [],\r
10058       "timeFrom": null,\r
10059       "timeShift": null,\r
10060       "title": "Outgoing Request Size By Destination",\r
10061       "tooltip": {\r
10062         "shared": true,\r
10063         "sort": 0,\r
10064         "value_type": "individual"\r
10065       },\r
10066       "type": "graph",\r
10067       "xaxis": {\r
10068         "buckets": null,\r
10069         "mode": "time",\r
10070         "name": null,\r
10071         "show": true,\r
10072         "values": []\r
10073       },\r
10074       "yaxes": [\r
10075         {\r
10076           "format": "decbytes",\r
10077           "label": null,\r
10078           "logBase": 1,\r
10079           "max": null,\r
10080           "min": "0",\r
10081           "show": true\r
10082         },\r
10083         {\r
10084           "format": "short",\r
10085           "label": null,\r
10086           "logBase": 1,\r
10087           "max": null,\r
10088           "min": null,\r
10089           "show": false\r
10090         }\r
10091       ]\r
10092     },\r
10093     {\r
10094       "aliasColors": {},\r
10095       "bars": false,\r
10096       "dashLength": 10,\r
10097       "dashes": false,\r
10098       "datasource": "Prometheus",\r
10099       "fill": 1,\r
10100       "gridPos": {\r
10101         "h": 6,\r
10102         "w": 8,\r
10103         "x": 16,\r
10104         "y": 41\r
10105       },\r
10106       "id": 74,\r
10107       "legend": {\r
10108         "alignAsTable": false,\r
10109         "avg": false,\r
10110         "current": false,\r
10111         "hideEmpty": true,\r
10112         "max": false,\r
10113         "min": false,\r
10114         "rightSide": false,\r
10115         "show": true,\r
10116         "total": false,\r
10117         "values": false\r
10118       },\r
10119       "lines": true,\r
10120       "linewidth": 1,\r
10121       "links": [],\r
10122       "nullPointMode": "null",\r
10123       "percentage": false,\r
10124       "pointradius": 5,\r
10125       "points": false,\r
10126       "renderer": "flot",\r
10127       "seriesOverrides": [],\r
10128       "spaceLength": 10,\r
10129       "stack": false,\r
10130       "steppedLine": false,\r
10131       "targets": [\r
10132         {\r
10133           "expr": "histogram_quantile(0.50, sum(irate(istio_response_bytes_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))",\r
10134           "format": "time_series",\r
10135           "hide": false,\r
10136           "intervalFactor": 1,\r
10137           "legendFormat": "{{ destination_service }} P50 (🔐mTLS)",\r
10138           "refId": "D",\r
10139           "step": 2\r
10140         },\r
10141         {\r
10142           "expr": "histogram_quantile(0.90, sum(irate(istio_response_bytes_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))",\r
10143           "format": "time_series",\r
10144           "hide": false,\r
10145           "intervalFactor": 1,\r
10146           "legendFormat": "{{ destination_service }} P90 (🔐mTLS)",\r
10147           "refId": "A",\r
10148           "step": 2\r
10149         },\r
10150         {\r
10151           "expr": "histogram_quantile(0.95, sum(irate(istio_response_bytes_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))",\r
10152           "format": "time_series",\r
10153           "hide": false,\r
10154           "intervalFactor": 1,\r
10155           "legendFormat": "{{ destination_service }} P95 (🔐mTLS)",\r
10156           "refId": "B",\r
10157           "step": 2\r
10158         },\r
10159         {\r
10160           "expr": "histogram_quantile(0.99, sum(irate(istio_response_bytes_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))",\r
10161           "format": "time_series",\r
10162           "hide": false,\r
10163           "intervalFactor": 1,\r
10164           "legendFormat": "{{ destination_service }}  P99 (🔐mTLS)",\r
10165           "refId": "C",\r
10166           "step": 2\r
10167         },\r
10168         {\r
10169           "expr": "histogram_quantile(0.50, sum(irate(istio_response_bytes_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))",\r
10170           "format": "time_series",\r
10171           "hide": false,\r
10172           "intervalFactor": 1,\r
10173           "legendFormat": "{{ destination_service }} P50",\r
10174           "refId": "E",\r
10175           "step": 2\r
10176         },\r
10177         {\r
10178           "expr": "histogram_quantile(0.90, sum(irate(istio_response_bytes_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))",\r
10179           "format": "time_series",\r
10180           "hide": false,\r
10181           "intervalFactor": 1,\r
10182           "legendFormat": "{{ destination_service }} P90",\r
10183           "refId": "F",\r
10184           "step": 2\r
10185         },\r
10186         {\r
10187           "expr": "histogram_quantile(0.95, sum(irate(istio_response_bytes_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))",\r
10188           "format": "time_series",\r
10189           "hide": false,\r
10190           "intervalFactor": 1,\r
10191           "legendFormat": "{{ destination_service }} P95",\r
10192           "refId": "G",\r
10193           "step": 2\r
10194         },\r
10195         {\r
10196           "expr": "histogram_quantile(0.99, sum(irate(istio_response_bytes_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))",\r
10197           "format": "time_series",\r
10198           "hide": false,\r
10199           "intervalFactor": 1,\r
10200           "legendFormat": "{{ destination_service }} P99",\r
10201           "refId": "H",\r
10202           "step": 2\r
10203         }\r
10204       ],\r
10205       "thresholds": [],\r
10206       "timeFrom": null,\r
10207       "timeShift": null,\r
10208       "title": "Response Size By Destination",\r
10209       "tooltip": {\r
10210         "shared": true,\r
10211         "sort": 0,\r
10212         "value_type": "individual"\r
10213       },\r
10214       "type": "graph",\r
10215       "xaxis": {\r
10216         "buckets": null,\r
10217         "mode": "time",\r
10218         "name": null,\r
10219         "show": true,\r
10220         "values": []\r
10221       },\r
10222       "yaxes": [\r
10223         {\r
10224           "format": "decbytes",\r
10225           "label": null,\r
10226           "logBase": 1,\r
10227           "max": null,\r
10228           "min": "0",\r
10229           "show": true\r
10230         },\r
10231         {\r
10232           "format": "short",\r
10233           "label": null,\r
10234           "logBase": 1,\r
10235           "max": null,\r
10236           "min": null,\r
10237           "show": false\r
10238         }\r
10239       ]\r
10240     },\r
10241     {\r
10242       "aliasColors": {},\r
10243       "bars": false,\r
10244       "dashLength": 10,\r
10245       "dashes": false,\r
10246       "datasource": "Prometheus",\r
10247       "fill": 1,\r
10248       "gridPos": {\r
10249         "h": 6,\r
10250         "w": 12,\r
10251         "x": 0,\r
10252         "y": 47\r
10253       },\r
10254       "id": 76,\r
10255       "legend": {\r
10256         "avg": false,\r
10257         "current": false,\r
10258         "max": false,\r
10259         "min": false,\r
10260         "show": true,\r
10261         "total": false,\r
10262         "values": false\r
10263       },\r
10264       "lines": true,\r
10265       "linewidth": 1,\r
10266       "links": [],\r
10267       "nullPointMode": "null",\r
10268       "percentage": false,\r
10269       "pointradius": 5,\r
10270       "points": false,\r
10271       "renderer": "flot",\r
10272       "seriesOverrides": [],\r
10273       "spaceLength": 10,\r
10274       "stack": false,\r
10275       "steppedLine": false,\r
10276       "targets": [\r
10277         {\r
10278           "expr": "round(sum(irate(istio_tcp_sent_bytes_total{connection_security_policy=\"mutual_tls\", reporter=\"source\", source_workload_namespace=~\"$namespace\", source_workload=~\"$workload\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service), 0.001)",\r
10279           "format": "time_series",\r
10280           "intervalFactor": 1,\r
10281           "legendFormat": "{{ destination_service }} (🔐mTLS)",\r
10282           "refId": "A",\r
10283           "step": 2\r
10284         },\r
10285         {\r
10286           "expr": "round(sum(irate(istio_tcp_sent_bytes_total{connection_security_policy!=\"mutual_tls\", reporter=\"source\", source_workload_namespace=~\"$namespace\", source_workload=~\"$workload\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service), 0.001)",\r
10287           "format": "time_series",\r
10288           "intervalFactor": 1,\r
10289           "legendFormat": "{{ destination_service }}",\r
10290           "refId": "B",\r
10291           "step": 2\r
10292         }\r
10293       ],\r
10294       "thresholds": [],\r
10295       "timeFrom": null,\r
10296       "timeShift": null,\r
10297       "title": "Bytes Sent on Outgoing TCP Connection",\r
10298       "tooltip": {\r
10299         "shared": true,\r
10300         "sort": 0,\r
10301         "value_type": "individual"\r
10302       },\r
10303       "type": "graph",\r
10304       "xaxis": {\r
10305         "buckets": null,\r
10306         "mode": "time",\r
10307         "name": null,\r
10308         "show": true,\r
10309         "values": []\r
10310       },\r
10311       "yaxes": [\r
10312         {\r
10313           "format": "Bps",\r
10314           "label": null,\r
10315           "logBase": 1,\r
10316           "max": null,\r
10317           "min": "0",\r
10318           "show": true\r
10319         },\r
10320         {\r
10321           "format": "short",\r
10322           "label": null,\r
10323           "logBase": 1,\r
10324           "max": null,\r
10325           "min": null,\r
10326           "show": true\r
10327         }\r
10328       ]\r
10329     },\r
10330     {\r
10331       "aliasColors": {},\r
10332       "bars": false,\r
10333       "dashLength": 10,\r
10334       "dashes": false,\r
10335       "datasource": "Prometheus",\r
10336       "fill": 1,\r
10337       "gridPos": {\r
10338         "h": 6,\r
10339         "w": 12,\r
10340         "x": 12,\r
10341         "y": 47\r
10342       },\r
10343       "id": 78,\r
10344       "legend": {\r
10345         "avg": false,\r
10346         "current": false,\r
10347         "max": false,\r
10348         "min": false,\r
10349         "show": true,\r
10350         "total": false,\r
10351         "values": false\r
10352       },\r
10353       "lines": true,\r
10354       "linewidth": 1,\r
10355       "links": [],\r
10356       "nullPointMode": "null",\r
10357       "percentage": false,\r
10358       "pointradius": 5,\r
10359       "points": false,\r
10360       "renderer": "flot",\r
10361       "seriesOverrides": [],\r
10362       "spaceLength": 10,\r
10363       "stack": false,\r
10364       "steppedLine": false,\r
10365       "targets": [\r
10366         {\r
10367           "expr": "round(sum(irate(istio_tcp_received_bytes_total{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload_namespace=~\"$namespace\", source_workload=~\"$workload\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service), 0.001)",\r
10368           "format": "time_series",\r
10369           "intervalFactor": 1,\r
10370           "legendFormat": "{{ destination_service }} (🔐mTLS)",\r
10371           "refId": "A",\r
10372           "step": 2\r
10373         },\r
10374         {\r
10375           "expr": "round(sum(irate(istio_tcp_received_bytes_total{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload_namespace=~\"$namespace\", source_workload=~\"$workload\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service), 0.001)",\r
10376           "format": "time_series",\r
10377           "intervalFactor": 1,\r
10378           "legendFormat": "{{ destination_service }}",\r
10379           "refId": "B",\r
10380           "step": 2\r
10381         }\r
10382       ],\r
10383       "thresholds": [],\r
10384       "timeFrom": null,\r
10385       "timeShift": null,\r
10386       "title": "Bytes Received from Outgoing TCP Connection",\r
10387       "tooltip": {\r
10388         "shared": true,\r
10389         "sort": 0,\r
10390         "value_type": "individual"\r
10391       },\r
10392       "type": "graph",\r
10393       "xaxis": {\r
10394         "buckets": null,\r
10395         "mode": "time",\r
10396         "name": null,\r
10397         "show": true,\r
10398         "values": []\r
10399       },\r
10400       "yaxes": [\r
10401         {\r
10402           "format": "Bps",\r
10403           "label": null,\r
10404           "logBase": 1,\r
10405           "max": null,\r
10406           "min": "0",\r
10407           "show": true\r
10408         },\r
10409         {\r
10410           "format": "short",\r
10411           "label": null,\r
10412           "logBase": 1,\r
10413           "max": null,\r
10414           "min": null,\r
10415           "show": true\r
10416         }\r
10417       ]\r
10418     }\r
10419   ],\r
10420   "refresh": "10s",\r
10421   "schemaVersion": 16,\r
10422   "style": "dark",\r
10423   "tags": [],\r
10424   "templating": {\r
10425     "list": [\r
10426       {\r
10427         "allValue": null,\r
10428         "current": {},\r
10429         "datasource": "Prometheus",\r
10430         "hide": 0,\r
10431         "includeAll": false,\r
10432         "label": "Namespace",\r
10433         "multi": false,\r
10434         "name": "namespace",\r
10435         "options": [],\r
10436         "query": "query_result(sum(istio_requests_total) by (destination_workload_namespace) or sum(istio_tcp_sent_bytes_total) by (destination_workload_namespace))",\r
10437         "refresh": 1,\r
10438         "regex": "/.*_namespace=\"([^\"]*).*/",\r
10439         "sort": 0,\r
10440         "tagValuesQuery": "",\r
10441         "tags": [],\r
10442         "tagsQuery": "",\r
10443         "type": "query",\r
10444         "useTags": false\r
10445       },\r
10446       {\r
10447         "allValue": null,\r
10448         "current": {},\r
10449         "datasource": "Prometheus",\r
10450         "hide": 0,\r
10451         "includeAll": false,\r
10452         "label": "Workload",\r
10453         "multi": false,\r
10454         "name": "workload",\r
10455         "options": [],\r
10456         "query": "query_result((sum(istio_requests_total{destination_workload_namespace=~\"$namespace\"}) by (destination_workload) or sum(istio_requests_total{source_workload_namespace=~\"$namespace\"}) by (source_workload)) or (sum(istio_tcp_sent_bytes_total{destination_workload_namespace=~\"$namespace\"}) by (destination_workload) or sum(istio_tcp_sent_bytes_total{source_workload_namespace=~\"$namespace\"}) by (source_workload)))",\r
10457         "refresh": 1,\r
10458         "regex": "/.*workload=\"([^\"]*).*/",\r
10459         "sort": 1,\r
10460         "tagValuesQuery": "",\r
10461         "tags": [],\r
10462         "tagsQuery": "",\r
10463         "type": "query",\r
10464         "useTags": false\r
10465       },\r
10466       {\r
10467         "allValue": null,\r
10468         "current": {},\r
10469         "datasource": "Prometheus",\r
10470         "hide": 0,\r
10471         "includeAll": true,\r
10472         "label": "Inbound Workload Namespace",\r
10473         "multi": true,\r
10474         "name": "srcns",\r
10475         "options": [],\r
10476         "query": "query_result( sum(istio_requests_total{reporter=\"destination\", destination_workload=\"$workload\", destination_workload_namespace=~\"$namespace\"}) by (source_workload_namespace) or sum(istio_tcp_sent_bytes_total{reporter=\"destination\", destination_workload=\"$workload\", destination_workload_namespace=~\"$namespace\"}) by (source_workload_namespace))",\r
10477         "refresh": 1,\r
10478         "regex": "/.*namespace=\"([^\"]*).*/",\r
10479         "sort": 2,\r
10480         "tagValuesQuery": "",\r
10481         "tags": [],\r
10482         "tagsQuery": "",\r
10483         "type": "query",\r
10484         "useTags": false\r
10485       },\r
10486       {\r
10487         "allValue": null,\r
10488         "current": {},\r
10489         "datasource": "Prometheus",\r
10490         "hide": 0,\r
10491         "includeAll": true,\r
10492         "label": "Inbound Workload",\r
10493         "multi": true,\r
10494         "name": "srcwl",\r
10495         "options": [],\r
10496         "query": "query_result( sum(istio_requests_total{reporter=\"destination\", destination_workload=\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload_namespace=~\"$srcns\"}) by (source_workload) or sum(istio_tcp_sent_bytes_total{reporter=\"destination\", destination_workload=\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload_namespace=~\"$srcns\"}) by (source_workload))",\r
10497         "refresh": 1,\r
10498         "regex": "/.*workload=\"([^\"]*).*/",\r
10499         "sort": 3,\r
10500         "tagValuesQuery": "",\r
10501         "tags": [],\r
10502         "tagsQuery": "",\r
10503         "type": "query",\r
10504         "useTags": false\r
10505       },\r
10506       {\r
10507         "allValue": null,\r
10508         "current": {},\r
10509         "datasource": "Prometheus",\r
10510         "hide": 0,\r
10511         "includeAll": true,\r
10512         "label": "Destination Service",\r
10513         "multi": true,\r
10514         "name": "dstsvc",\r
10515         "options": [],\r
10516         "query": "query_result( sum(istio_requests_total{reporter=\"source\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\"}) by (destination_service) or sum(istio_tcp_sent_bytes_total{reporter=\"source\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\"}) by (destination_service))",\r
10517         "refresh": 1,\r
10518         "regex": "/.*destination_service=\"([^\"]*).*/",\r
10519         "sort": 4,\r
10520         "tagValuesQuery": "",\r
10521         "tags": [],\r
10522         "tagsQuery": "",\r
10523         "type": "query",\r
10524         "useTags": false\r
10525       }\r
10526     ]\r
10527   },\r
10528   "time": {\r
10529     "from": "now-5m",\r
10530     "to": "now"\r
10531   },\r
10532   "timepicker": {\r
10533     "refresh_intervals": [\r
10534       "5s",\r
10535       "10s",\r
10536       "30s",\r
10537       "1m",\r
10538       "5m",\r
10539       "15m",\r
10540       "30m",\r
10541       "1h",\r
10542       "2h",\r
10543       "1d"\r
10544     ],\r
10545     "time_options": [\r
10546       "5m",\r
10547       "15m",\r
10548       "1h",\r
10549       "6h",\r
10550       "12h",\r
10551       "24h",\r
10552       "2d",\r
10553       "7d",\r
10554       "30d"\r
10555     ]\r
10556   },\r
10557   "timezone": "",\r
10558   "title": "Istio Workload Dashboard",\r
10559   "uid": "UbsSZTDik",\r
10560   "version": 1\r
10561 }\r
10562 '\r
10563 ---\r
10564 apiVersion: v1\r
10565 kind: ConfigMap\r
10566 metadata:\r
10567   name: istio-grafana-configuration-dashboards-mixer-dashboard\r
10568   namespace: istio-system\r
10569   labels:\r
10570     app: grafana\r
10571     chart: grafana\r
10572     heritage: Tiller\r
10573     release: istio\r
10574     istio: grafana\r
10575 data:\r
10576   mixer-dashboard.json: '{\r
10577   "__inputs": [\r
10578     {\r
10579       "name": "DS_PROMETHEUS",\r
10580       "label": "Prometheus",\r
10581       "description": "",\r
10582       "type": "datasource",\r
10583       "pluginId": "prometheus",\r
10584       "pluginName": "Prometheus"\r
10585     }\r
10586   ],\r
10587   "__requires": [\r
10588     {\r
10589       "type": "grafana",\r
10590       "id": "grafana",\r
10591       "name": "Grafana",\r
10592       "version": "5.2.3"\r
10593     },\r
10594     {\r
10595       "type": "panel",\r
10596       "id": "graph",\r
10597       "name": "Graph",\r
10598       "version": "5.0.0"\r
10599     },\r
10600     {\r
10601       "type": "datasource",\r
10602       "id": "prometheus",\r
10603       "name": "Prometheus",\r
10604       "version": "5.0.0"\r
10605     },\r
10606     {\r
10607       "type": "panel",\r
10608       "id": "text",\r
10609       "name": "Text",\r
10610       "version": "5.0.0"\r
10611     }\r
10612   ],\r
10613   "annotations": {\r
10614     "list": [\r
10615       {\r
10616         "builtIn": 1,\r
10617         "datasource": "-- Grafana --",\r
10618         "enable": true,\r
10619         "hide": true,\r
10620         "iconColor": "rgba(0, 211, 255, 1)",\r
10621         "limit": 100,\r
10622         "name": "Annotations & Alerts",\r
10623         "showIn": 0,\r
10624         "type": "dashboard"\r
10625       }\r
10626     ]\r
10627   },\r
10628   "editable": false,\r
10629   "gnetId": null,\r
10630   "graphTooltip": 1,\r
10631   "id": null,\r
10632   "iteration": 1543881232533,\r
10633   "links": [],\r
10634   "panels": [\r
10635     {\r
10636       "content": "<center><h2>Deployed Versions</h2></center>",\r
10637       "gridPos": {\r
10638         "h": 3,\r
10639         "w": 24,\r
10640         "x": 0,\r
10641         "y": 0\r
10642       },\r
10643       "height": "40",\r
10644       "id": 62,\r
10645       "links": [],\r
10646       "mode": "html",\r
10647       "title": "",\r
10648       "transparent": true,\r
10649       "type": "text"\r
10650     },\r
10651     {\r
10652       "aliasColors": {},\r
10653       "bars": false,\r
10654       "dashLength": 10,\r
10655       "dashes": false,\r
10656       "datasource": "Prometheus",\r
10657       "fill": 1,\r
10658       "gridPos": {\r
10659         "h": 5,\r
10660         "w": 24,\r
10661         "x": 0,\r
10662         "y": 3\r
10663       },\r
10664       "id": 64,\r
10665       "legend": {\r
10666         "avg": false,\r
10667         "current": false,\r
10668         "max": false,\r
10669         "min": false,\r
10670         "show": true,\r
10671         "total": false,\r
10672         "values": false\r
10673       },\r
10674       "lines": true,\r
10675       "linewidth": 1,\r
10676       "links": [],\r
10677       "nullPointMode": "null",\r
10678       "percentage": false,\r
10679       "pointradius": 5,\r
10680       "points": false,\r
10681       "renderer": "flot",\r
10682       "seriesOverrides": [],\r
10683       "spaceLength": 10,\r
10684       "stack": false,\r
10685       "steppedLine": false,\r
10686       "targets": [\r
10687         {\r
10688           "expr": "sum(istio_build{component=\"mixer\"}) by (tag)",\r
10689           "format": "time_series",\r
10690           "intervalFactor": 1,\r
10691           "legendFormat": "{{ tag }}",\r
10692           "refId": "A"\r
10693         }\r
10694       ],\r
10695       "thresholds": [],\r
10696       "timeFrom": null,\r
10697       "timeShift": null,\r
10698       "title": "Mixer Versions",\r
10699       "tooltip": {\r
10700         "shared": true,\r
10701         "sort": 0,\r
10702         "value_type": "individual"\r
10703       },\r
10704       "type": "graph",\r
10705       "xaxis": {\r
10706         "buckets": null,\r
10707         "mode": "time",\r
10708         "name": null,\r
10709         "show": true,\r
10710         "values": []\r
10711       },\r
10712       "yaxes": [\r
10713         {\r
10714           "format": "short",\r
10715           "label": null,\r
10716           "logBase": 1,\r
10717           "max": null,\r
10718           "min": null,\r
10719           "show": true\r
10720         },\r
10721         {\r
10722           "format": "short",\r
10723           "label": null,\r
10724           "logBase": 1,\r
10725           "max": null,\r
10726           "min": null,\r
10727           "show": false\r
10728         }\r
10729       ],\r
10730       "yaxis": {\r
10731         "align": false,\r
10732         "alignLevel": null\r
10733       }\r
10734     },\r
10735     {\r
10736       "content": "<center><h2>Resource Usage</h2></center>",\r
10737       "gridPos": {\r
10738         "h": 3,\r
10739         "w": 24,\r
10740         "x": 0,\r
10741         "y": 8\r
10742       },\r
10743       "height": "40",\r
10744       "id": 29,\r
10745       "links": [],\r
10746       "mode": "html",\r
10747       "title": "",\r
10748       "transparent": true,\r
10749       "type": "text"\r
10750     },\r
10751     {\r
10752       "aliasColors": {},\r
10753       "bars": false,\r
10754       "dashLength": 10,\r
10755       "dashes": false,\r
10756       "datasource": "Prometheus",\r
10757       "fill": 1,\r
10758       "gridPos": {\r
10759         "h": 7,\r
10760         "w": 6,\r
10761         "x": 0,\r
10762         "y": 11\r
10763       },\r
10764       "id": 5,\r
10765       "legend": {\r
10766         "avg": false,\r
10767         "current": false,\r
10768         "max": false,\r
10769         "min": false,\r
10770         "show": true,\r
10771         "total": false,\r
10772         "values": false\r
10773       },\r
10774       "lines": true,\r
10775       "linewidth": 1,\r
10776       "links": [],\r
10777       "nullPointMode": "null",\r
10778       "percentage": false,\r
10779       "pointradius": 5,\r
10780       "points": false,\r
10781       "renderer": "flot",\r
10782       "seriesOverrides": [],\r
10783       "spaceLength": 10,\r
10784       "stack": false,\r
10785       "steppedLine": false,\r
10786       "targets": [\r
10787         {\r
10788           "expr": "sum(process_virtual_memory_bytes{job=~\"istio-telemetry|istio-policy\"}) by (job)",\r
10789           "format": "time_series",\r
10790           "instant": false,\r
10791           "intervalFactor": 2,\r
10792           "legendFormat": "Virtual Memory ({{ job }})",\r
10793           "refId": "I"\r
10794         },\r
10795         {\r
10796           "expr": "sum(process_resident_memory_bytes{job=~\"istio-telemetry|istio-policy\"}) by (job)",\r
10797           "format": "time_series",\r
10798           "intervalFactor": 2,\r
10799           "legendFormat": "Resident Memory ({{ job }})",\r
10800           "refId": "H"\r
10801         },\r
10802         {\r
10803           "expr": "sum(go_memstats_heap_sys_bytes{job=~\"istio-telemetry|istio-policy\"}) by (job)",\r
10804           "format": "time_series",\r
10805           "hide": true,\r
10806           "intervalFactor": 2,\r
10807           "legendFormat": "heap sys ({{ job }})",\r
10808           "refId": "A"\r
10809         },\r
10810         {\r
10811           "expr": "sum(go_memstats_heap_alloc_bytes{job=~\"istio-telemetry|istio-policy\"}) by (job)",\r
10812           "format": "time_series",\r
10813           "hide": true,\r
10814           "intervalFactor": 2,\r
10815           "legendFormat": "heap alloc ({{ job }})",\r
10816           "refId": "D"\r
10817         },\r
10818         {\r
10819           "expr": "sum(go_memstats_alloc_bytes{job=~\"istio-telemetry|istio-policy\"}) by (job)",\r
10820           "format": "time_series",\r
10821           "intervalFactor": 2,\r
10822           "legendFormat": "Alloc ({{ job }})",\r
10823           "refId": "F"\r
10824         },\r
10825         {\r
10826           "expr": "sum(go_memstats_heap_inuse_bytes{job=~\"istio-telemetry|istio-policy\"}) by (job)",\r
10827           "format": "time_series",\r
10828           "hide": false,\r
10829           "intervalFactor": 2,\r
10830           "legendFormat": "Heap in-use ({{ job }})",\r
10831           "refId": "E"\r
10832         },\r
10833         {\r
10834           "expr": "sum(go_memstats_stack_inuse_bytes{job=~\"istio-telemetry|istio-policy\"}) by (job)",\r
10835           "format": "time_series",\r
10836           "intervalFactor": 2,\r
10837           "legendFormat": "Stack in-use ({{ job }})",\r
10838           "refId": "G"\r
10839         },\r
10840         {\r
10841           "expr": "sum(label_replace(container_memory_usage_bytes{container_name=~\"mixer|istio-proxy\", pod_name=~\"istio-telemetry-.*|istio-policy-.*\"}, \"service\", \"$1\" , \"pod_name\", \"(istio-telemetry|istio-policy)-.*\")) by (service)",\r
10842           "format": "time_series",\r
10843           "hide": false,\r
10844           "intervalFactor": 2,\r
10845           "legendFormat": "{{ service }} total (k8s)",\r
10846           "refId": "C"\r
10847         },\r
10848         {\r
10849           "expr": "sum(label_replace(container_memory_usage_bytes{container_name=~\"mixer|istio-proxy\", pod_name=~\"istio-telemetry-.*|istio-policy-.*\"}, \"service\", \"$1\" , \"pod_name\", \"(istio-telemetry|istio-policy)-.*\")) by (container_name, service)",\r
10850           "format": "time_series",\r
10851           "hide": false,\r
10852           "intervalFactor": 2,\r
10853           "legendFormat": "{{ service }} - {{ container_name }} (k8s)",\r
10854           "refId": "B"\r
10855         }\r
10856       ],\r
10857       "thresholds": [],\r
10858       "timeFrom": null,\r
10859       "timeShift": null,\r
10860       "title": "Memory",\r
10861       "tooltip": {\r
10862         "shared": true,\r
10863         "sort": 0,\r
10864         "value_type": "individual"\r
10865       },\r
10866       "type": "graph",\r
10867       "xaxis": {\r
10868         "buckets": null,\r
10869         "mode": "time",\r
10870         "name": null,\r
10871         "show": true,\r
10872         "values": []\r
10873       },\r
10874       "yaxes": [\r
10875         {\r
10876           "format": "bytes",\r
10877           "label": null,\r
10878           "logBase": 1,\r
10879           "max": null,\r
10880           "min": null,\r
10881           "show": true\r
10882         },\r
10883         {\r
10884           "format": "short",\r
10885           "label": null,\r
10886           "logBase": 1,\r
10887           "max": null,\r
10888           "min": null,\r
10889           "show": false\r
10890         }\r
10891       ],\r
10892       "yaxis": {\r
10893         "align": false,\r
10894         "alignLevel": null\r
10895       }\r
10896     },\r
10897     {\r
10898       "aliasColors": {},\r
10899       "bars": false,\r
10900       "dashLength": 10,\r
10901       "dashes": false,\r
10902       "datasource": "Prometheus",\r
10903       "fill": 1,\r
10904       "gridPos": {\r
10905         "h": 7,\r
10906         "w": 6,\r
10907         "x": 6,\r
10908         "y": 11\r
10909       },\r
10910       "id": 6,\r
10911       "legend": {\r
10912         "avg": false,\r
10913         "current": false,\r
10914         "max": false,\r
10915         "min": false,\r
10916         "show": true,\r
10917         "total": false,\r
10918         "values": false\r
10919       },\r
10920       "lines": true,\r
10921       "linewidth": 1,\r
10922       "links": [],\r
10923       "nullPointMode": "null",\r
10924       "percentage": false,\r
10925       "pointradius": 5,\r
10926       "points": false,\r
10927       "renderer": "flot",\r
10928       "seriesOverrides": [],\r
10929       "spaceLength": 10,\r
10930       "stack": false,\r
10931       "steppedLine": false,\r
10932       "targets": [\r
10933         {\r
10934           "expr": "label_replace(sum(rate(container_cpu_usage_seconds_total{job=\"kubernetes-cadvisor\",container_name=~\"mixer|istio-proxy\", pod_name=~\"istio-telemetry-.*|istio-policy-.*\"}[1m])) by (pod_name), \"service\", \"$1\" , \"pod_name\", \"(istio-telemetry|istio-policy)-.*\")",\r
10935           "format": "time_series",\r
10936           "hide": false,\r
10937           "intervalFactor": 2,\r
10938           "legendFormat": "{{ service }} total (k8s)",\r
10939           "refId": "A"\r
10940         },\r
10941         {\r
10942           "expr": "label_replace(sum(rate(container_cpu_usage_seconds_total{job=\"kubernetes-cadvisor\",container_name=~\"mixer|istio-proxy\", pod_name=~\"istio-telemetry-.*|istio-policy-.*\"}[1m])) by (container_name, pod_name), \"service\", \"$1\" , \"pod_name\", \"(istio-telemetry|istio-policy)-.*\")",\r
10943           "format": "time_series",\r
10944           "hide": false,\r
10945           "intervalFactor": 2,\r
10946           "legendFormat": "{{ service }} - {{ container_name }} (k8s)",\r
10947           "refId": "B"\r
10948         },\r
10949         {\r
10950           "expr": "sum(irate(process_cpu_seconds_total{job=~\"istio-telemetry|istio-policy\"}[1m])) by (job)",\r
10951           "format": "time_series",\r
10952           "hide": false,\r
10953           "intervalFactor": 2,\r
10954           "legendFormat": "{{ job }} (self-reported)",\r
10955           "refId": "C"\r
10956         }\r
10957       ],\r
10958       "thresholds": [],\r
10959       "timeFrom": null,\r
10960       "timeShift": null,\r
10961       "title": "CPU",\r
10962       "tooltip": {\r
10963         "shared": true,\r
10964         "sort": 0,\r
10965         "value_type": "individual"\r
10966       },\r
10967       "type": "graph",\r
10968       "xaxis": {\r
10969         "buckets": null,\r
10970         "mode": "time",\r
10971         "name": null,\r
10972         "show": true,\r
10973         "values": []\r
10974       },\r
10975       "yaxes": [\r
10976         {\r
10977           "format": "short",\r
10978           "label": null,\r
10979           "logBase": 1,\r
10980           "max": null,\r
10981           "min": null,\r
10982           "show": true\r
10983         },\r
10984         {\r
10985           "format": "short",\r
10986           "label": null,\r
10987           "logBase": 1,\r
10988           "max": null,\r
10989           "min": null,\r
10990           "show": true\r
10991         }\r
10992       ],\r
10993       "yaxis": {\r
10994         "align": false,\r
10995         "alignLevel": null\r
10996       }\r
10997     },\r
10998     {\r
10999       "aliasColors": {},\r
11000       "bars": false,\r
11001       "dashLength": 10,\r
11002       "dashes": false,\r
11003       "datasource": "Prometheus",\r
11004       "fill": 1,\r
11005       "gridPos": {\r
11006         "h": 7,\r
11007         "w": 6,\r
11008         "x": 12,\r
11009         "y": 11\r
11010       },\r
11011       "id": 7,\r
11012       "legend": {\r
11013         "avg": false,\r
11014         "current": false,\r
11015         "max": false,\r
11016         "min": false,\r
11017         "show": true,\r
11018         "total": false,\r
11019         "values": false\r
11020       },\r
11021       "lines": true,\r
11022       "linewidth": 1,\r
11023       "links": [],\r
11024       "nullPointMode": "null",\r
11025       "percentage": false,\r
11026       "pointradius": 5,\r
11027       "points": false,\r
11028       "renderer": "flot",\r
11029       "seriesOverrides": [],\r
11030       "spaceLength": 10,\r
11031       "stack": false,\r
11032       "steppedLine": false,\r
11033       "targets": [\r
11034         {\r
11035           "expr": "sum(process_open_fds{job=~\"istio-telemetry|istio-policy\"}) by (job)",\r
11036           "format": "time_series",\r
11037           "hide": true,\r
11038           "instant": false,\r
11039           "interval": "",\r
11040           "intervalFactor": 2,\r
11041           "legendFormat": "Open FDs ({{ job }})",\r
11042           "refId": "A"\r
11043         },\r
11044         {\r
11045           "expr": "sum(label_replace(container_fs_usage_bytes{container_name=~\"mixer|istio-proxy\", pod_name=~\"istio-telemetry-.*|istio-policy-.*\"}, \"service\", \"$1\" , \"pod_name\", \"(istio-telemetry|istio-policy)-.*\")) by (container_name, service)",\r
11046           "format": "time_series",\r
11047           "intervalFactor": 2,\r
11048           "legendFormat": "{{ service }} - {{ container_name }}",\r
11049           "refId": "B"\r
11050         }\r
11051       ],\r
11052       "thresholds": [],\r
11053       "timeFrom": null,\r
11054       "timeShift": null,\r
11055       "title": "Disk",\r
11056       "tooltip": {\r
11057         "shared": true,\r
11058         "sort": 0,\r
11059         "value_type": "individual"\r
11060       },\r
11061       "type": "graph",\r
11062       "xaxis": {\r
11063         "buckets": null,\r
11064         "mode": "time",\r
11065         "name": null,\r
11066         "show": true,\r
11067         "values": []\r
11068       },\r
11069       "yaxes": [\r
11070         {\r
11071           "format": "bytes",\r
11072           "label": "",\r
11073           "logBase": 1,\r
11074           "max": null,\r
11075           "min": null,\r
11076           "show": true\r
11077         },\r
11078         {\r
11079           "decimals": null,\r
11080           "format": "none",\r
11081           "label": "",\r
11082           "logBase": 1024,\r
11083           "max": null,\r
11084           "min": null,\r
11085           "show": false\r
11086         }\r
11087       ],\r
11088       "yaxis": {\r
11089         "align": false,\r
11090         "alignLevel": null\r
11091       }\r
11092     },\r
11093     {\r
11094       "aliasColors": {},\r
11095       "bars": false,\r
11096       "dashLength": 10,\r
11097       "dashes": false,\r
11098       "datasource": "Prometheus",\r
11099       "fill": 1,\r
11100       "gridPos": {\r
11101         "h": 7,\r
11102         "w": 6,\r
11103         "x": 18,\r
11104         "y": 11\r
11105       },\r
11106       "id": 4,\r
11107       "legend": {\r
11108         "avg": false,\r
11109         "current": false,\r
11110         "max": false,\r
11111         "min": false,\r
11112         "show": false,\r
11113         "total": false,\r
11114         "values": false\r
11115       },\r
11116       "lines": true,\r
11117       "linewidth": 1,\r
11118       "links": [],\r
11119       "nullPointMode": "null",\r
11120       "percentage": false,\r
11121       "pointradius": 5,\r
11122       "points": false,\r
11123       "renderer": "flot",\r
11124       "seriesOverrides": [],\r
11125       "spaceLength": 10,\r
11126       "stack": false,\r
11127       "steppedLine": false,\r
11128       "targets": [\r
11129         {\r
11130           "expr": "sum(go_goroutines{job=~\"istio-telemetry|istio-policy\"}) by (job)",\r
11131           "format": "time_series",\r
11132           "intervalFactor": 2,\r
11133           "legendFormat": "Number of Goroutines ({{ job }})",\r
11134           "refId": "A"\r
11135         }\r
11136       ],\r
11137       "thresholds": [],\r
11138       "timeFrom": null,\r
11139       "timeShift": null,\r
11140       "title": "Goroutines",\r
11141       "tooltip": {\r
11142         "shared": true,\r
11143         "sort": 0,\r
11144         "value_type": "individual"\r
11145       },\r
11146       "type": "graph",\r
11147       "xaxis": {\r
11148         "buckets": null,\r
11149         "mode": "time",\r
11150         "name": null,\r
11151         "show": true,\r
11152         "values": []\r
11153       },\r
11154       "yaxes": [\r
11155         {\r
11156           "format": "short",\r
11157           "label": "",\r
11158           "logBase": 1,\r
11159           "max": null,\r
11160           "min": null,\r
11161           "show": true\r
11162         },\r
11163         {\r
11164           "format": "short",\r
11165           "label": null,\r
11166           "logBase": 1,\r
11167           "max": null,\r
11168           "min": null,\r
11169           "show": true\r
11170         }\r
11171       ],\r
11172       "yaxis": {\r
11173         "align": false,\r
11174         "alignLevel": null\r
11175       }\r
11176     },\r
11177     {\r
11178       "content": "<center><h2>Mixer Overview</h2></center>",\r
11179       "gridPos": {\r
11180         "h": 3,\r
11181         "w": 24,\r
11182         "x": 0,\r
11183         "y": 18\r
11184       },\r
11185       "height": "40px",\r
11186       "id": 30,\r
11187       "links": [],\r
11188       "mode": "html",\r
11189       "title": "",\r
11190       "transparent": true,\r
11191       "type": "text"\r
11192     },\r
11193     {\r
11194       "aliasColors": {},\r
11195       "bars": false,\r
11196       "dashLength": 10,\r
11197       "dashes": false,\r
11198       "datasource": "Prometheus",\r
11199       "fill": 1,\r
11200       "gridPos": {\r
11201         "h": 6,\r
11202         "w": 6,\r
11203         "x": 0,\r
11204         "y": 21\r
11205       },\r
11206       "id": 9,\r
11207       "legend": {\r
11208         "avg": false,\r
11209         "current": false,\r
11210         "max": false,\r
11211         "min": false,\r
11212         "show": true,\r
11213         "total": false,\r
11214         "values": false\r
11215       },\r
11216       "lines": true,\r
11217       "linewidth": 1,\r
11218       "links": [],\r
11219       "nullPointMode": "null",\r
11220       "percentage": false,\r
11221       "pointradius": 5,\r
11222       "points": false,\r
11223       "renderer": "flot",\r
11224       "seriesOverrides": [],\r
11225       "spaceLength": 10,\r
11226       "stack": false,\r
11227       "steppedLine": false,\r
11228       "targets": [\r
11229         {\r
11230           "expr": "sum(rate(grpc_io_server_completed_rpcs[1m]))",\r
11231           "format": "time_series",\r
11232           "hide": false,\r
11233           "intervalFactor": 2,\r
11234           "legendFormat": "mixer (Total)",\r
11235           "refId": "B"\r
11236         },\r
11237         {\r
11238           "expr": "sum(rate(grpc_io_server_completed_rpcs[1m])) by (grpc_server_method)",\r
11239           "format": "time_series",\r
11240           "intervalFactor": 2,\r
11241           "legendFormat": "mixer ({{ grpc_server_method }})",\r
11242           "refId": "C"\r
11243         }\r
11244       ],\r
11245       "thresholds": [],\r
11246       "timeFrom": null,\r
11247       "timeShift": null,\r
11248       "title": "Incoming Requests",\r
11249       "tooltip": {\r
11250         "shared": true,\r
11251         "sort": 0,\r
11252         "value_type": "individual"\r
11253       },\r
11254       "type": "graph",\r
11255       "xaxis": {\r
11256         "buckets": null,\r
11257         "mode": "time",\r
11258         "name": null,\r
11259         "show": true,\r
11260         "values": []\r
11261       },\r
11262       "yaxes": [\r
11263         {\r
11264           "format": "ops",\r
11265           "label": null,\r
11266           "logBase": 1,\r
11267           "max": null,\r
11268           "min": null,\r
11269           "show": true\r
11270         },\r
11271         {\r
11272           "format": "short",\r
11273           "label": null,\r
11274           "logBase": 1,\r
11275           "max": null,\r
11276           "min": null,\r
11277           "show": false\r
11278         }\r
11279       ],\r
11280       "yaxis": {\r
11281         "align": false,\r
11282         "alignLevel": null\r
11283       }\r
11284     },\r
11285     {\r
11286       "aliasColors": {},\r
11287       "bars": false,\r
11288       "dashLength": 10,\r
11289       "dashes": false,\r
11290       "datasource": "Prometheus",\r
11291       "fill": 1,\r
11292       "gridPos": {\r
11293         "h": 6,\r
11294         "w": 6,\r
11295         "x": 6,\r
11296         "y": 21\r
11297       },\r
11298       "id": 8,\r
11299       "legend": {\r
11300         "avg": false,\r
11301         "current": false,\r
11302         "max": false,\r
11303         "min": false,\r
11304         "show": true,\r
11305         "total": false,\r
11306         "values": false\r
11307       },\r
11308       "lines": true,\r
11309       "linewidth": 1,\r
11310       "links": [],\r
11311       "nullPointMode": "null",\r
11312       "percentage": false,\r
11313       "pointradius": 5,\r
11314       "points": false,\r
11315       "renderer": "flot",\r
11316       "seriesOverrides": [\r
11317         {\r
11318           "alias": "{}",\r
11319           "yaxis": 1\r
11320         }\r
11321       ],\r
11322       "spaceLength": 10,\r
11323       "stack": false,\r
11324       "steppedLine": false,\r
11325       "targets": [\r
11326         {\r
11327           "expr": "histogram_quantile(0.5, sum(rate(grpc_io_server_server_latency_bucket{}[1m])) by (grpc_server_method, le))",\r
11328           "format": "time_series",\r
11329           "intervalFactor": 2,\r
11330           "legendFormat": "{{ grpc_server_method }} 0.5",\r
11331           "refId": "B"\r
11332         },\r
11333         {\r
11334           "expr": "histogram_quantile(0.9, sum(rate(grpc_io_server_server_latency_bucket{}[1m])) by (grpc_server_method, le))",\r
11335           "format": "time_series",\r
11336           "intervalFactor": 2,\r
11337           "legendFormat": "{{ grpc_server_method }} 0.9",\r
11338           "refId": "C"\r
11339         },\r
11340         {\r
11341           "expr": "histogram_quantile(0.99, sum(rate(grpc_io_server_server_latency_bucket{}[1m])) by (grpc_server_method, le))",\r
11342           "format": "time_series",\r
11343           "intervalFactor": 2,\r
11344           "legendFormat": "{{ grpc_server_method }} 0.99",\r
11345           "refId": "D"\r
11346         }\r
11347       ],\r
11348       "thresholds": [],\r
11349       "timeFrom": null,\r
11350       "timeShift": null,\r
11351       "title": "Response Durations",\r
11352       "tooltip": {\r
11353         "shared": true,\r
11354         "sort": 0,\r
11355         "value_type": "individual"\r
11356       },\r
11357       "type": "graph",\r
11358       "xaxis": {\r
11359         "buckets": null,\r
11360         "mode": "time",\r
11361         "name": null,\r
11362         "show": true,\r
11363         "values": []\r
11364       },\r
11365       "yaxes": [\r
11366         {\r
11367           "format": "ms",\r
11368           "label": null,\r
11369           "logBase": 1,\r
11370           "max": null,\r
11371           "min": null,\r
11372           "show": true\r
11373         },\r
11374         {\r
11375           "format": "short",\r
11376           "label": null,\r
11377           "logBase": 1,\r
11378           "max": null,\r
11379           "min": null,\r
11380           "show": false\r
11381         }\r
11382       ],\r
11383       "yaxis": {\r
11384         "align": false,\r
11385         "alignLevel": null\r
11386       }\r
11387     },\r
11388     {\r
11389       "aliasColors": {},\r
11390       "bars": false,\r
11391       "dashLength": 10,\r
11392       "dashes": false,\r
11393       "datasource": "Prometheus",\r
11394       "fill": 1,\r
11395       "gridPos": {\r
11396         "h": 6,\r
11397         "w": 6,\r
11398         "x": 12,\r
11399         "y": 21\r
11400       },\r
11401       "id": 11,\r
11402       "legend": {\r
11403         "avg": false,\r
11404         "current": false,\r
11405         "max": false,\r
11406         "min": false,\r
11407         "show": true,\r
11408         "total": false,\r
11409         "values": false\r
11410       },\r
11411       "lines": true,\r
11412       "linewidth": 1,\r
11413       "links": [],\r
11414       "nullPointMode": "null",\r
11415       "percentage": false,\r
11416       "pointradius": 5,\r
11417       "points": false,\r
11418       "renderer": "flot",\r
11419       "seriesOverrides": [],\r
11420       "spaceLength": 10,\r
11421       "stack": false,\r
11422       "steppedLine": false,\r
11423       "targets": [\r
11424         {\r
11425           "expr": "sum(rate(grpc_server_handled_total{grpc_code=~\"Unknown|Unimplemented|Internal|DataLoss\"}[1m])) by (grpc_method)",\r
11426           "format": "time_series",\r
11427           "intervalFactor": 2,\r
11428           "legendFormat": "Mixer {{ grpc_method }}",\r
11429           "refId": "B"\r
11430         }\r
11431       ],\r
11432       "thresholds": [],\r
11433       "timeFrom": null,\r
11434       "timeShift": null,\r
11435       "title": "Server Error Rate (5xx responses)",\r
11436       "tooltip": {\r
11437         "shared": true,\r
11438         "sort": 0,\r
11439         "value_type": "individual"\r
11440       },\r
11441       "type": "graph",\r
11442       "xaxis": {\r
11443         "buckets": null,\r
11444         "mode": "time",\r
11445         "name": null,\r
11446         "show": true,\r
11447         "values": []\r
11448       },\r
11449       "yaxes": [\r
11450         {\r
11451           "format": "short",\r
11452           "label": null,\r
11453           "logBase": 1,\r
11454           "max": null,\r
11455           "min": null,\r
11456           "show": true\r
11457         },\r
11458         {\r
11459           "format": "short",\r
11460           "label": null,\r
11461           "logBase": 1,\r
11462           "max": null,\r
11463           "min": null,\r
11464           "show": true\r
11465         }\r
11466       ],\r
11467       "yaxis": {\r
11468         "align": false,\r
11469         "alignLevel": null\r
11470       }\r
11471     },\r
11472     {\r
11473       "aliasColors": {},\r
11474       "bars": false,\r
11475       "dashLength": 10,\r
11476       "dashes": false,\r
11477       "datasource": "Prometheus",\r
11478       "fill": 1,\r
11479       "gridPos": {\r
11480         "h": 6,\r
11481         "w": 6,\r
11482         "x": 18,\r
11483         "y": 21\r
11484       },\r
11485       "id": 12,\r
11486       "legend": {\r
11487         "avg": false,\r
11488         "current": false,\r
11489         "max": false,\r
11490         "min": false,\r
11491         "show": true,\r
11492         "total": false,\r
11493         "values": false\r
11494       },\r
11495       "lines": true,\r
11496       "linewidth": 1,\r
11497       "links": [],\r
11498       "nullPointMode": "null",\r
11499       "percentage": false,\r
11500       "pointradius": 5,\r
11501       "points": false,\r
11502       "renderer": "flot",\r
11503       "seriesOverrides": [],\r
11504       "spaceLength": 10,\r
11505       "stack": false,\r
11506       "steppedLine": false,\r
11507       "targets": [\r
11508         {\r
11509           "expr": "sum(irate(grpc_server_handled_total{grpc_code!=\"OK\",grpc_service=~\".*Mixer\"}[1m])) by (grpc_method)",\r
11510           "format": "time_series",\r
11511           "intervalFactor": 2,\r
11512           "legendFormat": "Mixer {{ grpc_method }}",\r
11513           "refId": "B"\r
11514         }\r
11515       ],\r
11516       "thresholds": [],\r
11517       "timeFrom": null,\r
11518       "timeShift": null,\r
11519       "title": "Non-successes (4xxs)",\r
11520       "tooltip": {\r
11521         "shared": true,\r
11522         "sort": 0,\r
11523         "value_type": "individual"\r
11524       },\r
11525       "type": "graph",\r
11526       "xaxis": {\r
11527         "buckets": null,\r
11528         "mode": "time",\r
11529         "name": null,\r
11530         "show": true,\r
11531         "values": []\r
11532       },\r
11533       "yaxes": [\r
11534         {\r
11535           "format": "short",\r
11536           "label": null,\r
11537           "logBase": 1,\r
11538           "max": null,\r
11539           "min": null,\r
11540           "show": true\r
11541         },\r
11542         {\r
11543           "format": "short",\r
11544           "label": null,\r
11545           "logBase": 1,\r
11546           "max": null,\r
11547           "min": null,\r
11548           "show": true\r
11549         }\r
11550       ],\r
11551       "yaxis": {\r
11552         "align": false,\r
11553         "alignLevel": null\r
11554       }\r
11555     },\r
11556     {\r
11557       "content": "<center><h2>Adapters and Config</h2></center>",\r
11558       "gridPos": {\r
11559         "h": 3,\r
11560         "w": 24,\r
11561         "x": 0,\r
11562         "y": 27\r
11563       },\r
11564       "id": 28,\r
11565       "links": [],\r
11566       "mode": "html",\r
11567       "title": "",\r
11568       "transparent": true,\r
11569       "type": "text"\r
11570     },\r
11571     {\r
11572       "aliasColors": {},\r
11573       "bars": false,\r
11574       "dashLength": 10,\r
11575       "dashes": false,\r
11576       "datasource": "Prometheus",\r
11577       "fill": 1,\r
11578       "gridPos": {\r
11579         "h": 7,\r
11580         "w": 12,\r
11581         "x": 0,\r
11582         "y": 30\r
11583       },\r
11584       "id": 13,\r
11585       "legend": {\r
11586         "avg": false,\r
11587         "current": false,\r
11588         "max": false,\r
11589         "min": false,\r
11590         "show": true,\r
11591         "total": false,\r
11592         "values": false\r
11593       },\r
11594       "lines": true,\r
11595       "linewidth": 1,\r
11596       "links": [],\r
11597       "nullPointMode": "null",\r
11598       "percentage": false,\r
11599       "pointradius": 5,\r
11600       "points": false,\r
11601       "renderer": "flot",\r
11602       "seriesOverrides": [],\r
11603       "spaceLength": 10,\r
11604       "stack": false,\r
11605       "steppedLine": false,\r
11606       "targets": [\r
11607         {\r
11608           "expr": "sum(irate(mixer_runtime_dispatches_total{adapter=~\"$adapter\"}[1m])) by (adapter)",\r
11609           "format": "time_series",\r
11610           "intervalFactor": 2,\r
11611           "legendFormat": "{{ adapter }}",\r
11612           "refId": "A"\r
11613         }\r
11614       ],\r
11615       "thresholds": [],\r
11616       "timeFrom": null,\r
11617       "timeShift": null,\r
11618       "title": "Adapter Dispatch Count",\r
11619       "tooltip": {\r
11620         "shared": true,\r
11621         "sort": 0,\r
11622         "value_type": "individual"\r
11623       },\r
11624       "type": "graph",\r
11625       "xaxis": {\r
11626         "buckets": null,\r
11627         "mode": "time",\r
11628         "name": null,\r
11629         "show": true,\r
11630         "values": []\r
11631       },\r
11632       "yaxes": [\r
11633         {\r
11634           "format": "short",\r
11635           "label": null,\r
11636           "logBase": 1,\r
11637           "max": null,\r
11638           "min": null,\r
11639           "show": true\r
11640         },\r
11641         {\r
11642           "format": "short",\r
11643           "label": null,\r
11644           "logBase": 1,\r
11645           "max": null,\r
11646           "min": null,\r
11647           "show": false\r
11648         }\r
11649       ],\r
11650       "yaxis": {\r
11651         "align": false,\r
11652         "alignLevel": null\r
11653       }\r
11654     },\r
11655     {\r
11656       "aliasColors": {},\r
11657       "bars": false,\r
11658       "dashLength": 10,\r
11659       "dashes": false,\r
11660       "datasource": "Prometheus",\r
11661       "fill": 1,\r
11662       "gridPos": {\r
11663         "h": 7,\r
11664         "w": 12,\r
11665         "x": 12,\r
11666         "y": 30\r
11667       },\r
11668       "id": 14,\r
11669       "legend": {\r
11670         "avg": false,\r
11671         "current": false,\r
11672         "max": false,\r
11673         "min": false,\r
11674         "show": true,\r
11675         "total": false,\r
11676         "values": false\r
11677       },\r
11678       "lines": true,\r
11679       "linewidth": 1,\r
11680       "links": [],\r
11681       "nullPointMode": "null",\r
11682       "percentage": false,\r
11683       "pointradius": 5,\r
11684       "points": false,\r
11685       "renderer": "flot",\r
11686       "seriesOverrides": [],\r
11687       "spaceLength": 10,\r
11688       "stack": false,\r
11689       "steppedLine": false,\r
11690       "targets": [\r
11691         {\r
11692           "expr": "histogram_quantile(0.5, sum(irate(mixer_runtime_dispatch_duration_seconds_bucket{adapter=~\"$adapter\"}[1m])) by (adapter, le))",\r
11693           "format": "time_series",\r
11694           "intervalFactor": 2,\r
11695           "legendFormat": "{{ adapter }} - p50",\r
11696           "refId": "A"\r
11697         },\r
11698         {\r
11699           "expr": "histogram_quantile(0.9, sum(irate(mixer_runtime_dispatch_duration_seconds_bucket{adapter=~\"$adapter\"}[1m])) by (adapter, le))",\r
11700           "format": "time_series",\r
11701           "intervalFactor": 2,\r
11702           "legendFormat": "{{ adapter }} - p90 ",\r
11703           "refId": "B"\r
11704         },\r
11705         {\r
11706           "expr": "histogram_quantile(0.99, sum(irate(mixer_runtime_dispatch_duration_seconds_bucket{adapter=~\"$adapter\"}[1m])) by (adapter, le))",\r
11707           "format": "time_series",\r
11708           "intervalFactor": 2,\r
11709           "legendFormat": "{{ adapter }} - p99",\r
11710           "refId": "C"\r
11711         }\r
11712       ],\r
11713       "thresholds": [],\r
11714       "timeFrom": null,\r
11715       "timeShift": null,\r
11716       "title": "Adapter Dispatch Duration",\r
11717       "tooltip": {\r
11718         "shared": true,\r
11719         "sort": 1,\r
11720         "value_type": "individual"\r
11721       },\r
11722       "type": "graph",\r
11723       "xaxis": {\r
11724         "buckets": null,\r
11725         "mode": "time",\r
11726         "name": null,\r
11727         "show": true,\r
11728         "values": []\r
11729       },\r
11730       "yaxes": [\r
11731         {\r
11732           "format": "s",\r
11733           "label": null,\r
11734           "logBase": 1,\r
11735           "max": null,\r
11736           "min": null,\r
11737           "show": true\r
11738         },\r
11739         {\r
11740           "format": "short",\r
11741           "label": null,\r
11742           "logBase": 1,\r
11743           "max": null,\r
11744           "min": null,\r
11745           "show": false\r
11746         }\r
11747       ],\r
11748       "yaxis": {\r
11749         "align": false,\r
11750         "alignLevel": null\r
11751       }\r
11752     },\r
11753     {\r
11754       "aliasColors": {},\r
11755       "bars": false,\r
11756       "dashLength": 10,\r
11757       "dashes": false,\r
11758       "datasource": "Prometheus",\r
11759       "fill": 1,\r
11760       "gridPos": {\r
11761         "h": 7,\r
11762         "w": 6,\r
11763         "x": 0,\r
11764         "y": 37\r
11765       },\r
11766       "id": 60,\r
11767       "legend": {\r
11768         "avg": false,\r
11769         "current": false,\r
11770         "max": false,\r
11771         "min": false,\r
11772         "show": true,\r
11773         "total": false,\r
11774         "values": false\r
11775       },\r
11776       "lines": true,\r
11777       "linewidth": 1,\r
11778       "links": [],\r
11779       "nullPointMode": "null",\r
11780       "percentage": false,\r
11781       "pointradius": 5,\r
11782       "points": false,\r
11783       "renderer": "flot",\r
11784       "seriesOverrides": [],\r
11785       "spaceLength": 10,\r
11786       "stack": false,\r
11787       "steppedLine": false,\r
11788       "targets": [\r
11789         {\r
11790           "expr": "scalar(topk(1, max(mixer_config_rule_config_count) by (configID)))",\r
11791           "format": "time_series",\r
11792           "intervalFactor": 1,\r
11793           "legendFormat": "Rules",\r
11794           "refId": "A"\r
11795         },\r
11796         {\r
11797           "expr": "scalar(topk(1, max(mixer_config_rule_config_error_count) by (configID)))",\r
11798           "format": "time_series",\r
11799           "intervalFactor": 1,\r
11800           "legendFormat": "Config Errors",\r
11801           "refId": "B"\r
11802         },\r
11803         {\r
11804           "expr": "scalar(topk(1, max(mixer_config_rule_config_match_error_count) by (configID)))",\r
11805           "format": "time_series",\r
11806           "intervalFactor": 1,\r
11807           "legendFormat": "Match Errors",\r
11808           "refId": "C"\r
11809         },\r
11810         {\r
11811           "expr": "scalar(topk(1, max(mixer_config_unsatisfied_action_handler_count) by (configID)))",\r
11812           "format": "time_series",\r
11813           "intervalFactor": 1,\r
11814           "legendFormat": "Unsatisfied Actions",\r
11815           "refId": "D"\r
11816         }\r
11817       ],\r
11818       "thresholds": [],\r
11819       "timeFrom": null,\r
11820       "timeShift": null,\r
11821       "title": "Rules",\r
11822       "tooltip": {\r
11823         "shared": true,\r
11824         "sort": 0,\r
11825         "value_type": "individual"\r
11826       },\r
11827       "type": "graph",\r
11828       "xaxis": {\r
11829         "buckets": null,\r
11830         "mode": "time",\r
11831         "name": null,\r
11832         "show": true,\r
11833         "values": []\r
11834       },\r
11835       "yaxes": [\r
11836         {\r
11837           "format": "short",\r
11838           "label": null,\r
11839           "logBase": 1,\r
11840           "max": null,\r
11841           "min": null,\r
11842           "show": true\r
11843         },\r
11844         {\r
11845           "format": "short",\r
11846           "label": null,\r
11847           "logBase": 1,\r
11848           "max": null,\r
11849           "min": null,\r
11850           "show": true\r
11851         }\r
11852       ],\r
11853       "yaxis": {\r
11854         "align": false,\r
11855         "alignLevel": null\r
11856       }\r
11857     },\r
11858     {\r
11859       "aliasColors": {},\r
11860       "bars": false,\r
11861       "dashLength": 10,\r
11862       "dashes": false,\r
11863       "datasource": "Prometheus",\r
11864       "fill": 1,\r
11865       "gridPos": {\r
11866         "h": 7,\r
11867         "w": 6,\r
11868         "x": 6,\r
11869         "y": 37\r
11870       },\r
11871       "id": 56,\r
11872       "legend": {\r
11873         "avg": false,\r
11874         "current": false,\r
11875         "max": false,\r
11876         "min": false,\r
11877         "show": true,\r
11878         "total": false,\r
11879         "values": false\r
11880       },\r
11881       "lines": true,\r
11882       "linewidth": 1,\r
11883       "links": [],\r
11884       "nullPointMode": "null",\r
11885       "percentage": false,\r
11886       "pointradius": 5,\r
11887       "points": false,\r
11888       "renderer": "flot",\r
11889       "seriesOverrides": [],\r
11890       "spaceLength": 10,\r
11891       "stack": false,\r
11892       "steppedLine": false,\r
11893       "targets": [\r
11894         {\r
11895           "expr": "scalar(topk(1, max(mixer_config_instance_config_count) by (configID)))",\r
11896           "format": "time_series",\r
11897           "intervalFactor": 1,\r
11898           "legendFormat": "Instances",\r
11899           "refId": "A"\r
11900         }\r
11901       ],\r
11902       "thresholds": [],\r
11903       "timeFrom": null,\r
11904       "timeShift": null,\r
11905       "title": "Instances in Latest Config",\r
11906       "tooltip": {\r
11907         "shared": true,\r
11908         "sort": 0,\r
11909         "value_type": "individual"\r
11910       },\r
11911       "type": "graph",\r
11912       "xaxis": {\r
11913         "buckets": null,\r
11914         "mode": "time",\r
11915         "name": null,\r
11916         "show": true,\r
11917         "values": []\r
11918       },\r
11919       "yaxes": [\r
11920         {\r
11921           "format": "short",\r
11922           "label": null,\r
11923           "logBase": 1,\r
11924           "max": null,\r
11925           "min": null,\r
11926           "show": true\r
11927         },\r
11928         {\r
11929           "format": "short",\r
11930           "label": null,\r
11931           "logBase": 1,\r
11932           "max": null,\r
11933           "min": null,\r
11934           "show": true\r
11935         }\r
11936       ],\r
11937       "yaxis": {\r
11938         "align": false,\r
11939         "alignLevel": null\r
11940       }\r
11941     },\r
11942     {\r
11943       "aliasColors": {},\r
11944       "bars": false,\r
11945       "dashLength": 10,\r
11946       "dashes": false,\r
11947       "datasource": "Prometheus",\r
11948       "fill": 1,\r
11949       "gridPos": {\r
11950         "h": 7,\r
11951         "w": 6,\r
11952         "x": 12,\r
11953         "y": 37\r
11954       },\r
11955       "id": 54,\r
11956       "legend": {\r
11957         "avg": false,\r
11958         "current": false,\r
11959         "max": false,\r
11960         "min": false,\r
11961         "show": true,\r
11962         "total": false,\r
11963         "values": false\r
11964       },\r
11965       "lines": true,\r
11966       "linewidth": 1,\r
11967       "links": [],\r
11968       "nullPointMode": "null",\r
11969       "percentage": false,\r
11970       "pointradius": 5,\r
11971       "points": false,\r
11972       "renderer": "flot",\r
11973       "seriesOverrides": [],\r
11974       "spaceLength": 10,\r
11975       "stack": false,\r
11976       "steppedLine": false,\r
11977       "targets": [\r
11978         {\r
11979           "expr": "scalar(topk(1, max(mixer_config_handler_config_count) by (configID)))",\r
11980           "format": "time_series",\r
11981           "intervalFactor": 1,\r
11982           "legendFormat": "Handlers",\r
11983           "refId": "A"\r
11984         }\r
11985       ],\r
11986       "thresholds": [],\r
11987       "timeFrom": null,\r
11988       "timeShift": null,\r
11989       "title": "Handlers in Latest Config",\r
11990       "tooltip": {\r
11991         "shared": true,\r
11992         "sort": 0,\r
11993         "value_type": "individual"\r
11994       },\r
11995       "type": "graph",\r
11996       "xaxis": {\r
11997         "buckets": null,\r
11998         "mode": "time",\r
11999         "name": null,\r
12000         "show": true,\r
12001         "values": []\r
12002       },\r
12003       "yaxes": [\r
12004         {\r
12005           "format": "short",\r
12006           "label": null,\r
12007           "logBase": 1,\r
12008           "max": null,\r
12009           "min": null,\r
12010           "show": true\r
12011         },\r
12012         {\r
12013           "format": "short",\r
12014           "label": null,\r
12015           "logBase": 1,\r
12016           "max": null,\r
12017           "min": null,\r
12018           "show": true\r
12019         }\r
12020       ],\r
12021       "yaxis": {\r
12022         "align": false,\r
12023         "alignLevel": null\r
12024       }\r
12025     },\r
12026     {\r
12027       "aliasColors": {},\r
12028       "bars": false,\r
12029       "dashLength": 10,\r
12030       "dashes": false,\r
12031       "datasource": "Prometheus",\r
12032       "fill": 1,\r
12033       "gridPos": {\r
12034         "h": 7,\r
12035         "w": 6,\r
12036         "x": 18,\r
12037         "y": 37\r
12038       },\r
12039       "id": 58,\r
12040       "legend": {\r
12041         "avg": false,\r
12042         "current": false,\r
12043         "max": false,\r
12044         "min": false,\r
12045         "show": true,\r
12046         "total": false,\r
12047         "values": false\r
12048       },\r
12049       "lines": true,\r
12050       "linewidth": 1,\r
12051       "links": [],\r
12052       "nullPointMode": "null",\r
12053       "percentage": false,\r
12054       "pointradius": 5,\r
12055       "points": false,\r
12056       "renderer": "flot",\r
12057       "seriesOverrides": [],\r
12058       "spaceLength": 10,\r
12059       "stack": false,\r
12060       "steppedLine": false,\r
12061       "targets": [\r
12062         {\r
12063           "expr": "scalar(topk(1, max(mixer_config_attribute_count) by (configID)))",\r
12064           "format": "time_series",\r
12065           "instant": false,\r
12066           "intervalFactor": 1,\r
12067           "legendFormat": "Attributes",\r
12068           "refId": "A"\r
12069         }\r
12070       ],\r
12071       "thresholds": [],\r
12072       "timeFrom": null,\r
12073       "timeShift": null,\r
12074       "title": "Attributes in Latest Config",\r
12075       "tooltip": {\r
12076         "shared": true,\r
12077         "sort": 0,\r
12078         "value_type": "individual"\r
12079       },\r
12080       "type": "graph",\r
12081       "xaxis": {\r
12082         "buckets": null,\r
12083         "mode": "time",\r
12084         "name": null,\r
12085         "show": true,\r
12086         "values": []\r
12087       },\r
12088       "yaxes": [\r
12089         {\r
12090           "format": "short",\r
12091           "label": null,\r
12092           "logBase": 1,\r
12093           "max": null,\r
12094           "min": null,\r
12095           "show": true\r
12096         },\r
12097         {\r
12098           "format": "short",\r
12099           "label": null,\r
12100           "logBase": 1,\r
12101           "max": null,\r
12102           "min": null,\r
12103           "show": true\r
12104         }\r
12105       ],\r
12106       "yaxis": {\r
12107         "align": false,\r
12108         "alignLevel": null\r
12109       }\r
12110     },\r
12111     {\r
12112       "content": "<center><h2>Individual Adapters</h2></center>",\r
12113       "gridPos": {\r
12114         "h": 3,\r
12115         "w": 24,\r
12116         "x": 0,\r
12117         "y": 44\r
12118       },\r
12119       "id": 23,\r
12120       "links": [],\r
12121       "mode": "html",\r
12122       "title": "",\r
12123       "transparent": true,\r
12124       "type": "text"\r
12125     },\r
12126     {\r
12127       "collapsed": false,\r
12128       "gridPos": {\r
12129         "h": 1,\r
12130         "w": 24,\r
12131         "x": 0,\r
12132         "y": 47\r
12133       },\r
12134       "id": 46,\r
12135       "panels": [],\r
12136       "repeat": "adapter",\r
12137       "title": "$adapter Adapter",\r
12138       "type": "row"\r
12139     },\r
12140     {\r
12141       "aliasColors": {},\r
12142       "bars": false,\r
12143       "dashLength": 10,\r
12144       "dashes": false,\r
12145       "datasource": "Prometheus",\r
12146       "fill": 1,\r
12147       "gridPos": {\r
12148         "h": 7,\r
12149         "w": 12,\r
12150         "x": 0,\r
12151         "y": 48\r
12152       },\r
12153       "id": 17,\r
12154       "legend": {\r
12155         "avg": false,\r
12156         "current": false,\r
12157         "max": false,\r
12158         "min": false,\r
12159         "show": true,\r
12160         "total": false,\r
12161         "values": false\r
12162       },\r
12163       "lines": true,\r
12164       "linewidth": 1,\r
12165       "links": [],\r
12166       "nullPointMode": "null",\r
12167       "percentage": false,\r
12168       "pointradius": 5,\r
12169       "points": false,\r
12170       "renderer": "flot",\r
12171       "seriesOverrides": [],\r
12172       "spaceLength": 10,\r
12173       "stack": false,\r
12174       "steppedLine": false,\r
12175       "targets": [\r
12176         {\r
12177           "expr": "label_replace(irate(mixer_runtime_dispatches_total{adapter=~\"$adapter\"}[1m]),\"handler\", \"$1 ($3)\", \"handler\", \"(.*)\\\\.(.*)\\\\.(.*)\")",\r
12178           "format": "time_series",\r
12179           "intervalFactor": 2,\r
12180           "legendFormat": "{{ handler }} (error: {{  error }})",\r
12181           "refId": "A"\r
12182         }\r
12183       ],\r
12184       "thresholds": [],\r
12185       "timeFrom": null,\r
12186       "timeShift": null,\r
12187       "title": "Dispatch Count By Handler",\r
12188       "tooltip": {\r
12189         "shared": true,\r
12190         "sort": 0,\r
12191         "value_type": "individual"\r
12192       },\r
12193       "type": "graph",\r
12194       "xaxis": {\r
12195         "buckets": null,\r
12196         "mode": "time",\r
12197         "name": null,\r
12198         "show": true,\r
12199         "values": []\r
12200       },\r
12201       "yaxes": [\r
12202         {\r
12203           "format": "short",\r
12204           "label": null,\r
12205           "logBase": 1,\r
12206           "max": null,\r
12207           "min": null,\r
12208           "show": true\r
12209         },\r
12210         {\r
12211           "format": "short",\r
12212           "label": null,\r
12213           "logBase": 1,\r
12214           "max": null,\r
12215           "min": null,\r
12216           "show": false\r
12217         }\r
12218       ],\r
12219       "yaxis": {\r
12220         "align": false,\r
12221         "alignLevel": null\r
12222       }\r
12223     },\r
12224     {\r
12225       "aliasColors": {},\r
12226       "bars": false,\r
12227       "dashLength": 10,\r
12228       "dashes": false,\r
12229       "datasource": "Prometheus",\r
12230       "fill": 1,\r
12231       "gridPos": {\r
12232         "h": 7,\r
12233         "w": 12,\r
12234         "x": 12,\r
12235         "y": 48\r
12236       },\r
12237       "id": 18,\r
12238       "legend": {\r
12239         "avg": false,\r
12240         "current": false,\r
12241         "max": false,\r
12242         "min": false,\r
12243         "show": true,\r
12244         "total": false,\r
12245         "values": false\r
12246       },\r
12247       "lines": true,\r
12248       "linewidth": 1,\r
12249       "links": [],\r
12250       "nullPointMode": "null",\r
12251       "percentage": false,\r
12252       "pointradius": 5,\r
12253       "points": false,\r
12254       "renderer": "flot",\r
12255       "seriesOverrides": [],\r
12256       "spaceLength": 10,\r
12257       "stack": false,\r
12258       "steppedLine": false,\r
12259       "targets": [\r
12260         {\r
12261           "expr": "label_replace(histogram_quantile(0.5, sum(rate(mixer_runtime_dispatch_duration_seconds_bucket{adapter=~\"$adapter\"}[1m])) by (handler, error, le)),  \"handler_short\", \"$1 ($3)\", \"handler\", \"(.*)\\\\.(.*)\\\\.(.*)\")",\r
12262           "format": "time_series",\r
12263           "intervalFactor": 2,\r
12264           "legendFormat": "p50 - {{ handler_short }} (error: {{ error }})",\r
12265           "refId": "A"\r
12266         },\r
12267         {\r
12268           "expr": "label_replace(histogram_quantile(0.9, sum(irate(mixer_runtime_dispatch_duration_seconds_bucket{adapter=~\"$adapter\"}[1m])) by (handler, error, le)),  \"handler_short\", \"$1 ($3)\", \"handler\", \"(.*)\\\\.(.*)\\\\.(.*)\")",\r
12269           "format": "time_series",\r
12270           "intervalFactor": 2,\r
12271           "legendFormat": "p90 - {{ handler_short }} (error: {{ error }})",\r
12272           "refId": "D"\r
12273         },\r
12274         {\r
12275           "expr": "label_replace(histogram_quantile(0.99, sum(irate(mixer_runtime_dispatch_duration_seconds_bucket{adapter=~\"$adapter\"}[1m])) by (handler, error, le)),  \"handler_short\", \"$1 ($3)\", \"handler\", \"(.*)\\\\.(.*)\\\\.(.*)\")",\r
12276           "format": "time_series",\r
12277           "intervalFactor": 2,\r
12278           "legendFormat": "p99 - {{ handler_short }} (error: {{ error }})",\r
12279           "refId": "E"\r
12280         }\r
12281       ],\r
12282       "thresholds": [],\r
12283       "timeFrom": null,\r
12284       "timeShift": null,\r
12285       "title": "Dispatch Duration By Handler",\r
12286       "tooltip": {\r
12287         "shared": true,\r
12288         "sort": 0,\r
12289         "value_type": "individual"\r
12290       },\r
12291       "type": "graph",\r
12292       "xaxis": {\r
12293         "buckets": null,\r
12294         "mode": "time",\r
12295         "name": null,\r
12296         "show": true,\r
12297         "values": []\r
12298       },\r
12299       "yaxes": [\r
12300         {\r
12301           "format": "s",\r
12302           "label": null,\r
12303           "logBase": 1,\r
12304           "max": null,\r
12305           "min": null,\r
12306           "show": true\r
12307         },\r
12308         {\r
12309           "format": "short",\r
12310           "label": null,\r
12311           "logBase": 1,\r
12312           "max": null,\r
12313           "min": null,\r
12314           "show": true\r
12315         }\r
12316       ],\r
12317       "yaxis": {\r
12318         "align": false,\r
12319         "alignLevel": null\r
12320       }\r
12321     }\r
12322   ],\r
12323   "refresh": "5s",\r
12324   "schemaVersion": 16,\r
12325   "style": "dark",\r
12326   "tags": [],\r
12327   "templating": {\r
12328     "list": [\r
12329       {\r
12330         "allValue": null,\r
12331         "current": {},\r
12332         "datasource": "Prometheus",\r
12333         "hide": 0,\r
12334         "includeAll": true,\r
12335         "label": "Adapter",\r
12336         "multi": true,\r
12337         "name": "adapter",\r
12338         "options": [],\r
12339         "query": "label_values(adapter)",\r
12340         "refresh": 2,\r
12341         "regex": "",\r
12342         "sort": 1,\r
12343         "tagValuesQuery": "",\r
12344         "tags": [],\r
12345         "tagsQuery": "",\r
12346         "type": "query",\r
12347         "useTags": false\r
12348       }\r
12349     ]\r
12350   },\r
12351   "time": {\r
12352     "from": "now-5m",\r
12353     "to": "now"\r
12354   },\r
12355   "timepicker": {\r
12356     "refresh_intervals": [\r
12357       "5s",\r
12358       "10s",\r
12359       "30s",\r
12360       "1m",\r
12361       "5m",\r
12362       "15m",\r
12363       "30m",\r
12364       "1h",\r
12365       "2h",\r
12366       "1d"\r
12367     ],\r
12368     "time_options": [\r
12369       "5m",\r
12370       "15m",\r
12371       "1h",\r
12372       "6h",\r
12373       "12h",\r
12374       "24h",\r
12375       "2d",\r
12376       "7d",\r
12377       "30d"\r
12378     ]\r
12379   },\r
12380   "timezone": "",\r
12381   "title": "Istio Mixer Dashboard",\r
12382   "version": 4\r
12383 }\r
12384 '\r
12385 ---\r
12386 apiVersion: v1\r
12387 kind: ConfigMap\r
12388 metadata:\r
12389   name: istio-grafana-configuration-dashboards-pilot-dashboard\r
12390   namespace: istio-system\r
12391   labels:\r
12392     app: grafana\r
12393     chart: grafana\r
12394     heritage: Tiller\r
12395     release: istio\r
12396     istio: grafana\r
12397 data:\r
12398   pilot-dashboard.json: '{\r
12399   "annotations": {\r
12400     "list": [\r
12401       {\r
12402         "builtIn": 1,\r
12403         "datasource": "-- Grafana --",\r
12404         "enable": true,\r
12405         "hide": true,\r
12406         "iconColor": "rgba(0, 211, 255, 1)",\r
12407         "name": "Annotations & Alerts",\r
12408         "type": "dashboard"\r
12409       }\r
12410     ]\r
12411   },\r
12412   "editable": false,\r
12413   "gnetId": null,\r
12414   "graphTooltip": 1,\r
12415   "id": 6,\r
12416   "links": [],\r
12417   "panels": [\r
12418     {\r
12419       "collapsed": false,\r
12420       "gridPos": {\r
12421         "h": 1,\r
12422         "w": 24,\r
12423         "x": 0,\r
12424         "y": 0\r
12425       },\r
12426       "id": 60,\r
12427       "panels": [],\r
12428       "title": "Deployed Versions",\r
12429       "type": "row"\r
12430     },\r
12431     {\r
12432       "aliasColors": {},\r
12433       "bars": false,\r
12434       "dashLength": 10,\r
12435       "dashes": false,\r
12436       "datasource": "Prometheus",\r
12437       "fill": 1,\r
12438       "gridPos": {\r
12439         "h": 5,\r
12440         "w": 24,\r
12441         "x": 0,\r
12442         "y": 1\r
12443       },\r
12444       "id": 56,\r
12445       "legend": {\r
12446         "avg": false,\r
12447         "current": false,\r
12448         "max": false,\r
12449         "min": false,\r
12450         "show": true,\r
12451         "total": false,\r
12452         "values": false\r
12453       },\r
12454       "lines": true,\r
12455       "linewidth": 1,\r
12456       "links": [],\r
12457       "nullPointMode": "null",\r
12458       "percentage": false,\r
12459       "pointradius": 5,\r
12460       "points": false,\r
12461       "renderer": "flot",\r
12462       "seriesOverrides": [],\r
12463       "spaceLength": 10,\r
12464       "stack": false,\r
12465       "steppedLine": false,\r
12466       "targets": [\r
12467         {\r
12468           "expr": "sum(istio_build{component=\"pilot\"}) by (tag)",\r
12469           "format": "time_series",\r
12470           "intervalFactor": 1,\r
12471           "legendFormat": "{{ tag }}",\r
12472           "refId": "A"\r
12473         }\r
12474       ],\r
12475       "thresholds": [],\r
12476       "timeFrom": null,\r
12477       "timeRegions": [],\r
12478       "timeShift": null,\r
12479       "title": "Pilot Versions",\r
12480       "tooltip": {\r
12481         "shared": true,\r
12482         "sort": 0,\r
12483         "value_type": "individual"\r
12484       },\r
12485       "type": "graph",\r
12486       "xaxis": {\r
12487         "buckets": null,\r
12488         "mode": "time",\r
12489         "name": null,\r
12490         "show": true,\r
12491         "values": []\r
12492       },\r
12493       "yaxes": [\r
12494         {\r
12495           "format": "short",\r
12496           "label": null,\r
12497           "logBase": 1,\r
12498           "max": null,\r
12499           "min": null,\r
12500           "show": true\r
12501         },\r
12502         {\r
12503           "format": "short",\r
12504           "label": null,\r
12505           "logBase": 1,\r
12506           "max": null,\r
12507           "min": null,\r
12508           "show": false\r
12509         }\r
12510       ],\r
12511       "yaxis": {\r
12512         "align": false,\r
12513         "alignLevel": null\r
12514       }\r
12515     },\r
12516     {\r
12517       "collapsed": false,\r
12518       "gridPos": {\r
12519         "h": 1,\r
12520         "w": 24,\r
12521         "x": 0,\r
12522         "y": 6\r
12523       },\r
12524       "id": 62,\r
12525       "panels": [],\r
12526       "title": "Resource Usage",\r
12527       "type": "row"\r
12528     },\r
12529     {\r
12530       "aliasColors": {},\r
12531       "bars": false,\r
12532       "dashLength": 10,\r
12533       "dashes": false,\r
12534       "datasource": "Prometheus",\r
12535       "fill": 1,\r
12536       "gridPos": {\r
12537         "h": 7,\r
12538         "w": 6,\r
12539         "x": 0,\r
12540         "y": 7\r
12541       },\r
12542       "id": 5,\r
12543       "legend": {\r
12544         "avg": false,\r
12545         "current": false,\r
12546         "max": false,\r
12547         "min": false,\r
12548         "show": true,\r
12549         "total": false,\r
12550         "values": false\r
12551       },\r
12552       "lines": true,\r
12553       "linewidth": 1,\r
12554       "links": [],\r
12555       "nullPointMode": "null",\r
12556       "percentage": false,\r
12557       "pointradius": 5,\r
12558       "points": false,\r
12559       "renderer": "flot",\r
12560       "seriesOverrides": [],\r
12561       "spaceLength": 10,\r
12562       "stack": false,\r
12563       "steppedLine": false,\r
12564       "targets": [\r
12565         {\r
12566           "expr": "process_virtual_memory_bytes{job=\"pilot\"}",\r
12567           "format": "time_series",\r
12568           "instant": false,\r
12569           "intervalFactor": 2,\r
12570           "legendFormat": "Virtual Memory",\r
12571           "refId": "I",\r
12572           "step": 2\r
12573         },\r
12574         {\r
12575           "expr": "process_resident_memory_bytes{job=\"pilot\"}",\r
12576           "format": "time_series",\r
12577           "intervalFactor": 2,\r
12578           "legendFormat": "Resident Memory",\r
12579           "refId": "H",\r
12580           "step": 2\r
12581         },\r
12582         {\r
12583           "expr": "go_memstats_heap_sys_bytes{job=\"pilot\"}",\r
12584           "format": "time_series",\r
12585           "hide": true,\r
12586           "intervalFactor": 2,\r
12587           "legendFormat": "heap sys",\r
12588           "refId": "A"\r
12589         },\r
12590         {\r
12591           "expr": "go_memstats_heap_alloc_bytes{job=\"pilot\"}",\r
12592           "format": "time_series",\r
12593           "hide": true,\r
12594           "intervalFactor": 2,\r
12595           "legendFormat": "heap alloc",\r
12596           "refId": "D"\r
12597         },\r
12598         {\r
12599           "expr": "go_memstats_alloc_bytes{job=\"pilot\"}",\r
12600           "format": "time_series",\r
12601           "intervalFactor": 2,\r
12602           "legendFormat": "Alloc",\r
12603           "refId": "F",\r
12604           "step": 2\r
12605         },\r
12606         {\r
12607           "expr": "go_memstats_heap_inuse_bytes{job=\"pilot\"}",\r
12608           "format": "time_series",\r
12609           "hide": false,\r
12610           "intervalFactor": 2,\r
12611           "legendFormat": "Heap in-use",\r
12612           "refId": "E",\r
12613           "step": 2\r
12614         },\r
12615         {\r
12616           "expr": "go_memstats_stack_inuse_bytes{job=\"pilot\"}",\r
12617           "format": "time_series",\r
12618           "intervalFactor": 2,\r
12619           "legendFormat": "Stack in-use",\r
12620           "refId": "G",\r
12621           "step": 2\r
12622         },\r
12623         {\r
12624           "expr": "sum(container_memory_usage_bytes{container_name=~\"discovery|istio-proxy\", pod_name=~\"istio-pilot-.*\"})",\r
12625           "format": "time_series",\r
12626           "hide": false,\r
12627           "intervalFactor": 2,\r
12628           "legendFormat": "Total (k8s)",\r
12629           "refId": "C",\r
12630           "step": 2\r
12631         },\r
12632         {\r
12633           "expr": "container_memory_usage_bytes{container_name=~\"discovery|istio-proxy\", pod_name=~\"istio-pilot-.*\"}",\r
12634           "format": "time_series",\r
12635           "hide": false,\r
12636           "intervalFactor": 2,\r
12637           "legendFormat": "{{ container_name }} (k8s)",\r
12638           "refId": "B",\r
12639           "step": 2\r
12640         }\r
12641       ],\r
12642       "thresholds": [],\r
12643       "timeFrom": null,\r
12644       "timeRegions": [],\r
12645       "timeShift": null,\r
12646       "title": "Memory",\r
12647       "tooltip": {\r
12648         "shared": true,\r
12649         "sort": 0,\r
12650         "value_type": "individual"\r
12651       },\r
12652       "type": "graph",\r
12653       "xaxis": {\r
12654         "buckets": null,\r
12655         "mode": "time",\r
12656         "name": null,\r
12657         "show": true,\r
12658         "values": []\r
12659       },\r
12660       "yaxes": [\r
12661         {\r
12662           "format": "bytes",\r
12663           "label": null,\r
12664           "logBase": 1,\r
12665           "max": null,\r
12666           "min": null,\r
12667           "show": true\r
12668         },\r
12669         {\r
12670           "format": "short",\r
12671           "label": null,\r
12672           "logBase": 1,\r
12673           "max": null,\r
12674           "min": null,\r
12675           "show": false\r
12676         }\r
12677       ],\r
12678       "yaxis": {\r
12679         "align": false,\r
12680         "alignLevel": null\r
12681       }\r
12682     },\r
12683     {\r
12684       "aliasColors": {},\r
12685       "bars": false,\r
12686       "dashLength": 10,\r
12687       "dashes": false,\r
12688       "datasource": "Prometheus",\r
12689       "fill": 1,\r
12690       "gridPos": {\r
12691         "h": 7,\r
12692         "w": 6,\r
12693         "x": 6,\r
12694         "y": 7\r
12695       },\r
12696       "id": 6,\r
12697       "legend": {\r
12698         "avg": false,\r
12699         "current": false,\r
12700         "max": false,\r
12701         "min": false,\r
12702         "show": true,\r
12703         "total": false,\r
12704         "values": false\r
12705       },\r
12706       "lines": true,\r
12707       "linewidth": 1,\r
12708       "links": [],\r
12709       "nullPointMode": "null",\r
12710       "percentage": false,\r
12711       "pointradius": 5,\r
12712       "points": false,\r
12713       "renderer": "flot",\r
12714       "seriesOverrides": [],\r
12715       "spaceLength": 10,\r
12716       "stack": false,\r
12717       "steppedLine": false,\r
12718       "targets": [\r
12719         {\r
12720           "expr": "sum(rate(container_cpu_usage_seconds_total{job=\"kubernetes-cadvisor\",container_name=~\"discovery|istio-proxy\", pod_name=~\"istio-pilot-.*\"}[1m]))",\r
12721           "format": "time_series",\r
12722           "hide": false,\r
12723           "intervalFactor": 2,\r
12724           "legendFormat": "Total (k8s)",\r
12725           "refId": "A",\r
12726           "step": 2\r
12727         },\r
12728         {\r
12729           "expr": "sum(rate(container_cpu_usage_seconds_total{job=\"kubernetes-cadvisor\",container_name=~\"discovery|istio-proxy\", pod_name=~\"istio-pilot-.*\"}[1m])) by (container_name)",\r
12730           "format": "time_series",\r
12731           "hide": false,\r
12732           "intervalFactor": 2,\r
12733           "legendFormat": "{{ container_name }} (k8s)",\r
12734           "refId": "B",\r
12735           "step": 2\r
12736         },\r
12737         {\r
12738           "expr": "irate(process_cpu_seconds_total{job=\"pilot\"}[1m])",\r
12739           "format": "time_series",\r
12740           "hide": false,\r
12741           "intervalFactor": 2,\r
12742           "legendFormat": "pilot (self-reported)",\r
12743           "refId": "C",\r
12744           "step": 2\r
12745         }\r
12746       ],\r
12747       "thresholds": [],\r
12748       "timeFrom": null,\r
12749       "timeRegions": [],\r
12750       "timeShift": null,\r
12751       "title": "CPU",\r
12752       "tooltip": {\r
12753         "shared": true,\r
12754         "sort": 0,\r
12755         "value_type": "individual"\r
12756       },\r
12757       "type": "graph",\r
12758       "xaxis": {\r
12759         "buckets": null,\r
12760         "mode": "time",\r
12761         "name": null,\r
12762         "show": true,\r
12763         "values": []\r
12764       },\r
12765       "yaxes": [\r
12766         {\r
12767           "format": "short",\r
12768           "label": null,\r
12769           "logBase": 1,\r
12770           "max": null,\r
12771           "min": null,\r
12772           "show": true\r
12773         },\r
12774         {\r
12775           "format": "short",\r
12776           "label": null,\r
12777           "logBase": 1,\r
12778           "max": null,\r
12779           "min": null,\r
12780           "show": true\r
12781         }\r
12782       ],\r
12783       "yaxis": {\r
12784         "align": false,\r
12785         "alignLevel": null\r
12786       }\r
12787     },\r
12788     {\r
12789       "aliasColors": {},\r
12790       "bars": false,\r
12791       "dashLength": 10,\r
12792       "dashes": false,\r
12793       "datasource": "Prometheus",\r
12794       "fill": 1,\r
12795       "gridPos": {\r
12796         "h": 7,\r
12797         "w": 6,\r
12798         "x": 12,\r
12799         "y": 7\r
12800       },\r
12801       "id": 7,\r
12802       "legend": {\r
12803         "avg": false,\r
12804         "current": false,\r
12805         "max": false,\r
12806         "min": false,\r
12807         "show": true,\r
12808         "total": false,\r
12809         "values": false\r
12810       },\r
12811       "lines": true,\r
12812       "linewidth": 1,\r
12813       "links": [],\r
12814       "nullPointMode": "null",\r
12815       "percentage": false,\r
12816       "pointradius": 5,\r
12817       "points": false,\r
12818       "renderer": "flot",\r
12819       "seriesOverrides": [],\r
12820       "spaceLength": 10,\r
12821       "stack": false,\r
12822       "steppedLine": false,\r
12823       "targets": [\r
12824         {\r
12825           "expr": "process_open_fds{job=\"pilot\"}",\r
12826           "format": "time_series",\r
12827           "hide": true,\r
12828           "instant": false,\r
12829           "interval": "",\r
12830           "intervalFactor": 2,\r
12831           "legendFormat": "Open FDs (pilot)",\r
12832           "refId": "A"\r
12833         },\r
12834         {\r
12835           "expr": "container_fs_usage_bytes{container_name=~\"discovery|istio-proxy\", pod_name=~\"istio-pilot-.*\"}",\r
12836           "format": "time_series",\r
12837           "intervalFactor": 2,\r
12838           "legendFormat": "{{ container_name }}",\r
12839           "refId": "B",\r
12840           "step": 2\r
12841         }\r
12842       ],\r
12843       "thresholds": [],\r
12844       "timeFrom": null,\r
12845       "timeRegions": [],\r
12846       "timeShift": null,\r
12847       "title": "Disk",\r
12848       "tooltip": {\r
12849         "shared": true,\r
12850         "sort": 0,\r
12851         "value_type": "individual"\r
12852       },\r
12853       "type": "graph",\r
12854       "xaxis": {\r
12855         "buckets": null,\r
12856         "mode": "time",\r
12857         "name": null,\r
12858         "show": true,\r
12859         "values": []\r
12860       },\r
12861       "yaxes": [\r
12862         {\r
12863           "format": "bytes",\r
12864           "label": "",\r
12865           "logBase": 1,\r
12866           "max": null,\r
12867           "min": null,\r
12868           "show": true\r
12869         },\r
12870         {\r
12871           "decimals": null,\r
12872           "format": "none",\r
12873           "label": "",\r
12874           "logBase": 1024,\r
12875           "max": null,\r
12876           "min": null,\r
12877           "show": false\r
12878         }\r
12879       ],\r
12880       "yaxis": {\r
12881         "align": false,\r
12882         "alignLevel": null\r
12883       }\r
12884     },\r
12885     {\r
12886       "aliasColors": {},\r
12887       "bars": false,\r
12888       "dashLength": 10,\r
12889       "dashes": false,\r
12890       "datasource": "Prometheus",\r
12891       "fill": 1,\r
12892       "gridPos": {\r
12893         "h": 7,\r
12894         "w": 6,\r
12895         "x": 18,\r
12896         "y": 7\r
12897       },\r
12898       "id": 4,\r
12899       "legend": {\r
12900         "avg": false,\r
12901         "current": false,\r
12902         "max": false,\r
12903         "min": false,\r
12904         "show": false,\r
12905         "total": false,\r
12906         "values": false\r
12907       },\r
12908       "lines": true,\r
12909       "linewidth": 1,\r
12910       "links": [],\r
12911       "nullPointMode": "null",\r
12912       "percentage": false,\r
12913       "pointradius": 5,\r
12914       "points": false,\r
12915       "renderer": "flot",\r
12916       "seriesOverrides": [],\r
12917       "spaceLength": 10,\r
12918       "stack": false,\r
12919       "steppedLine": false,\r
12920       "targets": [\r
12921         {\r
12922           "expr": "go_goroutines{job=\"pilot\"}",\r
12923           "format": "time_series",\r
12924           "intervalFactor": 2,\r
12925           "legendFormat": "Number of Goroutines",\r
12926           "refId": "A",\r
12927           "step": 2\r
12928         }\r
12929       ],\r
12930       "thresholds": [],\r
12931       "timeFrom": null,\r
12932       "timeRegions": [],\r
12933       "timeShift": null,\r
12934       "title": "Goroutines",\r
12935       "tooltip": {\r
12936         "shared": true,\r
12937         "sort": 0,\r
12938         "value_type": "individual"\r
12939       },\r
12940       "type": "graph",\r
12941       "xaxis": {\r
12942         "buckets": null,\r
12943         "mode": "time",\r
12944         "name": null,\r
12945         "show": true,\r
12946         "values": []\r
12947       },\r
12948       "yaxes": [\r
12949         {\r
12950           "format": "short",\r
12951           "label": "",\r
12952           "logBase": 1,\r
12953           "max": null,\r
12954           "min": null,\r
12955           "show": true\r
12956         },\r
12957         {\r
12958           "format": "short",\r
12959           "label": null,\r
12960           "logBase": 1,\r
12961           "max": null,\r
12962           "min": null,\r
12963           "show": true\r
12964         }\r
12965       ],\r
12966       "yaxis": {\r
12967         "align": false,\r
12968         "alignLevel": null\r
12969       }\r
12970     },\r
12971     {\r
12972       "collapsed": false,\r
12973       "gridPos": {\r
12974         "h": 1,\r
12975         "w": 24,\r
12976         "x": 0,\r
12977         "y": 14\r
12978       },\r
12979       "id": 58,\r
12980       "panels": [],\r
12981       "title": "Pilot Push Information",\r
12982       "type": "row"\r
12983     },\r
12984     {\r
12985       "aliasColors": {},\r
12986       "bars": true,\r
12987       "dashLength": 10,\r
12988       "dashes": false,\r
12989       "description": "Shows pilot pushes",\r
12990       "fill": 1,\r
12991       "gridPos": {\r
12992         "h": 8,\r
12993         "w": 12,\r
12994         "x": 0,\r
12995         "y": 15\r
12996       },\r
12997       "id": 622,\r
12998       "legend": {\r
12999         "avg": false,\r
13000         "current": false,\r
13001         "max": false,\r
13002         "min": false,\r
13003         "show": true,\r
13004         "total": false,\r
13005         "values": false\r
13006       },\r
13007       "lines": false,\r
13008       "linewidth": 1,\r
13009       "links": [],\r
13010       "nullPointMode": "null as zero",\r
13011       "paceLength": 10,\r
13012       "percentage": false,\r
13013       "pointradius": 5,\r
13014       "points": false,\r
13015       "renderer": "flot",\r
13016       "seriesOverrides": [],\r
13017       "spaceLength": 10,\r
13018       "stack": true,\r
13019       "steppedLine": false,\r
13020       "targets": [\r
13021         {\r
13022           "expr": "sum(rate(pilot_xds_pushes{type!~\".*_senderr\"}[1m])) by (type)",\r
13023           "format": "time_series",\r
13024           "instant": false,\r
13025           "interval": "",\r
13026           "intervalFactor": 1,\r
13027           "legendFormat": "{{ type }}",\r
13028           "refId": "B",\r
13029           "step": 2\r
13030         }\r
13031       ],\r
13032       "thresholds": [],\r
13033       "timeFrom": null,\r
13034       "timeRegions": [],\r
13035       "timeShift": null,\r
13036       "title": "Pilot Pushes",\r
13037       "tooltip": {\r
13038         "shared": false,\r
13039         "sort": 0,\r
13040         "value_type": "individual"\r
13041       },\r
13042       "type": "graph",\r
13043       "xaxis": {\r
13044         "buckets": null,\r
13045         "mode": "time",\r
13046         "name": null,\r
13047         "show": true,\r
13048         "values": [\r
13049           "total"\r
13050         ]\r
13051       },\r
13052       "yaxes": [\r
13053         {\r
13054           "format": "ops",\r
13055           "label": null,\r
13056           "logBase": 1,\r
13057           "max": null,\r
13058           "min": "0",\r
13059           "show": true\r
13060         },\r
13061         {\r
13062           "format": "short",\r
13063           "label": null,\r
13064           "logBase": 1,\r
13065           "max": null,\r
13066           "min": null,\r
13067           "show": false\r
13068         }\r
13069       ],\r
13070       "yaxis": {\r
13071         "align": false,\r
13072         "alignLevel": null\r
13073       }\r
13074     },\r
13075     {\r
13076       "aliasColors": {},\r
13077       "bars": false,\r
13078       "dashLength": 10,\r
13079       "dashes": false,\r
13080       "datasource": "Prometheus",\r
13081       "description": "Captures a variety of pilot errors",\r
13082       "fill": 1,\r
13083       "gridPos": {\r
13084         "h": 8,\r
13085         "w": 12,\r
13086         "x": 12,\r
13087         "y": 15\r
13088       },\r
13089       "id": 67,\r
13090       "legend": {\r
13091         "avg": false,\r
13092         "current": false,\r
13093         "max": false,\r
13094         "min": false,\r
13095         "show": true,\r
13096         "total": false,\r
13097         "values": false\r
13098       },\r
13099       "lines": true,\r
13100       "linewidth": 1,\r
13101       "links": [],\r
13102       "nullPointMode": "null",\r
13103       "percentage": false,\r
13104       "pointradius": 5,\r
13105       "points": false,\r
13106       "renderer": "flot",\r
13107       "seriesOverrides": [],\r
13108       "spaceLength": 10,\r
13109       "stack": false,\r
13110       "steppedLine": false,\r
13111       "targets": [\r
13112         {\r
13113           "expr": "label_replace(sum(pilot_xds_cds_reject{job=\"pilot\"}) by (node, err), \"node\", \"$1\", \"node\", \".*~.*~(.*)~.*\")",\r
13114           "format": "time_series",\r
13115           "hide": false,\r
13116           "intervalFactor": 1,\r
13117           "legendFormat": "Rejected CDS Configs - {{ node }}: {{ err }}",\r
13118           "refId": "C"\r
13119         },\r
13120         {\r
13121           "expr": "pilot_xds_eds_reject{job=\"pilot\"}",\r
13122           "format": "time_series",\r
13123           "hide": false,\r
13124           "intervalFactor": 1,\r
13125           "legendFormat": "Rejected EDS Configs",\r
13126           "refId": "D"\r
13127         },\r
13128         {\r
13129           "expr": "rate(pilot_xds_write_timeout{job=\"pilot\"}[1m])",\r
13130           "format": "time_series",\r
13131           "intervalFactor": 1,\r
13132           "legendFormat": "Write Timeouts",\r
13133           "refId": "F"\r
13134         },\r
13135         {\r
13136           "expr": "rate(pilot_xds_push_timeout{job=\"pilot\"}[1m])",\r
13137           "format": "time_series",\r
13138           "intervalFactor": 1,\r
13139           "legendFormat": "Push Timeouts",\r
13140           "refId": "G"\r
13141         },\r
13142         {\r
13143           "expr": "sum(rate(pilot_xds_push_errors{job=\"pilot\"}[1m]))",\r
13144           "format": "time_series",\r
13145           "hide": false,\r
13146           "intervalFactor": 1,\r
13147           "legendFormat": "Push Errors ({{ type }})",\r
13148           "refId": "I"\r
13149         }\r
13150       ],\r
13151       "thresholds": [],\r
13152       "timeFrom": null,\r
13153       "timeRegions": [],\r
13154       "timeShift": null,\r
13155       "title": "Pilot Errors",\r
13156       "tooltip": {\r
13157         "shared": true,\r
13158         "sort": 0,\r
13159         "value_type": "individual"\r
13160       },\r
13161       "type": "graph",\r
13162       "xaxis": {\r
13163         "buckets": null,\r
13164         "mode": "time",\r
13165         "name": null,\r
13166         "show": true,\r
13167         "values": []\r
13168       },\r
13169       "yaxes": [\r
13170         {\r
13171           "format": "short",\r
13172           "label": null,\r
13173           "logBase": 1,\r
13174           "max": null,\r
13175           "min": null,\r
13176           "show": true\r
13177         },\r
13178         {\r
13179           "format": "short",\r
13180           "label": null,\r
13181           "logBase": 1,\r
13182           "max": null,\r
13183           "min": null,\r
13184           "show": true\r
13185         }\r
13186       ],\r
13187       "yaxis": {\r
13188         "align": false,\r
13189         "alignLevel": null\r
13190       }\r
13191     },\r
13192     {\r
13193       "collapsed": false,\r
13194       "gridPos": {\r
13195         "h": 1,\r
13196         "w": 24,\r
13197         "x": 0,\r
13198         "y": 23\r
13199       },\r
13200       "id": 64,\r
13201       "panels": [],\r
13202       "title": "xDS",\r
13203       "type": "row"\r
13204     },\r
13205     {\r
13206       "aliasColors": {},\r
13207       "bars": false,\r
13208       "dashLength": 10,\r
13209       "dashes": false,\r
13210       "datasource": "Prometheus",\r
13211       "fill": 1,\r
13212       "gridPos": {\r
13213         "h": 6,\r
13214         "w": 8,\r
13215         "x": 0,\r
13216         "y": 24\r
13217       },\r
13218       "id": 40,\r
13219       "legend": {\r
13220         "avg": false,\r
13221         "current": false,\r
13222         "max": false,\r
13223         "min": false,\r
13224         "show": true,\r
13225         "total": false,\r
13226         "values": false\r
13227       },\r
13228       "lines": true,\r
13229       "linewidth": 1,\r
13230       "links": [],\r
13231       "nullPointMode": "null",\r
13232       "percentage": false,\r
13233       "pointradius": 5,\r
13234       "points": false,\r
13235       "renderer": "flot",\r
13236       "seriesOverrides": [],\r
13237       "spaceLength": 10,\r
13238       "stack": false,\r
13239       "steppedLine": false,\r
13240       "targets": [\r
13241         {\r
13242           "expr": "sum(irate(envoy_cluster_update_success{cluster_name=\"xds-grpc\"}[1m]))",\r
13243           "format": "time_series",\r
13244           "hide": false,\r
13245           "intervalFactor": 1,\r
13246           "legendFormat": "XDS GRPC Successes",\r
13247           "refId": "C"\r
13248         }\r
13249       ],\r
13250       "thresholds": [],\r
13251       "timeFrom": null,\r
13252       "timeRegions": [],\r
13253       "timeShift": null,\r
13254       "title": "Updates",\r
13255       "tooltip": {\r
13256         "shared": true,\r
13257         "sort": 0,\r
13258         "value_type": "individual"\r
13259       },\r
13260       "type": "graph",\r
13261       "xaxis": {\r
13262         "buckets": null,\r
13263         "mode": "time",\r
13264         "name": null,\r
13265         "show": true,\r
13266         "values": []\r
13267       },\r
13268       "yaxes": [\r
13269         {\r
13270           "format": "ops",\r
13271           "label": null,\r
13272           "logBase": 1,\r
13273           "max": null,\r
13274           "min": null,\r
13275           "show": true\r
13276         },\r
13277         {\r
13278           "format": "ops",\r
13279           "label": null,\r
13280           "logBase": 1,\r
13281           "max": null,\r
13282           "min": null,\r
13283           "show": false\r
13284         }\r
13285       ],\r
13286       "yaxis": {\r
13287         "align": false,\r
13288         "alignLevel": null\r
13289       }\r
13290     },\r
13291     {\r
13292       "aliasColors": {},\r
13293       "bars": false,\r
13294       "dashLength": 10,\r
13295       "dashes": false,\r
13296       "datasource": "Prometheus",\r
13297       "fill": 1,\r
13298       "gridPos": {\r
13299         "h": 6,\r
13300         "w": 8,\r
13301         "x": 8,\r
13302         "y": 24\r
13303       },\r
13304       "id": 42,\r
13305       "legend": {\r
13306         "avg": false,\r
13307         "current": false,\r
13308         "max": false,\r
13309         "min": false,\r
13310         "show": true,\r
13311         "total": false,\r
13312         "values": false\r
13313       },\r
13314       "lines": true,\r
13315       "linewidth": 1,\r
13316       "links": [],\r
13317       "nullPointMode": "null",\r
13318       "percentage": false,\r
13319       "pointradius": 5,\r
13320       "points": false,\r
13321       "renderer": "flot",\r
13322       "seriesOverrides": [],\r
13323       "spaceLength": 10,\r
13324       "stack": false,\r
13325       "steppedLine": false,\r
13326       "targets": [\r
13327         {\r
13328           "expr": "round(sum(rate(envoy_cluster_update_attempt{cluster_name=\"xds-grpc\"}[1m])) - sum(rate(envoy_cluster_update_success{cluster_name=\"xds-grpc\"}[1m])))",\r
13329           "format": "time_series",\r
13330           "intervalFactor": 2,\r
13331           "legendFormat": "XDS GRPC ",\r
13332           "refId": "A",\r
13333           "step": 2\r
13334         }\r
13335       ],\r
13336       "thresholds": [],\r
13337       "timeFrom": null,\r
13338       "timeRegions": [],\r
13339       "timeShift": null,\r
13340       "title": "Failures",\r
13341       "tooltip": {\r
13342         "shared": true,\r
13343         "sort": 0,\r
13344         "value_type": "individual"\r
13345       },\r
13346       "type": "graph",\r
13347       "xaxis": {\r
13348         "buckets": null,\r
13349         "mode": "time",\r
13350         "name": null,\r
13351         "show": true,\r
13352         "values": []\r
13353       },\r
13354       "yaxes": [\r
13355         {\r
13356           "format": "ops",\r
13357           "label": null,\r
13358           "logBase": 1,\r
13359           "max": null,\r
13360           "min": null,\r
13361           "show": true\r
13362         },\r
13363         {\r
13364           "format": "short",\r
13365           "label": null,\r
13366           "logBase": 1,\r
13367           "max": null,\r
13368           "min": null,\r
13369           "show": false\r
13370         }\r
13371       ],\r
13372       "yaxis": {\r
13373         "align": false,\r
13374         "alignLevel": null\r
13375       }\r
13376     },\r
13377     {\r
13378       "aliasColors": {},\r
13379       "bars": false,\r
13380       "dashLength": 10,\r
13381       "dashes": false,\r
13382       "datasource": "Prometheus",\r
13383       "fill": 1,\r
13384       "gridPos": {\r
13385         "h": 6,\r
13386         "w": 8,\r
13387         "x": 16,\r
13388         "y": 24\r
13389       },\r
13390       "id": 41,\r
13391       "legend": {\r
13392         "avg": false,\r
13393         "current": false,\r
13394         "max": false,\r
13395         "min": false,\r
13396         "show": true,\r
13397         "total": false,\r
13398         "values": false\r
13399       },\r
13400       "lines": true,\r
13401       "linewidth": 1,\r
13402       "links": [],\r
13403       "nullPointMode": "null",\r
13404       "percentage": false,\r
13405       "pointradius": 5,\r
13406       "points": false,\r
13407       "renderer": "flot",\r
13408       "seriesOverrides": [],\r
13409       "spaceLength": 10,\r
13410       "stack": false,\r
13411       "steppedLine": false,\r
13412       "targets": [\r
13413         {\r
13414           "expr": "sum(envoy_cluster_upstream_cx_active{cluster_name=\"xds-grpc\"})",\r
13415           "format": "time_series",\r
13416           "intervalFactor": 2,\r
13417           "legendFormat": "Pilot (XDS GRPC)",\r
13418           "refId": "C",\r
13419           "step": 2\r
13420         }\r
13421       ],\r
13422       "thresholds": [],\r
13423       "timeFrom": null,\r
13424       "timeRegions": [],\r
13425       "timeShift": null,\r
13426       "title": "Active Connections",\r
13427       "tooltip": {\r
13428         "shared": true,\r
13429         "sort": 0,\r
13430         "value_type": "individual"\r
13431       },\r
13432       "type": "graph",\r
13433       "xaxis": {\r
13434         "buckets": null,\r
13435         "mode": "time",\r
13436         "name": null,\r
13437         "show": true,\r
13438         "values": []\r
13439       },\r
13440       "yaxes": [\r
13441         {\r
13442           "format": "short",\r
13443           "label": null,\r
13444           "logBase": 1,\r
13445           "max": null,\r
13446           "min": null,\r
13447           "show": true\r
13448         },\r
13449         {\r
13450           "format": "short",\r
13451           "label": null,\r
13452           "logBase": 1,\r
13453           "max": null,\r
13454           "min": null,\r
13455           "show": true\r
13456         }\r
13457       ],\r
13458       "yaxis": {\r
13459         "align": false,\r
13460         "alignLevel": null\r
13461       }\r
13462     },\r
13463     {\r
13464       "aliasColors": {},\r
13465       "bars": false,\r
13466       "dashLength": 10,\r
13467       "dashes": false,\r
13468       "datasource": "Prometheus",\r
13469       "fill": 1,\r
13470       "gridPos": {\r
13471         "h": 8,\r
13472         "w": 8,\r
13473         "x": 0,\r
13474         "y": 30\r
13475       },\r
13476       "id": 45,\r
13477       "legend": {\r
13478         "avg": false,\r
13479         "current": false,\r
13480         "max": false,\r
13481         "min": false,\r
13482         "show": true,\r
13483         "total": false,\r
13484         "values": false\r
13485       },\r
13486       "lines": true,\r
13487       "linewidth": 1,\r
13488       "links": [],\r
13489       "nullPointMode": "null",\r
13490       "percentage": false,\r
13491       "pointradius": 5,\r
13492       "points": false,\r
13493       "renderer": "flot",\r
13494       "seriesOverrides": [],\r
13495       "spaceLength": 10,\r
13496       "stack": false,\r
13497       "steppedLine": false,\r
13498       "targets": [\r
13499         {\r
13500           "expr": "pilot_conflict_inbound_listener{job=\"pilot\"}",\r
13501           "format": "time_series",\r
13502           "intervalFactor": 1,\r
13503           "legendFormat": "Inbound Listeners",\r
13504           "refId": "B"\r
13505         },\r
13506         {\r
13507           "expr": "pilot_conflict_outbound_listener_http_over_current_tcp{job=\"pilot\"}",\r
13508           "format": "time_series",\r
13509           "intervalFactor": 1,\r
13510           "legendFormat": "Outbound Listeners (http over current tcp)",\r
13511           "refId": "A"\r
13512         },\r
13513         {\r
13514           "expr": "pilot_conflict_outbound_listener_tcp_over_current_tcp{job=\"pilot\"}",\r
13515           "format": "time_series",\r
13516           "intervalFactor": 1,\r
13517           "legendFormat": "Outbound Listeners (tcp over current tcp)",\r
13518           "refId": "C"\r
13519         },\r
13520         {\r
13521           "expr": "pilot_conflict_outbound_listener_tcp_over_current_http{job=\"pilot\"}",\r
13522           "format": "time_series",\r
13523           "intervalFactor": 1,\r
13524           "legendFormat": "Outbound Listeners (tcp over current http)",\r
13525           "refId": "D"\r
13526         }\r
13527       ],\r
13528       "thresholds": [],\r
13529       "timeFrom": null,\r
13530       "timeRegions": [],\r
13531       "timeShift": null,\r
13532       "title": "Conflicts",\r
13533       "tooltip": {\r
13534         "shared": true,\r
13535         "sort": 0,\r
13536         "value_type": "individual"\r
13537       },\r
13538       "type": "graph",\r
13539       "xaxis": {\r
13540         "buckets": null,\r
13541         "mode": "time",\r
13542         "name": null,\r
13543         "show": true,\r
13544         "values": []\r
13545       },\r
13546       "yaxes": [\r
13547         {\r
13548           "format": "short",\r
13549           "label": null,\r
13550           "logBase": 1,\r
13551           "max": null,\r
13552           "min": null,\r
13553           "show": true\r
13554         },\r
13555         {\r
13556           "format": "short",\r
13557           "label": null,\r
13558           "logBase": 1,\r
13559           "max": null,\r
13560           "min": null,\r
13561           "show": true\r
13562         }\r
13563       ],\r
13564       "yaxis": {\r
13565         "align": false,\r
13566         "alignLevel": null\r
13567       }\r
13568     },\r
13569     {\r
13570       "aliasColors": {},\r
13571       "bars": false,\r
13572       "dashLength": 10,\r
13573       "dashes": false,\r
13574       "datasource": "Prometheus",\r
13575       "fill": 1,\r
13576       "gridPos": {\r
13577         "h": 8,\r
13578         "w": 8,\r
13579         "x": 8,\r
13580         "y": 30\r
13581       },\r
13582       "id": 47,\r
13583       "legend": {\r
13584         "avg": false,\r
13585         "current": false,\r
13586         "max": false,\r
13587         "min": false,\r
13588         "show": true,\r
13589         "total": false,\r
13590         "values": false\r
13591       },\r
13592       "lines": true,\r
13593       "linewidth": 1,\r
13594       "links": [],\r
13595       "nullPointMode": "null",\r
13596       "percentage": false,\r
13597       "pointradius": 5,\r
13598       "points": false,\r
13599       "renderer": "flot",\r
13600       "seriesOverrides": [],\r
13601       "spaceLength": 10,\r
13602       "stack": false,\r
13603       "steppedLine": false,\r
13604       "targets": [\r
13605         {\r
13606           "expr": "pilot_virt_services{job=\"pilot\"}",\r
13607           "format": "time_series",\r
13608           "intervalFactor": 1,\r
13609           "legendFormat": "Virtual Services",\r
13610           "refId": "A"\r
13611         },\r
13612         {\r
13613           "expr": "pilot_services{job=\"pilot\"}",\r
13614           "format": "time_series",\r
13615           "intervalFactor": 1,\r
13616           "legendFormat": "Services",\r
13617           "refId": "B"\r
13618         },\r
13619         {\r
13620           "expr": "label_replace(sum(pilot_xds_cds_reject{job=\"pilot\"}) by (node, err), \"node\", \"$1\", \"node\", \".*~.*~(.*)~.*\")",\r
13621           "format": "time_series",\r
13622           "hide": true,\r
13623           "intervalFactor": 1,\r
13624           "legendFormat": "Rejected CDS Configs - {{ node }}: {{ err }}",\r
13625           "refId": "C"\r
13626         },\r
13627         {\r
13628           "expr": "pilot_xds_eds_reject{job=\"pilot\"}",\r
13629           "format": "time_series",\r
13630           "hide": true,\r
13631           "intervalFactor": 1,\r
13632           "legendFormat": "Rejected EDS Configs",\r
13633           "refId": "D"\r
13634         },\r
13635         {\r
13636           "expr": "pilot_xds{job=\"pilot\"}",\r
13637           "format": "time_series",\r
13638           "intervalFactor": 1,\r
13639           "legendFormat": "Connected Endpoints",\r
13640           "refId": "E"\r
13641         },\r
13642         {\r
13643           "expr": "rate(pilot_xds_write_timeout{job=\"pilot\"}[1m])",\r
13644           "format": "time_series",\r
13645           "intervalFactor": 1,\r
13646           "legendFormat": "Write Timeouts",\r
13647           "refId": "F"\r
13648         },\r
13649         {\r
13650           "expr": "rate(pilot_xds_push_timeout{job=\"pilot\"}[1m])",\r
13651           "format": "time_series",\r
13652           "intervalFactor": 1,\r
13653           "legendFormat": "Push Timeouts",\r
13654           "refId": "G"\r
13655         },\r
13656         {\r
13657           "expr": "rate(pilot_xds_pushes{job=\"pilot\"}[1m])",\r
13658           "format": "time_series",\r
13659           "intervalFactor": 1,\r
13660           "legendFormat": "Pushes ({{ type }})",\r
13661           "refId": "H"\r
13662         },\r
13663         {\r
13664           "expr": "rate(pilot_xds_push_errors{job=\"pilot\"}[1m])",\r
13665           "format": "time_series",\r
13666           "intervalFactor": 1,\r
13667           "legendFormat": "Push Errors ({{ type }})",\r
13668           "refId": "I"\r
13669         }\r
13670       ],\r
13671       "thresholds": [],\r
13672       "timeFrom": null,\r
13673       "timeRegions": [],\r
13674       "timeShift": null,\r
13675       "title": "ADS Monitoring",\r
13676       "tooltip": {\r
13677         "shared": true,\r
13678         "sort": 0,\r
13679         "value_type": "individual"\r
13680       },\r
13681       "type": "graph",\r
13682       "xaxis": {\r
13683         "buckets": null,\r
13684         "mode": "time",\r
13685         "name": null,\r
13686         "show": true,\r
13687         "values": []\r
13688       },\r
13689       "yaxes": [\r
13690         {\r
13691           "format": "short",\r
13692           "label": null,\r
13693           "logBase": 1,\r
13694           "max": null,\r
13695           "min": null,\r
13696           "show": true\r
13697         },\r
13698         {\r
13699           "format": "short",\r
13700           "label": null,\r
13701           "logBase": 1,\r
13702           "max": null,\r
13703           "min": null,\r
13704           "show": true\r
13705         }\r
13706       ],\r
13707       "yaxis": {\r
13708         "align": false,\r
13709         "alignLevel": null\r
13710       }\r
13711     },\r
13712     {\r
13713       "aliasColors": {},\r
13714       "bars": false,\r
13715       "dashLength": 10,\r
13716       "dashes": false,\r
13717       "datasource": "Prometheus",\r
13718       "fill": 1,\r
13719       "gridPos": {\r
13720         "h": 8,\r
13721         "w": 8,\r
13722         "x": 16,\r
13723         "y": 30\r
13724       },\r
13725       "id": 49,\r
13726       "legend": {\r
13727         "avg": false,\r
13728         "current": false,\r
13729         "max": false,\r
13730         "min": false,\r
13731         "show": true,\r
13732         "total": false,\r
13733         "values": false\r
13734       },\r
13735       "lines": true,\r
13736       "linewidth": 1,\r
13737       "links": [],\r
13738       "nullPointMode": "null",\r
13739       "percentage": false,\r
13740       "pointradius": 5,\r
13741       "points": false,\r
13742       "renderer": "flot",\r
13743       "seriesOverrides": [],\r
13744       "spaceLength": 10,\r
13745       "stack": false,\r
13746       "steppedLine": false,\r
13747       "targets": [\r
13748         {\r
13749           "expr": "label_replace(sum(pilot_xds_cds_reject{job=\"pilot\"}) by (node, err), \"node\", \"$1\", \"node\", \".*~.*~(.*)~.*\")",\r
13750           "format": "time_series",\r
13751           "intervalFactor": 1,\r
13752           "legendFormat": "{{ node }}  ({{ err }})",\r
13753           "refId": "A"\r
13754         }\r
13755       ],\r
13756       "thresholds": [],\r
13757       "timeFrom": null,\r
13758       "timeRegions": [],\r
13759       "timeShift": null,\r
13760       "title": "Rejected CDS Configs",\r
13761       "tooltip": {\r
13762         "shared": true,\r
13763         "sort": 0,\r
13764         "value_type": "individual"\r
13765       },\r
13766       "type": "graph",\r
13767       "xaxis": {\r
13768         "buckets": null,\r
13769         "mode": "time",\r
13770         "name": null,\r
13771         "show": true,\r
13772         "values": []\r
13773       },\r
13774       "yaxes": [\r
13775         {\r
13776           "format": "short",\r
13777           "label": null,\r
13778           "logBase": 1,\r
13779           "max": null,\r
13780           "min": null,\r
13781           "show": true\r
13782         },\r
13783         {\r
13784           "format": "short",\r
13785           "label": null,\r
13786           "logBase": 1,\r
13787           "max": null,\r
13788           "min": null,\r
13789           "show": true\r
13790         }\r
13791       ],\r
13792       "yaxis": {\r
13793         "align": false,\r
13794         "alignLevel": null\r
13795       }\r
13796     },\r
13797     {\r
13798       "aliasColors": {},\r
13799       "bars": false,\r
13800       "dashLength": 10,\r
13801       "dashes": false,\r
13802       "datasource": "Prometheus",\r
13803       "fill": 1,\r
13804       "gridPos": {\r
13805         "h": 7,\r
13806         "w": 8,\r
13807         "x": 0,\r
13808         "y": 38\r
13809       },\r
13810       "id": 52,\r
13811       "legend": {\r
13812         "avg": false,\r
13813         "current": false,\r
13814         "max": false,\r
13815         "min": false,\r
13816         "show": true,\r
13817         "total": false,\r
13818         "values": false\r
13819       },\r
13820       "lines": true,\r
13821       "linewidth": 1,\r
13822       "links": [],\r
13823       "nullPointMode": "null",\r
13824       "percentage": false,\r
13825       "pointradius": 5,\r
13826       "points": false,\r
13827       "renderer": "flot",\r
13828       "seriesOverrides": [],\r
13829       "spaceLength": 10,\r
13830       "stack": false,\r
13831       "steppedLine": false,\r
13832       "targets": [\r
13833         {\r
13834           "expr": "label_replace(sum(pilot_xds_eds_reject{job=\"pilot\"}) by (node, err), \"node\", \"$1\", \"node\", \".*~.*~(.*)~.*\")",\r
13835           "format": "time_series",\r
13836           "intervalFactor": 1,\r
13837           "legendFormat": "{{ node }} ({{err}})",\r
13838           "refId": "A"\r
13839         }\r
13840       ],\r
13841       "thresholds": [],\r
13842       "timeFrom": null,\r
13843       "timeRegions": [],\r
13844       "timeShift": null,\r
13845       "title": "Rejected EDS Configs",\r
13846       "tooltip": {\r
13847         "shared": true,\r
13848         "sort": 0,\r
13849         "value_type": "individual"\r
13850       },\r
13851       "type": "graph",\r
13852       "xaxis": {\r
13853         "buckets": null,\r
13854         "mode": "time",\r
13855         "name": null,\r
13856         "show": true,\r
13857         "values": []\r
13858       },\r
13859       "yaxes": [\r
13860         {\r
13861           "format": "short",\r
13862           "label": null,\r
13863           "logBase": 1,\r
13864           "max": null,\r
13865           "min": null,\r
13866           "show": true\r
13867         },\r
13868         {\r
13869           "format": "short",\r
13870           "label": null,\r
13871           "logBase": 1,\r
13872           "max": null,\r
13873           "min": null,\r
13874           "show": true\r
13875         }\r
13876       ],\r
13877       "yaxis": {\r
13878         "align": false,\r
13879         "alignLevel": null\r
13880       }\r
13881     },\r
13882     {\r
13883       "aliasColors": {},\r
13884       "bars": false,\r
13885       "dashLength": 10,\r
13886       "dashes": false,\r
13887       "datasource": "Prometheus",\r
13888       "fill": 1,\r
13889       "gridPos": {\r
13890         "h": 7,\r
13891         "w": 8,\r
13892         "x": 8,\r
13893         "y": 38\r
13894       },\r
13895       "id": 54,\r
13896       "legend": {\r
13897         "avg": false,\r
13898         "current": false,\r
13899         "max": false,\r
13900         "min": false,\r
13901         "show": true,\r
13902         "total": false,\r
13903         "values": false\r
13904       },\r
13905       "lines": true,\r
13906       "linewidth": 1,\r
13907       "links": [],\r
13908       "nullPointMode": "null",\r
13909       "percentage": false,\r
13910       "pointradius": 5,\r
13911       "points": false,\r
13912       "renderer": "flot",\r
13913       "seriesOverrides": [],\r
13914       "spaceLength": 10,\r
13915       "stack": false,\r
13916       "steppedLine": false,\r
13917       "targets": [\r
13918         {\r
13919           "expr": "label_replace(sum(pilot_xds_lds_reject{job=\"pilot\"}) by (node, err), \"node\", \"$1\", \"node\", \".*~.*~(.*)~.*\")",\r
13920           "format": "time_series",\r
13921           "intervalFactor": 1,\r
13922           "legendFormat": "{{ node }} ({{err}})",\r
13923           "refId": "A"\r
13924         }\r
13925       ],\r
13926       "thresholds": [],\r
13927       "timeFrom": null,\r
13928       "timeRegions": [],\r
13929       "timeShift": null,\r
13930       "title": "Rejected LDS Configs",\r
13931       "tooltip": {\r
13932         "shared": true,\r
13933         "sort": 0,\r
13934         "value_type": "individual"\r
13935       },\r
13936       "type": "graph",\r
13937       "xaxis": {\r
13938         "buckets": null,\r
13939         "mode": "time",\r
13940         "name": null,\r
13941         "show": true,\r
13942         "values": []\r
13943       },\r
13944       "yaxes": [\r
13945         {\r
13946           "format": "short",\r
13947           "label": null,\r
13948           "logBase": 1,\r
13949           "max": null,\r
13950           "min": null,\r
13951           "show": true\r
13952         },\r
13953         {\r
13954           "format": "short",\r
13955           "label": null,\r
13956           "logBase": 1,\r
13957           "max": null,\r
13958           "min": null,\r
13959           "show": true\r
13960         }\r
13961       ],\r
13962       "yaxis": {\r
13963         "align": false,\r
13964         "alignLevel": null\r
13965       }\r
13966     },\r
13967     {\r
13968       "aliasColors": {},\r
13969       "bars": false,\r
13970       "dashLength": 10,\r
13971       "dashes": false,\r
13972       "datasource": "Prometheus",\r
13973       "fill": 1,\r
13974       "gridPos": {\r
13975         "h": 7,\r
13976         "w": 8,\r
13977         "x": 16,\r
13978         "y": 38\r
13979       },\r
13980       "id": 53,\r
13981       "legend": {\r
13982         "avg": false,\r
13983         "current": false,\r
13984         "max": false,\r
13985         "min": false,\r
13986         "show": true,\r
13987         "total": false,\r
13988         "values": false\r
13989       },\r
13990       "lines": true,\r
13991       "linewidth": 1,\r
13992       "links": [],\r
13993       "nullPointMode": "null",\r
13994       "percentage": false,\r
13995       "pointradius": 5,\r
13996       "points": false,\r
13997       "renderer": "flot",\r
13998       "seriesOverrides": [],\r
13999       "spaceLength": 10,\r
14000       "stack": false,\r
14001       "steppedLine": false,\r
14002       "targets": [\r
14003         {\r
14004           "expr": "label_replace(sum(pilot_xds_rds_reject{job=\"pilot\"}) by (node, err), \"node\", \"$1\", \"node\", \".*~.*~(.*)~.*\")",\r
14005           "format": "time_series",\r
14006           "intervalFactor": 1,\r
14007           "legendFormat": "{{ node }} ({{err}})",\r
14008           "refId": "A"\r
14009         }\r
14010       ],\r
14011       "thresholds": [],\r
14012       "timeFrom": null,\r
14013       "timeRegions": [],\r
14014       "timeShift": null,\r
14015       "title": "Rejected RDS Configs",\r
14016       "tooltip": {\r
14017         "shared": true,\r
14018         "sort": 0,\r
14019         "value_type": "individual"\r
14020       },\r
14021       "type": "graph",\r
14022       "xaxis": {\r
14023         "buckets": null,\r
14024         "mode": "time",\r
14025         "name": null,\r
14026         "show": true,\r
14027         "values": []\r
14028       },\r
14029       "yaxes": [\r
14030         {\r
14031           "format": "short",\r
14032           "label": null,\r
14033           "logBase": 1,\r
14034           "max": null,\r
14035           "min": null,\r
14036           "show": true\r
14037         },\r
14038         {\r
14039           "format": "short",\r
14040           "label": null,\r
14041           "logBase": 1,\r
14042           "max": null,\r
14043           "min": null,\r
14044           "show": true\r
14045         }\r
14046       ],\r
14047       "yaxis": {\r
14048         "align": false,\r
14049         "alignLevel": null\r
14050       }\r
14051     },\r
14052     {\r
14053       "aliasColors": {\r
14054         "outbound|80||default-http-backend.kube-system.svc.cluster.local": "rgba(255, 255, 255, 0.97)"\r
14055       },\r
14056       "bars": false,\r
14057       "dashLength": 10,\r
14058       "dashes": false,\r
14059       "datasource": "Prometheus",\r
14060       "fill": 1,\r
14061       "gridPos": {\r
14062         "h": 7,\r
14063         "w": 8,\r
14064         "x": 0,\r
14065         "y": 45\r
14066       },\r
14067       "id": 51,\r
14068       "legend": {\r
14069         "avg": false,\r
14070         "current": false,\r
14071         "max": false,\r
14072         "min": false,\r
14073         "show": true,\r
14074         "total": false,\r
14075         "values": false\r
14076       },\r
14077       "lines": true,\r
14078       "linewidth": 1,\r
14079       "links": [],\r
14080       "nullPointMode": "null",\r
14081       "percentage": false,\r
14082       "pointradius": 5,\r
14083       "points": false,\r
14084       "renderer": "flot",\r
14085       "seriesOverrides": [\r
14086         {\r
14087           "alias": "outbound|80||default-http-backend.kube-system.svc.cluster.local",\r
14088           "yaxis": 1\r
14089         }\r
14090       ],\r
14091       "spaceLength": 10,\r
14092       "stack": false,\r
14093       "steppedLine": false,\r
14094       "targets": [\r
14095         {\r
14096           "expr": "sum(pilot_xds_eds_instances{job=\"pilot\"}) by (cluster)",\r
14097           "format": "time_series",\r
14098           "intervalFactor": 1,\r
14099           "legendFormat": "{{ cluster }}",\r
14100           "refId": "A"\r
14101         }\r
14102       ],\r
14103       "thresholds": [],\r
14104       "timeFrom": null,\r
14105       "timeRegions": [],\r
14106       "timeShift": null,\r
14107       "title": "EDS Instances",\r
14108       "tooltip": {\r
14109         "shared": true,\r
14110         "sort": 0,\r
14111         "value_type": "individual"\r
14112       },\r
14113       "type": "graph",\r
14114       "xaxis": {\r
14115         "buckets": null,\r
14116         "mode": "time",\r
14117         "name": null,\r
14118         "show": true,\r
14119         "values": []\r
14120       },\r
14121       "yaxes": [\r
14122         {\r
14123           "format": "short",\r
14124           "label": null,\r
14125           "logBase": 1,\r
14126           "max": null,\r
14127           "min": null,\r
14128           "show": true\r
14129         },\r
14130         {\r
14131           "format": "short",\r
14132           "label": null,\r
14133           "logBase": 1,\r
14134           "max": null,\r
14135           "min": null,\r
14136           "show": true\r
14137         }\r
14138       ],\r
14139       "yaxis": {\r
14140         "align": false,\r
14141         "alignLevel": null\r
14142       }\r
14143     }\r
14144   ],\r
14145   "refresh": "5s",\r
14146   "schemaVersion": 18,\r
14147   "style": "dark",\r
14148   "tags": [],\r
14149   "templating": {\r
14150     "list": []\r
14151   },\r
14152   "time": {\r
14153     "from": "now-5m",\r
14154     "to": "now"\r
14155   },\r
14156   "timepicker": {\r
14157     "refresh_intervals": [\r
14158       "5s",\r
14159       "10s",\r
14160       "30s",\r
14161       "1m",\r
14162       "5m",\r
14163       "15m",\r
14164       "30m",\r
14165       "1h",\r
14166       "2h",\r
14167       "1d"\r
14168     ],\r
14169     "time_options": [\r
14170       "5m",\r
14171       "15m",\r
14172       "1h",\r
14173       "6h",\r
14174       "12h",\r
14175       "24h",\r
14176       "2d",\r
14177       "7d",\r
14178       "30d"\r
14179     ]\r
14180   },\r
14181   "timezone": "browser",\r
14182   "title": "Istio Pilot Dashboard",\r
14183   "uid": "3--MLVZZk",\r
14184   "version": 1\r
14185 }\r
14186 '\r
14187 ---\r
14188 \r
14189 ---\r
14190 # Source: istio/charts/grafana/templates/configmap.yaml\r
14191 apiVersion: v1\r
14192 kind: ConfigMap\r
14193 metadata:\r
14194   name: istio-grafana\r
14195   namespace: istio-system\r
14196   labels:\r
14197     app: grafana\r
14198     chart: grafana\r
14199     heritage: Tiller\r
14200     release: istio\r
14201     istio: grafana\r
14202 data:\r
14203   datasources.yaml: |\r
14204     apiVersion: 1\r
14205     datasources:\r
14206     - access: proxy\r
14207       editable: true\r
14208       isDefault: true\r
14209       jsonData:\r
14210         timeInterval: 5s\r
14211       name: Prometheus\r
14212       orgId: 1\r
14213       type: prometheus\r
14214       url: http://prometheus:9090\r
14215     \r
14216   dashboardproviders.yaml: |\r
14217     apiVersion: 1\r
14218     providers:\r
14219     - disableDeletion: false\r
14220       folder: istio\r
14221       name: istio\r
14222       options:\r
14223         path: /var/lib/grafana/dashboards/istio\r
14224       orgId: 1\r
14225       type: file\r
14226     \r
14227 ---\r
14228 # Source: istio/charts/kiali/templates/configmap.yaml\r
14229 apiVersion: v1\r
14230 kind: ConfigMap\r
14231 metadata:\r
14232   name: kiali\r
14233   namespace: istio-system\r
14234   labels:\r
14235     app: kiali\r
14236     chart: kiali\r
14237     heritage: Tiller\r
14238     release: istio\r
14239 data:\r
14240   config.yaml: |\r
14241     istio_namespace: istio-system\r
14242     auth:\r
14243       strategy: "login"\r
14244     server:\r
14245       port: 20001\r
14246       web_root: /kiali\r
14247     external_services:\r
14248       tracing:\r
14249         url: \r
14250       grafana:\r
14251         url: \r
14252       prometheus:\r
14253         url: http://prometheus:9090\r
14254 \r
14255 ---\r
14256 # Source: istio/charts/prometheus/templates/configmap.yaml\r
14257 apiVersion: v1\r
14258 kind: ConfigMap\r
14259 metadata:\r
14260   name: prometheus\r
14261   namespace: istio-system\r
14262   labels:\r
14263     app: prometheus\r
14264     chart: prometheus\r
14265     heritage: Tiller\r
14266     release: istio\r
14267 data:\r
14268   prometheus.yml: |-\r
14269     global:\r
14270       scrape_interval: 15s\r
14271     scrape_configs:\r
14272 \r
14273     - job_name: 'istio-mesh'\r
14274       kubernetes_sd_configs:\r
14275       - role: endpoints\r
14276         namespaces:\r
14277           names:\r
14278           - istio-system\r
14279 \r
14280       relabel_configs:\r
14281       - source_labels: [__meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name]\r
14282         action: keep\r
14283         regex: istio-telemetry;prometheus\r
14284 \r
14285     # Scrape config for envoy stats\r
14286     - job_name: 'envoy-stats'\r
14287       metrics_path: /stats/prometheus\r
14288       kubernetes_sd_configs:\r
14289       - role: pod\r
14290 \r
14291       relabel_configs:\r
14292       - source_labels: [__meta_kubernetes_pod_container_port_name]\r
14293         action: keep\r
14294         regex: '.*-envoy-prom'\r
14295       - source_labels: [__address__, __meta_kubernetes_pod_annotation_prometheus_io_port]\r
14296         action: replace\r
14297         regex: ([^:]+)(?::\d+)?;(\d+)\r
14298         replacement: $1:15090\r
14299         target_label: __address__\r
14300       - action: labelmap\r
14301         regex: __meta_kubernetes_pod_label_(.+)\r
14302       - source_labels: [__meta_kubernetes_namespace]\r
14303         action: replace\r
14304         target_label: namespace\r
14305       - source_labels: [__meta_kubernetes_pod_name]\r
14306         action: replace\r
14307         target_label: pod_name\r
14308 \r
14309     - job_name: 'istio-policy'\r
14310       kubernetes_sd_configs:\r
14311       - role: endpoints\r
14312         namespaces:\r
14313           names:\r
14314           - istio-system\r
14315 \r
14316 \r
14317       relabel_configs:\r
14318       - source_labels: [__meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name]\r
14319         action: keep\r
14320         regex: istio-policy;http-monitoring\r
14321 \r
14322     - job_name: 'istio-telemetry'\r
14323       kubernetes_sd_configs:\r
14324       - role: endpoints\r
14325         namespaces:\r
14326           names:\r
14327           - istio-system\r
14328 \r
14329       relabel_configs:\r
14330       - source_labels: [__meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name]\r
14331         action: keep\r
14332         regex: istio-telemetry;http-monitoring\r
14333 \r
14334     - job_name: 'pilot'\r
14335       kubernetes_sd_configs:\r
14336       - role: endpoints\r
14337         namespaces:\r
14338           names:\r
14339           - istio-system\r
14340 \r
14341       relabel_configs:\r
14342       - source_labels: [__meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name]\r
14343         action: keep\r
14344         regex: istio-pilot;http-monitoring\r
14345 \r
14346     - job_name: 'galley'\r
14347       kubernetes_sd_configs:\r
14348       - role: endpoints\r
14349         namespaces:\r
14350           names:\r
14351           - istio-system\r
14352 \r
14353       relabel_configs:\r
14354       - source_labels: [__meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name]\r
14355         action: keep\r
14356         regex: istio-galley;http-monitoring\r
14357 \r
14358     - job_name: 'citadel'\r
14359       kubernetes_sd_configs:\r
14360       - role: endpoints\r
14361         namespaces:\r
14362           names:\r
14363           - istio-system\r
14364 \r
14365       relabel_configs:\r
14366       - source_labels: [__meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name]\r
14367         action: keep\r
14368         regex: istio-citadel;http-monitoring\r
14369 \r
14370     # scrape config for API servers\r
14371     - job_name: 'kubernetes-apiservers'\r
14372       kubernetes_sd_configs:\r
14373       - role: endpoints\r
14374         namespaces:\r
14375           names:\r
14376           - default\r
14377       scheme: https\r
14378       tls_config:\r
14379         ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt\r
14380       bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token\r
14381       relabel_configs:\r
14382       - source_labels: [__meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name]\r
14383         action: keep\r
14384         regex: kubernetes;https\r
14385 \r
14386     # scrape config for nodes (kubelet)\r
14387     - job_name: 'kubernetes-nodes'\r
14388       scheme: https\r
14389       tls_config:\r
14390         ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt\r
14391       bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token\r
14392       kubernetes_sd_configs:\r
14393       - role: node\r
14394       relabel_configs:\r
14395       - action: labelmap\r
14396         regex: __meta_kubernetes_node_label_(.+)\r
14397       - target_label: __address__\r
14398         replacement: kubernetes.default.svc:443\r
14399       - source_labels: [__meta_kubernetes_node_name]\r
14400         regex: (.+)\r
14401         target_label: __metrics_path__\r
14402         replacement: /api/v1/nodes/${1}/proxy/metrics\r
14403 \r
14404     # Scrape config for Kubelet cAdvisor.\r
14405     #\r
14406     # This is required for Kubernetes 1.7.3 and later, where cAdvisor metrics\r
14407     # (those whose names begin with 'container_') have been removed from the\r
14408     # Kubelet metrics endpoint.  This job scrapes the cAdvisor endpoint to\r
14409     # retrieve those metrics.\r
14410     #\r
14411     # In Kubernetes 1.7.0-1.7.2, these metrics are only exposed on the cAdvisor\r
14412     # HTTP endpoint; use "replacement: /api/v1/nodes/${1}:4194/proxy/metrics"\r
14413     # in that case (and ensure cAdvisor's HTTP server hasn't been disabled with\r
14414     # the --cadvisor-port=0 Kubelet flag).\r
14415     #\r
14416     # This job is not necessary and should be removed in Kubernetes 1.6 and\r
14417     # earlier versions, or it will cause the metrics to be scraped twice.\r
14418     - job_name: 'kubernetes-cadvisor'\r
14419       scheme: https\r
14420       tls_config:\r
14421         ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt\r
14422       bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token\r
14423       kubernetes_sd_configs:\r
14424       - role: node\r
14425       relabel_configs:\r
14426       - action: labelmap\r
14427         regex: __meta_kubernetes_node_label_(.+)\r
14428       - target_label: __address__\r
14429         replacement: kubernetes.default.svc:443\r
14430       - source_labels: [__meta_kubernetes_node_name]\r
14431         regex: (.+)\r
14432         target_label: __metrics_path__\r
14433         replacement: /api/v1/nodes/${1}/proxy/metrics/cadvisor\r
14434 \r
14435     # scrape config for service endpoints.\r
14436     - job_name: 'kubernetes-service-endpoints'\r
14437       kubernetes_sd_configs:\r
14438       - role: endpoints\r
14439       relabel_configs:\r
14440       - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scrape]\r
14441         action: keep\r
14442         regex: true\r
14443       - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scheme]\r
14444         action: replace\r
14445         target_label: __scheme__\r
14446         regex: (https?)\r
14447       - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_path]\r
14448         action: replace\r
14449         target_label: __metrics_path__\r
14450         regex: (.+)\r
14451       - source_labels: [__address__, __meta_kubernetes_service_annotation_prometheus_io_port]\r
14452         action: replace\r
14453         target_label: __address__\r
14454         regex: ([^:]+)(?::\d+)?;(\d+)\r
14455         replacement: $1:$2\r
14456       - action: labelmap\r
14457         regex: __meta_kubernetes_service_label_(.+)\r
14458       - source_labels: [__meta_kubernetes_namespace]\r
14459         action: replace\r
14460         target_label: kubernetes_namespace\r
14461       - source_labels: [__meta_kubernetes_service_name]\r
14462         action: replace\r
14463         target_label: kubernetes_name\r
14464 \r
14465     - job_name: 'kubernetes-pods'\r
14466       kubernetes_sd_configs:\r
14467       - role: pod\r
14468       relabel_configs:  # If first two labels are present, pod should be scraped  by the istio-secure job.\r
14469       - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape]\r
14470         action: keep\r
14471         regex: true\r
14472       # Keep target if there's no sidecar or if prometheus.io/scheme is explicitly set to "http"\r
14473       - source_labels: [__meta_kubernetes_pod_annotation_sidecar_istio_io_status, __meta_kubernetes_pod_annotation_prometheus_io_scheme]\r
14474         action: keep\r
14475         regex: ((;.*)|(.*;http))\r
14476       - source_labels: [__meta_kubernetes_pod_annotation_istio_mtls]\r
14477         action: drop\r
14478         regex: (true)\r
14479       - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_path]\r
14480         action: replace\r
14481         target_label: __metrics_path__\r
14482         regex: (.+)\r
14483       - source_labels: [__address__, __meta_kubernetes_pod_annotation_prometheus_io_port]\r
14484         action: replace\r
14485         regex: ([^:]+)(?::\d+)?;(\d+)\r
14486         replacement: $1:$2\r
14487         target_label: __address__\r
14488       - action: labelmap\r
14489         regex: __meta_kubernetes_pod_label_(.+)\r
14490       - source_labels: [__meta_kubernetes_namespace]\r
14491         action: replace\r
14492         target_label: namespace\r
14493       - source_labels: [__meta_kubernetes_pod_name]\r
14494         action: replace\r
14495         target_label: pod_name\r
14496 \r
14497     - job_name: 'kubernetes-pods-istio-secure'\r
14498       scheme: https\r
14499       tls_config:\r
14500         ca_file: /etc/istio-certs/root-cert.pem\r
14501         cert_file: /etc/istio-certs/cert-chain.pem\r
14502         key_file: /etc/istio-certs/key.pem\r
14503         insecure_skip_verify: true  # prometheus does not support secure naming.\r
14504       kubernetes_sd_configs:\r
14505       - role: pod\r
14506       relabel_configs:\r
14507       - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape]\r
14508         action: keep\r
14509         regex: true\r
14510       # sidecar status annotation is added by sidecar injector and\r
14511       # istio_workload_mtls_ability can be specifically placed on a pod to indicate its ability to receive mtls traffic.\r
14512       - source_labels: [__meta_kubernetes_pod_annotation_sidecar_istio_io_status, __meta_kubernetes_pod_annotation_istio_mtls]\r
14513         action: keep\r
14514         regex: (([^;]+);([^;]*))|(([^;]*);(true))\r
14515       - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scheme]\r
14516         action: drop\r
14517         regex: (http)\r
14518       - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_path]\r
14519         action: replace\r
14520         target_label: __metrics_path__\r
14521         regex: (.+)\r
14522       - source_labels: [__address__]  # Only keep address that is host:port\r
14523         action: keep    # otherwise an extra target with ':443' is added for https scheme\r
14524         regex: ([^:]+):(\d+)\r
14525       - source_labels: [__address__, __meta_kubernetes_pod_annotation_prometheus_io_port]\r
14526         action: replace\r
14527         regex: ([^:]+)(?::\d+)?;(\d+)\r
14528         replacement: $1:$2\r
14529         target_label: __address__\r
14530       - action: labelmap\r
14531         regex: __meta_kubernetes_pod_label_(.+)\r
14532       - source_labels: [__meta_kubernetes_namespace]\r
14533         action: replace\r
14534         target_label: namespace\r
14535       - source_labels: [__meta_kubernetes_pod_name]\r
14536         action: replace\r
14537         target_label: pod_name\r
14538 ---\r
14539 # Source: istio/charts/security/templates/configmap.yaml\r
14540 apiVersion: v1\r
14541 kind: ConfigMap\r
14542 metadata:\r
14543   name: istio-security-custom-resources\r
14544   namespace: istio-system\r
14545   labels:\r
14546     app: security\r
14547     chart: security\r
14548     heritage: Tiller\r
14549     release: istio\r
14550     istio: citadel\r
14551 data:\r
14552   custom-resources.yaml: |-\r
14553     # Authentication policy to enable permissive mode for all services (that have sidecar) in the mesh.\r
14554     apiVersion: "authentication.istio.io/v1alpha1"\r
14555     kind: "MeshPolicy"\r
14556     metadata:\r
14557       name: "default"\r
14558       labels:\r
14559         app: security\r
14560         chart: security\r
14561         heritage: Tiller\r
14562         release: istio\r
14563     spec:\r
14564       peers:\r
14565       - mtls:\r
14566           mode: PERMISSIVE\r
14567   run.sh: |-\r
14568     #!/bin/sh\r
14569 \r
14570     set -x\r
14571 \r
14572     if [ "$#" -ne "1" ]; then\r
14573         echo "first argument should be path to custom resource yaml"\r
14574         exit 1\r
14575     fi\r
14576 \r
14577     pathToResourceYAML=${1}\r
14578 \r
14579     kubectl get validatingwebhookconfiguration istio-galley 2>/dev/null\r
14580     if [ "$?" -eq 0 ]; then\r
14581         echo "istio-galley validatingwebhookconfiguration found - waiting for istio-galley deployment to be ready"\r
14582         while true; do\r
14583             kubectl -n istio-system get deployment istio-galley 2>/dev/null\r
14584             if [ "$?" -eq 0 ]; then\r
14585                 break\r
14586             fi\r
14587             sleep 1\r
14588         done\r
14589         kubectl -n istio-system rollout status deployment istio-galley\r
14590         if [ "$?" -ne 0 ]; then\r
14591             echo "istio-galley deployment rollout status check failed"\r
14592             exit 1\r
14593         fi\r
14594         echo "istio-galley deployment ready for configuration validation"\r
14595     fi\r
14596     sleep 5\r
14597     kubectl apply -f ${pathToResourceYAML}\r
14598 \r
14599 \r
14600 ---\r
14601 # Source: istio/templates/configmap.yaml\r
14602 \r
14603 apiVersion: v1\r
14604 kind: ConfigMap\r
14605 metadata:\r
14606   name: istio\r
14607   namespace: istio-system\r
14608   labels:\r
14609     app: istio\r
14610     chart: istio\r
14611     heritage: Tiller\r
14612     release: istio\r
14613 data:\r
14614   mesh: |-\r
14615     # Set the following variable to true to disable policy checks by the Mixer.\r
14616     # Note that metrics will still be reported to the Mixer.\r
14617     disablePolicyChecks: false\r
14618 \r
14619     # Set enableTracing to false to disable request tracing.\r
14620     enableTracing: true\r
14621 \r
14622     # Set accessLogFile to empty string to disable access log.\r
14623     accessLogFile: "/dev/stdout"\r
14624 \r
14625     # If accessLogEncoding is TEXT, value will be used directly as the log format\r
14626     # example: "[%START_TIME%] %REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%\n"\r
14627     # If AccessLogEncoding is JSON, value will be parsed as map[string]string\r
14628     # example: '{"start_time": "%START_TIME%", "req_method": "%REQ(:METHOD)%"}'\r
14629     # Leave empty to use default log format\r
14630     accessLogFormat: ""\r
14631 \r
14632     # Set accessLogEncoding to JSON or TEXT to configure sidecar access log\r
14633     accessLogEncoding: 'TEXT'\r
14634     mixerCheckServer: istio-policy.istio-system.svc.cluster.local:9091\r
14635     mixerReportServer: istio-telemetry.istio-system.svc.cluster.local:9091\r
14636     # policyCheckFailOpen allows traffic in cases when the mixer policy service cannot be reached.\r
14637     # Default is false which means the traffic is denied when the client is unable to connect to Mixer.\r
14638     policyCheckFailOpen: false\r
14639     # Let Pilot give ingresses the public IP of the Istio ingressgateway\r
14640     ingressService: istio-ingressgateway\r
14641 \r
14642     # Default connect timeout for dynamic clusters generated by Pilot and returned via XDS\r
14643     connectTimeout: 10s\r
14644 \r
14645     # DNS refresh rate for Envoy clusters of type STRICT_DNS\r
14646     dnsRefreshRate: 300s\r
14647 \r
14648     # Unix Domain Socket through which envoy communicates with NodeAgent SDS to get\r
14649     # key/cert for mTLS. Use secret-mount files instead of SDS if set to empty.\r
14650     sdsUdsPath:\r
14651 \r
14652     # This flag is used by secret discovery service(SDS).\r
14653     # If set to true(prerequisite: https://kubernetes.io/docs/concepts/storage/volumes/#projected), Istio will inject volumes mount \r
14654     # for k8s service account JWT, so that K8s API server mounts k8s service account JWT to envoy container, which \r
14655     # will be used to generate key/cert eventually. This isn't supported for non-k8s case.\r
14656     enableSdsTokenMount: false\r
14657 \r
14658     # This flag is used by secret discovery service(SDS).\r
14659     # If set to true, envoy will fetch normal k8s service account JWT from '/var/run/secrets/kubernetes.io/serviceaccount/token' \r
14660     # (https://kubernetes.io/docs/tasks/access-application-cluster/access-cluster/#accessing-the-api-from-a-pod) \r
14661     # and pass to sds server, which will be used to request key/cert eventually.\r
14662     # this flag is ignored if enableSdsTokenMount is set.\r
14663     # This isn't supported for non-k8s case.\r
14664     sdsUseK8sSaJwt: false\r
14665 \r
14666     # The trust domain corresponds to the trust root of a system.\r
14667     # Refer to https://github.com/spiffe/spiffe/blob/master/standards/SPIFFE-ID.md#21-trust-domain\r
14668     trustDomain:\r
14669 \r
14670     # Set the default behavior of the sidecar for handling outbound traffic from the application:\r
14671     # ALLOW_ANY - outbound traffic to unknown destinations will be allowed, in case there are no\r
14672     #   services or ServiceEntries for the destination port\r
14673     # REGISTRY_ONLY - restrict outbound traffic to services defined in the service registry as well\r
14674     #   as those defined through ServiceEntries\r
14675     outboundTrafficPolicy:\r
14676       mode: ALLOW_ANY\r
14677 \r
14678     localityLbSetting:\r
14679       {}\r
14680 \r
14681 \r
14682     # The namespace to treat as the administrative root namespace for istio\r
14683     # configuration.\r
14684     rootNamespace: istio-system\r
14685     configSources:\r
14686     - address: istio-galley.istio-system.svc:9901\r
14687 \r
14688     defaultConfig:\r
14689       #\r
14690       # TCP connection timeout between Envoy & the application, and between Envoys.  Used for static clusters\r
14691       # defined in Envoy's configuration file\r
14692       connectTimeout: 10s\r
14693       #\r
14694       ### ADVANCED SETTINGS #############\r
14695       # Where should envoy's configuration be stored in the istio-proxy container\r
14696       configPath: "/etc/istio/proxy"\r
14697       binaryPath: "/usr/local/bin/envoy"\r
14698       # The pseudo service name used for Envoy.\r
14699       serviceCluster: istio-proxy\r
14700       # These settings that determine how long an old Envoy\r
14701       # process should be kept alive after an occasional reload.\r
14702       drainDuration: 45s\r
14703       parentShutdownDuration: 1m0s\r
14704       #\r
14705       # The mode used to redirect inbound connections to Envoy. This setting\r
14706       # has no effect on outbound traffic: iptables REDIRECT is always used for\r
14707       # outbound connections.\r
14708       # If "REDIRECT", use iptables REDIRECT to NAT and redirect to Envoy.\r
14709       # The "REDIRECT" mode loses source addresses during redirection.\r
14710       # If "TPROXY", use iptables TPROXY to redirect to Envoy.\r
14711       # The "TPROXY" mode preserves both the source and destination IP\r
14712       # addresses and ports, so that they can be used for advanced filtering\r
14713       # and manipulation.\r
14714       # The "TPROXY" mode also configures the sidecar to run with the\r
14715       # CAP_NET_ADMIN capability, which is required to use TPROXY.\r
14716       #interceptionMode: REDIRECT\r
14717       #\r
14718       # Port where Envoy listens (on local host) for admin commands\r
14719       # You can exec into the istio-proxy container in a pod and\r
14720       # curl the admin port (curl http://localhost:15000/) to obtain\r
14721       # diagnostic information from Envoy. See\r
14722       # https://lyft.github.io/envoy/docs/operations/admin.html\r
14723       # for more details\r
14724       proxyAdminPort: 15000\r
14725       #\r
14726       # Set concurrency to a specific number to control the number of Proxy worker threads.\r
14727       # If set to 0 (default), then start worker thread for each CPU thread/core.\r
14728       concurrency: 2\r
14729       #\r
14730       tracing:\r
14731         zipkin:\r
14732           # Address of the Zipkin collector\r
14733           address: zipkin.istio-system:9411\r
14734       #\r
14735       # Mutual TLS authentication between sidecars and istio control plane.\r
14736       controlPlaneAuthPolicy: NONE\r
14737       #\r
14738       # Address where istio Pilot service is running\r
14739       discoveryAddress: istio-pilot.istio-system:15010\r
14740 \r
14741   # Configuration file for the mesh networks to be used by the Split Horizon EDS.\r
14742   meshNetworks: |-\r
14743     networks: {}\r
14744 \r
14745 ---\r
14746 # Source: istio/templates/sidecar-injector-configmap.yaml\r
14747 \r
14748 apiVersion: v1\r
14749 kind: ConfigMap\r
14750 metadata:\r
14751   name: istio-sidecar-injector\r
14752   namespace: istio-system\r
14753   labels:\r
14754     app: istio\r
14755     chart: istio\r
14756     heritage: Tiller\r
14757     release: istio\r
14758     istio: sidecar-injector\r
14759 data:\r
14760   values: |-\r
14761     {"certmanager":{"enabled":false},"galley":{"enabled":true,"global":{"arch":{"amd64":2,"ppc64le":2,"arm64":2},"configValidation":true,"controlPlaneSecurityEnabled":false,"defaultNodeSelector":{},"defaultPodDisruptionBudget":{"enabled":true},"defaultResources":{"requests":{"cpu":"10m"}},"defaultTolerations":[],"disablePolicyChecks":false,"enableHelmTest":false,"enableTracing":true,"hub":"iecedge","imagePullPolicy":"IfNotPresent","imagePullSecrets":null,"k8sIngress":{"enableHttps":false,"enabled":false,"gatewayName":"ingressgateway"},"localityLbSetting":{},"logging":{"level":"default:info"},"meshExpansion":{"enabled":false,"useILB":false},"meshNetworks":{},"monitoringPort":15014,"mtls":{"enabled":false},"multiCluster":{"enabled":false},"oneNamespace":false,"outboundTrafficPolicy":{"mode":"ALLOW_ANY"},"policyCheckFailOpen":false,"priorityClassName":"","proxy":{"accessLogEncoding":"TEXT","accessLogFile":"/dev/stdout","accessLogFormat":"","autoInject":"enabled","clusterDomain":"cluster.local","componentLogLevel":"","concurrency":2,"dnsRefreshRate":"300s","enableCoreDump":false,"envoyMetricsService":{"enabled":false,"host":null,"port":null},"envoyStatsd":{"enabled":false,"host":null,"port":null},"excludeIPRanges":"","excludeInboundPorts":"","excludeOutboundPorts":"","image":"proxyv2-arm64","includeIPRanges":"*","includeInboundPorts":"*","kubevirtInterfaces":"","logLevel":"","privileged":false,"readinessFailureThreshold":30,"readinessInitialDelaySeconds":1,"readinessPeriodSeconds":2,"resources":{"limits":{"cpu":"2000m","memory":"1024Mi"},"requests":{"cpu":"10m","memory":"40Mi"}},"statusPort":15020,"tracer":"zipkin"},"proxy_init":{"image":"proxy_init-arm64"},"sds":{"enabled":false,"udsPath":"","useNormalJwt":false,"useTrustworthyJwt":false},"tag":"1.2.3","tracer":{"datadog":{"address":"$(HOST_IP):8126"},"lightstep":{"accessToken":"","address":"","cacertPath":"","secure":true},"zipkin":{"address":""}},"trustDomain":"","useMCP":true},"image":"galley","nodeSelector":{},"podAntiAffinityLabelSelector":[],"podAntiAffinityTermLabelSelector":[],"replicaCount":1,"tolerations":[]},"gateways":{"enabled":true,"global":{"arch":{"amd64":2,"ppc64le":2,"arm64":2},"configValidation":true,"controlPlaneSecurityEnabled":false,"defaultNodeSelector":{},"defaultPodDisruptionBudget":{"enabled":true},"defaultResources":{"requests":{"cpu":"10m"}},"defaultTolerations":[],"disablePolicyChecks":false,"enableHelmTest":false,"enableTracing":true,"hub":"iecedge","imagePullPolicy":"IfNotPresent","imagePullSecrets":null,"k8sIngress":{"enableHttps":false,"enabled":false,"gatewayName":"ingressgateway"},"localityLbSetting":{},"logging":{"level":"default:info"},"meshExpansion":{"enabled":false,"useILB":false},"meshNetworks":{},"monitoringPort":15014,"mtls":{"enabled":false},"multiCluster":{"enabled":false},"oneNamespace":false,"outboundTrafficPolicy":{"mode":"ALLOW_ANY"},"policyCheckFailOpen":false,"priorityClassName":"","proxy":{"accessLogEncoding":"TEXT","accessLogFile":"/dev/stdout","accessLogFormat":"","autoInject":"enabled","clusterDomain":"cluster.local","componentLogLevel":"","concurrency":2,"dnsRefreshRate":"300s","enableCoreDump":false,"envoyMetricsService":{"enabled":false,"host":null,"port":null},"envoyStatsd":{"enabled":false,"host":null,"port":null},"excludeIPRanges":"","excludeInboundPorts":"","excludeOutboundPorts":"","image":"proxyv2-arm64","includeIPRanges":"*","includeInboundPorts":"*","kubevirtInterfaces":"","logLevel":"","privileged":false,"readinessFailureThreshold":30,"readinessInitialDelaySeconds":1,"readinessPeriodSeconds":2,"resources":{"limits":{"cpu":"2000m","memory":"1024Mi"},"requests":{"cpu":"10m","memory":"40Mi"}},"statusPort":15020,"tracer":"zipkin"},"proxy_init":{"image":"proxy_init-arm64"},"sds":{"enabled":false,"udsPath":"","useNormalJwt":false,"useTrustworthyJwt":false},"tag":"1.2.3","tracer":{"datadog":{"address":"$(HOST_IP):8126"},"lightstep":{"accessToken":"","address":"","cacertPath":"","secure":true},"zipkin":{"address":""}},"trustDomain":"","useMCP":true},"istio-egressgateway":{"autoscaleEnabled":false,"autoscaleMax":5,"autoscaleMin":1,"cpu":{"targetAverageUtilization":80},"enabled":true,"env":{"ISTIO_META_ROUTER_MODE":"sni-dnat"},"labels":{"app":"istio-egressgateway","iecedge":"egressgateway"},"nodeSelector":{},"podAnnotations":{},"podAntiAffinityLabelSelector":[],"podAntiAffinityTermLabelSelector":[],"ports":[{"name":"http2","port":80},{"name":"https","port":443},{"name":"tls","port":15443,"targetPort":15443}],"resources":{"limits":{"cpu":"2000m","memory":"256Mi"},"requests":{"cpu":"10m","memory":"40Mi"}},"secretVolumes":[{"mountPath":"/etc/istio/egressgateway-certs","name":"egressgateway-certs","secretName":"istio-egressgateway-certs"},{"mountPath":"/etc/istio/egressgateway-ca-certs","name":"egressgateway-ca-certs","secretName":"istio-egressgateway-ca-certs"}],"serviceAnnotations":{},"tolerations":[],"type":"ClusterIP"},"istio-ilbgateway":{"autoscaleEnabled":true,"autoscaleMax":5,"autoscaleMin":1,"cpu":{"targetAverageUtilization":80},"enabled":false,"labels":{"app":"istio-ilbgateway","iecedge":"ilbgateway"},"loadBalancerIP":"","nodeSelector":{},"podAnnotations":{},"ports":[{"name":"grpc-pilot-mtls","port":15011},{"name":"grpc-pilot","port":15010},{"name":"tcp-citadel-grpc-tls","port":8060,"targetPort":8060},{"name":"tcp-dns","port":5353}],"resources":{"requests":{"cpu":"800m","memory":"512Mi"}},"secretVolumes":[{"mountPath":"/etc/istio/ilbgateway-certs","name":"ilbgateway-certs","secretName":"istio-ilbgateway-certs"},{"mountPath":"/etc/istio/ilbgateway-ca-certs","name":"ilbgateway-ca-certs","secretName":"istio-ilbgateway-ca-certs"}],"serviceAnnotations":{"cloud.google.com/load-balancer-type":"internal"},"tolerations":[],"type":"LoadBalancer"},"istio-ingressgateway":{"applicationPorts":"","autoscaleEnabled":false,"autoscaleMax":5,"autoscaleMin":1,"cpu":{"targetAverageUtilization":80},"enabled":true,"env":{"ISTIO_META_ROUTER_MODE":"sni-dnat"},"externalIPs":[],"labels":{"app":"istio-ingressgateway","iecedge":"ingressgateway"},"loadBalancerIP":"","loadBalancerSourceRanges":[],"meshExpansionPorts":[{"name":"tcp-pilot-grpc-tls","port":15011,"targetPort":15011},{"name":"tcp-mixer-grpc-tls","port":15004,"targetPort":15004},{"name":"tcp-citadel-grpc-tls","port":8060,"targetPort":8060},{"name":"tcp-dns-tls","port":853,"targetPort":853}],"nodeSelector":{},"podAnnotations":{},"podAntiAffinityLabelSelector":[],"podAntiAffinityTermLabelSelector":[],"ports":[{"name":"status-port","port":15020,"targetPort":15020},{"name":"http2","nodePort":31380,"port":80,"targetPort":80},{"name":"https","nodePort":31390,"port":443},{"name":"tcp","nodePort":31400,"port":31400},{"name":"https-kiali","port":15029,"targetPort":15029},{"name":"https-prometheus","port":15030,"targetPort":15030},{"name":"https-grafana","port":15031,"targetPort":15031},{"name":"https-tracing","port":15032,"targetPort":15032},{"name":"tls","port":15443,"targetPort":15443}],"resources":{"limits":{"cpu":"2000m","memory":"1024Mi"},"requests":{"cpu":"10m","memory":"40Mi"}},"sds":{"enabled":false,"image":"node-agent-k8s","resources":{"limits":{"cpu":"2000m","memory":"1024Mi"},"requests":{"cpu":"100m","memory":"128Mi"}}},"secretVolumes":[{"mountPath":"/etc/istio/ingressgateway-certs","name":"ingressgateway-certs","secretName":"istio-ingressgateway-certs"},{"mountPath":"/etc/istio/ingressgateway-ca-certs","name":"ingressgateway-ca-certs","secretName":"istio-ingressgateway-ca-certs"}],"serviceAnnotations":{},"tolerations":[],"type":"LoadBalancer"}},"global":{"arch":{"amd64":2,"ppc64le":2,"arm64":2},"configValidation":true,"controlPlaneSecurityEnabled":false,"defaultNodeSelector":{},"defaultPodDisruptionBudget":{"enabled":true},"defaultResources":{"requests":{"cpu":"10m"}},"defaultTolerations":[],"disablePolicyChecks":false,"enableHelmTest":false,"enableTracing":true,"hub":"iecedge","imagePullPolicy":"IfNotPresent","imagePullSecrets":null,"k8sIngress":{"enableHttps":false,"enabled":false,"gatewayName":"ingressgateway"},"localityLbSetting":{},"logging":{"level":"default:info"},"meshExpansion":{"enabled":false,"useILB":false},"meshNetworks":{},"monitoringPort":15014,"mtls":{"enabled":false},"multiCluster":{"enabled":false},"oneNamespace":false,"outboundTrafficPolicy":{"mode":"ALLOW_ANY"},"policyCheckFailOpen":false,"priorityClassName":"","proxy":{"accessLogEncoding":"TEXT","accessLogFile":"/dev/stdout","accessLogFormat":"","autoInject":"enabled","clusterDomain":"cluster.local","componentLogLevel":"","concurrency":2,"dnsRefreshRate":"300s","enableCoreDump":false,"envoyMetricsService":{"enabled":false,"host":null,"port":null},"envoyStatsd":{"enabled":false,"host":null,"port":null},"excludeIPRanges":"","excludeInboundPorts":"","excludeOutboundPorts":"","image":"proxyv2-arm64","includeIPRanges":"*","includeInboundPorts":"*","kubevirtInterfaces":"","logLevel":"","privileged":false,"readinessFailureThreshold":30,"readinessInitialDelaySeconds":1,"readinessPeriodSeconds":2,"resources":{"limits":{"cpu":"2000m","memory":"1024Mi"},"requests":{"cpu":"10m","memory":"40Mi"}},"statusPort":15020,"tracer":"zipkin"},"proxy_init":{"image":"proxy_init-arm64"},"sds":{"enabled":false,"udsPath":"","useNormalJwt":false,"useTrustworthyJwt":false},"tag":"1.2.3","tracer":{"datadog":{"address":"$(HOST_IP):8126"},"lightstep":{"accessToken":"","address":"","cacertPath":"","secure":true},"zipkin":{"address":""}},"trustDomain":"","useMCP":true},"grafana":{"accessMode":"ReadWriteMany","contextPath":"/grafana","dashboardProviders":{"dashboardproviders.yaml":{"apiVersion":1,"providers":[{"disableDeletion":false,"folder":"istio","name":"istio","options":{"path":"/var/lib/grafana/dashboards/istio"},"orgId":1,"type":"file"}]}},"datasources":{"datasources.yaml":{"apiVersion":1,"datasources":[{"access":"proxy","editable":true,"isDefault":true,"jsonData":{"timeInterval":"5s"},"name":"Prometheus","orgId":1,"type":"prometheus","url":"http://prometheus:9090"}]}},"enabled":true,"global":{"arch":{"amd64":2,"ppc64le":2,"arm64":2},"configValidation":true,"controlPlaneSecurityEnabled":false,"defaultNodeSelector":{},"defaultPodDisruptionBudget":{"enabled":true},"defaultResources":{"requests":{"cpu":"10m"}},"defaultTolerations":[],"disablePolicyChecks":false,"enableHelmTest":false,"enableTracing":true,"hub":"iecedge","imagePullPolicy":"IfNotPresent","imagePullSecrets":null,"k8sIngress":{"enableHttps":false,"enabled":false,"gatewayName":"ingressgateway"},"localityLbSetting":{},"logging":{"level":"default:info"},"meshExpansion":{"enabled":false,"useILB":false},"meshNetworks":{},"monitoringPort":15014,"mtls":{"enabled":false},"multiCluster":{"enabled":false},"oneNamespace":false,"outboundTrafficPolicy":{"mode":"ALLOW_ANY"},"policyCheckFailOpen":false,"priorityClassName":"","proxy":{"accessLogEncoding":"TEXT","accessLogFile":"/dev/stdout","accessLogFormat":"","autoInject":"enabled","clusterDomain":"cluster.local","componentLogLevel":"","concurrency":2,"dnsRefreshRate":"300s","enableCoreDump":false,"envoyMetricsService":{"enabled":false,"host":null,"port":null},"envoyStatsd":{"enabled":false,"host":null,"port":null},"excludeIPRanges":"","excludeInboundPorts":"","excludeOutboundPorts":"","image":"proxyv2-arm64","includeIPRanges":"*","includeInboundPorts":"*","kubevirtInterfaces":"","logLevel":"","privileged":false,"readinessFailureThreshold":30,"readinessInitialDelaySeconds":1,"readinessPeriodSeconds":2,"resources":{"limits":{"cpu":"2000m","memory":"1024Mi"},"requests":{"cpu":"10m","memory":"40Mi"}},"statusPort":15020,"tracer":"zipkin"},"proxy_init":{"image":"proxy_init-arm64"},"sds":{"enabled":false,"udsPath":"","useNormalJwt":false,"useTrustworthyJwt":false},"tag":"1.2.3","tracer":{"datadog":{"address":"$(HOST_IP):8126"},"lightstep":{"accessToken":"","address":"","cacertPath":"","secure":true},"zipkin":{"address":""}},"trustDomain":"","useMCP":true},"image":{"repository":"grafana/grafana","tag":"6.1.6"},"ingress":{"annotations":null,"enabled":false,"hosts":["grafana.local"],"tls":null},"nodeSelector":{},"persist":false,"podAntiAffinityLabelSelector":[],"podAntiAffinityTermLabelSelector":[],"replicaCount":1,"security":{"enabled":false,"passphraseKey":"passphrase","secretName":"grafana","usernameKey":"username"},"service":{"annotations":{},"externalPort":3000,"loadBalancerIP":null,"loadBalancerSourceRanges":null,"name":"http","type":"ClusterIP"},"storageClassName":"","tolerations":[]},"istio_cni":{"enabled":false},"istiocoredns":{"enabled":false},"kiali":{"contextPath":"/kiali","createDemoSecret":true,"dashboard":{"grafanaURL":null,"jaegerURL":null,"secretName":"kiali","viewOnlyMode":false},"enabled":true,"global":{"arch":{"amd64":2,"ppc64le":2,"arm64":2},"configValidation":true,"controlPlaneSecurityEnabled":false,"defaultNodeSelector":{},"defaultPodDisruptionBudget":{"enabled":true},"defaultResources":{"requests":{"cpu":"10m"}},"defaultTolerations":[],"disablePolicyChecks":false,"enableHelmTest":false,"enableTracing":true,"hub":"iecedge","imagePullPolicy":"IfNotPresent","imagePullSecrets":null,"k8sIngress":{"enableHttps":false,"enabled":false,"gatewayName":"ingressgateway"},"localityLbSetting":{},"logging":{"level":"default:info"},"meshExpansion":{"enabled":false,"useILB":false},"meshNetworks":{},"monitoringPort":15014,"mtls":{"enabled":false},"multiCluster":{"enabled":false},"oneNamespace":false,"outboundTrafficPolicy":{"mode":"ALLOW_ANY"},"policyCheckFailOpen":false,"priorityClassName":"","proxy":{"accessLogEncoding":"TEXT","accessLogFile":"/dev/stdout","accessLogFormat":"","autoInject":"enabled","clusterDomain":"cluster.local","componentLogLevel":"","concurrency":2,"dnsRefreshRate":"300s","enableCoreDump":false,"envoyMetricsService":{"enabled":false,"host":null,"port":null},"envoyStatsd":{"enabled":false,"host":null,"port":null},"excludeIPRanges":"","excludeInboundPorts":"","excludeOutboundPorts":"","image":"proxyv2-arm64","includeIPRanges":"*","includeInboundPorts":"*","kubevirtInterfaces":"","logLevel":"","privileged":false,"readinessFailureThreshold":30,"readinessInitialDelaySeconds":1,"readinessPeriodSeconds":2,"resources":{"limits":{"cpu":"2000m","memory":"1024Mi"},"requests":{"cpu":"10m","memory":"40Mi"}},"statusPort":15020,"tracer":"zipkin"},"proxy_init":{"image":"proxy_init-arm64"},"sds":{"enabled":false,"udsPath":"","useNormalJwt":false,"useTrustworthyJwt":false},"tag":"1.2.3","tracer":{"datadog":{"address":"$(HOST_IP):8126"},"lightstep":{"accessToken":"","address":"","cacertPath":"","secure":true},"zipkin":{"address":""}},"trustDomain":"","useMCP":true},"hub":"quay.io/kiali","ingress":{"annotations":null,"enabled":false,"hosts":["kiali.local"],"tls":null},"nodeSelector":{},"podAntiAffinityLabelSelector":[],"podAntiAffinityTermLabelSelector":[],"prometheusAddr":"http://prometheus:9090","replicaCount":1,"tag":"v0.20","tolerations":[]},"mixer":{"adapters":{"kubernetesenv":{"enabled":true},"prometheus":{"enabled":true,"metricsExpiryDuration":"10m"},"stdio":{"enabled":true,"outputAsJson":true},"useAdapterCRDs":false},"env":{"GODEBUG":"gctrace=1","GOMAXPROCS":"6"},"global":{"arch":{"amd64":2,"ppc64le":2,"arm64":2},"configValidation":true,"controlPlaneSecurityEnabled":false,"defaultNodeSelector":{},"defaultPodDisruptionBudget":{"enabled":true},"defaultResources":{"requests":{"cpu":"10m"}},"defaultTolerations":[],"disablePolicyChecks":false,"enableHelmTest":false,"enableTracing":true,"hub":"iecedge","imagePullPolicy":"IfNotPresent","imagePullSecrets":null,"k8sIngress":{"enableHttps":false,"enabled":false,"gatewayName":"ingressgateway"},"localityLbSetting":{},"logging":{"level":"default:info"},"meshExpansion":{"enabled":false,"useILB":false},"meshNetworks":{},"monitoringPort":15014,"mtls":{"enabled":false},"multiCluster":{"enabled":false},"oneNamespace":false,"outboundTrafficPolicy":{"mode":"ALLOW_ANY"},"policyCheckFailOpen":false,"priorityClassName":"","proxy":{"accessLogEncoding":"TEXT","accessLogFile":"/dev/stdout","accessLogFormat":"","autoInject":"enabled","clusterDomain":"cluster.local","componentLogLevel":"","concurrency":2,"dnsRefreshRate":"300s","enableCoreDump":false,"envoyMetricsService":{"enabled":false,"host":null,"port":null},"envoyStatsd":{"enabled":false,"host":null,"port":null},"excludeIPRanges":"","excludeInboundPorts":"","excludeOutboundPorts":"","image":"proxyv2-arm64","includeIPRanges":"*","includeInboundPorts":"*","kubevirtInterfaces":"","logLevel":"","privileged":false,"readinessFailureThreshold":30,"readinessInitialDelaySeconds":1,"readinessPeriodSeconds":2,"resources":{"limits":{"cpu":"2000m","memory":"1024Mi"},"requests":{"cpu":"10m","memory":"40Mi"}},"statusPort":15020,"tracer":"zipkin"},"proxy_init":{"image":"proxy_init-arm64"},"sds":{"enabled":false,"udsPath":"","useNormalJwt":false,"useTrustworthyJwt":false},"tag":"1.2.3","tracer":{"datadog":{"address":"$(HOST_IP):8126"},"lightstep":{"accessToken":"","address":"","cacertPath":"","secure":true},"zipkin":{"address":""}},"trustDomain":"","useMCP":true},"image":"mixer","nodeSelector":{},"podAnnotations":{},"podAntiAffinityLabelSelector":[],"podAntiAffinityTermLabelSelector":[],"policy":{"autoscaleEnabled":false,"autoscaleMax":5,"autoscaleMin":1,"cpu":{"targetAverageUtilization":80},"enabled":true,"replicaCount":1,"resources":{"requests":{"cpu":"10m","memory":"100Mi"}}},"telemetry":{"autoscaleEnabled":false,"autoscaleMax":5,"autoscaleMin":1,"cpu":{"targetAverageUtilization":80},"enabled":true,"loadshedding":{"latencyThreshold":"100ms","mode":"enforce"},"replicaCount":1,"resources":{"limits":{"cpu":"4800m","memory":"4G"},"requests":{"cpu":"50m","memory":"100Mi"}},"sessionAffinityEnabled":false},"templates":{"useTemplateCRDs":false},"tolerations":[]},"nodeagent":{"enabled":false},"pilot":{"autoscaleEnabled":false,"autoscaleMax":5,"autoscaleMin":1,"cpu":{"targetAverageUtilization":80},"enabled":true,"env":{"GODEBUG":"gctrace=1","PILOT_PUSH_THROTTLE":100},"global":{"arch":{"amd64":2,"ppc64le":2,"arm64":2},"configValidation":true,"controlPlaneSecurityEnabled":false,"defaultNodeSelector":{},"defaultPodDisruptionBudget":{"enabled":true},"defaultResources":{"requests":{"cpu":"10m"}},"defaultTolerations":[],"disablePolicyChecks":false,"enableHelmTest":false,"enableTracing":true,"hub":"iecedge","imagePullPolicy":"IfNotPresent","imagePullSecrets":null,"k8sIngress":{"enableHttps":false,"enabled":false,"gatewayName":"ingressgateway"},"localityLbSetting":{},"logging":{"level":"default:info"},"meshExpansion":{"enabled":false,"useILB":false},"meshNetworks":{},"monitoringPort":15014,"mtls":{"enabled":false},"multiCluster":{"enabled":false},"oneNamespace":false,"outboundTrafficPolicy":{"mode":"ALLOW_ANY"},"policyCheckFailOpen":false,"priorityClassName":"","proxy":{"accessLogEncoding":"TEXT","accessLogFile":"/dev/stdout","accessLogFormat":"","autoInject":"enabled","clusterDomain":"cluster.local","componentLogLevel":"","concurrency":2,"dnsRefreshRate":"300s","enableCoreDump":false,"envoyMetricsService":{"enabled":false,"host":null,"port":null},"envoyStatsd":{"enabled":false,"host":null,"port":null},"excludeIPRanges":"","excludeInboundPorts":"","excludeOutboundPorts":"","image":"proxyv2-arm64","includeIPRanges":"*","includeInboundPorts":"*","kubevirtInterfaces":"","logLevel":"","privileged":false,"readinessFailureThreshold":30,"readinessInitialDelaySeconds":1,"readinessPeriodSeconds":2,"resources":{"limits":{"cpu":"2000m","memory":"1024Mi"},"requests":{"cpu":"10m","memory":"40Mi"}},"statusPort":15020,"tracer":"zipkin"},"proxy_init":{"image":"proxy_init-arm64"},"sds":{"enabled":false,"udsPath":"","useNormalJwt":false,"useTrustworthyJwt":false},"tag":"1.2.3","tracer":{"datadog":{"address":"$(HOST_IP):8126"},"lightstep":{"accessToken":"","address":"","cacertPath":"","secure":true},"zipkin":{"address":""}},"trustDomain":"","useMCP":true},"image":"pilot","keepaliveMaxServerConnectionAge":"30m","nodeSelector":{},"podAntiAffinityLabelSelector":[],"podAntiAffinityTermLabelSelector":[],"resources":{"requests":{"cpu":"10m","memory":"100Mi"}},"sidecar":true,"tolerations":[],"traceSampling":100},"prometheus":{"contextPath":"/prometheus","enabled":true,"global":{"arch":{"amd64":2,"ppc64le":2,"arm64":2},"configValidation":true,"controlPlaneSecurityEnabled":false,"defaultNodeSelector":{},"defaultPodDisruptionBudget":{"enabled":true},"defaultResources":{"requests":{"cpu":"10m"}},"defaultTolerations":[],"disablePolicyChecks":false,"enableHelmTest":false,"enableTracing":true,"hub":"iecedge","imagePullPolicy":"IfNotPresent","imagePullSecrets":null,"k8sIngress":{"enableHttps":false,"enabled":false,"gatewayName":"ingressgateway"},"localityLbSetting":{},"logging":{"level":"default:info"},"meshExpansion":{"enabled":false,"useILB":false},"meshNetworks":{},"monitoringPort":15014,"mtls":{"enabled":false},"multiCluster":{"enabled":false},"oneNamespace":false,"outboundTrafficPolicy":{"mode":"ALLOW_ANY"},"policyCheckFailOpen":false,"priorityClassName":"","proxy":{"accessLogEncoding":"TEXT","accessLogFile":"/dev/stdout","accessLogFormat":"","autoInject":"enabled","clusterDomain":"cluster.local","componentLogLevel":"","concurrency":2,"dnsRefreshRate":"300s","enableCoreDump":false,"envoyMetricsService":{"enabled":false,"host":null,"port":null},"envoyStatsd":{"enabled":false,"host":null,"port":null},"excludeIPRanges":"","excludeInboundPorts":"","excludeOutboundPorts":"","image":"proxyv2-arm64","includeIPRanges":"*","includeInboundPorts":"*","kubevirtInterfaces":"","logLevel":"","privileged":false,"readinessFailureThreshold":30,"readinessInitialDelaySeconds":1,"readinessPeriodSeconds":2,"resources":{"limits":{"cpu":"2000m","memory":"1024Mi"},"requests":{"cpu":"10m","memory":"40Mi"}},"statusPort":15020,"tracer":"zipkin"},"proxy_init":{"image":"proxy_init-arm64"},"sds":{"enabled":false,"udsPath":"","useNormalJwt":false,"useTrustworthyJwt":false},"tag":"1.2.3","tracer":{"datadog":{"address":"$(HOST_IP):8126"},"lightstep":{"accessToken":"","address":"","cacertPath":"","secure":true},"zipkin":{"address":""}},"trustDomain":"","useMCP":true},"hub":"docker.io/prom","ingress":{"annotations":null,"enabled":false,"hosts":["prometheus.local"],"tls":null},"nodeSelector":{},"podAntiAffinityLabelSelector":[],"podAntiAffinityTermLabelSelector":[],"replicaCount":1,"retention":"6h","scrapeInterval":"15s","security":{"enabled":true},"service":{"annotations":{},"nodePort":{"enabled":false,"port":32090}},"tag":"v2.8.0","tolerations":[]},"security":{"citadelHealthCheck":false,"createMeshPolicy":true,"enabled":true,"global":{"arch":{"amd64":2,"ppc64le":2,"arm64":2},"configValidation":true,"controlPlaneSecurityEnabled":false,"defaultNodeSelector":{},"defaultPodDisruptionBudget":{"enabled":true},"defaultResources":{"requests":{"cpu":"10m"}},"defaultTolerations":[],"disablePolicyChecks":false,"enableHelmTest":false,"enableTracing":true,"hub":"iecedge","imagePullPolicy":"IfNotPresent","imagePullSecrets":null,"k8sIngress":{"enableHttps":false,"enabled":false,"gatewayName":"ingressgateway"},"localityLbSetting":{},"logging":{"level":"default:info"},"meshExpansion":{"enabled":false,"useILB":false},"meshNetworks":{},"monitoringPort":15014,"mtls":{"enabled":false},"multiCluster":{"enabled":false},"oneNamespace":false,"outboundTrafficPolicy":{"mode":"ALLOW_ANY"},"policyCheckFailOpen":false,"priorityClassName":"","proxy":{"accessLogEncoding":"TEXT","accessLogFile":"/dev/stdout","accessLogFormat":"","autoInject":"enabled","clusterDomain":"cluster.local","componentLogLevel":"","concurrency":2,"dnsRefreshRate":"300s","enableCoreDump":false,"envoyMetricsService":{"enabled":false,"host":null,"port":null},"envoyStatsd":{"enabled":false,"host":null,"port":null},"excludeIPRanges":"","excludeInboundPorts":"","excludeOutboundPorts":"","image":"proxyv2-arm64","includeIPRanges":"*","includeInboundPorts":"*","kubevirtInterfaces":"","logLevel":"","privileged":false,"readinessFailureThreshold":30,"readinessInitialDelaySeconds":1,"readinessPeriodSeconds":2,"resources":{"limits":{"cpu":"2000m","memory":"1024Mi"},"requests":{"cpu":"10m","memory":"40Mi"}},"statusPort":15020,"tracer":"zipkin"},"proxy_init":{"image":"proxy_init-arm64"},"sds":{"enabled":false,"udsPath":"","useNormalJwt":false,"useTrustworthyJwt":false},"tag":"1.2.3","tracer":{"datadog":{"address":"$(HOST_IP):8126"},"lightstep":{"accessToken":"","address":"","cacertPath":"","secure":true},"zipkin":{"address":""}},"trustDomain":"","useMCP":true},"image":"citadel","nodeSelector":{},"podAntiAffinityLabelSelector":[],"podAntiAffinityTermLabelSelector":[],"replicaCount":1,"selfSigned":true,"tolerations":[],"workloadCertTtl":"2160h"},"sidecarInjectorWebhook":{"alwaysInjectSelector":[],"enableNamespacesByDefault":false,"enabled":true,"global":{"arch":{"amd64":2,"ppc64le":2,"arm64":2},"configValidation":true,"controlPlaneSecurityEnabled":false,"defaultNodeSelector":{},"defaultPodDisruptionBudget":{"enabled":true},"defaultResources":{"requests":{"cpu":"10m"}},"defaultTolerations":[],"disablePolicyChecks":false,"enableHelmTest":false,"enableTracing":true,"hub":"iecedge","imagePullPolicy":"IfNotPresent","imagePullSecrets":null,"k8sIngress":{"enableHttps":false,"enabled":false,"gatewayName":"ingressgateway"},"localityLbSetting":{},"logging":{"level":"default:info"},"meshExpansion":{"enabled":false,"useILB":false},"meshNetworks":{},"monitoringPort":15014,"mtls":{"enabled":false},"multiCluster":{"enabled":false},"oneNamespace":false,"outboundTrafficPolicy":{"mode":"ALLOW_ANY"},"policyCheckFailOpen":false,"priorityClassName":"","proxy":{"accessLogEncoding":"TEXT","accessLogFile":"/dev/stdout","accessLogFormat":"","autoInject":"enabled","clusterDomain":"cluster.local","componentLogLevel":"","concurrency":2,"dnsRefreshRate":"300s","enableCoreDump":false,"envoyMetricsService":{"enabled":false,"host":null,"port":null},"envoyStatsd":{"enabled":false,"host":null,"port":null},"excludeIPRanges":"","excludeInboundPorts":"","excludeOutboundPorts":"","image":"proxyv2-arm64","includeIPRanges":"*","includeInboundPorts":"*","kubevirtInterfaces":"","logLevel":"","privileged":false,"readinessFailureThreshold":30,"readinessInitialDelaySeconds":1,"readinessPeriodSeconds":2,"resources":{"limits":{"cpu":"2000m","memory":"1024Mi"},"requests":{"cpu":"10m","memory":"40Mi"}},"statusPort":15020,"tracer":"zipkin"},"proxy_init":{"image":"proxy_init-arm64"},"sds":{"enabled":false,"udsPath":"","useNormalJwt":false,"useTrustworthyJwt":false},"tag":"1.2.3","tracer":{"datadog":{"address":"$(HOST_IP):8126"},"lightstep":{"accessToken":"","address":"","cacertPath":"","secure":true},"zipkin":{"address":""}},"trustDomain":"","useMCP":true},"image":"sidecar_injector","neverInjectSelector":[],"nodeSelector":{},"podAntiAffinityLabelSelector":[],"podAntiAffinityTermLabelSelector":[],"replicaCount":1,"rewriteAppHTTPProbe":false,"tolerations":[]},"tracing":{"enabled":true,"global":{"arch":{"amd64":2,"ppc64le":2,"arm64":2},"configValidation":true,"controlPlaneSecurityEnabled":false,"defaultNodeSelector":{},"defaultPodDisruptionBudget":{"enabled":true},"defaultResources":{"requests":{"cpu":"10m"}},"defaultTolerations":[],"disablePolicyChecks":false,"enableHelmTest":false,"enableTracing":true,"hub":"iecedge","imagePullPolicy":"IfNotPresent","imagePullSecrets":null,"k8sIngress":{"enableHttps":false,"enabled":false,"gatewayName":"ingressgateway"},"localityLbSetting":{},"logging":{"level":"default:info"},"meshExpansion":{"enabled":false,"useILB":false},"meshNetworks":{},"monitoringPort":15014,"mtls":{"enabled":false},"multiCluster":{"enabled":false},"oneNamespace":false,"outboundTrafficPolicy":{"mode":"ALLOW_ANY"},"policyCheckFailOpen":false,"priorityClassName":"","proxy":{"accessLogEncoding":"TEXT","accessLogFile":"/dev/stdout","accessLogFormat":"","autoInject":"enabled","clusterDomain":"cluster.local","componentLogLevel":"","concurrency":2,"dnsRefreshRate":"300s","enableCoreDump":false,"envoyMetricsService":{"enabled":false,"host":null,"port":null},"envoyStatsd":{"enabled":false,"host":null,"port":null},"excludeIPRanges":"","excludeInboundPorts":"","excludeOutboundPorts":"","image":"proxyv2-arm64","includeIPRanges":"*","includeInboundPorts":"*","kubevirtInterfaces":"","logLevel":"","privileged":false,"readinessFailureThreshold":30,"readinessInitialDelaySeconds":1,"readinessPeriodSeconds":2,"resources":{"limits":{"cpu":"2000m","memory":"1024Mi"},"requests":{"cpu":"10m","memory":"40Mi"}},"statusPort":15020,"tracer":"zipkin"},"proxy_init":{"image":"proxy_init-arm64"},"sds":{"enabled":false,"udsPath":"","useNormalJwt":false,"useTrustworthyJwt":false},"tag":"1.2.3","tracer":{"datadog":{"address":"$(HOST_IP):8126"},"lightstep":{"accessToken":"","address":"","cacertPath":"","secure":true},"zipkin":{"address":""}},"trustDomain":"","useMCP":true},"ingress":{"annotations":null,"enabled":false,"hosts":null,"tls":null},"jaeger":{"hub":"docker.io/jaegertracing","memory":{"max_traces":50000},"tag":1.9},"nodeSelector":{},"podAntiAffinityLabelSelector":[],"podAntiAffinityTermLabelSelector":[],"provider":"jaeger","service":{"annotations":{},"externalPort":9411,"name":"http","type":"ClusterIP"},"tolerations":[],"zipkin":{"hub":"docker.io/openzipkin","javaOptsHeap":700,"maxSpans":500000,"node":{"cpus":2},"probeStartupDelay":200,"queryPort":9411,"resources":{"limits":{"cpu":"300m","memory":"900Mi"},"requests":{"cpu":"150m","memory":"900Mi"}},"tag":2}}}\r
14762 \r
14763   config: |-\r
14764     policy: enabled\r
14765     alwaysInjectSelector:\r
14766       []\r
14767 \r
14768     neverInjectSelector:\r
14769       []\r
14770 \r
14771     template: |-\r
14772       rewriteAppHTTPProbe: {{ valueOrDefault .Values.sidecarInjectorWebhook.rewriteAppHTTPProbe false }}\r
14773       {{- if or (not .Values.istio_cni.enabled) .Values.global.proxy.enableCoreDump }}\r
14774       initContainers:\r
14775       {{ if ne (annotation .ObjectMeta `sidecar.istio.io/interceptionMode` .ProxyConfig.InterceptionMode) `NONE` }}\r
14776       {{- if not .Values.istio_cni.enabled }}\r
14777       - name: istio-init\r
14778       {{- if contains "/" .Values.global.proxy_init.image }}\r
14779         image: "{{ .Values.global.proxy_init.image }}"\r
14780       {{- else }}\r
14781         image: "{{ .Values.global.hub }}/{{ .Values.global.proxy_init.image }}:{{ .Values.global.tag }}"\r
14782       {{- end }}\r
14783         args:\r
14784         - "-p"\r
14785         - "15001"\r
14786         - "-u"\r
14787         - 1337\r
14788         - "-m"\r
14789         - "{{ annotation .ObjectMeta `sidecar.istio.io/interceptionMode` .ProxyConfig.InterceptionMode }}"\r
14790         - "-i"\r
14791         - "{{ annotation .ObjectMeta `traffic.sidecar.istio.io/includeOutboundIPRanges` .Values.global.proxy.includeIPRanges }}"\r
14792         - "-x"\r
14793         - "{{ annotation .ObjectMeta `traffic.sidecar.istio.io/excludeOutboundIPRanges` .Values.global.proxy.excludeIPRanges }}"\r
14794         - "-b"\r
14795         - "{{ annotation .ObjectMeta `traffic.sidecar.istio.io/includeInboundPorts` (includeInboundPorts .Spec.Containers) }}"\r
14796         - "-d"\r
14797         - "{{ excludeInboundPort (annotation .ObjectMeta `status.sidecar.istio.io/port` .Values.global.proxy.statusPort) (annotation .ObjectMeta `traffic.sidecar.istio.io/excludeInboundPorts` .Values.global.proxy.excludeInboundPorts) }}"\r
14798         {{ if or (isset .ObjectMeta.Annotations `traffic.sidecar.istio.io/excludeOutboundPorts`) (ne .Values.global.proxy.excludeOutboundPorts "") -}}\r
14799         - "-o"\r
14800         - "{{ annotation .ObjectMeta `traffic.sidecar.istio.io/excludeOutboundPorts` .Values.global.proxy.excludeOutboundPorts }}"\r
14801         {{ end -}}\r
14802         {{ if (isset .ObjectMeta.Annotations `traffic.sidecar.istio.io/kubevirtInterfaces`) -}}\r
14803         - "-k"\r
14804         - "{{ index .ObjectMeta.Annotations `traffic.sidecar.istio.io/kubevirtInterfaces` }}"\r
14805         {{ end -}}\r
14806         imagePullPolicy: "{{ .Values.global.imagePullPolicy }}"\r
14807         resources:\r
14808           requests:\r
14809             cpu: 10m\r
14810             memory: 10Mi\r
14811           limits:\r
14812             cpu: 100m\r
14813             memory: 50Mi\r
14814         securityContext:\r
14815           runAsUser: 0\r
14816           runAsNonRoot: false\r
14817           capabilities:\r
14818             add:\r
14819             - NET_ADMIN\r
14820           {{- if .Values.global.proxy.privileged }}\r
14821           privileged: true\r
14822           {{- end }}\r
14823         restartPolicy: Always\r
14824         env:\r
14825         {{- if contains "*" (annotation .ObjectMeta `traffic.sidecar.istio.io/includeInboundPorts` "") }}\r
14826         - name: INBOUND_CAPTURE_PORT\r
14827           value: 15006\r
14828         {{- end }}\r
14829       {{- end }}\r
14830       {{  end -}}\r
14831       {{- if eq .Values.global.proxy.enableCoreDump true }}\r
14832       - name: enable-core-dump\r
14833         args:\r
14834         - -c\r
14835         - sysctl -w kernel.core_pattern=/var/lib/istio/core.proxy && ulimit -c unlimited\r
14836         command:\r
14837           - /bin/sh\r
14838       {{- if contains "/" .Values.global.proxy_init.image }}\r
14839         image: "{{ .Values.global.proxy_init.image }}"\r
14840       {{- else }}\r
14841         image: "{{ .Values.global.hub }}/{{ .Values.global.proxy_init.image }}:{{ .Values.global.tag }}"\r
14842       {{- end }}\r
14843         imagePullPolicy: IfNotPresent\r
14844         resources: {}\r
14845         securityContext:\r
14846           runAsUser: 0\r
14847           runAsNonRoot: false\r
14848           privileged: true\r
14849       {{ end }}\r
14850       {{- end }}\r
14851       containers:\r
14852       - name: istio-proxy\r
14853       {{- if contains "/" .Values.global.proxy.image }}\r
14854         image: "{{ annotation .ObjectMeta `sidecar.istio.io/proxyImage` .Values.global.proxy.image }}"\r
14855       {{- else }}\r
14856         image: "{{ annotation .ObjectMeta `sidecar.istio.io/proxyImage` .Values.global.hub }}/{{ .Values.global.proxy.image }}:{{ .Values.global.tag }}"\r
14857       {{- end }}\r
14858         ports:\r
14859         - containerPort: 15090\r
14860           protocol: TCP\r
14861           name: http-envoy-prom\r
14862         args:\r
14863         - proxy\r
14864         - sidecar\r
14865         - --domain\r
14866         - $(POD_NAMESPACE).svc.{{ .Values.global.proxy.clusterDomain }}\r
14867         - --configPath\r
14868         - "{{ .ProxyConfig.ConfigPath }}"\r
14869         - --binaryPath\r
14870         - "{{ .ProxyConfig.BinaryPath }}"\r
14871         - --serviceCluster\r
14872         {{ if ne "" (index .ObjectMeta.Labels "app") -}}\r
14873         - "{{ index .ObjectMeta.Labels `app` }}.$(POD_NAMESPACE)"\r
14874         {{ else -}}\r
14875         - "{{ valueOrDefault .DeploymentMeta.Name `istio-proxy` }}.{{ valueOrDefault .DeploymentMeta.Namespace `default` }}"\r
14876         {{ end -}}\r
14877         - --drainDuration\r
14878         - "{{ formatDuration .ProxyConfig.DrainDuration }}"\r
14879         - --parentShutdownDuration\r
14880         - "{{ formatDuration .ProxyConfig.ParentShutdownDuration }}"\r
14881         - --discoveryAddress\r
14882         - "{{ annotation .ObjectMeta `sidecar.istio.io/discoveryAddress` .ProxyConfig.DiscoveryAddress }}"\r
14883       {{- if eq .Values.global.proxy.tracer "lightstep" }}\r
14884         - --lightstepAddress\r
14885         - "{{ .ProxyConfig.GetTracing.GetLightstep.GetAddress }}"\r
14886         - --lightstepAccessToken\r
14887         - "{{ .ProxyConfig.GetTracing.GetLightstep.GetAccessToken }}"\r
14888         - --lightstepSecure={{ .ProxyConfig.GetTracing.GetLightstep.GetSecure }}\r
14889         - --lightstepCacertPath\r
14890         - "{{ .ProxyConfig.GetTracing.GetLightstep.GetCacertPath }}"\r
14891       {{- else if eq .Values.global.proxy.tracer "zipkin" }}\r
14892         - --zipkinAddress\r
14893         - "{{ .ProxyConfig.GetTracing.GetZipkin.GetAddress }}"\r
14894       {{- else if eq .Values.global.proxy.tracer "datadog" }}\r
14895         - --datadogAgentAddress\r
14896         - "{{ .ProxyConfig.GetTracing.GetDatadog.GetAddress }}"\r
14897       {{- end }}\r
14898       {{- if .Values.global.proxy.logLevel }}\r
14899         - --proxyLogLevel={{ .Values.global.proxy.logLevel }}\r
14900       {{- end}}\r
14901       {{- if .Values.global.proxy.componentLogLevel }}\r
14902         - --proxyComponentLogLevel={{ .Values.global.proxy.componentLogLevel }}\r
14903       {{- end}}\r
14904         - --dnsRefreshRate\r
14905         - {{ .Values.global.proxy.dnsRefreshRate }}\r
14906         - --connectTimeout\r
14907         - "{{ formatDuration .ProxyConfig.ConnectTimeout }}"\r
14908       {{- if .Values.global.proxy.envoyStatsd.enabled }}\r
14909         - --statsdUdpAddress\r
14910         - "{{ .ProxyConfig.StatsdUdpAddress }}"\r
14911       {{- end }}\r
14912       {{- if .Values.global.proxy.envoyMetricsService.enabled }}\r
14913         - --envoyMetricsServiceAddress\r
14914         - "{{ .ProxyConfig.EnvoyMetricsServiceAddress }}"\r
14915       {{- end }}\r
14916         - --proxyAdminPort\r
14917         - "{{ .ProxyConfig.ProxyAdminPort }}"\r
14918         {{ if gt .ProxyConfig.Concurrency 0 -}}\r
14919         - --concurrency\r
14920         - "{{ .ProxyConfig.Concurrency }}"\r
14921         {{ end -}}\r
14922         - --controlPlaneAuthPolicy\r
14923         - "{{ annotation .ObjectMeta `sidecar.istio.io/controlPlaneAuthPolicy` .ProxyConfig.ControlPlaneAuthPolicy }}"\r
14924       {{- if (ne (annotation .ObjectMeta "status.sidecar.istio.io/port" .Values.global.proxy.statusPort) "0") }}\r
14925         - --statusPort\r
14926         - "{{ annotation .ObjectMeta `status.sidecar.istio.io/port` .Values.global.proxy.statusPort }}"\r
14927         - --applicationPorts\r
14928         - "{{ annotation .ObjectMeta `readiness.status.sidecar.istio.io/applicationPorts` (applicationPorts .Spec.Containers) }}"\r
14929       {{- end }}\r
14930       {{- if .Values.global.trustDomain }}\r
14931         - --trust-domain={{ .Values.global.trustDomain }}\r
14932       {{- end }}\r
14933         env:\r
14934         - name: POD_NAME\r
14935           valueFrom:\r
14936             fieldRef:\r
14937               fieldPath: metadata.name\r
14938         - name: POD_NAMESPACE\r
14939           valueFrom:\r
14940             fieldRef:\r
14941               fieldPath: metadata.namespace\r
14942         - name: INSTANCE_IP\r
14943           valueFrom:\r
14944             fieldRef:\r
14945               fieldPath: status.podIP\r
14946       {{ if eq .Values.global.proxy.tracer "datadog" }}\r
14947         - name: HOST_IP\r
14948           valueFrom:\r
14949             fieldRef:\r
14950               fieldPath: status.hostIP\r
14951       {{ end }}\r
14952         - name: ISTIO_META_POD_NAME\r
14953           valueFrom:\r
14954             fieldRef:\r
14955               fieldPath: metadata.name\r
14956         - name: ISTIO_META_CONFIG_NAMESPACE\r
14957           valueFrom:\r
14958             fieldRef:\r
14959               fieldPath: metadata.namespace\r
14960         - name: ISTIO_META_INTERCEPTION_MODE\r
14961           value: "{{ or (index .ObjectMeta.Annotations `sidecar.istio.io/interceptionMode`) .ProxyConfig.InterceptionMode.String }}"\r
14962         - name: ISTIO_META_INCLUDE_INBOUND_PORTS\r
14963           value: "{{ annotation .ObjectMeta `traffic.sidecar.istio.io/includeInboundPorts` (applicationPorts .Spec.Containers) }}"\r
14964         {{- if .Values.global.network }}\r
14965         - name: ISTIO_META_NETWORK\r
14966           value: "{{ .Values.global.network }}"\r
14967         {{- end }}\r
14968         {{ if .ObjectMeta.Annotations }}\r
14969         - name: ISTIO_METAJSON_ANNOTATIONS\r
14970           value: |\r
14971                  {{ toJSON .ObjectMeta.Annotations }}\r
14972         {{ end }}\r
14973         {{ if .ObjectMeta.Labels }}\r
14974         - name: ISTIO_METAJSON_LABELS\r
14975           value: |\r
14976                  {{ toJSON .ObjectMeta.Labels }}\r
14977         {{ end }}\r
14978         {{- if (isset .ObjectMeta.Annotations `sidecar.istio.io/bootstrapOverride`) }}\r
14979         - name: ISTIO_BOOTSTRAP_OVERRIDE\r
14980           value: "/etc/istio/custom-bootstrap/custom_bootstrap.json"\r
14981         {{- end }}\r
14982         {{- if .Values.global.sds.customTokenDirectory }}\r
14983         - name: ISTIO_META_SDS_TOKEN_PATH\r
14984           value: "{{ .Values.global.sds.customTokenDirectory -}}/sdstoken"\r
14985         {{- end }}\r
14986         imagePullPolicy: {{ .Values.global.imagePullPolicy }}\r
14987         {{ if ne (annotation .ObjectMeta `status.sidecar.istio.io/port` .Values.global.proxy.statusPort) `0` }}\r
14988         readinessProbe:\r
14989           httpGet:\r
14990             path: /healthz/ready\r
14991             port: {{ annotation .ObjectMeta `status.sidecar.istio.io/port` .Values.global.proxy.statusPort }}\r
14992           initialDelaySeconds: {{ annotation .ObjectMeta `readiness.status.sidecar.istio.io/initialDelaySeconds` .Values.global.proxy.readinessInitialDelaySeconds }}\r
14993           periodSeconds: {{ annotation .ObjectMeta `readiness.status.sidecar.istio.io/periodSeconds` .Values.global.proxy.readinessPeriodSeconds }}\r
14994           failureThreshold: {{ annotation .ObjectMeta `readiness.status.sidecar.istio.io/failureThreshold` .Values.global.proxy.readinessFailureThreshold }}\r
14995         {{ end -}}\r
14996         securityContext:\r
14997           {{- if .Values.global.proxy.privileged }}\r
14998           privileged: true\r
14999           {{- end }}\r
15000           {{- if ne .Values.global.proxy.enableCoreDump true }}\r
15001           readOnlyRootFilesystem: true\r
15002           {{- end }}\r
15003           {{ if eq (annotation .ObjectMeta `sidecar.istio.io/interceptionMode` .ProxyConfig.InterceptionMode) `TPROXY` -}}\r
15004           capabilities:\r
15005             add:\r
15006             - NET_ADMIN\r
15007           runAsGroup: 1337\r
15008           {{ else -}}\r
15009           {{ if and .Values.global.sds.enabled .Values.global.sds.useTrustworthyJwt }}\r
15010           runAsGroup: 1337\r
15011           {{- end }}\r
15012           runAsUser: 1337\r
15013           {{- end }}\r
15014         resources:\r
15015           {{ if or (isset .ObjectMeta.Annotations `sidecar.istio.io/proxyCPU`) (isset .ObjectMeta.Annotations `sidecar.istio.io/proxyMemory`) -}}\r
15016           requests:\r
15017             {{ if (isset .ObjectMeta.Annotations `sidecar.istio.io/proxyCPU`) -}}\r
15018             cpu: "{{ index .ObjectMeta.Annotations `sidecar.istio.io/proxyCPU` }}"\r
15019             {{ end}}\r
15020             {{ if (isset .ObjectMeta.Annotations `sidecar.istio.io/proxyMemory`) -}}\r
15021             memory: "{{ index .ObjectMeta.Annotations `sidecar.istio.io/proxyMemory` }}"\r
15022             {{ end }}\r
15023         {{ else -}}\r
15024       {{- if .Values.global.proxy.resources }}\r
15025           {{ toYaml .Values.global.proxy.resources | indent 4 }}\r
15026       {{- end }}\r
15027         {{  end -}}\r
15028         volumeMounts:\r
15029         {{ if (isset .ObjectMeta.Annotations `sidecar.istio.io/bootstrapOverride`) }}\r
15030         - mountPath: /etc/istio/custom-bootstrap\r
15031           name: custom-bootstrap-volume\r
15032         {{- end }}\r
15033         - mountPath: /etc/istio/proxy\r
15034           name: istio-envoy\r
15035         {{- if .Values.global.sds.enabled }}\r
15036         - mountPath: /var/run/sds\r
15037           name: sds-uds-path\r
15038           readOnly: true\r
15039         {{- if .Values.global.sds.useTrustworthyJwt }}\r
15040         - mountPath: /var/run/secrets/tokens\r
15041           name: istio-token\r
15042         {{- end }}\r
15043         {{- if .Values.global.sds.customTokenDirectory }}\r
15044         - mountPath: "{{ .Values.global.sds.customTokenDirectory -}}"\r
15045           name: custom-sds-token\r
15046           readOnly: true\r
15047         {{- end }}\r
15048         {{- else }}\r
15049         - mountPath: /etc/certs/\r
15050           name: istio-certs\r
15051           readOnly: true\r
15052         {{- end }}\r
15053         {{- if and (eq .Values.global.proxy.tracer "lightstep") .Values.global.tracer.lightstep.cacertPath }}\r
15054         - mountPath: {{ directory .ProxyConfig.GetTracing.GetLightstep.GetCacertPath }}\r
15055           name: lightstep-certs\r
15056           readOnly: true\r
15057         {{- end }}\r
15058           {{- if isset .ObjectMeta.Annotations `sidecar.istio.io/userVolumeMount` }}\r
15059           {{ range $index, $value := fromJSON (index .ObjectMeta.Annotations `sidecar.istio.io/userVolumeMount`) }}\r
15060         - name: "{{  $index }}"\r
15061           {{ toYaml $value | indent 4 }}\r
15062           {{ end }}\r
15063           {{- end }}\r
15064       volumes:\r
15065       {{- if (isset .ObjectMeta.Annotations `sidecar.istio.io/bootstrapOverride`) }}\r
15066       - name: custom-bootstrap-volume\r
15067         configMap:\r
15068           name: {{ annotation .ObjectMeta `sidecar.istio.io/bootstrapOverride` "" }}\r
15069       {{- end }}\r
15070       - emptyDir:\r
15071           medium: Memory\r
15072         name: istio-envoy\r
15073       {{- if .Values.global.sds.enabled }}\r
15074       - name: sds-uds-path\r
15075         hostPath:\r
15076           path: /var/run/sds\r
15077       {{- if .Values.global.sds.customTokenDirectory }}\r
15078       - name: custom-sds-token\r
15079         secret:\r
15080           secretName: sdstokensecret\r
15081       {{- end }}\r
15082       {{- if .Values.global.sds.useTrustworthyJwt }}\r
15083       - name: istio-token\r
15084         projected:\r
15085           sources:\r
15086           - serviceAccountToken:\r
15087               path: istio-token\r
15088               expirationSeconds: 43200\r
15089               audience: {{ .Values.global.trustDomain }}\r
15090       {{- end }}\r
15091       {{- else }}\r
15092       - name: istio-certs\r
15093         secret:\r
15094           optional: true\r
15095           {{ if eq .Spec.ServiceAccountName "" }}\r
15096           secretName: istio.default\r
15097           {{ else -}}\r
15098           secretName: {{  printf "istio.%s" .Spec.ServiceAccountName }}\r
15099           {{  end -}}\r
15100         {{- if isset .ObjectMeta.Annotations `sidecar.istio.io/userVolume` }}\r
15101         {{range $index, $value := fromJSON (index .ObjectMeta.Annotations `sidecar.istio.io/userVolume`) }}\r
15102       - name: "{{ $index }}"\r
15103         {{ toYaml $value | indent 2 }}\r
15104         {{ end }}\r
15105         {{ end }}\r
15106       {{- end }}\r
15107       {{- if and (eq .Values.global.proxy.tracer "lightstep") .Values.global.tracer.lightstep.cacertPath }}\r
15108       - name: lightstep-certs\r
15109         secret:\r
15110           optional: true\r
15111           secretName: lightstep.cacert\r
15112       {{- end }}\r
15113       {{- if .Values.global.podDNSSearchNamespaces }}\r
15114       dnsConfig:\r
15115         searches:\r
15116           {{- range .Values.global.podDNSSearchNamespaces }}\r
15117           - {{ render . }}\r
15118           {{- end }}\r
15119       {{- end }}\r
15120 \r
15121 ---\r
15122 # Source: istio/charts/galley/templates/serviceaccount.yaml\r
15123 apiVersion: v1\r
15124 kind: ServiceAccount\r
15125 metadata:\r
15126   name: istio-galley-service-account\r
15127   namespace: istio-system\r
15128   labels:\r
15129     app: galley\r
15130     chart: galley\r
15131     heritage: Tiller\r
15132     release: istio\r
15133 \r
15134 ---\r
15135 # Source: istio/charts/gateways/templates/serviceaccount.yaml\r
15136 \r
15137 apiVersion: v1\r
15138 kind: ServiceAccount\r
15139 metadata:\r
15140   name: istio-egressgateway-service-account\r
15141   namespace: istio-system\r
15142   labels:\r
15143     app: istio-egressgateway\r
15144     chart: gateways\r
15145     heritage: Tiller\r
15146     release: istio\r
15147 ---\r
15148 apiVersion: v1\r
15149 kind: ServiceAccount\r
15150 metadata:\r
15151   name: istio-ingressgateway-service-account\r
15152   namespace: istio-system\r
15153   labels:\r
15154     app: istio-ingressgateway\r
15155     chart: gateways\r
15156     heritage: Tiller\r
15157     release: istio\r
15158 ---\r
15159 \r
15160 \r
15161 ---\r
15162 # Source: istio/charts/grafana/templates/create-custom-resources-job.yaml\r
15163 apiVersion: v1\r
15164 kind: ServiceAccount\r
15165 metadata:\r
15166   name: istio-grafana-post-install-account\r
15167   namespace: istio-system\r
15168   labels:\r
15169     app: grafana\r
15170     chart: grafana\r
15171     heritage: Tiller\r
15172     release: istio\r
15173 ---\r
15174 apiVersion: rbac.authorization.k8s.io/v1\r
15175 kind: ClusterRole\r
15176 metadata:\r
15177   name: istio-grafana-post-install-istio-system\r
15178   labels:\r
15179     app: grafana\r
15180     chart: grafana\r
15181     heritage: Tiller\r
15182     release: istio\r
15183 rules:\r
15184 - apiGroups: ["authentication.istio.io"] # needed to create default authn policy\r
15185   resources: ["*"]\r
15186   verbs: ["*"]\r
15187 ---\r
15188 apiVersion: rbac.authorization.k8s.io/v1\r
15189 kind: ClusterRoleBinding\r
15190 metadata:\r
15191   name: istio-grafana-post-install-role-binding-istio-system\r
15192   labels:\r
15193     app: grafana\r
15194     chart: grafana\r
15195     heritage: Tiller\r
15196     release: istio\r
15197 roleRef:\r
15198   apiGroup: rbac.authorization.k8s.io\r
15199   kind: ClusterRole\r
15200   name: istio-grafana-post-install-istio-system\r
15201 subjects:\r
15202   - kind: ServiceAccount\r
15203     name: istio-grafana-post-install-account\r
15204     namespace: istio-system\r
15205 ---\r
15206 apiVersion: batch/v1\r
15207 kind: Job\r
15208 metadata:\r
15209   name: istio-grafana-post-install-1.2.3\r
15210   namespace: istio-system\r
15211   annotations:\r
15212     "helm.sh/hook": post-install\r
15213     "helm.sh/hook-delete-policy": hook-succeeded\r
15214   labels:\r
15215     app: grafana\r
15216     chart: grafana\r
15217     heritage: Tiller\r
15218     release: istio\r
15219 spec:\r
15220   template:\r
15221     metadata:\r
15222       name: istio-grafana-post-install\r
15223       labels:\r
15224         app: istio-grafana\r
15225         chart: grafana\r
15226         heritage: Tiller\r
15227         release: istio\r
15228     spec:\r
15229       serviceAccountName: istio-grafana-post-install-account\r
15230       containers:\r
15231         - name: kubectl\r
15232           image: "iecedge/kubectl-arm64:1.2.3"\r
15233           imagePullPolicy: IfNotPresent\r
15234           command: [ "/bin/bash", "/tmp/grafana/run.sh", "/tmp/grafana/custom-resources.yaml" ]\r
15235           volumeMounts:\r
15236             - mountPath: "/tmp/grafana"\r
15237               name: tmp-configmap-grafana\r
15238       volumes:\r
15239         - name: tmp-configmap-grafana\r
15240           configMap:\r
15241             name: istio-grafana-custom-resources\r
15242       restartPolicy: OnFailure\r
15243       affinity:\r
15244         nodeAffinity:\r
15245           requiredDuringSchedulingIgnoredDuringExecution:\r
15246             nodeSelectorTerms:\r
15247             - matchExpressions:\r
15248               - key: beta.kubernetes.io/arch\r
15249                 operator: In\r
15250                 values:\r
15251                 - amd64\r
15252                 - ppc64le\r
15253                 - arm64\r
15254           preferredDuringSchedulingIgnoredDuringExecution:\r
15255           - weight: 2\r
15256             preference:\r
15257               matchExpressions:\r
15258               - key: beta.kubernetes.io/arch\r
15259                 operator: In\r
15260                 values:\r
15261                 - amd64\r
15262           - weight: 2\r
15263             preference:\r
15264               matchExpressions:\r
15265               - key: beta.kubernetes.io/arch\r
15266                 operator: In\r
15267                 values:\r
15268                 - ppc64le\r
15269           - weight: 2\r
15270             preference:\r
15271               matchExpressions:\r
15272               - key: beta.kubernetes.io/arch\r
15273                 operator: In\r
15274                 values:\r
15275                 - arm64\r
15276 \r
15277 ---\r
15278 # Source: istio/charts/kiali/templates/serviceaccount.yaml\r
15279 apiVersion: v1\r
15280 kind: ServiceAccount\r
15281 metadata:\r
15282   name: kiali-service-account\r
15283   namespace: istio-system\r
15284   labels:\r
15285     app: kiali\r
15286     chart: kiali\r
15287     heritage: Tiller\r
15288     release: istio\r
15289 \r
15290 ---\r
15291 # Source: istio/charts/mixer/templates/serviceaccount.yaml\r
15292 \r
15293 apiVersion: v1\r
15294 kind: ServiceAccount\r
15295 metadata:\r
15296   name: istio-mixer-service-account\r
15297   namespace: istio-system\r
15298   labels:\r
15299     app: mixer\r
15300     chart: mixer\r
15301     heritage: Tiller\r
15302     release: istio\r
15303 \r
15304 ---\r
15305 # Source: istio/charts/pilot/templates/serviceaccount.yaml\r
15306 apiVersion: v1\r
15307 kind: ServiceAccount\r
15308 metadata:\r
15309   name: istio-pilot-service-account\r
15310   namespace: istio-system\r
15311   labels:\r
15312     app: pilot\r
15313     chart: pilot\r
15314     heritage: Tiller\r
15315     release: istio\r
15316 \r
15317 ---\r
15318 # Source: istio/charts/prometheus/templates/serviceaccount.yaml\r
15319 apiVersion: v1\r
15320 kind: ServiceAccount\r
15321 metadata:\r
15322   name: prometheus\r
15323   namespace: istio-system\r
15324   labels:\r
15325     app: prometheus\r
15326     chart: prometheus\r
15327     heritage: Tiller\r
15328     release: istio\r
15329 \r
15330 ---\r
15331 # Source: istio/charts/security/templates/cleanup-secrets.yaml\r
15332 # The reason for creating a ServiceAccount and ClusterRole specifically for this\r
15333 # post-delete hooked job is because the citadel ServiceAccount is being deleted\r
15334 # before this hook is launched. On the other hand, running this hook before the\r
15335 # deletion of the citadel (e.g. pre-delete) won't delete the secrets because they\r
15336 # will be re-created immediately by the to-be-deleted citadel.\r
15337 #\r
15338 # It's also important that the ServiceAccount, ClusterRole and ClusterRoleBinding\r
15339 # will be ready before running the hooked Job therefore the hook weights.\r
15340 \r
15341 apiVersion: v1\r
15342 kind: ServiceAccount\r
15343 metadata:\r
15344   name: istio-cleanup-secrets-service-account\r
15345   namespace: istio-system\r
15346   annotations:\r
15347     "helm.sh/hook": post-delete\r
15348     "helm.sh/hook-delete-policy": hook-succeeded\r
15349     "helm.sh/hook-weight": "1"\r
15350   labels:\r
15351     app: security\r
15352     chart: security\r
15353     heritage: Tiller\r
15354     release: istio\r
15355 ---\r
15356 apiVersion: rbac.authorization.k8s.io/v1\r
15357 kind: ClusterRole\r
15358 metadata:\r
15359   name: istio-cleanup-secrets-istio-system\r
15360   annotations:\r
15361     "helm.sh/hook": post-delete\r
15362     "helm.sh/hook-delete-policy": hook-succeeded\r
15363     "helm.sh/hook-weight": "1"\r
15364   labels:\r
15365     app: security\r
15366     chart: security\r
15367     heritage: Tiller\r
15368     release: istio\r
15369 rules:\r
15370 - apiGroups: [""]\r
15371   resources: ["secrets"]\r
15372   verbs: ["list", "delete"]\r
15373 ---\r
15374 apiVersion: rbac.authorization.k8s.io/v1\r
15375 kind: ClusterRoleBinding\r
15376 metadata:\r
15377   name: istio-cleanup-secrets-istio-system\r
15378   annotations:\r
15379     "helm.sh/hook": post-delete\r
15380     "helm.sh/hook-delete-policy": hook-succeeded\r
15381     "helm.sh/hook-weight": "2"\r
15382   labels:\r
15383     app: security\r
15384     chart: security\r
15385     heritage: Tiller\r
15386     release: istio\r
15387 roleRef:\r
15388   apiGroup: rbac.authorization.k8s.io\r
15389   kind: ClusterRole\r
15390   name: istio-cleanup-secrets-istio-system\r
15391 subjects:\r
15392   - kind: ServiceAccount\r
15393     name: istio-cleanup-secrets-service-account\r
15394     namespace: istio-system\r
15395 ---\r
15396 apiVersion: batch/v1\r
15397 kind: Job\r
15398 metadata:\r
15399   name: istio-cleanup-secrets-1.2.3\r
15400   namespace: istio-system\r
15401   annotations:\r
15402     "helm.sh/hook": post-delete\r
15403     "helm.sh/hook-delete-policy": hook-succeeded\r
15404     "helm.sh/hook-weight": "3"\r
15405   labels:\r
15406     app: security\r
15407     chart: security\r
15408     heritage: Tiller\r
15409     release: istio\r
15410 spec:\r
15411   template:\r
15412     metadata:\r
15413       name: istio-cleanup-secrets\r
15414       labels:\r
15415         app: security\r
15416         chart: security\r
15417         heritage: Tiller\r
15418         release: istio\r
15419     spec:\r
15420       serviceAccountName: istio-cleanup-secrets-service-account\r
15421       containers:\r
15422         - name: kubectl\r
15423           image: "iecedge/kubectl-arm64:1.2.3"\r
15424           imagePullPolicy: IfNotPresent\r
15425           command:\r
15426           - /bin/bash\r
15427           - -c\r
15428           - >\r
15429               kubectl get secret --all-namespaces | grep "istio.io/key-and-cert" |  while read -r entry; do\r
15430                 ns=$(echo $entry | awk '{print $1}');\r
15431                 name=$(echo $entry | awk '{print $2}');\r
15432                 kubectl delete secret $name -n $ns;\r
15433               done\r
15434       restartPolicy: OnFailure\r
15435       affinity:\r
15436         nodeAffinity:\r
15437           requiredDuringSchedulingIgnoredDuringExecution:\r
15438             nodeSelectorTerms:\r
15439             - matchExpressions:\r
15440               - key: beta.kubernetes.io/arch\r
15441                 operator: In\r
15442                 values:\r
15443                 - amd64\r
15444                 - ppc64le\r
15445                 - arm64\r
15446           preferredDuringSchedulingIgnoredDuringExecution:\r
15447           - weight: 2\r
15448             preference:\r
15449               matchExpressions:\r
15450               - key: beta.kubernetes.io/arch\r
15451                 operator: In\r
15452                 values:\r
15453                 - amd64\r
15454           - weight: 2\r
15455             preference:\r
15456               matchExpressions:\r
15457               - key: beta.kubernetes.io/arch\r
15458                 operator: In\r
15459                 values:\r
15460                 - ppc64le\r
15461           - weight: 2\r
15462             preference:\r
15463               matchExpressions:\r
15464               - key: beta.kubernetes.io/arch\r
15465                 operator: In\r
15466                 values:\r
15467                 - arm64\r
15468 \r
15469 ---\r
15470 # Source: istio/charts/security/templates/create-custom-resources-job.yaml\r
15471 \r
15472 apiVersion: v1\r
15473 kind: ServiceAccount\r
15474 metadata:\r
15475   name: istio-security-post-install-account\r
15476   namespace: istio-system\r
15477   labels:\r
15478     app: security\r
15479     chart: security\r
15480     heritage: Tiller\r
15481     release: istio\r
15482 ---\r
15483 apiVersion: rbac.authorization.k8s.io/v1beta1\r
15484 kind: ClusterRole\r
15485 metadata:\r
15486   name: istio-security-post-install-istio-system\r
15487   labels:\r
15488     app: security\r
15489     chart: security\r
15490     heritage: Tiller\r
15491     release: istio\r
15492 rules:\r
15493 - apiGroups: ["authentication.istio.io"] # needed to create default authn policy\r
15494   resources: ["*"]\r
15495   verbs: ["*"]\r
15496 - apiGroups: ["networking.istio.io"] # needed to create security destination rules\r
15497   resources: ["*"]\r
15498   verbs: ["*"]\r
15499 - apiGroups: ["admissionregistration.k8s.io"]\r
15500   resources: ["validatingwebhookconfigurations"]\r
15501   verbs: ["get"]\r
15502 - apiGroups: ["extensions", "apps"]\r
15503   resources: ["deployments", "replicasets"]\r
15504   verbs: ["get", "list", "watch"]\r
15505 ---\r
15506 apiVersion: rbac.authorization.k8s.io/v1beta1\r
15507 kind: ClusterRoleBinding\r
15508 metadata:\r
15509   name: istio-security-post-install-role-binding-istio-system\r
15510   labels:\r
15511     app: security\r
15512     chart: security\r
15513     heritage: Tiller\r
15514     release: istio\r
15515 roleRef:\r
15516   apiGroup: rbac.authorization.k8s.io\r
15517   kind: ClusterRole\r
15518   name: istio-security-post-install-istio-system\r
15519 subjects:\r
15520   - kind: ServiceAccount\r
15521     name: istio-security-post-install-account\r
15522     namespace: istio-system\r
15523 ---\r
15524 apiVersion: batch/v1\r
15525 kind: Job\r
15526 metadata:\r
15527   name: istio-security-post-install-1.2.3\r
15528   namespace: istio-system\r
15529   annotations:\r
15530     "helm.sh/hook": post-install\r
15531     "helm.sh/hook-delete-policy": hook-succeeded\r
15532   labels:\r
15533     app: security\r
15534     chart: security\r
15535     heritage: Tiller\r
15536     release: istio\r
15537 spec:\r
15538   template:\r
15539     metadata:\r
15540       name: istio-security-post-install\r
15541       labels:\r
15542         app: security\r
15543         chart: security\r
15544         heritage: Tiller\r
15545         release: istio\r
15546     spec:\r
15547       serviceAccountName: istio-security-post-install-account\r
15548       containers:\r
15549         - name: kubectl\r
15550           image: "iecedge/kubectl-arm64:1.2.3"\r
15551           imagePullPolicy: IfNotPresent\r
15552           command: [ "/bin/bash", "/tmp/security/run.sh", "/tmp/security/custom-resources.yaml" ]\r
15553           volumeMounts:\r
15554             - mountPath: "/tmp/security"\r
15555               name: tmp-configmap-security\r
15556       volumes:\r
15557         - name: tmp-configmap-security\r
15558           configMap:\r
15559             name: istio-security-custom-resources\r
15560       restartPolicy: OnFailure\r
15561       affinity:\r
15562         nodeAffinity:\r
15563           requiredDuringSchedulingIgnoredDuringExecution:\r
15564             nodeSelectorTerms:\r
15565             - matchExpressions:\r
15566               - key: beta.kubernetes.io/arch\r
15567                 operator: In\r
15568                 values:\r
15569                 - amd64\r
15570                 - ppc64le\r
15571                 - arm64\r
15572           preferredDuringSchedulingIgnoredDuringExecution:\r
15573           - weight: 2\r
15574             preference:\r
15575               matchExpressions:\r
15576               - key: beta.kubernetes.io/arch\r
15577                 operator: In\r
15578                 values:\r
15579                 - amd64\r
15580           - weight: 2\r
15581             preference:\r
15582               matchExpressions:\r
15583               - key: beta.kubernetes.io/arch\r
15584                 operator: In\r
15585                 values:\r
15586                 - ppc64le\r
15587           - weight: 2\r
15588             preference:\r
15589               matchExpressions:\r
15590               - key: beta.kubernetes.io/arch\r
15591                 operator: In\r
15592                 values:\r
15593                 - arm64\r
15594 \r
15595 ---\r
15596 # Source: istio/charts/security/templates/serviceaccount.yaml\r
15597 apiVersion: v1\r
15598 kind: ServiceAccount\r
15599 metadata:\r
15600   name: istio-citadel-service-account\r
15601   namespace: istio-system\r
15602   labels:\r
15603     app: security\r
15604     chart: security\r
15605     heritage: Tiller\r
15606     release: istio\r
15607 \r
15608 ---\r
15609 # Source: istio/charts/sidecarInjectorWebhook/templates/serviceaccount.yaml\r
15610 apiVersion: v1\r
15611 kind: ServiceAccount\r
15612 metadata:\r
15613   name: istio-sidecar-injector-service-account\r
15614   namespace: istio-system\r
15615   labels:\r
15616     app: sidecarInjectorWebhook\r
15617     chart: sidecarInjectorWebhook\r
15618     heritage: Tiller\r
15619     release: istio\r
15620     istio: sidecar-injector\r
15621 \r
15622 ---\r
15623 # Source: istio/templates/serviceaccount.yaml\r
15624 apiVersion: v1\r
15625 kind: ServiceAccount\r
15626 metadata:\r
15627   name: istio-multi\r
15628   namespace: istio-system\r
15629 \r
15630 ---\r
15631 # Source: istio/charts/galley/templates/clusterrole.yaml\r
15632 apiVersion: rbac.authorization.k8s.io/v1\r
15633 kind: ClusterRole\r
15634 metadata:\r
15635   name: istio-galley-istio-system\r
15636   labels:\r
15637     app: galley\r
15638     chart: galley\r
15639     heritage: Tiller\r
15640     release: istio\r
15641 rules:\r
15642 - apiGroups: ["admissionregistration.k8s.io"]\r
15643   resources: ["validatingwebhookconfigurations"]\r
15644   verbs: ["*"]\r
15645 - apiGroups: ["config.istio.io"] # istio mixer CRD watcher\r
15646   resources: ["*"]\r
15647   verbs: ["get", "list", "watch"]\r
15648 - apiGroups: ["networking.istio.io"]\r
15649   resources: ["*"]\r
15650   verbs: ["get", "list", "watch"]\r
15651 - apiGroups: ["authentication.istio.io"]\r
15652   resources: ["*"]\r
15653   verbs: ["get", "list", "watch"]\r
15654 - apiGroups: ["rbac.istio.io"]\r
15655   resources: ["*"]\r
15656   verbs: ["get", "list", "watch"]\r
15657 - apiGroups: ["extensions","apps"]\r
15658   resources: ["deployments"]\r
15659   resourceNames: ["istio-galley"]\r
15660   verbs: ["get"]\r
15661 - apiGroups: [""]\r
15662   resources: ["pods", "nodes", "services", "endpoints"]\r
15663   verbs: ["get", "list", "watch"]\r
15664 - apiGroups: ["extensions"]\r
15665   resources: ["ingresses"]\r
15666   verbs: ["get", "list", "watch"]\r
15667 - apiGroups: ["extensions"]\r
15668   resources: ["deployments/finalizers"]\r
15669   resourceNames: ["istio-galley"]\r
15670   verbs: ["update"]\r
15671 \r
15672 ---\r
15673 # Source: istio/charts/kiali/templates/clusterrole.yaml\r
15674 apiVersion: rbac.authorization.k8s.io/v1\r
15675 kind: ClusterRole\r
15676 metadata:\r
15677   name: kiali\r
15678   labels:\r
15679     app: kiali\r
15680     chart: kiali\r
15681     heritage: Tiller\r
15682     release: istio\r
15683 rules:\r
15684 - apiGroups: [""]\r
15685   resources:\r
15686   - configmaps\r
15687   - endpoints\r
15688   - namespaces\r
15689   - nodes\r
15690   - pods\r
15691   - pods/log\r
15692   - replicationcontrollers\r
15693   - services\r
15694   verbs:\r
15695   - get\r
15696   - list\r
15697   - watch\r
15698 - apiGroups: ["extensions", "apps"]\r
15699   resources:\r
15700   - deployments\r
15701   - replicasets\r
15702   - statefulsets\r
15703   verbs:\r
15704   - get\r
15705   - list\r
15706   - watch\r
15707 - apiGroups: ["autoscaling"]\r
15708   resources:\r
15709   - horizontalpodautoscalers\r
15710   verbs:\r
15711   - get\r
15712   - list\r
15713   - watch\r
15714 - apiGroups: ["batch"]\r
15715   resources:\r
15716   - cronjobs\r
15717   - jobs\r
15718   verbs:\r
15719   - get\r
15720   - list\r
15721   - watch\r
15722 - apiGroups: ["config.istio.io"]\r
15723   resources:\r
15724   - adapters\r
15725   - apikeys\r
15726   - bypasses\r
15727   - authorizations\r
15728   - checknothings\r
15729   - circonuses\r
15730   - cloudwatches\r
15731   - deniers\r
15732   - dogstatsds\r
15733   - edges\r
15734   - fluentds\r
15735   - handlers\r
15736   - instances\r
15737   - kubernetesenvs\r
15738   - kuberneteses\r
15739   - listcheckers\r
15740   - listentries\r
15741   - logentries\r
15742   - memquotas\r
15743   - metrics\r
15744   - noops\r
15745   - opas\r
15746   - prometheuses\r
15747   - quotas\r
15748   - quotaspecbindings\r
15749   - quotaspecs\r
15750   - rbacs\r
15751   - redisquotas\r
15752   - reportnothings\r
15753   - rules\r
15754   - signalfxs\r
15755   - solarwindses\r
15756   - stackdrivers\r
15757   - statsds\r
15758   - stdios\r
15759   - templates\r
15760   - tracespans\r
15761   - zipkins\r
15762   verbs:\r
15763   - create\r
15764   - delete\r
15765   - get\r
15766   - list\r
15767   - patch\r
15768   - watch\r
15769 - apiGroups: ["networking.istio.io"]\r
15770   resources:\r
15771   - destinationrules\r
15772   - gateways\r
15773   - serviceentries\r
15774   - virtualservices\r
15775   verbs:\r
15776   - create\r
15777   - delete\r
15778   - get\r
15779   - list\r
15780   - patch\r
15781   - watch\r
15782 - apiGroups: ["authentication.istio.io"]\r
15783   resources:\r
15784   - meshpolicies\r
15785   - policies\r
15786   verbs:\r
15787   - create\r
15788   - delete\r
15789   - get\r
15790   - list\r
15791   - patch\r
15792   - watch\r
15793 - apiGroups: ["rbac.istio.io"]\r
15794   resources:\r
15795   - clusterrbacconfigs\r
15796   - rbacconfigs\r
15797   - servicerolebindings\r
15798   - serviceroles\r
15799   verbs:\r
15800   - create\r
15801   - delete\r
15802   - get\r
15803   - list\r
15804   - patch\r
15805   - watch\r
15806 - apiGroups: ["monitoring.kiali.io"]\r
15807   resources:\r
15808   - monitoringdashboards\r
15809   verbs:\r
15810   - get\r
15811   - list\r
15812 ---\r
15813 apiVersion: rbac.authorization.k8s.io/v1\r
15814 kind: ClusterRole\r
15815 metadata:\r
15816   name: kiali-viewer\r
15817   labels:\r
15818     app: kiali\r
15819     chart: kiali\r
15820     heritage: Tiller\r
15821     release: istio\r
15822 rules:\r
15823 - apiGroups: [""]\r
15824   resources:\r
15825   - configmaps\r
15826   - endpoints\r
15827   - namespaces\r
15828   - nodes\r
15829   - pods\r
15830   - pods/log\r
15831   - replicationcontrollers\r
15832   - services\r
15833   verbs:\r
15834   - get\r
15835   - list\r
15836   - watch\r
15837 - apiGroups: ["extensions", "apps"]\r
15838   resources:\r
15839   - deployments\r
15840   - replicasets\r
15841   - statefulsets\r
15842   verbs:\r
15843   - get\r
15844   - list\r
15845   - watch\r
15846 - apiGroups: ["autoscaling"]\r
15847   resources:\r
15848   - horizontalpodautoscalers\r
15849   verbs:\r
15850   - get\r
15851   - list\r
15852   - watch\r
15853 - apiGroups: ["batch"]\r
15854   resources:\r
15855   - cronjobs\r
15856   - jobs\r
15857   verbs:\r
15858   - get\r
15859   - list\r
15860   - watch\r
15861 - apiGroups: ["config.istio.io"]\r
15862   resources:\r
15863   - adapters\r
15864   - apikeys\r
15865   - bypasses\r
15866   - authorizations\r
15867   - checknothings\r
15868   - circonuses\r
15869   - cloudwatches\r
15870   - deniers\r
15871   - dogstatsds\r
15872   - edges\r
15873   - fluentds\r
15874   - handlers\r
15875   - instances\r
15876   - kubernetesenvs\r
15877   - kuberneteses\r
15878   - listcheckers\r
15879   - listentries\r
15880   - logentries\r
15881   - memquotas\r
15882   - metrics\r
15883   - noops\r
15884   - opas\r
15885   - prometheuses\r
15886   - quotas\r
15887   - quotaspecbindings\r
15888   - quotaspecs\r
15889   - rbacs\r
15890   - redisquotas\r
15891   - reportnothings\r
15892   - rules\r
15893   - signalfxs\r
15894   - solarwindses\r
15895   - stackdrivers\r
15896   - statsds\r
15897   - stdios\r
15898   - templates\r
15899   - tracespans\r
15900   - zipkins\r
15901   verbs:\r
15902   - get\r
15903   - list\r
15904   - watch\r
15905 - apiGroups: ["networking.istio.io"]\r
15906   resources:\r
15907   - destinationrules\r
15908   - gateways\r
15909   - serviceentries\r
15910   - virtualservices\r
15911   verbs:\r
15912   - get\r
15913   - list\r
15914   - watch\r
15915 - apiGroups: ["authentication.istio.io"]\r
15916   resources:\r
15917   - meshpolicies\r
15918   - policies\r
15919   verbs:\r
15920   - get\r
15921   - list\r
15922   - watch\r
15923 - apiGroups: ["rbac.istio.io"]\r
15924   resources:\r
15925   - clusterrbacconfigs\r
15926   - rbacconfigs\r
15927   - servicerolebindings\r
15928   - serviceroles\r
15929   verbs:\r
15930   - get\r
15931   - list\r
15932   - watch\r
15933 - apiGroups: ["monitoring.kiali.io"]\r
15934   resources:\r
15935   - monitoringdashboards\r
15936   verbs:\r
15937   - get\r
15938   - list\r
15939 \r
15940 ---\r
15941 # Source: istio/charts/mixer/templates/clusterrole.yaml\r
15942 \r
15943 apiVersion: rbac.authorization.k8s.io/v1\r
15944 kind: ClusterRole\r
15945 metadata:\r
15946   name: istio-mixer-istio-system\r
15947   labels:\r
15948     app: mixer\r
15949     chart: mixer\r
15950     heritage: Tiller\r
15951     release: istio\r
15952 rules:\r
15953 - apiGroups: ["config.istio.io"] # istio CRD watcher\r
15954   resources: ["*"]\r
15955   verbs: ["create", "get", "list", "watch", "patch"]\r
15956 - apiGroups: ["apiextensions.k8s.io"]\r
15957   resources: ["customresourcedefinitions"]\r
15958   verbs: ["get", "list", "watch"]\r
15959 - apiGroups: [""]\r
15960   resources: ["configmaps", "endpoints", "pods", "services", "namespaces", "secrets", "replicationcontrollers"]\r
15961   verbs: ["get", "list", "watch"]\r
15962 - apiGroups: ["extensions", "apps"]\r
15963   resources: ["replicasets"]\r
15964   verbs: ["get", "list", "watch"]\r
15965 \r
15966 ---\r
15967 # Source: istio/charts/pilot/templates/clusterrole.yaml\r
15968 apiVersion: rbac.authorization.k8s.io/v1\r
15969 kind: ClusterRole\r
15970 metadata:\r
15971   name: istio-pilot-istio-system\r
15972   labels:\r
15973     app: pilot\r
15974     chart: pilot\r
15975     heritage: Tiller\r
15976     release: istio\r
15977 rules:\r
15978 - apiGroups: ["config.istio.io"]\r
15979   resources: ["*"]\r
15980   verbs: ["*"]\r
15981 - apiGroups: ["rbac.istio.io"]\r
15982   resources: ["*"]\r
15983   verbs: ["get", "watch", "list"]\r
15984 - apiGroups: ["networking.istio.io"]\r
15985   resources: ["*"]\r
15986   verbs: ["*"]\r
15987 - apiGroups: ["authentication.istio.io"]\r
15988   resources: ["*"]\r
15989   verbs: ["*"]\r
15990 - apiGroups: ["apiextensions.k8s.io"]\r
15991   resources: ["customresourcedefinitions"]\r
15992   verbs: ["*"]\r
15993 - apiGroups: ["extensions"]\r
15994   resources: ["ingresses", "ingresses/status"]\r
15995   verbs: ["*"]\r
15996 - apiGroups: [""]\r
15997   resources: ["configmaps"]\r
15998   verbs: ["create", "get", "list", "watch", "update"]\r
15999 - apiGroups: [""]\r
16000   resources: ["endpoints", "pods", "services", "namespaces", "nodes", "secrets"]\r
16001   verbs: ["get", "list", "watch"]\r
16002 \r
16003 ---\r
16004 # Source: istio/charts/prometheus/templates/clusterrole.yaml\r
16005 apiVersion: rbac.authorization.k8s.io/v1\r
16006 kind: ClusterRole\r
16007 metadata:\r
16008   name: prometheus-istio-system\r
16009   labels:\r
16010     app: prometheus\r
16011     chart: prometheus\r
16012     heritage: Tiller\r
16013     release: istio\r
16014 rules:\r
16015 - apiGroups: [""]\r
16016   resources:\r
16017   - nodes\r
16018   - services\r
16019   - endpoints\r
16020   - pods\r
16021   - nodes/proxy\r
16022   verbs: ["get", "list", "watch"]\r
16023 - apiGroups: [""]\r
16024   resources:\r
16025   - configmaps\r
16026   verbs: ["get"]\r
16027 - nonResourceURLs: ["/metrics"]\r
16028   verbs: ["get"]\r
16029 \r
16030 ---\r
16031 # Source: istio/charts/security/templates/clusterrole.yaml\r
16032 apiVersion: rbac.authorization.k8s.io/v1\r
16033 kind: ClusterRole\r
16034 metadata:\r
16035   name: istio-citadel-istio-system\r
16036   labels:\r
16037     app: security\r
16038     chart: security\r
16039     heritage: Tiller\r
16040     release: istio\r
16041 rules:\r
16042 - apiGroups: [""]\r
16043   resources: ["configmaps"]\r
16044   verbs: ["create", "get", "update"]\r
16045 - apiGroups: [""]\r
16046   resources: ["secrets"]\r
16047   verbs: ["create", "get", "watch", "list", "update", "delete"]\r
16048 - apiGroups: [""]\r
16049   resources: ["serviceaccounts", "services"]\r
16050   verbs: ["get", "watch", "list"]\r
16051 - apiGroups: ["authentication.k8s.io"]\r
16052   resources: ["tokenreviews"]\r
16053   verbs: ["create"]\r
16054 \r
16055 ---\r
16056 # Source: istio/charts/sidecarInjectorWebhook/templates/clusterrole.yaml\r
16057 apiVersion: rbac.authorization.k8s.io/v1\r
16058 kind: ClusterRole\r
16059 metadata:\r
16060   name: istio-sidecar-injector-istio-system\r
16061   labels:\r
16062     app: sidecarInjectorWebhook\r
16063     chart: sidecarInjectorWebhook\r
16064     heritage: Tiller\r
16065     release: istio\r
16066     istio: sidecar-injector\r
16067 rules:\r
16068 - apiGroups: [""]\r
16069   resources: ["configmaps"]\r
16070   verbs: ["get", "list", "watch"]\r
16071 - apiGroups: ["admissionregistration.k8s.io"]\r
16072   resources: ["mutatingwebhookconfigurations"]\r
16073   verbs: ["get", "list", "watch", "patch"]\r
16074 \r
16075 ---\r
16076 # Source: istio/templates/clusterrole.yaml\r
16077 kind: ClusterRole\r
16078 apiVersion: rbac.authorization.k8s.io/v1\r
16079 metadata:\r
16080   name: istio-reader\r
16081 rules:\r
16082   - apiGroups: ['']\r
16083     resources: ['nodes', 'pods', 'services', 'endpoints', "replicationcontrollers"]\r
16084     verbs: ['get', 'watch', 'list']\r
16085   - apiGroups: ["extensions", "apps"]\r
16086     resources: ["replicasets"]\r
16087     verbs: ["get", "list", "watch"]\r
16088 \r
16089 ---\r
16090 # Source: istio/charts/galley/templates/clusterrolebinding.yaml\r
16091 apiVersion: rbac.authorization.k8s.io/v1\r
16092 kind: ClusterRoleBinding\r
16093 metadata:\r
16094   name: istio-galley-admin-role-binding-istio-system\r
16095   labels:\r
16096     app: galley\r
16097     chart: galley\r
16098     heritage: Tiller\r
16099     release: istio\r
16100 roleRef:\r
16101   apiGroup: rbac.authorization.k8s.io\r
16102   kind: ClusterRole\r
16103   name: istio-galley-istio-system\r
16104 subjects:\r
16105   - kind: ServiceAccount\r
16106     name: istio-galley-service-account\r
16107     namespace: istio-system\r
16108 \r
16109 ---\r
16110 # Source: istio/charts/kiali/templates/clusterrolebinding.yaml\r
16111 apiVersion: rbac.authorization.k8s.io/v1\r
16112 kind: ClusterRoleBinding\r
16113 metadata:\r
16114   name: istio-kiali-admin-role-binding-istio-system\r
16115   labels:\r
16116     app: kiali\r
16117     chart: kiali\r
16118     heritage: Tiller\r
16119     release: istio\r
16120 roleRef:\r
16121   apiGroup: rbac.authorization.k8s.io\r
16122   kind: ClusterRole\r
16123   name: kiali\r
16124 subjects:\r
16125 - kind: ServiceAccount\r
16126   name: kiali-service-account\r
16127   namespace: istio-system\r
16128 \r
16129 ---\r
16130 # Source: istio/charts/mixer/templates/clusterrolebinding.yaml\r
16131 \r
16132 apiVersion: rbac.authorization.k8s.io/v1\r
16133 kind: ClusterRoleBinding\r
16134 metadata:\r
16135   name: istio-mixer-admin-role-binding-istio-system\r
16136   labels:\r
16137     app: mixer\r
16138     chart: mixer\r
16139     heritage: Tiller\r
16140     release: istio\r
16141 roleRef:\r
16142   apiGroup: rbac.authorization.k8s.io\r
16143   kind: ClusterRole\r
16144   name: istio-mixer-istio-system\r
16145 subjects:\r
16146   - kind: ServiceAccount\r
16147     name: istio-mixer-service-account\r
16148     namespace: istio-system\r
16149 \r
16150 ---\r
16151 # Source: istio/charts/pilot/templates/clusterrolebinding.yaml\r
16152 apiVersion: rbac.authorization.k8s.io/v1\r
16153 kind: ClusterRoleBinding\r
16154 metadata:\r
16155   name: istio-pilot-istio-system\r
16156   labels:\r
16157     app: pilot\r
16158     chart: pilot\r
16159     heritage: Tiller\r
16160     release: istio\r
16161 roleRef:\r
16162   apiGroup: rbac.authorization.k8s.io\r
16163   kind: ClusterRole\r
16164   name: istio-pilot-istio-system\r
16165 subjects:\r
16166   - kind: ServiceAccount\r
16167     name: istio-pilot-service-account\r
16168     namespace: istio-system\r
16169 \r
16170 ---\r
16171 # Source: istio/charts/prometheus/templates/clusterrolebindings.yaml\r
16172 apiVersion: rbac.authorization.k8s.io/v1\r
16173 kind: ClusterRoleBinding\r
16174 metadata:\r
16175   name: prometheus-istio-system\r
16176   labels:\r
16177     app: prometheus\r
16178     chart: prometheus\r
16179     heritage: Tiller\r
16180     release: istio\r
16181 roleRef:\r
16182   apiGroup: rbac.authorization.k8s.io\r
16183   kind: ClusterRole\r
16184   name: prometheus-istio-system\r
16185 subjects:\r
16186 - kind: ServiceAccount\r
16187   name: prometheus\r
16188   namespace: istio-system\r
16189 \r
16190 ---\r
16191 # Source: istio/charts/security/templates/clusterrolebinding.yaml\r
16192 apiVersion: rbac.authorization.k8s.io/v1\r
16193 kind: ClusterRoleBinding\r
16194 metadata:\r
16195   name: istio-citadel-istio-system\r
16196   labels:\r
16197     app: security\r
16198     chart: security\r
16199     heritage: Tiller\r
16200     release: istio\r
16201 roleRef:\r
16202   apiGroup: rbac.authorization.k8s.io\r
16203   kind: ClusterRole\r
16204   name: istio-citadel-istio-system\r
16205 subjects:\r
16206   - kind: ServiceAccount\r
16207     name: istio-citadel-service-account\r
16208     namespace: istio-system\r
16209 \r
16210 ---\r
16211 # Source: istio/charts/sidecarInjectorWebhook/templates/clusterrolebinding.yaml\r
16212 apiVersion: rbac.authorization.k8s.io/v1\r
16213 kind: ClusterRoleBinding\r
16214 metadata:\r
16215   name: istio-sidecar-injector-admin-role-binding-istio-system\r
16216   labels:\r
16217     app: sidecarInjectorWebhook\r
16218     chart: sidecarInjectorWebhook\r
16219     heritage: Tiller\r
16220     release: istio\r
16221     istio: sidecar-injector\r
16222 roleRef:\r
16223   apiGroup: rbac.authorization.k8s.io\r
16224   kind: ClusterRole\r
16225   name: istio-sidecar-injector-istio-system\r
16226 subjects:\r
16227   - kind: ServiceAccount\r
16228     name: istio-sidecar-injector-service-account\r
16229     namespace: istio-system\r
16230 \r
16231 ---\r
16232 # Source: istio/templates/clusterrolebinding.yaml\r
16233 apiVersion: rbac.authorization.k8s.io/v1\r
16234 kind: ClusterRoleBinding\r
16235 metadata:\r
16236   name: istio-multi\r
16237   labels:\r
16238     chart: istio-1.1.0\r
16239 roleRef:\r
16240   apiGroup: rbac.authorization.k8s.io\r
16241   kind: ClusterRole\r
16242   name: istio-reader\r
16243 subjects:\r
16244 - kind: ServiceAccount\r
16245   name: istio-multi\r
16246   namespace: istio-system\r
16247 \r
16248 ---\r
16249 # Source: istio/charts/gateways/templates/role.yaml\r
16250 \r
16251 apiVersion: rbac.authorization.k8s.io/v1\r
16252 kind: Role\r
16253 metadata:\r
16254   name: istio-ingressgateway-sds\r
16255   namespace: istio-system\r
16256 rules:\r
16257 - apiGroups: [""]\r
16258   resources: ["secrets"]\r
16259   verbs: ["get", "watch", "list"]\r
16260 ---\r
16261 \r
16262 ---\r
16263 # Source: istio/charts/gateways/templates/rolebindings.yaml\r
16264 \r
16265 apiVersion: rbac.authorization.k8s.io/v1\r
16266 kind: RoleBinding\r
16267 metadata:\r
16268   name: istio-ingressgateway-sds\r
16269   namespace: istio-system\r
16270 roleRef:\r
16271   apiGroup: rbac.authorization.k8s.io\r
16272   kind: Role\r
16273   name: istio-ingressgateway-sds\r
16274 subjects:\r
16275 - kind: ServiceAccount\r
16276   name: istio-ingressgateway-service-account\r
16277 ---\r
16278 \r
16279 ---\r
16280 # Source: istio/charts/galley/templates/service.yaml\r
16281 apiVersion: v1\r
16282 kind: Service\r
16283 metadata:\r
16284   name: istio-galley\r
16285   namespace: istio-system\r
16286   labels:\r
16287     app: galley\r
16288     chart: galley\r
16289     heritage: Tiller\r
16290     release: istio\r
16291     istio: galley\r
16292 spec:\r
16293   ports:\r
16294   - port: 443\r
16295     name: https-validation\r
16296   - port: 15014\r
16297     name: http-monitoring\r
16298   - port: 9901\r
16299     name: grpc-mcp\r
16300   selector:\r
16301     istio: galley\r
16302 \r
16303 ---\r
16304 # Source: istio/charts/gateways/templates/service.yaml\r
16305 \r
16306 apiVersion: v1\r
16307 kind: Service\r
16308 metadata:\r
16309   name: istio-egressgateway\r
16310   namespace: istio-system\r
16311   annotations:\r
16312   labels:\r
16313     chart: gateways\r
16314     heritage: Tiller\r
16315     release: istio\r
16316     app: istio-egressgateway\r
16317     istio: egressgateway\r
16318 spec:\r
16319   type: ClusterIP\r
16320   selector:\r
16321     release: istio\r
16322     app: istio-egressgateway\r
16323     istio: egressgateway\r
16324   ports:\r
16325     -\r
16326       name: http2\r
16327       port: 80\r
16328     -\r
16329       name: https\r
16330       port: 443\r
16331     -\r
16332       name: tls\r
16333       port: 15443\r
16334       targetPort: 15443\r
16335 ---\r
16336 apiVersion: v1\r
16337 kind: Service\r
16338 metadata:\r
16339   name: istio-ingressgateway\r
16340   namespace: istio-system\r
16341   annotations:\r
16342   labels:\r
16343     chart: gateways\r
16344     heritage: Tiller\r
16345     release: istio\r
16346     app: istio-ingressgateway\r
16347     istio: ingressgateway\r
16348 spec:\r
16349   type: LoadBalancer\r
16350   selector:\r
16351     release: istio\r
16352     app: istio-ingressgateway\r
16353     istio: ingressgateway\r
16354   ports:\r
16355     -\r
16356       name: status-port\r
16357       port: 15020\r
16358       targetPort: 15020\r
16359     -\r
16360       name: http2\r
16361       nodePort: 31380\r
16362       port: 80\r
16363       targetPort: 80\r
16364     -\r
16365       name: https\r
16366       nodePort: 31390\r
16367       port: 443\r
16368     -\r
16369       name: tcp\r
16370       nodePort: 31400\r
16371       port: 31400\r
16372     -\r
16373       name: https-kiali\r
16374       port: 15029\r
16375       targetPort: 15029\r
16376     -\r
16377       name: https-prometheus\r
16378       port: 15030\r
16379       targetPort: 15030\r
16380     -\r
16381       name: https-grafana\r
16382       port: 15031\r
16383       targetPort: 15031\r
16384     -\r
16385       name: https-tracing\r
16386       port: 15032\r
16387       targetPort: 15032\r
16388     -\r
16389       name: tls\r
16390       port: 15443\r
16391       targetPort: 15443\r
16392 ---\r
16393 \r
16394 ---\r
16395 # Source: istio/charts/grafana/templates/service.yaml\r
16396 apiVersion: v1\r
16397 kind: Service\r
16398 metadata:\r
16399   name: grafana\r
16400   namespace: istio-system\r
16401   annotations:\r
16402   labels:\r
16403     app: grafana\r
16404     chart: grafana\r
16405     heritage: Tiller\r
16406     release: istio\r
16407 spec:\r
16408   type: ClusterIP\r
16409   ports:\r
16410     - port: 3000\r
16411       targetPort: 3000\r
16412       protocol: TCP\r
16413       name: http\r
16414   selector:\r
16415     app: grafana\r
16416 \r
16417 ---\r
16418 # Source: istio/charts/kiali/templates/service.yaml\r
16419 apiVersion: v1\r
16420 kind: Service\r
16421 metadata:\r
16422   name: kiali\r
16423   namespace: istio-system\r
16424   labels:\r
16425     app: kiali\r
16426     chart: kiali\r
16427     heritage: Tiller\r
16428     release: istio\r
16429 spec:\r
16430   ports:\r
16431   - name: http-kiali\r
16432     protocol: TCP\r
16433     port: 20001\r
16434   selector:\r
16435     app: kiali\r
16436 \r
16437 ---\r
16438 # Source: istio/charts/mixer/templates/service.yaml\r
16439 \r
16440 apiVersion: v1\r
16441 kind: Service\r
16442 metadata:\r
16443   name: istio-policy\r
16444   namespace: istio-system\r
16445   annotations:\r
16446    networking.istio.io/exportTo: "*"\r
16447   labels:\r
16448     app: mixer\r
16449     chart: mixer\r
16450     heritage: Tiller\r
16451     release: istio\r
16452     istio: mixer\r
16453 spec:\r
16454   ports:\r
16455   - name: grpc-mixer\r
16456     port: 9091\r
16457   - name: grpc-mixer-mtls\r
16458     port: 15004\r
16459   - name: http-monitoring\r
16460     port: 15014\r
16461   selector:\r
16462     istio: mixer\r
16463     istio-mixer-type: policy\r
16464 ---\r
16465 apiVersion: v1\r
16466 kind: Service\r
16467 metadata:\r
16468   name: istio-telemetry\r
16469   namespace: istio-system\r
16470   annotations:\r
16471    networking.istio.io/exportTo: "*"\r
16472   labels:\r
16473     app: mixer\r
16474     chart: mixer\r
16475     heritage: Tiller\r
16476     release: istio\r
16477     istio: mixer\r
16478 spec:\r
16479   ports:\r
16480   - name: grpc-mixer\r
16481     port: 9091\r
16482   - name: grpc-mixer-mtls\r
16483     port: 15004\r
16484   - name: http-monitoring\r
16485     port: 15014\r
16486   - name: prometheus\r
16487     port: 42422\r
16488   selector:\r
16489     istio: mixer\r
16490     istio-mixer-type: telemetry\r
16491 ---\r
16492 \r
16493 \r
16494 ---\r
16495 # Source: istio/charts/pilot/templates/service.yaml\r
16496 apiVersion: v1\r
16497 kind: Service\r
16498 metadata:\r
16499   name: istio-pilot\r
16500   namespace: istio-system\r
16501   labels:\r
16502     app: pilot\r
16503     chart: pilot\r
16504     heritage: Tiller\r
16505     release: istio\r
16506     istio: pilot\r
16507 spec:\r
16508   ports:\r
16509   - port: 15010\r
16510     name: grpc-xds # direct\r
16511   - port: 15011\r
16512     name: https-xds # mTLS\r
16513   - port: 8080\r
16514     name: http-legacy-discovery # direct\r
16515   - port: 15014\r
16516     name: http-monitoring\r
16517   selector:\r
16518     istio: pilot\r
16519 \r
16520 ---\r
16521 # Source: istio/charts/prometheus/templates/service.yaml\r
16522 apiVersion: v1\r
16523 kind: Service\r
16524 metadata:\r
16525   name: prometheus\r
16526   namespace: istio-system\r
16527   annotations:\r
16528     prometheus.io/scrape: 'true'\r
16529   labels:\r
16530     app: prometheus\r
16531     chart: prometheus\r
16532     heritage: Tiller\r
16533     release: istio\r
16534 spec:\r
16535   selector:\r
16536     app: prometheus\r
16537   ports:\r
16538   - name: http-prometheus\r
16539     protocol: TCP\r
16540     port: 9090\r
16541 \r
16542 ---\r
16543 # Source: istio/charts/security/templates/service.yaml\r
16544 apiVersion: v1\r
16545 kind: Service\r
16546 metadata:\r
16547   # we use the normal name here (e.g. 'prometheus')\r
16548   # as grafana is configured to use this as a data source\r
16549   name: istio-citadel\r
16550   namespace: istio-system\r
16551   labels:\r
16552     app: security\r
16553     chart: security\r
16554     heritage: Tiller\r
16555     release: istio\r
16556     istio: citadel\r
16557 spec:\r
16558   ports:\r
16559     - name: grpc-citadel\r
16560       port: 8060\r
16561       targetPort: 8060\r
16562       protocol: TCP\r
16563     - name: http-monitoring\r
16564       port: 15014\r
16565   selector:\r
16566     istio: citadel\r
16567 \r
16568 ---\r
16569 # Source: istio/charts/sidecarInjectorWebhook/templates/service.yaml\r
16570 apiVersion: v1\r
16571 kind: Service\r
16572 metadata:\r
16573   name: istio-sidecar-injector\r
16574   namespace: istio-system\r
16575   labels:\r
16576     app: sidecarInjectorWebhook\r
16577     chart: sidecarInjectorWebhook\r
16578     heritage: Tiller\r
16579     release: istio\r
16580     istio: sidecar-injector\r
16581 spec:\r
16582   ports:\r
16583   - port: 443\r
16584   selector:\r
16585     istio: sidecar-injector\r
16586 \r
16587 ---\r
16588 # Source: istio/charts/galley/templates/deployment.yaml\r
16589 apiVersion: apps/v1\r
16590 kind: Deployment\r
16591 metadata:\r
16592   name: istio-galley\r
16593   namespace: istio-system\r
16594   labels:\r
16595     app: galley\r
16596     chart: galley\r
16597     heritage: Tiller\r
16598     release: istio\r
16599     istio: galley\r
16600 spec:\r
16601   replicas: 1\r
16602   selector:\r
16603     matchLabels:\r
16604       istio: galley\r
16605   strategy:\r
16606     rollingUpdate:\r
16607       maxSurge: 1\r
16608       maxUnavailable: 0\r
16609   template:\r
16610     metadata:\r
16611       labels:\r
16612         app: galley\r
16613         chart: galley\r
16614         heritage: Tiller\r
16615         release:   istio\r
16616         istio: galley\r
16617       annotations:\r
16618         sidecar.istio.io/inject: "false"\r
16619     spec:\r
16620       serviceAccountName: istio-galley-service-account\r
16621       containers:\r
16622         - name: galley\r
16623           image: "iecedge/galley-arm64:1.2.3"\r
16624           imagePullPolicy: IfNotPresent\r
16625           ports:\r
16626           - containerPort: 443\r
16627           - containerPort: 15014\r
16628           - containerPort: 9901\r
16629           command:\r
16630           - /usr/local/bin/galley\r
16631           - server\r
16632           - --meshConfigFile=/etc/mesh-config/mesh\r
16633           - --livenessProbeInterval=1s\r
16634           - --livenessProbePath=/healthliveness\r
16635           - --readinessProbePath=/healthready\r
16636           - --readinessProbeInterval=1s\r
16637           - --deployment-namespace=istio-system\r
16638           - --insecure=true\r
16639           - --validation-webhook-config-file\r
16640           - /etc/config/validatingwebhookconfiguration.yaml\r
16641           - --monitoringPort=15014\r
16642           - --log_output_level=default:info\r
16643           volumeMounts:\r
16644           - name: certs\r
16645             mountPath: /etc/certs\r
16646             readOnly: true\r
16647           - name: config\r
16648             mountPath: /etc/config\r
16649             readOnly: true\r
16650           - name: mesh-config\r
16651             mountPath: /etc/mesh-config\r
16652             readOnly: true\r
16653           livenessProbe:\r
16654             exec:\r
16655               command:\r
16656                 - /usr/local/bin/galley\r
16657                 - probe\r
16658                 - --probe-path=/healthliveness\r
16659                 - --interval=10s\r
16660             initialDelaySeconds: 5\r
16661             periodSeconds: 5\r
16662           readinessProbe:\r
16663             exec:\r
16664               command:\r
16665                 - /usr/local/bin/galley\r
16666                 - probe\r
16667                 - --probe-path=/healthready\r
16668                 - --interval=10s\r
16669             initialDelaySeconds: 5\r
16670             periodSeconds: 5\r
16671           resources:\r
16672             requests:\r
16673               cpu: 10m\r
16674             \r
16675       volumes:\r
16676       - name: certs\r
16677         secret:\r
16678           secretName: istio.istio-galley-service-account\r
16679       - name: config\r
16680         configMap:\r
16681           name: istio-galley-configuration\r
16682       - name: mesh-config\r
16683         configMap:\r
16684           name: istio\r
16685       affinity:\r
16686         nodeAffinity:\r
16687           requiredDuringSchedulingIgnoredDuringExecution:\r
16688             nodeSelectorTerms:\r
16689             - matchExpressions:\r
16690               - key: beta.kubernetes.io/arch\r
16691                 operator: In\r
16692                 values:\r
16693                 - amd64\r
16694                 - ppc64le\r
16695                 - arm64\r
16696           preferredDuringSchedulingIgnoredDuringExecution:\r
16697           - weight: 2\r
16698             preference:\r
16699               matchExpressions:\r
16700               - key: beta.kubernetes.io/arch\r
16701                 operator: In\r
16702                 values:\r
16703                 - amd64\r
16704           - weight: 2\r
16705             preference:\r
16706               matchExpressions:\r
16707               - key: beta.kubernetes.io/arch\r
16708                 operator: In\r
16709                 values:\r
16710                 - ppc64le\r
16711           - weight: 2\r
16712             preference:\r
16713               matchExpressions:\r
16714               - key: beta.kubernetes.io/arch\r
16715                 operator: In\r
16716                 values:\r
16717                 - arm64\r
16718 \r
16719 ---\r
16720 # Source: istio/charts/gateways/templates/deployment.yaml\r
16721 \r
16722 apiVersion: apps/v1\r
16723 kind: Deployment\r
16724 metadata:\r
16725   name: istio-egressgateway\r
16726   namespace: istio-system\r
16727   labels:\r
16728     chart: gateways\r
16729     heritage: Tiller\r
16730     release: istio\r
16731     app: istio-egressgateway\r
16732     istio: egressgateway\r
16733 spec:\r
16734   replicas: 1\r
16735   selector:\r
16736     matchLabels:\r
16737       app: istio-egressgateway\r
16738       istio: egressgateway\r
16739   template:\r
16740     metadata:\r
16741       labels:\r
16742         chart: gateways\r
16743         heritage: Tiller\r
16744         release: istio\r
16745         app: istio-egressgateway\r
16746         istio: egressgateway\r
16747       annotations:\r
16748         sidecar.istio.io/inject: "false"\r
16749     spec:\r
16750       serviceAccountName: istio-egressgateway-service-account\r
16751       containers:\r
16752         - name: istio-proxy\r
16753           image: "iecedge/proxyv2-arm64:1.2.3"\r
16754           imagePullPolicy: IfNotPresent\r
16755           ports:\r
16756             - containerPort: 80\r
16757             - containerPort: 443\r
16758             - containerPort: 15443\r
16759             - containerPort: 15090\r
16760               protocol: TCP\r
16761               name: http-envoy-prom\r
16762           args:\r
16763           - proxy\r
16764           - router\r
16765           - --domain\r
16766           - $(POD_NAMESPACE).svc.cluster.local\r
16767           - --log_output_level=default:info\r
16768           - --drainDuration\r
16769           - '45s' #drainDuration\r
16770           - --parentShutdownDuration\r
16771           - '1m0s' #parentShutdownDuration\r
16772           - --connectTimeout\r
16773           - '10s' #connectTimeout\r
16774           - --serviceCluster\r
16775           - istio-egressgateway\r
16776           - --zipkinAddress\r
16777           - zipkin:9411\r
16778           - --proxyAdminPort\r
16779           - "15000"\r
16780           - --statusPort\r
16781           - "15020"\r
16782           - --controlPlaneAuthPolicy\r
16783           - NONE\r
16784           - --discoveryAddress\r
16785           - istio-pilot:15010\r
16786           readinessProbe:\r
16787             failureThreshold: 30\r
16788             httpGet:\r
16789               path: /healthz/ready\r
16790               port: 15020\r
16791               scheme: HTTP\r
16792             initialDelaySeconds: 1\r
16793             periodSeconds: 2\r
16794             successThreshold: 1\r
16795             timeoutSeconds: 1\r
16796           resources:\r
16797             limits:\r
16798               cpu: 2000m\r
16799               memory: 256Mi\r
16800             requests:\r
16801               cpu: 10m\r
16802               memory: 40Mi\r
16803 \r
16804           env:\r
16805           - name: NODE_NAME\r
16806             valueFrom:\r
16807               fieldRef:\r
16808                 apiVersion: v1\r
16809                 fieldPath: spec.nodeName\r
16810           - name: POD_NAME\r
16811             valueFrom:\r
16812               fieldRef:\r
16813                 apiVersion: v1\r
16814                 fieldPath: metadata.name\r
16815           - name: POD_NAMESPACE\r
16816             valueFrom:\r
16817               fieldRef:\r
16818                 apiVersion: v1\r
16819                 fieldPath: metadata.namespace\r
16820           - name: INSTANCE_IP\r
16821             valueFrom:\r
16822               fieldRef:\r
16823                 apiVersion: v1\r
16824                 fieldPath: status.podIP\r
16825           - name: HOST_IP\r
16826             valueFrom:\r
16827               fieldRef:\r
16828                 apiVersion: v1\r
16829                 fieldPath: status.hostIP\r
16830           - name: ISTIO_META_POD_NAME\r
16831             valueFrom:\r
16832               fieldRef:\r
16833                 apiVersion: v1\r
16834                 fieldPath: metadata.name\r
16835           - name: ISTIO_META_CONFIG_NAMESPACE\r
16836             valueFrom:\r
16837               fieldRef:\r
16838                 fieldPath: metadata.namespace\r
16839           - name: ISTIO_META_ROUTER_MODE\r
16840             value: sni-dnat\r
16841           volumeMounts:\r
16842           - name: istio-certs\r
16843             mountPath: /etc/certs\r
16844             readOnly: true\r
16845           - name: egressgateway-certs\r
16846             mountPath: "/etc/istio/egressgateway-certs"\r
16847             readOnly: true\r
16848           - name: egressgateway-ca-certs\r
16849             mountPath: "/etc/istio/egressgateway-ca-certs"\r
16850             readOnly: true\r
16851       volumes:\r
16852       - name: istio-certs\r
16853         secret:\r
16854           secretName: istio.istio-egressgateway-service-account\r
16855           optional: true\r
16856       - name: egressgateway-certs\r
16857         secret:\r
16858           secretName: "istio-egressgateway-certs"\r
16859           optional: true\r
16860       - name: egressgateway-ca-certs\r
16861         secret:\r
16862           secretName: "istio-egressgateway-ca-certs"\r
16863           optional: true\r
16864       affinity:\r
16865         nodeAffinity:\r
16866           requiredDuringSchedulingIgnoredDuringExecution:\r
16867             nodeSelectorTerms:\r
16868             - matchExpressions:\r
16869               - key: beta.kubernetes.io/arch\r
16870                 operator: In\r
16871                 values:\r
16872                 - amd64\r
16873                 - ppc64le\r
16874                 - arm64\r
16875           preferredDuringSchedulingIgnoredDuringExecution:\r
16876           - weight: 2\r
16877             preference:\r
16878               matchExpressions:\r
16879               - key: beta.kubernetes.io/arch\r
16880                 operator: In\r
16881                 values:\r
16882                 - amd64\r
16883           - weight: 2\r
16884             preference:\r
16885               matchExpressions:\r
16886               - key: beta.kubernetes.io/arch\r
16887                 operator: In\r
16888                 values:\r
16889                 - ppc64le\r
16890           - weight: 2\r
16891             preference:\r
16892               matchExpressions:\r
16893               - key: beta.kubernetes.io/arch\r
16894                 operator: In\r
16895                 values:\r
16896                 - arm64\r
16897 ---\r
16898 apiVersion: apps/v1\r
16899 kind: Deployment\r
16900 metadata:\r
16901   name: istio-ingressgateway\r
16902   namespace: istio-system\r
16903   labels:\r
16904     chart: gateways\r
16905     heritage: Tiller\r
16906     release: istio\r
16907     app: istio-ingressgateway\r
16908     istio: ingressgateway\r
16909 spec:\r
16910   replicas: 1\r
16911   selector:\r
16912     matchLabels:\r
16913       app: istio-ingressgateway\r
16914       istio: ingressgateway\r
16915   template:\r
16916     metadata:\r
16917       labels:\r
16918         chart: gateways\r
16919         heritage: Tiller\r
16920         release: istio\r
16921         app: istio-ingressgateway\r
16922         istio: ingressgateway\r
16923       annotations:\r
16924         sidecar.istio.io/inject: "false"\r
16925     spec:\r
16926       serviceAccountName: istio-ingressgateway-service-account\r
16927       containers:\r
16928         - name: istio-proxy\r
16929           image: "iecedge/proxyv2-arm64:1.2.3"\r
16930           imagePullPolicy: IfNotPresent\r
16931           ports:\r
16932             - containerPort: 15020\r
16933             - containerPort: 80\r
16934             - containerPort: 443\r
16935             - containerPort: 31400\r
16936             - containerPort: 15029\r
16937             - containerPort: 15030\r
16938             - containerPort: 15031\r
16939             - containerPort: 15032\r
16940             - containerPort: 15443\r
16941             - containerPort: 15090\r
16942               protocol: TCP\r
16943               name: http-envoy-prom\r
16944           args:\r
16945           - proxy\r
16946           - router\r
16947           - --domain\r
16948           - $(POD_NAMESPACE).svc.cluster.local\r
16949           - --log_output_level=default:info\r
16950           - --drainDuration\r
16951           - '45s' #drainDuration\r
16952           - --parentShutdownDuration\r
16953           - '1m0s' #parentShutdownDuration\r
16954           - --connectTimeout\r
16955           - '10s' #connectTimeout\r
16956           - --serviceCluster\r
16957           - istio-ingressgateway\r
16958           - --zipkinAddress\r
16959           - zipkin:9411\r
16960           - --proxyAdminPort\r
16961           - "15000"\r
16962           - --statusPort\r
16963           - "15020"\r
16964           - --controlPlaneAuthPolicy\r
16965           - NONE\r
16966           - --discoveryAddress\r
16967           - istio-pilot:15010\r
16968           readinessProbe:\r
16969             failureThreshold: 30\r
16970             httpGet:\r
16971               path: /healthz/ready\r
16972               port: 15020\r
16973               scheme: HTTP\r
16974             initialDelaySeconds: 1\r
16975             periodSeconds: 2\r
16976             successThreshold: 1\r
16977             timeoutSeconds: 1\r
16978           resources:\r
16979             limits:\r
16980               cpu: 2000m\r
16981               memory: 1024Mi\r
16982             requests:\r
16983               cpu: 10m\r
16984               memory: 40Mi\r
16985 \r
16986           env:\r
16987           - name: NODE_NAME\r
16988             valueFrom:\r
16989               fieldRef:\r
16990                 apiVersion: v1\r
16991                 fieldPath: spec.nodeName\r
16992           - name: POD_NAME\r
16993             valueFrom:\r
16994               fieldRef:\r
16995                 apiVersion: v1\r
16996                 fieldPath: metadata.name\r
16997           - name: POD_NAMESPACE\r
16998             valueFrom:\r
16999               fieldRef:\r
17000                 apiVersion: v1\r
17001                 fieldPath: metadata.namespace\r
17002           - name: INSTANCE_IP\r
17003             valueFrom:\r
17004               fieldRef:\r
17005                 apiVersion: v1\r
17006                 fieldPath: status.podIP\r
17007           - name: HOST_IP\r
17008             valueFrom:\r
17009               fieldRef:\r
17010                 apiVersion: v1\r
17011                 fieldPath: status.hostIP\r
17012           - name: ISTIO_META_POD_NAME\r
17013             valueFrom:\r
17014               fieldRef:\r
17015                 apiVersion: v1\r
17016                 fieldPath: metadata.name\r
17017           - name: ISTIO_META_CONFIG_NAMESPACE\r
17018             valueFrom:\r
17019               fieldRef:\r
17020                 fieldPath: metadata.namespace\r
17021           - name: ISTIO_META_ROUTER_MODE\r
17022             value: sni-dnat\r
17023           volumeMounts:\r
17024           - name: istio-certs\r
17025             mountPath: /etc/certs\r
17026             readOnly: true\r
17027           - name: ingressgateway-certs\r
17028             mountPath: "/etc/istio/ingressgateway-certs"\r
17029             readOnly: true\r
17030           - name: ingressgateway-ca-certs\r
17031             mountPath: "/etc/istio/ingressgateway-ca-certs"\r
17032             readOnly: true\r
17033       volumes:\r
17034       - name: istio-certs\r
17035         secret:\r
17036           secretName: istio.istio-ingressgateway-service-account\r
17037           optional: true\r
17038       - name: ingressgateway-certs\r
17039         secret:\r
17040           secretName: "istio-ingressgateway-certs"\r
17041           optional: true\r
17042       - name: ingressgateway-ca-certs\r
17043         secret:\r
17044           secretName: "istio-ingressgateway-ca-certs"\r
17045           optional: true\r
17046       affinity:\r
17047         nodeAffinity:\r
17048           requiredDuringSchedulingIgnoredDuringExecution:\r
17049             nodeSelectorTerms:\r
17050             - matchExpressions:\r
17051               - key: beta.kubernetes.io/arch\r
17052                 operator: In\r
17053                 values:\r
17054                 - amd64\r
17055                 - ppc64le\r
17056                 - arm64\r
17057           preferredDuringSchedulingIgnoredDuringExecution:\r
17058           - weight: 2\r
17059             preference:\r
17060               matchExpressions:\r
17061               - key: beta.kubernetes.io/arch\r
17062                 operator: In\r
17063                 values:\r
17064                 - amd64\r
17065           - weight: 2\r
17066             preference:\r
17067               matchExpressions:\r
17068               - key: beta.kubernetes.io/arch\r
17069                 operator: In\r
17070                 values:\r
17071                 - ppc64le\r
17072           - weight: 2\r
17073             preference:\r
17074               matchExpressions:\r
17075               - key: beta.kubernetes.io/arch\r
17076                 operator: In\r
17077                 values:\r
17078                 - arm64\r
17079 ---\r
17080 \r
17081 ---\r
17082 # Source: istio/charts/grafana/templates/deployment.yaml\r
17083 apiVersion: apps/v1\r
17084 kind: Deployment\r
17085 metadata:\r
17086   name: grafana\r
17087   namespace: istio-system\r
17088   labels:\r
17089     app: grafana\r
17090     chart: grafana\r
17091     heritage: Tiller\r
17092     release: istio\r
17093 spec:\r
17094   replicas: 1\r
17095   selector:\r
17096     matchLabels:\r
17097       app: grafana\r
17098   template:\r
17099     metadata:\r
17100       labels:\r
17101         app: grafana\r
17102         chart: grafana\r
17103         heritage: Tiller\r
17104         release: istio\r
17105       annotations:\r
17106         sidecar.istio.io/inject: "false"\r
17107         prometheus.io/scrape: "true"\r
17108     spec:\r
17109       securityContext:\r
17110         runAsUser: 472\r
17111         fsGroup: 472\r
17112       containers:\r
17113         - name: grafana\r
17114           image: "grafana/grafana:6.1.6"\r
17115           imagePullPolicy: IfNotPresent\r
17116           ports:\r
17117           - containerPort: 3000\r
17118           readinessProbe:\r
17119             httpGet:\r
17120               path: /login\r
17121               port: 3000\r
17122           env:\r
17123           - name: GRAFANA_PORT\r
17124             value: "3000"\r
17125           - name: GF_AUTH_BASIC_ENABLED\r
17126             value: "false"\r
17127           - name: GF_AUTH_ANONYMOUS_ENABLED\r
17128             value: "true"\r
17129           - name: GF_AUTH_ANONYMOUS_ORG_ROLE\r
17130             value: Admin\r
17131           - name: GF_PATHS_DATA\r
17132             value: /data/grafana\r
17133           resources:\r
17134             requests:\r
17135               cpu: 10m\r
17136 \r
17137           volumeMounts:\r
17138           - name: data\r
17139             mountPath: /data/grafana\r
17140           - name: dashboards-istio-galley-dashboard\r
17141             mountPath: "/var/lib/grafana/dashboards/istio/galley-dashboard.json"\r
17142             subPath: galley-dashboard.json\r
17143             readOnly: true\r
17144           - name: dashboards-istio-istio-mesh-dashboard\r
17145             mountPath: "/var/lib/grafana/dashboards/istio/istio-mesh-dashboard.json"\r
17146             subPath: istio-mesh-dashboard.json\r
17147             readOnly: true\r
17148           - name: dashboards-istio-istio-performance-dashboard\r
17149             mountPath: "/var/lib/grafana/dashboards/istio/istio-performance-dashboard.json"\r
17150             subPath: istio-performance-dashboard.json\r
17151             readOnly: true\r
17152           - name: dashboards-istio-istio-service-dashboard\r
17153             mountPath: "/var/lib/grafana/dashboards/istio/istio-service-dashboard.json"\r
17154             subPath: istio-service-dashboard.json\r
17155             readOnly: true\r
17156           - name: dashboards-istio-istio-workload-dashboard\r
17157             mountPath: "/var/lib/grafana/dashboards/istio/istio-workload-dashboard.json"\r
17158             subPath: istio-workload-dashboard.json\r
17159             readOnly: true\r
17160           - name: dashboards-istio-mixer-dashboard\r
17161             mountPath: "/var/lib/grafana/dashboards/istio/mixer-dashboard.json"\r
17162             subPath: mixer-dashboard.json\r
17163             readOnly: true\r
17164           - name: dashboards-istio-pilot-dashboard\r
17165             mountPath: "/var/lib/grafana/dashboards/istio/pilot-dashboard.json"\r
17166             subPath: pilot-dashboard.json\r
17167             readOnly: true\r
17168           - name: config\r
17169             mountPath: "/etc/grafana/provisioning/datasources/datasources.yaml"\r
17170             subPath: datasources.yaml\r
17171           - name: config\r
17172             mountPath: "/etc/grafana/provisioning/dashboards/dashboardproviders.yaml"\r
17173             subPath: dashboardproviders.yaml\r
17174       affinity:\r
17175         nodeAffinity:\r
17176           requiredDuringSchedulingIgnoredDuringExecution:\r
17177             nodeSelectorTerms:\r
17178             - matchExpressions:\r
17179               - key: beta.kubernetes.io/arch\r
17180                 operator: In\r
17181                 values:\r
17182                 - amd64\r
17183                 - ppc64le\r
17184                 - arm64\r
17185           preferredDuringSchedulingIgnoredDuringExecution:\r
17186           - weight: 2\r
17187             preference:\r
17188               matchExpressions:\r
17189               - key: beta.kubernetes.io/arch\r
17190                 operator: In\r
17191                 values:\r
17192                 - amd64\r
17193           - weight: 2\r
17194             preference:\r
17195               matchExpressions:\r
17196               - key: beta.kubernetes.io/arch\r
17197                 operator: In\r
17198                 values:\r
17199                 - ppc64le\r
17200           - weight: 2\r
17201             preference:\r
17202               matchExpressions:\r
17203               - key: beta.kubernetes.io/arch\r
17204                 operator: In\r
17205                 values:\r
17206                 - arm64\r
17207       volumes:\r
17208       - name: config\r
17209         configMap:\r
17210           name: istio-grafana\r
17211       - name: data\r
17212         emptyDir: {}\r
17213       - name: dashboards-istio-galley-dashboard\r
17214         configMap:\r
17215           name:  istio-grafana-configuration-dashboards-galley-dashboard\r
17216       - name: dashboards-istio-istio-mesh-dashboard\r
17217         configMap:\r
17218           name:  istio-grafana-configuration-dashboards-istio-mesh-dashboard\r
17219       - name: dashboards-istio-istio-performance-dashboard\r
17220         configMap:\r
17221           name:  istio-grafana-configuration-dashboards-istio-performance-dashboard\r
17222       - name: dashboards-istio-istio-service-dashboard\r
17223         configMap:\r
17224           name:  istio-grafana-configuration-dashboards-istio-service-dashboard\r
17225       - name: dashboards-istio-istio-workload-dashboard\r
17226         configMap:\r
17227           name:  istio-grafana-configuration-dashboards-istio-workload-dashboard\r
17228       - name: dashboards-istio-mixer-dashboard\r
17229         configMap:\r
17230           name:  istio-grafana-configuration-dashboards-mixer-dashboard\r
17231       - name: dashboards-istio-pilot-dashboard\r
17232         configMap:\r
17233           name:  istio-grafana-configuration-dashboards-pilot-dashboard\r
17234 \r
17235 ---\r
17236 # Source: istio/charts/kiali/templates/deployment.yaml\r
17237 apiVersion: apps/v1\r
17238 kind: Deployment\r
17239 metadata:\r
17240   name: kiali\r
17241   namespace: istio-system\r
17242   labels:\r
17243     app: kiali\r
17244     chart: kiali\r
17245     heritage: Tiller\r
17246     release: istio\r
17247 spec:\r
17248   replicas: 1\r
17249   selector:\r
17250     matchLabels:\r
17251       app: kiali\r
17252   template:\r
17253     metadata:\r
17254       name: kiali\r
17255       labels:\r
17256         app: kiali\r
17257         chart: kiali\r
17258         heritage: Tiller\r
17259         release: istio\r
17260       annotations:\r
17261         sidecar.istio.io/inject: "false"\r
17262         scheduler.alpha.kubernetes.io/critical-pod: ""\r
17263         prometheus.io/scrape: "true"\r
17264         prometheus.io/port: "9090"\r
17265     spec:\r
17266       serviceAccountName: kiali-service-account\r
17267       containers:\r
17268       - image: "lurenjia/kiali:v1.11.0"\r
17269         imagePullPolicy: IfNotPresent\r
17270         name: kiali\r
17271         command:\r
17272         - "/opt/kiali/kiali"\r
17273         - "-config"\r
17274         - "/kiali-configuration/config.yaml"\r
17275         - "-v"\r
17276         - "4"\r
17277         env:\r
17278         - name: ACTIVE_NAMESPACE\r
17279           valueFrom:\r
17280             fieldRef:\r
17281               fieldPath: metadata.namespace\r
17282         volumeMounts:\r
17283         - name: kiali-configuration\r
17284           mountPath: "/kiali-configuration"\r
17285         - name: kiali-secret\r
17286           mountPath: "/kiali-secret"\r
17287         resources:\r
17288           requests:\r
17289             cpu: 10m\r
17290           \r
17291       volumes:\r
17292       - name: kiali-configuration\r
17293         configMap:\r
17294           name: kiali\r
17295       - name: kiali-secret\r
17296         secret:\r
17297           secretName: kiali\r
17298           optional: true\r
17299       affinity:\r
17300         nodeAffinity:\r
17301           requiredDuringSchedulingIgnoredDuringExecution:\r
17302             nodeSelectorTerms:\r
17303             - matchExpressions:\r
17304               - key: beta.kubernetes.io/arch\r
17305                 operator: In\r
17306                 values:\r
17307                 - amd64\r
17308                 - ppc64le\r
17309                 - arm64\r
17310           preferredDuringSchedulingIgnoredDuringExecution:\r
17311           - weight: 2\r
17312             preference:\r
17313               matchExpressions:\r
17314               - key: beta.kubernetes.io/arch\r
17315                 operator: In\r
17316                 values:\r
17317                 - amd64\r
17318           - weight: 2\r
17319             preference:\r
17320               matchExpressions:\r
17321               - key: beta.kubernetes.io/arch\r
17322                 operator: In\r
17323                 values:\r
17324                 - ppc64le\r
17325           - weight: 2\r
17326             preference:\r
17327               matchExpressions:\r
17328               - key: beta.kubernetes.io/arch\r
17329                 operator: In\r
17330                 values:\r
17331                 - arm64\r
17332 \r
17333 ---\r
17334 # Source: istio/charts/mixer/templates/deployment.yaml\r
17335 \r
17336 apiVersion: apps/v1\r
17337 kind: Deployment\r
17338 metadata:\r
17339   name: istio-policy\r
17340   namespace: istio-system\r
17341   labels:\r
17342     app: istio-mixer\r
17343     chart: mixer\r
17344     heritage: Tiller\r
17345     release: istio\r
17346     istio: mixer\r
17347 spec:\r
17348   replicas: 1\r
17349   strategy:\r
17350     rollingUpdate:\r
17351       maxSurge: 1\r
17352       maxUnavailable: 0\r
17353   selector:\r
17354     matchLabels:\r
17355       istio: mixer\r
17356       istio-mixer-type: policy\r
17357   template:\r
17358     metadata:\r
17359       labels:\r
17360         app: policy\r
17361         chart: mixer\r
17362         heritage: Tiller\r
17363         release: istio\r
17364         istio: mixer\r
17365         istio-mixer-type: policy\r
17366       annotations:\r
17367         sidecar.istio.io/inject: "false"\r
17368     spec:\r
17369       serviceAccountName: istio-mixer-service-account\r
17370       volumes:\r
17371       - name: istio-certs\r
17372         secret:\r
17373           secretName: istio.istio-mixer-service-account\r
17374           optional: true\r
17375       - name: uds-socket\r
17376         emptyDir: {}\r
17377       - name: policy-adapter-secret\r
17378         secret:\r
17379           secretName: policy-adapter-secret\r
17380           optional: true\r
17381       affinity:\r
17382         nodeAffinity:\r
17383           requiredDuringSchedulingIgnoredDuringExecution:\r
17384             nodeSelectorTerms:\r
17385             - matchExpressions:\r
17386               - key: beta.kubernetes.io/arch\r
17387                 operator: In\r
17388                 values:\r
17389                 - amd64\r
17390                 - ppc64le\r
17391                 - arm64\r
17392           preferredDuringSchedulingIgnoredDuringExecution:\r
17393           - weight: 2\r
17394             preference:\r
17395               matchExpressions:\r
17396               - key: beta.kubernetes.io/arch\r
17397                 operator: In\r
17398                 values:\r
17399                 - amd64\r
17400           - weight: 2\r
17401             preference:\r
17402               matchExpressions:\r
17403               - key: beta.kubernetes.io/arch\r
17404                 operator: In\r
17405                 values:\r
17406                 - ppc64le\r
17407           - weight: 2\r
17408             preference:\r
17409               matchExpressions:\r
17410               - key: beta.kubernetes.io/arch\r
17411                 operator: In\r
17412                 values:\r
17413                 - arm64\r
17414       containers:\r
17415       - name: mixer\r
17416         image: "iecedge/mixer-arm64:1.2.3"\r
17417         imagePullPolicy: IfNotPresent\r
17418         ports:\r
17419         - containerPort: 15014\r
17420         - containerPort: 42422\r
17421         args:\r
17422           - --monitoringPort=15014\r
17423           - --address\r
17424           - unix:///sock/mixer.socket\r
17425           - --log_output_level=default:info\r
17426           - --configStoreURL=mcp://istio-galley.istio-system.svc:9901\r
17427           - --configDefaultNamespace=istio-system\r
17428           - --useAdapterCRDs=false\r
17429           - --useTemplateCRDs=false\r
17430           - --trace_zipkin_url=http://zipkin.istio-system:9411/api/v1/spans\r
17431         env:\r
17432         - name: GODEBUG\r
17433           value: "gctrace=1"\r
17434         - name: GOMAXPROCS\r
17435           value: "6"\r
17436         resources:\r
17437           requests:\r
17438             cpu: 10m\r
17439             memory: 100Mi\r
17440           \r
17441         volumeMounts:\r
17442         - name: istio-certs\r
17443           mountPath: /etc/certs\r
17444           readOnly: true\r
17445         - name: uds-socket\r
17446           mountPath: /sock\r
17447         livenessProbe:\r
17448           httpGet:\r
17449             path: /version\r
17450             port: 15014\r
17451           initialDelaySeconds: 5\r
17452           periodSeconds: 5\r
17453       - name: istio-proxy\r
17454         image: "iecedge/proxyv2-arm64:1.2.3"\r
17455         imagePullPolicy: IfNotPresent\r
17456         ports:\r
17457         - containerPort: 9091\r
17458         - containerPort: 15004\r
17459         - containerPort: 15090\r
17460           protocol: TCP\r
17461           name: http-envoy-prom\r
17462         args:\r
17463         - proxy\r
17464         - --domain\r
17465         - $(POD_NAMESPACE).svc.cluster.local\r
17466         - --serviceCluster\r
17467         - istio-policy\r
17468         - --templateFile\r
17469         - /etc/istio/proxy/envoy_policy.yaml.tmpl\r
17470         - --controlPlaneAuthPolicy\r
17471         - NONE\r
17472         env:\r
17473         - name: POD_NAME\r
17474           valueFrom:\r
17475             fieldRef:\r
17476               apiVersion: v1\r
17477               fieldPath: metadata.name\r
17478         - name: POD_NAMESPACE\r
17479           valueFrom:\r
17480             fieldRef:\r
17481               apiVersion: v1\r
17482               fieldPath: metadata.namespace\r
17483         - name: INSTANCE_IP\r
17484           valueFrom:\r
17485             fieldRef:\r
17486               apiVersion: v1\r
17487               fieldPath: status.podIP\r
17488         resources:\r
17489           limits:\r
17490             cpu: 2000m\r
17491             memory: 1024Mi\r
17492           requests:\r
17493             cpu: 10m\r
17494             memory: 40Mi\r
17495           \r
17496         volumeMounts:\r
17497         - name: istio-certs\r
17498           mountPath: /etc/certs\r
17499           readOnly: true\r
17500         - name: uds-socket\r
17501           mountPath: /sock\r
17502         - name: policy-adapter-secret\r
17503           mountPath: /var/run/secrets/istio.io/policy/adapter\r
17504           readOnly: true\r
17505 \r
17506 ---\r
17507 apiVersion: apps/v1\r
17508 kind: Deployment\r
17509 metadata:\r
17510   name: istio-telemetry\r
17511   namespace: istio-system\r
17512   labels:\r
17513     app: istio-mixer\r
17514     chart: mixer\r
17515     heritage: Tiller\r
17516     release: istio\r
17517     istio: mixer\r
17518 spec:\r
17519   replicas: 1\r
17520   strategy:\r
17521     rollingUpdate:\r
17522       maxSurge: 1\r
17523       maxUnavailable: 0\r
17524   selector:\r
17525     matchLabels:\r
17526       istio: mixer\r
17527       istio-mixer-type: telemetry\r
17528   template:\r
17529     metadata:\r
17530       labels:\r
17531         app: telemetry\r
17532         chart: mixer\r
17533         heritage: Tiller\r
17534         release: istio\r
17535         istio: mixer\r
17536         istio-mixer-type: telemetry\r
17537       annotations:\r
17538         sidecar.istio.io/inject: "false"\r
17539     spec:\r
17540       serviceAccountName: istio-mixer-service-account\r
17541       volumes:\r
17542       - name: istio-certs\r
17543         secret:\r
17544           secretName: istio.istio-mixer-service-account\r
17545           optional: true\r
17546       - name: uds-socket\r
17547         emptyDir: {}\r
17548       - name: telemetry-adapter-secret\r
17549         secret:\r
17550           secretName: telemetry-adapter-secret\r
17551           optional: true\r
17552       affinity:\r
17553         nodeAffinity:\r
17554           requiredDuringSchedulingIgnoredDuringExecution:\r
17555             nodeSelectorTerms:\r
17556             - matchExpressions:\r
17557               - key: beta.kubernetes.io/arch\r
17558                 operator: In\r
17559                 values:\r
17560                 - amd64\r
17561                 - ppc64le\r
17562                 - arm64\r
17563           preferredDuringSchedulingIgnoredDuringExecution:\r
17564           - weight: 2\r
17565             preference:\r
17566               matchExpressions:\r
17567               - key: beta.kubernetes.io/arch\r
17568                 operator: In\r
17569                 values:\r
17570                 - amd64\r
17571           - weight: 2\r
17572             preference:\r
17573               matchExpressions:\r
17574               - key: beta.kubernetes.io/arch\r
17575                 operator: In\r
17576                 values:\r
17577                 - ppc64le\r
17578           - weight: 2\r
17579             preference:\r
17580               matchExpressions:\r
17581               - key: beta.kubernetes.io/arch\r
17582                 operator: In\r
17583                 values:\r
17584                 - arm64\r
17585       containers:\r
17586       - name: mixer\r
17587         image: "iecedge/mixer-arm64:1.2.3"\r
17588         imagePullPolicy: IfNotPresent\r
17589         ports:\r
17590         - containerPort: 15014\r
17591         - containerPort: 42422\r
17592         args:\r
17593           - --monitoringPort=15014\r
17594           - --address\r
17595           - unix:///sock/mixer.socket\r
17596           - --log_output_level=default:info\r
17597           - --configStoreURL=mcp://istio-galley.istio-system.svc:9901\r
17598           - --configDefaultNamespace=istio-system\r
17599           - --useAdapterCRDs=false\r
17600           - --useTemplateCRDs=false\r
17601           - --trace_zipkin_url=http://zipkin.istio-system:9411/api/v1/spans\r
17602           - --averageLatencyThreshold\r
17603           - 100ms\r
17604           - --loadsheddingMode\r
17605           - enforce\r
17606         env:\r
17607         - name: GODEBUG\r
17608           value: "gctrace=1"\r
17609         - name: GOMAXPROCS\r
17610           value: "6"\r
17611         resources:\r
17612           limits:\r
17613             cpu: 4800m\r
17614             memory: 4G\r
17615           requests:\r
17616             cpu: 50m\r
17617             memory: 100Mi\r
17618 \r
17619         volumeMounts:\r
17620         - name: istio-certs\r
17621           mountPath: /etc/certs\r
17622           readOnly: true\r
17623         - name: telemetry-adapter-secret\r
17624           mountPath: /var/run/secrets/istio.io/telemetry/adapter\r
17625           readOnly: true\r
17626         - name: uds-socket\r
17627           mountPath: /sock\r
17628         livenessProbe:\r
17629           httpGet:\r
17630             path: /version\r
17631             port: 15014\r
17632           initialDelaySeconds: 5\r
17633           periodSeconds: 5\r
17634       - name: istio-proxy\r
17635         image: "iecedge/proxyv2-arm64:1.2.3"\r
17636         imagePullPolicy: IfNotPresent\r
17637         ports:\r
17638         - containerPort: 9091\r
17639         - containerPort: 15004\r
17640         - containerPort: 15090\r
17641           protocol: TCP\r
17642           name: http-envoy-prom\r
17643         args:\r
17644         - proxy\r
17645         - --domain\r
17646         - $(POD_NAMESPACE).svc.cluster.local\r
17647         - --serviceCluster\r
17648         - istio-telemetry\r
17649         - --templateFile\r
17650         - /etc/istio/proxy/envoy_telemetry.yaml.tmpl\r
17651         - --controlPlaneAuthPolicy\r
17652         - NONE\r
17653         env:\r
17654         - name: POD_NAME\r
17655           valueFrom:\r
17656             fieldRef:\r
17657               apiVersion: v1\r
17658               fieldPath: metadata.name\r
17659         - name: POD_NAMESPACE\r
17660           valueFrom:\r
17661             fieldRef:\r
17662               apiVersion: v1\r
17663               fieldPath: metadata.namespace\r
17664         - name: INSTANCE_IP\r
17665           valueFrom:\r
17666             fieldRef:\r
17667               apiVersion: v1\r
17668               fieldPath: status.podIP\r
17669         resources:\r
17670           limits:\r
17671             cpu: 2000m\r
17672             memory: 1024Mi\r
17673           requests:\r
17674             cpu: 10m\r
17675             memory: 40Mi\r
17676           \r
17677         volumeMounts:\r
17678         - name: istio-certs\r
17679           mountPath: /etc/certs\r
17680           readOnly: true\r
17681         - name: uds-socket\r
17682           mountPath: /sock\r
17683 \r
17684 ---\r
17685 \r
17686 ---\r
17687 # Source: istio/charts/pilot/templates/deployment.yaml\r
17688 apiVersion: apps/v1\r
17689 kind: Deployment\r
17690 metadata:\r
17691   name: istio-pilot\r
17692   namespace: istio-system\r
17693   # TODO: default template doesn't have this, which one is right ?\r
17694   labels:\r
17695     app: pilot\r
17696     chart: pilot\r
17697     heritage: Tiller\r
17698     release: istio\r
17699     istio: pilot\r
17700   annotations:\r
17701     checksum/config-volume: f8da08b6b8c170dde721efd680270b2901e750d4aa186ebb6c22bef5b78a43f9\r
17702 spec:\r
17703   replicas: 1\r
17704   strategy:\r
17705     rollingUpdate:\r
17706       maxSurge: 1\r
17707       maxUnavailable: 0\r
17708   selector:\r
17709     matchLabels:\r
17710       istio: pilot\r
17711   template:\r
17712     metadata:\r
17713       labels:\r
17714         app: pilot\r
17715         chart: pilot\r
17716         heritage: Tiller\r
17717         release: istio\r
17718         istio: pilot\r
17719       annotations:\r
17720         sidecar.istio.io/inject: "false"\r
17721     spec:\r
17722       serviceAccountName: istio-pilot-service-account\r
17723       containers:\r
17724         - name: discovery\r
17725           image: "iecedge/pilot-arm64:1.2.3"\r
17726           imagePullPolicy: IfNotPresent\r
17727           args:\r
17728           - "discovery"\r
17729           - --monitoringAddr=:15014\r
17730           - --log_output_level=default:info\r
17731           - --domain\r
17732           - cluster.local\r
17733           - --secureGrpcAddr\r
17734           - ""\r
17735           - --keepaliveMaxServerConnectionAge\r
17736           - "30m"\r
17737           ports:\r
17738           - containerPort: 8080\r
17739           - containerPort: 15010\r
17740           readinessProbe:\r
17741             httpGet:\r
17742               path: /ready\r
17743               port: 8080\r
17744             initialDelaySeconds: 5\r
17745             periodSeconds: 30\r
17746             timeoutSeconds: 5\r
17747           env:\r
17748           - name: POD_NAME\r
17749             valueFrom:\r
17750               fieldRef:\r
17751                 apiVersion: v1\r
17752                 fieldPath: metadata.name\r
17753           - name: POD_NAMESPACE\r
17754             valueFrom:\r
17755               fieldRef:\r
17756                 apiVersion: v1\r
17757                 fieldPath: metadata.namespace\r
17758           - name: GODEBUG\r
17759             value: "gctrace=1"\r
17760           - name: PILOT_PUSH_THROTTLE\r
17761             value: "100"\r
17762           - name: PILOT_TRACE_SAMPLING\r
17763             value: "100"\r
17764           - name: PILOT_DISABLE_XDS_MARSHALING_TO_ANY\r
17765             value: "1"\r
17766           resources:\r
17767             requests:\r
17768               cpu: 10m\r
17769               memory: 100Mi\r
17770             \r
17771           volumeMounts:\r
17772           - name: config-volume\r
17773             mountPath: /etc/istio/config\r
17774           - name: istio-certs\r
17775             mountPath: /etc/certs\r
17776             readOnly: true\r
17777         - name: istio-proxy\r
17778           image: "iecedge/proxyv2-arm64:1.2.3"\r
17779           imagePullPolicy: IfNotPresent\r
17780           ports:\r
17781           - containerPort: 15003\r
17782           - containerPort: 15005\r
17783           - containerPort: 15007\r
17784           - containerPort: 15011\r
17785           args:\r
17786           - proxy\r
17787           - --domain\r
17788           - $(POD_NAMESPACE).svc.cluster.local\r
17789           - --serviceCluster\r
17790           - istio-pilot\r
17791           - --templateFile\r
17792           - /etc/istio/proxy/envoy_pilot.yaml.tmpl\r
17793           - --controlPlaneAuthPolicy\r
17794           - NONE\r
17795           env:\r
17796           - name: POD_NAME\r
17797             valueFrom:\r
17798               fieldRef:\r
17799                 apiVersion: v1\r
17800                 fieldPath: metadata.name\r
17801           - name: POD_NAMESPACE\r
17802             valueFrom:\r
17803               fieldRef:\r
17804                 apiVersion: v1\r
17805                 fieldPath: metadata.namespace\r
17806           - name: INSTANCE_IP\r
17807             valueFrom:\r
17808               fieldRef:\r
17809                 apiVersion: v1\r
17810                 fieldPath: status.podIP\r
17811           resources:\r
17812             limits:\r
17813               cpu: 2000m\r
17814               memory: 1024Mi\r
17815             requests:\r
17816               cpu: 10m\r
17817               memory: 40Mi\r
17818 \r
17819           volumeMounts:\r
17820           - name: istio-certs\r
17821             mountPath: /etc/certs\r
17822             readOnly: true\r
17823       volumes:\r
17824       - name: config-volume\r
17825         configMap:\r
17826           name: istio\r
17827       - name: istio-certs\r
17828         secret:\r
17829           secretName: istio.istio-pilot-service-account\r
17830           optional: true\r
17831       affinity:\r
17832         nodeAffinity:\r
17833           requiredDuringSchedulingIgnoredDuringExecution:\r
17834             nodeSelectorTerms:\r
17835             - matchExpressions:\r
17836               - key: beta.kubernetes.io/arch\r
17837                 operator: In\r
17838                 values:\r
17839                 - amd64\r
17840                 - ppc64le\r
17841                 - arm64\r
17842           preferredDuringSchedulingIgnoredDuringExecution:\r
17843           - weight: 2\r
17844             preference:\r
17845               matchExpressions:\r
17846               - key: beta.kubernetes.io/arch\r
17847                 operator: In\r
17848                 values:\r
17849                 - amd64\r
17850           - weight: 2\r
17851             preference:\r
17852               matchExpressions:\r
17853               - key: beta.kubernetes.io/arch\r
17854                 operator: In\r
17855                 values:\r
17856                 - ppc64le\r
17857           - weight: 2\r
17858             preference:\r
17859               matchExpressions:\r
17860               - key: beta.kubernetes.io/arch\r
17861                 operator: In\r
17862                 values:\r
17863                 - arm64\r
17864 \r
17865 ---\r
17866 # Source: istio/charts/prometheus/templates/deployment.yaml\r
17867 # TODO: the original template has service account, roles, etc\r
17868 apiVersion: apps/v1\r
17869 kind: Deployment\r
17870 metadata:\r
17871   name: prometheus\r
17872   namespace: istio-system\r
17873   labels:\r
17874     app: prometheus\r
17875     chart: prometheus\r
17876     heritage: Tiller\r
17877     release: istio\r
17878 spec:\r
17879   replicas: 1\r
17880   selector:\r
17881     matchLabels:\r
17882       app: prometheus\r
17883   template:\r
17884     metadata:\r
17885       labels:\r
17886         app: prometheus\r
17887         chart: prometheus\r
17888         heritage: Tiller\r
17889         release: istio\r
17890       annotations:\r
17891         sidecar.istio.io/inject: "false"\r
17892     spec:\r
17893       serviceAccountName: prometheus\r
17894       containers:\r
17895         - name: prometheus\r
17896           image: "carlosedp/prometheus:v2.8.0-arm64"\r
17897           imagePullPolicy: IfNotPresent\r
17898           args:\r
17899             - '--storage.tsdb.retention=6h'\r
17900             - '--config.file=/etc/prometheus/prometheus.yml'\r
17901           ports:\r
17902             - containerPort: 9090\r
17903               name: http\r
17904           livenessProbe:\r
17905             httpGet:\r
17906               path: /-/healthy\r
17907               port: 9090\r
17908           readinessProbe:\r
17909             httpGet:\r
17910               path: /-/ready\r
17911               port: 9090\r
17912           resources:\r
17913             requests:\r
17914               cpu: 10m\r
17915             \r
17916           volumeMounts:\r
17917           - name: config-volume\r
17918             mountPath: /etc/prometheus\r
17919           - mountPath: /etc/istio-certs\r
17920             name: istio-certs\r
17921       volumes:\r
17922       - name: config-volume\r
17923         configMap:\r
17924           name: prometheus\r
17925       - name: istio-certs\r
17926         secret:\r
17927           defaultMode: 420\r
17928           secretName: istio.default\r
17929       affinity:\r
17930         nodeAffinity:\r
17931           requiredDuringSchedulingIgnoredDuringExecution:\r
17932             nodeSelectorTerms:\r
17933             - matchExpressions:\r
17934               - key: beta.kubernetes.io/arch\r
17935                 operator: In\r
17936                 values:\r
17937                 - amd64\r
17938                 - ppc64le\r
17939                 - arm64\r
17940           preferredDuringSchedulingIgnoredDuringExecution:\r
17941           - weight: 2\r
17942             preference:\r
17943               matchExpressions:\r
17944               - key: beta.kubernetes.io/arch\r
17945                 operator: In\r
17946                 values:\r
17947                 - amd64\r
17948           - weight: 2\r
17949             preference:\r
17950               matchExpressions:\r
17951               - key: beta.kubernetes.io/arch\r
17952                 operator: In\r
17953                 values:\r
17954                 - ppc64le\r
17955           - weight: 2\r
17956             preference:\r
17957               matchExpressions:\r
17958               - key: beta.kubernetes.io/arch\r
17959                 operator: In\r
17960                 values:\r
17961                 - arm64\r
17962 \r
17963 ---\r
17964 # Source: istio/charts/security/templates/deployment.yaml\r
17965 # istio CA watching all namespaces\r
17966 apiVersion: apps/v1\r
17967 kind: Deployment\r
17968 metadata:\r
17969   name: istio-citadel\r
17970   namespace: istio-system\r
17971   labels:\r
17972     app: security\r
17973     chart: security\r
17974     heritage: Tiller\r
17975     release: istio\r
17976     istio: citadel\r
17977 spec:\r
17978   replicas: 1\r
17979   selector:\r
17980     matchLabels:\r
17981       istio: citadel\r
17982   strategy:\r
17983     rollingUpdate:\r
17984       maxSurge: 1\r
17985       maxUnavailable: 0\r
17986   template:\r
17987     metadata:\r
17988       labels:\r
17989         app: security\r
17990         chart: security\r
17991         heritage: Tiller\r
17992         release: istio\r
17993         istio: citadel\r
17994       annotations:\r
17995         sidecar.istio.io/inject: "false"\r
17996     spec:\r
17997       serviceAccountName: istio-citadel-service-account\r
17998       containers:\r
17999         - name: citadel\r
18000           image: "iecedge/citadel-arm64:1.2.3"\r
18001           imagePullPolicy: IfNotPresent\r
18002           args:\r
18003             - --append-dns-names=true\r
18004             - --grpc-port=8060\r
18005             - --citadel-storage-namespace=istio-system\r
18006             - --custom-dns-names=istio-pilot-service-account.istio-system:istio-pilot.istio-system\r
18007             - --monitoring-port=15014\r
18008             - --self-signed-ca=true\r
18009             - --workload-cert-ttl=2160h\r
18010           resources:\r
18011             requests:\r
18012               cpu: 10m\r
18013             \r
18014       affinity:\r
18015         nodeAffinity:\r
18016           requiredDuringSchedulingIgnoredDuringExecution:\r
18017             nodeSelectorTerms:\r
18018             - matchExpressions:\r
18019               - key: beta.kubernetes.io/arch\r
18020                 operator: In\r
18021                 values:\r
18022                 - amd64\r
18023                 - ppc64le\r
18024                 - arm64\r
18025           preferredDuringSchedulingIgnoredDuringExecution:\r
18026           - weight: 2\r
18027             preference:\r
18028               matchExpressions:\r
18029               - key: beta.kubernetes.io/arch\r
18030                 operator: In\r
18031                 values:\r
18032                 - amd64\r
18033           - weight: 2\r
18034             preference:\r
18035               matchExpressions:\r
18036               - key: beta.kubernetes.io/arch\r
18037                 operator: In\r
18038                 values:\r
18039                 - ppc64le\r
18040           - weight: 2\r
18041             preference:\r
18042               matchExpressions:\r
18043               - key: beta.kubernetes.io/arch\r
18044                 operator: In\r
18045                 values:\r
18046                 - arm64\r
18047 \r
18048 ---\r
18049 # Source: istio/charts/sidecarInjectorWebhook/templates/deployment.yaml\r
18050 apiVersion: apps/v1\r
18051 kind: Deployment\r
18052 metadata:\r
18053   name: istio-sidecar-injector\r
18054   namespace: istio-system\r
18055   labels:\r
18056     app: sidecarInjectorWebhook\r
18057     chart: sidecarInjectorWebhook\r
18058     heritage: Tiller\r
18059     release: istio\r
18060     istio: sidecar-injector\r
18061 spec:\r
18062   replicas: 1\r
18063   selector:\r
18064     matchLabels:\r
18065       istio: sidecar-injector\r
18066   strategy:\r
18067     rollingUpdate:\r
18068       maxSurge: 1\r
18069       maxUnavailable: 0\r
18070   template:\r
18071     metadata:\r
18072       labels:\r
18073         app: sidecarInjectorWebhook\r
18074         chart: sidecarInjectorWebhook\r
18075         heritage: Tiller\r
18076         release: istio\r
18077         istio: sidecar-injector\r
18078       annotations:\r
18079         sidecar.istio.io/inject: "false"\r
18080     spec:\r
18081       serviceAccountName: istio-sidecar-injector-service-account\r
18082       containers:\r
18083         - name: sidecar-injector-webhook\r
18084           image: "iecedge/sidecar_injector-arm64:1.2.3"\r
18085           imagePullPolicy: IfNotPresent\r
18086           args:\r
18087             - --caCertFile=/etc/istio/certs/root-cert.pem\r
18088             - --tlsCertFile=/etc/istio/certs/cert-chain.pem\r
18089             - --tlsKeyFile=/etc/istio/certs/key.pem\r
18090             - --injectConfig=/etc/istio/inject/config\r
18091             - --meshConfig=/etc/istio/config/mesh\r
18092             - --healthCheckInterval=2s\r
18093             - --healthCheckFile=/health\r
18094           volumeMounts:\r
18095           - name: config-volume\r
18096             mountPath: /etc/istio/config\r
18097             readOnly: true\r
18098           - name: certs\r
18099             mountPath: /etc/istio/certs\r
18100             readOnly: true\r
18101           - name: inject-config\r
18102             mountPath: /etc/istio/inject\r
18103             readOnly: true\r
18104           livenessProbe:\r
18105             exec:\r
18106               command:\r
18107                 - /usr/local/bin/sidecar-injector\r
18108                 - probe\r
18109                 - --probe-path=/health\r
18110                 - --interval=4s\r
18111             initialDelaySeconds: 4\r
18112             periodSeconds: 4\r
18113           readinessProbe:\r
18114             exec:\r
18115               command:\r
18116                 - /usr/local/bin/sidecar-injector\r
18117                 - probe\r
18118                 - --probe-path=/health\r
18119                 - --interval=4s\r
18120             initialDelaySeconds: 4\r
18121             periodSeconds: 4\r
18122           resources:\r
18123             requests:\r
18124               cpu: 10m\r
18125             \r
18126       volumes:\r
18127       - name: config-volume\r
18128         configMap:\r
18129           name: istio\r
18130       - name: certs\r
18131         secret:\r
18132           secretName: istio.istio-sidecar-injector-service-account\r
18133       - name: inject-config\r
18134         configMap:\r
18135           name: istio-sidecar-injector\r
18136           items:\r
18137           - key: config\r
18138             path: config\r
18139           - key: values\r
18140             path: values\r
18141       affinity:\r
18142         nodeAffinity:\r
18143           requiredDuringSchedulingIgnoredDuringExecution:\r
18144             nodeSelectorTerms:\r
18145             - matchExpressions:\r
18146               - key: beta.kubernetes.io/arch\r
18147                 operator: In\r
18148                 values:\r
18149                 - amd64\r
18150                 - ppc64le\r
18151                 - arm64\r
18152           preferredDuringSchedulingIgnoredDuringExecution:\r
18153           - weight: 2\r
18154             preference:\r
18155               matchExpressions:\r
18156               - key: beta.kubernetes.io/arch\r
18157                 operator: In\r
18158                 values:\r
18159                 - amd64\r
18160           - weight: 2\r
18161             preference:\r
18162               matchExpressions:\r
18163               - key: beta.kubernetes.io/arch\r
18164                 operator: In\r
18165                 values:\r
18166                 - ppc64le\r
18167           - weight: 2\r
18168             preference:\r
18169               matchExpressions:\r
18170               - key: beta.kubernetes.io/arch\r
18171                 operator: In\r
18172                 values:\r
18173                 - arm64\r
18174 \r
18175 ---\r
18176 # Source: istio/charts/tracing/templates/deployment-jaeger.yaml\r
18177 \r
18178 \r
18179 apiVersion: apps/v1\r
18180 kind: Deployment\r
18181 metadata:\r
18182   name: istio-tracing\r
18183   namespace: istio-system\r
18184   labels:\r
18185     app: jaeger\r
18186     chart: tracing\r
18187     heritage: Tiller\r
18188     release: istio\r
18189 spec:\r
18190   selector:\r
18191     matchLabels:\r
18192       app: jaeger\r
18193   template:\r
18194     metadata:\r
18195       labels:\r
18196         app: jaeger\r
18197         chart: tracing\r
18198         heritage: Tiller\r
18199         release: istio\r
18200       annotations:\r
18201         sidecar.istio.io/inject: "false"\r
18202         prometheus.io/scrape: "true"\r
18203         prometheus.io/port: "16686"\r
18204         prometheus.io/path: "/jaeger/metrics"\r
18205     spec:\r
18206       containers:\r
18207         - name: jaeger\r
18208           image: "desaegher/jaeger-all-in-one:arm64"\r
18209           imagePullPolicy: IfNotPresent\r
18210           ports:\r
18211             - containerPort: 9411\r
18212             - containerPort: 16686\r
18213             - containerPort: 5775\r
18214               protocol: UDP\r
18215             - containerPort: 6831\r
18216               protocol: UDP\r
18217             - containerPort: 6832\r
18218               protocol: UDP\r
18219           env:\r
18220           - name: POD_NAMESPACE\r
18221             valueFrom:\r
18222               fieldRef:\r
18223                 apiVersion: v1\r
18224                 fieldPath: metadata.namespace\r
18225           - name: COLLECTOR_ZIPKIN_HTTP_PORT\r
18226             value: "9411"\r
18227           - name: MEMORY_MAX_TRACES\r
18228             value: "50000"\r
18229           - name: QUERY_BASE_PATH\r
18230             value:  /jaeger \r
18231           livenessProbe:\r
18232             httpGet:\r
18233               path: /\r
18234               port: 16686\r
18235           readinessProbe:\r
18236             httpGet:\r
18237               path: /\r
18238               port: 16686\r
18239           resources:\r
18240             requests:\r
18241               cpu: 10m\r
18242             \r
18243       affinity:\r
18244         nodeAffinity:\r
18245           requiredDuringSchedulingIgnoredDuringExecution:\r
18246             nodeSelectorTerms:\r
18247             - matchExpressions:\r
18248               - key: beta.kubernetes.io/arch\r
18249                 operator: In\r
18250                 values:\r
18251                 - amd64\r
18252                 - ppc64le\r
18253                 - arm64\r
18254           preferredDuringSchedulingIgnoredDuringExecution:\r
18255           - weight: 2\r
18256             preference:\r
18257               matchExpressions:\r
18258               - key: beta.kubernetes.io/arch\r
18259                 operator: In\r
18260                 values:\r
18261                 - amd64\r
18262           - weight: 2\r
18263             preference:\r
18264               matchExpressions:\r
18265               - key: beta.kubernetes.io/arch\r
18266                 operator: In\r
18267                 values:\r
18268                 - ppc64le\r
18269           - weight: 2\r
18270             preference:\r
18271               matchExpressions:\r
18272               - key: beta.kubernetes.io/arch\r
18273                 operator: In\r
18274                 values:\r
18275                 - arm64\r
18276 \r
18277 \r
18278 ---\r
18279 # Source: istio/charts/tracing/templates/service-jaeger.yaml\r
18280 \r
18281 \r
18282 apiVersion: v1\r
18283 kind: List\r
18284 metadata:\r
18285   name: jaeger-services\r
18286   namespace: istio-system\r
18287   labels:\r
18288     app: jaeger\r
18289     chart: tracing\r
18290     heritage: Tiller\r
18291     release: istio\r
18292 items:\r
18293 - apiVersion: v1\r
18294   kind: Service\r
18295   metadata:\r
18296     name: jaeger-query\r
18297     namespace: istio-system\r
18298     annotations:\r
18299     labels:\r
18300       app: jaeger\r
18301       jaeger-infra: jaeger-service\r
18302       chart: tracing\r
18303       heritage: Tiller\r
18304       release: istio\r
18305   spec:\r
18306     ports:\r
18307       - name: query-http\r
18308         port: 16686\r
18309         protocol: TCP\r
18310         targetPort: 16686\r
18311     selector:\r
18312       app: jaeger\r
18313 - apiVersion: v1\r
18314   kind: Service\r
18315   metadata:\r
18316     name: jaeger-collector\r
18317     namespace: istio-system\r
18318     labels:\r
18319       app: jaeger\r
18320       jaeger-infra: collector-service\r
18321       chart: tracing\r
18322       heritage: Tiller\r
18323       release: istio\r
18324   spec:\r
18325     ports:\r
18326     - name: jaeger-collector-tchannel\r
18327       port: 14267\r
18328       protocol: TCP\r
18329       targetPort: 14267\r
18330     - name: jaeger-collector-http\r
18331       port: 14268\r
18332       targetPort: 14268\r
18333       protocol: TCP\r
18334     selector:\r
18335       app: jaeger\r
18336     type: ClusterIP\r
18337 - apiVersion: v1\r
18338   kind: Service\r
18339   metadata:\r
18340     name: jaeger-agent\r
18341     namespace: istio-system\r
18342     labels:\r
18343       app: jaeger\r
18344       jaeger-infra: agent-service\r
18345       chart: tracing\r
18346       heritage: Tiller\r
18347       release: istio\r
18348   spec:\r
18349     ports:\r
18350     - name: agent-zipkin-thrift\r
18351       port: 5775\r
18352       protocol: UDP\r
18353       targetPort: 5775\r
18354     - name: agent-compact\r
18355       port: 6831\r
18356       protocol: UDP\r
18357       targetPort: 6831\r
18358     - name: agent-binary\r
18359       port: 6832\r
18360       protocol: UDP\r
18361       targetPort: 6832\r
18362     clusterIP: None\r
18363     selector:\r
18364       app: jaeger\r
18365 \r
18366 \r
18367 \r
18368 ---\r
18369 # Source: istio/charts/tracing/templates/service.yaml\r
18370 apiVersion: v1\r
18371 kind: List\r
18372 metadata:\r
18373   name: tracing-services\r
18374   namespace: istio-system\r
18375   labels:\r
18376     app: jaeger\r
18377     chart: tracing\r
18378     heritage: Tiller\r
18379     release: istio\r
18380 items:\r
18381 - apiVersion: v1\r
18382   kind: Service\r
18383   metadata:\r
18384     name: zipkin\r
18385     namespace: istio-system\r
18386     labels:\r
18387       app: jaeger\r
18388       chart: tracing\r
18389       heritage: Tiller\r
18390       release: istio\r
18391   spec:\r
18392     type: ClusterIP\r
18393     ports:\r
18394       - port: 9411\r
18395         targetPort: 9411\r
18396         protocol: TCP\r
18397         name: http\r
18398     selector:\r
18399       app: jaeger\r
18400 - apiVersion: v1\r
18401   kind: Service\r
18402   metadata:\r
18403     name: tracing\r
18404     namespace: istio-system\r
18405     annotations:\r
18406     labels:\r
18407       app: jaeger\r
18408       chart: tracing\r
18409       heritage: Tiller\r
18410       release: istio\r
18411   spec:\r
18412     ports:\r
18413       - name: http-query\r
18414         port: 80\r
18415         protocol: TCP\r
18416 \r
18417         targetPort: 16686\r
18418 \r
18419     selector:\r
18420       app: jaeger\r
18421 \r
18422 ---\r
18423 # Source: istio/charts/sidecarInjectorWebhook/templates/mutatingwebhook.yaml\r
18424 apiVersion: admissionregistration.k8s.io/v1beta1\r
18425 kind: MutatingWebhookConfiguration\r
18426 metadata:\r
18427   name: istio-sidecar-injector\r
18428   labels:\r
18429     app: sidecarInjectorWebhook\r
18430     chart: sidecarInjectorWebhook\r
18431     heritage: Tiller\r
18432     release: istio\r
18433 webhooks:\r
18434   - name: sidecar-injector.istio.io\r
18435     clientConfig:\r
18436       service:\r
18437         name: istio-sidecar-injector\r
18438         namespace: istio-system\r
18439         path: "/inject"\r
18440       caBundle: ""\r
18441     rules:\r
18442       - operations: [ "CREATE" ]\r
18443         apiGroups: [""]\r
18444         apiVersions: ["v1"]\r
18445         resources: ["pods"]\r
18446     failurePolicy: Fail\r
18447     namespaceSelector:\r
18448       matchLabels:\r
18449         istio-injection: enabled\r
18450 \r
18451 \r
18452 ---\r
18453 # Source: istio/charts/galley/templates/poddisruptionbudget.yaml\r
18454 \r
18455 apiVersion: policy/v1beta1\r
18456 kind: PodDisruptionBudget\r
18457 metadata:\r
18458   name: istio-galley\r
18459   namespace: istio-system\r
18460   labels:\r
18461     app: galley\r
18462     chart: galley\r
18463     heritage: Tiller\r
18464     release: istio\r
18465     istio: galley\r
18466 spec:\r
18467 \r
18468   minAvailable: 1\r
18469   selector:\r
18470     matchLabels:\r
18471       app: galley\r
18472       release: istio\r
18473       istio: galley\r
18474 \r
18475 ---\r
18476 # Source: istio/charts/gateways/templates/poddisruptionbudget.yaml\r
18477 \r
18478 apiVersion: policy/v1beta1\r
18479 kind: PodDisruptionBudget\r
18480 metadata:\r
18481   name: istio-egressgateway\r
18482   namespace: istio-system\r
18483   labels:\r
18484     chart: gateways\r
18485     heritage: Tiller\r
18486     release: istio\r
18487     app: istio-egressgateway\r
18488     istio: egressgateway\r
18489 spec:\r
18490 \r
18491   minAvailable: 1\r
18492   selector:\r
18493     matchLabels:\r
18494       release: istio\r
18495       app: istio-egressgateway\r
18496       istio: egressgateway\r
18497 ---\r
18498 apiVersion: policy/v1beta1\r
18499 kind: PodDisruptionBudget\r
18500 metadata:\r
18501   name: istio-ingressgateway\r
18502   namespace: istio-system\r
18503   labels:\r
18504     chart: gateways\r
18505     heritage: Tiller\r
18506     release: istio\r
18507     app: istio-ingressgateway\r
18508     istio: ingressgateway\r
18509 spec:\r
18510 \r
18511   minAvailable: 1\r
18512   selector:\r
18513     matchLabels:\r
18514       release: istio\r
18515       app: istio-ingressgateway\r
18516       istio: ingressgateway\r
18517 ---\r
18518 \r
18519 ---\r
18520 # Source: istio/charts/mixer/templates/poddisruptionbudget.yaml\r
18521 \r
18522 apiVersion: policy/v1beta1\r
18523 kind: PodDisruptionBudget\r
18524 metadata:\r
18525   name: istio-policy\r
18526   namespace: istio-system\r
18527   labels:\r
18528     app: policy\r
18529     chart: mixer\r
18530     heritage: Tiller\r
18531     release: istio\r
18532     version: 1.2.3\r
18533     istio: mixer\r
18534     istio-mixer-type: policy\r
18535 spec:\r
18536 \r
18537   minAvailable: 1\r
18538   selector:\r
18539     matchLabels:\r
18540       app: policy\r
18541       release: istio\r
18542       istio: mixer\r
18543       istio-mixer-type: policy\r
18544 ---\r
18545 apiVersion: policy/v1beta1\r
18546 kind: PodDisruptionBudget\r
18547 metadata:\r
18548   name: istio-telemetry\r
18549   namespace: istio-system\r
18550   labels:\r
18551     app: telemetry\r
18552     chart: mixer\r
18553     heritage: Tiller\r
18554     release: istio\r
18555     version: 1.2.3\r
18556     istio: mixer\r
18557     istio-mixer-type: telemetry\r
18558 spec:\r
18559 \r
18560   minAvailable: 1\r
18561   selector:\r
18562     matchLabels:\r
18563       app: telemetry\r
18564       release: istio\r
18565       istio: mixer\r
18566       istio-mixer-type: telemetry\r
18567 ---\r
18568 \r
18569 ---\r
18570 # Source: istio/charts/pilot/templates/poddisruptionbudget.yaml\r
18571 \r
18572 apiVersion: policy/v1beta1\r
18573 kind: PodDisruptionBudget\r
18574 metadata:\r
18575   name: istio-pilot\r
18576   namespace: istio-system\r
18577   labels:\r
18578     app: pilot\r
18579     chart: pilot\r
18580     heritage: Tiller\r
18581     release: istio\r
18582     istio: pilot\r
18583 spec:\r
18584 \r
18585   minAvailable: 1\r
18586   selector:\r
18587     matchLabels:\r
18588       app: pilot\r
18589       release: istio\r
18590       istio: pilot\r
18591 \r
18592 ---\r
18593 # Source: istio/charts/sidecarInjectorWebhook/templates/poddisruptionbudget.yaml\r
18594 \r
18595 apiVersion: policy/v1beta1\r
18596 kind: PodDisruptionBudget\r
18597 metadata:\r
18598   name: istio-sidecar-injector\r
18599   namespace: istio-system\r
18600   labels:\r
18601     app: sidecarInjectorWebhook\r
18602     release: istio\r
18603     istio: sidecar-injector\r
18604 spec:\r
18605 \r
18606   minAvailable: 1\r
18607   selector:\r
18608     matchLabels:\r
18609       app: sidecarInjectorWebhook\r
18610       release: istio\r
18611       istio: sidecar-injector\r
18612 ---\r
18613 # Source: istio/charts/galley/templates/validatingwebhookconfiguration.yaml.tpl\r
18614 \r
18615 \r
18616 ---\r
18617 # Source: istio/charts/gateways/templates/autoscale.yaml\r
18618 \r
18619 \r
18620 ---\r
18621 # Source: istio/charts/gateways/templates/preconfigured.yaml\r
18622 \r
18623 \r
18624 ---\r
18625 # Source: istio/charts/grafana/templates/grafana-ports-mtls.yaml\r
18626 \r
18627 \r
18628 ---\r
18629 # Source: istio/charts/grafana/templates/ingress.yaml\r
18630 \r
18631 ---\r
18632 # Source: istio/charts/grafana/templates/pvc.yaml\r
18633 \r
18634 \r
18635 ---\r
18636 # Source: istio/charts/grafana/templates/tests/test-grafana-connection.yaml\r
18637 \r
18638 \r
18639 ---\r
18640 # Source: istio/charts/kiali/templates/ingress.yaml\r
18641 \r
18642 ---\r
18643 # Source: istio/charts/kiali/templates/tests/test-kiali-connection.yaml\r
18644 \r
18645 \r
18646 ---\r
18647 # Source: istio/charts/mixer/templates/autoscale.yaml\r
18648 \r
18649 \r
18650 ---\r
18651 # Source: istio/charts/pilot/templates/autoscale.yaml\r
18652 \r
18653 \r
18654 ---\r
18655 # Source: istio/charts/pilot/templates/meshexpansion.yaml\r
18656 \r
18657 \r
18658 \r
18659 ---\r
18660 # Source: istio/charts/prometheus/templates/ingress.yaml\r
18661 \r
18662 ---\r
18663 # Source: istio/charts/prometheus/templates/tests/test-prometheus-connection.yaml\r
18664 \r
18665 \r
18666 ---\r
18667 # Source: istio/charts/security/templates/enable-mesh-mtls.yaml\r
18668 \r
18669 \r
18670 ---\r
18671 # Source: istio/charts/security/templates/enable-mesh-permissive.yaml\r
18672 \r
18673 \r
18674 ---\r
18675 # Source: istio/charts/security/templates/meshexpansion.yaml\r
18676 \r
18677 \r
18678 ---\r
18679 # Source: istio/charts/security/templates/tests/test-citadel-connection.yaml\r
18680 \r
18681 \r
18682 ---\r
18683 # Source: istio/charts/tracing/templates/deployment-zipkin.yaml\r
18684 \r
18685 \r
18686 ---\r
18687 # Source: istio/charts/tracing/templates/ingress.yaml\r
18688 \r
18689 ---\r
18690 # Source: istio/charts/tracing/templates/tests/test-tracing-connection.yaml\r
18691 \r
18692 \r
18693 ---\r
18694 # Source: istio/templates/endpoints.yaml\r
18695 \r
18696 \r
18697 ---\r
18698 # Source: istio/templates/install-custom-resources.sh.tpl\r
18699 \r
18700 \r
18701 ---\r
18702 # Source: istio/templates/service.yaml\r
18703 \r
18704 \r
18705 ---\r
18706 # Source: istio/charts/mixer/templates/config.yaml\r
18707 \r
18708 apiVersion: "config.istio.io/v1alpha2"\r
18709 kind: attributemanifest\r
18710 metadata:\r
18711   name: istioproxy\r
18712   namespace: istio-system\r
18713   labels:\r
18714     app: mixer\r
18715     chart: mixer\r
18716     heritage: Tiller\r
18717     release: istio\r
18718 spec:\r
18719   attributes:\r
18720     origin.ip:\r
18721       valueType: IP_ADDRESS\r
18722     origin.uid:\r
18723       valueType: STRING\r
18724     origin.user:\r
18725       valueType: STRING\r
18726     request.headers:\r
18727       valueType: STRING_MAP\r
18728     request.id:\r
18729       valueType: STRING\r
18730     request.host:\r
18731       valueType: STRING\r
18732     request.method:\r
18733       valueType: STRING\r
18734     request.path:\r
18735       valueType: STRING\r
18736     request.url_path:\r
18737       valueType: STRING\r
18738     request.query_params:\r
18739       valueType: STRING_MAP\r
18740     request.reason:\r
18741       valueType: STRING\r
18742     request.referer:\r
18743       valueType: STRING\r
18744     request.scheme:\r
18745       valueType: STRING\r
18746     request.total_size:\r
18747       valueType: INT64\r
18748     request.size:\r
18749       valueType: INT64\r
18750     request.time:\r
18751       valueType: TIMESTAMP\r
18752     request.useragent:\r
18753       valueType: STRING\r
18754     response.code:\r
18755       valueType: INT64\r
18756     response.duration:\r
18757       valueType: DURATION\r
18758     response.headers:\r
18759       valueType: STRING_MAP\r
18760     response.total_size:\r
18761       valueType: INT64\r
18762     response.size:\r
18763       valueType: INT64\r
18764     response.time:\r
18765       valueType: TIMESTAMP\r
18766     response.grpc_status:\r
18767       valueType: STRING\r
18768     response.grpc_message:\r
18769       valueType: STRING\r
18770     source.uid:\r
18771       valueType: STRING\r
18772     source.user: # DEPRECATED\r
18773       valueType: STRING\r
18774     source.principal:\r
18775       valueType: STRING\r
18776     destination.uid:\r
18777       valueType: STRING\r
18778     destination.principal:\r
18779       valueType: STRING\r
18780     destination.port:\r
18781       valueType: INT64\r
18782     connection.event:\r
18783       valueType: STRING\r
18784     connection.id:\r
18785       valueType: STRING\r
18786     connection.received.bytes:\r
18787       valueType: INT64\r
18788     connection.received.bytes_total:\r
18789       valueType: INT64\r
18790     connection.sent.bytes:\r
18791       valueType: INT64\r
18792     connection.sent.bytes_total:\r
18793       valueType: INT64\r
18794     connection.duration:\r
18795       valueType: DURATION\r
18796     connection.mtls:\r
18797       valueType: BOOL\r
18798     connection.requested_server_name:\r
18799       valueType: STRING\r
18800     context.protocol:\r
18801       valueType: STRING\r
18802     context.proxy_error_code:\r
18803       valueType: STRING\r
18804     context.timestamp:\r
18805       valueType: TIMESTAMP\r
18806     context.time:\r
18807       valueType: TIMESTAMP\r
18808     # Deprecated, kept for compatibility\r
18809     context.reporter.local:\r
18810       valueType: BOOL\r
18811     context.reporter.kind:\r
18812       valueType: STRING\r
18813     context.reporter.uid:\r
18814       valueType: STRING\r
18815     api.service:\r
18816       valueType: STRING\r
18817     api.version:\r
18818       valueType: STRING\r
18819     api.operation:\r
18820       valueType: STRING\r
18821     api.protocol:\r
18822       valueType: STRING\r
18823     request.auth.principal:\r
18824       valueType: STRING\r
18825     request.auth.audiences:\r
18826       valueType: STRING\r
18827     request.auth.presenter:\r
18828       valueType: STRING\r
18829     request.auth.claims:\r
18830       valueType: STRING_MAP\r
18831     request.auth.raw_claims:\r
18832       valueType: STRING\r
18833     request.api_key:\r
18834       valueType: STRING\r
18835     rbac.permissive.response_code:\r
18836       valueType: STRING\r
18837     rbac.permissive.effective_policy_id:\r
18838       valueType: STRING\r
18839     check.error_code:\r
18840       valueType: INT64\r
18841     check.error_message:\r
18842       valueType: STRING\r
18843     check.cache_hit:\r
18844       valueType: BOOL\r
18845     quota.cache_hit:\r
18846       valueType: BOOL\r
18847 \r
18848 ---\r
18849 apiVersion: "config.istio.io/v1alpha2"\r
18850 kind: attributemanifest\r
18851 metadata:\r
18852   name: kubernetes\r
18853   namespace: istio-system\r
18854   labels:\r
18855     app: mixer\r
18856     chart: mixer\r
18857     heritage: Tiller\r
18858     release: istio\r
18859 spec:\r
18860   attributes:\r
18861     source.ip:\r
18862       valueType: IP_ADDRESS\r
18863     source.labels:\r
18864       valueType: STRING_MAP\r
18865     source.metadata:\r
18866       valueType: STRING_MAP\r
18867     source.name:\r
18868       valueType: STRING\r
18869     source.namespace:\r
18870       valueType: STRING\r
18871     source.owner:\r
18872       valueType: STRING\r
18873     source.serviceAccount:\r
18874       valueType: STRING\r
18875     source.services:\r
18876       valueType: STRING\r
18877     source.workload.uid:\r
18878       valueType: STRING\r
18879     source.workload.name:\r
18880       valueType: STRING\r
18881     source.workload.namespace:\r
18882       valueType: STRING\r
18883     destination.ip:\r
18884       valueType: IP_ADDRESS\r
18885     destination.labels:\r
18886       valueType: STRING_MAP\r
18887     destination.metadata:\r
18888       valueType: STRING_MAP\r
18889     destination.owner:\r
18890       valueType: STRING\r
18891     destination.name:\r
18892       valueType: STRING\r
18893     destination.container.name:\r
18894       valueType: STRING\r
18895     destination.namespace:\r
18896       valueType: STRING\r
18897     destination.service.uid:\r
18898       valueType: STRING\r
18899     destination.service.name:\r
18900       valueType: STRING\r
18901     destination.service.namespace:\r
18902       valueType: STRING\r
18903     destination.service.host:\r
18904       valueType: STRING\r
18905     destination.serviceAccount:\r
18906       valueType: STRING\r
18907     destination.workload.uid:\r
18908       valueType: STRING\r
18909     destination.workload.name:\r
18910       valueType: STRING\r
18911     destination.workload.namespace:\r
18912       valueType: STRING\r
18913 ---\r
18914 apiVersion: "config.istio.io/v1alpha2"\r
18915 kind: handler\r
18916 metadata:\r
18917   name: stdio\r
18918   namespace: istio-system\r
18919   labels:\r
18920     app: mixer\r
18921     chart: mixer\r
18922     heritage: Tiller\r
18923     release: istio\r
18924 spec:\r
18925   compiledAdapter: stdio\r
18926   params:\r
18927     outputAsJson: true\r
18928 ---\r
18929 apiVersion: "config.istio.io/v1alpha2"\r
18930 kind: instance\r
18931 metadata:\r
18932   name: accesslog\r
18933   namespace: istio-system\r
18934   labels:\r
18935     app: mixer\r
18936     chart: mixer\r
18937     heritage: Tiller\r
18938     release: istio\r
18939 spec:\r
18940   compiledTemplate: logentry\r
18941   params:\r
18942     severity: '"Info"'\r
18943     timestamp: request.time\r
18944     variables:\r
18945       sourceIp: source.ip | ip("0.0.0.0")\r
18946       sourceApp: source.labels["app"] | ""\r
18947       sourcePrincipal: source.principal | ""\r
18948       sourceName: source.name | ""\r
18949       sourceWorkload: source.workload.name | ""\r
18950       sourceNamespace: source.namespace | ""\r
18951       sourceOwner: source.owner | ""\r
18952       destinationApp: destination.labels["app"] | ""\r
18953       destinationIp: destination.ip | ip("0.0.0.0")\r
18954       destinationServiceHost: destination.service.host | ""\r
18955       destinationWorkload: destination.workload.name | ""\r
18956       destinationName: destination.name | ""\r
18957       destinationNamespace: destination.namespace | ""\r
18958       destinationOwner: destination.owner | ""\r
18959       destinationPrincipal: destination.principal | ""\r
18960       apiClaims: request.auth.raw_claims | ""\r
18961       apiKey: request.api_key | request.headers["x-api-key"] | ""\r
18962       protocol: request.scheme | context.protocol | "http"\r
18963       method: request.method | ""\r
18964       url: request.path | ""\r
18965       responseCode: response.code | 0\r
18966       responseFlags: context.proxy_error_code | ""\r
18967       responseSize: response.size | 0\r
18968       permissiveResponseCode: rbac.permissive.response_code | "none"\r
18969       permissiveResponsePolicyID: rbac.permissive.effective_policy_id | "none"\r
18970       requestSize: request.size | 0\r
18971       requestId: request.headers["x-request-id"] | ""\r
18972       clientTraceId: request.headers["x-client-trace-id"] | ""\r
18973       latency: response.duration | "0ms"\r
18974       connection_security_policy: conditional((context.reporter.kind | "inbound") == "outbound", "unknown", conditional(connection.mtls | false, "mutual_tls", "none"))\r
18975       requestedServerName: connection.requested_server_name | ""\r
18976       userAgent: request.useragent | ""\r
18977       responseTimestamp: response.time\r
18978       receivedBytes: request.total_size | 0\r
18979       sentBytes: response.total_size | 0\r
18980       referer: request.referer | ""\r
18981       httpAuthority: request.headers[":authority"] | request.host | ""\r
18982       xForwardedFor: request.headers["x-forwarded-for"] | "0.0.0.0"\r
18983       reporter: conditional((context.reporter.kind | "inbound") == "outbound", "source", "destination")\r
18984       grpcStatus: response.grpc_status | ""\r
18985       grpcMessage: response.grpc_message | ""\r
18986     monitored_resource_type: '"global"'\r
18987 ---\r
18988 apiVersion: "config.istio.io/v1alpha2"\r
18989 kind: instance\r
18990 metadata:\r
18991   name: tcpaccesslog\r
18992   namespace: istio-system\r
18993   labels:\r
18994     app: mixer\r
18995     chart: mixer\r
18996     heritage: Tiller\r
18997     release: istio\r
18998 spec:\r
18999   compiledTemplate: logentry\r
19000   params:\r
19001     severity: '"Info"'\r
19002     timestamp: context.time | timestamp("2017-01-01T00:00:00Z")\r
19003     variables:\r
19004       connectionEvent: connection.event | ""\r
19005       sourceIp: source.ip | ip("0.0.0.0")\r
19006       sourceApp: source.labels["app"] | ""\r
19007       sourcePrincipal: source.principal | ""\r
19008       sourceName: source.name | ""\r
19009       sourceWorkload: source.workload.name | ""\r
19010       sourceNamespace: source.namespace | ""\r
19011       sourceOwner: source.owner | ""\r
19012       destinationApp: destination.labels["app"] | ""\r
19013       destinationIp: destination.ip | ip("0.0.0.0")\r
19014       destinationServiceHost: destination.service.host | ""\r
19015       destinationWorkload: destination.workload.name | ""\r
19016       destinationName: destination.name | ""\r
19017       destinationNamespace: destination.namespace | ""\r
19018       destinationOwner: destination.owner | ""\r
19019       destinationPrincipal: destination.principal | ""\r
19020       protocol: context.protocol | "tcp"\r
19021       connectionDuration: connection.duration | "0ms"\r
19022       connection_security_policy: conditional((context.reporter.kind | "inbound") == "outbound", "unknown", conditional(connection.mtls | false, "mutual_tls", "none"))\r
19023       requestedServerName: connection.requested_server_name | ""\r
19024       receivedBytes: connection.received.bytes | 0\r
19025       sentBytes: connection.sent.bytes | 0\r
19026       totalReceivedBytes: connection.received.bytes_total | 0\r
19027       totalSentBytes: connection.sent.bytes_total | 0\r
19028       reporter: conditional((context.reporter.kind | "inbound") == "outbound", "source", "destination")\r
19029       responseFlags: context.proxy_error_code | ""\r
19030     monitored_resource_type: '"global"'\r
19031 ---\r
19032 apiVersion: "config.istio.io/v1alpha2"\r
19033 kind: rule\r
19034 metadata:\r
19035   name: stdio\r
19036   namespace: istio-system\r
19037   labels:\r
19038     app: mixer\r
19039     chart: mixer\r
19040     heritage: Tiller\r
19041     release: istio\r
19042 spec:\r
19043   match: context.protocol == "http" || context.protocol == "grpc"\r
19044   actions:\r
19045   - handler: stdio\r
19046     instances:\r
19047     - accesslog\r
19048 ---\r
19049 apiVersion: "config.istio.io/v1alpha2"\r
19050 kind: rule\r
19051 metadata:\r
19052   name: stdiotcp\r
19053   namespace: istio-system\r
19054   labels:\r
19055     app: mixer\r
19056     chart: mixer\r
19057     heritage: Tiller\r
19058     release: istio\r
19059 spec:\r
19060   match: context.protocol == "tcp"\r
19061   actions:\r
19062   - handler: stdio\r
19063     instances:\r
19064     - tcpaccesslog\r
19065 ---\r
19066 apiVersion: "config.istio.io/v1alpha2"\r
19067 kind: instance\r
19068 metadata:\r
19069   name: requestcount\r
19070   namespace: istio-system\r
19071   labels:\r
19072     app: mixer\r
19073     chart: mixer\r
19074     heritage: Tiller\r
19075     release: istio\r
19076 spec:\r
19077   compiledTemplate: metric\r
19078   params:\r
19079     value: "1"\r
19080     dimensions:\r
19081       reporter: conditional((context.reporter.kind | "inbound") == "outbound", "source", "destination")\r
19082       source_workload: source.workload.name | "unknown"\r
19083       source_workload_namespace: source.workload.namespace | "unknown"\r
19084       source_principal: source.principal | "unknown"\r
19085       source_app: source.labels["app"] | "unknown"\r
19086       source_version: source.labels["version"] | "unknown"\r
19087       destination_workload: destination.workload.name | "unknown"\r
19088       destination_workload_namespace: destination.workload.namespace | "unknown"\r
19089       destination_principal: destination.principal | "unknown"\r
19090       destination_app: destination.labels["app"] | "unknown"\r
19091       destination_version: destination.labels["version"] | "unknown"\r
19092       destination_service: destination.service.host | "unknown"\r
19093       destination_service_name: destination.service.name | "unknown"\r
19094       destination_service_namespace: destination.service.namespace | "unknown"\r
19095       request_protocol: api.protocol | context.protocol | "unknown"\r
19096       response_code: response.code | 200\r
19097       response_flags: context.proxy_error_code | "-"\r
19098       permissive_response_code: rbac.permissive.response_code | "none"\r
19099       permissive_response_policyid: rbac.permissive.effective_policy_id | "none"\r
19100       connection_security_policy: conditional((context.reporter.kind | "inbound") == "outbound", "unknown", conditional(connection.mtls | false, "mutual_tls", "none"))\r
19101     monitored_resource_type: '"UNSPECIFIED"'\r
19102 ---\r
19103 apiVersion: "config.istio.io/v1alpha2"\r
19104 kind: instance\r
19105 metadata:\r
19106   name: requestduration\r
19107   namespace: istio-system\r
19108   labels:\r
19109     app: mixer\r
19110     chart: mixer\r
19111     heritage: Tiller\r
19112     release: istio\r
19113 spec:\r
19114   compiledTemplate: metric\r
19115   params:\r
19116     value: response.duration | "0ms"\r
19117     dimensions:\r
19118       reporter: conditional((context.reporter.kind | "inbound") == "outbound", "source", "destination")\r
19119       source_workload: source.workload.name | "unknown"\r
19120       source_workload_namespace: source.workload.namespace | "unknown"\r
19121       source_principal: source.principal | "unknown"\r
19122       source_app: source.labels["app"] | "unknown"\r
19123       source_version: source.labels["version"] | "unknown"\r
19124       destination_workload: destination.workload.name | "unknown"\r
19125       destination_workload_namespace: destination.workload.namespace | "unknown"\r
19126       destination_principal: destination.principal | "unknown"\r
19127       destination_app: destination.labels["app"] | "unknown"\r
19128       destination_version: destination.labels["version"] | "unknown"\r
19129       destination_service: destination.service.host | "unknown"\r
19130       destination_service_name: destination.service.name | "unknown"\r
19131       destination_service_namespace: destination.service.namespace | "unknown"\r
19132       request_protocol: api.protocol | context.protocol | "unknown"\r
19133       response_code: response.code | 200\r
19134       response_flags: context.proxy_error_code | "-"\r
19135       permissive_response_code: rbac.permissive.response_code | "none"\r
19136       permissive_response_policyid: rbac.permissive.effective_policy_id | "none"\r
19137       connection_security_policy: conditional((context.reporter.kind | "inbound") == "outbound", "unknown", conditional(connection.mtls | false, "mutual_tls", "none"))\r
19138     monitored_resource_type: '"UNSPECIFIED"'\r
19139 ---\r
19140 apiVersion: "config.istio.io/v1alpha2"\r
19141 kind: instance\r
19142 metadata:\r
19143   name: requestsize\r
19144   namespace: istio-system\r
19145   labels:\r
19146     app: mixer\r
19147     chart: mixer\r
19148     heritage: Tiller\r
19149     release: istio\r
19150 spec:\r
19151   compiledTemplate: metric\r
19152   params:\r
19153     value: request.size | 0\r
19154     dimensions:\r
19155       reporter: conditional((context.reporter.kind | "inbound") == "outbound", "source", "destination")\r
19156       source_workload: source.workload.name | "unknown"\r
19157       source_workload_namespace: source.workload.namespace | "unknown"\r
19158       source_principal: source.principal | "unknown"\r
19159       source_app: source.labels["app"] | "unknown"\r
19160       source_version: source.labels["version"] | "unknown"\r
19161       destination_workload: destination.workload.name | "unknown"\r
19162       destination_workload_namespace: destination.workload.namespace | "unknown"\r
19163       destination_principal: destination.principal | "unknown"\r
19164       destination_app: destination.labels["app"] | "unknown"\r
19165       destination_version: destination.labels["version"] | "unknown"\r
19166       destination_service: destination.service.host | "unknown"\r
19167       destination_service_name: destination.service.name | "unknown"\r
19168       destination_service_namespace: destination.service.namespace | "unknown"\r
19169       request_protocol: api.protocol | context.protocol | "unknown"\r
19170       response_code: response.code | 200\r
19171       response_flags: context.proxy_error_code | "-"\r
19172       permissive_response_code: rbac.permissive.response_code | "none"\r
19173       permissive_response_policyid: rbac.permissive.effective_policy_id | "none"\r
19174       connection_security_policy: conditional((context.reporter.kind | "inbound") == "outbound", "unknown", conditional(connection.mtls | false, "mutual_tls", "none"))\r
19175     monitored_resource_type: '"UNSPECIFIED"'\r
19176 ---\r
19177 apiVersion: "config.istio.io/v1alpha2"\r
19178 kind: instance\r
19179 metadata:\r
19180   name: responsesize\r
19181   namespace: istio-system\r
19182   labels:\r
19183     app: mixer\r
19184     chart: mixer\r
19185     heritage: Tiller\r
19186     release: istio\r
19187 spec:\r
19188   compiledTemplate: metric\r
19189   params:\r
19190     value: response.size | 0\r
19191     dimensions:\r
19192       reporter: conditional((context.reporter.kind | "inbound") == "outbound", "source", "destination")\r
19193       source_workload: source.workload.name | "unknown"\r
19194       source_workload_namespace: source.workload.namespace | "unknown"\r
19195       source_principal: source.principal | "unknown"\r
19196       source_app: source.labels["app"] | "unknown"\r
19197       source_version: source.labels["version"] | "unknown"\r
19198       destination_workload: destination.workload.name | "unknown"\r
19199       destination_workload_namespace: destination.workload.namespace | "unknown"\r
19200       destination_principal: destination.principal | "unknown"\r
19201       destination_app: destination.labels["app"] | "unknown"\r
19202       destination_version: destination.labels["version"] | "unknown"\r
19203       destination_service: destination.service.host | "unknown"\r
19204       destination_service_name: destination.service.name | "unknown"\r
19205       destination_service_namespace: destination.service.namespace | "unknown"\r
19206       request_protocol: api.protocol | context.protocol | "unknown"\r
19207       response_code: response.code | 200\r
19208       response_flags: context.proxy_error_code | "-"\r
19209       permissive_response_code: rbac.permissive.response_code | "none"\r
19210       permissive_response_policyid: rbac.permissive.effective_policy_id | "none"\r
19211       connection_security_policy: conditional((context.reporter.kind | "inbound") == "outbound", "unknown", conditional(connection.mtls | false, "mutual_tls", "none"))\r
19212     monitored_resource_type: '"UNSPECIFIED"'\r
19213 ---\r
19214 apiVersion: "config.istio.io/v1alpha2"\r
19215 kind: instance\r
19216 metadata:\r
19217   name: tcpbytesent\r
19218   namespace: istio-system\r
19219   labels:\r
19220     app: mixer\r
19221     chart: mixer\r
19222     heritage: Tiller\r
19223     release: istio\r
19224 spec:\r
19225   compiledTemplate: metric\r
19226   params:\r
19227     value: connection.sent.bytes | 0\r
19228     dimensions:\r
19229       reporter: conditional((context.reporter.kind | "inbound") == "outbound", "source", "destination")\r
19230       source_workload: source.workload.name | "unknown"\r
19231       source_workload_namespace: source.workload.namespace | "unknown"\r
19232       source_principal: source.principal | "unknown"\r
19233       source_app: source.labels["app"] | "unknown"\r
19234       source_version: source.labels["version"] | "unknown"\r
19235       destination_workload: destination.workload.name | "unknown"\r
19236       destination_workload_namespace: destination.workload.namespace | "unknown"\r
19237       destination_principal: destination.principal | "unknown"\r
19238       destination_app: destination.labels["app"] | "unknown"\r
19239       destination_version: destination.labels["version"] | "unknown"\r
19240       destination_service: destination.service.host | "unknown"\r
19241       destination_service_name: destination.service.name | "unknown"\r
19242       destination_service_namespace: destination.service.namespace | "unknown"\r
19243       connection_security_policy: conditional((context.reporter.kind | "inbound") == "outbound", "unknown", conditional(connection.mtls | false, "mutual_tls", "none"))\r
19244       response_flags: context.proxy_error_code | "-"\r
19245     monitored_resource_type: '"UNSPECIFIED"'\r
19246 ---\r
19247 apiVersion: "config.istio.io/v1alpha2"\r
19248 kind: instance\r
19249 metadata:\r
19250   name: tcpbytereceived\r
19251   namespace: istio-system\r
19252   labels:\r
19253     app: mixer\r
19254     chart: mixer\r
19255     heritage: Tiller\r
19256     release: istio\r
19257 spec:\r
19258   compiledTemplate: metric\r
19259   params:\r
19260     value: connection.received.bytes | 0\r
19261     dimensions:\r
19262       reporter: conditional((context.reporter.kind | "inbound") == "outbound", "source", "destination")\r
19263       source_workload: source.workload.name | "unknown"\r
19264       source_workload_namespace: source.workload.namespace | "unknown"\r
19265       source_principal: source.principal | "unknown"\r
19266       source_app: source.labels["app"] | "unknown"\r
19267       source_version: source.labels["version"] | "unknown"\r
19268       destination_workload: destination.workload.name | "unknown"\r
19269       destination_workload_namespace: destination.workload.namespace | "unknown"\r
19270       destination_principal: destination.principal | "unknown"\r
19271       destination_app: destination.labels["app"] | "unknown"\r
19272       destination_version: destination.labels["version"] | "unknown"\r
19273       destination_service: destination.service.host | "unknown"\r
19274       destination_service_name: destination.service.name | "unknown"\r
19275       destination_service_namespace: destination.service.namespace | "unknown"\r
19276       connection_security_policy: conditional((context.reporter.kind | "inbound") == "outbound", "unknown", conditional(connection.mtls | false, "mutual_tls", "none"))\r
19277       response_flags: context.proxy_error_code | "-"\r
19278     monitored_resource_type: '"UNSPECIFIED"'\r
19279 ---\r
19280 apiVersion: "config.istio.io/v1alpha2"\r
19281 kind: instance\r
19282 metadata:\r
19283   name: tcpconnectionsopened\r
19284   namespace: istio-system\r
19285   labels:\r
19286     app: mixer\r
19287     chart: mixer\r
19288     heritage: Tiller\r
19289     release: istio\r
19290 spec:\r
19291   compiledTemplate: metric\r
19292   params:\r
19293     value: "1"\r
19294     dimensions:\r
19295       reporter: conditional((context.reporter.kind | "inbound") == "outbound", "source", "destination")\r
19296       source_workload: source.workload.name | "unknown"\r
19297       source_workload_namespace: source.workload.namespace | "unknown"\r
19298       source_principal: source.principal | "unknown"\r
19299       source_app: source.labels["app"] | "unknown"\r
19300       source_version: source.labels["version"] | "unknown"\r
19301       destination_workload: destination.workload.name | "unknown"\r
19302       destination_workload_namespace: destination.workload.namespace | "unknown"\r
19303       destination_principal: destination.principal | "unknown"\r
19304       destination_app: destination.labels["app"] | "unknown"\r
19305       destination_version: destination.labels["version"] | "unknown"\r
19306       destination_service: destination.service.name | "unknown"\r
19307       destination_service_name: destination.service.name | "unknown"\r
19308       destination_service_namespace: destination.service.namespace | "unknown"\r
19309       connection_security_policy: conditional((context.reporter.kind | "inbound") == "outbound", "unknown", conditional(connection.mtls | false, "mutual_tls", "none"))\r
19310       response_flags: context.proxy_error_code | "-"\r
19311     monitored_resource_type: '"UNSPECIFIED"'\r
19312 ---\r
19313 apiVersion: "config.istio.io/v1alpha2"\r
19314 kind: instance\r
19315 metadata:\r
19316   name: tcpconnectionsclosed\r
19317   namespace: istio-system\r
19318   labels:\r
19319     app: mixer\r
19320     chart: mixer\r
19321     heritage: Tiller\r
19322     release: istio\r
19323 spec:\r
19324   compiledTemplate: metric\r
19325   params:\r
19326     value: "1"\r
19327     dimensions:\r
19328       reporter: conditional((context.reporter.kind | "inbound") == "outbound", "source", "destination")\r
19329       source_workload: source.workload.name | "unknown"\r
19330       source_workload_namespace: source.workload.namespace | "unknown"\r
19331       source_principal: source.principal | "unknown"\r
19332       source_app: source.labels["app"] | "unknown"\r
19333       source_version: source.labels["version"] | "unknown"\r
19334       destination_workload: destination.workload.name | "unknown"\r
19335       destination_workload_namespace: destination.workload.namespace | "unknown"\r
19336       destination_principal: destination.principal | "unknown"\r
19337       destination_app: destination.labels["app"] | "unknown"\r
19338       destination_version: destination.labels["version"] | "unknown"\r
19339       destination_service: destination.service.name | "unknown"\r
19340       destination_service_name: destination.service.name | "unknown"\r
19341       destination_service_namespace: destination.service.namespace | "unknown"\r
19342       connection_security_policy: conditional((context.reporter.kind | "inbound") == "outbound", "unknown", conditional(connection.mtls | false, "mutual_tls", "none"))\r
19343       response_flags: context.proxy_error_code | "-"\r
19344     monitored_resource_type: '"UNSPECIFIED"'\r
19345 ---\r
19346 apiVersion: "config.istio.io/v1alpha2"\r
19347 kind: handler\r
19348 metadata:\r
19349   name: prometheus\r
19350   namespace: istio-system\r
19351   labels:\r
19352     app: mixer\r
19353     chart: mixer\r
19354     heritage: Tiller\r
19355     release: istio\r
19356 spec:\r
19357   compiledAdapter: prometheus\r
19358   params:\r
19359     metricsExpirationPolicy:\r
19360       metricsExpiryDuration: "10m"\r
19361     metrics:\r
19362     - name: requests_total\r
19363       instance_name: requestcount.instance.istio-system\r
19364       kind: COUNTER\r
19365       label_names:\r
19366       - reporter\r
19367       - source_app\r
19368       - source_principal\r
19369       - source_workload\r
19370       - source_workload_namespace\r
19371       - source_version\r
19372       - destination_app\r
19373       - destination_principal\r
19374       - destination_workload\r
19375       - destination_workload_namespace\r
19376       - destination_version\r
19377       - destination_service\r
19378       - destination_service_name\r
19379       - destination_service_namespace\r
19380       - request_protocol\r
19381       - response_code\r
19382       - response_flags\r
19383       - permissive_response_code\r
19384       - permissive_response_policyid\r
19385       - connection_security_policy\r
19386     - name: request_duration_seconds\r
19387       instance_name: requestduration.instance.istio-system\r
19388       kind: DISTRIBUTION\r
19389       label_names:\r
19390       - reporter\r
19391       - source_app\r
19392       - source_principal\r
19393       - source_workload\r
19394       - source_workload_namespace\r
19395       - source_version\r
19396       - destination_app\r
19397       - destination_principal\r
19398       - destination_workload\r
19399       - destination_workload_namespace\r
19400       - destination_version\r
19401       - destination_service\r
19402       - destination_service_name\r
19403       - destination_service_namespace\r
19404       - request_protocol\r
19405       - response_code\r
19406       - response_flags\r
19407       - permissive_response_code\r
19408       - permissive_response_policyid\r
19409       - connection_security_policy\r
19410       buckets:\r
19411         explicit_buckets:\r
19412           bounds: [0.005, 0.01, 0.025, 0.05, 0.1, 0.25, 0.5, 1, 2.5, 5, 10]\r
19413     - name: request_bytes\r
19414       instance_name: requestsize.instance.istio-system\r
19415       kind: DISTRIBUTION\r
19416       label_names:\r
19417       - reporter\r
19418       - source_app\r
19419       - source_principal\r
19420       - source_workload\r
19421       - source_workload_namespace\r
19422       - source_version\r
19423       - destination_app\r
19424       - destination_principal\r
19425       - destination_workload\r
19426       - destination_workload_namespace\r
19427       - destination_version\r
19428       - destination_service\r
19429       - destination_service_name\r
19430       - destination_service_namespace\r
19431       - request_protocol\r
19432       - response_code\r
19433       - response_flags\r
19434       - permissive_response_code\r
19435       - permissive_response_policyid\r
19436       - connection_security_policy\r
19437       buckets:\r
19438         exponentialBuckets:\r
19439           numFiniteBuckets: 8\r
19440           scale: 1\r
19441           growthFactor: 10\r
19442     - name: response_bytes\r
19443       instance_name: responsesize.instance.istio-system\r
19444       kind: DISTRIBUTION\r
19445       label_names:\r
19446       - reporter\r
19447       - source_app\r
19448       - source_principal\r
19449       - source_workload\r
19450       - source_workload_namespace\r
19451       - source_version\r
19452       - destination_app\r
19453       - destination_principal\r
19454       - destination_workload\r
19455       - destination_workload_namespace\r
19456       - destination_version\r
19457       - destination_service\r
19458       - destination_service_name\r
19459       - destination_service_namespace\r
19460       - request_protocol\r
19461       - response_code\r
19462       - response_flags\r
19463       - permissive_response_code\r
19464       - permissive_response_policyid\r
19465       - connection_security_policy\r
19466       buckets:\r
19467         exponentialBuckets:\r
19468           numFiniteBuckets: 8\r
19469           scale: 1\r
19470           growthFactor: 10\r
19471     - name: tcp_sent_bytes_total\r
19472       instance_name: tcpbytesent.instance.istio-system\r
19473       kind: COUNTER\r
19474       label_names:\r
19475       - reporter\r
19476       - source_app\r
19477       - source_principal\r
19478       - source_workload\r
19479       - source_workload_namespace\r
19480       - source_version\r
19481       - destination_app\r
19482       - destination_principal\r
19483       - destination_workload\r
19484       - destination_workload_namespace\r
19485       - destination_version\r
19486       - destination_service\r
19487       - destination_service_name\r
19488       - destination_service_namespace\r
19489       - connection_security_policy\r
19490       - response_flags\r
19491     - name: tcp_received_bytes_total\r
19492       instance_name: tcpbytereceived.instance.istio-system\r
19493       kind: COUNTER\r
19494       label_names:\r
19495       - reporter\r
19496       - source_app\r
19497       - source_principal\r
19498       - source_workload\r
19499       - source_workload_namespace\r
19500       - source_version\r
19501       - destination_app\r
19502       - destination_principal\r
19503       - destination_workload\r
19504       - destination_workload_namespace\r
19505       - destination_version\r
19506       - destination_service\r
19507       - destination_service_name\r
19508       - destination_service_namespace\r
19509       - connection_security_policy\r
19510       - response_flags\r
19511     - name: tcp_connections_opened_total\r
19512       instance_name: tcpconnectionsopened.instance.istio-system\r
19513       kind: COUNTER\r
19514       label_names:\r
19515       - reporter\r
19516       - source_app\r
19517       - source_principal\r
19518       - source_workload\r
19519       - source_workload_namespace\r
19520       - source_version\r
19521       - destination_app\r
19522       - destination_principal\r
19523       - destination_workload\r
19524       - destination_workload_namespace\r
19525       - destination_version\r
19526       - destination_service\r
19527       - destination_service_name\r
19528       - destination_service_namespace\r
19529       - connection_security_policy\r
19530       - response_flags\r
19531     - name: tcp_connections_closed_total\r
19532       instance_name: tcpconnectionsclosed.instance.istio-system\r
19533       kind: COUNTER\r
19534       label_names:\r
19535       - reporter\r
19536       - source_app\r
19537       - source_principal\r
19538       - source_workload\r
19539       - source_workload_namespace\r
19540       - source_version\r
19541       - destination_app\r
19542       - destination_principal\r
19543       - destination_workload\r
19544       - destination_workload_namespace\r
19545       - destination_version\r
19546       - destination_service\r
19547       - destination_service_name\r
19548       - destination_service_namespace\r
19549       - connection_security_policy\r
19550       - response_flags\r
19551 ---\r
19552 apiVersion: "config.istio.io/v1alpha2"\r
19553 kind: rule\r
19554 metadata:\r
19555   name: promhttp\r
19556   namespace: istio-system\r
19557   labels:\r
19558     app: mixer\r
19559     chart: mixer\r
19560     heritage: Tiller\r
19561     release: istio\r
19562 spec:\r
19563   match: (context.protocol == "http" || context.protocol == "grpc") && (match((request.useragent | "-"), "kube-probe*") == false) && (match((request.useragent | "-"), "Prometheus*") == false)\r
19564   actions:\r
19565   - handler: prometheus\r
19566     instances:\r
19567     - requestcount\r
19568     - requestduration\r
19569     - requestsize\r
19570     - responsesize\r
19571 ---\r
19572 apiVersion: "config.istio.io/v1alpha2"\r
19573 kind: rule\r
19574 metadata:\r
19575   name: promtcp\r
19576   namespace: istio-system\r
19577   labels:\r
19578     app: mixer\r
19579     chart: mixer\r
19580     heritage: Tiller\r
19581     release: istio\r
19582 spec:\r
19583   match: context.protocol == "tcp"\r
19584   actions:\r
19585   - handler: prometheus\r
19586     instances:\r
19587     - tcpbytesent\r
19588     - tcpbytereceived\r
19589 ---\r
19590 apiVersion: "config.istio.io/v1alpha2"\r
19591 kind: rule\r
19592 metadata:\r
19593   name: promtcpconnectionopen\r
19594   namespace: istio-system\r
19595   labels:\r
19596     app: mixer\r
19597     chart: mixer\r
19598     heritage: Tiller\r
19599     release: istio\r
19600 spec:\r
19601   match: context.protocol == "tcp" && ((connection.event | "na") == "open")\r
19602   actions:\r
19603   - handler: prometheus\r
19604     instances:\r
19605     - tcpconnectionsopened\r
19606 ---\r
19607 apiVersion: "config.istio.io/v1alpha2"\r
19608 kind: rule\r
19609 metadata:\r
19610   name: promtcpconnectionclosed\r
19611   namespace: istio-system\r
19612   labels:\r
19613     app: mixer\r
19614     chart: mixer\r
19615     heritage: Tiller\r
19616     release: istio\r
19617 spec:\r
19618   match: context.protocol == "tcp" && ((connection.event | "na") == "close")\r
19619   actions:\r
19620   - handler: prometheus\r
19621     instances:\r
19622     - tcpconnectionsclosed\r
19623 ---\r
19624 apiVersion: "config.istio.io/v1alpha2"\r
19625 kind: handler\r
19626 metadata:\r
19627   name: kubernetesenv\r
19628   namespace: istio-system\r
19629   labels:\r
19630     app: mixer\r
19631     chart: mixer\r
19632     heritage: Tiller\r
19633     release: istio\r
19634 spec:\r
19635   compiledAdapter: kubernetesenv\r
19636   params:\r
19637     # when running from mixer root, use the following config after adding a\r
19638     # symbolic link to a kubernetes config file via:\r
19639     #\r
19640     # $ ln -s ~/.kube/config mixer/adapter/kubernetes/kubeconfig\r
19641     #\r
19642     # kubeconfig_path: "mixer/adapter/kubernetes/kubeconfig"\r
19643 \r
19644 ---\r
19645 apiVersion: "config.istio.io/v1alpha2"\r
19646 kind: rule\r
19647 metadata:\r
19648   name: kubeattrgenrulerule\r
19649   namespace: istio-system\r
19650   labels:\r
19651     app: mixer\r
19652     chart: mixer\r
19653     heritage: Tiller\r
19654     release: istio\r
19655 spec:\r
19656   actions:\r
19657   - handler: kubernetesenv\r
19658     instances:\r
19659     - attributes\r
19660 ---\r
19661 apiVersion: "config.istio.io/v1alpha2"\r
19662 kind: rule\r
19663 metadata:\r
19664   name: tcpkubeattrgenrulerule\r
19665   namespace: istio-system\r
19666   labels:\r
19667     app: mixer\r
19668     chart: mixer\r
19669     heritage: Tiller\r
19670     release: istio\r
19671 spec:\r
19672   match: context.protocol == "tcp"\r
19673   actions:\r
19674   - handler: kubernetesenv\r
19675     instances:\r
19676     - attributes\r
19677 ---\r
19678 apiVersion: "config.istio.io/v1alpha2"\r
19679 kind: instance\r
19680 metadata:\r
19681   name: attributes\r
19682   namespace: istio-system\r
19683   labels:\r
19684     app: mixer\r
19685     chart: mixer\r
19686     heritage: Tiller\r
19687     release: istio\r
19688 spec:\r
19689   compiledTemplate: kubernetes\r
19690   params:\r
19691     # Pass the required attribute data to the adapter\r
19692     source_uid: source.uid | ""\r
19693     source_ip: source.ip | ip("0.0.0.0") # default to unspecified ip addr\r
19694     destination_uid: destination.uid | ""\r
19695     destination_port: destination.port | 0\r
19696   attributeBindings:\r
19697     # Fill the new attributes from the adapter produced output.\r
19698     # $out refers to an instance of OutputTemplate message\r
19699     source.ip: $out.source_pod_ip | ip("0.0.0.0")\r
19700     source.uid: $out.source_pod_uid | "unknown"\r
19701     source.labels: $out.source_labels | emptyStringMap()\r
19702     source.name: $out.source_pod_name | "unknown"\r
19703     source.namespace: $out.source_namespace | "default"\r
19704     source.owner: $out.source_owner | "unknown"\r
19705     source.serviceAccount: $out.source_service_account_name | "unknown"\r
19706     source.workload.uid: $out.source_workload_uid | "unknown"\r
19707     source.workload.name: $out.source_workload_name | "unknown"\r
19708     source.workload.namespace: $out.source_workload_namespace | "unknown"\r
19709     destination.ip: $out.destination_pod_ip | ip("0.0.0.0")\r
19710     destination.uid: $out.destination_pod_uid | "unknown"\r
19711     destination.labels: $out.destination_labels | emptyStringMap()\r
19712     destination.name: $out.destination_pod_name | "unknown"\r
19713     destination.container.name: $out.destination_container_name | "unknown"\r
19714     destination.namespace: $out.destination_namespace | "default"\r
19715     destination.owner: $out.destination_owner | "unknown"\r
19716     destination.serviceAccount: $out.destination_service_account_name | "unknown"\r
19717     destination.workload.uid: $out.destination_workload_uid | "unknown"\r
19718     destination.workload.name: $out.destination_workload_name | "unknown"\r
19719     destination.workload.namespace: $out.destination_workload_namespace | "unknown"\r
19720 ---\r
19721 # Configuration needed by Mixer.\r
19722 # Mixer cluster is delivered via CDS\r
19723 # Specify mixer cluster settings\r
19724 apiVersion: networking.istio.io/v1alpha3\r
19725 kind: DestinationRule\r
19726 metadata:\r
19727   name: istio-policy\r
19728   namespace: istio-system\r
19729   labels:\r
19730     app: mixer\r
19731     chart: mixer\r
19732     heritage: Tiller\r
19733     release: istio\r
19734 spec:\r
19735   host: istio-policy.istio-system.svc.cluster.local\r
19736   trafficPolicy:\r
19737     connectionPool:\r
19738       http:\r
19739         http2MaxRequests: 10000\r
19740         maxRequestsPerConnection: 10000\r
19741 ---\r
19742 apiVersion: networking.istio.io/v1alpha3\r
19743 kind: DestinationRule\r
19744 metadata:\r
19745   name: istio-telemetry\r
19746   namespace: istio-system\r
19747   labels:\r
19748     app: mixer\r
19749     chart: mixer\r
19750     heritage: Tiller\r
19751     release: istio\r
19752 spec:\r
19753   host: istio-telemetry.istio-system.svc.cluster.local\r
19754   trafficPolicy:\r
19755     connectionPool:\r
19756       http:\r
19757         http2MaxRequests: 10000\r
19758         maxRequestsPerConnection: 10000\r
19759 ---\r
19760 \r