Commit Graph

55 Commits

Author SHA1 Message Date
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 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 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 3d49022f4a Update for foundation changes 2022-07-01 14:29:12 -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
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 eaa75d48c6 Initial support for distributed model via RAFT 2022-06-02 22:49:55 -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 e53a5e6fc5 Add pool metrics 2022-05-13 13:49:42 -04:00
Paul Lorenz a21fb393bb Add websocket API for mgmt channel 2022-04-19 10:34:57 -04:00
Paul Lorenz 7bd0f84832 Move profiler code to fabric since this is the only place it's used 2022-03-31 10:36:30 -04:00
Paul Lorenz ef7c69558b Copy db ops from edge to fabric (for eventual removal from edge). Add snapshot db agent op 2022-03-10 10:07:41 -05:00
Paul Lorenz 2b7db10913 Allow routers more control over link management (#318)
* Allow routers more control over link management
2022-03-07 12:22:17 -05:00
Paul Lorenz 3cfea85bf7 Update links to use channel library 2022-01-31 15:52:10 -05:00
Paul Lorenz 93ba2f460f Merge remote-tracking branch 'origin/main' into update-channel 2022-01-28 11:09:47 -05:00
Paul Lorenz 84ae5576e1 Update to use channel library 2022-01-27 16:46:21 -05:00
Andrew Martinez 08e658514a adds newListener and newAddress options for controller ip/hostname move
- ctrl section for fabric now supports newListener addresses, sent on
  router connect
- xweb bindPoints now support newAddress, sent as a header on every
  response
2022-01-27 10:17:53 -05:00
Paul Lorenz e781e3c713 Update control channel to new channel API 2022-01-19 08:15:33 -05:00
Paul Lorenz 52cfbbbe29 Add REST based management API 2021-11-30 13:57:35 -05:00
Paul Lorenz 6ba7264ff3 Do additional cert chain and verify links with controller 2021-11-12 15:36:05 -05:00
Paul Lorenz c5d2e481ae Add router ids to link metrics. Fixes openziti/fabric#275. Fix panic on router shutdown if router is stopped before ctrl channel is established 2021-11-10 12:45:54 -05:00
Andrew Martinez d305026980 exposes controller.Identity() to avoid re-parses 2021-10-19 09:38:14 -04:00
Andrew Martinez c6b54e8606 updates to new foundation version
- updated identity module
- centralizes identity references
- removes old parsing logic
2021-10-18 15:25:07 -04:00
Paul Lorenz 7233d18463 Remove HA terminator strategy since it's an incomplete solution 2021-09-13 09:51:51 -04:00
Paul Lorenz 58e159236d Use string id instead of identity where we don't need certs 2021-09-03 14:10:28 -04:00
Paul Lorenz c45e741bbd Add controller health check (#249)
* Add controller health check and make controller and router health checks consistent
2021-06-22 14:01:45 -04:00
Paul Lorenz 478d8c1e0b Remove eXtensible Terminator Validator framework (xtv) as it's now unused.
terminator validation can be done in custom control channel handlers instead
2021-04-29 12:45:07 -04:00
Paul Lorenz 14c632c862 Add events for router online/offline 2021-04-22 11:27:10 -04:00
Andrew Martinez deb46432e1 initial xweb implementation
- adds config structures
- adds server structures
- simplifies interfaces
- removed unused remnants
- refactor work
- adds doc
2021-04-14 13:19:39 -04:00
Paul Lorenz 31a587384a Add interval counts, per service, for dial success, timeout, fail, other 2021-03-10 13:15:55 -05:00
Paul Lorenz 2b283dcdce Cleanup go-routines on shutdown. Allow Xtrl instances to contribute trace decoders 2021-02-17 20:22:14 -05:00
Paul Lorenz 60f7439a33 Implement terminator events so external tools can better monitor service health (#148) 2021-01-12 11:39:03 -05:00
Paul Lorenz 685892b9b5 Add missing cpu profiling to controller (#138) 2020-10-16 16:31:42 -04:00
Paul Lorenz 57afb7cf01 Add metrics and usage implementations. Convert file reporter to use lumberjack 2020-10-09 11:00:25 -04:00
Mike Guthrie e5b61d9c57 Initial stab at session events 2020-10-08 19:26:20 -04:00
Paul Lorenz a7f8ca39f3 Add basic event registration framework 2020-10-08 19:26:09 -04:00
Andrew Martinez a1df84e913 fixes openziti/fabric#133
- Adds version header to outgoing controller hellos and incomming router
  hellos
2020-10-06 09:41:36 -04:00
Paul Lorenz 9f3182942e Add Xtensible Terminator Validation framework 2020-09-25 11:01:58 -04:00
Michael Quigley 10e6a7ef93 netfoundry/ziti-fabric -> openziti/fabric 2020-05-26 17:14:16 -04:00
Paul Lorenz b411831ef2 Move xt strategy init (#88)
* Strategies need to be initialized earlier or startup fails. Fix bug where costs were not getting set
2020-05-01 11:53:18 -04:00
Paul Lorenz 213b939e99 Integrate Xt at store level. Add migration code. (#85)
* Integrate Xt at store level. Add migration code.
2020-04-27 14:17:04 -04:00
Paul Lorenz c19f0dbbd4 Allow router to be shutdown for tests 2020-04-23 20:20:49 -04:00
Andrew M 11f1b477a5 updates for add.channel2.connect.options 2020-04-20 09:00:35 -04:00
Michael Quigley 2902c4942b Move the X... frameworks underneath controller/ or router/. 2020-03-20 13:57:59 -04:00