Commit Graph

23 Commits

Author SHA1 Message Date
Andrew Martinez 948735d86c fixes openziti/ziti#4094 accept first-party certs issued by a separat… (#4140)
* fixes openziti/ziti#4094 accept first-party certs issued by a separate edge signing CA

- adds FirstPartyX509CertValidation and ThirdPartyX509CertValidation usages and an
  intermediates field to the router data model public keys, deprecating
  ClientX509CertValidation
- publishes config CA bundle roots as first-party anchors with their intermediates and
  Ca store entries as third-party anchors; controller certs carry JWT validation only,
  since a controller identity is never a CA and anchors no client cert chains
- builds router first-party and client cert trust pools from the published usages,
  falling back to the deprecated usage against older controllers
- propagates the full signing cert chain between controllers via a new mesh
  SigningCertChainHeader and persists whole chains in controller records
- removes the orphaned InstantStrategy.AddPublicKey, dead since public key sync moved
  to controller list data
- gives each command dispatcher its own decoder registry so multiple in-process
  controllers no longer decode into the last-started controller's managers
- adds a three-controller in-process HA test harness with a split signing PKI,
  cluster formation and first-party cert integration tests
- trusts the edge signing CA when verifying router control channel certs
- adds a variadic additionalRoots parameter to VerifyLeafCertChain, applied to a
  clone of the caller's pool so an identity's live tls.Configs are unaffected
- passes the edge enrollment signing CA bundle as additional roots when admitting
  a router control channel connection, so a deployment whose signing CA sits
  outside the controller's own trust bundle no longer has every router refused
- leaves the fingerprint check bound to the verified leaf, so the wider anchor set
  changes which chains verify, not which routers are admitted
- covers the split-root case and the caller-pool guarantee in common/cert tests
2026-08-26 14:07:31 -04:00
Paul Lorenz 863f6c90fe Merge pull request #4029 from openziti/sdk-golang-v2
Migrate to sdk-golang v2 module path
2026-06-29 13:06:36 -04:00
dovholuknf 464283aee3 cleanup after self review, remove some duplicate code 2026-06-25 17:27:26 -04:00
dovholuknf a4a9532c29 add test for stale cert download 2026-06-25 16:52:05 -04:00
dovholuknf 8c7148e051 pr feedback - stabilize download tests 2026-06-24 13:57:26 -04:00
dovholuknf 265ceca90f ZAC bootstrapping CLI (download, configure, serve) plus ST1005 lint fix 2026-06-24 11:48:56 -04:00
Paul Lorenz 86092a8640 Migrate to the sdk-golang v2 module path. For #3884
Bumps the sdk-golang dependency from v1 to the v2 module
(`github.com/openziti/sdk-golang/v2` at v2.0.0-pre1) and updates all
import paths. This is a no-behavior-change precursor that isolates the
dependency migration from the Connect-V2 feature work in #3884.

- Rewrites `github.com/openziti/sdk-golang/...` imports to
  `github.com/openziti/sdk-golang/v2/...` across the main and zititest
  modules.
- Pins both modules to `github.com/openziti/sdk-golang/v2 v2.0.0-pre1`.
- Adapts `edgeXgressConn.AcceptMessage` to the v2 `MsgSink` signature,
  which now takes an `edge.SdkChannel` argument.
- Replaces the removed `edge.Conn.GetRouterId()` with
  `RemoteAddr().String()` in the loop4 traffic-test logging.

