Commit Graph

368 Commits

Author SHA1 Message Date
Paul Lorenz f15b8bef23 Add some more config value validation and guardrails 2023-08-03 17:07:49 -04:00
Paul Lorenz 2ee9539f9c Move link calculation to routers. Fixes #692, fixes #749, fixes openziti/fabric#343 2023-08-03 17:07:48 -04:00
ekoby 185135dbcd add ability to use shared TLS listeners (#759)
* add ability to use shared TLS listeners

two protocols(for ALPN purposes) are defined:
- ziti-ctrl: control channel marker
- ziti-link: link channel marker
2023-07-14 09:28:00 -04:00
Andrew Martinez 2f46688763 adds server certs to raft mesh peer connections 2023-07-13 10:04:30 -04:00
Paul Lorenz 8149b69614 Add support for quiescing and dequiescing routers. Fixes openziti/fabric#538
Quiesce marks all terminators as failed and stores the previous state.
Dequiesce restores all terminators with failed state and stored previous
state to their previous state
2023-06-05 17:46:13 -04:00
Paul Lorenz 5c9a942fa5 Timeout is getting reported as conn refused instead of timeout. Fixes openziti/fabric#738 2023-06-05 16:17:29 -04:00
Paul Lorenz ef555a536e Notify controller of forward faults on links. Fixes #724. If reroute fails, circuit should be torn down. Fixes openziti/fabric#725 2023-05-25 15:05:28 -04:00
Paul Lorenz 9a7ff8191c Refactor bootstrap. Cleanup some error messages. Set ctrl check to initial fail state 2023-05-18 22:57:22 -04:00
Paul Lorenz 3793d6d2b7 Merge pull request openziti/fabric#705 from openziti/link-group-config
Add config support for link groups. Doesn't use group config yet.
2023-05-11 17:02:11 -04:00
Paul Lorenz bc9bac6f0d Add config support for link groups. Doesn't use group config yet. 2023-05-11 09:34:33 -04:00
Paul Lorenz 931f1ef8f1 improve cluster bootstrap 2023-05-09 12:09:00 -04:00
Paul Lorenz f16cf4709f Merge pull request openziti/fabric#687 from openziti/annotate-circuit-events
Annotate circuit events with circuit tags, similar to usage. Fixes openziti/fabric#684
2023-05-04 11:05:36 -04:00
Paul Lorenz a19a2ab2fe Annotate circuit events with circuit tags, similar to usage. Fixes openziti/fabric#684 2023-04-25 22:54:22 -04:00
Paul Lorenz 833529cb68 Change cluster and entity change events to camel case from snake case 2023-04-25 15:35:40 -04:00
Paul Lorenz 23110fccb2 Implement entity change events. Fixes openziti/fabric#562 2023-04-25 11:38:03 -04:00
Paul Lorenz f0b83d0010 Track raft index in Db. Let's us start without rerunning all cmds at startup. Fixes #677. Fixes openziti/fabric#582 2023-04-25 11:32:35 -04:00
Paul Lorenz bf76453ce8 Update to go 1.20 2023-04-25 11:32:34 -04:00
Paul Lorenz d1d0fe781b Update for storage API changes. 2023-04-25 11:32:33 -04:00
Paul Lorenz 9bb47428b7 Add network.run watchdog. Closes openziti/fabric#668 2023-04-11 17:11:27 -04:00
Paul Lorenz cc09f32c34 Implement batched terminator deletes 2023-03-28 13:18:59 -04:00
Paul Lorenz 32da1861ca Add router disable flag. Fixes openziti/fabric#651 2023-03-27 14:18:43 -04:00
gberl002 fbf01410e2 Reordering for 64 bit alignment 2023-03-14 14:54:15 -04:00
gberl002 40a57aadd3 Adding simple tests for checking 64 bit alignment of existing 64 bit values with atomic operations. 2023-03-14 14:47:42 -04:00
Paul Lorenz a7957d0e4a Fix concurrent map error. Fixes openziti/fabric#622 2023-03-02 11:09:13 -05:00
Michael Quigley cdb550892b externalize the interval age threshold 2023-03-01 14:04:05 -05:00
Michael Quigley 7e5340a298 use the already provided metrics report interval 2023-03-01 13:57:49 -05:00
Michael Quigley 98a311e5e3 Merge branch 'main' into usage_reporting_interval 2023-02-28 13:54:13 -05:00
Michael Quigley 53dcd24e26 tweaks for reporting interval 2023-02-28 11:56:39 -05:00
Paul Lorenz 820e6391a4 Add heartbeat config and controller peer heartbeats. Fixes openziti/fabric#507
Adds config to controller for heartbeat config
Add config to routers for heartbeat config
Adds configurable heartbeats to controller <-> controller connections
2023-02-28 09:47:53 -05:00
Paul Lorenz 3d6a9ec6d7 Merge pull request openziti/fabric#611 from openziti/add-cluster-events
Add cluster events
2023-02-20 10:34:02 -05:00
Paul Lorenz 7ed8aa1635 Add cluster events. Fixes openziti/fabric#584 2023-02-20 10:27:17 -05:00
Paul Lorenz d7446280ad Merge pull request openziti/fabric#609 from openziti/add-transfer-leadership
Add transfer-leadership command. Fixes openziti/fabric#599
2023-02-20 10:24:40 -05:00
Paul Lorenz 1379618165 Update inspect names from routers -> connected-routers and clusterconfig -> cluster-config 2023-02-17 13:39:40 -05:00
Paul Lorenz 82b3b8b742 Add transfer-leadership command. Fixes openziti/fabric#599 2023-02-17 12:55:10 -05:00
Paul Lorenz 6de811dc66 Ensure we use peer's advertise address. Fixes openziti/fabric#606 2023-02-17 10:46:59 -05:00
Paul Lorenz cf2ee0347a Support showing connected routers. Fixes openziti/fabric#598 2023-02-16 17:11:58 -05:00
Paul Lorenz abb0eb96fb Add more raft configuration options. Fixes openziti/fabric#597
Add more raft config knobs
Refactor peer handles to be consistent with other handlers
Allow inspect to work across controllers
Add config and clusterconfig inspect support
2023-02-15 23:47:57 -05:00
Paul Lorenz 9fdb4f445c Cleanup ctrl advertise address config loading 2023-02-10 09:57:31 -05:00
Paul Lorenz 52a8ba6a57 Miscellaneous raft related updates
Add initial cluster events.
Simplify ctrl <-> ctrl connection.
Fix version mismatch detection
2023-02-09 15:24:23 -05:00
Paul Lorenz 8f5b5b5c33 Compress snapshots with gzip for efficiency. Fixes openziti/fabric#583 2023-02-09 14:40:34 -05:00
Paul Lorenz 6a3e69950b Only update router controlelrs if running in raft cluster 2023-02-02 15:41:14 -05:00
Paul Lorenz 3a110eccc7 Add ability to report initiator local/remote addr. Add to circuit events. Fixes openziti/fabric#592 2023-01-24 16:16:53 -05:00
Paul Lorenz 345943b25e Merge pull request openziti/fabric#591 from openziti/consistent-service-metrics
Only track service metrics on current route attempts. Fixes openziti/fabric#588
2023-01-19 21:58:24 -05:00
Paul Lorenz 5635a51061 Only track service metrics on current route attempts. Fixes openziti/fabric#588 2023-01-19 11:21:31 -05:00
Paul Lorenz e02dde0cd7 Add duration to circuit updated/deleted events. Closes openziti/fabric#589 2023-01-19 11:16:47 -05:00
Cam Otts 1a6fb53271 Router controller updates (#537)
* progress on controller communication

* added yaml encoding/decoding

* move dispatch callbacks to be more consistent

* update unit tests

* small cleaups

* Add new datadir to unit tests

* fix linter

* Was able to use FSM hooks to get configuration updates to show raft state

* Send index to prevent older versions from being applied and added leader override

* pr comments and added/removed ctrl connections

* added error logging

* pr comments

* spelling and bad log newlines

* added delete from the toconnect map and added end case to the background connect

* reordered removal from map

* added mtx around access. Forgot that was changed to be unsopported.
2023-01-18 09:19:13 -06:00
Cam Otts c299a06669 Added raft leave and raft list members (#580)
* Added raft leave and raft list members

* reordered agent raft leave to only check address if is is not found

* instead of adding second raft ctrl, just cast the dispatcher
2023-01-12 10:18:13 -06:00
Paul Lorenz 482a4fd0fc Update enable/disable ctrl ch to allow specifying controller. Update to use channel ops. Fix openziti/fabric#508 2023-01-11 14:14:43 -05:00
Paul Lorenz b5bae84325 Fix some handler removal. Only propagate crud terminator events on leader by default. Fixes openziti/fabric#573 2023-01-04 09:53:36 -05:00
Paul Lorenz 6aa8649d07 Merge pull request openziti/fabric#570 from openziti/ha-migrations
Support auto-migrate and agent initiated migration. Fixes openziti/fabric#569
2022-12-29 14:24:31 -05:00