Skip to content

Commit b871a6c

Browse files
Merge pull request #14830 from netbox-community/develop
Release v3.7.1
2 parents 7b90481 + 61739a0 commit b871a6c

Some content is hidden

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

51 files changed

+475
-309
lines changed

.github/ISSUE_TEMPLATE/bug_report.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ body:
2323
attributes:
2424
label: NetBox Version
2525
description: What version of NetBox are you currently running?
26-
placeholder: v3.7.0
26+
placeholder: v3.7.1
2727
validations:
2828
required: true
2929
- type: dropdown

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@ contact_links:
77
- name: ❓ Discussion
88
url: https://github.com/netbox-community/netbox/discussions
99
about: "If you're just looking for help, try starting a discussion instead."
10+
- name: 🌎 Correct a Translation
11+
url: https://explore.transifex.com/netbox-community/netbox/
12+
about: "Spot an incorrect translation? You can propose a fix on Transifex."
1013
- name: 💡 Plugin Idea
1114
url: https://plugin-ideas.netbox.dev
1215
about: "Have an idea for a plugin? Head over to the ideas board!"

.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: v3.7.0
17+
placeholder: v3.7.1
1818
validations:
1919
required: true
2020
- type: dropdown

README.md

Lines changed: 98 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -1,86 +1,129 @@
11
<div align="center">
22
<img src="https://raw.githubusercontent.com/netbox-community/netbox/develop/docs/netbox_logo.svg" width="400" alt="NetBox logo" />
3-
<p>The premier source of truth powering network automation</p>
4-
<img src="https://github.com/netbox-community/netbox/workflows/CI/badge.svg?branch=master" alt="CI status" />
3+
<p><strong>The cornerstone of every automated network</strong></p>
4+
<a href="https://github.com/netbox-community/netbox/releases"><img src="https://img.shields.io/github/v/release/netbox-community/netbox" alt="Latest release" /></a>
5+
<a href="https://github.com/netbox-community/netbox/blob/master/LICENSE.txt"><img src="https://img.shields.io/badge/license-Apache_2.0-blue.svg" alt="License" /></a>
6+
<a href="https://github.com/netbox-community/netbox/graphs/contributors"><img src="https://img.shields.io/github/contributors/netbox-community/netbox?color=blue" alt="Contributors" /></a>
7+
<a href="https://github.com/netbox-community/netbox/stargazers"><img src="https://img.shields.io/github/stars/netbox-community/netbox?style=flat" alt="GitHub stars" /></a>
8+
<a href="https://explore.transifex.com/netbox-community/netbox/"><img src="https://img.shields.io/badge/languages-4-blue" alt="Languages supported" /></a>
9+
<a href="https://github.com/netbox-community/netbox/actions/workflows/ci.yml"><img src="https://github.com/netbox-community/netbox/workflows/CI/badge.svg?branch=master" alt="CI status" /></a>
510
<p></p>
611
</div>
712

8-
NetBox is the leading solution for modeling and documenting modern networks. By
9-
combining the traditional disciplines of IP address management (IPAM) and
10-
datacenter infrastructure management (DCIM) with powerful APIs and extensions,
11-
NetBox provides the ideal "source of truth" to power network automation.
12-
Available as open source software under the Apache 2.0 license, NetBox serves
13-
as the cornerstone for network automation in thousands of organizations.
14-
15-
* **Physical infrastructure:** Accurately model the physical world, from global regions down to individual racks of gear. Then connect everything - network, console, and power!
16-
* **Modern IPAM:** All the standard IPAM functionality you expect, plus VRF import/export tracking, VLAN management, and overlay support.
17-
* **Data circuits:** Confidently manage the delivery of critical circuits from various service providers, modeled seamlessly alongside your own infrastructure.
18-
* **Power tracking:** Map the distribution of power from upstream sources to individual feeds and outlets.
19-
* **Organization:** Manage tenant and contact assignments natively.
20-
* **Powerful search:** Easily find anything you need using a single global search function.
21-
* **Comprehensive logging:** Leverage both automatic change logging and user-submitted journal entries to track your network's growth over time.
22-
* **Endless customization:** Custom fields, custom links, tags, export templates, custom validation, reports, scripts, and more!
23-
* **Flexible permissions:** An advanced permissions systems enables very flexible delegation of permissions.
24-
* **Integrations:** Easily connect NetBox to your other tooling via its REST & GraphQL APIs.
25-
* **Plugins:** Not finding what you need in the core application? Try one of many community plugins - or build your own!
26-
27-
![Screenshot of NetBox UI](docs/media/screenshots/netbox-ui.png "NetBox UI")
13+
NetBox exists to empower network engineers. Since its release in 2016, it has become the go-to solution for modeling and documenting network infrastructure for thousands of organizations worldwide. As a successor to legacy IPAM and DCIM applications, NetBox provides a cohesive, extensive, and accessible data model for all things networked. By providing a single robust user interface and programmable APIs for everything from cable maps to device configurations, NetBox serves as the central source of truth for the modern network.
2814

