bl4ko / netbox-ssot

Microservice that synces objects from multiple sources into netbox and makes it automatic SSOT.
MIT License
23 stars 4 forks source link

Manufacturers and device types #142

Closed TaLoN1x closed 1 month ago

TaLoN1x commented 2 months ago

The manufacturers should use official taxonomy as per https://github.com/netbox-community/devicetype-library

Thus I do understand that different Tools and APIs might give different representations, maybe having a mathing table or simmilar?

i.e. Cisco Systems Inc. -> Cisco Fortinet. Inc. -> Fortinet Fortinet Inc. -> Fortinet HP -> HPE HP Enterprise -> HPE HP Inc. -> HPE and so on

bl4ko commented 2 months ago

Yes this is currently missing, but it is a main goal to include device type library in this microservice, because it will be also useful to fetch all data from library for physical devices (interfaces etc.).

The idea is to dynamically generate static code (golang map) with go generate. So on every build there will be map of all data created from devicetype-library, which we will be then able to use to enrich and standardize our values.

This approach though, takes some time to implement, but I will soon start to work on it.

TaLoN1x commented 2 months ago

sound like a good plan. P.S. I soon will create another issue related to deviced and virtual appliances that would impact plan you described a bit.

TaLoN1x commented 1 month ago

solution also should not create device templates on it's own if there is an existing template in the system or in the device-type library. Often there is more of valuable information such as weight, size, etc. that is essential for other functions like DCIM.

bl4ko commented 1 month ago

I will come with a plan in a few days and we can talk more about implementation...

bl4ko commented 1 month ago

Hello I have written generator which creates static device data map from devicetype-library. This data is then used to get correct slug for device types. Also other physical aspects for each device can be added easily in the future.

For manufacturer map, as you suggested I have created special serialize function.

Is this approach sufficient or you have imagined something else?

bl4ko commented 1 month ago

:tada: This issue has been resolved in version 1.2.0 :tada:

The release is available on GitHub release

Your semantic-release bot :package::rocket: