Commit graph

6626 commits

Author SHA1 Message Date
Grant Limberg
2a647d497a remove otel warning
Some checks are pending
/ build_macos (push) Waiting to run
/ build_windows (push) Waiting to run
/ build_ubuntu (push) Waiting to run
2025-09-02 16:25:16 -07:00
Grant Limberg
70f9fe0412 update central controller readme with config block 2025-09-02 14:15:28 -07:00
Grant Limberg
0753556aa3 wire up configuration.
New config block in local.conf for controllers:

```
{
  "settings": {
    ...standard zt1 local.conf settings...
  },
  "controller": {
    "listenMode": (pgsql|redis|pubsub),
    "statusMode": (pgsql|redis|bigtable),
    "redis": {
      "hostname": ...,
      "port": 6379,
      "clusterMode": true
    },
    "pubsub": {
      "project_id": <gcp-project-id>
    },
    "bigtable": {
      "project_id": <gcp-project-id>,
      "instance_id": <bigtable-instance-id>,
      "table_id": <bigtable-table-id>
    }
  }
}
```
2025-09-02 14:06:24 -07:00
Grant Limberg
a5bd262b3a Wiring through initialization of the CentralDB version of the controller
Still need to do the actual configuration from local.conf
2025-09-02 13:30:08 -07:00
Grant Limberg
4ddb1fbe58 Create the pubsub topic if it doesn't exist
Some checks are pending
/ build_macos (push) Waiting to run
/ build_windows (push) Waiting to run
/ build_ubuntu (push) Waiting to run
2025-09-02 07:49:41 -07:00
Grant Limberg
195d5b47f0 Merge branch 'adam/1.16' into gl/ctl-pubsub
Some checks are pending
/ build_macos (push) Waiting to run
/ build_windows (push) Waiting to run
/ build_ubuntu (push) Waiting to run
2025-09-01 16:47:55 -07:00
Grant Limberg
496e69e666 add def for new style controllers 2025-09-01 15:29:27 -07:00
Grant Limberg
0f63783592 remove rust-based pubsub 2025-09-01 14:55:16 -07:00
Grant Limberg
db6e698245 rework the pubsub listener again so the subscription is set up on its own thread 2025-09-01 14:40:18 -07:00
Grant Limberg
b114896e7b PubSub to gcloud-cpp library for simplicity's sake 2025-09-01 14:25:15 -07:00
Grant Limberg
17b48d78cb Merge branch 'dev' into gl/ctl-pubsub
Some checks are pending
/ build_macos (push) Waiting to run
/ build_windows (push) Waiting to run
/ build_ubuntu (push) Waiting to run
2025-09-01 09:50:15 -07:00
Grant Limberg
e347f895b8 add sleep at end of online notificaiton loop 2025-09-01 09:44:39 -07:00
Grant Limberg
d119547a95 wire up status writers 2025-09-01 09:18:01 -07:00
Grant Limberg
85f23356a3 add a StatusWriter class hierarchy for writing member status updates
Some checks failed
/ build_macos (push) Has been cancelled
/ build_windows (push) Has been cancelled
/ build_ubuntu (push) Has been cancelled
* Postgres Direct
* Redis
* BigTable
2025-08-28 17:03:59 -07:00
Grant Limberg
3187c2ffce clang format change (not applied project-wide yet) 2025-08-28 17:00:06 -07:00
Grant Limberg
9bdd564bdc spacing
Some checks are pending
/ build_macos (push) Waiting to run
/ build_windows (push) Waiting to run
/ build_ubuntu (push) Waiting to run
2025-08-27 16:23:55 -07:00
Grant Limberg
7f3b15011e Update central controller build to use CMake + conda
Muuuuch easier to use external dependencies now

Also tried out conan and vcpkg.   Ran into dependency issues when solving for packages to install with conan.

