Commit Graph

426 Commits

Author SHA1 Message Date
Paul Lorenz 3cfc8b5cf5 Controller should clear links not in full link sync from router. Fixes #3492 2026-01-16 14:42:39 -05:00
Paul Lorenz 3bca4801b2 Fix router ctrl channel init race condition. Fixes #3484. ert-hosting-test fixes 2026-01-06 16:37:21 -05:00
Paul Lorenz f3ad7b65ae Have identity env updates and system authenticator updates happen in the background. Fixes #3477 2025-12-29 12:08:16 -05:00
Paul Lorenz ae8306942c Add permissions list to identity. Fixes #3430. Add read-only permission. Fixes #2109. Add CRUD permissions by entity type. Fixes #3435 2025-12-18 10:54:08 -05:00
Paul Lorenz 701fe9ffd9 Move fabric router/service/terminators rest api code common location 2025-12-05 10:35:25 -05:00
Paul Lorenz ff266fc901 Move fabric link REST code to common location 2025-12-05 09:54:11 -05:00
Paul Lorenz a9594966a2 Consolidate circuit rest api code into common location. Fixes #3410 2025-12-05 09:54:10 -05:00
Paul Lorenz ffe6e16b76 Separate raft command submission limiting from in-flight limiting. Fix some create terminator error handling. Fixes #3318 2025-12-03 17:01:28 -05:00
Paul Lorenz d37c721c83 Optimize router data model subscription code. Add additional events. Fixes #3359 2025-12-02 11:37:38 -05:00
Andrew Martinez d02d25c031 fix openziti/ziti#3354 sdk/env details not distributed (#3394)
* fix openziti/ziti#3354 sdk/env details not distributed
2025-11-26 10:54:10 -05:00
Andrew Martinez ce83c0fb7c fixes openziti/ziti#2324 add token based enrollment (#3342)
* fixes openziti/ziti#2324 add token based enrollment

- allows enrollment to certificate auth
- allows enrollment to ext jwt token auth
- alters ext jwt claimsProperty (maps identity id) to support JSON
  pointers, defaults to `/sub`
- adds ext jwt enrollToCert, enrollToToken to controller  valid
  enrollment end-authenticator state
- adds ext jwt enrollAuthPolicyId to map end identity auth policy to,
  defaults to `default`
- adds ext jwt enrollAttributeSelector, supports single field name or
  JSON pointer to point to a single string or array of string attributes
  to give the identity, defaults to no selector
- adds ext jwt enrollNameSelector, supports single field name or JSON
  pointer to a string field to use as the name, defaults to `/sub`
