Skip to main content

Nautobot plugin to model firewall objects.

Project description

Nautobot Firewall Models Plugin

A plugin for Nautobot that is meant to model layer 4 firewall policies and/or extended access control lists.

Future development will include the ability to onboard an existing access list from a device and the ability to generate device configuration.

Installation

The plugin is available as a Python package in PyPI and can be installed with pip:

pip install nautobot-firewall-models

The plugin is compatible with Nautobot 1.4.0 and higher

To ensure Nautobot Firewall Models Plugin is automatically re-installed during future upgrades, create a file named local_requirements.txt (if not already existing) in the Nautobot root directory (alongside requirements.txt) and list the nautobot-firewall-models package:

# echo nautobot-firewall-models >> local_requirements.txt

Once installed, the plugin needs to be enabled in your nautobot_config.py

# In your nautobot_config.py
PLUGINS = ["nautobot_firewall_models"]

Optional Settings

Models provided by this plugin have a status attribute and the default status is set to use active. This corresponds to the pre-built Nautobot Active Status object.

Use the default_status plugin configuration setting to change the default value for the status attribute.

PLUGINS_CONFIG = {
    "nautobot_firewall_models": {
        "default_status": "active"
        "allowed_status": ["active"], # default shown, `[]` allows all
        "capirca_remark_pass": True,
        "capirca_os_map": {
            "cisco_ios": "cisco",
            "arista_eos": "arista",
        },
        # "custom_capirca": "my.custom.func", # provides ability to overide capirca logic
    }
}

The value assigned to default_status must match the slug of an existing Nautobot Status object. That Status object must have all of the Firewall Models listed in the Content Type associations. See examples below on selecting the Content Type(s) when creating/editing a Status object and the pre-built Active Status with firewall content types added.

Custom Status Existing Status

Screenshots

Navigation Menu Policy View

Documentation

Documentation is hosted on ReadTheDocs at Nautobot Firewall Models Plugin.

Contributing

Pull requests are welcomed and automatically built and tested against multiple version of Python and multiple version of Nautobot through TravisCI.

The project is packaged with a light development environment based on docker-compose to help with the local development of the project and to run the tests within TravisCI.

The project is following Network to Code software development guideline and is leveraging:

  • Black, Pylint, Bandit and pydocstyle for Python linting and formatting.
  • Django unit test to ensure the plugin is working properly.

Questions

For any questions or comments, please check the FAQ first and feel free to swing by the Network to Code slack channel (channel #networktocode). Sign up here

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nautobot-firewall-models-1.0.2.tar.gz (54.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nautobot_firewall_models-1.0.2-py3-none-any.whl (89.6 kB view details)

Uploaded Python 3

File details

Details for the file nautobot-firewall-models-1.0.2.tar.gz.

File metadata

  • Download URL: nautobot-firewall-models-1.0.2.tar.gz
  • Upload date:
  • Size: 54.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.14

File hashes

Hashes for nautobot-firewall-models-1.0.2.tar.gz
Algorithm Hash digest
SHA256 8f19085db31613ef84ace2a1668558fa5483453510824c311c88732ef304aeb7
MD5 70d2e8f618790395fa9c6cfd6c31c559
BLAKE2b-256 dcbcf7ed108376101aca2bf103b73dd95ddc2ce2f5d464c2ce8f00a649a54fb9

See more details on using hashes here.

File details

Details for the file nautobot_firewall_models-1.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for nautobot_firewall_models-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 187cbb53275c33ee81874e690c7c2f9f6f7364eb97402c5626f3eb2a640c22d7
MD5 24417710bd15cbc9cccdc7e8186ec153
BLAKE2b-256 d0ad6b44bc1f1ed8b0861ba49ef8bef8c3d27bb40080d41ab6e2a2bf1c0e7248

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page