Claude Info
DevOps

networker-ppdm

Moodswing9/networker-ppdm

Python REST API клиенты и Claude Code скилл для Dell EMC NetWorker, PowerProtect Data Manager и Data Domain. Покрывает backup/restore, защиту Kubernetes, DDBoost, агенты баз данных и SLA-отчётность.

Установка

terminal
bash
npx skills add Moodswing9/networker-ppdm -g

README

networker-ppdm

Python REST API клиенты, скрипты автоматизации и Claude Code скилл для Dell EMC NetWorker, PowerProtect Data Manager (PPDM) и Data Domain — резервное копирование и восстановление, защита Kubernetes, DDBoost, агенты баз данных, SLA-отчётность и автоматизация.


Python-библиотека

Установите и импортируйте клиенты напрямую в свои скрипты:

bash
pip install -r requirements.txt
cp .env.example .env   # укажите host/user/pass

PPDMClient

py
from ppdm import PPDMClient

with PPDMClient.from_env() as ppdm:
    # Список всех упавших задач резервного копирования Kubernetes
    for job in ppdm.failed_activities(asset_type="KUBERNETES"):
        print(job["name"], job["startTime"])

    # Запуск резервного копирования по требованию и получение ID активности
    policy = ppdm.get_policy_by_name("k8s-daily")
    result = ppdm.trigger_backup(policy["id"])

    # Восстановление namespace в новое расположение
    copy = ppdm.latest_copy(asset_id)
    ppdm.restore_kubernetes_to_new_namespace(
        copy["id"], target_namespace="ns-restored", target_cluster_id="..."
    )

Доступные методы: list_assets, get_asset, list_copies, latest_copy, list_activities, failed_activities, running_activities, cancel_activity, list_policies, get_policy_by_name, create_policy, assign_assets, trigger_backup, create_protection_rule, list_inventory_sources, discover_inventory_source, list_storage_systems, restore, restore_kubernetes_to_new_namespace

NWClient

py
from networker import NWClient

with NWClient.from_env() as nw:
    savesets = nw.list_savesets_for_client("web01.example.com")
    latest   = nw.latest_full_backup("web01.example.com")
    nw.trigger_group_backup("Linux-Clients")

Доступные методы: list_clients, get_client, list_savesets, list_savesets_for_client, latest_full_backup, list_policies, list_workflows, list_protection_groups, trigger_group_backup, start_recover

DDClient

py
from datadomain import DDClient

with DDClient.from_env() as dd:
    dd.enable_ddboost()
    dd.create_storage_unit("ppdm-su-01", "ddboost-user", soft_limit_tib=10.0)
    print(dd.filesystem_stats())

Доступные методы: ddboost_status, enable_ddboost, disable_ddboost, list_storage_units, create_storage_unit, assign_user_to_storage_unit, system_info, filesystem_stats, list_users, create_user


Скрипты автоматизации

Готовые к запуску скрипты — требуют заполненного .env с учётными данными.

bash
# Отчёт по всем упавшим задачам резервного копирования (exit 1 при наличии ошибок — удобно для CI)
python scripts/check_failed_jobs.py
python scripts/check_failed_jobs.py --asset-type KUBERNETES
python scripts/check_failed_jobs.py --json

# Отчёт о соответствии SLA
python scripts/sla_report.py
python scripts/sla_report.py --non-compliant-only

# Запуск резервного копирования по требованию (опционально — ожидание завершения)
python scripts/ondemand_backup.py --asset "prod-namespace" --policy "k8s-daily"
python scripts/ondemand_backup.py --asset "prod-namespace" --policy "k8s-daily" --wait

Единый CLI

Новый тонкий слой оркестрации backupctl располагается поверх существующих клиентов PPDM, NetWorker и Data Domain и предоставляет единую точку входа для операторов: проверка состояния, инвентаризация и запуск резервного копирования.

bash
pip install -e .
backupctl doctor
backupctl inventory --format json
backupctl protect ppdm --target k8s-daily
backupctl protect networker --target Linux-Clients
backupctl dd status

Основные команды

  • backupctl doctor — кросс-платформенная проверка состояния PPDM, NetWorker и Data Domain
  • backupctl inventory — объединённый вывод инвентаря PPDM + NetWorker
  • backupctl protect — запуск резервного копирования по политике PPDM или группе защиты NetWorker
  • backupctl dd status — просмотр состояния Data Domain и деталей файловой системы

Claude Code скилл

Установите скилл глобально, чтобы получить экспертные подсказки по NetWorker / PPDM прямо в Claude Code:

npx skills add Moodswing9/networker-ppdm -g

После установки скилл активируется автоматически при вопросах о NetWorker, PPDM, Data Domain или операциях резервного копирования и восстановления.

Требования: Claude Code CLI, npx (Node.js)

Что покрывает скилл

ПродуктОбласти
PPDM REST APIРесурсы, политики, правила защиты, активности, восстановление, соответствие SLA, оповещения, учётные данные, пользователи и RBAC, LDAP/AD, отчёты, конфигурация системы, облачный уровень, репликация, управление копиями, NAS, VMware, Kubernetes, защита баз данных (Oracle / SQL Server / SAP HANA), vProxy, теги, диагностика, обновление
NetWorker REST API + CLIКлиенты, savesets, резервное копирование/восстановление, политики/рабочие процессы/действия, клонирование, узлы хранения, устройства, тома, директивы, уведомления, NDMP, bootstrap/DR, lockbox, свойства клиентов, статистика сервера
Data Domain REST API + CLIDDBoost, единицы хранения, VTL, облачный уровень, NFS/CIFS-шары, шифрование данных в покое, управление пользователями, SNMP, syslog, репликация, метрики дедупликации/сжатия, обслуживание файловой системы
CloudBoostРегистрация устройства, облачные профили AWS S3 / Azure Blob, интеграция с устройствами NetWorker
KubernetesПолное руководство по защите PPDM из 10 шагов — CDI, VolumeSnapshot, RBAC, политика, восстановление, мониторинг

Тесты

Два набора тестов — один для Python-библиотеки, один для Claude Code скилла.

Модульные тесты (Python-библиотека)

bash
pip install -e ".[dev]"
python -m pytest tests/unit/          # 43 теста, полностью замоканы — реальные серверы не нужны

Тесты валидации скилла

Директория tests/ валидирует каждый раздел SKILL.md, отправляя промпты в Claude и проверяя, что ответы содержат ожидаемые эндпоинты, команды и терминологию.

Что тестируется

КатегорияКол-во тестовПокрытие
PPDM Core5Аутентификация, ресурсы, активности, восстановление, фрагменты Python/PowerShell
PPDM Policies2Создание политики, правила защиты
PPDM Credentials1CRUD + тест подключения

Похожие скиллы

networker-ppdm — Claude Skill от Moodswing9 — claude-info.ru