# NetBox Access Lists Plugin
A [Netbox](https://github.com/netbox-community/netbox) plugin for Access List management.
## Features
This plugin provides the following models:
- Access Lists
- Access List to Interface Assignment
- Access List Rules (abstract model basis for other rules)
- Access List Standard Rules
- Access List Extended Rules
## Origin
Based on the NetBox plugin tutorial by [jeremystretch](https://github.com/jeremystretch):
- [demo repository](https://github.com/netbox-community/netbox-plugin-demo)
- [tutorial](https://github.com/netbox-community/netbox-plugin-tutorial)
All credit should go to Jeremy. Thanks, Jeremy!
This project just looks to build on top of this framework and model presented.
## Contributing
This project is currently maintained jointly by:
- [Abhimanyu Saharan](https://github.com/abhi1693)
- [Ryan Merolle](https://github.com/ryanmerolle)
See the [CONTRIBUTING](CONTRIBUTING.md) for more information.
## Compatibility
Each Plugin Version listed below has been tested with its corresponding NetBox Version.
| NetBox Version | Plugin Version |
|:-------------------:|:--------------:|
| 4.1.x | 1.7.0 |
| >= 4.0.2 < 4.1.0 | 1.6.1 |
| 3.7.x | 1.5.0 |
| 3.6.x | 1.4.0 |
| 3.5.x | 1.3.0 |
| 3.4.x | 1.2.2 |
| 3.3.x | 1.1.0 |
| 3.2.x | 1.0.1 |
## Installing
For adding to a NetBox Docker setup see
[the general instructions for using netbox-docker with plugins](https://github.com/netbox-community/netbox-docker/wiki/Using-Netbox-Plugins).
You can install with pip:
```bash
pip install netbox-acls
```
or by adding to your `local_requirements.txt` or `plugin_requirements.txt` (netbox-docker):
```bash
netbox-acls
```
## Configuration
Enable the plugin in `/opt/netbox/netbox/netbox/configuration.py`,
or if you use netbox-docker, your `/configuration/plugins.py` file :
```python
PLUGINS = [
"netbox_acls"
]
PLUGINS_CONFIG = {
"netbox_acls": {
"top_level_menu": True # If set to True the plugin will add a top level menu item for the plugin. If set to False the plugin will add a menu item under the Plugins menu item. Default is set to True.
},
}
```
To add the required `netbox-acls` tables to your NetBox database, run the `migrate` manager subcommand in the NetBox virtual environment:
```
cd /opt/netbox
sudo ./venv/bin/python3 netbox/manage.py migrate
```
## Developing
### VSCode + Docker + Dev Containers
To develop this plugin further one can use the included .devcontainer configuration. This configuration creates a docker container which includes a fully working netbox installation. Currently it should work when using WSL 2. For this to work make sure you have Docker Desktop installed and the WSL 2 integrations activated.
1. In the WSL terminal, enter `code` to run Visual studio code.
2. Install the devcontainer extension "ms-vscode-remote.remote-containers"
3. Press Ctrl+Shift+P and use the "Dev Container: Clone Repository in Container Volume" function to clone this repository. This will take a while depending on your computer
4. If you'd like the netbox instance to be prepopulated with example data from [netbox-initializers](https://github.com/tobiasge/netbox-initializers) run `make initializers`
5. Start the netbox instance using `make all`
Your netbox instance will be served under 0.0.0.0:8000, so it should now be available under localhost:8000.
## Screenshots
Access List - List View
![Access List - List View](https://raw.githubusercontent.com/netbox-community/netbox-acls/release/docs/img/access_lists.png)
Access List (Type Extended) - Individual View
![Access List Type Extended - Individual View](https://raw.githubusercontent.com/netbox-community/netbox-acls/release/docs/img/access_list_type_extended.png)
Access List (Type Standard) - Individual View
![Access List Type Standard - Individual View](https://raw.githubusercontent.com/netbox-community/netbox-acls/release/docs/img/access_list_type_standard.png)
Extended Access List Rules - List View
![Extended Access List Rules - List View](https://raw.githubusercontent.com/netbox-community/netbox-acls/release/docs/img/acl_extended_rules.png)
Standard Access List Rules - List View
![Standard Access List Rules - List View](https://raw.githubusercontent.com/netbox-community/netbox-acls/release/docs/img/acl_standard_rules.png)
Access List Interface Assignments- List View
![Access List Interface Assignments- List View](https://raw.githubusercontent.com/netbox-community/netbox-acls/release/docs/img/acl_interface_assignments.png)
Host (device, virtual_chassis, virtual_machine) Access Lists - New Card
![Host Access Lists - New Card](https://raw.githubusercontent.com/netbox-community/netbox-acls/release/docs/img/acl_host_view.png)
Host Interface (vminterface interface) Access Lists - New Card
![Host Interface Access Lists - New Card](https://raw.githubusercontent.com/netbox-community/netbox-acls/release/docs/img/access_list_type_standard.png)
Raw data
{
"_id": null,
"home_page": "https://github.com/netbox-community/netbox-acls",
"name": "netbox-acls",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "netbox, netbox-plugin",
"author": null,
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/9c/14/6e28de7e39a2e73adafa2d687089aa698c4f1d2397976a2792899085077e/netbox_acls-1.7.0.tar.gz",
"platform": null,
"description": "# NetBox Access Lists Plugin\n\nA [Netbox](https://github.com/netbox-community/netbox) plugin for Access List management.\n\n## Features\n\nThis plugin provides the following models:\n\n- Access Lists\n- Access List to Interface Assignment\n- Access List Rules (abstract model basis for other rules)\n- Access List Standard Rules\n- Access List Extended Rules\n\n## Origin\n\nBased on the NetBox plugin tutorial by [jeremystretch](https://github.com/jeremystretch):\n\n- [demo repository](https://github.com/netbox-community/netbox-plugin-demo)\n- [tutorial](https://github.com/netbox-community/netbox-plugin-tutorial)\n\nAll credit should go to Jeremy. Thanks, Jeremy!\n\nThis project just looks to build on top of this framework and model presented.\n\n## Contributing\n\nThis project is currently maintained jointly by:\n\n- [Abhimanyu Saharan](https://github.com/abhi1693)\n- [Ryan Merolle](https://github.com/ryanmerolle)\n\nSee the [CONTRIBUTING](CONTRIBUTING.md) for more information.\n\n## Compatibility\n\nEach Plugin Version listed below has been tested with its corresponding NetBox Version.\n\n| NetBox Version | Plugin Version |\n|:-------------------:|:--------------:|\n| 4.1.x | 1.7.0 |\n| >= 4.0.2 < 4.1.0 | 1.6.1 |\n| 3.7.x | 1.5.0 |\n| 3.6.x | 1.4.0 |\n| 3.5.x | 1.3.0 |\n| 3.4.x | 1.2.2 |\n| 3.3.x | 1.1.0 |\n| 3.2.x | 1.0.1 |\n\n## Installing\n\nFor adding to a NetBox Docker setup see\n[the general instructions for using netbox-docker with plugins](https://github.com/netbox-community/netbox-docker/wiki/Using-Netbox-Plugins).\n\nYou can install with pip:\n\n```bash\npip install netbox-acls\n```\n\nor by adding to your `local_requirements.txt` or `plugin_requirements.txt` (netbox-docker):\n\n```bash\nnetbox-acls\n```\n\n## Configuration\n\nEnable the plugin in `/opt/netbox/netbox/netbox/configuration.py`,\n or if you use netbox-docker, your `/configuration/plugins.py` file :\n\n```python\nPLUGINS = [\n \"netbox_acls\"\n]\n\nPLUGINS_CONFIG = {\n \"netbox_acls\": {\n \"top_level_menu\": True # If set to True the plugin will add a top level menu item for the plugin. If set to False the plugin will add a menu item under the Plugins menu item. Default is set to True.\n },\n}\n```\n\nTo add the required `netbox-acls` tables to your NetBox database, run the `migrate` manager subcommand in the NetBox virtual environment:\n```\ncd /opt/netbox\nsudo ./venv/bin/python3 netbox/manage.py migrate\n```\n\n## Developing\n\n### VSCode + Docker + Dev Containers\n\nTo develop this plugin further one can use the included .devcontainer configuration. This configuration creates a docker container which includes a fully working netbox installation. Currently it should work when using WSL 2. For this to work make sure you have Docker Desktop installed and the WSL 2 integrations activated.\n\n1. In the WSL terminal, enter `code` to run Visual studio code.\n2. Install the devcontainer extension \"ms-vscode-remote.remote-containers\"\n3. Press Ctrl+Shift+P and use the \"Dev Container: Clone Repository in Container Volume\" function to clone this repository. This will take a while depending on your computer\n4. If you'd like the netbox instance to be prepopulated with example data from [netbox-initializers](https://github.com/tobiasge/netbox-initializers) run `make initializers`\n5. Start the netbox instance using `make all`\n\nYour netbox instance will be served under 0.0.0.0:8000, so it should now be available under localhost:8000.\n\n## Screenshots\n\nAccess List - List View\n![Access List - List View](https://raw.githubusercontent.com/netbox-community/netbox-acls/release/docs/img/access_lists.png)\n\nAccess List (Type Extended) - Individual View\n![Access List Type Extended - Individual View](https://raw.githubusercontent.com/netbox-community/netbox-acls/release/docs/img/access_list_type_extended.png)\n\nAccess List (Type Standard) - Individual View\n![Access List Type Standard - Individual View](https://raw.githubusercontent.com/netbox-community/netbox-acls/release/docs/img/access_list_type_standard.png)\n\nExtended Access List Rules - List View\n![Extended Access List Rules - List View](https://raw.githubusercontent.com/netbox-community/netbox-acls/release/docs/img/acl_extended_rules.png)\n\nStandard Access List Rules - List View\n![Standard Access List Rules - List View](https://raw.githubusercontent.com/netbox-community/netbox-acls/release/docs/img/acl_standard_rules.png)\n\nAccess List Interface Assignments- List View\n![Access List Interface Assignments- List View](https://raw.githubusercontent.com/netbox-community/netbox-acls/release/docs/img/acl_interface_assignments.png)\n\nHost (device, virtual_chassis, virtual_machine) Access Lists - New Card\n![Host Access Lists - New Card](https://raw.githubusercontent.com/netbox-community/netbox-acls/release/docs/img/acl_host_view.png)\n\nHost Interface (vminterface interface) Access Lists - New Card\n![Host Interface Access Lists - New Card](https://raw.githubusercontent.com/netbox-community/netbox-acls/release/docs/img/access_list_type_standard.png)\n",
"bugtrack_url": null,
"license": "Apache 2.0",
"summary": "A NetBox plugin for Access List management",
"version": "1.7.0",
"project_urls": {
"Homepage": "https://github.com/netbox-community/netbox-acls",
"Issues": "https://github.com/netbox-community/netbox-acls/issues",
"Source": "https://github.com/netbox-community/netbox-acls"
},
"split_keywords": [
"netbox",
" netbox-plugin"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "f54c03d2f81c51cdbef0e6c5cc9cb82a4ae9f8a2caeb3c3cbe14b65ee4012e79",
"md5": "05df397f37d9f7264bad303dadfe30c8",
"sha256": "13fab08c04b49defa3318f1978d700b63cc42be8983275a89ba0114df6019989"
},
"downloads": -1,
"filename": "netbox_acls-1.7.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "05df397f37d9f7264bad303dadfe30c8",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 41880,
"upload_time": "2024-10-10T20:37:31",
"upload_time_iso_8601": "2024-10-10T20:37:31.080530Z",
"url": "https://files.pythonhosted.org/packages/f5/4c/03d2f81c51cdbef0e6c5cc9cb82a4ae9f8a2caeb3c3cbe14b65ee4012e79/netbox_acls-1.7.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9c146e28de7e39a2e73adafa2d687089aa698c4f1d2397976a2792899085077e",
"md5": "28e584a285fbe788401af42424850e6f",
"sha256": "92523952444c6bacda89397012dfabbbea13c022d70bc8b9b190ebabbe88fc26"
},
"downloads": -1,
"filename": "netbox_acls-1.7.0.tar.gz",
"has_sig": false,
"md5_digest": "28e584a285fbe788401af42424850e6f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 30972,
"upload_time": "2024-10-10T20:37:32",
"upload_time_iso_8601": "2024-10-10T20:37:32.519349Z",
"url": "https://files.pythonhosted.org/packages/9c/14/6e28de7e39a2e73adafa2d687089aa698c4f1d2397976a2792899085077e/netbox_acls-1.7.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-10 20:37:32",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "netbox-community",
"github_project": "netbox-acls",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "netbox-acls"
}