Files
open-webui/truenas_tools.py
T

34 lines
2.0 KiB
Python

"""
truenas_tools.py — мониторинг и управление TrueNAS через Open WebUI.
Полный набор инструментов для интеграции TrueNAS 25.10 (Goldeye/Goliath)
в Open WebUI в виде пользовательского Tool.
Возможности:
• Системная информация (версия, uptime, CPU, load average, RAM, температура CPU)
• Детальная информация о RAM с перебором нескольких эндпоинтов API
• Пулы ZFS (статус, занятость, фрагментация)
• Диски (модель, серийник, объём, температура SMART)
• Docker-приложения (TrueNAS Apps): мониторинг + установка, запуск, остановка, удаление, обновление
• Custom App из docker-compose файла
• Каталог приложений (TRUENAS, TrueCharts, Community…): список и детали
• Виртуальные машины (libvirt/KVM)
• Контейнеры (virt/incus)
• Алерты TrueNAS
• Статистика ZFS ARC-кэша
• Диагностика соединения и валидация API-ключа
• Кэширование ответов с настраиваемым TTL (только для GET-запросов)
История версий:
v2.1 — управление приложениями: list_catalogs, list_app_catalog, get_app_info,
install_app (catalog), install_custom_app (compose), app_action, app_status,
wait_for_app, общий метод _rest_request (POST/PUT/DELETE)
v2.0 — добавлены RAM (multi-endpoint), температуры CPU/дисков, ARC, валидация API
v1.0 — базовый мониторинг (система, пулы, диски, VM, контейнеры, алерты)
"""
import json
import time
import requests
from typing import Dict, Optional, List, Any, Union
from pydantic import BaseModel, Field