NetBox. Плагины
Плагины NetBox.
Содержание
1 Общая информация
- Основные плагины: https://netboxlabs.com/netbox-plugins/
- Плагины NetBox являются приложениями Django.
- Плагины могут добавлять свои собственные модели и представления, но не могут вмешиваться в работу существующих компонентов.
- Архитектура плагинов NetBox позволяет следующее:
- добавлять новые модели данных;
- добавлять новые URL-адреса и представления.
- могут регистрировать URL-адреса
/plugins
для предоставления пользователям возможности просмотра;
- могут регистрировать URL-адреса
- добавлять контент в существующие шаблоны моделей;
- добавлять пункты в меню навигации;
- добавлять собственное промежуточное программное обеспечение;
- объявлять параметры конфигурации;
- параметры конфигурации определяются пользователем в разделе
PLUGINS_CONFIG
вconfiguration.py
.
- параметры конфигурации определяются пользователем в разделе
2 Установка плагинов
2.1 Установите пакет Python
- Загрузите и установите пакет Python плагина, следуя инструкциям по установке.
- Плагины, публикуемые через PyPI, обычно устанавливаются с помощью утилиты
pip
командной строки. - Обязательно установите плагин в виртуальной среде NetBox.
- Альтернативно, можно установить плагин вручную:
1python setup.py install
2.2 Включите плагин
- В
configuration.py
добавьте имя плагина в списокPLUGINS
:
2.3 Настройте плагин
- Если плагин требует какой-либо настройки, задайте её в
configuration.py
в параметреPLUGINS_CONFIG
:
2.4 Запустите миграцию базы данных
- Если плагин вводит новые модели базы данных, выполните миграцию схемы:
2.5 Статические файлы
- Плагины могут упаковывать статические ресурсы, такие как изображения или скрипты, для непосредственного обслуживания HTTP-интерфейсом.
- Убедитесь, что они скопированы в статический корневой каталог с именем
collectstatic
:
2.6 Перезапустите службу WSGI
- Перезапустите службу WSGI:
1systemctl restart netbox netbox-rq
3 Удаление плагинов
3.1 Отключите плагин
- Отключите плагин, удалив его из списка
PLUGINS
список вconfiguration.py
.
3.2 Удалите конфигурацию
- Удалите запись о плагине в словаре
PLUGINS_CONFIG
вconfiguration.py
.
3.3 Переиндексируйте записи поиска
- Запустите команду
reindex
для переиндексации глобальной поисковой системы. - Это удалит все устаревшие записи, относящиеся к объектам, предоставляемым плагином:
3.4 Удалите пакет Python
- Используйте
pip
, чтобы удалить установленный плагин:
3.5 Перезапустите службу WSGI
- Перезапустите службу WSGI:
1systemctl restart netbox
3.6 Удалите таблицы базы данных
- Этот шаг необходим только для плагинов, которые создали одну или несколько таблиц базы данных.
- Войдите в оболочку базы данных PostgreSQL (
manage.py dbshell
), чтобы определить, создал ли плагин какие-либо таблицы SQL. - Можно запустить командe
\dt
без шаблона для вывода списка всех таблиц.1netbox=> \dt pluginname_*
- Удалите каждую из перечисленных таблиц:
3.7 Удалите записи миграции Django
- После удаления таблиц, созданных плагином, миграции, создавшие эти таблицы, также необходимо удалить из истории миграции Django.
- Это необходимо для того, чтобы иметь возможность переустановить плагин позже.
- Если бы история миграции осталась на месте, Django пропустил бы все миграции, которые были выполнены в ходе предыдущей установки, что привело бы к сбою плагина после переустановки.