34 lines
2.0 KiB
Python
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 |