Commit Graph

345 Commits

Author SHA1 Message Date
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
Paul Lorenz f2e2471548 Wait for cluster to elect leader. Don't require local node to be leader 2022-12-29 14:07:23 -05:00
Paul Lorenz 70434cd102 Move advertise addr to ctrl:options. Fixes openziti/fabric#571 2022-12-29 09:38:39 -05:00
Paul Lorenz 374b74ea79 Support auto-migrate and agent initiated migration. Fixes openziti/fabric#569 2022-12-28 17:06:27 -05:00
Paul Lorenz b63f14618f Change controller db name. Fix debug log output 2022-12-23 10:11:01 -05:00
Paul Lorenz 14900a491b Merge pull request openziti/fabric#564 from openziti/stream-events
Support streaming all events to websocket. Remove stream metrics and …
2022-12-20 09:39:34 -05:00
Paul Lorenz 26f5af9d47 Support streaming all events to websocket. Remove stream metrics and cicuits. Fixes openziti/fabric#563 2022-12-20 09:36:15 -05:00
Paul Lorenz e0c894dce9 Merge pull request openziti/fabric#557 from openziti/add-min-cost-delta
Add minimum cost delta for smart rerouting. Fixes openziti/fabric#552
2022-12-19 11:22:02 -05:00
Paul Lorenz ca9db4a78c Add minimum cost delta for smart rerouting. Fixes openziti/fabric#552 2022-12-19 11:20:04 -05:00
Paul Lorenz 1eac29740c Allow terminators to be marked as system entities. Fixes openziti/fabric#558 2022-12-16 13:11:45 -05:00
Paul Lorenz 7caa06c6a3 Add new usage type to metrics stream 2022-12-15 12:21:59 -05:00
Paul Lorenz c6ccfd0980 Update to latest hclog 2022-12-12 13:42:49 -05:00
Paul Lorenz 87b6c9c681 Support bootstrap members in the config file 2022-12-06 12:28:25 -05:00
Paul Lorenz 3e880f0428 Controller SPIFFE ids should have /controller/ in the path 2022-12-01 09:52:55 -05:00
Paul Lorenz 74de7e65ee update CODEOWNERS to sig-core and update MM notifications 2022-11-30 12:22:14 -05:00
Paul Lorenz 9905987b9e Various HA related fixes
* Router cert handling fix
* Always start with empty bolt db, so raft journal can be applied
  cleanly
* Allow looking up raft member ids, so you only need to provide addr
* Report metrics to all controllers. Fixes openziti/fabric#525
2022-11-11 14:08:12 -05:00
Paul Lorenz ec885daed5 Always use a new router instance for connected routers so we can ensure
disconnect handling applies to the right instance
2022-10-24 14:44:27 -04:00
Paul Lorenz 4a1f234839 Add linter and update deps 2022-10-10 13:29:40 -04:00
Paul Lorenz 02539e9e16 Support multiple control channels. Fixes openziti/fabric#469 2022-09-29 12:06:41 -04:00
Paul Lorenz 519574497e Update to channel v2 2022-09-26 17:00:34 -04:00
Cam Otts ddbe41aca2 Readonly lock (#504)
* initial work for adding readonly lock

* Added checks on peer adding/removing

* added tests around readonly checking and setting

* updated error and change atomic to not be a pointer
2022-09-26 13:53:55 -05:00
Paul Lorenz 9aa41409b3 Cleanup trace controller loop. Refactor for multiple control channels: openziti/fabric#469 2022-09-22 11:05:35 -04:00
Paul Lorenz aafa99ae6f Fix some linting issues. svcId -> serviceId 2022-09-15 17:34:44 -04:00
Paul Lorenz aa6124105d Update to usage v3. Adds circuit tags to usage. Fixes openziti/fabric#496 2022-09-15 17:34:33 -04:00