Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
69 changes: 69 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,72 @@
# Release notes 1.1.0

## What's New

* Experimental support for sdk based flow-control
* Config change for multiple underlays

## SDK Flow Control

If the router being connected to supports it, the sdk can now manage flow control
instead of delegating that to the router. This is mostly important when running
multiple simultaneous circuits throught the SDK. When running multiple circuits,
a slow circuit can get stalled at the router because of flow control back-pressure.
This then back-pressures all circuits from the SDK to that router.

By moving the flow-control to the SDK, a slow circuit will not negatively impact
other circuits to the same router. This is currently enabled in the `DialOptions`
and `ListenOptions` for the dial and hosting sides respectively.

```
t := true
dialOptions := &ziti.DialOptions{
ConnectTimeout: wf.ConnectTimeout,
SdkFlowControl: &t,
}

listenOptions := ziti.DefaultListenOptions()
listenOptions.SdkFlowControl = &t
```

As this is an experimental feature, the configuration may change or be removed
in the future.

## Config Changes

The multi-underlay configuration has changed. There are now two settings.

```
// If set to a number greater than one, the sdk will attempt to create multiple connections to edge routers.
// This configuration value should not be considered part of the stable API yet. It currently defaults to one,
// but it may default to a larger number at some point in the future or be removed. If set to zero, it will
// be reset to one.
MaxDefaultConnections uint32 `json:"-"`

// If set to a number greater than zero, the sdk will attempt to create one or more separate connection to
// each edge routers for control plane data, such as dials. This configuration value should not be considered
// part of the stable API yet. It currently defaults to zero, but it may default to 1 at some point in the future
// or be removed.
MaxControlConnections uint32 `json:"-"`
```

The old `EnableSeparateControlPlaneConnection` setting is gone. Set `MaxControlConnections` to 1 to enable
separation of control plane data.

Note that while present, the `MaxDefaultConnections` should not be used yet.

## Issues Fixed and Dependency Updates

