ZeroTierOne icon indicating copy to clipboard operation
ZeroTierOne copied to clipboard

Add PubSub and BigTable support for Central hosted network controllers

Open glimberg opened this issue 3 months ago • 4 comments

This is a big one that goes along with other internal upcoming changes.

  • Refactors existing Redis & Postgres NOTIFY message passing systems into the NotificationListener interface, and adds a 3rd method for message passing via GCP PubSub. Which one to use is configurable by local.conf controller settings
  • Adds GCP BigTable as a 3rd option for writing member status updates along side Postgres and Redis. Also configurable via local.conf
  • Set up CMake for building Central controllers. This can (and hopefully will) be extended for general builds of ZeroTier One in the future. More work will be needed to finish all that out however.
  • Use miniconda + CMake for external dependency management instead of dumping everything in ext/. This is likely more useful for Central controller builds than end user builds for the time being.

glimberg avatar Oct 06 '25 23:10 glimberg

@glimberg I'm only just noticing this. Do you still want it merged in? I see it is still a draft.

joseph-henry avatar Nov 06 '25 17:11 joseph-henry

Eventually yes. Just making sure everything is stable over in the new environment before doing so

glimberg avatar Nov 06 '25 17:11 glimberg

@joseph-henry ready for your review. I know this is a huge one. Don't hesitate to reach out if you have any questions

glimberg avatar Nov 12 '25 02:11 glimberg

OK not sure why the github action is failing now but I'll look at it tomorrow

glimberg avatar Nov 12 '25 03:11 glimberg