90 Commits

Author SHA1 Message Date
Andrew Martinez a9dd2fc8f8 fix.openziti.ziti.3597.OIDC.by.default (#3605)
* fixes #3597, enable OIDC by default

- adds ability to have different sets of environment configs for tests
- adds ConfigSet struct as a configuration device for integration tests
  - allows entire environments to be defined as needed
  - original ats config set at "default-ats"
  - tests that do not specify a config set, use "default-ats" as before
- standardizes configuration location, naming, etc.
- adds README.md for the above
- updates testContext to now be config set aware
- add config value to disable, update tests, changelog
- add defense against cached version data for tests
2026-03-04 10:03:14 -05:00
Paul Lorenz 90112219a3 Support multi-underlay control channels. Fixes #3550 2026-02-11 14:20:29 -05:00
Paul Lorenz 2ffc6e1151 Update ziti version to 2.0 2026-01-28 12:34:10 -05:00
Paul Lorenz 284a08b1af Remove support for create terminator v1. Fixes #3516 2026-01-26 10:25:39 -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 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 2096535abe Add missing shutdown logic 2025-09-18 15:33:45 -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
Paul Lorenz e647d67325 Update to channel/v4 2025-04-02 15:28:59 -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 d178caefc7 Fix places where controller init is mentioned 2025-02-05 17:10:35 -05:00
Paul Lorenz c2162ea9a9 Add cluster id, to prevent merging disparate clusters. Fixes #2541 2024-11-14 12:34:17 -05:00
Paul Lorenz 6e1983991d Fixes from testing 2024-11-01 15:21:01 -04:00
Paul Lorenz 16f0a858e6 Add controller connect events. Fixes #1835. Fixes #2234 2024-11-01 15:21:01 -04:00
Paul Lorenz cccf0c06af Update to channel/v3. Fixes #2390 2024-09-09 12:23:25 -04:00
Paul Lorenz b8f944326f Ensure controller is initialized before raft. Fixes #2279 2024-08-01 14:14:55 -04:00
Paul Lorenz 0945427320 Migrated edge router tunneler code to use the router data model. Fixes #2121 2024-07-26 17:06:01 -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 00aa6ed625 Fix set of empty roles from CLI. Fixes #785
Also includes removal of an unused method
2024-07-11 13:19:59 -04:00
Paul Lorenz c3b43133d1 Merge fabric and controller model code. Fixes #2205 2024-07-09 16:11:01 -04:00
Kenneth Bingham c78ab3d64d Merge pull request #1941 from openziti/de-hyphenate-ziti-controller
de-hyphenate old mentions of ziti-controller as 'ziti controller'
2024-04-30 09:08:31 -04:00
Paul Lorenz a0245e5cd3 Allow ER/T to intercept services w/out sessions when in HA mode. Fixes #1942 2024-04-16 15:11:00 -04:00
Kenneth Bingham d16ec86d10 de-hyphenate old mentions of ziti-controller as 'ziti controller' 2024-04-12 20:21:20 -04:00
Paul Lorenz 1e17a70d3f Don't allow session sync to block channel. Fixes #1849 2024-03-20 14:02:18 -04:00
Andrew Martinez 09542c7728 consolidated ha changes 2024-02-29 09:27:56 -05:00
Paul Lorenz 744ae68bbd Fix controller crash. Fixes #1736 2024-02-08 21:55:48 -05:00
Paul Lorenz f3d67b7f49 Update fabric imports 2023-09-28 23:34:28 -04:00
Paul Lorenz b12f1d33f5 Add CreateTerminatorV2 flow for edge terminators. Fixes #1619 2023-09-27 17:32:44 -04:00
Paul Lorenz 07da3cd513 Merge remote-tracking branch 'edge/main' into merge-edge
Updated package names
Merged golangci-lint configurations
2023-09-27 16:54:53 -04:00
Paul Lorenz 5b59ae13ee Update for moved packages in fabric 2023-08-23 09:40:05 -04:00
Paul Lorenz dba0fb6f7c Move protobufs to common 2023-08-04 17:01:15 -04:00
Paul Lorenz f368b631b0 Merge remote-tracking branch 'origin/main' into prep-for-ziti-merge-p1 2023-08-04 16:26:16 -04:00
Paul Lorenz 7d6f4ef700 Reorganize code in preparation for merging to ziti repo, first pass. 2023-08-04 09:48:06 -04:00
Andrew Martinez 414cff49d7 adds support OIDC authentication, api access, and ER connections 2023-07-20 09:41:12 -04:00
Paul Lorenz b09af68d09 Update edge test for fabric api update. Remove unneeded cgo import. 2023-03-17 11:55:38 -04:00
Paul Lorenz 63c161224a Add linter and fix issues found by linter 2022-10-10 16:56:51 -04:00
Paul Lorenz 63e0d9663e Support multiple routers in router edge extensions 2022-09-30 09:34:04 -04:00
Paul Lorenz 32c197e5e1 Update to channel v2 2022-09-26 18:20:00 -04:00
Paul Lorenz 0b8a65207a Change bootstrap check. Add hooks for isRaftEnabled 2022-08-22 12:14:40 -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
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 3380807334 adds ext-jwt authenticator
- enables /authenticate?method=ext-jwt
- adds ext-jwt to OpenAPI schema
- rebase to main, squash
2022-03-08 10:01:38 -05:00
Paul Lorenz 5be9095e60 Update to use channel library 2022-01-28 11:35:15 -05:00
Paul Lorenz 3f69bfdd43 Update for control channel API changes 2022-01-19 08:37:40 -05: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
Paul Lorenz fd866e7f3d Cache tunnel sessions in LRU cache to avoid creating extraneous sessions 2022-01-13 12:38:54 -05:00