jvoss.nautobot
Ansible Role: Nautobot
This role installs and sets up Nautobot on RHEL/CentOS or Ubuntu servers.
Requirements
This role is for installing and configuring Nautobot but does not include setting up PostgreSQL or Redis, which Nautobot needs. Users must handle these services separately.
It has been tested on:
- CentOS 8.2+ or Red Hat Enterprise Linux (RHEL) 8.2+
- Ubuntu 20.04
Root access (via sudo) is required to perform tasks and manage system dependencies for Nautobot.
Role Variables
Here are the minimum required variables if PostgreSQL and Redis are available on localhost
:
nautobot_db_username: nautobot
nautobot_db_password: nautobot
nautobot_secret_key: "lnvRn_5Bypl8hBV4mMwgsMuHxr6uZvGwJyDqB7fcKqo"
For a full list of defaults and options, check defaults/main.yml.
User Accounts
You can define the following variables to create users during the initial installation:
nautobot_superusers:
- username: admin
password: admin
email: [email protected]
Each user must have a username, password, and email. The role will create the specified users only once during installation. If nautobot_superusers
is not set, no users will be created, and you can create users manually following the instructions here.
External Authentication
For details on external authentication options, check the wiki.
Plugins
Plugins for Nautobot that are Python pip modules can be installed by setting the nautobot_plugins
variable. Here’s an example for the Nautobot Nornir plugin:
nautobot_plugins:
- name: nautobot_plugin_nornir # Plugin name
pip: nautobot-plugin-nornir # Pip module name
config: # plugin configuration
nornir_settings:
credentials: "nautobot_plugin_nornir.plugins.credentials.env_vars.CredentialsEnvVars"
runner:
plugin: "threaded"
options:
num_workers: 20
Version Locking
You can specify a certain version of Nautobot using this variable:
nautobot_version: 1.0.1
This ensures that a specific version is maintained. If you don't set this, the latest version will be installed initially. On future runs, it will only check if the module is there but won't upgrade automatically.
If you want to upgrade, change this variable to the desired Nautobot version. Downgrading is not allowed.
Dependencies
There are no Ansible dependencies. However, the application does require Redis and PostgreSQL.
Example Playbook
For a complete example of a playbook, see EXAMPLE.
Contributing
Contributions are welcome! Please see CONTRIBUTING for more details.
Installs and configures Nautobot
ansible-galaxy install jvoss.nautobot