Commit Graph

53 Commits

Author SHA1 Message Date
Paul Lorenz 0383bc63f1 Raft should not initialize if db is misconfigured. Fixes #1973 2024-04-24 08:04:17 -04:00
Paul Lorenz ac7c4848c5 Don't use EdgeSessionRemoved tracking for HA sessions. Fixes #1936 2024-04-12 13:48:34 -04:00
Paul Lorenz 8f4f9944f5 Add TLS handshake rate limiter. Fixes #1904 2024-04-09 17:25:35 -04:00
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 fab81e4cd4 Add terminator chaos testing and fix issues found. Fixes #1794 Fixes #1369 2024-03-12 10:31:36 -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
Mario Trangoni 126ee5d79c codespell: Add spelling check and fix all issues
Signed-off-by: Mario Trangoni <mjtrangoni@gmail.com>
2023-12-19 10:52:42 +01:00
Paul Lorenz ef8c767ceb Merge pull request #1538 from openziti/improve-cluster-list-output
Fix cluster list connected status and improve version output. Fixes #1525
2023-11-28 09:44:41 -05:00
Paul Lorenz fc671cb50e Retry bootstrap members until bootstrapped. Fixes #1523 2023-11-27 16:43:43 -05:00
Paul Lorenz cef2bfb567 Fix cluster list connected status and improve version output. Fixes #1525 2023-11-27 16:40:48 -05:00
Paul Lorenz f40b8f6aba Fix rate limiter raft panic. Fixes #1494 2023-11-02 09:05:35 -04:00
Andrew Martinez c0e10d3609 appeases linter 2023-10-25 11:27:58 -04:00
Andrew Martinez a9d6d476d5 makes index tracker tests more timing friendly
- adds fresh fixtures for each test
- calls out the intent of each test
2023-10-25 11:00:58 -04:00
Paul Lorenz 9bed8a14a8 Add optional command rate limiter. Fixes #1445 2023-10-23 13:45:49 -04:00
Paul Lorenz f3d67b7f49 Update fabric imports 2023-09-28 23:34:28 -04:00
Paul Lorenz bed7b0eb02 Allow specifying snapshot name with templating. Fixes #794 Fixes openziti/fabric#792 2023-09-18 15:19:23 -04:00
Paul Lorenz 1fc0d2c280 Fix FieldError parsing. Fixes openziti/fabric#791 2023-09-05 23:27:32 -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 8cc424183c Do some HA config tidying 2023-08-22 20:36:29 -04:00
Paul Lorenz cdfd037da9 Move protobuf definitions to common 2023-08-10 19:38:48 -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 9a7ff8191c Refactor bootstrap. Cleanup some error messages. Set ctrl check to initial fail state 2023-05-18 22:57:22 -04:00
Paul Lorenz 931f1ef8f1 improve cluster bootstrap 2023-05-09 12:09:00 -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 d1d0fe781b Update for storage API changes. 2023-04-25 11:32:33 -04:00
Paul Lorenz 7ed8aa1635 Add cluster events. Fixes openziti/fabric#584 2023-02-20 10:27:17 -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 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
Paul Lorenz 8f5b5b5c33 Compress snapshots with gzip for efficiency. Fixes openziti/fabric#583 2023-02-09 14:40:34 -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 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 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 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 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