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