29-
## Getting Started
15+
<p align="center">
16+
<a href="#netboxs-role">NetBox's Role</a> |
17+
<a href="#why-netbox">Why NetBox?</a> |
18+
<a href="#getting-started">Getting Started</a> |
19+
<a href="#get-involved">Get Involved</a> |
20+
<a href="#project-stats">Project Stats</a> |
21+
<a href="#screenshots">Screenshots</a>
22+
</p>
3023

31-
<div align="center">
24+
<p align="center">
25+
<img src="docs/media/screenshots/home-light.png" width="600" alt="NetBox user interface screenshot" />
26+
</p>
3227

33-
[![NetBox logo](https://raw.githubusercontent.com/wiki/netbox-community/netbox/images/deploy/deploy1.png)](https://github.com/netbox-community/netbox)
34-
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
35-
[![Docker logo](https://raw.githubusercontent.com/wiki/netbox-community/netbox/images/deploy/deploy2.png)](https://github.com/netbox-community/netbox-docker)
36-
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
37-
[![NetBox Labs logo](https://raw.githubusercontent.com/wiki/netbox-community/netbox/images/deploy/deploy3.png)](https://netboxlabs.com/netbox-cloud/)
28+
## NetBox's Role
3829

39-
</div>
30+
NetBox functions as the **source of truth** for your network infrastructure. Its job is to define and validate the _intended state_ of all network components and resources. NetBox does not interact with network nodes directly; rather, it makes this data available programmatically to purpose-built automation, monitoring, and assurance tools. This separation of duties enables the construction of a robust yet flexible automation system.
31+
32+
<p align="center">
33+
<img src="docs/media/misc/reference_architecture.png" alt="Reference network automation architecture" />
34+
</p>
35+
36+
The diagram above illustrates the recommended deployment architecture for an automated network, leveraging NetBox as the central authority for network state. This approach allows your team to swap out individual tools to meet changing needs while retaining a predictable, modular workflow.
37+
38+
## Why NetBox?
39+
40+
### Comprehensive Data Model
41+
42+
Racks, devices, cables, IP addresses, VLANs, circuits, power, VPNs, and lots more: NetBox is built for networks. Its comprehensive and thoroughly inter-linked data model provides for natural and highly structured modeling of myriad network primitives that just isn't possible using general-purpose tools. And there's no need to waste time contemplating how to build out a database: Everything is ready to go upon installation.
43+
44+
### Focused Development
45+
46+
NetBox strives to meet a singular goal: Provide the best available solution for making network infrastructure programmatically accessible. Unlike "all-in-one" tools which awkwardly bolt on half-baked features in an attempt to check every box, NetBox is committed to its core function. NetBox provides the best possible solution for modeling network infrastructure, and provides rich APIs for integrating with tools that excel in other areas of network automation.
47+
48+
### Extensible and Customizable
49+
50+
No two networks are exactly the same. Users are empowered to extend NetBox's native data model with custom fields and tags to best suit their unique needs. You can even write your own plugins to introduce entirely new objects and functionality!
51+
52+
### Flexible Permissions
53+
54+
NetBox includes a fully customizable permission system, which affords administrators incredible granularity when assigning roles to users and groups. Want to restrict certain users to working only with cabling and not be able to change IP addresses? Or maybe each team should have access only to a particular tenant? NetBox enables you to craft roles as you see fit.
55+
56+
### Custom Validation & Protection Rules
57+
58+
The data you put into NetBox is crucial to network operations. In addition to its robust native validation rules, NetBox provides mechanisms for administrators to define their own custom validation rules for objects. Custom validation can be used both to ensure new or modified objects adhere to a set of rules, and to prevent the deletion of objects which don't meet certain criteria. (For example, you might want to prevent the deletion of a device with an "active" status.)
59+
60+
### Device Configuration Rendering
61+
62+
NetBox can render user-created Jinja2 templates to generate device configurations from its own data. Configuration templates can be uploaded individually or pulled automatically from an external source, such as a git repository. Rendered configurations can be retrieved via the REST API for application directly to network devices via a provisioning tool such as Ansible or Salt.
63+
64+
### Custom Scripts
65+
66+
Complex workflows, such as provisioning a new branch office, can be tedious to carry out via the user interface. NetBox allows you to write and upload custom scripts that can be run directly from the UI. Scripts prompt users for input and then automate the necessary tasks to greatly simplify otherwise burdensome processes.
67+
68+
### Automated Events
69+
70+
Users can define event rules to automatically trigger a custom script or outbound webhook in response to a NetBox event. For example, you might want to automatically update a network monitoring service whenever a new device is added to NetBox, or update a DHCP server when an IP range is allocated.
71+
72+
### Comprehensive Change Logging
73+
74+
NetBox automatically logs the creation, modification, and deletion of all managed objects, providing a thorough change history. Changes can be attributed to the executing user, and related changes are grouped automatically by request ID.
75+
76+
> [!NOTE]
77+
> A complete list of NetBox's myriad features can be found in [the introductory documentation](https://docs.netbox.dev/en/stable/introduction/).
78+
79+
## Getting Started
4080

4181
* Just want to explore? Check out [our public demo](https://demo.netbox.dev/) right now!
4282
* The [official documentation](https://docs.netbox.dev) offers a comprehensive introduction.
4383
* Check out [our wiki](https://github.com/netbox-community/netbox/wiki/Community-Contributions) for even more projects to get the most out of NetBox!
4484

85+
<p align="center">
86+
<a href="https://netboxlabs.com/netbox-cloud/"><img src="docs/media/misc/netbox_cloud.png" alt="NetBox Cloud" /></a><br />
87+
Looking for an enterprise solution? Check out <strong><a href="https://netboxlabs.com/netbox-cloud/">NetBox Cloud</a></strong>!
88+
</p>
89+
4590
## Get Involved
4691

4792
* Follow [@NetBoxOfficial](https://twitter.com/NetBoxOfficial) on Twitter!
4893
* Join the conversation on [the discussion forum](https://github.com/netbox-community/netbox/discussions) and [Slack](https://netdev.chat/)!
4994
* Already a power user? You can [suggest a feature](https://github.com/netbox-community/netbox/issues/new?assignees=&labels=type%3A+feature&template=feature_request.yaml) or [report a bug](https://github.com/netbox-community/netbox/issues/new?assignees=&labels=type%3A+bug&template=bug_report.yaml) on GitHub.
5095
* Contributions from the community are encouraged and appreciated! Check out our [contributing guide](CONTRIBUTING.md) to get started.
96+
* [Share your idea](https://plugin-ideas.netbox.dev/) for a new plugin, or [learn how to build one](https://github.com/netbox-community/netbox-plugin-tutorial) yourself!
5197

5298
## Project Stats
5399

54-
<div align="center">
100+
<p align="center">
55101
<a href="https://github.com/netbox-community/netbox/commits"><img src="https://images.repography.com/29023055/netbox-community/netbox/recent-activity/whQtEr_TGD9PhW1BPlhlEQ5jnrgQ0KJpm-LlGtpoGO0/3Kx_iWUSBRJ5-AI4QwJEJWrUDEz3KrX2lvh8aYE0WXY_timeline.svg" alt="Timeline graph"></a>
56102
<a href="https://github.com/netbox-community/netbox/issues"><img src="https://images.repography.com/29023055/netbox-community/netbox/recent-activity/whQtEr_TGD9PhW1BPlhlEQ5jnrgQ0KJpm-LlGtpoGO0/3Kx_iWUSBRJ5-AI4QwJEJWrUDEz3KrX2lvh8aYE0WXY_issues.svg" alt="Issues graph"></a>
57103
<a href="https://github.com/netbox-community/netbox/pulls"><img src="https://images.repography.com/29023055/netbox-community/netbox/recent-activity/whQtEr_TGD9PhW1BPlhlEQ5jnrgQ0KJpm-LlGtpoGO0/3Kx_iWUSBRJ5-AI4QwJEJWrUDEz3KrX2lvh8aYE0WXY_prs.svg" alt="Pull requests graph"></a>
58104
<a href="https://github.com/netbox-community/netbox/graphs/contributors"><img src="https://images.repography.com/29023055/netbox-community/netbox/recent-activity/whQtEr_TGD9PhW1BPlhlEQ5jnrgQ0KJpm-LlGtpoGO0/3Kx_iWUSBRJ5-AI4QwJEJWrUDEz3KrX2lvh8aYE0WXY_users.svg" alt="Top contributors"></a>
59105
<br />Stats via <a href="https://repography.com">Repography</a>
60-
</div>
61-
62-
## Sponsors
63-
64-
<div align="center">
65-
66-
[![NetBox Labs](https://raw.githubusercontent.com/wiki/netbox-community/netbox/images/sponsors/netbox_labs.png)](https://netboxlabs.com)
67-
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
68-
[![DigitalOcean](https://raw.githubusercontent.com/wiki/netbox-community/netbox/images/sponsors/digitalocean.png)](https://try.digitalocean.com/developer-cloud)
69-
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
70-
[![Sentry](https://raw.githubusercontent.com/wiki/netbox-community/netbox/images/sponsors/sentry.png)](https://sentry.io)
71-
<br />
72-
[![Equinix Metal](https://raw.githubusercontent.com/wiki/netbox-community/netbox/images/sponsors/equinix.png)](https://metal.equinix.com)
73-
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
74-
[![OneMind Services](https://raw.githubusercontent.com/wiki/netbox-community/netbox/images/sponsors/onemind_services.png)](https://onemindservices.com)
75-
76-
</div>
106+
</p>
77107

78108
## Screenshots
79109

80-
![Screenshot of main page (dark mode)](docs/media/screenshots/home-dark.png "Main page (dark mode)")
81-
82-
![Screenshot of rack elevation](docs/media/screenshots/rack.png "Rack elevation")
83-
84-
![Screenshot of prefixes hierarchy](docs/media/screenshots/prefixes-list.png "Prefixes hierarchy")
85-
86-
![Screenshot of cable trace](docs/media/screenshots/cable-trace.png "Cable tracing")
110+
<p align="center">
111+
<strong>NetBox Dashboard (Light Mode)</strong><br />
112+
<img src="docs/media/screenshots/home-light.png" width="600" alt="NetBox dashboard (light mode)" />
113+
</p>
114+
<p align="center">
115+
<strong>NetBox Dashboard (Dark Mode)</strong><br />
116+
<img src="docs/media/screenshots/home-dark.png" width="600" alt="NetBox dashboard (dark mode)" />
117+
</p>
118+
<p align="center">
119+
<strong>Prefixes List</strong><br />
120+
<img src="docs/media/screenshots/prefixes-list.png" width="600" alt="Prefixes list" />
121+
</p>
122+
<p align="center">
123+
<strong>Rack View</strong><br />
124+
<img src="docs/media/screenshots/rack.png" width="600" alt="Rack view" />
125+
</p>
126+
<p align="center">
127+
<strong>Cable Trace</strong><br />
128+
<img src="docs/media/screenshots/cable-trace.png" width="600" alt="Cable trace" />
129+
</p>

docs/administration/authentication/microsoft-azure-ad.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ You should be redirected to Microsoft's authentication portal. Enter the usernam
7373

7474
If successful, you will be redirected back to the NetBox UI, and will be logged in as the AD user. You can verify this by navigating to your profile (using the button at top right).
7575

76-
This user account has been replicated locally to NetBox, and can now be assigned groups and permissions within the NetBox admin UI.
76+
This user account has been replicated locally to NetBox, and can now be assigned groups and permissions by navigating to Admin > Permissions.
7777

7878
## Troubleshooting
7979

docs/administration/authentication/okta.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,4 +67,4 @@ You should be redirected to Okta's authentication portal. Enter the username/ema
6767

6868
If successful, you will be redirected back to the NetBox UI, and will be logged in as the Okta user. You can verify this by navigating to your profile (using the button at top right).
6969

70-
This user account has been replicated locally to NetBox, and can now be assigned groups and permissions within the NetBox admin UI.
70+
This user account has been replicated locally to NetBox, and can now be assigned groups and permissions by navigating to Admin > Permissions.

docs/administration/authentication/overview.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
## Local Authentication
44

5-
Local user accounts and groups can be created in NetBox under the "Authentication and Authorization" section of the administrative user interface. This interface is available only to users with the "staff" permission enabled.
5+
Local user accounts and groups can be created in NetBox under the "Authentication" section in the "Admin" menu. This section is available only to users with the "staff" permission enabled.
66

7-
At a minimum, each user account must have a username and password set. User accounts may also denote a first name, last name, and email address. [Permissions](../permissions.md) may also be assigned to users and/or groups within the admin UI.
7+
At a minimum, each user account must have a username and password set. User accounts may also denote a first name, last name, and email address. [Permissions](../permissions.md) may also be assigned to users and/or groups under Admin > Permissions.
88

99
## Remote Authentication
1010

docs/configuration/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,4 +46,4 @@ The configuration file may be modified at any time. However, the WSGI service (e
4646
$ sudo systemctl restart netbox
4747
```
4848

49-
Configuration parameters which are set via the admin UI (those listed under "dynamic settings") take effect immediately.
49+
Dynamic configuration parameters (those which can be modified via the UI) take effect immediately.

docs/customization/custom-scripts.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -288,9 +288,9 @@ An IPv4 or IPv6 network with a mask. Returns a `netaddr.IPNetwork` object. Two a
288288
## Running Custom Scripts
289289

290290
!!! note
291-
To run a custom script, a user must be assigned via permissions for `Extras > Script`, `Extras > ScriptModule`, and `Core > ManagedFile` objects. They must also be assigned the `extras.run_script` permission. This is achieved by assigning the user (or group) a permission on the Script object and specifying the `run` action in the admin UI as shown below.
291+
To run a custom script, a user must be assigned permissions for `Extras > Script`, `Extras > Script Module`, and `Core > Managed File` objects. They must also be assigned the `extras.run_script` permission. This is achieved by assigning the user (or group) a permission on the Script object and specifying the `run` action in "Permissions" as shown below.
292292

293-
![Adding the run action to a permission](../media/admin_ui_run_permission.png)
293+
![Adding the run action to a permission](../media/run_permission.png)
294294

295295
### Via the Web UI
296296

docs/customization/reports.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -132,9 +132,9 @@ Once you have created a report, it will appear in the reports list. Initially, r
132132
## Running Reports
133133

134134
!!! note
135-
To run a report, a user must be assigned via permissions for `Extras > Report`, `Extras > ReportModule`, and `Core > ManagedFile` objects. They must also be assigned the `extras.run_report` permission. This is achieved by assigning the user (or group) a permission on the Report object and specifying the `run` action in the admin UI as shown below.
135+
To run a report, a user must be assigned permissions for `Extras > Report`, `Extras > Report Module`, and `Core > Managed File` objects. They must also be assigned the `extras.run_report` permission. This is achieved by assigning the user (or group) a permission on the Report object and specifying the `run` action in "Permissions" as shown below.
136136

137-
![Adding the run action to a permission](../media/admin_ui_run_permission.png)
137+
![Adding the run action to a permission](../media/run_permission.png)
138138

139139
### Via the Web UI
140140

0 commit comments

Comments
 (0)