[Question] Regarding ZeroTier Configuration Format for Self-Hosted Network Controller

Greetings ZeroTier Team,

I am a GSoC contributor working with OpenWISP, and I am currently focused on adding support for automating the setup of ZeroTier tunnels on OpenWRT based firmware. During the process of integrating the ZeroTier VPN backend into the netjsonconfig library, we encountered some uncertainties regarding the configuration format for the network when using a self-hosted ZeroTier controller.

While we are aware that the ZeroTier Service API can be used to manage the network controller, we are specifically interested in understanding how we can manage the network controller without relying on the API. In netjsonconfig, we generate configurations for VPN servers (e.g. OpenVPN and WireGuard), and we would like to know the specific configuration format for the self-hosted network controller when setting up a new ZeroTier network.

During my exploration, I discovered that the configuration files located in the /controller.d/network/ directory are in a straightforward JSON format. Surprisingly, I was able to perform CRUD operations on the network by directly manipulating these JSON files, without the need for the REST API.

Could you please provide clarification on the configuration format for a self-hosted network controller when creating/managing a new ZeroTier network? Is it exclusively in JSON format, or is there another format involved?

Thank you for your assistance.

Best regards,

The only documented & supported method of manipulating the controllers is via the REST API. We cannot guarantee that any other method you come up with works, or will continue to work.

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.