From 2099777fbdb7d57e1eb31df96b6fcd228c617e04 Mon Sep 17 00:00:00 2001 From: shimoncohen Date: Wed, 22 Jul 2026 11:31:07 +0300 Subject: [PATCH 1/2] chore(helm): dedupe dashboard JSON, untrack chart build artifact MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Remove duplicate root grafana/maps-playground-dashboard.json; the Grafana dashboard now lives only under helm/grafana/, where the ConfigMap's chart-relative .Files.Get already reads it. - Drop helm/grafana/dashboard-sync.test.ts (nothing left to keep in sync). - Untrack helm/charts/*.tgz and gitignore it — a build artifact regenerated from Chart.lock via `helm dependency build`, not source. - Also gitignore docs/ and helm/values-*.yaml to stop stray local files from being committed. Co-Authored-By: Claude Opus 4.8 (1M context) --- .gitignore | 9 +++ grafana/maps-playground-dashboard.json | 95 ------------------------- helm/charts/mclabels-1.0.1.tgz | Bin 1578 -> 0 bytes helm/grafana/dashboard-sync.test.ts | 11 --- 4 files changed, 9 insertions(+), 106 deletions(-) delete mode 100644 grafana/maps-playground-dashboard.json delete mode 100644 helm/charts/mclabels-1.0.1.tgz delete mode 100644 helm/grafana/dashboard-sync.test.ts diff --git a/.gitignore b/.gitignore index 08bef08..ce690c2 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,12 @@ node_modules vite.config.js.timestamp-* vite.config.ts.timestamp-* examples/assets/ + +# Helm dependency build artifacts — regenerated from Chart.lock via `helm dependency build` +helm/charts/*.tgz + +# Environment-specific Helm values (not part of the generic chart) +helm/values-*.yaml + +# Design docs / plans — kept on disk, never committed +docs/ diff --git a/grafana/maps-playground-dashboard.json b/grafana/maps-playground-dashboard.json deleted file mode 100644 index 6639e70..0000000 --- a/grafana/maps-playground-dashboard.json +++ /dev/null @@ -1,95 +0,0 @@ -{ - "title": "Maps Playground", - "uid": "maps-playground", - "schemaVersion": 39, - "editable": true, - "time": { "from": "now-6h", "to": "now" }, - "templating": { - "list": [ - { - "name": "datasource", - "type": "datasource", - "query": "prometheus", - "current": {} - } - ] - }, - "panels": [ - { - "id": 1, - "title": "Request rate by route", - "type": "timeseries", - "datasource": { "type": "prometheus", "uid": "${datasource}" }, - "gridPos": { "h": 8, "w": 12, "x": 0, "y": 0 }, - "targets": [ - { - "expr": "sum by (route) (rate(http_requests_total[5m]))", - "legendFormat": "{{route}}" - } - ] - }, - { - "id": 2, - "title": "Latency p50 / p95 (s)", - "type": "timeseries", - "datasource": { "type": "prometheus", "uid": "${datasource}" }, - "gridPos": { "h": 8, "w": 12, "x": 12, "y": 0 }, - "targets": [ - { - "expr": "histogram_quantile(0.50, sum by (le) (rate(http_request_duration_seconds_bucket[5m])))", - "legendFormat": "p50" - }, - { - "expr": "histogram_quantile(0.95, sum by (le) (rate(http_request_duration_seconds_bucket[5m])))", - "legendFormat": "p95" - } - ] - }, - { - "id": 3, - "title": "Error ratio (4xx+5xx)", - "type": "timeseries", - "datasource": { "type": "prometheus", "uid": "${datasource}" }, - "gridPos": { "h": 8, "w": 12, "x": 0, "y": 8 }, - "targets": [ - { - "expr": "sum(rate(http_requests_total{status_code=~\"4..|5..\"}[5m])) / sum(rate(http_requests_total[5m]))", - "legendFormat": "error ratio" - } - ] - }, - { - "id": 4, - "title": "Top demos", - "type": "timeseries", - "datasource": { "type": "prometheus", "uid": "${datasource}" }, - "gridPos": { "h": 8, "w": 12, "x": 12, "y": 8 }, - "targets": [ - { - "expr": "topk(10, sum by (client, name) (rate(demo_views_total[15m])))", - "legendFormat": "{{client}}/{{name}}" - } - ] - }, - { - "id": 5, - "title": "Process memory (bytes)", - "type": "timeseries", - "datasource": { "type": "prometheus", "uid": "${datasource}" }, - "gridPos": { "h": 8, "w": 12, "x": 0, "y": 16 }, - "targets": [ - { "expr": "process_resident_memory_bytes", "legendFormat": "rss" } - ] - }, - { - "id": 6, - "title": "Process CPU (cores)", - "type": "timeseries", - "datasource": { "type": "prometheus", "uid": "${datasource}" }, - "gridPos": { "h": 8, "w": 12, "x": 12, "y": 16 }, - "targets": [ - { "expr": "rate(process_cpu_seconds_total[5m])", "legendFormat": "cpu" } - ] - } - ] -} diff --git a/helm/charts/mclabels-1.0.1.tgz b/helm/charts/mclabels-1.0.1.tgz deleted file mode 100644 index 978e6dfdc996c71d9f45c83ca6a534694de77d3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1578 zcmV+_2G#i=iwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0PI*_Z`(K$&$B+ooN~Z5K`qH~oD_a5(!-%>ixxC~DuMli}c?Ka9?zli~Tv>EIyhpPUcR4gDo|zRiTIlem3&Z+B6!g6xy;OfoTE_nrc}Y6Z zaYi`?*IJ65>3Agm2j~5E{GXnl?c@JR=-vbH|6T36KLS59rWl2x-Tz*V1*y_7Q8+QZ z=sc`=hyHUbXT#MB$?-MCrsgrj9rMZo3ND?1%M^`l0&iCd;pHkJR8uJWQZhw}KZ0NU zSmuQkB#i$Y`~sDEKe12pR*>>Px$%XP1u4Tw`y;Rp0r(`QOi7Vj!3DEnu{Mf{)Tyh7 zm$_4y(3H3=@>-!bn3B`1WKzb~$V#b`YGg}0>Bo$qp%<8d+l<8-n2aEyg3DRO*Pu!v ztO0JOc{O3f)o-x4eh2U;N(w_FS&jkl#~9zVSP2>&qoyXWQ1Wip)1;=Pn*12!j5_#C zOcZLP%Gi{O{QAR#3$t_%oJVVp*W3CPUgu1_C6SuUA3^^ib$X@^P&`_92#eE`=LV8kytcSTcmx12iCSg>L(@ z?m)`)E14q`J9477-jGtrL=Oe>nP&Q7ga7yX5)x;{#=DMOy`Xmb*Rcuk-P)=AR9RgW(qcUPLdVhupJUXH5dR zNLbq(y(^@qWQ$YiqO#Me762FH4Jl{9ui>_>@xxkwd%&gxXtM8cz-u|OUVIj~`m}~w zF4N0cVPReB0Bsv>+t6fWjU3=I1zpeBiK50-YoPTOKFq!O_w~oi{?AZexDX9LXT%Fq zIxxj<&VrBhe<#uKyw(2=2g9>{|MwJhe;*!u7xoC}N^~y8;;d$Ih@8XC@*KCS;o3V6 z=X3A=z6S|Sm>}>MKngT*S5>MG&xc+;kVFFWx##U(BX4NRv54y)Ghi}ov|}TuF|ZYP$) z(165Oz@zcU;JY!>m}3P=HgN}#XItHEbSFn0`@j4eELwp1+-q=|3|(5M5%@-x$Nv8g zPd4iR+5Z2}(@-;6cGSdPm69JW3eA5l%iOw=cA9@imPwy$vQt0nNWt2OBz&qlq&n z(&yEm9yYB{{;03QP zKVKTD$UB6Ksw=#@xP*i$?FA__p}SV*d%^fO6}sz!k)@%%EME0ggsX|h7~hlyOc*Ea z9S8ch@Q#Bq-gw7>$?daLEcK56@DAY$6_cfg*RTGoJ=;iKQ*69|C4^x$T*+%MnCe(2 c6#hI}U{8D6(?5~^3;+QC|4J&)MF1iI0A>RcGXMYp diff --git a/helm/grafana/dashboard-sync.test.ts b/helm/grafana/dashboard-sync.test.ts deleted file mode 100644 index 6e7e1d1..0000000 --- a/helm/grafana/dashboard-sync.test.ts +++ /dev/null @@ -1,11 +0,0 @@ -// @vitest-environment node -import { readFileSync } from 'node:fs'; -import { describe, it, expect } from 'vitest'; - -describe('grafana dashboard copies stay in sync', () => { - it('repo-root and chart copies are byte-identical', () => { - const root = readFileSync('grafana/maps-playground-dashboard.json', 'utf8'); - const chart = readFileSync('helm/grafana/maps-playground-dashboard.json', 'utf8'); - expect(chart).toBe(root); - }); -}); From dcfd1f7a2f72389638515b3d64a1d1b8b37d9098 Mon Sep 17 00:00:00 2001 From: shimoncohen Date: Wed, 22 Jul 2026 11:31:48 +0300 Subject: [PATCH 2/2] chore: remove some comments --- .gitignore | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.gitignore b/.gitignore index ce690c2..980a943 100644 --- a/.gitignore +++ b/.gitignore @@ -10,11 +10,6 @@ vite.config.js.timestamp-* vite.config.ts.timestamp-* examples/assets/ -# Helm dependency build artifacts — regenerated from Chart.lock via `helm dependency build` helm/charts/*.tgz - -# Environment-specific Helm values (not part of the generic chart) helm/values-*.yaml - -# Design docs / plans — kept on disk, never committed docs/