v0.25.5
·
5642 commits
to release-next
since this release
Release 0.25.5
- Bug fix: Fixes an issue where dial could fail if the terminator router didn't response to routing last
- Enhancement: Updated Control Channel to use new heartbeat logging mirroring Links in Release
0.25.0
- Enhancement: Added Circuit Creation Timespan which denotes how long the fabric took to construct a requested circuit.
{
"namespace": "namespace",
"event_type": "event_type",
"circuit_id": "circuit_id",
"timestamp": "2022-04-07T14:00:52.0500632-05:00",
"client_id": "client_id",
"service_id": "service_id",
"creation_timespan": 5000000, //Timespan in nanoseconds
"path": "path"
}
- Bug fix: Fixes an issue where Edge administrator checks would not take default admin flag into account
- Bug fix: Fix an issue with docker-compose quickstart not properly loading env vars
- Enhancement: Add support for Apple M1 using the ziti quickstart CLI script
- Enhancement: Use an env file for docker-compose quickstart for easier version changes and other duplicated field values
- Enhancement: Allow for version override using the ziti quickstart CLI script
- Change: Renamed
pushDevBuild.sh
tobuildLocalDev.sh
, the script used for building a local dev version of the docker quickstart image - Bug fix: Fixes an issues where
isAdmin
would always default to false on updates (put/patch) - Bug fix: Identity property
externalId
was not properly rendering onGET
and not handled consistently onPUT
andPATCH
- Enhancement: External JWT Signer Issuer & Audience Validation
- Enhancement: Add ability to define local interface binding for link and controller dial
- Bug fix: Edge Management REST API Doc shows Edge Client REST API Doc
- Enhancement:
ziti db explore <ctrl.db>
command has been added to explore offline database files - Enhancement: The mgmt API is now available via websocket. The stream commands are now available on
ziti fabric
- Enhancement: Most list commands have been updated with tabular output
- Enhancement:
ziti edge show
is now available with subcommandsconfig
andconfig-type
ziti edge list configs
no longer shows the associated json. It can be viewed usingziti edge show config <config name or id>
- Enhancement:
ziti edge update config-type
is now available - Enhancement:
ziti edge create|update identity
now supports--external-id
- Bug fix: Fixes an issue where the router config would use hostname instead of the DNS name
- Bug fix: When establishing links, a link could be closed while being registered, leading the controlller and router to get out of sync
- Enhancement: Add min router cost. Helps to minimize unnecessary hops.
- Defaults to 10, configurable in the controller config with the minRouterCost value under
network:
- Defaults to 10, configurable in the controller config with the minRouterCost value under
- Enhancement: Can now see xgress instance and link send buffer pointer values in circuit inspections. This allows correlating to stackdumps
- Enhancement: Can now see xgress related goroutines by using
ziti fabric inspect '.*' circuitAndStacks:<circuitId>
- Enhancement: If a router connects to the controller but is already connected, the new connection now takes precedence
- There is a configurable churn limit, which limits how often this can happen.
- The default is 1 minute and is settable via
routerConnectChurnLimit
undernetwork
- Enhancement: Flow control changes
- Duplicate acks won't shrink window. Duplicate acks imply retransmits and the retransmits already affect the window size
- Drop min round trip time scaling to 1.5 as will get scaled up as needed by duplicate ack detection
- Drop round trip time addition to 0 from 100ms and rely purely on scaling
- Avoid potential stall by always allowing at least one payload into sender side, even when receiver is full.
- This way if receiver signal to sender is lost, we'll still having something trying to send
- Enhancement: When router reconnects to controller, re-establish any embedded tunneler hosting on that router to ensure router and controller are in sync
External JWT Signer Issuer & Audience Validation
External JWT Signers (endpoint /external-jwt-signers
) now support issuer
and audience
optional string fields.
These fields may be set to null
on POST
/PUT
/PATCH
or omitted; which will result in no validation of incoming
JWT's aud
and iss
fields. If issuer
is defined, JWT iss
fields will be validated. If audience
is defined, JWT
aud
fields will be validated. If a JWT contains multiple audience values as an array of strings and will be validated,
validation will check if the External JWT Signer's audience
value is present as one of the values.
Add ability to define local interface binding for link and controller dial
The network interface used to dial the controller and router links can be provided in the router configuration file. The interface can be provided as either a name or an IP address.
ctrl:
endpoint: tls:127.0.0.1:6262
bind: wlp5s0
link:
dialers:
- binding: transport
bind: 192.168.1.11