Skip to content

Commit 61f1085

Browse files
committed
Support multi-underlay channels for edge connections. Fixes #701
1 parent 49355a3 commit 61f1085

File tree

19 files changed

+385
-89
lines changed

19 files changed

+385
-89
lines changed

CHANGELOG.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,34 @@
1+
# Release notes 1.0.0
2+
3+
## What's New
4+
5+
* Multi-connection support to edge routers
6+
* Major version set to 1, to indicate compatibility with OpenZiti v1+
7+
8+
## Multi-connection support to edge router
9+
10+
If the `EnableSeparateControlPlaneConnection` is set to true in `ziti.Config`,
11+
the SDK will attempt to use a separate connection to each ER for control messaging.
12+
If the router does not support this feature, then the SDK will fallback to using
13+
a single connection.
14+
15+
Using a separate connection for control messaging will ensure that control messages
16+
such as dials do not get stuck behind data messages. This is mostly important for
17+
SDKs which are being used to host services or client side applications which are
18+
multiplexing multiple connections, for example proxies and tunnelers.
19+
20+
## Issues Fixed and Dependency Updates
21+
22+
* github.com/openziti/sdk-golang: [v0.25.2 -> v1.0.0](https://github.com/openziti/sdk-golang/compare/v0.25.2...v1.0.0)
23+
* [Issue #701](https://github.com/openziti/sdk-golang/issues/701) - Support multi-underlay channels for edge router connections
24+
25+
* github.com/openziti/channel/v4: [v4.0.1 -> v4.0.3](https://github.com/openziti/channel/compare/v4.0.1...v4.0.3)
26+
* [Issue #176](https://github.com/openziti/channel/issues/176) - Multi-channel need a mechanism to notify the txer that the underlay has closed
27+
28+
* github.com/openziti/metrics: [v1.3.0 -> v1.4.0](https://github.com/openziti/metrics/compare/v1.3.0...v1.4.0)
29+
* github.com/openziti/transport/v2: [v2.0.167 -> v2.0.168](https://github.com/openziti/transport/compare/v2.0.167...v2.0.168)
30+
* golang.org/x/net: v0.37.0 -> v0.38.0
31+
132
# Release notes 0.25.2
233

334
## What's New

example/go.mod

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ require (
1414
github.com/openziti/foundation/v2 v2.0.59
1515
github.com/openziti/runzmd v1.0.33
1616
github.com/openziti/sdk-golang v0.0.0
17-
github.com/openziti/transport/v2 v2.0.167
17+
github.com/openziti/transport/v2 v2.0.168
1818
github.com/pkg/errors v0.9.1
1919
github.com/sirupsen/logrus v1.9.3
2020
github.com/spf13/cobra v1.9.1
@@ -79,10 +79,10 @@ require (
7979
github.com/muhlemmer/gu v0.3.1 // indirect
8080
github.com/oklog/ulid v1.3.1 // indirect
8181
github.com/opentracing/opentracing-go v1.2.0 // indirect
82-
github.com/openziti/channel/v4 v4.0.1 // indirect
82+
github.com/openziti/channel/v4 v4.0.3 // indirect
8383
github.com/openziti/edge-api v0.26.42 // indirect
8484
github.com/openziti/identity v1.0.100 // indirect
85-
github.com/openziti/metrics v1.3.0 // indirect
85+
github.com/openziti/metrics v1.4.0 // indirect
8686
github.com/openziti/secretstream v0.1.32 // indirect
8787
github.com/orcaman/concurrent-map/v2 v2.0.1 // indirect
8888
github.com/parallaxsecond/parsec-client-go v0.0.0-20221025095442-f0a77d263cf9 // indirect
@@ -117,7 +117,7 @@ require (
117117
golang.org/x/crypto v0.36.0 // indirect
118118
golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 // indirect
119119
golang.org/x/image v0.18.0 // indirect
120-
golang.org/x/net v0.37.0 // indirect
120+
golang.org/x/net v0.38.0 // indirect
121121
golang.org/x/oauth2 v0.28.0 // indirect
122122
golang.org/x/sync v0.12.0 // indirect
123123
golang.org/x/sys v0.31.0 // indirect

example/go.sum

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -358,22 +358,22 @@ github.com/onsi/gomega v1.13.0 h1:7lLHu94wT9Ij0o6EWWclhu0aOh32VxhkwEJvzuWPeak=
358358
github.com/onsi/gomega v1.13.0/go.mod h1:lRk9szgn8TxENtWd0Tp4c3wjlRfMTMH27I+3Je41yGY=
359359
github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs=
360360
github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc=
361-
github.com/openziti/channel/v4 v4.0.1 h1:C95j0IVnOiBZeeVmssb7A45vPgc17H9IouemX2KNPJs=
362-
github.com/openziti/channel/v4 v4.0.1/go.mod h1:rhQ7RnsO5UQ9qZhyyRwc7nGg0VdGAEbP7ug04FfAxAo=
361+
github.com/openziti/channel/v4 v4.0.3 h1:lONmg4TgiPxqUdgZzc69hRSwnvH1WZF+xXP3nfbI+aU=
362+
github.com/openziti/channel/v4 v4.0.3/go.mod h1:ekqQwL27nKufMN8nB0jO+bjj9QfOCiPM0GCPllUSK60=
363363
github.com/openziti/edge-api v0.26.42 h1:Wi/BUttSUvedT9XGht7vi/zI/TNGc3ApvjkAviWhauA=
364364
github.com/openziti/edge-api v0.26.42/go.mod h1:sYHVpm26Jr1u7VooNJzTb2b2nGSlmCHMnbGC8XfWSng=
365365
github.com/openziti/foundation/v2 v2.0.59 h1:PJwrcTq62x+cONBeKMlnsuphsTlOvTz8j8prYnehm8o=
366366
github.com/openziti/foundation/v2 v2.0.59/go.mod h1:76gmsdIBHvv4O3I0TuFBfO58Rv7YN8FA0ojwYz27ZxE=
367367
github.com/openziti/identity v1.0.100 h1:FTkbhykDCMw1z/wxEeDfmq1aBp2tLRjZ3ggioRT4pg8=
368368
github.com/openziti/identity v1.0.100/go.mod h1:E4SHqfXaZldDCo/GIdSD/Xg61obuolWYg9Qe8lqGUrQ=
369-
github.com/openziti/metrics v1.3.0 h1:oeythnUY2gs48MYM/HelAbJupfP/u81VYKMEwaGHeRM=
370-
github.com/openziti/metrics v1.3.0/go.mod h1:MOLcoTxhPNla6+NWUCMVTnl1PNqTU40qrbKVa/lVVgg=
369+
github.com/openziti/metrics v1.4.0 h1:uZALaZINoTFqRE3XcVZ/xGuvXJpDhn/a0kxaX586lzE=
370+
github.com/openziti/metrics v1.4.0/go.mod h1:MOLcoTxhPNla6+NWUCMVTnl1PNqTU40qrbKVa/lVVgg=
371371
github.com/openziti/runzmd v1.0.33 h1:tOyjRoUuVXIo1z1pNU32jALWkMmhzsSaDrhLtuOn3Ts=
372372
github.com/openziti/runzmd v1.0.33/go.mod h1:8c/uvZR/XWXQNllTq6LuTpfKL2DTNxfI2X2wYhgRwik=
373373
github.com/openziti/secretstream v0.1.32 h1:89/ZVcwIQjdVmWDfVRfMEChJJXTLXJ59AYBw5j646M4=
374374
github.com/openziti/secretstream v0.1.32/go.mod h1:8YaIbjyMwBeKQ7eOYcoVPKHT10u+4OVPXpnZAeDzC6o=
375-
github.com/openziti/transport/v2 v2.0.167 h1:KE2u04cPAO+Xx9eidcYMhAwoGccXZOVnqmhG7nWeuBo=
376-
github.com/openziti/transport/v2 v2.0.167/go.mod h1:RYom6Xjt8gZaCmL0t4FrIcM46RfvqDtoRSUixq8V+mI=
375+
github.com/openziti/transport/v2 v2.0.168 h1:1Anf7X+4xmSKQ12GdPJFhoMZi04QxgD4MJu3agFc1R4=
376+
github.com/openziti/transport/v2 v2.0.168/go.mod h1:vE9FGxPB6I89SWun5mOz3Tuz2QDctwNfB4oqDIdzPoM=
377377
github.com/orcaman/concurrent-map/v2 v2.0.1 h1:jOJ5Pg2w1oeB6PeDurIYf6k9PQ+aTITr/6lP/L/zp6c=
378378
github.com/orcaman/concurrent-map/v2 v2.0.1/go.mod h1:9Eq3TG2oBe5FirmYWQfYO5iH1q0Jv47PLaNK++uCdOM=
379379
github.com/parallaxsecond/parsec-client-go v0.0.0-20221025095442-f0a77d263cf9 h1:mOvehYivJ4Aqu2CPe3D3lv8jhqOI9/1o0THxJHBE0qw=
@@ -614,8 +614,8 @@ golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96b
614614
golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
615615
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
616616
golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco=
617-
golang.org/x/net v0.37.0 h1:1zLorHbz+LYj7MQlSf1+2tPIIgibq2eL5xkrGk6f+2c=
618-
golang.org/x/net v0.37.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8=
617+
golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8=
618+
golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8=
619619
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
620620
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
621621
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=

example/influxdb-client-go/go.mod

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -93,13 +93,13 @@ require (
9393
github.com/muhlemmer/gu v0.3.1 // indirect
9494
github.com/oklog/ulid v1.3.1 // indirect
9595
github.com/opentracing/opentracing-go v1.2.0 // indirect
96-
github.com/openziti/channel/v4 v4.0.1 // indirect
96+
github.com/openziti/channel/v4 v4.0.3 // indirect
9797
github.com/openziti/edge-api v0.26.42 // indirect
9898
github.com/openziti/foundation/v2 v2.0.59 // indirect
9999
github.com/openziti/identity v1.0.100 // indirect
100-
github.com/openziti/metrics v1.3.0 // indirect
100+
github.com/openziti/metrics v1.4.0 // indirect
101101
github.com/openziti/secretstream v0.1.32 // indirect
102-
github.com/openziti/transport/v2 v2.0.167 // indirect
102+
github.com/openziti/transport/v2 v2.0.168 // indirect
103103
github.com/orcaman/concurrent-map/v2 v2.0.1 // indirect
104104
github.com/parallaxsecond/parsec-client-go v0.0.0-20221025095442-f0a77d263cf9 // indirect
105105
github.com/pelletier/go-toml/v2 v2.1.0 // indirect
@@ -132,7 +132,7 @@ require (
132132
golang.org/x/arch v0.5.0 // indirect
133133
golang.org/x/crypto v0.36.0 // indirect
134134
golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 // indirect
135-
golang.org/x/net v0.37.0 // indirect
135+
golang.org/x/net v0.38.0 // indirect
136136
golang.org/x/oauth2 v0.28.0 // indirect
137137
golang.org/x/sync v0.12.0 // indirect
138138
golang.org/x/sys v0.31.0 // indirect

example/influxdb-client-go/go.sum

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -413,20 +413,20 @@ github.com/onsi/gomega v1.13.0 h1:7lLHu94wT9Ij0o6EWWclhu0aOh32VxhkwEJvzuWPeak=
413413
github.com/onsi/gomega v1.13.0/go.mod h1:lRk9szgn8TxENtWd0Tp4c3wjlRfMTMH27I+3Je41yGY=
414414
github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs=
415415
github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc=
416-
github.com/openziti/channel/v4 v4.0.1 h1:C95j0IVnOiBZeeVmssb7A45vPgc17H9IouemX2KNPJs=
417-
github.com/openziti/channel/v4 v4.0.1/go.mod h1:rhQ7RnsO5UQ9qZhyyRwc7nGg0VdGAEbP7ug04FfAxAo=
416+
github.com/openziti/channel/v4 v4.0.3 h1:lONmg4TgiPxqUdgZzc69hRSwnvH1WZF+xXP3nfbI+aU=
417+
github.com/openziti/channel/v4 v4.0.3/go.mod h1:ekqQwL27nKufMN8nB0jO+bjj9QfOCiPM0GCPllUSK60=
418418
github.com/openziti/edge-api v0.26.42 h1:Wi/BUttSUvedT9XGht7vi/zI/TNGc3ApvjkAviWhauA=
419419
github.com/openziti/edge-api v0.26.42/go.mod h1:sYHVpm26Jr1u7VooNJzTb2b2nGSlmCHMnbGC8XfWSng=
420420
github.com/openziti/foundation/v2 v2.0.59 h1:PJwrcTq62x+cONBeKMlnsuphsTlOvTz8j8prYnehm8o=
421421
github.com/openziti/foundation/v2 v2.0.59/go.mod h1:76gmsdIBHvv4O3I0TuFBfO58Rv7YN8FA0ojwYz27ZxE=
422422
github.com/openziti/identity v1.0.100 h1:FTkbhykDCMw1z/wxEeDfmq1aBp2tLRjZ3ggioRT4pg8=
423423
github.com/openziti/identity v1.0.100/go.mod h1:E4SHqfXaZldDCo/GIdSD/Xg61obuolWYg9Qe8lqGUrQ=
424-
github.com/openziti/metrics v1.3.0 h1:oeythnUY2gs48MYM/HelAbJupfP/u81VYKMEwaGHeRM=
425-
github.com/openziti/metrics v1.3.0/go.mod h1:MOLcoTxhPNla6+NWUCMVTnl1PNqTU40qrbKVa/lVVgg=
424+
github.com/openziti/metrics v1.4.0 h1:uZALaZINoTFqRE3XcVZ/xGuvXJpDhn/a0kxaX586lzE=
425+
github.com/openziti/metrics v1.4.0/go.mod h1:MOLcoTxhPNla6+NWUCMVTnl1PNqTU40qrbKVa/lVVgg=
426426
github.com/openziti/secretstream v0.1.32 h1:89/ZVcwIQjdVmWDfVRfMEChJJXTLXJ59AYBw5j646M4=
427427
github.com/openziti/secretstream v0.1.32/go.mod h1:8YaIbjyMwBeKQ7eOYcoVPKHT10u+4OVPXpnZAeDzC6o=
428-
github.com/openziti/transport/v2 v2.0.167 h1:KE2u04cPAO+Xx9eidcYMhAwoGccXZOVnqmhG7nWeuBo=
429-
github.com/openziti/transport/v2 v2.0.167/go.mod h1:RYom6Xjt8gZaCmL0t4FrIcM46RfvqDtoRSUixq8V+mI=
428+
github.com/openziti/transport/v2 v2.0.168 h1:1Anf7X+4xmSKQ12GdPJFhoMZi04QxgD4MJu3agFc1R4=
429+
github.com/openziti/transport/v2 v2.0.168/go.mod h1:vE9FGxPB6I89SWun5mOz3Tuz2QDctwNfB4oqDIdzPoM=
430430
github.com/orcaman/concurrent-map/v2 v2.0.1 h1:jOJ5Pg2w1oeB6PeDurIYf6k9PQ+aTITr/6lP/L/zp6c=
431431
github.com/orcaman/concurrent-map/v2 v2.0.1/go.mod h1:9Eq3TG2oBe5FirmYWQfYO5iH1q0Jv47PLaNK++uCdOM=
432432
github.com/parallaxsecond/parsec-client-go v0.0.0-20221025095442-f0a77d263cf9 h1:mOvehYivJ4Aqu2CPe3D3lv8jhqOI9/1o0THxJHBE0qw=
@@ -671,8 +671,8 @@ golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96b
671671
golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
672672
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
673673
golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco=
674-
golang.org/x/net v0.37.0 h1:1zLorHbz+LYj7MQlSf1+2tPIIgibq2eL5xkrGk6f+2c=
675-
golang.org/x/net v0.37.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8=
674+
golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8=
675+
golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8=
676676
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
677677
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
678678
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=

go.mod

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ toolchain go1.23.1
77
require (
88
github.com/Jeffail/gabs v1.4.0
99
github.com/cenkalti/backoff/v4 v4.3.0
10+
github.com/emirpasic/gods v1.18.1
1011
github.com/fullsailor/pkcs7 v0.0.0-20190404230743-d7302db945fa
1112
github.com/go-openapi/runtime v0.28.0
1213
github.com/go-openapi/strfmt v0.23.0
@@ -17,13 +18,13 @@ require (
1718
github.com/michaelquigley/pfxlog v0.6.10
1819
github.com/mitchellh/go-ps v1.0.0
1920
github.com/mitchellh/mapstructure v1.5.0
20-
github.com/openziti/channel/v4 v4.0.1
21+
github.com/openziti/channel/v4 v4.0.3
2122
github.com/openziti/edge-api v0.26.42
2223
github.com/openziti/foundation/v2 v2.0.59
2324
github.com/openziti/identity v1.0.100
24-
github.com/openziti/metrics v1.3.0
25+
github.com/openziti/metrics v1.4.0
2526
github.com/openziti/secretstream v0.1.32
26-
github.com/openziti/transport/v2 v2.0.167
27+
github.com/openziti/transport/v2 v2.0.168
2728
github.com/orcaman/concurrent-map/v2 v2.0.1
2829
github.com/pkg/errors v0.9.1
2930
github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475
@@ -40,7 +41,6 @@ require (
4041
require (
4142
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect
4243
github.com/davecgh/go-spew v1.1.1 // indirect
43-
github.com/emirpasic/gods v1.18.1 // indirect
4444
github.com/fsnotify/fsnotify v1.8.0 // indirect
4545
github.com/go-logr/logr v1.4.2 // indirect
4646
github.com/go-logr/stdr v1.2.2 // indirect
@@ -80,7 +80,7 @@ require (
8080
go.opentelemetry.io/otel/metric v1.29.0 // indirect
8181
go.opentelemetry.io/otel/trace v1.29.0 // indirect
8282
golang.org/x/crypto v0.36.0 // indirect
83-
golang.org/x/net v0.37.0 // indirect
83+
golang.org/x/net v0.38.0 // indirect
8484
golang.org/x/sync v0.12.0 // indirect
8585
golang.org/x/term v0.30.0 // indirect
8686
golang.org/x/text v0.23.0 // indirect

go.sum

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -299,20 +299,20 @@ github.com/onsi/gomega v1.13.0 h1:7lLHu94wT9Ij0o6EWWclhu0aOh32VxhkwEJvzuWPeak=
299299
github.com/onsi/gomega v1.13.0/go.mod h1:lRk9szgn8TxENtWd0Tp4c3wjlRfMTMH27I+3Je41yGY=
300300
github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs=
301301
github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc=
302-
github.com/openziti/channel/v4 v4.0.1 h1:C95j0IVnOiBZeeVmssb7A45vPgc17H9IouemX2KNPJs=
303-
github.com/openziti/channel/v4 v4.0.1/go.mod h1:rhQ7RnsO5UQ9qZhyyRwc7nGg0VdGAEbP7ug04FfAxAo=
302+
github.com/openziti/channel/v4 v4.0.3 h1:lONmg4TgiPxqUdgZzc69hRSwnvH1WZF+xXP3nfbI+aU=
303+
github.com/openziti/channel/v4 v4.0.3/go.mod h1:ekqQwL27nKufMN8nB0jO+bjj9QfOCiPM0GCPllUSK60=
304304
github.com/openziti/edge-api v0.26.42 h1:Wi/BUttSUvedT9XGht7vi/zI/TNGc3ApvjkAviWhauA=
305305
github.com/openziti/edge-api v0.26.42/go.mod h1:sYHVpm26Jr1u7VooNJzTb2b2nGSlmCHMnbGC8XfWSng=
306306
github.com/openziti/foundation/v2 v2.0.59 h1:PJwrcTq62x+cONBeKMlnsuphsTlOvTz8j8prYnehm8o=
307307
github.com/openziti/foundation/v2 v2.0.59/go.mod h1:76gmsdIBHvv4O3I0TuFBfO58Rv7YN8FA0ojwYz27ZxE=
308308
github.com/openziti/identity v1.0.100 h1:FTkbhykDCMw1z/wxEeDfmq1aBp2tLRjZ3ggioRT4pg8=
309309
github.com/openziti/identity v1.0.100/go.mod h1:E4SHqfXaZldDCo/GIdSD/Xg61obuolWYg9Qe8lqGUrQ=
310-
github.com/openziti/metrics v1.3.0 h1:oeythnUY2gs48MYM/HelAbJupfP/u81VYKMEwaGHeRM=
311-
github.com/openziti/metrics v1.3.0/go.mod h1:MOLcoTxhPNla6+NWUCMVTnl1PNqTU40qrbKVa/lVVgg=
310+
github.com/openziti/metrics v1.4.0 h1:uZALaZINoTFqRE3XcVZ/xGuvXJpDhn/a0kxaX586lzE=
311+
github.com/openziti/metrics v1.4.0/go.mod h1:MOLcoTxhPNla6+NWUCMVTnl1PNqTU40qrbKVa/lVVgg=
312312
github.com/openziti/secretstream v0.1.32 h1:89/ZVcwIQjdVmWDfVRfMEChJJXTLXJ59AYBw5j646M4=
313313
github.com/openziti/secretstream v0.1.32/go.mod h1:8YaIbjyMwBeKQ7eOYcoVPKHT10u+4OVPXpnZAeDzC6o=
314-
github.com/openziti/transport/v2 v2.0.167 h1:KE2u04cPAO+Xx9eidcYMhAwoGccXZOVnqmhG7nWeuBo=
315-
github.com/openziti/transport/v2 v2.0.167/go.mod h1:RYom6Xjt8gZaCmL0t4FrIcM46RfvqDtoRSUixq8V+mI=
314+
github.com/openziti/transport/v2 v2.0.168 h1:1Anf7X+4xmSKQ12GdPJFhoMZi04QxgD4MJu3agFc1R4=
315+
github.com/openziti/transport/v2 v2.0.168/go.mod h1:vE9FGxPB6I89SWun5mOz3Tuz2QDctwNfB4oqDIdzPoM=
316316
github.com/orcaman/concurrent-map/v2 v2.0.1 h1:jOJ5Pg2w1oeB6PeDurIYf6k9PQ+aTITr/6lP/L/zp6c=
317317
github.com/orcaman/concurrent-map/v2 v2.0.1/go.mod h1:9Eq3TG2oBe5FirmYWQfYO5iH1q0Jv47PLaNK++uCdOM=
318318
github.com/parallaxsecond/parsec-client-go v0.0.0-20221025095442-f0a77d263cf9 h1:mOvehYivJ4Aqu2CPe3D3lv8jhqOI9/1o0THxJHBE0qw=
@@ -497,8 +497,8 @@ golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLd
497497
golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
498498
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
499499
golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco=
500-
golang.org/x/net v0.37.0 h1:1zLorHbz+LYj7MQlSf1+2tPIIgibq2eL5xkrGk6f+2c=
501-
golang.org/x/net v0.37.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8=
500+
golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8=
501+
golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8=
502502
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
503503
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
504504
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=

version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.25
1+
1.0

ziti/config.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,15 @@ type Config struct {
6060

6161
//Allows providing a function which controls how/where connections to a router are proxied.
6262
RouterProxy func(addr string) *transport.ProxyConfiguration `json:"-"`
63+
64+
// If set to true, the sdk will attempt to create a separate connection to edge routers for control plane data,
65+
// such as dials. This flag should not be considered part of the stable API yet. It may default to true at
66+
// some point in the future or be removed.
67+
EnableSeparateControlPlaneConnection bool `json:"-"`
68+
}
69+
70+
func (cfg *Config) SetSeparateControlPlaneConnectionEnabled(enabled bool) {
71+
cfg.EnableSeparateControlPlaneConnection = enabled
6372
}
6473

6574
// NewConfig will create a new Config object from a provided Ziti Edge Client API URL and identity configuration.

ziti/contexts.go

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -82,13 +82,14 @@ func NewContextWithOpts(cfg *Config, options *Options) (Context, error) {
8282
}
8383

8484
newContext := &ContextImpl{
85-
Id: NewId(),
86-
routerConnections: cmap.New[edge.RouterConn](),
87-
options: options,
88-
authQueryHandlers: map[string]func(query *rest_model.AuthQueryDetail, response MfaCodeResponse) error{},
89-
closeNotify: make(chan struct{}),
90-
EventEmmiter: events.New(),
91-
routerProxy: cfg.RouterProxy,
85+
Id: NewId(),
86+
routerConnections: cmap.New[edge.RouterConn](),
87+
options: options,
88+
authQueryHandlers: map[string]func(query *rest_model.AuthQueryDetail, response MfaCodeResponse) error{},
89+
closeNotify: make(chan struct{}),
90+
EventEmmiter: events.New(),
91+
routerProxy: cfg.RouterProxy,
92+
enableCtrlPlaneConnection: cfg.EnableSeparateControlPlaneConnection,
9293
}
9394

9495
if cfg.ID.Cert != "" && cfg.ID.Key != "" {

0 commit comments

Comments
 (0)