cluster.json 30 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208
  1. {
  2. "annotations": {
  3. "list": [
  4. {
  5. "builtIn": 1,
  6. "datasource": "-- Grafana --",
  7. "enable": true,
  8. "hide": true,
  9. "iconColor": "rgba(0, 211, 255, 1)",
  10. "name": "Annotations & Alerts",
  11. "type": "dashboard"
  12. },
  13. {
  14. "datasource": {
  15. "type": "datasource",
  16. "uid": "grafana"
  17. },
  18. "enable": true,
  19. "iconColor": "red",
  20. "name": "flux events",
  21. "target": {
  22. "limit": 100,
  23. "matchAny": false,
  24. "tags": [
  25. "flux"
  26. ],
  27. "type": "tags"
  28. }
  29. }
  30. ]
  31. },
  32. "editable": true,
  33. "fiscalYearStartMonth": 0,
  34. "graphTooltip": 0,
  35. "id": 1,
  36. "links": [],
  37. "liveNow": false,
  38. "panels": [
  39. {
  40. "datasource": {
  41. "type": "prometheus",
  42. "uid": "${DS_PROMETHEUS}"
  43. },
  44. "description": "",
  45. "fieldConfig": {
  46. "defaults": {
  47. "decimals": 0,
  48. "mappings": [],
  49. "noValue": "0",
  50. "thresholds": {
  51. "mode": "absolute",
  52. "steps": [
  53. {
  54. "color": "blue",
  55. "value": null
  56. },
  57. {
  58. "color": "red",
  59. "value": 100
  60. }
  61. ]
  62. },
  63. "unit": "short"
  64. },
  65. "overrides": []
  66. },
  67. "gridPos": {
  68. "h": 5,
  69. "w": 6,
  70. "x": 0,
  71. "y": 0
  72. },
  73. "id": 24,
  74. "options": {
  75. "colorMode": "value",
  76. "graphMode": "none",
  77. "justifyMode": "auto",
  78. "orientation": "auto",
  79. "reduceOptions": {
  80. "calcs": [
  81. "last"
  82. ],
  83. "fields": "",
  84. "values": false
  85. },
  86. "text": {},
  87. "textMode": "value"
  88. },
  89. "pluginVersion": "10.0.3",
  90. "targets": [
  91. {
  92. "datasource": {
  93. "type": "prometheus",
  94. "uid": "prometheus"
  95. },
  96. "editorMode": "code",
  97. "exemplar": false,
  98. "expr": "count(gotk_resource_info{exported_namespace=~\"$namespace\", customresource_kind=~\"Kustomization|HelmRelease\"})",
  99. "instant": true,
  100. "interval": "",
  101. "legendFormat": "",
  102. "range": false,
  103. "refId": "A"
  104. }
  105. ],
  106. "title": "Cluster Reconcilers",
  107. "type": "stat"
  108. },
  109. {
  110. "datasource": {
  111. "type": "prometheus",
  112. "uid": "${DS_PROMETHEUS}"
  113. },
  114. "description": "",
  115. "fieldConfig": {
  116. "defaults": {
  117. "decimals": 0,
  118. "mappings": [],
  119. "noValue": "0",
  120. "thresholds": {
  121. "mode": "absolute",
  122. "steps": [
  123. {
  124. "color": "red",
  125. "value": null
  126. }
  127. ]
  128. },
  129. "unit": "short"
  130. },
  131. "overrides": []
  132. },
  133. "gridPos": {
  134. "h": 5,
  135. "w": 6,
  136. "x": 6,
  137. "y": 0
  138. },
  139. "id": 28,
  140. "options": {
  141. "colorMode": "value",
  142. "graphMode": "area",
  143. "justifyMode": "auto",
  144. "orientation": "auto",
  145. "reduceOptions": {
  146. "calcs": [
  147. "last"
  148. ],
  149. "fields": "",
  150. "values": false
  151. },
  152. "text": {},
  153. "textMode": "value"
  154. },
  155. "pluginVersion": "10.0.3",
  156. "targets": [
  157. {
  158. "datasource": {
  159. "type": "prometheus",
  160. "uid": "prometheus"
  161. },
  162. "editorMode": "code",
  163. "exemplar": false,
  164. "expr": "count(gotk_resource_info{exported_namespace=~\"$namespace\", customresource_kind=~\"Kustomization|HelmRelease\", ready=\"False\"})",
  165. "instant": true,
  166. "interval": "",
  167. "legendFormat": "",
  168. "range": false,
  169. "refId": "A"
  170. }
  171. ],
  172. "title": "Failing Reconcilers",
  173. "type": "stat"
  174. },
  175. {
  176. "datasource": {
  177. "type": "prometheus",
  178. "uid": "${DS_PROMETHEUS}"
  179. },
  180. "description": "",
  181. "fieldConfig": {
  182. "defaults": {
  183. "decimals": 0,
  184. "mappings": [],
  185. "noValue": "0",
  186. "thresholds": {
  187. "mode": "absolute",
  188. "steps": [
  189. {
  190. "color": "blue",
  191. "value": null
  192. },
  193. {
  194. "color": "red",
  195. "value": 100
  196. }
  197. ]
  198. },
  199. "unit": "short"
  200. },
  201. "overrides": []
  202. },
  203. "gridPos": {
  204. "h": 5,
  205. "w": 6,
  206. "x": 12,
  207. "y": 0
  208. },
  209. "id": 29,
  210. "options": {
  211. "colorMode": "value",
  212. "graphMode": "none",
  213. "justifyMode": "auto",
  214. "orientation": "auto",
  215. "reduceOptions": {
  216. "calcs": [
  217. "last"
  218. ],
  219. "fields": "",
  220. "values": false
  221. },
  222. "text": {},
  223. "textMode": "value"
  224. },
  225. "pluginVersion": "10.0.3",
  226. "targets": [
  227. {
  228. "datasource": {
  229. "type": "prometheus",
  230. "uid": "prometheus"
  231. },
  232. "editorMode": "code",
  233. "exemplar": false,
  234. "expr": "count(gotk_resource_info{exported_namespace=~\"$namespace\", customresource_kind=~\"GitRepository|HelmRepository|Bucket|OCIRepository\"})",
  235. "instant": true,
  236. "interval": "",
  237. "legendFormat": "",
  238. "range": false,
  239. "refId": "A"
  240. }
  241. ],
  242. "title": "Kubernetes Manifests Sources",
  243. "type": "stat"
  244. },
  245. {
  246. "datasource": {
  247. "type": "prometheus",
  248. "uid": "${DS_PROMETHEUS}"
  249. },
  250. "description": "",
  251. "fieldConfig": {
  252. "defaults": {
  253. "decimals": 0,
  254. "mappings": [],
  255. "noValue": "0",
  256. "thresholds": {
  257. "mode": "absolute",
  258. "steps": [
  259. {
  260. "color": "red",
  261. "value": null
  262. }
  263. ]
  264. },
  265. "unit": "short"
  266. },
  267. "overrides": []
  268. },
  269. "gridPos": {
  270. "h": 5,
  271. "w": 6,
  272. "x": 18,
  273. "y": 0
  274. },
  275. "id": 30,
  276. "options": {
  277. "colorMode": "value",
  278. "graphMode": "area",
  279. "justifyMode": "auto",
  280. "orientation": "auto",
  281. "reduceOptions": {
  282. "calcs": [
  283. "last"
  284. ],
  285. "fields": "",
  286. "values": false
  287. },
  288. "text": {},
  289. "textMode": "value"
  290. },
  291. "pluginVersion": "10.0.3",
  292. "targets": [
  293. {
  294. "datasource": {
  295. "type": "prometheus",
  296. "uid": "prometheus"
  297. },
  298. "editorMode": "code",
  299. "exemplar": false,
  300. "expr": "count(gotk_resource_info{exported_namespace=~\"$namespace\", customresource_kind=~\"GitRepository|HelmRepository|Bucket|OCIRepository\", ready=\"False\"})",
  301. "instant": true,
  302. "interval": "",
  303. "legendFormat": "",
  304. "range": false,
  305. "refId": "A"
  306. }
  307. ],
  308. "title": "Failing Sources",
  309. "type": "stat"
  310. },
  311. {
  312. "datasource": "${DS_PROMETHEUS}",
  313. "description": "",
  314. "fieldConfig": {
  315. "defaults": {
  316. "mappings": [],
  317. "thresholds": {
  318. "mode": "absolute",
  319. "steps": [
  320. {
  321. "color": "green",
  322. "value": null
  323. },
  324. {
  325. "color": "#EAB839",
  326. "value": 1
  327. },
  328. {
  329. "color": "red",
  330. "value": 61
  331. }
  332. ]
  333. },
  334. "unit": "s"
  335. },
  336. "overrides": []
  337. },
  338. "gridPos": {
  339. "h": 4,
  340. "w": 12,
  341. "x": 0,
  342. "y": 5
  343. },
  344. "id": 8,
  345. "options": {
  346. "displayMode": "gradient",
  347. "minVizHeight": 10,
  348. "minVizWidth": 0,
  349. "orientation": "horizontal",
  350. "reduceOptions": {
  351. "calcs": [
  352. "mean"
  353. ],
  354. "fields": "",
  355. "values": false
  356. },
  357. "showUnfilled": true,
  358. "text": {},
  359. "valueMode": "color"
  360. },
  361. "pluginVersion": "10.0.3",
  362. "targets": [
  363. {
  364. "exemplar": true,
  365. "expr": "sum(rate(gotk_reconcile_duration_seconds_sum{namespace=~\"$operator_namespace\",exported_namespace=~\"$namespace\",kind=~\"Kustomization|HelmRelease\"}[5m])) by (kind)\n/\n sum(rate(gotk_reconcile_duration_seconds_count{namespace=~\"$operator_namespace\",exported_namespace=~\"$namespace\",kind=~\"Kustomization|HelmRelease\"}[5m])) by (kind)",
  366. "interval": "",
  367. "legendFormat": "{{kind}}",
  368. "refId": "A"
  369. }
  370. ],
  371. "title": "Reconciler ops avg. duration",
  372. "type": "bargauge"
  373. },
  374. {
  375. "datasource": "${DS_PROMETHEUS}",
  376. "description": "",
  377. "fieldConfig": {
  378. "defaults": {
  379. "mappings": [],
  380. "thresholds": {
  381. "mode": "absolute",
  382. "steps": [
  383. {
  384. "color": "green",
  385. "value": null
  386. },
  387. {
  388. "color": "#EAB839",
  389. "value": 1
  390. },
  391. {
  392. "color": "red",
  393. "value": 61
  394. }
  395. ]
  396. },
  397. "unit": "s"
  398. },
  399. "overrides": []
  400. },
  401. "gridPos": {
  402. "h": 4,
  403. "w": 12,
  404. "x": 12,
  405. "y": 5
  406. },
  407. "id": 31,
  408. "options": {
  409. "displayMode": "gradient",
  410. "minVizHeight": 10,
  411. "minVizWidth": 0,
  412. "orientation": "horizontal",
  413. "reduceOptions": {
  414. "calcs": [
  415. "mean"
  416. ],
  417. "fields": "",
  418. "values": false
  419. },
  420. "showUnfilled": true,
  421. "text": {},
  422. "valueMode": "color"
  423. },
  424. "pluginVersion": "10.0.3",
  425. "targets": [
  426. {
  427. "exemplar": true,
  428. "expr": "sum(rate(gotk_reconcile_duration_seconds_sum{namespace=~\"$operator_namespace\",exported_namespace=~\"$namespace\",kind=~\"GitRepository|HelmRepository|Bucket|OCIRepository\"}[5m])) by (kind)\n/\n sum(rate(gotk_reconcile_duration_seconds_count{namespace=~\"$operator_namespace\",exported_namespace=~\"$namespace\",kind=~\"GitRepository|HelmRepository|Bucket|OCIRepository\"}[5m])) by (kind)",
  429. "interval": "",
  430. "legendFormat": "{{kind}}",
  431. "refId": "A"
  432. }
  433. ],
  434. "title": "Source ops avg. duration",
  435. "type": "bargauge"
  436. },
  437. {
  438. "collapsed": false,
  439. "datasource": "${DS_PROMETHEUS}",
  440. "gridPos": {
  441. "h": 1,
  442. "w": 24,
  443. "x": 0,
  444. "y": 9
  445. },
  446. "id": 15,
  447. "panels": [],
  448. "title": "Status",
  449. "type": "row"
  450. },
  451. {
  452. "datasource": {
  453. "type": "prometheus",
  454. "uid": "${DS_PROMETHEUS}"
  455. },
  456. "description": "",
  457. "fieldConfig": {
  458. "defaults": {
  459. "custom": {
  460. "align": "auto",
  461. "cellOptions": {
  462. "type": "auto"
  463. },
  464. "filterable": true,
  465. "inspect": false
  466. },
  467. "mappings": [
  468. {
  469. "options": {
  470. "False": {
  471. "color": "red",
  472. "index": 1,
  473. "text": "Not Ready"
  474. },
  475. "True": {
  476. "color": "blue",
  477. "index": 0,
  478. "text": "Ready"
  479. }
  480. },
  481. "type": "value"
  482. }
  483. ],
  484. "thresholds": {
  485. "mode": "absolute",
  486. "steps": [
  487. {
  488. "color": "transparent",
  489. "value": null
  490. }
  491. ]
  492. }
  493. },
  494. "overrides": [
  495. {
  496. "matcher": {
  497. "id": "byType",
  498. "options": "string"
  499. },
  500. "properties": [
  501. {
  502. "id": "custom.cellOptions",
  503. "value": {
  504. "mode": "basic",
  505. "type": "color-background"
  506. }
  507. }
  508. ]
  509. }
  510. ]
  511. },
  512. "gridPos": {
  513. "h": 11,
  514. "w": 12,
  515. "x": 0,
  516. "y": 10
  517. },
  518. "id": 33,
  519. "options": {
  520. "cellHeight": "sm",
  521. "footer": {
  522. "countRows": false,
  523. "fields": "",
  524. "reducer": [
  525. "sum"
  526. ],
  527. "show": false
  528. },
  529. "showHeader": true,
  530. "sortBy": [
  531. {
  532. "desc": true,
  533. "displayName": "Status"
  534. }
  535. ]
  536. },
  537. "pluginVersion": "10.0.3",
  538. "targets": [
  539. {
  540. "datasource": {
  541. "type": "prometheus",
  542. "uid": "prometheus"
  543. },
  544. "editorMode": "code",
  545. "exemplar": true,
  546. "expr": "gotk_resource_info{exported_namespace=~\"$namespace\", customresource_kind=~\"Kustomization|HelmRelease\"}",
  547. "format": "table",
  548. "instant": true,
  549. "interval": "",
  550. "legendFormat": "",
  551. "refId": "A"
  552. }
  553. ],
  554. "title": "Cluster reconciliation readiness ",
  555. "transformations": [
  556. {
  557. "id": "organize",
  558. "options": {
  559. "excludeByName": {
  560. "Time": true,
  561. "Value": true,
  562. "__name__": true,
  563. "app": true,
  564. "chart_name": true,
  565. "chart_source_name": true,
  566. "container": true,
  567. "customresource_group": true,
  568. "customresource_kind": false,
  569. "customresource_version": true,
  570. "endpoint": true,
  571. "exported_namespace": false,
  572. "gotk_type": true,
  573. "instance": true,
  574. "job": true,
  575. "kubernetes_namespace": true,
  576. "kubernetes_pod_name": true,
  577. "namespace": true,
  578. "pod": true,
  579. "pod_template_hash": true,
  580. "revision": true,
  581. "service": true,
  582. "source_name": true,
  583. "status": true,
  584. "suspended": true,
  585. "type": true
  586. },
  587. "indexByName": {
  588. "Time": 0,
  589. "Value": 15,
  590. "__name__": 1,
  591. "container": 2,
  592. "customresource_group": 4,
  593. "customresource_kind": 5,
  594. "customresource_version": 6,
  595. "endpoint": 7,
  596. "exported_namespace": 3,
  597. "instance": 8,
  598. "job": 9,
  599. "name": 10,
  600. "namespace": 11,
  601. "pod": 12,
  602. "ready": 13,
  603. "service": 14
  604. },
  605. "renameByName": {
  606. "Value": "",
  607. "customresource_kind": "Kind",
  608. "exported_namespace": "Namespace",
  609. "kind": "Kind",
  610. "name": "Name",
  611. "namespace": "Operator Namespace",
  612. "ready": "Status"
  613. }
  614. }
  615. }
  616. ],
  617. "type": "table"
  618. },
  619. {
  620. "datasource": {
  621. "type": "prometheus",
  622. "uid": "${DS_PROMETHEUS}"
  623. },
  624. "description": "",
  625. "fieldConfig": {
  626. "defaults": {
  627. "color": {
  628. "mode": "thresholds"
  629. },
  630. "custom": {
  631. "align": "auto",
  632. "cellOptions": {
  633. "type": "auto"
  634. },
  635. "filterable": true,
  636. "inspect": false
  637. },
  638. "mappings": [
  639. {
  640. "options": {
  641. "False": {
  642. "color": "red",
  643. "index": 1,
  644. "text": "Not Ready"
  645. },
  646. "True": {
  647. "color": "blue",
  648. "index": 0,
  649. "text": "Ready"
  650. }
  651. },
  652. "type": "value"
  653. }
  654. ],
  655. "thresholds": {
  656. "mode": "absolute",
  657. "steps": [
  658. {
  659. "color": "transparent",
  660. "value": null
  661. }
  662. ]
  663. }
  664. },
  665. "overrides": [
  666. {
  667. "matcher": {
  668. "id": "byType",
  669. "options": "string"
  670. },
  671. "properties": [
  672. {
  673. "id": "custom.cellOptions",
  674. "value": {
  675. "mode": "basic",
  676. "type": "color-background"
  677. }
  678. }
  679. ]
  680. },
  681. {
  682. "matcher": {
  683. "id": "byName",
  684. "options": "Status"
  685. },
  686. "properties": [
  687. {
  688. "id": "noValue",
  689. "value": "Ready"
  690. },
  691. {
  692. "id": "color",
  693. "value": {
  694. "fixedColor": "blue",
  695. "mode": "fixed"
  696. }
  697. }
  698. ]
  699. }
  700. ]
  701. },
  702. "gridPos": {
  703. "h": 11,
  704. "w": 12,
  705. "x": 12,
  706. "y": 10
  707. },
  708. "id": 34,
  709. "options": {
  710. "cellHeight": "sm",
  711. "footer": {
  712. "countRows": false,
  713. "fields": "",
  714. "reducer": [
  715. "sum"
  716. ],
  717. "show": false
  718. },
  719. "showHeader": true,
  720. "sortBy": [
  721. {
  722. "desc": true,
  723. "displayName": "Status"
  724. }
  725. ]
  726. },
  727. "pluginVersion": "10.0.3",
  728. "targets": [
  729. {
  730. "datasource": {
  731. "type": "prometheus",
  732. "uid": "prometheus"
  733. },
  734. "editorMode": "code",
  735. "exemplar": true,
  736. "expr": "gotk_resource_info{exported_namespace=~\"$namespace\", customresource_kind=~\"GitRepository|HelmRepository|Bucket|OCIRepository\"}",
  737. "format": "table",
  738. "instant": true,
  739. "interval": "",
  740. "legendFormat": "",
  741. "refId": "A"
  742. }
  743. ],
  744. "title": "Source acquisition readiness ",
  745. "transformations": [
  746. {
  747. "id": "organize",
  748. "options": {
  749. "excludeByName": {
  750. "Time": true,
  751. "Value": true,
  752. "__name__": true,
  753. "app": true,
  754. "bucket_name": true,
  755. "container": true,
  756. "customresource_group": true,
  757. "customresource_kind": false,
  758. "customresource_version": true,
  759. "endpoint": true,
  760. "exported_namespace": false,
  761. "gotk_type": true,
  762. "instance": true,
  763. "job": true,
  764. "kubernetes_namespace": true,
  765. "kubernetes_pod_name": true,
  766. "namespace": true,
  767. "pod": true,
  768. "pod_template_hash": true,
  769. "ready": false,
  770. "revision": true,
  771. "service": true,
  772. "status": true,
  773. "suspended": true,
  774. "type": true,
  775. "url": true
  776. },
  777. "indexByName": {
  778. "Time": 0,
  779. "Value": 15,
  780. "__name__": 1,
  781. "container": 2,
  782. "customresource_group": 5,
  783. "customresource_kind": 6,
  784. "customresource_version": 7,
  785. "endpoint": 8,
  786. "exported_namespace": 4,
  787. "instance": 9,
  788. "job": 10,
  789. "name": 11,
  790. "namespace": 3,
  791. "pod": 12,
  792. "ready": 13,
  793. "service": 14
  794. },
  795. "renameByName": {
  796. "Value": "",
  797. "customresource_kind": "Kind",
  798. "exported_namespace": "Namespace",
  799. "kind": "Kind",
  800. "name": "Name",
  801. "namespace": "Operator Namespace",
  802. "ready": "Status"
  803. }
  804. }
  805. }
  806. ],
  807. "type": "table"
  808. },
  809. {
  810. "collapsed": false,
  811. "datasource": "${DS_PROMETHEUS}",
  812. "gridPos": {
  813. "h": 1,
  814. "w": 24,
  815. "x": 0,
  816. "y": 21
  817. },
  818. "id": 17,
  819. "panels": [],
  820. "title": "Timing",
  821. "type": "row"
  822. },
  823. {
  824. "datasource": "${DS_PROMETHEUS}",
  825. "description": "",
  826. "fieldConfig": {
  827. "defaults": {
  828. "color": {
  829. "mode": "palette-classic"
  830. },
  831. "custom": {
  832. "axisCenteredZero": false,
  833. "axisColorMode": "text",
  834. "axisLabel": "",
  835. "axisPlacement": "auto",
  836. "barAlignment": 0,
  837. "drawStyle": "line",
  838. "fillOpacity": 10,
  839. "gradientMode": "none",
  840. "hideFrom": {
  841. "legend": false,
  842. "tooltip": false,
  843. "viz": false
  844. },
  845. "lineInterpolation": "linear",
  846. "lineWidth": 1,
  847. "pointSize": 5,
  848. "scaleDistribution": {
  849. "type": "linear"
  850. },
  851. "showPoints": "never",
  852. "spanNulls": false,
  853. "stacking": {
  854. "group": "A",
  855. "mode": "none"
  856. },
  857. "thresholdsStyle": {
  858. "mode": "off"
  859. }
  860. },
  861. "mappings": [],
  862. "thresholds": {
  863. "mode": "absolute",
  864. "steps": [
  865. {
  866. "color": "green",
  867. "value": null
  868. },
  869. {
  870. "color": "red",
  871. "value": 80
  872. }
  873. ]
  874. },
  875. "unit": "s"
  876. },
  877. "overrides": [
  878. {
  879. "matcher": {
  880. "id": "byValue",
  881. "options": {
  882. "op": "gte",
  883. "reducer": "allIsZero",
  884. "value": 0
  885. }
  886. },
  887. "properties": [
  888. {
  889. "id": "custom.hideFrom",
  890. "value": {
  891. "legend": true,
  892. "tooltip": true,
  893. "viz": false
  894. }
  895. }
  896. ]
  897. },
  898. {
  899. "matcher": {
  900. "id": "byValue",
  901. "options": {
  902. "op": "gte",
  903. "reducer": "allIsNull",
  904. "value": 0
  905. }
  906. },
  907. "properties": [
  908. {
  909. "id": "custom.hideFrom",
  910. "value": {
  911. "legend": true,
  912. "tooltip": true,
  913. "viz": false
  914. }
  915. }
  916. ]
  917. }
  918. ]
  919. },
  920. "gridPos": {
  921. "h": 8,
  922. "w": 24,
  923. "x": 0,
  924. "y": 22
  925. },
  926. "id": 27,
  927. "options": {
  928. "legend": {
  929. "calcs": [
  930. "mean"
  931. ],
  932. "displayMode": "table",
  933. "placement": "right",
  934. "showLegend": true
  935. },
  936. "tooltip": {
  937. "mode": "multi",
  938. "sort": "none"
  939. }
  940. },
  941. "pluginVersion": "10.0.3",
  942. "targets": [
  943. {
  944. "exemplar": true,
  945. "expr": "sum(rate(gotk_reconcile_duration_seconds_sum{namespace=~\"$operator_namespace\",exported_namespace=~\"$namespace\",kind=~\"Kustomization|HelmRelease\"}[5m])) by (kind, name)\n/\n sum(rate(gotk_reconcile_duration_seconds_count{namespace=~\"$operator_namespace\",exported_namespace=~\"$namespace\",kind=~\"Kustomization|HelmRelease\"}[5m])) by (kind, name)",
  946. "hide": false,
  947. "interval": "",
  948. "legendFormat": "{{kind}}/{{name}}",
  949. "refId": "B"
  950. }
  951. ],
  952. "title": "Cluster reconciliation duration",
  953. "type": "timeseries"
  954. },
  955. {
  956. "datasource": "${DS_PROMETHEUS}",
  957. "description": "",
  958. "fieldConfig": {
  959. "defaults": {
  960. "color": {
  961. "mode": "palette-classic"
  962. },
  963. "custom": {
  964. "axisCenteredZero": false,
  965. "axisColorMode": "text",
  966. "axisLabel": "",
  967. "axisPlacement": "auto",
  968. "barAlignment": 0,
  969. "drawStyle": "line",
  970. "fillOpacity": 10,
  971. "gradientMode": "none",
  972. "hideFrom": {
  973. "legend": false,
  974. "tooltip": false,
  975. "viz": false
  976. },
  977. "lineInterpolation": "linear",
  978. "lineWidth": 1,
  979. "pointSize": 5,
  980. "scaleDistribution": {
  981. "type": "linear"
  982. },
  983. "showPoints": "never",
  984. "spanNulls": false,
  985. "stacking": {
  986. "group": "A",
  987. "mode": "none"
  988. },
  989. "thresholdsStyle": {
  990. "mode": "off"
  991. }
  992. },
  993. "mappings": [],
  994. "thresholds": {
  995. "mode": "absolute",
  996. "steps": [
  997. {
  998. "color": "green",
  999. "value": null
  1000. },
  1001. {
  1002. "color": "red",
  1003. "value": 80
  1004. }
  1005. ]
  1006. },
  1007. "unit": "s"
  1008. },
  1009. "overrides": [
  1010. {
  1011. "matcher": {
  1012. "id": "byValue",
  1013. "options": {
  1014. "op": "gte",
  1015. "reducer": "allIsZero",
  1016. "value": 0
  1017. }
  1018. },
  1019. "properties": [
  1020. {
  1021. "id": "custom.hideFrom",
  1022. "value": {
  1023. "legend": true,
  1024. "tooltip": true,
  1025. "viz": false
  1026. }
  1027. }
  1028. ]
  1029. },
  1030. {
  1031. "matcher": {
  1032. "id": "byValue",
  1033. "options": {
  1034. "op": "gte",
  1035. "reducer": "allIsNull",
  1036. "value": 0
  1037. }
  1038. },
  1039. "properties": [
  1040. {
  1041. "id": "custom.hideFrom",
  1042. "value": {
  1043. "legend": true,
  1044. "tooltip": true,
  1045. "viz": false
  1046. }
  1047. }
  1048. ]
  1049. }
  1050. ]
  1051. },
  1052. "gridPos": {
  1053. "h": 8,
  1054. "w": 24,
  1055. "x": 0,
  1056. "y": 30
  1057. },
  1058. "id": 35,
  1059. "options": {
  1060. "legend": {
  1061. "calcs": [
  1062. "mean"
  1063. ],
  1064. "displayMode": "table",
  1065. "placement": "right",
  1066. "showLegend": true
  1067. },
  1068. "tooltip": {
  1069. "mode": "multi",
  1070. "sort": "none"
  1071. }
  1072. },
  1073. "pluginVersion": "10.0.3",
  1074. "targets": [
  1075. {
  1076. "exemplar": true,
  1077. "expr": "sum(rate(gotk_reconcile_duration_seconds_sum{namespace=~\"$operator_namespace\",exported_namespace=~\"$namespace\",kind=~\"GitRepository|HelmRepository|Bucket|OCIRepository\"}[5m])) by (kind, name)\n/\n sum(rate(gotk_reconcile_duration_seconds_count{namespace=~\"$operator_namespace\",exported_namespace=~\"$namespace\",kind=~\"GitRepository|HelmRepository|Bucket|OCIRepository\"}[5m])) by (kind, name)",
  1078. "hide": false,
  1079. "interval": "",
  1080. "legendFormat": "{{kind}}/{{name}}",
  1081. "refId": "B"
  1082. }
  1083. ],
  1084. "title": "Source acquisition duration",
  1085. "type": "timeseries"
  1086. }
  1087. ],
  1088. "refresh": "30s",
  1089. "schemaVersion": 38,
  1090. "style": "light",
  1091. "tags": [
  1092. "flux"
  1093. ],
  1094. "templating": {
  1095. "list": [
  1096. {
  1097. "allValue": "",
  1098. "current": {
  1099. "selected": true,
  1100. "text": [
  1101. "All"
  1102. ],
  1103. "value": [
  1104. "$__all"
  1105. ]
  1106. },
  1107. "datasource": {
  1108. "type": "prometheus",
  1109. "uid": "$DS_PROMETHEUS"
  1110. },
  1111. "definition": "label_values(gotk_reconcile_condition, namespace)",
  1112. "hide": 0,
  1113. "includeAll": true,
  1114. "multi": true,
  1115. "name": "operator_namespace",
  1116. "options": [],
  1117. "query": {
  1118. "query": "label_values(gotk_reconcile_condition, namespace)",
  1119. "refId": "StandardVariableQuery"
  1120. },
  1121. "refresh": 2,
  1122. "regex": "",
  1123. "skipUrlSync": false,
  1124. "sort": 5,
  1125. "tagValuesQuery": "",
  1126. "tags": [],
  1127. "tagsQuery": "",
  1128. "type": "query",
  1129. "useTags": false
  1130. },
  1131. {
  1132. "current": {
  1133. "selected": true,
  1134. "text": [
  1135. "All"
  1136. ],
  1137. "value": [
  1138. "$__all"
  1139. ]
  1140. },
  1141. "datasource": {
  1142. "type": "prometheus",
  1143. "uid": "$DS_PROMETHEUS"
  1144. },
  1145. "definition": "label_values(gotk_resource_info,exported_namespace)",
  1146. "hide": 0,
  1147. "includeAll": true,
  1148. "multi": true,
  1149. "name": "namespace",
  1150. "options": [],
  1151. "query": {
  1152. "query": "label_values(gotk_resource_info,exported_namespace)",
  1153. "refId": "PrometheusVariableQueryEditor-VariableQuery"
  1154. },
  1155. "refresh": 2,
  1156. "regex": "",
  1157. "skipUrlSync": false,
  1158. "sort": 0,
  1159. "tagValuesQuery": "",
  1160. "tags": [],
  1161. "tagsQuery": "",
  1162. "type": "query",
  1163. "useTags": false
  1164. },
  1165. {
  1166. "current": {
  1167. "selected": false,
  1168. "text": "Prometheus",
  1169. "value": "Prometheus"
  1170. },
  1171. "hide": 0,
  1172. "includeAll": false,
  1173. "label": "Datasource",
  1174. "multi": false,
  1175. "name": "DS_PROMETHEUS",
  1176. "options": [],
  1177. "query": "prometheus",
  1178. "refresh": 1,
  1179. "regex": "",
  1180. "skipUrlSync": false,
  1181. "type": "datasource"
  1182. }
  1183. ]
  1184. },
  1185. "time": {
  1186. "from": "now-15m",
  1187. "to": "now"
  1188. },
  1189. "timepicker": {
  1190. "refresh_intervals": [
  1191. "10s",
  1192. "30s",
  1193. "1m",
  1194. "5m",
  1195. "15m",
  1196. "30m",
  1197. "1h",
  1198. "2h",
  1199. "1d"
  1200. ]
  1201. },
  1202. "timezone": "",
  1203. "title": "Flux Cluster Stats",
  1204. "uid": "flux-cluster",
  1205. "version": 4,
  1206. "weekStart": ""
  1207. }