jvoss.netbox
Rola Ansible: Netbox
Instaluje, konfiguruje i utrzymuje NetBox na różnych popularnych dystrybucjach Linuksa.
Spis treści
Informacje ogólne
Ta rola zarządza instalacją i konfiguracją NetBoxa. Nie zapewnia usług PostgreSQL ani Redis, które są wymaganymi zależnościami aplikacji. Te zadania zostały celowo pozostawione użytkownikowi, aby mógł zarządzać tymi usługami w ramach własnych ról i playbooków. Proszę zapoznać się z PRZYKŁADEM playbooka, aby uzyskać szczegóły dotyczące zarządzania tymi usługami.
Wydania są wypuszczane tylko wtedy, gdy konieczne jest wsparcie dla zmian w NetBoxie. Ta rola jest ciągle testowana na nowych wersjach NetBoxa. Proszę zapoznać się z repozytorium GitHub w celu uzyskania najnowszych informacji o zgodności.
Obsługiwane platformy
Testowano na następujących platformach:
- Amazon Linux 2
- CentOS 8
- Debian Bookworm
- Debian Bullseye
- Fedora Linux 37
- Rocky Linux 8 / Red Hat Enterprise Linux (RHEL) 8.2+
- Rocky Linux 9 / Red Hat Enterprise Linux (RHEL) 9.3+
- Ubuntu 20.04
- Ubuntu 22.04
Ta rola wymaga dostępu roota (poprzez sudo), aby zarządzać zależnościami systemowymi i działać w imieniu NetBoxa.
Obsługuje wersje NetBoxa >=3.5.9
Zmienne roli
Minimalne wymagane zmienne zakładając dostępność usług PostgreSQL i Redis na localhost
:
netbox_db_username: netbox
netbox_db_password: netbox
netbox_secret_key: "lnvRn_5Bypl8hBV4mMwgsMuHxr6uZvGwJyDqB7fcKqo"
Jeśli netbox_secret_key
jest pominięty, nowy klucz zostanie automatycznie wygenerowany przy każdym uruchomieniu playbooka.
Zobacz defaults/main.yml w celu uzyskania pełnej listy domyślnych i konfigurowalnych opcji.
Uwaga: Wersja 3.1+ wprowadziła
Dynamiczne ustawienia konfiguracji. Te opcje konfiguracji mogą być nadal zapisywane w configuration.py
, co uniemożliwia ich modyfikację przez UI. Jednak domyślnie, ta rola zawsze pomija te parametry, chyba że netbox_override_dynamic_config
jest ustawione na True
. Zobacz defaults/main.yml#L82 w celu uzyskania szczegółów.
Konta użytkowników
Następujące zmienne mogą być zdefiniowane w celu utworzenia użytkowników podczas początkowej instalacji:
netbox_superusers:
- username: admin
password: admin
email: [email protected]
Każdy użytkownik wymaga zdefiniowania nazwy użytkownika, hasła i adresu e-mail. Rola spróbuje utworzyć zdefiniowanych użytkowników tylko raz podczas początkowej instalacji. Jeśli netbox_superusers
nie jest zdefiniowane, nie zostaną utworzeni żaden użytkownicy, a procesu ręcznego tworzenia użytkowników udokumentowanego przez Netbox można użyć w zamian.
Zewnętrzna autoryzacja
Zobacz wiki w celu uzyskania informacji o dostępnych metodach zewnętrznej autoryzacji.
Pluginy
Pluginy Netbox, które są modułami pip, można instalować i konfigurować poprzez ustawienie zmiennej listy netbox_plugins
. Poniżej znajduje się przykład dla pluginu BGP Netboxa.
netbox_plugins:
- name: netbox_bgp # Nazwa pluginu
pip: netbox-bgp # Nazwa modułu pip
config: # Konfiguracja pluginu
device_ext_page: left
asdot: True
Usuwanie pluginów
Aby usunąć plugin, można przypisać stan absent
do wpisu netbox_plugins
:
netbox_plugins:
- name: netbox_bgp # Nazwa pluginu
pip: netbox-bgp # Nazwa modułu pip
state: absent
Uwaga, że może być konieczne usunięcie tabel bazy danych, które zostały zainstalowane jako część pluginu. Ta rola nie zarządza tabelami bazy danych, które mogły zostać utworzone jako część pluginu. Proszę zobaczyć dokumentację w celu uzyskania więcej informacji na temat zarządzania tabelami.
Blokowanie wersji
Można skonfigurować konkretną wersję Netboxa używając zmiennej:
netbox_version_tag: v3.0.9
Ten tag powinien odpowiadać nazwie tagu w Githubie dla wydania, które ma być zainstalowane. Zapewni to, że będzie utrzymywana konkretna wersja. Jeśli nie zostanie ustawione, każda wersja będzie próbować znaleźć najnowszą wersję do zainstalowania.
UWAGA: Tag wersji powinien być ustawiony dla większości środowisk, aby zapewnić utrzymanie znanej instalacji.
Inną opcją jest wdrożenie z określonej gałęzi i opcjonalnie z określonym SHA komitu:
netbox_install_method: git
netbox_git_branch: master
netbox_git_sha: 8f1acb700d72467ffe7ae5c8502422a1eac0693d # opcjonalne
Zależności
Brak zależności Ansible. Aplikacja wymaga Redis i Postgres.
Przykładowy playbook
Zobacz PRZYKŁAD w celu uzyskania pełnego przykładu playbooka.
Współpraca
Zachęcamy do udziału. Proszę zapoznać się z WSPÓŁPRACĄ w celu uzyskania szczegółów.
ansible-galaxy install jvoss.netbox