miaow2 / netbox-config-diff

Find diff and push rendered device configurations from NetBox to devices and apply them.

Home Page:https://miaow2.github.io/netbox-config-diff/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Use netbox 'DataSource' as source for the existing configs

PieterL75 opened this issue · comments

It would be nice if we could choose between 'getting them direct from the device' or 'load from DataSource.
The login to the devices is not always just one username/password, and that makes the current implementation not flexible.

There are a dozen other tools out there that can pull the configs of devices and store them in a repo.
In my case, I have a rancid running that pulls the config (the authentication schema can be easily set per device/group) and store them in a git repo. That repo is then synced to netbox using the DataSources.

that makes the configs available for other plugins and custom scripts too

Hi @PieterL75 thanks for opening the issue.
Do you speak about ConfigDiffScript or configuration requests?
in ConfigDiffScript you can define a data source for a source of configs

Isn't the ConfigDiffScript ran by the plugin ? I would not run it myself.

How I see it, is that in the 'Platform Settings' you have to define the command to get the config from the device.
Would it make sense to use a datasource there in stead of an ssh to a device ?

ConfigDiffScript should be run or scheduled only by user, plugin only adds script to netbox during installation, plugin does not run script without user command.
And the user should define connect to devices or use data source, why this is added to the script, in script you control how to get devices configs

PlatformSetting is needed for storing info about ssh connection, also here you can define regexps, with this regexps you can ignore parts of actual config and compare sections you only need.

if you want to find diff between rendered config in netbox and config backups in data source:

  • define PlatfromSettings (you can define incorrect driver and show command if you will not use ssh)
  • run script with devices and data source defined (script will find config backup by device name)
  • check the results in config compliances