Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gmazoyer/ansible-role-netbox
Ansible Role: NetBox
https://github.com/gmazoyer/ansible-role-netbox
ansible ansible-galaxy ansible-role dcim ipam netbox orchestration
Last synced: 26 days ago
JSON representation
Ansible Role: NetBox
- Host: GitHub
- URL: https://github.com/gmazoyer/ansible-role-netbox
- Owner: gmazoyer
- License: gpl-3.0
- Created: 2017-01-02T19:07:49.000Z (almost 8 years ago)
- Default Branch: main
- Last Pushed: 2024-10-30T22:31:20.000Z (about 1 month ago)
- Last Synced: 2024-11-10T19:56:23.542Z (about 1 month ago)
- Topics: ansible, ansible-galaxy, ansible-role, dcim, ipam, netbox, orchestration
- Language: Jinja
- Homepage:
- Size: 286 KB
- Stars: 38
- Watchers: 2
- Forks: 23
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-netbox - gmazoyer/ansible-role-netbox - Ansible role that installs on Debian/Ubuntu (Deployment)
README
[![CI](https://github.com/gmazoyer/ansible-role-netbox/workflows/CI/badge.svg?event=push)](https://github.com/gmazoyer/ansible-role-netbox/actions?query=workflow%3ACI)
[![Ansible Galaxy](https://img.shields.io/badge/ansible--galaxy-netbox-blue.svg)](https://galaxy.ansible.com/gmazoyer/netbox)# Ansible Role: NetBox
An Ansible Role that installs on Debian/Ubuntu.
This role install all dependencies required by NetBox including the PostgreSQL
database. So it can be used to setup a NetBox appliance including everything in
the same machine.Web backend and frontend setups can be disabled if you already have your own
way to handle them.## Dependencies
None.
## Roles Variables
Available variables are listed below, along with default values:
Setup for the PostgreSQL database:
```
netbox_database: netbox
netbox_database_user: netbox
netbox_database_password: netbox
netbox_database_host: localhost # This will force PostgreSQL to be setup
```Where to get NetBox and which version:
```
netbox_version: latest
netbox_git_url: https://github.com/netbox-community/netbox.git
```By default, it will always get the latest stable version. A specific version
can be enforced by using, `v3.5.1` for example.Where to install NetBox:
```
netbox_install_directory: /opt/netbox
```The username, password and email for the super user.
```
netbox_superuser_username: admin
netbox_superuser_password: admin
netbox_superuser_email: [email protected]
```LDAP can be used as authentication mechanism. It must be enabled, and the whole
LDAP configuration has to be provided in the following variables (see NetBox
[documentation](https://netbox.readthedocs.io/en/stable/installation/6-ldap/)):```
netbox_setup_ldap_auth: false
netbox_ldap_config: ""
```Other Python packages can be installed using `local_requirements.txt`, this is
useful to install packages such as NAPALM or plugins:```
netbox_local_requirements:
- napalm
…
```The configuration for NetBox must be given as `key: value` pairs like the
following, please note that the secret key does not need to be given as it will
be generated automatically:```
netbox_config:
ALLOWED_HOSTS:
- localhost
- 127.0.0.1
TIME_ZONE: "Europe/Paris"
…
```The housekeeping command is run using a systemd timer configured at 4:30AM UTC
every day. You can use `on_unit_active_sec: 12h` instead of `on_calendar` to
run the housekeeping command every 12 hours (for example).```
netbox_systemd_timers:
netbox-housekeeping:
enabled: true
command: "{{ netbox_virtualenv_path }}/bin/python {{ netbox_install_directory }}/netbox/manage.py housekeeping"
on_calendar: "*-*-* 4:30:00 UTC"
```Configuration for the backend web server and systemd:
```
netbox_setup_systemd: false
netbox_gunicorn_address: 127.0.0.1
netbox_gunicorn_port: 8001
netbox_gunicorn_workers_number: 5
```Whether or not to configure the frontend web server:
```
netbox_setup_web_frontend: false
```SSL/TLS configuration for the frontend web server:
```
netbox_web_tls: false
netbox_web_tls_port: 443
# netbox_web_tls_crt: /etc/pki/server.crt
# netbox_web_tls_key: /etc/pki/server.key
# netbox_web_tls_chain:
netbox_web_tls_redirect: false
```## Example Playbook
```
- hosts: netboxes
roles:
- { role: gmazoyer.netbox }
```## License
This Ansible Role is released under the terms of the GNU GPLv3. Please read
the `LICENSE` file for more information.Portions of this role include MIT-licensed code (see `7c400dd`) and are
demarcated in the header. See `LICENSE-MIT` for more information.## Author Information
This role was created in 2017 by [Guillaume Mazoyer](https://mazoyer.eu).