vcpkg is just obtuse as all hell to install and not easy to integrate
2025-08-27 16:23:02 -07:00
Adam Ierymenko
bbba390e97 Windows build and version bump.
Some checks failed
/ build_macos (push) Has been cancelled
/ build_windows (push) Has been cancelled
/ build_ubuntu (push) Has been cancelled
2025-08-26 09:33:54 -07:00
Adam Ierymenko
ad044f9272 Windows build fixes.
Some checks are pending
/ build_macos (push) Waiting to run
/ build_windows (push) Waiting to run
/ build_ubuntu (push) Waiting to run
2025-08-25 17:07:27 -07:00
Grant Limberg
f8a4a5d6af rework protobuf messages
Some checks failed
/ build_macos (push) Has been cancelled
/ build_windows (push) Has been cancelled
/ build_ubuntu (push) Has been cancelled
PubSub allows us to do schema validation, however it only allows one top level message at a time.  Move other sub-message declarations under the main message declaration so that we can enable schema validation in the pubsub stream directly
2025-08-25 15:09:10 -07:00
Adam Ierymenko
5a62824049
Add -Iext/opentelemetry-cpp-api-only/include for BSD
Some checks are pending
/ build_macos (push) Waiting to run
/ build_windows (push) Waiting to run
/ build_ubuntu (push) Waiting to run
2025-08-25 14:16:56 -07:00
Adam Ierymenko
bfa4bd2584
Removing this, which was suggested by a linter, turns out to break things by breaking equality comparison. The NetworkConfig struct would have to be re-implemented in a more modern way to allow the compiler to properly generate comparison operators, which is not important right now. 2025-08-25 13:38:57 -07:00
Adam Ierymenko
1e62d69762
Do not compress frames -- also unrelated to bug. 2025-08-25 11:47:50 -07:00
Adam Ierymenko
bed6557a6d
Re-enable relaying checks, also not bug related but put back after we decided to punt removing moons. 2025-08-25 11:22:21 -07:00
Adam Ierymenko
0d3ed4769e
Merge branch 'dev' of github.com:/zerotier/ZeroTierOne into adam/1.16 2025-08-25 11:07:29 -07:00
Adam Ierymenko
bee3ea79f0
Minor thing, unrelated to bug but missing.
Some checks failed
/ build_macos (push) Has been cancelled
/ build_windows (push) Has been cancelled
/ build_ubuntu (push) Has been cancelled
2025-08-21 18:47:41 -04:00
Adam Ierymenko
ca4e35d52c
License stuff, version bump, CLI output.
Some checks are pending
/ build_macos (push) Waiting to run
/ build_windows (push) Waiting to run
/ build_ubuntu (push) Waiting to run
2025-08-21 11:01:52 -04:00
Adam Ierymenko
6623aa3a7d
License files. 2025-08-21 10:39:25 -04:00
Adam Ierymenko
67360aaeef
Bump Rust package versions due to dependabot alert and fix a few more makefile things for macOS. 2025-08-21 10:20:20 -04:00
Adam Ierymenko
3e21edb891
Remove a bunch of warnings by eliminating deprecated functions. 2025-08-21 10:06:56 -04:00
Adam Ierymenko
6e6fc9a704
Add conditional compilation of controller. 2025-08-21 09:55:08 -04:00
Grant Limberg
2833d0e4f4 make whether SSO is enabled a switchable config value
Some checks failed
/ build_macos (push) Has been cancelled
/ build_windows (push) Has been cancelled
/ build_ubuntu (push) Has been cancelled
2025-08-20 17:07:56 -07:00
Grant Limberg
95224379aa Refactor Redis & Posgres notification listeners into listener subclass in new CentralDB class
This allows us to interchangeably use different listeners (pgsql, redis, pubsub) depending on configuration values passed into the constructor.
2025-08-20 17:04:28 -07:00
Grant Limberg
86f402edb7
Merge pull request #2495 from zerotier/gl/cv1-os-arch
Some checks failed
/ build_macos (push) Has been cancelled
/ build_windows (push) Has been cancelled
/ build_ubuntu (push) Has been cancelled
hosted controller changes for cv1 os/arch reporting
2025-08-20 15:09:35 -07:00
Adam Ierymenko
6bf7b4d9ba
Merge branch 'adam/1.16' of github.com:/zerotier/ZeroTierOne into adam/1.16
Some checks are pending
/ build_macos (push) Waiting to run
/ build_windows (push) Waiting to run
/ build_ubuntu (push) Waiting to run
2025-08-20 17:27:03 -04:00
Adam Ierymenko
2f2f864aa8
Clear ifname buffer before copying into it. 2025-08-20 17:23:18 -04:00
Grant Limberg
ebe8fdb08e rename classes
Some checks are pending
/ build_macos (push) Waiting to run
/ build_windows (push) Waiting to run
/ build_ubuntu (push) Waiting to run
2025-08-20 10:07:13 -07:00
Grant Limberg
c479cba71a
Merge branch 'dev' into gl/cv1-os-arch 2025-08-20 09:38:09 -07:00
Grant Limberg
650fc0c74b Add C++ wrapper around pubsub listeners
Some checks failed
/ build_macos (push) Has been cancelled
/ build_windows (push) Has been cancelled
/ build_ubuntu (push) Has been cancelled
2025-08-15 16:53:58 -07:00
Grant Limberg
b90ad51723 more calling async from non-async changes
Some checks are pending
/ build_macos (push) Waiting to run
/ build_windows (push) Waiting to run
/ build_ubuntu (push) Waiting to run
2025-08-15 08:22:55 -07:00
Grant Limberg
4237830a97 revert default feature list once again
Some checks are pending
/ build_macos (push) Waiting to run
/ build_windows (push) Waiting to run
/ build_ubuntu (push) Waiting to run
2025-08-14 14:25:19 -07:00
Grant Limberg
4fab227c23 fix calling into async functions from non-async via the FFI 2025-08-14 14:20:34 -07:00
Grant Limberg
e4147f7b80 fix build script 2025-08-14 13:00:11 -07:00
Grant Limberg
d4ee95e445 feature cleanup 2025-08-14 12:51:22 -07:00
Grant Limberg
a842ad8b61 remove ztcontroller from default feature list 2025-08-14 12:43:42 -07:00
Grant Limberg
3a209e2930 expose change_handler to C via FFI 2025-08-14 12:43:00 -07:00
Grant Limberg
ccb0fa748f updates & tests.
Tests currently need to be run with --test-threads=1.  Seems like the instances of the pubsub emulator stomp on each other without that
2025-08-14 12:31:42 -07:00
Grant Limberg
bf8c9d0124 function naming cleanup.
match other things already written
2025-08-13 12:25:36 -07:00
Grant Limberg
0e94891e5b plumb through callbacks
Some checks are pending
/ build_macos (push) Waiting to run
/ build_windows (push) Waiting to run
/ build_ubuntu (push) Waiting to run
2025-08-13 12:17:03 -07:00
Grant Limberg
564d29e445 fix include
Some checks failed
/ build_macos (push) Has been cancelled
/ build_windows (push) Has been cancelled
/ build_ubuntu (push) Has been cancelled
2025-08-12 10:52:25 -07:00