* github.com/openziti/sdk-golang: [v1.0.2 -> v1.1.0](https://github.com/openziti/sdk-golang/compare/v1.0.2...v1.1.0)
* [Issue #702](https://github.com/openziti/sdk-golang/issues/702) - [Go SDK] Support xgress flow control from the SDK

* github.com/openziti/channel/v4: [v4.0.4 -> v4.0.6](https://github.com/openziti/channel/compare/v4.0.4...v4.0.6)
* [Issue #182](https://github.com/openziti/channel/issues/182) - MultiListener can deadlock
* [Issue #180](https://github.com/openziti/channel/issues/180) - Add GetUserData to Channel interface

* github.com/openziti/identity: [v1.0.100 -> v1.0.101](https://github.com/openziti/identity/compare/v1.0.100...v1.0.101)
* [Issue #64](https://github.com/openziti/identity/issues/64) - Support a way to check if a cert/serverCert can be saved


# Release notes 1.0.2

## Issues Fixed and Dependency Updates
Expand Down
16 changes: 16 additions & 0 deletions edgexg/impl.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package edgexg

import "github.com/openziti/sdk-golang/ziti/edge"

const (
PayloadFlagsHeader uint8 = 0x10
)

// headers to pass through fabric to the other side
var HeadersToFabric = map[int32]uint8{
edge.FlagsHeader: PayloadFlagsHeader,
}

var HeadersFromFabric = map[uint8]int32{
PayloadFlagsHeader: edge.FlagsHeader,
}
7 changes: 4 additions & 3 deletions example/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ require (
github.com/disintegration/imaging v1.6.2 // indirect
github.com/dlclark/regexp2 v1.10.0 // indirect
github.com/eliukblau/pixterm/pkg/ansimage v0.0.0-20191210081756-9fb6cf8c2f75 // indirect
github.com/emirpasic/gods v1.18.1 // indirect
github.com/fatih/color v1.16.0 // indirect
github.com/fsnotify/fsnotify v1.8.0 // indirect
github.com/fullsailor/pkcs7 v0.0.0-20190404230743-d7302db945fa // indirect
Expand Down Expand Up @@ -79,10 +80,10 @@ require (
github.com/muhlemmer/gu v0.3.1 // indirect
github.com/oklog/ulid v1.3.1 // indirect
github.com/opentracing/opentracing-go v1.2.0 // indirect
github.com/openziti/channel/v4 v4.0.4 // indirect
github.com/openziti/channel/v4 v4.0.6 // indirect
github.com/openziti/edge-api v0.26.42 // indirect
github.com/openziti/identity v1.0.100 // indirect
github.com/openziti/metrics v1.4.0 // indirect
github.com/openziti/identity v1.0.101 // indirect
github.com/openziti/metrics v1.4.1 // indirect
github.com/openziti/secretstream v0.1.32 // indirect
github.com/orcaman/concurrent-map/v2 v2.0.1 // indirect
github.com/parallaxsecond/parsec-client-go v0.0.0-20221025095442-f0a77d263cf9 // indirect
Expand Down
12 changes: 6 additions & 6 deletions example/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -358,16 +358,16 @@ github.com/onsi/gomega v1.13.0 h1:7lLHu94wT9Ij0o6EWWclhu0aOh32VxhkwEJvzuWPeak=
github.com/onsi/gomega v1.13.0/go.mod h1:lRk9szgn8TxENtWd0Tp4c3wjlRfMTMH27I+3Je41yGY=
github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs=
github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc=
github.com/openziti/channel/v4 v4.0.4 h1:t/hMkKuZ2kqgenztcKjhdgrO/a5Kg2xZNNWB217UMvc=
github.com/openziti/channel/v4 v4.0.4/go.mod h1:ekqQwL27nKufMN8nB0jO+bjj9QfOCiPM0GCPllUSK60=
github.com/openziti/channel/v4 v4.0.6 h1:pcIn9xNnQXnenHoaOt347nG0dmnsisomnEIPq4F5YHI=
github.com/openziti/channel/v4 v4.0.6/go.mod h1:sU3S/MToQHES1V22O+xtQbX0QSteoMo6RzQiEMfir+w=
github.com/openziti/edge-api v0.26.42 h1:Wi/BUttSUvedT9XGht7vi/zI/TNGc3ApvjkAviWhauA=
github.com/openziti/edge-api v0.26.42/go.mod h1:sYHVpm26Jr1u7VooNJzTb2b2nGSlmCHMnbGC8XfWSng=
github.com/openziti/foundation/v2 v2.0.59 h1:PJwrcTq62x+cONBeKMlnsuphsTlOvTz8j8prYnehm8o=
github.com/openziti/foundation/v2 v2.0.59/go.mod h1:76gmsdIBHvv4O3I0TuFBfO58Rv7YN8FA0ojwYz27ZxE=
github.com/openziti/identity v1.0.100 h1:FTkbhykDCMw1z/wxEeDfmq1aBp2tLRjZ3ggioRT4pg8=
github.com/openziti/identity v1.0.100/go.mod h1:E4SHqfXaZldDCo/GIdSD/Xg61obuolWYg9Qe8lqGUrQ=
github.com/openziti/metrics v1.4.0 h1:uZALaZINoTFqRE3XcVZ/xGuvXJpDhn/a0kxaX586lzE=
github.com/openziti/metrics v1.4.0/go.mod h1:MOLcoTxhPNla6+NWUCMVTnl1PNqTU40qrbKVa/lVVgg=
github.com/openziti/identity v1.0.101 h1:XujPT6eCv3Gqsodh9846EoWfQZwDAFrjPLxm1cipveY=
github.com/openziti/identity v1.0.101/go.mod h1:OZLcSf2wGqAa7/8SmbwLQxv0Gsv4i4pxTk83WPHIr+o=
github.com/openziti/metrics v1.4.1 h1:JMnfmW8liTzmqJpd7HDPCSvDDFg1UrE0WoLhW9XdIG8=
github.com/openziti/metrics v1.4.1/go.mod h1:MOLcoTxhPNla6+NWUCMVTnl1PNqTU40qrbKVa/lVVgg=
github.com/openziti/runzmd v1.0.33 h1:tOyjRoUuVXIo1z1pNU32jALWkMmhzsSaDrhLtuOn3Ts=
github.com/openziti/runzmd v1.0.33/go.mod h1:8c/uvZR/XWXQNllTq6LuTpfKL2DTNxfI2X2wYhgRwik=
github.com/openziti/secretstream v0.1.32 h1:89/ZVcwIQjdVmWDfVRfMEChJJXTLXJ59AYBw5j646M4=
Expand Down
7 changes: 4 additions & 3 deletions example/influxdb-client-go/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ require (
github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d // indirect
github.com/chenzhuoyu/iasm v0.9.0 // indirect
github.com/deepmap/oapi-codegen v1.15.0 // indirect
github.com/emirpasic/gods v1.18.1 // indirect
github.com/fatih/structs v1.1.0 // indirect
github.com/flosch/pongo2/v4 v4.0.2 // indirect
github.com/fsnotify/fsnotify v1.8.0 // indirect
Expand Down Expand Up @@ -93,11 +94,11 @@ require (
github.com/muhlemmer/gu v0.3.1 // indirect
github.com/oklog/ulid v1.3.1 // indirect
github.com/opentracing/opentracing-go v1.2.0 // indirect
github.com/openziti/channel/v4 v4.0.4 // indirect
github.com/openziti/channel/v4 v4.0.6 // indirect
github.com/openziti/edge-api v0.26.42 // indirect
github.com/openziti/foundation/v2 v2.0.59 // indirect
github.com/openziti/identity v1.0.100 // indirect
github.com/openziti/metrics v1.4.0 // indirect
github.com/openziti/identity v1.0.101 // indirect
github.com/openziti/metrics v1.4.1 // indirect
github.com/openziti/secretstream v0.1.32 // indirect
github.com/openziti/transport/v2 v2.0.168 // indirect
github.com/orcaman/concurrent-map/v2 v2.0.1 // indirect
Expand Down
12 changes: 6 additions & 6 deletions example/influxdb-client-go/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -413,16 +413,16 @@ github.com/onsi/gomega v1.13.0 h1:7lLHu94wT9Ij0o6EWWclhu0aOh32VxhkwEJvzuWPeak=
github.com/onsi/gomega v1.13.0/go.mod h1:lRk9szgn8TxENtWd0Tp4c3wjlRfMTMH27I+3Je41yGY=
github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs=
github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc=
github.com/openziti/channel/v4 v4.0.4 h1:t/hMkKuZ2kqgenztcKjhdgrO/a5Kg2xZNNWB217UMvc=
github.com/openziti/channel/v4 v4.0.4/go.mod h1:ekqQwL27nKufMN8nB0jO+bjj9QfOCiPM0GCPllUSK60=
github.com/openziti/channel/v4 v4.0.6 h1:pcIn9xNnQXnenHoaOt347nG0dmnsisomnEIPq4F5YHI=
github.com/openziti/channel/v4 v4.0.6/go.mod h1:sU3S/MToQHES1V22O+xtQbX0QSteoMo6RzQiEMfir+w=
github.com/openziti/edge-api v0.26.42 h1:Wi/BUttSUvedT9XGht7vi/zI/TNGc3ApvjkAviWhauA=
github.com/openziti/edge-api v0.26.42/go.mod h1:sYHVpm26Jr1u7VooNJzTb2b2nGSlmCHMnbGC8XfWSng=
github.com/openziti/foundation/v2 v2.0.59 h1:PJwrcTq62x+cONBeKMlnsuphsTlOvTz8j8prYnehm8o=
github.com/openziti/foundation/v2 v2.0.59/go.mod h1:76gmsdIBHvv4O3I0TuFBfO58Rv7YN8FA0ojwYz27ZxE=
github.com/openziti/identity v1.0.100 h1:FTkbhykDCMw1z/wxEeDfmq1aBp2tLRjZ3ggioRT4pg8=
github.com/openziti/identity v1.0.100/go.mod h1:E4SHqfXaZldDCo/GIdSD/Xg61obuolWYg9Qe8lqGUrQ=
github.com/openziti/metrics v1.4.0 h1:uZALaZINoTFqRE3XcVZ/xGuvXJpDhn/a0kxaX586lzE=
github.com/openziti/metrics v1.4.0/go.mod h1:MOLcoTxhPNla6+NWUCMVTnl1PNqTU40qrbKVa/lVVgg=
github.com/openziti/identity v1.0.101 h1:XujPT6eCv3Gqsodh9846EoWfQZwDAFrjPLxm1cipveY=
github.com/openziti/identity v1.0.101/go.mod h1:OZLcSf2wGqAa7/8SmbwLQxv0Gsv4i4pxTk83WPHIr+o=
github.com/openziti/metrics v1.4.1 h1:JMnfmW8liTzmqJpd7HDPCSvDDFg1UrE0WoLhW9XdIG8=
github.com/openziti/metrics v1.4.1/go.mod h1:MOLcoTxhPNla6+NWUCMVTnl1PNqTU40qrbKVa/lVVgg=
github.com/openziti/secretstream v0.1.32 h1:89/ZVcwIQjdVmWDfVRfMEChJJXTLXJ59AYBw5j646M4=
github.com/openziti/secretstream v0.1.32/go.mod h1:8YaIbjyMwBeKQ7eOYcoVPKHT10u+4OVPXpnZAeDzC6o=
github.com/openziti/transport/v2 v2.0.168 h1:1Anf7X+4xmSKQ12GdPJFhoMZi04QxgD4MJu3agFc1R4=
Expand Down
8 changes: 4 additions & 4 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ toolchain go1.23.1
require (
github.com/Jeffail/gabs v1.4.0
github.com/cenkalti/backoff/v4 v4.3.0
github.com/emirpasic/gods v1.18.1
github.com/fullsailor/pkcs7 v0.0.0-20190404230743-d7302db945fa
github.com/go-openapi/runtime v0.28.0
github.com/go-openapi/strfmt v0.23.0
Expand All @@ -17,11 +18,11 @@ require (
github.com/michaelquigley/pfxlog v0.6.10
github.com/mitchellh/go-ps v1.0.0
github.com/mitchellh/mapstructure v1.5.0
github.com/openziti/channel/v4 v4.0.4
github.com/openziti/channel/v4 v4.0.6
github.com/openziti/edge-api v0.26.42
github.com/openziti/foundation/v2 v2.0.59
github.com/openziti/identity v1.0.100
github.com/openziti/metrics v1.4.0
github.com/openziti/identity v1.0.101
github.com/openziti/metrics v1.4.1
github.com/openziti/secretstream v0.1.32
github.com/openziti/transport/v2 v2.0.168
github.com/orcaman/concurrent-map/v2 v2.0.1
Expand All @@ -40,7 +41,6 @@ require (
require (
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/emirpasic/gods v1.18.1 // indirect
github.com/fsnotify/fsnotify v1.8.0 // indirect
github.com/go-logr/logr v1.4.2 // indirect
github.com/go-logr/stdr v1.2.2 // indirect
Expand Down
12 changes: 6 additions & 6 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -299,16 +299,16 @@ github.com/onsi/gomega v1.13.0 h1:7lLHu94wT9Ij0o6EWWclhu0aOh32VxhkwEJvzuWPeak=
github.com/onsi/gomega v1.13.0/go.mod h1:lRk9szgn8TxENtWd0Tp4c3wjlRfMTMH27I+3Je41yGY=
github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs=
github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc=
github.com/openziti/channel/v4 v4.0.4 h1:t/hMkKuZ2kqgenztcKjhdgrO/a5Kg2xZNNWB217UMvc=
github.com/openziti/channel/v4 v4.0.4/go.mod h1:ekqQwL27nKufMN8nB0jO+bjj9QfOCiPM0GCPllUSK60=
github.com/openziti/channel/v4 v4.0.6 h1:pcIn9xNnQXnenHoaOt347nG0dmnsisomnEIPq4F5YHI=
github.com/openziti/channel/v4 v4.0.6/go.mod h1:sU3S/MToQHES1V22O+xtQbX0QSteoMo6RzQiEMfir+w=
github.com/openziti/edge-api v0.26.42 h1:Wi/BUttSUvedT9XGht7vi/zI/TNGc3ApvjkAviWhauA=
github.com/openziti/edge-api v0.26.42/go.mod h1:sYHVpm26Jr1u7VooNJzTb2b2nGSlmCHMnbGC8XfWSng=
github.com/openziti/foundation/v2 v2.0.59 h1:PJwrcTq62x+cONBeKMlnsuphsTlOvTz8j8prYnehm8o=
github.com/openziti/foundation/v2 v2.0.59/go.mod h1:76gmsdIBHvv4O3I0TuFBfO58Rv7YN8FA0ojwYz27ZxE=
github.com/openziti/identity v1.0.100 h1:FTkbhykDCMw1z/wxEeDfmq1aBp2tLRjZ3ggioRT4pg8=
github.com/openziti/identity v1.0.100/go.mod h1:E4SHqfXaZldDCo/GIdSD/Xg61obuolWYg9Qe8lqGUrQ=
github.com/openziti/metrics v1.4.0 h1:uZALaZINoTFqRE3XcVZ/xGuvXJpDhn/a0kxaX586lzE=
github.com/openziti/metrics v1.4.0/go.mod h1:MOLcoTxhPNla6+NWUCMVTnl1PNqTU40qrbKVa/lVVgg=
github.com/openziti/identity v1.0.101 h1:XujPT6eCv3Gqsodh9846EoWfQZwDAFrjPLxm1cipveY=
github.com/openziti/identity v1.0.101/go.mod h1:OZLcSf2wGqAa7/8SmbwLQxv0Gsv4i4pxTk83WPHIr+o=
github.com/openziti/metrics v1.4.1 h1:JMnfmW8liTzmqJpd7HDPCSvDDFg1UrE0WoLhW9XdIG8=
github.com/openziti/metrics v1.4.1/go.mod h1:MOLcoTxhPNla6+NWUCMVTnl1PNqTU40qrbKVa/lVVgg=
github.com/openziti/secretstream v0.1.32 h1:89/ZVcwIQjdVmWDfVRfMEChJJXTLXJ59AYBw5j646M4=
github.com/openziti/secretstream v0.1.32/go.mod h1:8YaIbjyMwBeKQ7eOYcoVPKHT10u+4OVPXpnZAeDzC6o=
github.com/openziti/transport/v2 v2.0.168 h1:1Anf7X+4xmSKQ12GdPJFhoMZi04QxgD4MJu3agFc1R4=
Expand Down
7 changes: 7 additions & 0 deletions inspect/inspect.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package inspect

type SdkInspectResponse struct {
Errors []string `json:"errors"`
Success bool `json:"success"`
Values map[string]any `json:"values"`
}
Loading
Loading