Commit Graph

27 Commits

Author SHA1 Message Date
Andrew Martinez 8c7b3b2e84 reduces prerms from admin to authenticated on list controllers
- updated public key sync to use controller list data instead of mesh peer
- fixes perms on controller list to not be admin only
2024-03-26 10:55:50 -04:00
Paul Lorenz 0085e92ad4 Update HA smoketest for HA changes 2024-03-18 16:38:29 -04:00
Paul Lorenz 8423a8dd6a Fix link management race conditions found by chaos testing. Fixes #1709 2024-01-29 17:23:51 -05:00
Paul Lorenz be11c8bf5b Ensure controller raft peers don't end up with duplicate connections. Fixes #1715 2024-01-29 17:13:04 -05:00
Paul Lorenz f3d67b7f49 Update fabric imports 2023-09-28 23:34:28 -04:00
Paul Lorenz 8c7a1e1ae6 Cluster connections need ALPN protocol when dialing. Fixes openziti/fabric#783 2023-09-01 13:51:11 -04:00
Paul Lorenz 8dbc759d45 move event and events packages to controller 2023-08-10 17:10:17 -04:00
Paul Lorenz 613245c4c4 Fix terminator sibling lookup. Fixes openziti/fabric#766 2023-08-09 11:40:40 -04:00
Andrew Martinez 2f46688763 adds server certs to raft mesh peer connections 2023-07-13 10:04:30 -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 7ed8aa1635 Add cluster events. Fixes openziti/fabric#584 2023-02-20 10:27:17 -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 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 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
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 374b74ea79 Support auto-migrate and agent initiated migration. Fixes openziti/fabric#569 2022-12-28 17:06:27 -05:00
Paul Lorenz 3e880f0428 Controller SPIFFE ids should have /controller/ in the path 2022-12-01 09:52:55 -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 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 77efd9a560 Wait for changes request from follow to be applied to follower before returning. Fixes openziti/fabric#481 2022-08-26 12:47:20 -04:00
Paul Lorenz e0f5092a08 Use one port for ctrl channel to router and controllers. Allow syncing existing DB to raft. Fixes #471. Fixes openziti/fabric#479. 2022-08-22 12:09:07 -04:00
Paul Lorenz 3d49022f4a Update for foundation changes 2022-07-01 14:29:12 -04:00
Paul Lorenz eaa75d48c6 Initial support for distributed model via RAFT 2022-06-02 22:49:55 -04:00