From fc36fc7216cb240623946e07a72b6f4496fe89df Mon Sep 17 00:00:00 2001 From: Byte Flavour Date: Fri, 14 Aug 2026 17:43:54 +0200 Subject: [PATCH 1/2] maintainers: add byteflavour Assisted-by: Claude Code (Claude Fable 5, claude-fable-5) Co-Authored-By: Claude Fable 5 (cherry picked from commit c22ce311a3726733fcdadecc0a982fd30c67bed3) --- maintainers/maintainer-list.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 542d3657fcce..b102027abd5c 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -4239,6 +4239,13 @@ githubId = 8891115; name = "Brian Choy"; }; + byteflavour = { + email = "synapse@byteflavour.dev"; + github = "byteflavour"; + githubId = 131113314; + matrix = "@synapse:byteflavour.dev"; + name = "Byte Flavour"; + }; ByteSudoer = { email = "bytesudoer@gmail.com"; github = "ByteSudoer"; From ea45985b31426c415d7a33196b3db264e2a12422 Mon Sep 17 00:00:00 2001 From: Byte Flavour Date: Fri, 14 Aug 2026 18:38:34 +0200 Subject: [PATCH 2/2] perses: 0.53.1 -> 0.54.0 Security release fixing CVE-2026-63445 (filesystem path traversal via unvalidated project parameter) and CVE-2026-63199 (missing authorization in datasource proxy allows cross-scope secret disclosure); upstream strongly recommends upgrading. https://github.com/perses/perses/releases/tag/v0.54.0 Packaging adjustments: - Run patchShebangs over the whole npm root in preBuild: since @rspack/cli 2.x the CLI shim lands in the workspace-level ui/app/node_modules, which npmConfigHook's shebang patching (scoped to ui/node_modules) does not cover, failing the sandboxed UI build with "/usr/bin/env: bad interpreter". - plugins.nix regenerated via update.sh; the release bundles six new plugins (Jaeger, GreptimeDB, Splunk, LogExplorer, AlertManager, OpenSearch). The extracted plugin set now weighs ~260 MiB, which overflowed the test VM's /run tmpfs (25% of 1 GiB RAM), so the nixosTests.perses machine gets 2 GiB of memory. - Add byteflavour (runs Perses from nixpkgs in production) as co-maintainer. Verified: nix-build -A perses (install check included), binaries in result/bin, nixosTests.perses, and a manual run of the built server with a file-based database serving the web UI. Assisted-by: Claude Code (Claude Fable 5, claude-fable-5) Co-Authored-By: Claude Fable 5 (cherry picked from commit 6cdd063a17d541081d72cdc5603a4410ec03eb59) --- nixos/tests/perses.nix | 5 + pkgs/by-name/pe/perses/package.nix | 18 ++- pkgs/by-name/pe/perses/plugins.nix | 174 +++++++++++++++++------------ 3 files changed, 120 insertions(+), 77 deletions(-) diff --git a/nixos/tests/perses.nix b/nixos/tests/perses.nix index dc5d8ee39f36..e07eac7c35dd 100644 --- a/nixos/tests/perses.nix +++ b/nixos/tests/perses.nix @@ -11,6 +11,11 @@ }; nodes.machine = { + # Perses extracts its bundled plugin archives into /run/perses/plugins + # (~260 MiB as of 0.54.0), and /run is a tmpfs sized at 25% of RAM — with + # the default 1 GiB of memory the extraction fails with ENOSPC. + virtualisation.memorySize = 2048; + services.perses = { enable = true; diff --git a/pkgs/by-name/pe/perses/package.nix b/pkgs/by-name/pe/perses/package.nix index 43a8f82eae20..c258f980ed77 100644 --- a/pkgs/by-name/pe/perses/package.nix +++ b/pkgs/by-name/pe/perses/package.nix @@ -28,13 +28,13 @@ let in buildGoModule (finalAttrs: { pname = "perses"; - version = "0.53.1"; + version = "0.54.0"; src = fetchFromGitHub { owner = "perses"; repo = "perses"; tag = "v${finalAttrs.version}"; - hash = "sha256-Oxq+zweg1mpgxKXWBwnsanD66TcD+kOkt3WCTU2FqnQ="; + hash = "sha256-6RkRL0L2ydKujk0J5hXOrL8ju0g6y0EScehXL4zdrss="; }; outputs = [ @@ -53,7 +53,7 @@ buildGoModule (finalAttrs: { inherit (finalAttrs) version src; pname = "${finalAttrs.pname}-ui"; sourceRoot = "${finalAttrs.src.name}/${finalAttrs.npmRoot}"; - hash = "sha256-yhqpwxWhnYBewDsYYP5R1n45dDTz6Wz3IJri77FBdO8="; + hash = "sha256-KjOQgR9LcRzMijeOKdXmjIwRMwxr0kZGmZI2RQ9+u6U="; }; npmRoot = "ui"; @@ -63,7 +63,7 @@ buildGoModule (finalAttrs: { preBuild = null; }; - vendorHash = "sha256-dAvDBJGpY4Dlx4D9hR6VSUt+ppJLJPNNu5smsyutSC8="; + vendorHash = "sha256-vMHIdKGplPQ8opnPJbVp2034KoIid0VYT4WDbj7a6sg="; ldflags = [ "-s" @@ -86,6 +86,11 @@ buildGoModule (finalAttrs: { ''; preBuild = '' + # Since @rspack/cli 2.x the CLI shim is installed in the workspace-level + # node_modules (ui/app/node_modules), which npmConfigHook's shebang + # patching (scoped to ui/node_modules) does not cover. + patchShebangs "$npmRoot" + pushd "$npmRoot" npm run build popd @@ -129,7 +134,10 @@ buildGoModule (finalAttrs: { homepage = "https://perses.dev/"; changelog = "https://github.com/perses/perses/releases/tag/v${finalAttrs.version}"; license = lib.licenses.asl20; - maintainers = with lib.maintainers; [ fooker ]; + maintainers = with lib.maintainers; [ + fooker + byteflavour + ]; platforms = lib.platforms.unix; mainProgram = "perses"; }; diff --git a/pkgs/by-name/pe/perses/plugins.nix b/pkgs/by-name/pe/perses/plugins.nix index 72f88f598a95..f01c8da99512 100644 --- a/pkgs/by-name/pe/perses/plugins.nix +++ b/pkgs/by-name/pe/perses/plugins.nix @@ -1,124 +1,154 @@ # This file has been autogenerated by update.sh # Do not edit this file manually. { + "AlertManager" = { + version = "0.1.1"; + url = "https://github.com/perses/plugins/releases/download/alertmanager/v0.1.1/AlertManager-0.1.1.tar.gz"; + hash = "sha256-7zzDQJB6bRzEcfLjjsmnERXR8KeJd7b5BMweNff0zj0="; + }; "BarChart" = { - version = "0.11.1"; - url = "https://github.com/perses/plugins/releases/download/barchart/v0.11.1/BarChart-0.11.1.tar.gz"; - hash = "sha256-z18hd8Hme9Y3eNBMX1cuZr0Ux8sZhDYGJ1ZrHFgiDi0="; + version = "0.13.0"; + url = "https://github.com/perses/plugins/releases/download/barchart/v0.13.0/BarChart-0.13.0.tar.gz"; + hash = "sha256-iG39mqhYmbmH5uK8GJfkR2+EBfrN8vLfbl5Aurla5YU="; }; "ClickHouse" = { - version = "0.5.1"; - url = "https://github.com/perses/plugins/releases/download/clickhouse/v0.5.1/ClickHouse-0.5.1.tar.gz"; - hash = "sha256-iqzWqU8Lovqkie9cM4NZRg0fzWaQP+cqREY8Mz9S5lg="; + version = "0.6.0"; + url = "https://github.com/perses/plugins/releases/download/clickhouse/v0.6.0/ClickHouse-0.6.0.tar.gz"; + hash = "sha256-bdrlzZUeOqZLcBctVBGNbd465Wf0NeFGSO2SljWYqMU="; }; "DatasourceVariable" = { - version = "0.5.1"; - url = "https://github.com/perses/plugins/releases/download/datasourcevariable/v0.5.1/DatasourceVariable-0.5.1.tar.gz"; - hash = "sha256-OWhRD1SlGto52z6W1LEoGSSlx5LmsgALsDSaLO+6NJk="; + version = "0.6.0"; + url = "https://github.com/perses/plugins/releases/download/datasourcevariable/v0.6.0/DatasourceVariable-0.6.0.tar.gz"; + hash = "sha256-4tfqhkxHUdsjPrpBXefzaCOg02/7pOUICdB0i9yio+A="; }; "FlameChart" = { - version = "0.5.1"; - url = "https://github.com/perses/plugins/releases/download/flamechart/v0.5.1/FlameChart-0.5.1.tar.gz"; - hash = "sha256-ajBGNPDAAslLSyUtGxCMdPFGPvtCsoEgDQdn61J0cRM="; + version = "0.6.0"; + url = "https://github.com/perses/plugins/releases/download/flamechart/v0.6.0/FlameChart-0.6.0.tar.gz"; + hash = "sha256-oLn4QNzmqDGG7iJHMV4/DVEDTqg6gSXeFMgM+pC3wQg="; }; "GaugeChart" = { - version = "0.12.1"; - url = "https://github.com/perses/plugins/releases/download/gaugechart/v0.12.1/GaugeChart-0.12.1.tar.gz"; - hash = "sha256-TrgaLLMASL+j2aU+vSKQT0eYiUwsYO4ayBO2ia+qAZ8="; + version = "0.13.0"; + url = "https://github.com/perses/plugins/releases/download/gaugechart/v0.13.0/GaugeChart-0.13.0.tar.gz"; + hash = "sha256-dLt7YQOrgZ98THRcDtaw5aGuV+1PHtmA5ZEwGfEVC/w="; + }; + "GreptimeDB" = { + version = "0.1.0"; + url = "https://github.com/perses/plugins/releases/download/greptimedb/v0.1.0/GreptimeDB-0.1.0.tar.gz"; + hash = "sha256-f8B8z/G8ekE0LDRZ+VxoAqNDBlXE73SF8n6Fx/uT8po="; }; "HistogramChart" = { - version = "0.11.1"; - url = "https://github.com/perses/plugins/releases/download/histogramchart/v0.11.1/HistogramChart-0.11.1.tar.gz"; - hash = "sha256-FZpzmig3wO2sbPLpPzD46S6nikUUYEiIG2z2QLQVYTI="; + version = "0.12.0"; + url = "https://github.com/perses/plugins/releases/download/histogramchart/v0.12.0/HistogramChart-0.12.0.tar.gz"; + hash = "sha256-vrAjaUh2QiVxhUguheFakoJSc1vmOX0jFQQdPsHOjtg="; }; "HeatMapChart" = { - version = "0.4.1"; - url = "https://github.com/perses/plugins/releases/download/heatmapchart/v0.4.1/HeatMapChart-0.4.1.tar.gz"; - hash = "sha256-AlCGUsVhxMepNpgaqR9B253DGXHhNVVRbLgVNridK4w="; + version = "0.5.0"; + url = "https://github.com/perses/plugins/releases/download/heatmapchart/v0.5.0/HeatMapChart-0.5.0.tar.gz"; + hash = "sha256-+rtiCv/cCDfmGFQtqBNucGIdQQ6B9jvLqpK4NJKNM6g="; + }; + "Jaeger" = { + version = "0.1.0"; + url = "https://github.com/perses/plugins/releases/download/jaeger/v0.1.0/Jaeger-0.1.0.tar.gz"; + hash = "sha256-7kGw+z7U82+bArVSLoQSZ0LcAQtY37CUeu+XtugQg6M="; + }; + "LogExplorer" = { + version = "0.1.0"; + url = "https://github.com/perses/plugins/releases/download/logexplorer/v0.1.0/LogExplorer-0.1.0.tar.gz"; + hash = "sha256-Xp//kSu+SYUzoYsiQaQvt7Q4kDKs+15frxUfjnLVftc="; }; "LogsTable" = { - version = "0.2.1"; - url = "https://github.com/perses/plugins/releases/download/logstable/v0.2.1/LogsTable-0.2.1.tar.gz"; - hash = "sha256-uJQXIeg2TYK42csV/Gco0lxdhKyB1URJYcrWmd5Jl/4="; + version = "0.3.0"; + url = "https://github.com/perses/plugins/releases/download/logstable/v0.3.0/LogsTable-0.3.0.tar.gz"; + hash = "sha256-ExO8yO4ctCbpg5MorVdD02J+JPnw/ixjU9XVIN5T8HU="; }; "Loki" = { - version = "0.5.1"; - url = "https://github.com/perses/plugins/releases/download/loki/v0.5.1/Loki-0.5.1.tar.gz"; - hash = "sha256-YI2O6Dr+wZ9zVvZTGaErwkssMaYbuH9BqfiHAf2s8Jg="; + version = "0.6.0"; + url = "https://github.com/perses/plugins/releases/download/loki/v0.6.0/Loki-0.6.0.tar.gz"; + hash = "sha256-tJCOrHGItR+eu6tOCz/Fg69OfAtJbZ40rrjFVeRfszk="; }; "Markdown" = { - version = "0.11.1"; - url = "https://github.com/perses/plugins/releases/download/markdown/v0.11.1/Markdown-0.11.1.tar.gz"; - hash = "sha256-hXX/44SzKJhOYWeN3XpaboAW3MeFFpQtogYmU8VJhXo="; + version = "0.12.0"; + url = "https://github.com/perses/plugins/releases/download/markdown/v0.12.0/Markdown-0.12.0.tar.gz"; + hash = "sha256-X+sk4gWcnAqGjH3bcCrmYmTzIst/L56/3z3AXTsW/w4="; + }; + "OpenSearch" = { + version = "0.1.0"; + url = "https://github.com/perses/plugins/releases/download/opensearch/v0.1.0/OpenSearch-0.1.0.tar.gz"; + hash = "sha256-g4cRoY4PquvYPnY+WZRwoFAaAVCtf6FvA7bMsEJqx7w="; }; "PieChart" = { - version = "0.13.1"; - url = "https://github.com/perses/plugins/releases/download/piechart/v0.13.1/PieChart-0.13.1.tar.gz"; - hash = "sha256-VbHfcUfUDB+qZ4Zm5XchLnGy5QIPd50b8gO05cYLf2g="; + version = "0.14.0"; + url = "https://github.com/perses/plugins/releases/download/piechart/v0.14.0/PieChart-0.14.0.tar.gz"; + hash = "sha256-RcWFFv6q0RT+ZeJmmCXvuYU8CnbkPGPzfABhjRqm/k0="; }; "Prometheus" = { - version = "0.57.1"; - url = "https://github.com/perses/plugins/releases/download/prometheus/v0.57.1/Prometheus-0.57.1.tar.gz"; - hash = "sha256-h48uCoyxtoLb6XpIgbAq+wmls1ukxuedE8ZU51ilAMc="; + version = "0.58.0"; + url = "https://github.com/perses/plugins/releases/download/prometheus/v0.58.0/Prometheus-0.58.0.tar.gz"; + hash = "sha256-PoBB6OXYuZAJK8TTrgyEZEQNWflLzyeHSABc3CR7LtI="; }; "Pyroscope" = { - version = "0.5.1"; - url = "https://github.com/perses/plugins/releases/download/pyroscope/v0.5.1/Pyroscope-0.5.1.tar.gz"; - hash = "sha256-GSAGmMQRy7mRZs5G6EopvjONof+nvn7BQSN2U9ZiBdg="; + version = "0.6.0"; + url = "https://github.com/perses/plugins/releases/download/pyroscope/v0.6.0/Pyroscope-0.6.0.tar.gz"; + hash = "sha256-rClLLmwGYrggEteGjog8Fd66BgaQ11ktHxeHghIwAfA="; }; "ScatterChart" = { - version = "0.10.1"; - url = "https://github.com/perses/plugins/releases/download/scatterchart/v0.10.1/ScatterChart-0.10.1.tar.gz"; - hash = "sha256-CRgW2TeX0M/RqHnGwtMBu9OgUfjDLQCWT6ZA4M9PovI="; + version = "0.11.0"; + url = "https://github.com/perses/plugins/releases/download/scatterchart/v0.11.0/ScatterChart-0.11.0.tar.gz"; + hash = "sha256-isr/WfNFGcdraWrW9Kg35CSL/0ZV6CGzAaFaRTODKzk="; + }; + "Splunk" = { + version = "0.1.0"; + url = "https://github.com/perses/plugins/releases/download/splunk/v0.1.0/Splunk-0.1.0.tar.gz"; + hash = "sha256-/8TkrRRe5cOPQs/4PMEGKxe37sgZitai38XyIxF7nro="; }; "StatChart" = { - version = "0.12.1"; - url = "https://github.com/perses/plugins/releases/download/statchart/v0.12.1/StatChart-0.12.1.tar.gz"; - hash = "sha256-/f9P4kU8Qjl4U3RCFEjxKx39h97XNZXZh21wxTLjgCY="; + version = "0.13.0"; + url = "https://github.com/perses/plugins/releases/download/statchart/v0.13.0/StatChart-0.13.0.tar.gz"; + hash = "sha256-Z01LGlZe2dtDrwxpsodCmZOw/q6x6kmZDOaHT0Hc1Ag="; }; "StaticListVariable" = { - version = "0.8.1"; - url = "https://github.com/perses/plugins/releases/download/staticlistvariable/v0.8.1/StaticListVariable-0.8.1.tar.gz"; - hash = "sha256-jmZhHyy3pHzTE8rXr/7bSW18RWUaQbQr0uGKVL5E9Vk="; + version = "0.9.0"; + url = "https://github.com/perses/plugins/releases/download/staticlistvariable/v0.9.0/StaticListVariable-0.9.0.tar.gz"; + hash = "sha256-Nuz+4H6du3EuqtvpwL8jlQdi+XdaOy+80jpXAX+8aCY="; }; "StatusHistoryChart" = { - version = "0.12.1"; - url = "https://github.com/perses/plugins/releases/download/statushistorychart/v0.12.1/StatusHistoryChart-0.12.1.tar.gz"; - hash = "sha256-A/q5nURlLx/ansZ1q7d9aviHpH0OXP/KGwOove+OMH0="; + version = "0.13.0"; + url = "https://github.com/perses/plugins/releases/download/statushistorychart/v0.13.0/StatusHistoryChart-0.13.0.tar.gz"; + hash = "sha256-tfeftp5uhRdnyBNnB7GnI5yDvqHA1tVxlserwNUHnsk="; }; "Table" = { - version = "0.11.1"; - url = "https://github.com/perses/plugins/releases/download/table/v0.11.1/Table-0.11.1.tar.gz"; - hash = "sha256-b0q2GEKFIosKL3OPiOO/ZXW+1JVinni34MlvFkMpe3o="; + version = "0.13.0"; + url = "https://github.com/perses/plugins/releases/download/table/v0.13.0/Table-0.13.0.tar.gz"; + hash = "sha256-nid+7vVuYfXM4AbLayF4zU0/01WEMYd/KHs0Z80hQWY="; }; "Tempo" = { - version = "0.57.1"; - url = "https://github.com/perses/plugins/releases/download/tempo/v0.57.1/Tempo-0.57.1.tar.gz"; - hash = "sha256-QqVf1kIK8a9fsmFmZ+9LJIeq8CV/5Hc93F6gVACsq40="; + version = "0.59.0"; + url = "https://github.com/perses/plugins/releases/download/tempo/v0.59.0/Tempo-0.59.0.tar.gz"; + hash = "sha256-okzYr88YfGEBT7t8dAV3OGO0FoczwAQf8cGpAOp9QW0="; }; "TimeSeriesChart" = { - version = "0.12.1"; - url = "https://github.com/perses/plugins/releases/download/timeserieschart/v0.12.1/TimeSeriesChart-0.12.1.tar.gz"; - hash = "sha256-1oof/taprYKIduHb5lG72OlCu5LPL7c63l42KwSpIwM="; + version = "0.13.0"; + url = "https://github.com/perses/plugins/releases/download/timeserieschart/v0.13.0/TimeSeriesChart-0.13.0.tar.gz"; + hash = "sha256-rBBDxjk8YB/8+DYC/xV/SiLzjd98SlwRiLVRRrYxHxc="; }; "TimeSeriesTable" = { - version = "0.11.1"; - url = "https://github.com/perses/plugins/releases/download/timeseriestable/v0.11.1/TimeSeriesTable-0.11.1.tar.gz"; - hash = "sha256-t2QDT20Fma7Qkka/nx6PROgQKCj0adMuy+70JwCTNXA="; + version = "0.12.0"; + url = "https://github.com/perses/plugins/releases/download/timeseriestable/v0.12.0/TimeSeriesTable-0.12.0.tar.gz"; + hash = "sha256-LqJivOI43XCPa0UiB3Gx8z7fYDfkWWhI3aiH+MXSf84="; }; "TraceTable" = { - version = "0.10.1"; - url = "https://github.com/perses/plugins/releases/download/tracetable/v0.10.1/TraceTable-0.10.1.tar.gz"; - hash = "sha256-oOJu0YDWl5v1cWNWj+583901hYnZGoSJHjjpQ400iKg="; + version = "0.11.0"; + url = "https://github.com/perses/plugins/releases/download/tracetable/v0.11.0/TraceTable-0.11.0.tar.gz"; + hash = "sha256-+PoMiGfKTDamGQjo3sXQgBkW6XKTe1tTrSBBUCR6xFA="; }; "TracingGanttChart" = { - version = "0.12.1"; - url = "https://github.com/perses/plugins/releases/download/tracingganttchart/v0.12.1/TracingGanttChart-0.12.1.tar.gz"; - hash = "sha256-AnI8TitOtkE4Lhu2w2C5E3D1w9pdgrZaaQ8FVMO8UOE="; + version = "0.13.0"; + url = "https://github.com/perses/plugins/releases/download/tracingganttchart/v0.13.0/TracingGanttChart-0.13.0.tar.gz"; + hash = "sha256-x4C8gcx1/78hZAB5L3HDFdrqiIdCeJUtZoiR7W7WtmY="; }; "VictoriaLogs" = { - version = "0.3.1"; - url = "https://github.com/perses/plugins/releases/download/victorialogs/v0.3.1/VictoriaLogs-0.3.1.tar.gz"; - hash = "sha256-vCV06freSYzSHvObNNBk4gHMnX+O4IIKYY0UNOQdVRU="; + version = "0.4.0"; + url = "https://github.com/perses/plugins/releases/download/victorialogs/v0.4.0/VictoriaLogs-0.4.0.tar.gz"; + hash = "sha256-6vrKywgno5p0lWRuIikBDHunEa2yR2K4bylLv9I47S8="; }; }