- add enrollment errors to determine if enrollment has occurred
- adds CLI support for ext jwt signer enroll flags
2025-11-05 15:43:49 -05:00
Paul Lorenz af09450961 Fix golangci-lint errors 2025-10-17 12:54:25 -04:00
Andrew Martinez bb5cc51a97 adds posture cache, instance, instance data, and event hooks (#3267)
* adds posture cache, instance, instance data, and event hooks

- reworks router security
- abstracts api session and service sessions
- use connection tracker instead of various maps
- doc
- adds service sessions as always JWTs
- addes token logging fields
- removes multiple connection tracking fields
- adds support for router specific posture data/respones
- adds support for router posture check evaluation
- defer dial/bind posture checking for legacy to controller
- fix double session event emitting
- fix session event missing id
2025-10-15 14:01:56 -04:00
Paul Lorenz 2096535abe Add missing shutdown logic 2025-09-18 15:33:45 -04:00
Paul Lorenz 4b2455096d Merge pull request #3222 from openziti/add-authenticator-indexes
Add indexes for authenticator username and fingerprint. Fixes #3219 Also use  externalId index in IdentityManager.
2025-09-03 09:57:45 -04:00
Paul Lorenz 6df9532920 Add indexes for authenticator username and fingerprint. Fixes #3219 Also use externalId index in IdentityManager. 2025-09-02 21:55:01 -04:00
Paul Lorenz 0b5e36c652 Add edge session events for JWT edge sessions. Fixes #3225 2025-09-02 15:37:02 -04:00
Andrew Martinez f116212ed4 fix #3231 use root controller server certs for OIDC signing (#3236)
* fix #3231 use root controller server certs for OIDC signing

- addresses HA vs non-HA signing
- fixes issue where APIs server w/ difference certs than the root
  identity
- adds documentation for env/appenv
- adds a new composite type for TLSCert JWT signers

* address possible nil reference

* remove ineff assignment on jwt signing method
2025-08-26 09:29:50 -04:00
Andrew Martinez 91d33abb00 fixes #3239 router enrollment used identity expiration duration (#3240)
- clearer naming for JWT filling functions, doc
- fixed router logic references
- tests
2025-08-26 09:28:54 -04:00
Andrew Martinez 423dff3d92 fix #3236 SDK/ENV info is not saved on OIDC auth (#3137) 2025-08-05 09:51:00 -04:00
Andrew Martinez 87c9ce3718 fix #3178 apis missing from controllers (#3180)
* fix #3178 apis missing from controllers, fixes #3193 adds totp auth query enrollment flag

- fixed controller store to no longer blank apis on all CUD actions
- controllers now report their current config state on leader change to
  avoid stale information
- fixes peer disconnect to only set online state
- adds enrollment state flags to auth queries
- adds test for OIDC MFA enrollment/recovery/delete
- adds controller store unit tests
2025-08-05 09:15:27 -04:00
Paul Lorenz e5fb69935e Support multi-underlay links. Fixes #3134 2025-07-11 20:56:11 -04:00
Paul Lorenz 5902631861 ids used by circuits and ingress/egress can conflict in an HA setup. Fixes #3124 2025-06-18 11:24:16 -04:00
Andrew Martinez 23e8211a16 fixed #3117 authenticators last auth to root, updatedAt, createdAt flags (#3118) 2025-06-18 09:18:13 -04:00
Paul Lorenz cc7eefaf24 Add support for tracking network interfaces on routers and identities. Fixes #3082. Add network discover to router. Fixes #3083 2025-06-17 09:32:51 -04:00
Paul Lorenz b21db0faa1 Implement circuit validation API and CLI. Fixes #3098 2025-06-16 13:57:42 -04:00
Andrew Martinez 3995091865 fixes #3068 adds event dispatching for auto ca enrollment (#3069) 2025-05-29 16:05:33 -04:00
Paul Lorenz a70218a11c Allow disabling posture checks. Fixes #3063 2025-05-29 12:40:00 -04:00
Andrew Martinez cb71392706 fixes #3059 keep JWT enrollment secrets sync'ed during refresh (#3060)
- adds tests for desync'ed secrets
2025-05-28 00:02:45 -04:00
Andrew Martinez 0506ef251b fix.3048.auth.events.impropert.chain.flag (#3050)
fixes #3084 adds events and improper chain flag

- splits cert resolution into root, legacy root + intermediate,
  and third-party pool. Allowing the detection of client authentication
  with incomplete chains if root + intermediate succeeds after root only fails
- adds `improperClientCertChain` to API Sessions and Current API Session.
  Added for OIDC and legacy auth. Set to true when a client certificate is used
  that was issued by the network and did not pass the root-only pool.
2025-05-21 11:49:39 -04:00
Andrew Martinez 31bb7fec0a updates change log fixes broken integration test (#3033) 2025-05-02 14:27:53 -04:00
Andrew Martinez 0ca892060f fix #2996 add ability to flag cert authenticators for extension/key roll (#3025)
* fix #2996 add ability to flag cert authenticators for extension/key roll
2025-05-01 17:41:00 -04:00
Andrew Martinez 7cbd3fe21a Fix.2999.404.during.OIDC.backed.cert.extend (#3000)
* fixes #2999 oidc backed sessions do not 404 anymore during verification

- add double extend test, use JWT authenticator id
2025-04-15 10:42:20 -04:00
Andrew Martinez c4b89e9d01 fixes #2904 limit client certs requested/allowed (#2974)
* fixes #2904 limit client certs requested/allowed

Some clients (browsers) show a popup when interacting with our TLS
servers and a pop-up or other UI to select certificates for
interacting with our server. If not limited, this causes any client cert
available to be shown, allowing the user to choose a certificate
that will never work. This fix limits the issuer's allowed so the popup
never appears or only appears with viable options.

- use new xweb to modify server TLS configs with static and 3rd party
  CAs
- centralize CA certificates for re-use
2025-04-11 14:33:21 -04:00
Andrew Martinez 0e61edb2f9 fix #2984 identity/router enrollment do not return full chains (#2990)
* fix #2984 identity/router enrollment do not return full chains

- router extend via REST/ctrl now return full chains
- identity extend via REST now return full chains
- updates tests to allow for chain lengths
- modifies verification to look at the first cert in the chain (leaf)
- modifies edge routers to not start extension if new certs can't be
  saved
- adds network-jwt tests
2025-04-11 11:27:57 -04:00
Paul Lorenz e647d67325 Update to channel/v4 2025-04-02 15:28:59 -04:00
Paul Lorenz 5a55aba493 Controller not removed from DB controller store when removed from controller. Fixes #2906 2025-03-29 00:19:52 -04:00
Andrew Martinez 7e542fac8b fix typos (#2942) 2025-03-26 18:06:20 -04:00
Andrew Martinez 6502098179 Fix.api.session.synth.jwt (#2935)
* fix #2934 fix API Session Cert to OIDC JWT mapping verification
* fix #2931 log invalid token aud, label token vs ext jwt aud
2025-03-26 11:24:17 -04:00
Paul Lorenz 8dbf6e5d85 Update errorz.MultipleErrors users to errors.Join 2025-03-22 10:14:02 -04:00
Andrew Martinez 56daae2025 fixes #2796 generated clients for enrollment do not work (#2883)
* fixes #2796 generated clients for enrollment do not work

- default behavior complies with OpenAPI spec, but allows for legacy PEM
  handling through middleware intervention
- adds test for generic enrollment endpoint and for specific enrollment
  endpoints
2025-03-17 10:05:15 -04:00
Paul Lorenz bcd62369c6 Fix online/offline status for ER/T identities. Fixes #2889 2025-03-14 13:38:17 -04:00
Paul Lorenz 50a4cca051 Fix controller online status. Fixes #2854 2025-03-10 09:49:30 -04:00
Paul Lorenz 30da593c1a Cache ER/T terminator ids for faster restarts. Fixes #2807 (#2815) 2025-02-25 17:31:02 -05:00
Paul Lorenz ec57c80ff7 ER/T Hosting HA chaos test and fixes (#2806)
* Add ERT hosting chaos test. Also add ert terminator validation utility. Fixes #2288

* Rework ER/T terminator management based on SDK terminator management code

* Update deps

* Make sdk/ert-terminators into a constant
2025-02-25 17:02:21 -05:00
Paul Lorenz 27dbaaf5a1 Posture check PUTs fail to do update. Fixes #2672 2025-02-07 15:17:42 -05:00
Andrew Martinez fccc0751ac fixes #2681 adds targetToken support for ext jwt signers (#2686)
* fixes #2681 adds targetToken support for ext jwt signers

- adds targetToken of values ACCESS, ID for management API CRUD
- adds targetToken to client API reads
- adds --target-token to external jwt signers CLI
- updates/adds tests
- update client test
2025-02-07 14:21:49 -05:00
Paul Lorenz fef5327e14 Endpoint management updates
* Allow configuring endpoints file full path instead of directory. Fixes #2724
* Write initial router endpoints file based on ctrls in JWT. Fixes #2728
* Add ctrls property to non-ha router enrollment. Fixes #2108
* Enrollment doesn't contain controller which created the enrollment. Fixes #2729
2025-02-03 18:52:57 -05:00
Paul Lorenz 110446a990 Add doc generator for events. Add event doc. Fixes #2593 2025-01-31 12:23:43 -05:00
Paul Lorenz d0c06854d4 Fix boostrap panic. Fixes #2682 Fix error on peer save. Fixes #2683. Fix duplicate cluster events. Fixes #2684 2025-01-23 17:50:03 -05:00