GitHub Hot Board

GitHub Hot Board · リポジトリアーカイブ

miaow2/netbox-config-diff

Find diff and push rendered device configurations from NetBox to devices and apply them. (説明はリポジトリ自身のドキュメント由来です。)

Python#automation#configuration-compliance#configuration-management

データ時点 November 2miaow2

最高順位

#210

見過ごされた宝石 · 活発なのに無名

100

累計スター

12

フォーク数

4

直近 30 日のランクイン日数

ライセンス: Apache-2.0最終 push: October 23未解決 Issue(PR 含む): 62026-10-25 から収集。不明 = 未収集

プロジェクト文書

NetBox version Supported Versions PyPI version Ruff License CI

NetBox Config Diff Plugin

NetBox plugin for Config Diff.

  • Find diff between the rendered configuration for a device to its actual configuration, retrieved from the device itself, or stored in DataSource.
  • Push the rendered configuration from NetBox to a device and apply it.

Documentation: https://miaow2.github.io/netbox-config-diff/

About

Collecting diffs

With this plugin you can find diff between the rendered configuration for a device to its actual configuration, retrieved from the device itself, or stored in DataSource. Read about DataSources for further details.

Device configuration renders natively in NetBox. This feature was introduced in 3.5 version. NetBox Labs blog post about it.

Plugin supports a wide list of vendors (Cisco, Juniper, Huawei, MicroTik etc.) with the help of Scrapli. Read Scrapli and scrapli-community documentations to find full list of vendors.

Pushing configuration

Also you can push rendered configuration from NetBox to device and apply it.

Supported platforms:

  • arista_eos
  • cisco_iosxe
  • cisco_iosxr
  • cisco_nxos
  • juniper_junos

This is possible thanks to the scrapli_cfg. Read Scrapli documentation for more info.

Compatibility

NetBox Version Plugin Version
3.5 =>0.1.0, <=2.5.0
3.6 =>0.1.0, <=2.6.0
3.7 =>0.1.0, <=2.8.0
4.0 =>2.6.0, <=2.9.0
4.1 =>2.7.0, <=2.12.0
4.2 =>2.9.0, <=2.12.0
4.3 =>2.10.0, <=2.12.0
4.4 =>2.11.0, <=2.13.0
4.5 =>2.14.0, <=2.16.0
4.6 =>2.15.0, <=2.16.0
4.7 =>2.16.0

Installing

For adding to a NetBox Docker setup see the general instructions for using netbox-docker with plugins.

Install with pip:

pip install netbox-config-diff

Add to local_requirements.txt:

echo netbox-config-diff >> local_requirements.txt

Enable the plugin in /opt/netbox/netbox/netbox/configuration.py, or if you use netbox-docker, your /configuration/plugins.py file, and define credentials for devices connection:

PLUGINS = [
    "netbox_config_diff",
]

PLUGINS_CONFIG = {
    "netbox_config_diff": {
        "USERNAME": "foo",
        "PASSWORD": "bar",
        "AUTH_SECONDARY": "foobar",  # define here password for accessing Privileged EXEC mode, this variable is optional
        "PATH_TO_SSH_CONFIG_FILE": "/home/.ssh/config",  # define here PATH to SSH config file, it will be used for device connections, this variable is optional
    },
}

Run database migrations:

python manage.py migrate

Collect static from the plugin:

python manage.py collectstatic --noinput

Restart NetBox service:

systemctl restart netbox netbox-rq

Usage

Read this doc about collecting diffs, for configuration management read this

Video

My presention about plugin at October NetBox community call (19.10.2023, plugin version 2.0.0).

October NetBox community call

Screenshots

Compliance finished with error

Screenshot of the compliance error

Render diff between configurations

Screenshot of diff

No diff

Screenshot of the compliance ok

Configuration request

Screenshot of the CR

Completed Configuration request

Screenshot of the completed CR

Credits

Based on the NetBox plugin tutorial:

This package was created with Cookiecutter and the netbox-community/cookiecutter-netbox-plugin project template.

現在のランクイン

  • 210

    見過ごされた宝石 · 活発なのに無名

    100 スター · 12 fork · 総スター数(昇順)

    過小評価 →

直近30日の推移

スター累計の推移

ランキング推移

日次スター増加

README にバッジを貼ろう · miaow2/netbox-config-diff[![README にバッジを貼ろう](https://git.vaiox.xyz/api/badge/miaow2/netbox-config-diff.svg)](https://git.vaiox.xyz/ja/repo/miaow2/netbox-config-diff)

Badge · 任何仓库都可以挂 —— 未上榜的仓库显示灰章,上完榜会自动点亮。

<a href="https://git.vaiox.xyz/ja/repo/miaow2/netbox-config-diff"><img src="https://git.vaiox.xyz/api/badge/miaow2/netbox-config-diff.svg" alt="README にバッジを貼ろう" height="20"></a>

← ランキングへ戻る

GitHub Hot Boardタイムマシン発見联系我们 · Contact