Commit Graph

876 Commits

Author SHA1 Message Date
nicolargo
cdf4515a9b docs(v5): add Phase 2 G1 plan — per-plugin renderers for mem/load/network/percpu
One commit per plugin, each replicating its v4 msg_curse layout. Each
task starts by reading the v4 source + catalogue (project memory rule
`feedback-tui-v5-must-mirror-v4`).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 14:45:59 +02:00
nicolargo
d2d338fea6 docs(v5): document per-plugin render_curses_v5 convention
- SKILL-plugin.md: new section explaining when and how to write a
  per-plugin TUI renderer; pointers to cpu reference + v4 catalogue.
- architecture §1.4: per-plugin renderer documented as the escape hatch
  for layouts the generic table fallback cannot produce.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 14:44:01 +02:00
nicolargo
b7d8cd1d37 feat(v5): TUI blocks render as aligned 2/N-col tables + filter internal fields
Two TUI corrections raised by the v4/v5 visual comparison:

1. Internal fields (time_since_update, cpucore) leaked into the UI. They
   are computation support (rate divisor, threshold normalizer) and
   should never be displayed. Introduces a new `internal: True` flag in
   the `fields_description` schema. Tagged:
   - time_since_update (base class, every plugin)
   - cpucore (cpu, load)

   The flag is rendering-only: the field still goes through the REST
   API and is available to `normalize_by` / `rate` computations.

2. Plugin blocks rendered as left/right cells with a fixed 1-space gap,
   which made cpu/mem/load blocks misaligned. Now:
   - scalar blocks: 2-column table (label left-aligned, value right-aligned)
   - collection blocks: N-column table (primary key left-aligned, rest right)
   Column widths auto-fit the widest content per block.

