Ever since I discovered the Magic Ports port-mapping tool, I've had the idea of creating a solution where you simply provide a list of systems (ESXi, vCenter, Veeam Backup & Replication, Veeam Repository, etc.) and assign their roles. From that alone, the tool automatically generates both a graphical and textual representation of the relationships and TCP/IP communication between them. Those relationships are automatically scraped from the Veeam documentation and stored in a SQLite database.
I also created an interactive explorer that lets you navigate and better understand the relationships between the many Veeam roles.
Building on my previous experience generating Draw.io diagrams with Python, I started developing this tool. After overcoming quite a few setbacks, I finally decided to publish this proof of concept (PoC).
The project is still incomplete and currently supports only Veeam Backup & Replication v12, so it isn't fully up to date yet. However, I think it's mature enough to share with the community, gather feedback, and find out whether this idea is worth developing further.
I've published it on GitHub as a public mirror repository:
https://github.com/strangenewcoder/VeeamDesigner-public
The reason it's a mirror is simple: the history of my development repository is... let's just say it's something to be ashamed of. 😄 This is also my first real project using Git, so please be gentle. And my programming skills were definitely very rusty when I started.
If my programming skills are rusty, my writing skills are even worse!
I've also spent a considerable amount of time documenting the project. I believe the walkthrough contains enough information to understand how everything works and even recreate everything from scratch. That said, there's no need to repeat all the steps yourself—most of the heavy lifting has already been done.
That said... remember what I said about my writing skills. 😄 I think all the information is there, but writing good documentation is definitely outside my comfort zone. My recommendation is to start by exploring the sample Draw.io projects and the interactive relationship explorer, then look at one of the sample project (.md) files. That should give you a good feel for what the tool does before diving into the implementation details.
And if you get the impression that parts of the code or the documentation were written with AI... you're absolutely right. After not writing a single line of code for almost 25 years, there is simply no way I could have gone from that to learning Python and building a JavaScript frontend entirely on my own.
No way. 😄
P.S. Compared to some of the amazing tools I've seen shared in this community, this is just a toy. But I hope it's the kind of toy that can eventually grow into something genuinely useful.
P.P.S. I'm posting this almost in incognito mode. It's a personal project that I deliberately keep separate from my day job—probably just me being a little paranoid. 😄

