666 Commits
Author SHA1 Message Date
Grant Limberg 4bcff9d3e3 Fix the sso template for errors returned by IdP
Template was looking for {{networkId}} but that hadn't been populated
yet in the case where the IdP returned an error. This caused the
template parsing to crash and return its own error, disguising the error
from the IdP
2026-06-22 09:47:24 -07:00
Grant Limberg c02c649cd3 more build updates.
removing openssl dependency (except on Linux where it's still necessary)
upgrade cpp-httplib
new cmake-presets
2026-06-15 18:51:24 -07:00
Grant Limberg 8ae153b44c Set thinkgs up for Windows in CMake
Also fixed a ZT_NONFREE issue
2026-06-15 16:22:17 -07:00
Grant Limberg f1c6a64035 build fix 2026-06-15 13:46:15 -07:00
Grant Limberg eec53a5866 Add handling sso networks for both CV1 & CV2 simultaneously 2026-06-02 14:54:55 -07:00
Grant Limberg 29f5464dbd Merge branch 'dev' into gl/ctl-pubsub 2026-05-28 08:49:48 -07:00
dimitriy-dade f87d5477f6 Merging 1.16.2 from Private to Public 2026-05-22 11:39:10 -04:00
Grant Limberg 23d395d781 change sso topic names for clarity 2026-04-30 09:41:24 -07:00
Grant Limberg 78b25f4ae2 update settings to enable SSO networks 2026-03-31 13:24:03 -07:00
Grant Limberg 2c57f85e25 add assigned_central_version column to controllers_ctl
Allow controllers to advertise which central version (cv1, cv2, or all)
they are assigned to handle via a new configurable field. The value is
persisted to the database on each heartbeat and validated at startup
against the DB CHECK constraint.
2026-03-17 16:30:25 -07:00
Grant Limberg a840b94e0d add SSO nonce/auth PubSub messaging with frontend routing
Publish CTL_NONCE_UPDATE to PubSub when nonces are created or reused in
getSSOAuthInfo(), with the network's frontend as a message attribute so
only the correct CV frontend receives it. Listen for ZT1_AUTH_UPDATE
messages and update sso_expiry.authentication_expiry_time accordingly,
with a network existence check before applying.

- Add sso_send_topic/sso_recv_topic to PubSubConfig
- Add PubSubWriter::publishSSONonceUpdate() with frontend param
- Add PubSubSSOListener class for inbound auth updates
- Rename CV1_AUTH_UPDATE to ZT1_AUTH_UPDATE in sso.proto
- Fix pre-existing connection pool leak in getSSOAuthInfo() catch block
2026-03-17 14:42:49 -07:00
Grant Limberg 68a96344ed Merge branch 'dev' into gl/ctl-pusub 2026-01-23 11:18:45 -08:00
Joseph Henry 4f6b9038f1 Disable debug logging for the HTTP API library
This just quiets things down a little since the HTTP library produces so much verbose text.
2025-12-01 14:32:11 -08:00
Joseph Henry 595a70c5ed Remove old multipathMode setting 2025-11-10 09:38:59 -08:00
Chris Spiegel 1d9f06d4ac Disable metrics by default 2025-11-06 05:18:26 -08:00
Chris Spiegel 48311896f8 Allow metrics to be disabled 2025-11-06 05:17:57 -08:00
Grant Limberg 5c27068b80 Enable cross-service propagation of otel trace metadata 2025-10-30 13:47:50 +01:00
Grant Limberg b92fb93f8f Merge branch 'dev' into gl/ctl-pubsub 2025-10-06 16:55:28 -07:00
Grant Limberg 6113bad61e make pubsub topics configurable
Also for pubsub trips back to CV1/CV2, rather than having 2 queues for each service (networks & members), theres now only a single queue for each change type, and `frontend = (cv1|cv2)` attribute is set on the message for filtering.
2025-09-18 09:33:04 -07:00
Adam Ierymenko a51029a503 Merge pull request #2489 from SwarmboticsAI/fix-link-select-cli
Fix link select field in bond CLI
2025-09-04 17:15:23 -04:00
Grant Limberg 2a647d497a remove otel warning 2025-09-02 16:25:16 -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 195d5b47f0 Merge branch 'adam/1.16' into gl/ctl-pubsub 2025-09-01 16:47: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