netbox-cloudflare-plugin

Manage Cloudflare with Netbox & style.


Keywords
netbox, netbox-plugin, cloudflare
License
BSD-3-Clause
Install
pip install netbox-cloudflare-plugin==0.2.0

Documentation

Netbox Cloudflare Plugin

Testing Report

Manage Cloudflare with Netbox & style.

UI Container view with dependencies

Installation

You can follow the official plugins installation instructions.

If needed, source your Netbox's virtual environment and install the plugin like a package. We assume you have already installed Netbox and its source code are in /opt/netbox:

cd /opt/netbox
python3 -m venv venv # if virtual env was not created before
source /opt/netbox/venv/bin/activate
pip install netbox-cloudflare-plugin

Enable the plugin in the /opt/netbox/netbox/netbox/configuration.py file:

PLUGINS = [
    'netbox_cloudflare_plugin',
]

Then, run migrations:

cd /opt/netbox
python3 netbox/manage.py migrate

Alternative

Another way to install Netbox is to use the Official netbox-docker project.

With this alternate way, you can customize your Netbox image and migrations will be automatically execute each time you restart the container.

Contribute

Install our development environment

Requirements:

  • Python 3.11
  • PostgreSQL 15 Official Netbox doc
    • user: netbox (with database creation right)
    • password: secret
    • database: netbox
    • port: 5432
  • Redis 7.2
    • port: 6379

Set a PROJECT variable :

PROJECT="/project/netbox"

Create a project directory $PROJECT:

mkdir $PROJECT

Go inside your project directory, clone this repository and the Netbox repository:

cd $PROJECT
git clone git@github.com:SaaShup/netbox-cloudflare-plugin.git
git clone git@github.com:netbox-community/netbox.git

Create your venv and activate it:

python -m venv venv
source venv/bin/activate

Install netbox-cloudflare-plugin dependencies:

cd $PROJECT/netbox-cloudflare-plugin
pip install -e .

Configure Netbox and install Netbox dependencies:

cd $PROJECT/netbox
cp $PROJECT/netbox-cloudflare-plugin/netbox_configuration/configuration_dev.py $PROJECT/netbox/netbox/netbox/configuration.py
pip install -r requirements.txt

Run database migrations:

cd $PROJECT/netbox
python3 netbox/manage.py migrate

Create a Netbox super user:

cd $PROJECT/netbox
python3 netbox/manage.py createsuperuser

Start Netbox instance:

cd $PROJECT/netbox
python3 netbox/manage.py runserver 0.0.0.0:8000 --insecure

Visit http://localhost:8000/

Run tests

After installing your development environment, you can run the tests plugin (you don't need to start the Netbox instance):

cd $PROJECT/netbox
python3 -m pip install requests_mock
python3 netbox/manage.py test netbox_cloudflare_plugin.tests --keepdb -v 2

With code coverage, install coverage.py and use it:

cd $PROJECT/netbox
python3 -m pip install coverage

Then run the test with coverage.py and print the report:

cd $PROJECT/netbox
coverage run --include='*/netbox_cloudflare_plugin/*' netbox/manage.py test netbox_cloudflare_plugin.tests --keepdb -v 2
coverage report -m

Hosting

Check https://saashup.com for more information.