Commit Graph

86 Commits

Author SHA1 Message Date
Andrew Martinez a46a10d9eb use new github.com/openziti/edge-api repository
- fixes import statements
2023-01-24 16:03:20 -05:00
Andrew Martinez 69c31fcf3e uses github.com/openziti/edge-api
- removes old api specific scripts, generated files, etc
2023-01-24 14:45:24 -05:00
Paul Lorenz 2509f9b575 update CODEOWNERS to sig-core and update MM notifications 2022-11-30 14:34:10 -05:00
Paul Lorenz 63c161224a Add linter and fix issues found by linter 2022-10-10 16:56:51 -04:00
Paul Lorenz 32c197e5e1 Update to channel v2 2022-09-26 18:20:00 -04:00
Paul Lorenz db5c73b33b Refactor edge events to follow model established in fabric 2022-09-16 12:47:46 -04:00
Paul Lorenz 0b8a65207a Change bootstrap check. Add hooks for isRaftEnabled 2022-08-22 12:14:40 -04:00
Paul Lorenz 1fb3339bb1 Update for changes to fabric events model 2022-07-19 11:18:08 -04:00
Paul Lorenz bae7e40b61 Update for foundation changes 2022-07-01 15:55:30 -04:00
Paul Lorenz 12df770d04 Update copyright 2022-06-30 17:45:08 -04:00
Andrew Martinez 0014b39f7e update xweb to v2 2022-06-06 14:33:42 -04:00
Paul Lorenz 2f6a3bc828 Update handler -> manager for base types and config 2022-06-02 00:05:54 -04:00
Paul Lorenz 7cf9dc135d Initial support for raft and command style architecture 2022-06-01 23:52:07 -04:00
Andrew Martinez 7381423974 use cmap generics, update fabric 2022-05-27 11:02:51 -04:00
Andrew Martinez 47b210c67b updates fabric w/ xweb moved out 2022-05-26 11:27:09 -04:00
Andrew Martinez c5f156dd9e adds x509 claims support for external ids to CAs
- adds REST API CA external id field
- adds rest api for external fields
- refactors authentication interfaces for federation
- alters authentication moduels to return AuthResult interfaces
- allows AuthResults to provide external x509 certs as session certs
2022-05-23 13:08:16 -04:00
Paul Lorenz 0243212f83 Use ZitiSession const from golang sdk instead of foundation (so we can remove it from foundation) 2022-05-02 17:20:03 -04:00
Andrew Martinez 5b17be58c8 fixes admin permission not also checking default admin 2022-04-08 10:43:24 -04:00
Paul Lorenz 01bea19e1f Update to use transport and storage libs. Use fabric config instead of foundation/config 2022-03-30 22:49:46 -04:00
Andrew Martinez 5129f3c8d7 adds partial authentication enforcement
- required ext jwt signer requires bearer token on requests
- adds auth query output for ext jwt
- enforces requireTotp auth policy
- allows partial auth to setup MFA but not remove
2022-03-30 10:10:52 -04:00
Andrew Martinez 1f784d89ce adds asynchronous eventer to controller
- emits events for processing progress/state for metric instrumentation
- emits events for eventual event backlog state for metrics
- alters Trigger() to return a channel that can be waited upon
- adds ability to add eventual events within a specific bbolt
  transaction