Docs:
- SKILL-plugin.md: `internal` added to renderer-hints table
- glances-v5-architecture-decisions.md §3.2: `internal` documented

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-12 22:23:46 +02:00
nicolargo
9c653d1e3a docs(v5): flesh out §1.4 curses TUI integration
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-12 17:46:19 +02:00
nicolargo
5187a8d735 Add plan for Phase 2 / G0 2026-05-12 17:34:12 +02:00
nicolargo
6c6050dca8 docs(v5): document optional fields_description renderer hints (format, column_width) 2026-05-12 17:30:45 +02:00
nicolargo
bd930568a3 docs(v5): document v4 msg_curse() patterns for the 5 Phase 1 plugins
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-12 17:26:40 +02:00
nicolargo
aae4b68f6a Add phase 2 plan 2026-05-12 17:16:19 +02:00
nicolargo
15fbf5de58 Introduce min_duration_seconds per field for thresolds / Add a new main entry point for Glances v5 2026-05-12 13:28:14 +02:00
nicolargo
4d829d36c7 Add first route for API 2026-05-12 11:31:05 +02:00
nicolargo
35b4ba1416 Add first version of the new Wevserver for v5 (based on FastAPI 2026-05-12 10:55:14 +02:00
nicolargo
8f56d242cc Shell actions added to the scheduler 2026-05-11 18:00:27 +02:00
nicolargo
452395bff4 First version of network 2026-05-11 17:03:44 +02:00
nicolargo
f443d8ae05 Implement CPU plugin v5 - Add normalize_by option to normalise a limit by another field (ex: load and ctx switch) 2026-05-06 18:30:50 +02:00
nicolargo
9ee4cdb64b Merge branch 'develop' into develop-v5 2026-05-05 08:52:44 +02:00
nicolargo
77131e745f Update doc for #1711 2026-05-05 08:52:20 +02:00
nicolargo
ee1272c222 First implementation for Plugin v5: Load and Mem 2026-05-04 18:38:09 +02:00
nicolargo
da2248b63b Merge branch 'develop' into develop-v5 2026-05-04 17:22:01 +02:00
nicolargo
53a8a4836d Update documentation for hide/show #3546 2026-05-04 14:59:20 +02:00
nicolargo
ddb5ced121 Update SKILLS (and make change for the security one in order to include all CVE of Glances v4) 2026-05-03 16:55:32 +02:00
nicolargo
06f62ff532 Implement StatsStore - Class + unitest 2026-05-02 08:59:35 +02:00
nicolargo
c0be41693a feat(v5): GlancesConfigV5 layered configuration loader (Phase 0.2)
Add the v5 configuration module with layered overlay (defaults → /etc →
  XDG →  → -C → env vars), typed get() accessor,
  as_dict_secure() for CVE-2026-32609 redaction, and a reload() hook
  preparing the Phase 4 mtime polling.

  The module lives next to glances/config.py (v4) without import or
  inheritance — strict isolation throughout the v5 transition.

  42 unit tests (unittest only, no pytest per architecture decision §9),
  ~30 ms total. Ruff check + format clean.

  Includes the SKILL-config.md contributor doc.

  Refs: docs/architecture/glances-v5-architecture-decisions.md (§2, Phase 0)
2026-04-26 17:30:43 +02:00
nicolargo
4673da97ad Glances 5.x - Architecture choices 2026-04-26 15:06:00 +02:00
nicolargo
746f0f7011 GPU Monitoring (ARM / RaspberryPi) #1048 2026-04-21 11:37:36 +02:00
nicolargo
05ff62d883 version 4.5.4 2026-04-19 09:41:52 +02:00
nicolargo
30730f4eb4 Prepare Glances 4.5.4 version 2026-04-19 09:36:25 +02:00
nicolargo
b50f306e86 Update doc 2026-04-18 11:40:18 +02:00
nicolargo
cec380536f Overwrite thresholds for a specific sensor is not taken into account - Related to #3525 2026-04-18 09:45:29 +02:00
nicolargo
fdfb977b1d Cross-Origin Information Disclosure via Unauthenticated REST API (/api/4) due to Permissive CORS in Glances - Mitigate CVE-2026-34839 2026-04-12 09:22:36 +02:00
nicolargo
24615e52e7 Update doc and webui 2026-04-11 09:26:20 +02:00
csvke
a8023b3e4c RV1126BP-70: Add config, docs, and unit tests for MPP plugin
- Add [mpp] section to conf/glances.conf with disable=True
- Add docs/aoa/mpp.rst documentation page and index entry
- Add unit test test_026_mpp with Rockchip MPP test fixtures
2026-04-11 01:34:44 +08:00
nicolargo
b4c963e173 version 4.5.3 2026-03-29 16:56:27 +02:00
nicolargo
f5f1c33a3c Prepare release 4.5.3 2026-03-29 16:41:48 +02:00
nicolargo
07f345e233 Replace py-spy by memray for Flamegraph generation 2026-03-28 11:06:26 +01:00
nicolargo
36bc0216f5 Command Injection via Dynamic Configuration Values - Mitigate CVE-2026-33641 2026-03-28 09:55:51 +01:00
nicolargo
a921a1c828 Update doc 2026-03-22 10:37:22 +01:00
Nicolas Hennion
22db0da0c8 Update clickhouse.rst 2026-03-22 10:36:31 +01:00
nicolargo
b6a694f38f Add export to ClickHouse #3320 2026-03-22 10:15:17 +01:00
nicolargo
f6bc98451e Update docs and deps 2026-03-15 16:44:28 +01:00
Christian Rishøj
c53cb847b9 #3480 fix review nits
- Remove unnecessary hasattr guard on get_refresh()
- Init _last_stats_computed_time to time.time() to avoid stale first reading
- Guard against ZeroDivisionError in IO/network rate calculations
- Use title-case status from pylxd directly
- Add trailing newline to containers.rst

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-15 14:50:48 +01:00
Christian Rishøj
d6395e8d3e #3480 address review feedback
- Split _compute_activity_stats into sub-functions per review feedback
- Pass Glances refresh interval as LXD poll interval
- Update containers docs to mention LXD/pylxd

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-15 14:44:21 +01:00
nicolargo
a56a5b78ef version 4.5.2 2026-03-14 15:31:14 +01:00
nicolargo
d691238478 Default CORS Configuration Allows Cross-Origin Credential Theft - Correct CVE-2026-32610 2026-03-14 14:54:02 +01:00
nicolargo
a8443489e3 REST/WebUI Lacks Host Validation and Remains Exposed to DNS Rebinding - Correct CVE-2026-32632 2026-03-14 13:48:25 +01:00
nicolargo
6a358d07d7 Update docs 2026-03-14 11:40:28 +01:00
nicolargo
08a600ff4a Update documentation 2026-03-14 11:00:48 +01:00
nicolargo
fb0263af0c Unauthenticated API Exposure / Add warning message on startup - Correct CVE-2026-32596 2026-03-14 10:53:19 +01:00
nicolargo
5680a5da4a Command Injection via Process Names in Action Command Templates - Correct CVE-2026-32608 2026-03-14 09:52:12 +01:00
nicolargo
a9170d7121 Update NEWS file 2026-03-07 15:51:54 +01:00
nicolargo
02f0106ee8 Update profiling 2026-03-07 15:39:13 +01:00