Об этом проекте
netbox-ceph — это родственный плагин NetBox для netbox-proxbox. Он зеркалирует инвентарь Ceph, управляемый Proxmox, через proxbox-api и повторно использует контекст бэкенда, жизненный цикл веток, отношения эндпоинтов и соглашения о заданиях netbox-proxbox. Его отраженный инвентарь v1 намеренно доступен только для чтения.
Отраженный инвентарь (v1)
Плагин предоставляет данные о кластерах, демонах, OSD, пулах, файловых системах, правилах CRUSH, флагах, проверках состояния, настройках плагина, а также отраженный инвентарь RGW/S3 и RBD в режиме чтения. Синхронизация запускается через POST /api/plugins/ceph/clusters/{id}/sync/, что ставит в очередь CephSyncJob с таймаутом 7200 секунд. Параметр resources может быть передан в виде списка или строки с разделителями-запятыми, например ["pools", "osds"]; при его отсутствии выполняется полная синхронизация по умолчанию. Очередь запусков отображается в основном интерфейсе Jobs в NetBox.
Плоскость управления желаемым состоянием (v2)
Ceph v2 добавляет отдельную плоскость управления желаемым состоянием: неизменяемые планы, привязанные к эндпоинту и ревизии конфигурации, результаты валидации, записи аудита одобрения двумя лицами, запуски применения/восстановления, записи о дрифте, снимки метрик и типизированный клиент proxbox-api. Необработанный токен одобрения существует только между ответом об одобрении и следующим за ним запросом на применение; он никогда не хранится, не логируется, не сериализуется и не отображается в NetBox.
Модели желаемого состояния позволяют операторам объявлять намерения (intent) в NetBox для пулов, CephFS, RBD и RGW/S3: размер, автомасштабирование, правило CRUSH, приложение, квоты, сжатие, пулы метаданных/данных CephFS, размещение MDS, макет/функции образов RBD, защита снимков RBD, топология RGW, пользователи и бакеты S3. Эти данные остаются полезными как записи о намерениях, принадлежащие NetBox. Строгий райтер proxbox-ceph-v2-2026-07 в настоящее время позволяет генерировать мутации только для строк пулов и CephFS. Каждая поддерживаемая строка требует точного указания execution_node; полезная нагрузка пулов ограничена полями, принятыми в proxbox-api issue #258, а создание CephFS ограничено pg_num и add_storage. Намерения RBD и RGW/S3 доступны для просмотра, но намеренно не имеют действия Generate до появления поддержки в райтере.
Поток одобрения и разрешения
Заявитель должен обладать специальными разрешениями на запрос (request) и применение (apply); другой участник с разрешением на одобрение (approve) затем выполняет одно действие Approve & apply через оркестратор. Миграция 0007_ceph_plan_bound_approvals отменяет устаревшие полномочия, добавляет снимки эндпоинта/провайдера/узла/конфигурации, создает истекающие аренды выдачи одобрений и обеспечивает один локальный запуск на одно одобрение.
Установка
Установите с помощью pip install netbox-ceph, добавьте "netbox_proxbox" и "netbox_ceph" в список PLUGINS в configuration.py, затем запустите миграции NetBox как обычно.
Область применения и заметки по безопасности
Вне области применения v1: прямая интеграция с Ceph Dashboard API, прием метрик Prometheus, внешние кластеры Ceph (не Proxmox) и операции записи из NetBox в Ceph для отраженного инвентаря. Резервного варианта через shell или прямой Proxmox API не существует. Рекомендуемый порядок развертывания: сначала разверните соответствующий контракт бэкенда, сделайте резервную копию NetBox, выполните миграцию, осознанно предоставьте разрешения request/apply/approve, заполните точные узлы исполнения для поддерживаемых устаревших намерений и проверьте весь поток в staging-среде; держите все флаги allow_writes эндпоинтов Proxmox отключенными до завершения настройки этих шлюзов и управления заголовками аутентифицированных участников.
Совместимость и статус проекта
Репозиторий включает лицензию Apache-2.0, метаданные PyPI, метаданные совместимости, CI GitHub Actions, валидацию релизов, публикацию документации, а также рабочие процессы захвата скриншотов и охвата страниц для NetBox v4.6.4. Проверка установки Docker с закрепленным дайджестом охватывает официальный NetBox v4.7.0 GA, а интеграционные тесты по точному исходному коду охватывают обратно совместимый диапазон с v4.5.8 по v4.6.6. Метаданные NetBox v4.7.0 GA принимаются на базе GA без предупреждения о совместимости, в то время как версии 4.7.1 и выше блокируются; CI закреплен за ревизией исходного кода GA 5f06007e4c9bacc93ce17c1e645fc1143d60df3d. Полная документация опубликована на сайте документации проекта, ссылки на модели и поля находятся в docs/models.md, таблица версий — в COMPATIBILITY.md, доказательства сертификации отслеживаются в CERTIFICATION.md, а ошибки и запросы на функции обрабатываются через GitHub Issues.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.