nautobot / nautobot-app-golden-config

Golden Configuration App for Nautobot.
https://docs.nautobot.com/projects/golden-config/en/latest/
Other
100 stars 57 forks source link

Provide API/GraphQL endpoint to return a boolean for status of overall diff (Compliance Details) #678

Open gneville-ot opened 11 months ago

gneville-ot commented 11 months ago

Environment

Proposed Functionality

Use Case

Within the UI if a device's backup config doesn't match the intended config then a notebook icon appears for the device within the "Config Overview" page. This is rather useful as it can pickup differences that you haven't defined as individual features within the plugin, so this is a way of picking up config lines that aren't being checked or should just not be present on the device. The challenge with using the features is you have to know everything you're looking for, including things that may not even be in the intended config before you know if the device is fully compliant, whereas this "Compliance Details" picks up those differences as it is just comparing two files.

It would be useful to have an API/GraphQL endpoint to return a boolean if a device has a diff between the backup and intended config (overall, not per feature).

itdependsnetworks commented 11 months ago

Seems like a reasonable request. One thing to note:

Within the UI if a device's backup config doesn't match the intended config then a notebook icon appears for the device within the "Config Overview" page.

This is not entirely accurate, it shows when both backup and intended are found, regardless if compliant or not.

gneville-ot commented 11 months ago

Cool 👍

Within the UI if a device's backup config doesn't match the intended config then a notebook icon appears for the device within the "Config Overview" page.

This is not entirely accurate, it shows when both backup and intended are found, regardless if compliant or not.

This hasn't been my experience, in a small PoC I've put together today I have 2 devices both with backup files and intended files in two different git repos. One device fully matches between the two, the other has differences, only the device with the differences shows a notebook icon in the rows.