--- okf: "0.1" type: subsystem visibility: private status: active updated: 2026-07-03 links: [] --- # Inwentaryzacja floty homelab-codex — 2026-06-30 Zebrano: 2026-06-30 17:09 CEST Metoda: `docker ps` + `free/nproc/df/uptime` na każdym dostępnym node (ssh + lokalnie saturn). Porównanie z: `inventory/topology.yaml`, `hosts/*/services.yaml`, `hosts/*/capabilities.yaml`, `services/*/service.yaml`. --- ## Podsumowanie rozjazdów (TL;DR) ### Krytyczne (owner_node niezgodny) - **forgejo**: `service.yaml` owner=saturn, faktycznie biega na **PIHA** (razem z forgejo-db-1 i forgejo_dind) - **mosquitto**: `service.yaml` owner=piha, faktycznie biega na **VPS** (port 1883 na Tailscale IP); na PIHA *nie ma* mosquitto - **npm**: `service.yaml` owner=vps — biega na VPS ✓ **i** na PIHA (nginxproxymanager-app-1, porty 80/81/443) → **dwie instancje NPM w robocie** - **homeassistant5**: niedeklarowana instancja HA biega na **PIHA** (port 8123, lokalizacja "ken"), repo zna tylko HA na chelsty-ha - **control-plane** (executor/observer/supervisor/ui): biega na **VPS** (healthy) **i** na **SATURN** (control-plane-ui UNHEALTHY) — repo deklaruje tylko VPS ### Poważne (capabilities niezgodne z hardware) - **SATURN RAM**: capabilities.yaml=8 GB → faktycznie **14 GiB** (sprzęt prawdopodobnie rozbudowany) - **SATURN storage**: capabilities.yaml=sd-card 64 GB → faktycznie **/dev/sda 159 GB** (inne urządzenie i pojemność) - **SATURN dysk 91% pełny**: 137G użyte z 159G, wolne 15G → **pilna uwaga** - **SOLARIA CPU**: capabilities.yaml=12 core/24 thread → faktycznie **nproc=32** (deklaracja nieaktualna) - **SOLARIA storage**: capabilities.yaml=2000 GB → widoczna partycja `/dev/nvme0n1p5` ma **890 GB** (do weryfikacji czy jest więcej dysków) ### Ważne (services.yaml niekompletne vs topology/runtime) - `hosts/saturn/services.yaml` **nie istnieje** — 5 kontenerów biega bez żadnej deklaracji w repo - `hosts/vps/services.yaml` ma tylko 4 serwisy, `topology.yaml` wymienia 9 — brak: stability-agent, npm, outline, joplin, ai-cluster - `hosts/solaria/services.yaml` ma tylko node-agent — biega też: planner-agent, stability-agent, node_exporter (bez deklaracji) - **PIHA**: 40 kontenerów biega, 6 w GitOps — **34 "shadow" kontenery poza repo** (forgejo, immich, vaultwarden, wikijs, actual, audiobookshelf i in.) - Na VPS biegną **humanai-landing, humanai-mailer, mosquitto, umami** — brak w topology i services.yaml ### Informacyjne - `stability-agent`: `service.yaml` owner=chelsty — biega na PIHA, VPS, SOLARIA (per-node watchdog, powinno być wielomiejscowe) - `node_exporter`: `service.yaml` owner=vps — biega też na PIHA (jako `node-exporter`) i SOLARIA - `planner-agent`: `service.yaml` owner=solaria ✓ — biega na SOLARIA, ale brak go w `hosts/solaria/services.yaml` i topology - `zigbee2mqtt`: `service.yaml` owner=piha ✓ i faktycznie biega na PIHA — ale `topology.yaml` mówi chelsty-infra - `ollama`: `service.yaml` owner=solaria — **nie biega** na SOLARIA (jedyny serwis w repo który powinien biegać ale nie biega) - VPS: `outline-postgres-1` używa anonimowego image ID `4e6e670bb069` (brak taga) - VPS: `joplin-db` używa `postgres:18` (pre-release / development tag) --- ## Per-node ### SATURN (kontrolny, lokalnie) **Zasoby faktyczne:** | | Faktyczne | capabilities.yaml | Rozjazd? | |---|---|---|---| | CPU | x86_64 (Intel i7-4710MQ), 4 core/8 thread, nproc=8 | arm64, 8 core/8 thread | **TAK — arch i cores błędne w repo** | | RAM | 14 GiB total, 9.6G used, 5.2G available (12 GiB swap) | 8 GB | **TAK — 2× więcej RAM** | | Dysk `/` | /dev/sda5, 159G total, 137G used (91%), **15G wolne** | sd-card, 64 GB | **TAK — inny typ, 2.5× więcej** | | Uptime | 1 dzień 6h36m | — | — | | Docker root | /var/lib/docker | — | — | > **ERRATA 2026-07-03**: audyt błędnie podał SATURN jako arm64 (sprawdzono tylko nproc=8, nie arch). Faktycznie x86_64, Intel i7-4710MQ, 4c/8t — potwierdzone lokalnym `uname -m` + `lscpu` na saturn. Naprawione w capabilities.yaml (branch task/fix-capabilities). **Kontenery biegające (5):** | Kontener | Status | Porty | Image | |---|---|---|---| | agent-system-webui | Up 31h | 0.0.0.0:8080→8080 | agent-system-webui | | control-plane-executor | Up 31h (healthy) | — | control-plane-executor | | control-plane-observer | Up 31h (healthy) | — | control-plane-observer | | control-plane-supervisor | Up 31h (healthy) | — | control-plane-supervisor | | control-plane-ui | Up 31h **(unhealthy)** | 0.0.0.0:18180→8080 | control-plane-operator-ui | **W GitOps (`hosts/saturn/services.yaml`):** BRAK PLIKU **Biega ale NIE w repo:** wszystkie 5 powyżej **W repo ale NIE biega:** n/d **owner_node mismatches:** control-plane (service.yaml nie istnieje, topology mówi VPS) --- ### PIHA (always-on, monitoring/infra) **Zasoby faktyczne:** | | Faktyczne | capabilities.yaml | Rozjazd? | |---|---|---|---| | CPU | arm64, nproc=4 | arm64, 4 core/4 thread | ✓ | | RAM | 7.9 GiB total, 4.9G used, 3.0G available (4 GiB swap, 2G used) | 8 GB | ✓ (±rounding) | | Dysk `/` | /dev/nvme0n1p2, 58G total, 23G used (42%) | — | — | | Dysk `/home` | /dev/nvme0n1p3, 410G total, 248G used (64%) | home_gb=410 | ✓ | | Uptime | 7 dni 19h13m | — | — | | Docker root | /home/docker (na NVMe) | — | — | **W GitOps (`hosts/piha/services.yaml`):** ha-diag-agent, node-agent, brain-watchdog, vikunja, kb-postgres **W runtime override ale nie w services.yaml:** stability-agent **Kontenery biegające — W GitOps (6):** | Kontener | Status | Porty | Image | |---|---|---|---| | ha-diag-agent | Up 3 days (healthy) | — | ha-diag-agent-ha-diag-agent | | node-agent | Up 3 days (healthy) | — | node-agent-node-agent | | brain-watchdog | Up 3 days (healthy) | — | brain-watchdog-brain-watchdog | | vikunja | Up 3 days | 0.0.0.0:3456→3456 | vikunja/vikunja:latest | | vikunja-db | Up 3 days (healthy) | 5432/tcp | postgres:16-alpine | | kb-postgres | Up 3 days (healthy) | 0.0.0.0:5433→5432 | pgvector/pgvector:pg16 | **Kontenery biegające — w runtime override tylko (1):** | Kontener | Status | Uwaga | |---|---|---| | stability-agent | Up 3 days (healthy) | w hosts/piha/runtime, nie w services.yaml | **Kontenery biegające — POZA repo (33):** *Serwisy główne (nie mają żadnej deklaracji w repo):* | Kontener | Status | Porty | Image | Uwaga | |---|---|---|---|---| | **forgejo** | Up 3 days | 0.0.0.0:3000→3000, 0.0.0.0:222→22 | codeberg.org/forgejo/forgejo:7 | **service.yaml owner=saturn!** | | forgejo-db-1 | Up 3 days | 5432/tcp | postgres:14 | część forgejo stack | | forgejo_dind | Up 3 days | 2375-2376/tcp | docker:dind | CI runner dla forgejo | | **homeassistant5** | Up 3 days | — | ghcr.io/home-assistant/home-assistant:stable | HA "ken", ha-diag-agent celuje w localhost:8123 | | immich_server | Up 3 days (healthy) | 0.0.0.0:2283→2283, 8081-8082 | ghcr.io/immich-app/immich-server:release | — | | immich_machine_learning | Up 3 days (healthy) | — | ghcr.io/immich-app/immich-machine-learning:release | — | | immich_postgres | Up 3 days (healthy) | 5432/tcp | tensorchord/pgvecto-rs:pg14-v0.2.0 | — | | immich_redis | Up 3 days (healthy) | 6379/tcp | redis:6.2-alpine | — | | **nginxproxymanager-app-1** | Up 2 hours | 0.0.0.0:80→80, 81→81, 443→443 | jc21/nginx-proxy-manager:latest | **NPM! service.yaml owner=vps; 2 instancje** | | vaultwarden | Up 3 days (healthy) | 0.0.0.0:3012→80 | vaultwarden/server:latest | — | | wikijs-wiki-1 | Up 3 days | 0.0.0.0:3300→3000 | ghcr.io/requarks/wiki:2 | — | | wikijs-db-1 | Up 3 days | 5432/tcp | postgres:15-alpine | — | | audiobookshelf | Up 3 days | 0.0.0.0:13378→80 | ghcr.io/advplyr/audiobookshelf:latest | — | | actual-server | Up 3 days | 0.0.0.0:5006→5006 | actualbudget/actual-server:latest-alpine | — | | **zigbee2mqtt** | Up 3 days | 0.0.0.0:8087→8080 | koenkk/zigbee2mqtt | service.yaml owner=piha ✓, ale topology mówi chelsty-infra | | llm-gateway | Up 3 days | 0.0.0.0:8080→8080 | llm-gateway-llm-gateway | — | *Support/monitoring (poza repo):* | Kontener | Status | Porty | Image | |---|---|---|---| | agent-system-redis | Up 3 days | 0.0.0.0:6379→6379 | redis:7 | | agent-system-runtime-materializer | Up 3 days | — | agent-system-runtime-materializer | | agent-system-telegram-bot | Up 3 days | — | agent-system-telegram-bot | | agent-system-webui | Up 3 days | 0.0.0.0:18180→8080 | agent-system-webui | | code-server | Up 3 days | 0.0.0.0:8443→8443 | lscr.io/linuxserver/code-server:latest | | diskover | Up 3 days | 0.0.0.0:9999→80 | lscr.io/linuxserver/diskover:latest | | elasticsearch | Up 3 days | 0.0.0.0:9200→9200 | docker.elastic.co/elasticsearch/elasticsearch:7.17.22 | | fail2ban-prometheus-exporter-exporter-1 | Up 3 days (healthy) | 0.0.0.0:9191→9191 | registry.gitlab.com/hctrdev/fail2ban-prometheus-exporter:latest | | grafana | Up 3 days | 0.0.0.0:9003→3000 | grafana/grafana-enterprise:latest | | homepage | Up 3 days (healthy) | 0.0.0.0:3033→3000 | ghcr.io/gethomepage/homepage:latest | | mqtt-exporter-mqtt-exporter-1 | Up 3 days | 0.0.0.0:9000→9000 | kpetrem/mqtt-exporter:latest | | node-exporter | Up 3 days | — | quay.io/prometheus/node-exporter:latest | | own-tracks-frontend-owntracks-frontend-1 | Up 3 days | 0.0.0.0:8084→80 | owntracks/frontend | | owntracks-prometheus-exporter-prometheus-owntracks-exporter-1 | Up 3 days | 0.0.0.0:8780→80 | linusgroh/prometheus-owntracks-exporter | | owntracks-recorder | Up 3 days | 0.0.0.0:8083→8083 | owntracks/recorder:latest | | pihole-exporter | Up 3 days | 0.0.0.0:9617→9617 | ekofr/pihole-exporter:latest | | portainer | Up 3 days | 0.0.0.0:8008→8000, 0.0.0.0:9009→9000 | portainer/portainer-ce:latest | | prom | Up 3 days | 0.0.0.0:9090→9090 | prom/prometheus:latest | **W repo ale NIE biega:** brak (wszystkie zadeklarowane biją się z rzeczywistością) **owner_node mismatches na PIHA:** - forgejo: service.yaml=saturn, biega na PIHA - nginxproxymanager-app-1: service.yaml npm owner=vps, biega też na PIHA - mosquitto: service.yaml owner=piha, ale NIE biega na PIHA (biega na VPS) --- ### VPS (ingress/edge/control-plane) **Zasoby faktyczne:** | | Faktyczne | capabilities.yaml | Rozjazd? | |---|---|---|---| | CPU | x86_64, nproc=2 | x86_64, 2 core/2 thread | ✓ | | RAM | 3.7 GiB total, 1.8G used, 1.5G available (4 GiB swap, 386M used) | 4 GB | ✓ (±rounding) | | Dysk `/` | /dev/sda1, 75G total, 29G used (41%) | ssd, 80 GB | ✓ (±partition overhead) | | Uptime | 20 dni 21h36m | — | — | | Docker root | /var/lib/docker | — | — | **W GitOps (`hosts/vps/services.yaml`):** node-agent, control-plane, node_exporter, fleet-prometheus **W topology.yaml (VPS):** node-agent, control-plane, node_exporter, fleet-prometheus, stability-agent, npm, outline, joplin, ai-cluster **Kontenery biegające — W services.yaml (✓):** | Kontener | Status | Porty | Image | |---|---|---|---| | node-agent | Up 5 days (healthy) | — | node-agent-node-agent | | control-plane-executor | Up 5 days (healthy) | — | control-plane-executor | | control-plane-observer | Up 5 days (healthy) | — | control-plane-observer | | control-plane-supervisor | Up 5 days (healthy) | — | control-plane-supervisor | | control-plane-ui | Up 5 days (healthy) | 0.0.0.0:18180→8080 | control-plane-operator-ui | | node_exporter | Up 2 weeks | — | quay.io/prometheus/node-exporter:latest | | fleet-prometheus | Up 4 minutes (healthy) | 100.95.58.48:9090→9090 | prom/prometheus:v3.5.0 | **Kontenery biegające — w topology ale nie w services.yaml:** | Kontener | Status | Porty | Image | |---|---|---|---| | stability-agent | Up 2 weeks (healthy) | — | stability-agent-stability-agent | | npm | Up 2 weeks | 0.0.0.0:80→80, 81→81, 443→443 | jc21/nginx-proxy-manager:latest | | outline-outline-1 | Up 2 weeks (healthy) | 0.0.0.0:3000→3000 | outlinewiki/outline:1.6.1 | | outline-postgres-1 | Up 2 weeks (healthy) | 5432/tcp | **4e6e670bb069** ← anonimowy image ID! | | outline-redis-1 | Up 2 weeks (healthy) | 6379/tcp | redis:7-alpine | | joplin-server | Up 2 weeks | 127.0.0.1:22300→22300 | joplin/server:latest | | joplin-db | Up 2 weeks (healthy) | 5432/tcp | **postgres:18** ← pre-release tag! | | ai-cluster-codex-worker-1 | Up 2 weeks | — | ai-cluster-codex-worker | | ai-cluster-openclaw-1 | Up 2 weeks (healthy) | 0.0.0.0:8000→8000 | ai-cluster-openclaw | | ai-cluster-planner-worker-1 | Up 2 weeks | — | ai-cluster-planner-worker | | ai-cluster-redis-1 | Up 2 weeks | 6379/tcp | redis:7-alpine | | ai-cluster-service-ops-worker-1 | Up 2 weeks | — | ai-cluster-service-ops-worker | **Kontenery biegające — POZA topology i services.yaml:** | Kontener | Status | Porty | Image | Uwaga | |---|---|---|---|---| | **mosquitto** | Up 2 weeks | 100.95.58.48:1883→1883 | eclipse-mosquitto:2 | service.yaml owner=piha, nie ma w VPS topology | | humanai-landing | Up 5 days | 80/tcp | humanai-landing | brak w repo | | humanai-mailer | Up 5 days | — | humanai-mailer | brak w repo | | umami | Up 6 days (healthy) | 3000/tcp | ghcr.io/umami-software/umami:postgresql-latest | brak w repo | | umami-db | Up 6 days (healthy) | 5432/tcp | postgres:16-alpine | brak w repo | **W topology ale NIE biega:** brak **owner_node mismatches na VPS:** - mosquitto: service.yaml owner=piha, biega na VPS - control-plane: również na SATURN (UNHEALTHY) --- ### SOLARIA (GPU/compute/AI) **Zasoby faktyczne:** | | Faktyczne | capabilities.yaml | Rozjazd? | |---|---|---|---| | CPU | x86_64, nproc=32 | x86_64, 12 core/24 thread | **TAK — 32 vs 24 wątków** | | RAM | 61 GiB total, 2.2G used, 59G available (2 GiB swap) | 64 GB | ✓ (±rounding) | | Dysk `/` | /dev/nvme0n1p5, 890G total, 530G used (63%) | nvme, 2000 GB | **do weryfikacji** (może są inne dyski/partycje) | | Uptime | 39 min (świeży reboot) | — | — | | Docker root | /var/lib/docker | — | — | **W GitOps (`hosts/solaria/services.yaml`):** node-agent **W topology.yaml (SOLARIA):** node-agent **Kontenery biegające — W services.yaml (✓):** | Kontener | Status | Porty | Image | |---|---|---|---| | node-agent | Up 39 min (healthy) | — | node-agent-node-agent | **Kontenery biegające — POZA repo (3):** | Kontener | Status | Porty | Image | Uwaga | |---|---|---|---|---| | planner-agent | Up 39 min (healthy) | — | planner-agent-planner-agent | service.yaml owner=solaria ✓, ale brak w services.yaml/topology | | stability-agent | Up 39 min (healthy) | — | stability-agent-stability-agent | service.yaml owner=chelsty | | node_exporter | Up 39 min | — | quay.io/prometheus/node-exporter:latest | service.yaml owner=vps | **W repo ale NIE biega na SOLARIA:** - ollama: service.yaml owner=solaria — **nie biega!** (jedyny serwis zadeklarowany dla SOLARIA którego nie ma) **owner_node mismatches na SOLARIA:** - planner-agent: service.yaml=solaria ✓, ale nieobecny w hosts/solaria/services.yaml i topology - stability-agent: service.yaml=chelsty, biega na SOLARIA - node_exporter: service.yaml=vps, biega na SOLARIA --- ### LUSTRO — UNREACHABLE (offline, edge) Brak pliku `hosts/lustro/capabilities.yaml`. Timeout na SSH. Deklaracja w topology: role=edge, services=[node-agent]. Status: **do weryfikacji gdy node wróci online**. --- ### CHELSTY-INFRA — UNREACHABLE (offline, LTE edge) Deklaracja w `hosts/chelsty-infra/services.yaml`: ha-diag-agent, node-agent, mosquitto, zigbee2mqtt, frigate. Deklaracja w capabilities.yaml: x86_64, 4 core, 16 GB RAM, 250 GB SSD, LTE. Status: **offline (LTE sleep), do weryfikacji gdy online**. --- ### CHELSTY-HA — UNREACHABLE (offline, LTE edge) Deklaracja w `hosts/chelsty-ha/services.yaml`: homeassistant (monitor: false). Tailscale IP: 100.70.180.90 (per ha-diag-agent config na chelsty-infra). Status: **offline (LTE sleep), do weryfikacji gdy online**. --- ## Rozjazdy do naprawy (zebrane, priorytetyzowane) | # | Rozjazd | Node | Repo mówi | Rzeczywistość | Proponowana poprawka | Priorytet | |---|---|---|---|---|---|---| | 1 | SATURN dysk 91% pełny | SATURN | — | 137G / 159G, 15G wolne | Audyt i cleanup `/` — głównie `/var/lib/docker` i logi | **PILNE** | | 2 | forgejo owner_node | PIHA | service.yaml: owner=saturn | biega na PIHA | Zmień service.yaml: owner_node=piha; dodaj do hosts/piha/services.yaml | Wysoki | | 3 | mosquitto owner_node | VPS | service.yaml: owner=piha | biega na VPS, nie biega na PIHA | Zmień service.yaml: owner_node=vps; dodaj do hosts/vps/services.yaml i topology | Wysoki | | 4 | npm dwie instancje | PIHA+VPS | service.yaml: owner=vps (jedna) | biega na VPS i PIHA | Zdecydować czy PIHA-NPM to stary instancja do usunięcia czy intentional (wildcard cert via NPM@PIHA per topology.yaml 2026-06-30). Jeśli obie zamierzone — dodać piha do service.yaml i hosts/piha/services.yaml | Wysoki | | 5 | homeassistant5 na PIHA | PIHA | brak deklaracji w repo | biega na PIHA (HA "ken", port 8123) | Dodać `homeassistant` do hosts/piha/services.yaml i topology.yaml (piha node) | Wysoki | | 6 | control-plane na SATURN | SATURN | topology: VPS only | biega na VPS (healthy) i SATURN (ui UNHEALTHY) | Zbadać czy SATURN ma być dev-instance — jeśli nie, zatrzymać i usunąć stack z SATURN | Wysoki | | 7 | hosts/saturn/services.yaml brak | SATURN | — | 5 kontenerów biega bez deklaracji | Stworzyć hosts/saturn/services.yaml z aktualnym stanem (control-plane-dev? agent-system-webui?) | Wysoki | | 8 | SATURN capabilities: RAM | SATURN | 8 GB | 14 GiB | Zaktualizować capabilities.yaml: total_gb: 16 (lub 14) | Średni | | 9 | SATURN capabilities: storage | SATURN | sd-card, 64 GB | /dev/sda, 159 GB | Zaktualizować capabilities.yaml: type=ssd (lub hdd), capacity_gb=160 | Średni | | 10 | SOLARIA capabilities: CPU threads | SOLARIA | 12 core / 24 thread | nproc=32 | Zaktualizować: cores i threads per `lscpu` na SOLARIA | Średni | | 11 | SOLARIA capabilities: storage | SOLARIA | 2000 GB | widoczna partycja 890G | Zweryfikować `lsblk` na SOLARIA, zaktualizować jeśli zmieniono konfigurację | Średni | | 12 | ollama nie biega | SOLARIA | service.yaml owner=solaria | nie biega na SOLARIA | Zweryfikować czy ollama jest zamierzone do wdrożenia — jeśli nie, usunąć service.yaml lub przenieść do archived/ | Średni | | 13 | hosts/vps/services.yaml niekompletne | VPS | 4 serwisy | 9 w topology biega | Uzupełnić hosts/vps/services.yaml o: stability-agent, npm, outline, joplin, ai-cluster | Średni | | 14 | planner-agent brak w hosts/solaria | SOLARIA | biega (service.yaml=solaria) | nie ma w services.yaml ani topology | Dodać planner-agent do hosts/solaria/services.yaml i topology.yaml | Średni | | 15 | zigbee2mqtt topology mismatch | PIHA | service.yaml=piha ✓, topology=chelsty-infra | biega na PIHA | Naprawić topology.yaml: przenieść zigbee2mqtt z chelsty-infra do piha section (lub dodać osobny wpis) | Niski | | 16 | mosquitto topology mismatch | VPS | topology: chelsty-infra | biega na VPS | Naprawić topology.yaml: dodać mosquitto do vps section | Niski | | 17 | stability-agent owner_node | wielu | service.yaml owner=chelsty | biega na PIHA, VPS, SOLARIA | Zmień service.yaml: owner_node=per-host (jak ha-diag-agent) | Niski | | 18 | node_exporter owner_node | wielu | service.yaml owner=vps | biega też na PIHA i SOLARIA | Zmień service.yaml: owner_node=per-host | Niski | | 19 | outline-postgres-1 anonimowy image | VPS | — | `4e6e670bb069` (brak taga) | Zidentyfikować wersję, przepiąć na named tag w docker-compose | Niski | | 20 | joplin-db postgres:18 | VPS | — | postgres:18 (pre-release) | Zmień na `postgres:17` lub `postgres:16` (stable) | Niski | | 21 | humanai-landing/mailer brak w repo | VPS | — | biega | Dodać service.yaml i hosts/vps/services.yaml entry, lub usunąć jeśli zbędne | Niski | | 22 | umami brak w repo | VPS | — | biega | Dodać service.yaml i hosts/vps/services.yaml entry | Niski | | 23 | PIHA: 33 shadow kontenery | PIHA | — | biega poza GitOps | Długoterminowa praca: iterować przez listę powyżej i dodawać do hosts/piha/services.yaml | Niski | --- ## Uwagi metodologiczne - **LUSTRO i CHELSTY**: pominięte z powodu timeout SSH. Oznaczone jako UNREACHABLE. - **CHELSTY-INFRA/HA**: nie ma wdrożonego node-agent na chelsty-ha (per `monitor: false`), więc brak zdalnych faktów z tych nodów. - **Solaria storage**: `df` pokazuje tylko zamontowane partycje. Możliwe że są dodatkowe dyski/partycje niezamontowane na `/` lub `/home` — do zweryfikowania przez `lsblk` bezpośrednio na SOLARIA. - **Żadne zmiany na nodach nie zostały wprowadzone** — raport wyłącznie read-only.