For openziti/sdk-golang#936.
2026-06-23 15:43:39 -04:00
dovholuknf 4f4accfc07 make sure cluster comes up and works and small tweaks 2026-06-23 10:07:57 -04:00
dovholuknf e2d328985a add ziti run quickstart cluster 2026-06-18 17:15:41 -04:00
dovholuknf 8b051b5302 rework how tests can inject additional certs for login test 2026-06-09 13:01:21 -04:00
dovholuknf 4ce55242b9 address test failure 2026-06-08 13:53:27 -04:00
dovholuknf c01a25fe35 fix #3914: allow OS-trusted controller certs with ziti login 2026-06-01 12:33:06 -04:00
Paul Lorenz 2a8a43df1b Add wait for terminators to cli test to avoid race condition 2026-04-14 12:35:50 -04:00
Paul Lorenz 95c2a074e3 Update cli to wait for router to be available 2026-04-02 10:07:26 -04:00
Clint Dovholuk f6814c117a Quickstart ha only (#3724)
* wip changes: trying to make the quickstart nothing but ha

* when on windows be nice and use a powershell friendly line continuation char

* remove --clustered usage from config create as that's the default and remove 'ha' from quickstart test

* forgot to update the tests as well

* remove other 'ha' references in the config generation and verify traffic

* remove ha refs from the quickstart ha doc

* was a bit too quick to remove these flags - putting back

* change from fatals to error and RunE. add --spiffed-id to pki creation. remove now defunct TestDatabaseFile*

* updates to docker based test

* pr feedback updates

* missed some test updates
2026-03-27 10:13:42 -04:00
Clint Dovholuk fdd060b39a Fix login certificate caching when changing controllers (#3631)
* Fix login certificate caching across controller switches and file-based auth

* include fix for verify ext-jwt-signer oidc

* remove dead branch from prior work

* clean up post PR

* linter cleanup

* oops - uncomment tests :)
2026-03-04 07:30:43 -05:00
Paul Lorenz 5061a563b5 Append logs, so restarts don't wipe out data. Be more flexible on router setup. Fix error check 2026-02-12 19:30:18 -05:00
Paul Lorenz 2ffc6e1151 Update ziti version to 2.0 2026-01-28 12:34:10 -05:00
dovholuknf bc96821500 add ziti transport to fabric commands (#3417)
* fix context serialization issue, add tests for fabric, refactor tests, add by-addressable-terminator test run

* fix the correct branch

* linter issue

* remove unused func linter found

* log path to see why they don't get uploaded

* tests were not resetting context properly and passing when they should have failed

* revert small changes

* linter issue
2025-12-09 22:09:46 -05:00
Kenneth Bingham fc72f2a864 keep using the fictitious ziti tld 2025-11-20 16:04:57 -05:00
Kenneth Bingham 1d1f96e93e use reserved private tld; patch the login test 2025-11-20 15:15:14 -05:00
Kenneth Bingham 01ab712fb0 test getting login url from file 2025-11-20 10:16:49 -05:00
dovholuknf caee6124e2 add support for and identity-driven bindPoints in controller (#3315)
* add support for and identity-driven bindPoints in controller

* cannot use ListenOptions as it pulls the go sdk into xweb :(

* more generic log message

* add ziti cli login tests in prep for continuing adding identity support in controller

* updates to tests

* updates to tests

* rebase with main

* allow login testing to external overlay

* more changes to allow a zitified ziti cli. add a test for testing login and ensure it works over a zitified connection

* refactor bindPoints to a module

* rebase with main

* no functional changes, just major refactoring based on PR requests. encapsulated all tests state into loginTestState, moved overlay to testutil

* rework a couple of util funcs to be cleaner per PR feedback

* make the new func more useful

* run tests via github action

* update changelog and remove unnecssary serveTls for now

* update from xweb v2 to v3

* change where factory is added and fix compilation issue of a test

* linting changes, move ascode test to cli_tests and activate via cli_tests

* use proper go build

* forgot to set the bin location

* fix timeout on test

* different errors on linux, windows and on gh runners

* cleanup after self-pr review

* use longer name to prevent codespell issues...

* additional changelog and add addressable terminator support

* fix out of control concatenation in cache file. fix ipv6 checking

* updates based on newer sdk and edge api client

* ensure oidc sessions auth for both older and newer commands

* add better error when url is empty and update changelog

* codespell fixes

* remove extraneous file

* update to 1.3.0 to kick off CI

* PR related changes. add interface enforcer and refactor networkIdentity

* go tidied

* fix golangci-lint and ha quickstart test

* keep fixing golanglint-ci... lol

* golanglint i was sure i'd fixed

* fix login test

* should fix ziti ops verify traffic as well

* fix verify traffic when all login information is supplied as well

* make all the timeouts longer? seems to run fine locally but fail in actions
2025-11-14 11:07:52 -05:00