Commit graph

6573 commits

Author SHA1 Message Date
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
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
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
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
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
06b2ce9f30 WIP: pubsub wrapper in Rust
Some checks are pending
/ build_macos (push) Waiting to run
/ build_windows (push) Waiting to run
/ build_ubuntu (push) Waiting to run
2025-08-12 10:42:07 -07:00
Grant Limberg
f079f8bc82 cleanup warnings 2025-08-11 11:31:15 -07:00
Grant Limberg
837f15d01b tokio is needed by both temporal & gcloud pubsub, so make just one instance for the whole library, add init/shutdown functions for it exposed to C 2025-08-07 11:28:22 -07:00
Grant Limberg
4b3b847c7f fix windows bui ld 2025-08-05 16:38:57 -07:00
Grant Limberg
a55216310a
fix macos build 2025-08-05 16:18:21 -07:00
Grant Limberg
44d0e81572 gcloud-pubsub only if ztcontroller is flagged 2025-08-05 16:07:26 -07:00
Grant Limberg
f9500ca5ff fix dependencies when temporal isn't needed 2025-08-05 16:05:51 -07:00
Grant Limberg
e822811f29 reorganize rustybits into a single library with smeeclient behind the ztcontroller feature flag 2025-08-05 15:52:58 -07:00
Adam Ierymenko
a548c7ea71
Merge pull request #2482 from zerotier/otel
Some checks failed
/ build_macos (push) Has been cancelled
/ build_windows (push) Has been cancelled
/ build_ubuntu (push) Has been cancelled
Add OpenTelemetry support in Central Controllers
2025-08-04 12:35:05 -04:00
Lennon Day-Reynolds
969e8ff0ec
Merge pull request #2487 from zerotier/ldr/fix-windows-startup
Some checks failed
/ build_macos (push) Has been cancelled
/ build_windows (push) Has been cancelled
/ build_ubuntu (push) Has been cancelled
Windows installer fixes
2025-07-31 15:11:57 -07:00
Joseph Henry
a8ead37312
Merge pull request #2491 from zerotier/fix/standardize-linkSelectMethod-naming
fix: standardize bond link selection method JSON field naming
2025-07-29 10:29:30 -07:00
Aaron Johnson
ecec45697b fix: standardize bond link selection method JSON field naming
Adds support for "linkSelectMethod" as the JSON configuration field name
while maintaining backward compatibility with the legacy "activeReselect"
field name.

This change aligns the JSON field name with the internal API naming
convention (setLinkSelectMethod/getLinkSelectMethod) and follows the
established pattern in the codebase where JSON field names match their
corresponding setter method names.

The implementation:
- Checks for the new field name first, then falls back to the legacy name
- Emits a deprecation warning when "activeReselect" is used
- Ensures existing configurations continue to work without modification

Resolves terminology inconsistency identified in docs PR #263

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-28 10:32:40 -07:00
Lennon Day Reynolds
815c20c822 windows installer changes: add auto-startup shortcut for UI and auto-restart backend on failure 2025-07-17 15:22:30 -07:00
Grant Limberg
307c4ed4b6
network/member deletes work now
Some checks failed
/ build_macos (push) Has been cancelled
/ build_windows (push) Has been cancelled
/ build_ubuntu (push) Has been cancelled
2025-07-16 16:35:28 -07:00
Grant Limberg
14c0ccc94c trace attribs
Some checks are pending
/ build_macos (push) Waiting to run
/ build_windows (push) Waiting to run
/ build_ubuntu (push) Waiting to run
2025-07-16 13:12:00 -07:00
Grant Limberg
4aea588eef fixes for otel in non-controller build 2025-07-16 12:57:18 -07:00
Grant Limberg
4c4a360469 udno 2025-07-16 12:09:21 -07:00
Grant Limberg
a0253a0970 argh 2025-07-16 12:03:01 -07:00
Grant Limberg
7662ffb64a let's try saving things here 2025-07-16 11:55:21 -07:00
Grant Limberg
9375c48e33 one more addDB update 2025-07-16 11:16:06 -07:00
Grant Limberg
5494c44a30 let's try this 2025-07-16 11:13:53 -07:00
Grant Limberg
3f19712178
inheritence mess cleanup 2025-07-16 10:40:29 -07:00
Grant Limberg
4a15671e84
Merge branch 'dev' into otel 2025-07-16 10:12:54 -07:00
Grant Limberg
51b2f284f0 call DB::eraseNetwork when it should be
One of those i'm not sure how this ever worked situations
2025-07-16 09:05:54 -07:00
Lennon Day-Reynolds
67c2336176
Merge pull request #2486 from zerotier/ldr/fix-validate-action
Some checks failed
/ build_macos (push) Has been cancelled
/ build_windows (push) Has been cancelled
/ build_ubuntu (push) Has been cancelled
add 'apt update' to validation action
2025-07-15 14:32:12 -07:00
Lennon Day Reynolds
6667c57e89 add 'apt update' to validation action, as prior runs have started failing due to a stale package cache 2025-07-15 13:59:18 -07:00
Grant Limberg
4edeacd1f0 end cv1 spans before sleeps
Some checks are pending
/ build_macos (push) Waiting to run
/ build_windows (push) Waiting to run
/ build_ubuntu (push) Waiting to run
2025-07-15 12:11:10 -07:00
Grant Limberg
01bd4373b6 one more span change to end before a sleep 2025-07-15 11:26:02 -07:00
Grant Limberg
2db20f0a6c move another span outside of a sleep 2025-07-15 11:12:14 -07:00
Grant Limberg
7934fef84c end spans before thread waits
also removed some spans from the networks/members db watcher.  Those will be 5 seconds long no matter what, and the underlying processes already have their own spans
2025-07-15 11:10:19 -07:00
Grant Limberg
4b6ff77fea nevermind. Just use OTEL_SERVICE_NAME 2025-07-15 10:35:27 -07:00