Commit Graph

310 Commits

Author SHA1 Message Date
Paul Lorenz ca9db4a78c Add minimum cost delta for smart rerouting. Fixes openziti/fabric#552 2022-12-19 11:20:04 -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
Paul Lorenz c77160ba6d Fix patching tags on routers and services. Fixes openziti/fabric#499 2022-09-14 23:29:07 -04:00
Paul Lorenz 096e981959 Add remote addr to circuit events. Fixes openziti/fabric#459 2022-09-06 22:58:06 -04: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 4d05c59df0 Run gofmt -w -s 2022-08-22 14:17:43 -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 521c5d2be1 Fixes for command encoding and decoding 2022-08-11 11:24:23 -04:00
Paul Lorenz 40ef589193 Fixes panic when dialing service with terminator but none for instanceId. Fixes openziti/fabric#463 2022-08-04 21:42:01 -04:00
Paul Lorenz 0e07f211be Add flags to create/update commands. allows some lightweight logic specialization (eg priveleged vs non-priveleged updates) 2022-07-29 10:53:39 -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 7abe5d5605 Cleanup circuits for deleted routers. Fixes openziti/fabric#452 2022-07-18 15:03:35 -04:00
Paul Lorenz 3af3d447c3 Merge pull request openziti/fabric#451 from openziti/report-high-latency-on-hb-timeout
Report high latency on latency timeout. Use marker value of 88.888888…
2022-07-18 09:19:06 -04:00
Paul Lorenz 960dfe88f6 Report high latency on latency timeout. Use marker value of 88.888888888 seconds. Fixes openziti/fabric#443 2022-07-15 23:45:31 -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 57bd46b285 Fix misleading error message. Fixes openziti/fabric#446 2022-07-14 15:30:34 -04:00
Andrew Martinez f83637544b updated identity fixes server cert verification 2022-07-08 16:58:10 -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 630378121a Remove management channel 2022-06-29 16:07:10 -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
Cam Otts 45d49324c6 move terminator address to seperate field (#412)
* move terminator address to seperate field

* update circuit streaming to handle dedicated terminator address field

* Added circuit event terminator local address
2022-06-09 11:11:44 -05: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 6f867e34db uses generic version of cmap 2022-05-27 09:47:15 -04:00
Andrew Martinez c47f344066 move xweb out of fabric 2022-05-25 15:27:11 -04:00
Paul Lorenz 4dc6596e7a Fix pool metrics for xg/link dials. Fixes openziti/fabric#404 2022-05-20 10:31:43 -04:00
Paul Lorenz 84455c4530 Merge pull request openziti/fabric#401 from openziti/add-pool-metrics
Add pool metrics
2022-05-13 14:21:08 -04:00