- splits session lookup and delete into view/update transactions
- add eventual event gauge
- use CascadeCreateUpdate
- adds named functions
- documentation for 500us timeout
- grammar fixes
2022-01-18 14:19:36 -05:00
Andrew Martinez 4be50ea143 adds zero start time check 2022-01-17 10:24:00 -05:00
Andrew Martinez 050b0b086e moves metric endpoint logging lower in the stack
- endpoint url/path -> name remains the same
- start timing on request context before we start processing
- log metrics in IsAllowed which is called by all endpoint after routing
- logging before routing to a handler would log all probe attacks
2022-01-17 10:12:59 -05:00
Paul Lorenz 7b1ee2893d Add identity refresh meter 2022-01-06 13:45:18 -05:00
Paul Lorenz bfcb037783 Initial pass at fabric rest api working (#838)
* Update for fabric rest controller changes
2021-11-30 16:30:17 -05:00
Andrew Martinez 6612ad9c14 fix startup timing issues 2021-10-19 10:58:59 -04:00
Andrew Martinez 6b80d444a0 remove old dgrijalva jwt ref 2021-10-01 11:17:00 -04:00
Andrew Martinez 4cac5518e9 ensure that lastAccessedAt is set on create, emit logs if not found 2021-09-02 08:57:14 -04:00
Paul Lorenz fa902f385d Add entity count events. Fixes GH-757 2021-08-19 14:18:30 -04:00
Paul Lorenz 23c98c2d5a Add more tracing and allow enabling debug for specific identities for path selection/establishment 2021-08-09 11:20:51 -04:00
Paul Lorenz 3151d31b7f Handle xweb import change (#697)
* Handle xweb import change. Fix tunnel update/delete terminator handling
2021-06-22 14:18:17 -04:00
Andrew Martinez 6625084569 use xweb for Edge Client and Management APIs
- use xweb for run
- use xweb for api tests
- use time.ParseDuration for edge configuration
- use CORS defaults in Client/Management API handlers
2021-05-06 16:45:48 -04:00
Andrew Martinez b562fb5c07 splits API specs into composible modules
- splits Open API 2.0 (swagger) into client/management APIs
- uses go-swaggers flatten capabilities
- uses newer version of go-swagger (v0.27.0)
- introduces /edge/client/v1, /edge/management/v1
- non-prefixed URLs default to /edge/client/v1
- splits some shared management/client API handlers
- renames some REST models to "client" instead of "limited"
- passes all apitests, fails dataflow upd test (main fails this as well)
- updates generate rest script for powershell
- todo: test generate rest script for bash
- todo: use xweb (different branch)
2021-05-04 11:30:32 -04:00
Andrew Martinez 3014bdc405 new tests, don't prune policies w/ no checks 2021-03-24 14:06:09 -04:00
Andrew Martinez 1100d6f388 update service update on posture data change, tests 2021-03-23 09:54:47 -04:00
Andrew Martinez c54a007202 formalize posture data API output, add service request errors
- GET /identity/{id}/posture-data is now formalized in the swagger.yml
- posture data output now includes the last 100 failed service requests
  with temporal posture data state
- added ziti controller instance id header to detect restarts
- add GET /identity/{id}/failed-service-requests
2021-03-19 09:49:44 -04:00
Andrew Martinez 623681db87 add lastActivityAt
- as updates to API Sessions can now happen later than the last time
  they were active, updatedAt is no longer the correct representation of
  the last activity an API Session had
- move all logic that used updatedAt to lastActivityAt
- add migration to set lastActivityAt
2021-03-17 13:49:12 -04:00
Andrew Martinez 5841f6fa70 use batch for api access last updates 2021-03-15 11:14:45 -04:00
Paul Lorenz 735eb1d80f Move ApiError and FieldError to foundation 2021-03-03 14:44:26 -05:00
Paul Lorenz 155bbd8217 Validate sessions on controller instead of edge router 2021-02-17 20:38:13 -05:00
Andrew Martinez d07618c9d5 modular edge router sync
- edge router sync is now modular and can have different strategies
- plans to make this configurabe in the future with multiple strat
- legacy strategy is called "instant" and is the only option
- instant strat now supports control signaling and resync requests
- edge routers now do not remove connections till after a full sync
- added the ability for the controller to report the er sync status
- added er syn status to GET /edge-routers list and detail
- improved log output in sync logic
2021-02-15 13:22:07 -05:00
Andrew Martinez df1f2a1a75 fixes #497 send session header
- add server headers during HTTP handler delegation rather than at HTTP
  response time
- remove all old header setting locations
- remove unused status writer and other response code
- add manual set on authentication for session headers
2021-02-01 14:28:29 -05:00
Andrew Martinez 308d7f3a10 mfa initial
- add mfa read endpoints
- add mfa enroll enpoints
- fix mfa library timing issues
- adds mfa at tests
- adds admin mfa management endpoints
- adds admin mfa at tests
- improve at tests
- fix auth check vs auth query
- fix swagger for auth queryies
- fix swagger doc
- adds more api tests for validation
- redo auth query structure
- redo mfa endpoints
- move mfa verify to authenticate router:wq
- add recovery code support and tests
- add partial session authentication status
2021-01-19 08:36:27 -05:00
Paul Lorenz c370dff45c Notify clients to refresh after restart 2021-01-15 16:20:13 -05:00
Paul Lorenz 2194d8a2e2 Implement service change notifications 2021-01-15 15:28:59 -05:00
Andrew Martinez a3789c063a adds support of API Session Certificates
- adds ability for any authenticated API Session to create ephemeral
 certificates
- allows UPDB session connection
- adds create/delete/read of current api session certificates
- add session cert pem result on create and detail
- fixes ER not updating sessions with new certs from API session
- fixes naming of session vs apiSession on members, functions, etc
- organizes ER state manager functions into apiSession vs session
- adds api session ids to api sessions and sessions sent from the
  controller to ERs
- ensure api and ns fingerprints are the same
- filter api session certs by valid periods
- clarify fingerprint func naming
2021-01-06 09:42:57 -05:00
Andrew Martinez c726f158d6 fixes #365 adds hasApiSession and hasEdgeRouterConnection 2020-10-20 15:00:22 -04:00
Paul Lorenz 734e9a5542 Fix service policy migration. Update for terminator precendence changes. Log panic stacks. Fixes GH-291 2020-09-03 10:22:27 -04:00
Andrew Martinez f92b88e395 Merge branch 'master' into stream.sessions.276 2020-08-24 08:40:29 -04:00
Andrew M faec4b95ba various fixes for API streaming and data net support
- http requests should hard timeout w/ a reasonable response
- edge routers should close when an API session token is not provided or
  does not match
- stream both types of sessions on edge router connect
- stream sessions for time out processing/deletion
- add id to session messages (edge control pb update, breaks backwards
  compat)
2020-08-24 08:31:45 -04:00