Skip to content

Commit fd16c47

Browse files
Merge pull request #7069 from netbox-community/develop
Release v3.0.0
2 parents 9cc4992 + b784517 commit fd16c47

File tree

1,681 files changed

+32760
-198114
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,681 files changed

+32760
-198114
lines changed

.github/ISSUE_TEMPLATE/bug_report.yaml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,14 @@ body:
1717
What version of NetBox are you currently running? (If you don't have access to the most
1818
recent NetBox release, consider testing on our [demo instance](https://demo.netbox.dev/)
1919
before opening a bug report to see if your issue has already been addressed.)
20-
placeholder: v2.11.12
20+
placeholder: v3.0.0
2121
validations:
2222
required: true
2323
- type: dropdown
2424
attributes:
2525
label: Python version
2626
description: What version of Python are you currently running?
2727
options:
28-
- 3.6
2928
- 3.7
3029
- 3.8
3130
- 3.9

.github/ISSUE_TEMPLATE/feature_request.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ body:
1414
attributes:
1515
label: NetBox version
1616
description: What version of NetBox are you currently running?
17-
placeholder: v2.11.12
17+
placeholder: v3.0.0
1818
validations:
1919
required: true
2020
- type: dropdown

.github/workflows/ci.yml

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@ jobs:
55
runs-on: ubuntu-latest
66
strategy:
77
matrix:
8-
python-version: [3.6, 3.7, 3.8]
8+
python-version: [3.7, 3.8, 3.9]
9+
node-version: [14.x]
910
services:
1011
redis:
1112
image: redis
@@ -33,15 +34,30 @@ jobs:
3334
with:
3435
python-version: ${{ matrix.python-version }}
3536

37+
- name: Use Node.js ${{ matrix.node-version }}
38+
uses: actions/setup-node@v2
39+
with:
40+
node-version: ${{ matrix.node-version }}
41+
3642
- name: Install dependencies & set up configuration
3743
run: |
3844
python -m pip install --upgrade pip
3945
pip install -r requirements.txt
4046
pip install pycodestyle coverage
4147
ln -s configuration.testing.py netbox/netbox/configuration.py
48+
yarn --cwd netbox/project-static
49+
50+
- name: Build documentation
51+
run: mkdocs build
52+
53+
- name: Collect static files
54+
run: python netbox/manage.py collectstatic --no-input
4255

4356
- name: Check PEP8 compliance
44-
run: pycodestyle --ignore=W504,E501 netbox/
57+
run: pycodestyle --ignore=W504,E501 --exclude=node_modules netbox/
58+
59+
- name: Check UI ESLint, TypeScript, and Prettier Compliance
60+
run: yarn --cwd netbox/project-static validate
4561

4662
- name: Run tests
4763
run: coverage run --source="netbox/" netbox/manage.py test netbox/

.gitignore

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
*.pyc
22
*.swp
3+
node_modules
4+
npm-debug.log*
5+
yarn-debug.log*
6+
yarn-error.log*
7+
/netbox/project-static/.cache
8+
/netbox/project-static/docs/*
9+
!/netbox/project-static/docs/.info
310
/netbox/netbox/configuration.py
411
/netbox/netbox/ldap_config.py
512
/netbox/project-static/.cache

README.md

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,11 +54,15 @@ our [contributing guide](CONTRIBUTING.md) prior to beginning any work.
5454

5555
### Screenshots
5656

57-
![Screenshot of main page](docs/media/screenshot1.png "Main page")
57+
![Screenshot of main page (light mode)](docs/media/screenshots/home-light.png "Main page (light mode)")
5858

59-
![Screenshot of rack elevation](docs/media/screenshot2.png "Rack elevation")
59+
![Screenshot of main page (dark mode)](docs/media/screenshots/home-dark.png "Main page (dark mode)")
6060

61-
![Screenshot of prefix hierarchy](docs/media/screenshot3.png "Prefix hierarchy")
61+
![Screenshot of rack elevation](docs/media/screenshots/rack.png "Rack elevation")
62+
63+
![Screenshot of prefixes hierarchy](docs/media/screenshots/prefixes-list.png "Prefixes hierarchy")
64+
65+
![Screenshot of cable trace](docs/media/screenshots/cable-trace.png "Cable tracing")
6266

6367
### Related projects
6468

base_requirements.txt

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,6 @@
22
# https://github.com/django/django
33
Django
44

5-
# Django caching using Redis
6-
# https://github.com/Suor/django-cacheops
7-
django-cacheops
8-
95
# Django middleware which permits cross-domain API requests
106
# https://github.com/OttoYiu/django-cors-headers
117
django-cors-headers
@@ -18,6 +14,10 @@ django-debug-toolbar
1814
# https://github.com/carltongibson/django-filter
1915
django-filter
2016

17+
# Django debug toolbar extension with support for GraphiQL
18+
# https://github.com/flavors/django-graphiql-debug-toolbar/
19+
django-graphiql-debug-toolbar
20+
2121
# Modified Preorder Tree Traversal (recursive nesting of objects)
2222
# https://github.com/django-mptt/django-mptt
2323
django-mptt
@@ -30,6 +30,10 @@ django-pglocks
3030
# https://github.com/korfuri/django-prometheus
3131
django-prometheus
3232

33+
# Django chaching backend using Redis
34+
# https://github.com/jazzband/django-redis
35+
django-redis
36+
3337
# Django integration for RQ (Reqis queuing)
3438
# https://github.com/rq/django-rq
3539
django-rq
@@ -54,6 +58,10 @@ djangorestframework
5458
# https://github.com/axnsan12/drf-yasg
5559
drf-yasg[validation]
5660

61+
# Django wrapper for Graphene (GraphQL support)
62+
# https://github.com/graphql-python/graphene-django
63+
graphene_django
64+
5765
# WSGI HTTP server
5866
# https://gunicorn.org/
5967
gunicorn
@@ -66,6 +74,14 @@ Jinja2
6674
# https://github.com/Python-Markdown/markdown
6775
Markdown
6876

77+
# File inclusion plugin for Python-Markdown
78+
# https://github.com/cmacmackin/markdown-include
79+
markdown-include
80+
81+
# MkDocs Material theme (for documentation build)
82+
# https://github.com/squidfunk/mkdocs-material
83+
mkdocs-material
84+
6985
# Library for manipulating IP prefixes and addresses
7086
# https://github.com/drkjam/netaddr
7187
netaddr

contrib/netbox-housekeeping.sh

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#!/bin/sh
2+
# This shell script invokes NetBox's housekeeping management command, which
3+
# intended to be run nightly. This script can be copied into your system's
4+
# daily cron directory (e.g. /etc/cron.daily), or referenced directly from
5+
# within the cron configuration file.
6+
#
7+
# If NetBox has been installed into a nonstandard location, update the paths
8+
# below.
9+
/opt/netbox/venv/bin/python /opt/netbox/netbox/manage.py housekeeping

contrib/netbox-rq.service

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ User=netbox
1111
Group=netbox
1212
WorkingDirectory=/opt/netbox
1313

14-
ExecStart=/opt/netbox/venv/bin/python3 /opt/netbox/netbox/manage.py rqworker
14+
ExecStart=/opt/netbox/venv/bin/python3 /opt/netbox/netbox/manage.py rqworker high default low
1515

1616
Restart=on-failure
1717
RestartSec=30

docs/additional-features/caching.md

Lines changed: 0 additions & 28 deletions
This file was deleted.

docs/additional-features/napalm.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# NAPALM
22

3-
NetBox supports integration with the [NAPALM automation](https://napalm-automation.net/) library. NAPALM allows NetBox to serve a proxy for operational data, fetching live data from network devices and returning it to a requester via its REST API. Note that NetBox does not store any NAPALM data locally.
3+
NetBox supports integration with the [NAPALM automation](https://github.com/napalm-automation/napalm) library. NAPALM allows NetBox to serve a proxy for operational data, fetching live data from network devices and returning it to a requester via its REST API. Note that NetBox does not store any NAPALM data locally.
44

55
The NetBox UI will display tabs for status, LLDP neighbors, and configuration under the device view if the following conditions are met:
66

0 commit comments

Comments
 (0)