Paul Lorenz
b8f944326f
Ensure controller is initialized before raft. Fixes #2279
2024-08-01 14:14:55 -04:00
Paul Lorenz
77d27ca781
Enhance the router data model with config information, fixes #2010 Add subscription model to router data model, fixes #1990
2024-07-17 14:31:39 -04:00
Paul Lorenz
e0ca4fb188
Add read only status to cluster list. Fixes #2222
2024-07-12 14:34:30 -04:00
Paul Lorenz
895551a991
Change raft list REST property name from values to data to match rest of REST spec. Fixes #2191
2024-07-12 14:34:30 -04:00
Paul Lorenz
c3b43133d1
Merge fabric and controller model code. Fixes #2205
2024-07-09 16:11:01 -04:00
Paul Lorenz
97b9b44171
Spelling fixes from codespell
2024-05-28 13:44:54 -04:00
Paul Lorenz
8d11af3d97
Optimize network run loop. Fixes #1897
...
* When routers change (connect/disconnect), we re-check the mesh. We are passing in the routers to the channel and they can build up, which is unnecessary. We only need to signal once for all the routers that change since the last time we checked, that the mesh needs to be checked.
* We pass link changes through the run method, which is unnecessary since we pass it to a new goroutine. This inefficiency should be fixed.
* We're evaluating all faulted links for rerouting, even if they were still pending. Only reroute connected links.
* We're using time.After in each for loop, which can accumulate timers. Use a single Ticker instead.
2024-04-04 18:46:50 -04:00
Paul Lorenz
aaceb84a0f
Don't save old link statues in memory, the info is in link events. Fixes #1896
2024-04-04 18:18:35 -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
c4abcae949
Link management fixes. Fixes #1692 Fixes #1693
2024-01-19 17:33:21 -05:00
Paul Lorenz
4141668382
Cluster mode -> HA mode for consistency
2023-12-13 11:35:10 -05:00
Paul Lorenz
95f650d4b8
Add support adding/removing members and transferring leadership via REST API. Fixes #1544 and fixes #1543
2023-12-11 16:31:48 -05:00
Paul Lorenz
9ddd1b941d
Add service max idle time. Fixes #1496 . Add decomission router support. Fixes #1402
2023-12-08 12:48:56 -05:00
Paul Lorenz
16cf13ac08
Support filter/sort/page on circuits and links. Fixes #1547
2023-12-05 10:30:08 -05: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
a77817240c
Move REST code into controller
2023-08-16 12:39:59 -04:00
Paul Lorenz
f71db654eb
Move build and inspect packages to common
2023-08-10 19:45:23 -04:00
Paul Lorenz
8dbc759d45
move event and events packages to controller
2023-08-10 17:10:17 -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
Paul Lorenz
d1d0fe781b
Update for storage API changes.
2023-04-25 11:32:33 -04:00
Paul Lorenz
32da1861ca
Add router disable flag. Fixes openziti/fabric#651
2023-03-27 14:18:43 -04: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
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
Paul Lorenz
aafa99ae6f
Fix some linting issues. svcId -> serviceId
2022-09-15 17:34:44 -04:00
Paul Lorenz
c77160ba6d
Fix patching tags on routers and services. Fixes openziti/fabric#499
2022-09-14 23:29:07 -04:00
Paul Lorenz
4d05c59df0
Run gofmt -w -s
2022-08-22 14:17:43 -04:00
Paul Lorenz
858642bc38
Move UpdatedFields to fabric. Start moving model layer to generics
2022-07-27 11:33:24 -04:00
Paul Lorenz
98160bb8b0
Merge pull request openziti/fabric#448 from openziti/link-events
...
Refactor events subsystem. Add link events. Fixes openziti/fabric#415
2022-07-19 10:59:27 -04:00
Paul Lorenz
8f0150f242
Add host id to terminator. This will allow tracking usage to hosting entities. Fixes openziti/fabric#440
2022-07-15 23:13:01 -04:00
Paul Lorenz
77bce93e85
Refactor events subsystem. Add link events. Fixes openziti/fabric#415
...
Previously we often had two sets of events, one in the network
package, and then another in the events package. We now only
have one, in the events package. Events now have a public API,
with minimal deps. There's an implementation package which has
the dependencies. This allows the network package to generate
events, without have a circular dependency on the events
implementation package.
2022-07-15 18:31:52 -04:00
Paul Lorenz
70d37bf44a
Merge pull request openziti/fabric#430 from openziti/prevent-strange-loops
...
Prevent strange loops
2022-07-01 15:37:59 -04:00
Paul Lorenz
3d49022f4a
Update for foundation changes
2022-07-01 14:29:12 -04:00
Paul Lorenz
b281372757
Retry smart route on failure. Add circuit createdAt
2022-07-01 11:19:37 -04:00
Paul Lorenz
b26fcf8909
Fix copyright
2022-06-29 16:59:46 -04:00
Paul Lorenz
d3a5d5151f
Merge pull request openziti/fabric#425 from openziti/circuit-failed-events
...
Circuit failed events
2022-06-22 15:00:58 -04:00
Paul Lorenz
a731cd9aec
Circuit failed events and rename terminator identity -> instanceId
2022-06-22 14:34:32 -04:00
Tod
d8f5db8cf6
Prometheus format feedback ( #422 )
...
* Adding timestamps to prometheus bucket metrics
* Making Prometheus timestamps optional
2022-06-22 09:20:48 -04:00
Tod
1ccfa2f3dc
Adding Metrics API on '/metrics' ( #410 )
...
* Adding fabric `/metrics` API/binding to provide metrics in the prometheus text exposition format (https://prometheus.io/docs/instrumenting/exposition_formats/#text-based-format )
2022-06-09 11:17:00 -04:00
Andrew Martinez
660a4af582
upgrades xweb to v2.0.0
...
- xweb v2 uses different simpler names
- reduce xweb instances to a single instance in fabric
2022-06-06 10:19:44 -04:00
Paul Lorenz
a64c626cb4
Controller -> Manager for entity managers
2022-06-02 22:53:22 -04:00
Paul Lorenz
eaa75d48c6
Initial support for distributed model via RAFT
2022-06-02 22:49:55 -04:00
tburtchell
cf28ad7edc
Metrics via inspect ( #409 )
...
* Adding inspect handling for 'metrics'
* Adding prometheus metric event format
2022-05-31 16:03:04 -04:00
Andrew Martinez
c47f344066
move xweb out of fabric
2022-05-25 15:27:11 -04:00
Paul Lorenz
b3c120f389
Add link delete method. Set initial link latency costs high.
2022-05-09 11:46:00 -04:00
Paul Lorenz
8b871b09f2
Fix links list in circuit detail when listing circuits
2022-05-06 13:59:15 -04:00
Paul Lorenz
18539faf87
Add dest type to routing so we don't need to overload ids
2022-04-27 11:20:02 -04:00