mirror of
https://github.com/openziti/ziti.git
synced 2026-10-12 15:28:05 +00:00
Merge pull request #740 from openziti/fix-github-install
fix github install
This commit is contained in:
@@ -1,3 +1,21 @@
|
||||
# Release 0.25.11
|
||||
|
||||
## What's New
|
||||
- Edge
|
||||
- Bug fixes
|
||||
- Fabric
|
||||
- N/A
|
||||
- Ziti CLI
|
||||
- N/A
|
||||
- SDK Golang
|
||||
- N/A
|
||||
|
||||
# Edge
|
||||
## Bug Fixes
|
||||
|
||||
* https://github.com/openziti/edge/issues/1027
|
||||
* https://github.com/openziti/edge/issues/1025
|
||||
|
||||
# Release 0.25.10
|
||||
|
||||
## What's New
|
||||
|
||||
@@ -21,13 +21,14 @@ require (
|
||||
github.com/jedib0t/go-pretty/v6 v6.2.4
|
||||
github.com/keybase/go-ps v0.0.0-20190827175125-91aafc93ba19
|
||||
github.com/michaelquigley/pfxlog v0.6.9
|
||||
github.com/openziti/channel v0.18.37
|
||||
github.com/openziti/edge v0.21.222
|
||||
github.com/openziti/fabric v0.17.137
|
||||
github.com/openziti/foundation v0.17.25
|
||||
github.com/openziti/sdk-golang v0.16.70
|
||||
github.com/openziti/storage v0.1.5
|
||||
github.com/openziti/transport/v2 v2.0.2
|
||||
github.com/openziti/channel v0.18.39
|
||||
github.com/openziti/edge v0.21.238
|
||||
github.com/openziti/fabric v0.18.0
|
||||
github.com/openziti/foundation v0.17.27
|
||||
github.com/openziti/sdk-golang v0.16.76
|
||||
github.com/openziti/storage v0.1.7
|
||||
github.com/openziti/transport/v2 v2.0.4
|
||||
github.com/openziti/xweb v1.0.0
|
||||
github.com/openziti/ziti-db-explorer v1.1.1
|
||||
github.com/pborman/uuid v1.2.0
|
||||
github.com/pkg/errors v0.9.1
|
||||
@@ -55,8 +56,10 @@ require (
|
||||
github.com/MichaelMure/go-term-text v0.3.1 // indirect
|
||||
github.com/andybalholm/brotli v1.0.4 // indirect
|
||||
github.com/antlr/antlr4/runtime/Go/antlr v0.0.0-20211106181442-e4c1a74c66bd // indirect
|
||||
github.com/armon/go-metrics v0.3.10 // indirect
|
||||
github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d // indirect
|
||||
github.com/biogo/store v0.0.0-20200525035639-8c94ae1e7c9c // indirect
|
||||
github.com/boltdb/bolt v1.3.1 // indirect
|
||||
github.com/c-bata/go-prompt v0.2.6 // indirect
|
||||
github.com/cenkalti/backoff/v4 v4.1.3 // indirect
|
||||
github.com/coreos/go-iptables v0.6.0 // indirect
|
||||
@@ -81,6 +84,7 @@ require (
|
||||
github.com/go-openapi/spec v0.20.6 // indirect
|
||||
github.com/go-openapi/swag v0.21.1 // indirect
|
||||
github.com/go-openapi/validate v0.21.0 // indirect
|
||||
github.com/go-resty/resty/v2 v2.7.0 // indirect
|
||||
github.com/go-stack/stack v1.8.1 // indirect
|
||||
github.com/golang-jwt/jwt v3.2.2+incompatible // indirect
|
||||
github.com/golang/protobuf v1.5.2 // indirect
|
||||
@@ -88,8 +92,13 @@ require (
|
||||
github.com/google/uuid v1.3.0 // indirect
|
||||
github.com/gorilla/handlers v1.5.1 // indirect
|
||||
github.com/gorilla/mux v1.8.0 // indirect
|
||||
github.com/hashicorp/go-hclog v1.2.0 // indirect
|
||||
github.com/hashicorp/go-immutable-radix v1.3.1 // indirect
|
||||
github.com/hashicorp/go-msgpack v0.5.5 // indirect
|
||||
github.com/hashicorp/golang-lru v0.5.4 // indirect
|
||||
github.com/hashicorp/hcl v1.0.0 // indirect
|
||||
github.com/hashicorp/raft v1.3.9 // indirect
|
||||
github.com/hashicorp/raft-boltdb v0.0.0-20220329195025-15018e9b97e0 // indirect
|
||||
github.com/inconshreveable/mousetrap v1.0.0 // indirect
|
||||
github.com/jessevdk/go-flags v1.5.0 // indirect
|
||||
github.com/jinzhu/copier v0.3.5 // indirect
|
||||
@@ -121,7 +130,7 @@ require (
|
||||
github.com/opentracing/opentracing-go v1.2.0 // indirect
|
||||
github.com/openziti/dilithium v0.3.3 // indirect
|
||||
github.com/openziti/x509-claims v1.0.2 // indirect
|
||||
github.com/orcaman/concurrent-map v0.0.0-20210106121528-16402b402231 // indirect
|
||||
github.com/orcaman/concurrent-map/v2 v2.0.0 // indirect
|
||||
github.com/parallaxsecond/parsec-client-go v0.0.0-20220111122524-cb78842db373 // indirect
|
||||
github.com/pelletier/go-toml v1.9.4 // indirect
|
||||
github.com/pkg/term v1.2.0-beta.2 // indirect
|
||||
@@ -145,12 +154,12 @@ require (
|
||||
github.com/yusufpapurcu/wmi v1.2.2 // indirect
|
||||
go.mongodb.org/mongo-driver v1.8.3 // indirect
|
||||
go.mozilla.org/pkcs7 v0.0.0-20200128120323-432b2356ecb1 // indirect
|
||||
golang.org/x/crypto v0.0.0-20220518034528-6f7dac969898 // indirect
|
||||
golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e // indirect
|
||||
golang.org/x/image v0.0.0-20191206065243-da761ea9ff43 // indirect
|
||||
golang.org/x/mod v0.5.1 // indirect
|
||||
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c // indirect
|
||||
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a // indirect
|
||||
golang.org/x/term v0.0.0-20220411215600-e5f449aeb171 // indirect
|
||||
golang.org/x/term v0.0.0-20220526004731-065cf7ba2467 // indirect
|
||||
golang.org/x/text v0.3.7 // indirect
|
||||
golang.org/x/tools v0.1.7 // indirect
|
||||
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect
|
||||
|
||||
@@ -63,6 +63,8 @@ github.com/Azure/go-autorest/tracing v0.1.0/go.mod h1:ROEEAFwXycQw7Sn3DXNtEedEvd
|
||||
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
|
||||
github.com/BurntSushi/toml v0.4.1 h1:GaI7EiDXDRfa8VshkTj7Fym7ha+y8/XxIgD2okUIjLw=
|
||||
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
|
||||
github.com/DataDog/datadog-go v2.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ=
|
||||
github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ=
|
||||
github.com/Jeffail/gabs v1.4.0 h1://5fYRRTq1edjfIrQGvdkcd22pkYUrHZ5YC/H2GJVAo=
|
||||
github.com/Jeffail/gabs v1.4.0/go.mod h1:6xMvQMK4k33lb7GUUpaAPh6nKMmemQeg5d4gn7/bOXc=
|
||||
github.com/Jeffail/gabs/v2 v2.6.1 h1:wwbE6nTQTwIMsMxzi6XFQQYRZ6wDc1mSdxoAN+9U4Gk=
|
||||
@@ -94,7 +96,9 @@ github.com/alecthomas/kong v0.2.4/go.mod h1:kQOmtJgV+Lb4aj+I2LEn40cbtawdWJ9Y8QLq
|
||||
github.com/alecthomas/repr v0.0.0-20180818092828-117648cd9897 h1:p9Sln00KOTlrYkxI1zYWl1QLnEqAqEARBEYa8FQnQcY=
|
||||
github.com/alecthomas/repr v0.0.0-20180818092828-117648cd9897/go.mod h1:xTS7Pm1pD1mvyM075QCDSRqH6qRLXylzS24ZTpRiSzQ=
|
||||
github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
|
||||
github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
|
||||
github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
|
||||
github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
|
||||
github.com/aliyun/alibaba-cloud-sdk-go v1.61.458/go.mod h1:pUKYbK5JQ+1Dfxk80P0qxGqe5dkxDoabbZS7zOcouyA=
|
||||
github.com/andybalholm/brotli v1.0.4 h1:V7DdXeJtZscaqfNuAdSRuRFzuiKlHSC/Zh3zl9qY3JY=
|
||||
github.com/andybalholm/brotli v1.0.4/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig=
|
||||
@@ -105,6 +109,10 @@ github.com/antlr/antlr4/runtime/Go/antlr v0.0.0-20211106181442-e4c1a74c66bd/go.m
|
||||
github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ=
|
||||
github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o=
|
||||
github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY=
|
||||
github.com/armon/go-metrics v0.0.0-20190430140413-ec5e00d3c878/go.mod h1:3AMJUQhVx52RsWOnlkpikZr01T/yAVN2gn0861vByNg=
|
||||
github.com/armon/go-metrics v0.3.8/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc=
|
||||
github.com/armon/go-metrics v0.3.10 h1:FR+drcQStOe+32sYyJYyZ7FIdgoGGBnwLl+flodp8Uo=
|
||||
github.com/armon/go-metrics v0.3.10/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc=
|
||||
github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8=
|
||||
github.com/asaskevich/govalidator v0.0.0-20200907205600-7a23bdc65eef/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw=
|
||||
github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d h1:Byv0BzEl3/e6D5CLfI0j/7hiIEtvGVFPCZ7Ei2oq8iQ=
|
||||
@@ -120,6 +128,8 @@ github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJm
|
||||
github.com/bketelsen/crypt v0.0.4/go.mod h1:aI6NrJ0pMGgvZKL1iVgXLnfIFJtfV+bKCoqOes/6LfM=
|
||||
github.com/blang/semver v3.5.1+incompatible h1:cQNTCjp13qL8KC3Nbxr/y2Bqb63oX6wdnnjpJbkM4JQ=
|
||||
github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk=
|
||||
github.com/boltdb/bolt v1.3.1 h1:JQmyP4ZBrce+ZQu0dY660FMfatumYDLun9hBCUVIkF4=
|
||||
github.com/boltdb/bolt v1.3.1/go.mod h1:clJnj/oiGkjum5o1McbSZDSLxVThjynRyGBgiAx27Ps=
|
||||
github.com/boombuler/barcode v1.0.1-0.20190219062509-6c824513bacc/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8=
|
||||
github.com/bradfitz/go-smtpd v0.0.0-20170404230938-deb6d6237625/go.mod h1:HYsPBTaaSFSlLx/70C2HPIMNZpVV8+vt/A+FMnYP11g=
|
||||
github.com/buger/jsonparser v0.0.0-20181115193947-bf1c66bbce23/go.mod h1:bbYlZJ7hK1yFx9hf58LP0zeX7UjIGs20ufpu3evjr+s=
|
||||
@@ -136,6 +146,8 @@ github.com/cheekybits/genny v1.0.0/go.mod h1:+tQajlRqAUrPI7DOSpB0XAqZYtQakVtB7wX
|
||||
github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=
|
||||
github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI=
|
||||
github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU=
|
||||
github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag=
|
||||
github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I=
|
||||
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
|
||||
github.com/cloudflare/cloudflare-go v0.13.2/go.mod h1:27kfc1apuifUmJhp069y0+hwlKDg4bd8LWlu7oKeZvM=
|
||||
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
|
||||
@@ -235,6 +247,7 @@ github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9
|
||||
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
|
||||
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
|
||||
github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
|
||||
github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
|
||||
github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=
|
||||
github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
|
||||
github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY=
|
||||
@@ -269,6 +282,8 @@ github.com/go-openapi/swag v0.21.1/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/e
|
||||
github.com/go-openapi/validate v0.21.0 h1:+Wqk39yKOhfpLqNLEC0/eViCkzM5FVXVqrvt526+wcI=
|
||||
github.com/go-openapi/validate v0.21.0/go.mod h1:rjnrwK57VJ7A8xqfpAOEKRH8yQSGUriMu5/zuPSQ1hg=
|
||||
github.com/go-resty/resty/v2 v2.1.1-0.20191201195748-d7b97669fe48/go.mod h1:dZGr0i9PLlaaTD4H/hoZIDjQ+r6xq8mgbRzHZf7f2J8=
|
||||
github.com/go-resty/resty/v2 v2.7.0 h1:me+K9p3uhSmXtrBZ4k9jcEAfJmuC8IivWHwaLZwPrFY=
|
||||
github.com/go-resty/resty/v2 v2.7.0/go.mod h1:9PWDzw47qPphMRFfhsyk0NnSgvluHcljSMVIq3w7q0I=
|
||||
github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
|
||||
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
|
||||
github.com/go-stack/stack v1.8.1 h1:ntEHSVwIt7PNXNpgPmVfMrNhLtgjlmnZha2kOpuRiDw=
|
||||
@@ -414,16 +429,26 @@ github.com/h2non/parth v0.0.0-20190131123155-b4df798d6542/go.mod h1:Ow0tF8D4Kplb
|
||||
github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q=
|
||||
github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8=
|
||||
github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
|
||||
github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80=
|
||||
github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80=
|
||||
github.com/hashicorp/go-hclog v0.9.1/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ=
|
||||
github.com/hashicorp/go-hclog v0.9.2/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ=
|
||||
github.com/hashicorp/go-hclog v1.2.0 h1:La19f8d7WIlm4ogzNHB0JGqs5AUDAZ2UfCY4sJXcJdM=
|
||||
github.com/hashicorp/go-hclog v1.2.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ=
|
||||
github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60=
|
||||
github.com/hashicorp/go-immutable-radix v1.3.1 h1:DKHmCUm2hRBK510BaiZlwvpD40f8bJFeZnpfm2KLowc=
|
||||
github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60=
|
||||
github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM=
|
||||
github.com/hashicorp/go-msgpack v0.5.5 h1:i9R9JSrqIz0QVLz3sz+i3YJdT7TTSLcfLLzJi9aZTuI=
|
||||
github.com/hashicorp/go-msgpack v0.5.5/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM=
|
||||
github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk=
|
||||
github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs=
|
||||
github.com/hashicorp/go-retryablehttp v0.6.6/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY=
|
||||
github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU=
|
||||
github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU=
|
||||
github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4=
|
||||
github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro=
|
||||
github.com/hashicorp/go-uuid v1.0.1 h1:fv1ep09latC32wFoVwnqcnKJGnMSdBanPczbHAYm1BE=
|
||||
github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro=
|
||||
github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90=
|
||||
github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
|
||||
@@ -435,6 +460,11 @@ github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T
|
||||
github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64=
|
||||
github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ=
|
||||
github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I=
|
||||
github.com/hashicorp/raft v1.1.0/go.mod h1:4Ak7FSPnuvmb0GV6vgIAJ4vYT4bek9bb6Q+7HVbyzqM=
|
||||
github.com/hashicorp/raft v1.3.9 h1:9yuo1aR0bFTr1cw7pj3S2Bk6MhJCsnr2NAxvIBrP2x4=
|
||||
github.com/hashicorp/raft v1.3.9/go.mod h1:4Ak7FSPnuvmb0GV6vgIAJ4vYT4bek9bb6Q+7HVbyzqM=
|
||||
github.com/hashicorp/raft-boltdb v0.0.0-20220329195025-15018e9b97e0 h1:CO8dBMLH6dvE1jTn/30ZZw3iuPsNfajshWoJTnVc5cc=
|
||||
github.com/hashicorp/raft-boltdb v0.0.0-20220329195025-15018e9b97e0/go.mod h1:nTakvJ4XYq45UXtn0DbwR4aU9ZdjlnIenpbs6Cd+FM0=
|
||||
github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc=
|
||||
github.com/hinshun/vt10x v0.0.0-20180616224451-1954e6464174 h1:WlZsjVhE8Af9IcZDGgJGQpNflI3+MJSBhsgT5PCtzBQ=
|
||||
github.com/hinshun/vt10x v0.0.0-20180616224451-1954e6464174/go.mod h1:DqJ97dSdRW1W22yXSB90986pcOyQ7r45iio1KN2ez1A=
|
||||
@@ -466,6 +496,7 @@ github.com/josharian/native v1.0.0/go.mod h1:7X/raswPFr05uY3HiLlYeyQntB6OO7E/d2C
|
||||
github.com/json-iterator/go v1.1.5/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
|
||||
github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
|
||||
github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
|
||||
github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
|
||||
github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
|
||||
github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
|
||||
github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk=
|
||||
@@ -633,33 +664,37 @@ github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+
|
||||
github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc=
|
||||
github.com/openzipkin/zipkin-go v0.1.1/go.mod h1:NtoC/o8u3JlF1lSlyPNswIbeQH9bJTmOf0Erfk+hxe8=
|
||||
github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw=
|
||||
github.com/openziti/channel v0.18.37 h1:a6PKCcKUZCidAlAehxpVRDrFrKOS2JVnuDqDhbZUTw4=
|
||||
github.com/openziti/channel v0.18.37/go.mod h1:6ZwVC+xSY83eETr8lR/8Ic1yuaPkKYQqj6TsVwkbm/0=
|
||||
github.com/openziti/channel v0.18.39 h1:6VNSs4awqem2s0MXe1P/PlmwyOUqSIVhQqsnS1otKd8=
|
||||
github.com/openziti/channel v0.18.39/go.mod h1:fO3m1xHXFM1dqtcR3IienQjiNJV4i5kzdqr0eWSncJE=
|
||||
github.com/openziti/dilithium v0.3.3 h1:PLgQ6PMNLSTzCFbX/h98cmudgz/cU6TmjdSv5NAPD8k=
|
||||
github.com/openziti/dilithium v0.3.3/go.mod h1:vsCjI2AU/hon9e+dLhUFbCNGesJDj2ASgkySOcpmvjo=
|
||||
github.com/openziti/edge v0.21.222 h1:PG/sYcWoX4hjn8aUZoHGJ7TTuJNqJEqfGVL9N+Os66M=
|
||||
github.com/openziti/edge v0.21.222/go.mod h1:hp48iOCDm2snkeXgDZPGcpvM5o63Cn4yW1ZApHsq190=
|
||||
github.com/openziti/fabric v0.17.137 h1:3GPavC0qrGOQ70B+fEt3VHaFEBSd9FZG8fbglLhysq4=
|
||||
github.com/openziti/fabric v0.17.137/go.mod h1:91EbauR7VOgADLzDOSuWxfhgzAJSqvRQdZ7XwPixhuc=
|
||||
github.com/openziti/foundation v0.17.25 h1:s7E7LIYHGeJQQqmQI1uLA2Ml3L2dgGbeTN+rD6Woo78=
|
||||
github.com/openziti/foundation v0.17.25/go.mod h1:YMalQrbDP3S5ptEcob4v3F+pyCngabaG/hQVoT9Pcxo=
|
||||
github.com/openziti/sdk-golang v0.16.70 h1:hF7Bk+48zkg4ZwWb9Xrky0eE8d6HwJ092a5XclXISMc=
|
||||
github.com/openziti/sdk-golang v0.16.70/go.mod h1:QTR5a37mtyKRsl0r7NodmrmdYCrdqJv7zqShFwccoJs=
|
||||
github.com/openziti/storage v0.1.5 h1:Q13TaO7El1v9CJoGZjhLPdS/T/s897TGKegiWov3J4M=
|
||||
github.com/openziti/storage v0.1.5/go.mod h1:VvubFzlkqzxFJnQV+QawR++OhDQ1l283S7b2J8BPKmk=
|
||||
github.com/openziti/transport/v2 v2.0.2 h1:w01etEkf5V0tkgtd9Z0MOTGz+oH8yeEbXWMn38y/uP8=
|
||||
github.com/openziti/transport/v2 v2.0.2/go.mod h1:DLW9bvW/QL7uCaGmy5s5rdQoKgFKfu/JJWPcc/syqSE=
|
||||
github.com/openziti/edge v0.21.238 h1:pKvJ7Ed99m/GXQ3r4l+ZKc7yvrwWvfpktYNiZS8DNak=
|
||||
github.com/openziti/edge v0.21.238/go.mod h1:8eKEcODI05597ZRVjxrlbrx8Y7UOsQbBgq7nNWxJHaA=
|
||||
github.com/openziti/fabric v0.18.0 h1:xTM0T3RKuxaXi0D8XEDIDvD71XTzGLydqwyuxwJ6Ayc=
|
||||
github.com/openziti/fabric v0.18.0/go.mod h1:eSpht8sQjKnvL2skVdrIbEZD1QCfmuCZFbaaT+NG0QM=
|
||||
github.com/openziti/foundation v0.17.27 h1:RKvHQHNIxfME0LnxB+LF14HS19V+wE3NvSse0G5fnAE=
|
||||
github.com/openziti/foundation v0.17.27/go.mod h1:obk269ZljgJzdziLAHcoAW+otWSqGYH57XupgkiIsj0=
|
||||
github.com/openziti/sdk-golang v0.16.76 h1:/RuuZQGnGNuLBgFuW17t903s1EKh7TPn9ysm6tEuKIo=
|
||||
github.com/openziti/sdk-golang v0.16.76/go.mod h1:YsuGyHDMJh0UdPHAQUOB1OHV3c+xkwYs5JoYK/vPJiI=
|
||||
github.com/openziti/storage v0.1.7 h1:g8iBcscDF+EzgGYDm9MKNRKK3xuS1AWPe9dMLJHN32U=
|
||||
github.com/openziti/storage v0.1.7/go.mod h1:z34spDy/hYz62106XaSdGUTfyIgZdJjVKpGVJnH9UAU=
|
||||
github.com/openziti/transport/v2 v2.0.4 h1:GOevxJ1/rVrpUzCrrkeIKEEm93U3mp3NMqPQhgXWv4Q=
|
||||
github.com/openziti/transport/v2 v2.0.4/go.mod h1:dw78l4Al5q3JqgSenzpAY9LNuv30ma0mNrty4SiksDo=
|
||||
github.com/openziti/x509-claims v1.0.2 h1:PSv/xRfejIAcPc16A902k08rSBs3R8bjtL4qq6WEwCI=
|
||||
github.com/openziti/x509-claims v1.0.2/go.mod h1:Z0WIpBm6c4ecrpRKrou6Gk2wrLWxJO/+tuUwKh8VewE=
|
||||
github.com/openziti/xweb v1.0.0 h1:gShI3whG0+tmswrLXqQQ45JP5sMvpMfUughQsIh28uY=
|
||||
github.com/openziti/xweb v1.0.0/go.mod h1:twKDdPg1wsj8QqiltQgfJVRIktw4sJ1u1R+Ylc9dqiM=
|
||||
github.com/openziti/ziti-db-explorer v1.1.1 h1:G0eoTby+aIjjt5TxEfR+FMI2CWd4RvZFjzaIMX2lEBw=
|
||||
github.com/openziti/ziti-db-explorer v1.1.1/go.mod h1:h76h7Tsb+khb0v+CqYKL6ifUfJbUMjGBFU2IvupfBE4=
|
||||
github.com/oracle/oci-go-sdk v24.2.0+incompatible/go.mod h1:VQb79nF8Z2cwLkLS35ukwStZIg5F66tcBccjip/j888=
|
||||
github.com/orcaman/concurrent-map v0.0.0-20210106121528-16402b402231 h1:fa50YL1pzKW+1SsBnJDOHppJN9stOEwS+CRWyUtyYGU=
|
||||
github.com/orcaman/concurrent-map v0.0.0-20210106121528-16402b402231/go.mod h1:Lu3tH6HLW3feq74c2GC+jIMS/K2CFcDWnWD9XkenwhI=
|
||||
github.com/orcaman/concurrent-map/v2 v2.0.0 h1:iSMwuBQvQ1nX5i9gYuGMiSy0fjWHmazdjF+NdSO9JzI=
|
||||
github.com/orcaman/concurrent-map/v2 v2.0.0/go.mod h1:9Eq3TG2oBe5FirmYWQfYO5iH1q0Jv47PLaNK++uCdOM=
|
||||
github.com/ovh/go-ovh v1.1.0/go.mod h1:AxitLZ5HBRPyUd+Zl60Ajaag+rNTdVXWIkzfrVuTXWA=
|
||||
github.com/parallaxsecond/parsec-client-go v0.0.0-20220111122524-cb78842db373 h1:CUvH4JL/8OVy023LMER3dB/MerNQ6OIz4QV3E/JQ3UY=
|
||||
github.com/parallaxsecond/parsec-client-go v0.0.0-20220111122524-cb78842db373/go.mod h1:gLH27qo/dvMhLTVVyMELpe3Tut7sOfkiDg7ZpeqKwsw=
|
||||
github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc=
|
||||
github.com/pascaldekloe/goe v0.1.0 h1:cBOtyMzM9HTpWjXfbbunk26uA6nG3a8n06Wieeh0MwY=
|
||||
github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc=
|
||||
github.com/patrickmn/go-cache v2.1.0+incompatible/go.mod h1:3Qf8kWWT7OJRJbdiICTKqZju1ZixQ/KpMGzzAfe6+WQ=
|
||||
github.com/pborman/uuid v1.2.0 h1:J7Q5mO4ysT1dv8hyrUGHb9+ooztCXu1D8MY8DZYsu3g=
|
||||
github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k=
|
||||
@@ -686,26 +721,33 @@ github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:Om
|
||||
github.com/pquerna/otp v1.2.0/go.mod h1:dkJfzwRKNiegxyNb54X/3fLwhCynbMspSyWKnvi1AEg=
|
||||
github.com/prometheus/client_golang v0.8.0/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
|
||||
github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
|
||||
github.com/prometheus/client_golang v0.9.2/go.mod h1:OsXs2jCmiKlQ1lTBmv21f2mNfw4xf/QclQDMrYNZzcM=
|
||||
github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod h1:p2iRAGwDERtqlqzRXnrOVns+ignqQo//hLXqYxZYVNs=
|
||||
github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso=
|
||||
github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo=
|
||||
github.com/prometheus/client_golang v1.1.0/go.mod h1:I1FGZT9+L76gKKOs5djB6ezCbFQP1xR9D75/vuwEF3g=
|
||||
github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU=
|
||||
github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
|
||||
github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
|
||||
github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
|
||||
github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
|
||||
github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
|
||||
github.com/prometheus/common v0.0.0-20180801064454-c7de2306084e/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro=
|
||||
github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro=
|
||||
github.com/prometheus/common v0.0.0-20181126121408-4724e9255275/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro=
|
||||
github.com/prometheus/common v0.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4=
|
||||
github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4=
|
||||
github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4=
|
||||
github.com/prometheus/common v0.6.0/go.mod h1:eBmuwkDJBwy6iBfxCBob6t6dR6ENT/y+J+Zk0j9GMYc=
|
||||
github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4=
|
||||
github.com/prometheus/procfs v0.0.0-20180725123919-05ee40e3a273/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
|
||||
github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
|
||||
github.com/prometheus/procfs v0.0.0-20181204211112-1dc9a6cbc91a/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
|
||||
github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
|
||||
github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
|
||||
github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
|
||||
github.com/prometheus/procfs v0.0.3/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ=
|
||||
github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A=
|
||||
github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU=
|
||||
github.com/rainycape/memcache v0.0.0-20150622160815-1031fa0ce2f2/go.mod h1:7tZKcyumwBO6qip7RNQ5r77yrssm9bfCowcLEBcU5IA=
|
||||
github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4=
|
||||
@@ -822,6 +864,7 @@ github.com/tklauser/numcpus v0.4.0 h1:E53Dm1HjH1/R2/aoCtXtPgzmElmn51aOkhCFSuZq//
|
||||
github.com/tklauser/numcpus v0.4.0/go.mod h1:1+UI3pD8NW14VMwdgJNJ1ESk2UnwhAnz5hMwiKKqXCQ=
|
||||
github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
|
||||
github.com/transip/gotransip/v6 v6.2.0/go.mod h1:pQZ36hWWRahCUXkFWlx9Hs711gLd8J4qdgLdRzmtY+g=
|
||||
github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM=
|
||||
github.com/uber-go/atomic v1.3.2/go.mod h1:/Ct5t2lcmbJ4OSe/waGBoaVvVqtO0bmtfVNex1PFV8g=
|
||||
github.com/urfave/cli v1.22.4/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
|
||||
github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw=
|
||||
@@ -909,8 +952,8 @@ golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPh
|
||||
golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||
golang.org/x/crypto v0.0.0-20201216223049-8b5274cf687f/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I=
|
||||
golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
|
||||
golang.org/x/crypto v0.0.0-20220518034528-6f7dac969898 h1:SLP7Q4Di66FONjDJbCYrCRrh97focO6sLogHO7/g8F0=
|
||||
golang.org/x/crypto v0.0.0-20220518034528-6f7dac969898/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
|
||||
golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e h1:T8NU3HyQ8ClP4SEE+KbFlg6n0NhuTsN4MyznaarGsZM=
|
||||
golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
|
||||
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
|
||||
@@ -1005,6 +1048,7 @@ golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96b
|
||||
golang.org/x/net v0.0.0-20210421230115-4e50805a0758/go.mod h1:72T/g9IO56b78aLF+1Kcs5dz7/ng1VjMUvfKvpfy+jM=
|
||||
golang.org/x/net v0.0.0-20210726213435-c6fcb2dbf985/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
||||
golang.org/x/net v0.0.0-20210928044308-7d9f5e0b762b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
||||
golang.org/x/net v0.0.0-20211029224645-99673261e6eb/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
||||
golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
|
||||
golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4 h1:HVyaeDAYux4pnY+D/SiwmLOR36ewZ4iGQIIrtnuCjFA=
|
||||
golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
|
||||
@@ -1124,8 +1168,8 @@ golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBc
|
||||
golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
|
||||
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
||||
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
|
||||
golang.org/x/term v0.0.0-20220411215600-e5f449aeb171 h1:EH1Deb8WZJ0xc0WK//leUHXcX9aLE5SymusoTmMZye8=
|
||||
golang.org/x/term v0.0.0-20220411215600-e5f449aeb171/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
|
||||
golang.org/x/term v0.0.0-20220526004731-065cf7ba2467 h1:CBpWXWQpIRjzmkkA+M7q9Fqnwd2mZr3AFqexg8YTfoM=
|
||||
golang.org/x/term v0.0.0-20220526004731-065cf7ba2467/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
|
||||
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
@@ -1367,6 +1411,7 @@ gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||
gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||
gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||
gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||
gopkg.in/yaml.v2 v2.2.7/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||
gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||
gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||
|
||||
@@ -77,11 +77,9 @@ func run(cmd *cobra.Command, args []string) {
|
||||
|
||||
if cliAgentEnabled {
|
||||
options := agent.Options{Addr: cliAgentAddr}
|
||||
fabricController.RegisterDefaultAgentOps()
|
||||
options.CustomOps = map[byte]func(conn net.Conn) error{
|
||||
agent.CustomOp: func(conn net.Conn) error {
|
||||
return fabricController.HandleCustomAgentOp(conn)
|
||||
},
|
||||
agent.CustomOp: fabricController.HandleCustomAgentOp,
|
||||
agent.CustomOpAsync: fabricController.HandleCustomAgentAsyncOp,
|
||||
}
|
||||
if err := agent.Listen(options); err != nil {
|
||||
pfxlog.Logger().WithError(err).Error("unable to start CLI agent")
|
||||
|
||||
@@ -31,6 +31,7 @@ import (
|
||||
"github.com/openziti/ziti/ziti/cmd/ziti/util"
|
||||
"github.com/sirupsen/logrus"
|
||||
"github.com/spf13/cobra"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"time"
|
||||
@@ -45,6 +46,7 @@ const (
|
||||
func init() {
|
||||
root.PersistentFlags().BoolP("verbose", "v", false, "Enable verbose mode")
|
||||
root.PersistentFlags().StringP("identity", "i", "", "Path to JSON file that contains an enrolled identity")
|
||||
root.PersistentFlags().String("identity-dir", "", "Path to directory file that contains one or more enrolled identities")
|
||||
root.PersistentFlags().Uint(svcPollRateFlag, 15, "Set poll rate for service updates (seconds). Polling in proxy mode is disabled unless this value is explicitly set")
|
||||
root.PersistentFlags().StringP(resolverCfgFlag, "r", "udp://127.0.0.1:53", "Resolver configuration")
|
||||
root.PersistentFlags().StringVar(&logFormatter, "log-formatter", "", "Specify log formatter [json|pfxlog|text]")
|
||||
@@ -109,11 +111,52 @@ func rootPostRun(cmd *cobra.Command, _ []string) {
|
||||
|
||||
ziti.SetApplication("ziti-tunnel", version.GetVersion())
|
||||
|
||||
identityJson := cmd.Flag("identity").Value.String()
|
||||
resolverConfig := cmd.Flag("resolver").Value.String()
|
||||
resolver := dns.NewResolver(resolverConfig)
|
||||
|
||||
serviceListenerGroup := intercept.NewServiceListenerGroup(interceptor, resolver)
|
||||
|
||||
dnsIpRange, _ := cmd.Flags().GetString(dnsSvcIpRangeFlag)
|
||||
if err := intercept.SetDnsInterceptIpRange(dnsIpRange); err != nil {
|
||||
log.Fatalf("invalid dns service IP range %s: %v", dnsIpRange, err)
|
||||
}
|
||||
|
||||
if idDir := cmd.Flag("identity-dir").Value.String(); idDir != "" {
|
||||
files, err := ioutil.ReadDir(idDir)
|
||||
if err != nil {
|
||||
log.Fatalf("failed to scan directory %s: %v", idDir, err)
|
||||
}
|
||||
|
||||
for _, file := range files {
|
||||
if filepath.Ext(file.Name()) == ".json" {
|
||||
fn, err := filepath.Abs(filepath.Join(idDir, file.Name()))
|
||||
if err != nil {
|
||||
log.Fatalf("failed to listing file %s: %v", file.Name(), err)
|
||||
}
|
||||
startIdentity(cmd, serviceListenerGroup, fn)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
identityJson := cmd.Flag("identity").Value.String()
|
||||
startIdentity(cmd, serviceListenerGroup, identityJson)
|
||||
}
|
||||
|
||||
serviceListenerGroup.WaitForShutdown()
|
||||
|
||||
if cliAgentEnabled {
|
||||
agent.Close()
|
||||
}
|
||||
}
|
||||
|
||||
func startIdentity(cmd *cobra.Command, serviceListenerGroup *intercept.ServiceListenerGroup, identityJson string) {
|
||||
log := pfxlog.Logger()
|
||||
|
||||
log.Infof("loading identity: %v", identityJson)
|
||||
zitiCfg, err := config.NewFromFile(identityJson)
|
||||
if err != nil {
|
||||
log.Fatalf("failed to load ziti configuration from %s: %v", identityJson, err)
|
||||
}
|
||||
|
||||
zitiCfg.ConfigTypes = []string{
|
||||
entities.ClientConfigV1,
|
||||
entities.ServerConfigV1,
|
||||
@@ -122,11 +165,7 @@ func rootPostRun(cmd *cobra.Command, _ []string) {
|
||||
entities.HostConfigV2,
|
||||
}
|
||||
|
||||
resolverConfig := cmd.Flag("resolver").Value.String()
|
||||
resolver := dns.NewResolver(resolverConfig)
|
||||
|
||||
serviceListener := intercept.NewServiceListener(interceptor, resolver)
|
||||
|
||||
serviceListener := serviceListenerGroup.NewServiceListener()
|
||||
svcPollRate, _ := cmd.Flags().GetUint(svcPollRateFlag)
|
||||
options := &ziti.Options{
|
||||
RefreshInterval: time.Duration(svcPollRate) * time.Second,
|
||||
@@ -138,18 +177,7 @@ func rootPostRun(cmd *cobra.Command, _ []string) {
|
||||
|
||||
rootPrivateContext := ziti.NewContextWithOpts(zitiCfg, options)
|
||||
|
||||
dnsIpRange, _ := cmd.Flags().GetString(dnsSvcIpRangeFlag)
|
||||
if err = intercept.SetDnsInterceptIpRange(dnsIpRange); err != nil {
|
||||
log.Fatalf("invalid dns service IP range %s: %v", dnsIpRange, err)
|
||||
}
|
||||
|
||||
interceptor.Start(tunnel.NewContextProvider(rootPrivateContext))
|
||||
|
||||
if err = rootPrivateContext.Authenticate(); err != nil {
|
||||
log.WithError(err).Fatal("failed to authenticate")
|
||||
}
|
||||
serviceListener.WaitForShutdown()
|
||||
if cliAgentEnabled {
|
||||
agent.Close()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,6 +19,7 @@ package cmd
|
||||
import (
|
||||
"github.com/openziti/edge/router/debugops"
|
||||
"github.com/openziti/fabric/controller"
|
||||
"github.com/openziti/fabric/pb/mgmt_pb"
|
||||
"github.com/openziti/fabric/router"
|
||||
"github.com/openziti/ziti/ziti/cmd/ziti/cmd/agentcli"
|
||||
"github.com/openziti/ziti/ziti/cmd/ziti/cmd/common"
|
||||
@@ -46,7 +47,7 @@ func NewAgentCmd(p common.OptionsProvider) *cobra.Command {
|
||||
}
|
||||
|
||||
agentCmd.AddCommand(ctrlCmd)
|
||||
ctrlCmd.AddCommand(NewSimpleAgentCustomCmd("snapshot-db", AgentAppController, controller.AgentOpSnapshotDbSnaps, p))
|
||||
ctrlCmd.AddCommand(NewSimpleChAgentCustomCmd("snapshot-db", AgentAppController, int32(mgmt_pb.ContentType_SnapshotDbRequestType), p))
|
||||
|
||||
routerCmd := &cobra.Command{
|
||||
Use: "router",
|
||||
|
||||
@@ -0,0 +1,94 @@
|
||||
/*
|
||||
Copyright NetFoundry, Inc.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
https://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
package cmd
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/openziti/channel"
|
||||
"github.com/openziti/foundation/agent"
|
||||
"github.com/openziti/foundation/identity/identity"
|
||||
"github.com/openziti/ziti/ziti/cmd/ziti/cmd/agentcli"
|
||||
"github.com/openziti/ziti/ziti/cmd/ziti/cmd/common"
|
||||
cmdhelper "github.com/openziti/ziti/ziti/cmd/ziti/cmd/helpers"
|
||||
"github.com/spf13/cobra"
|
||||
"net"
|
||||
"time"
|
||||
)
|
||||
|
||||
type SimpleChAgentCmdOptions struct {
|
||||
agentcli.AgentOptions
|
||||
requestType int32
|
||||
}
|
||||
|
||||
func NewSimpleChAgentCustomCmd(name string, appId AgentAppId, op int32, p common.OptionsProvider) *cobra.Command {
|
||||
options := &SimpleChAgentCmdOptions{
|
||||
AgentOptions: agentcli.AgentOptions{
|
||||
CommonOptions: p(),
|
||||
},
|
||||
requestType: op,
|
||||
}
|
||||
|
||||
cmd := &cobra.Command{
|
||||
Args: cobra.MaximumNArgs(1),
|
||||
Use: name + " <optional-target> ",
|
||||
Run: func(cmd *cobra.Command, args []string) {
|
||||
options.Cmd = cmd
|
||||
options.Args = args
|
||||
err := options.Run(appId)
|
||||
cmdhelper.CheckErr(err)
|
||||
},
|
||||
}
|
||||
|
||||
return cmd
|
||||
}
|
||||
|
||||
// Run implements the command
|
||||
func (o *SimpleChAgentCmdOptions) Run(appId AgentAppId) error {
|
||||
addr, err := agent.ParseGopsAddress(o.Args)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return agent.MakeRequestF(addr, agent.CustomOpAsync, []byte{byte(appId)}, o.makeRequest)
|
||||
}
|
||||
|
||||
func (o *SimpleChAgentCmdOptions) makeRequest(conn net.Conn) error {
|
||||
options := channel.DefaultOptions()
|
||||
options.ConnectTimeout = time.Second
|
||||
dialer := channel.NewExistingConnDialer(&identity.TokenId{Token: "agent"}, conn, nil)
|
||||
ch, err := channel.NewChannel("agent", dialer, nil, options)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
msg := channel.NewMessage(o.requestType, nil)
|
||||
reply, err := msg.WithTimeout(5 * time.Second).SendForReply(ch)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if reply.ContentType == channel.ContentTypeResultType {
|
||||
result := channel.UnmarshalResult(reply)
|
||||
if result.Success {
|
||||
fmt.Println("success")
|
||||
} else {
|
||||
fmt.Printf("error: %v\n", result.Message)
|
||||
}
|
||||
} else {
|
||||
fmt.Printf("unexpected response type %v\n", reply.ContentType)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
@@ -203,8 +203,17 @@ func (o *CommonOptions) getLatestTerraformProviderVersion(branch string, provide
|
||||
return util.GetLatestTerraformProviderVersionFromArtifactory(branch, provider)
|
||||
}
|
||||
|
||||
func (o *CommonOptions) getLatestGitHubReleaseVersion(branch string, zitiApp string) (semver.Version, error) {
|
||||
return util.GetLatestGitHubReleaseVersion(o.Verbose, zitiApp)
|
||||
func (o *CommonOptions) getLatestGitHubReleaseVersion(zitiApp string) (semver.Version, error) {
|
||||
var result semver.Version
|
||||
release, err := util.GetHighestVersionGitHubReleaseInfo(o.Verbose, zitiApp)
|
||||
if release != nil {
|
||||
result = release.SemVer
|
||||
}
|
||||
return result, err
|
||||
}
|
||||
|
||||
func (o *CommonOptions) getHighestVersionGitHubReleaseInfo(zitiApp string) (*util.GitHubReleasesData, error) {
|
||||
return util.GetHighestVersionGitHubReleaseInfo(o.Verbose, zitiApp)
|
||||
}
|
||||
|
||||
func (o *CommonOptions) getCurrentZitiSnapshotList() ([]string, error) {
|
||||
@@ -329,28 +338,16 @@ func (o *CommonOptions) installTerraformProvider(branch string, provider string,
|
||||
return os.Chmod(fileToChmod, 0755)
|
||||
}
|
||||
|
||||
func (o *CommonOptions) installGitHubRelease(branch string, zitiApp string, zitiAppGitHub string, upgrade bool, version string) error {
|
||||
binDir, err := util.BinaryLocation()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
binary := zitiApp
|
||||
fileName := binary
|
||||
if !upgrade {
|
||||
f, flag, err := o.shouldInstallBinary(binDir, binary)
|
||||
if err != nil || !flag {
|
||||
return err
|
||||
}
|
||||
fileName = f
|
||||
}
|
||||
func (o *CommonOptions) findVersionAndInstallGitHubRelease(zitiApp string, zitiAppGitHub string, upgrade bool, version string) error {
|
||||
var latestVersion semver.Version
|
||||
|
||||
var err error
|
||||
if version != "" {
|
||||
if strings.Contains(version, "*") {
|
||||
latestVersion, err = util.GetLatestGitHubReleaseVersion(o.Verbose, zitiAppGitHub)
|
||||
latestRelease, err := util.GetHighestVersionGitHubReleaseInfo(o.Verbose, zitiAppGitHub)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
latestVersion = latestRelease.SemVer
|
||||
version = latestVersion.String()
|
||||
} else {
|
||||
latestVersion, err = semver.Make(version)
|
||||
@@ -360,10 +357,34 @@ func (o *CommonOptions) installGitHubRelease(branch string, zitiApp string, ziti
|
||||
}
|
||||
}
|
||||
|
||||
release, err := util.GetLatestGitHubReleaseAsset(o.Staging, zitiAppGitHub)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return o.installGitHubRelease(zitiApp, upgrade, release)
|
||||
}
|
||||
|
||||
func (o *CommonOptions) installGitHubRelease(zitiApp string, upgrade bool, release *util.GitHubReleasesData) error {
|
||||
binDir, err := util.BinaryLocation()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
binary := zitiApp
|
||||
fileName := binary
|
||||
|
||||
if !upgrade {
|
||||
f, flag, err := o.shouldInstallBinary(binDir, binary)
|
||||
if err != nil || !flag {
|
||||
return err
|
||||
}
|
||||
fileName = f
|
||||
}
|
||||
|
||||
fullPath := filepath.Join(binDir, fileName)
|
||||
ext := ".zip"
|
||||
zipFile := fullPath + ext
|
||||
releaseUrl, err := util.GetLatestGitHubReleaseAsset(o.Staging, zitiAppGitHub)
|
||||
|
||||
releaseUrl, err := release.GetDownloadUrl(zitiApp)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -381,6 +402,6 @@ func (o *CommonOptions) installGitHubRelease(branch string, zitiApp string, ziti
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
log.Infof("Successfully installed '%s' version '%s'\n", zitiApp, latestVersion)
|
||||
log.Infof("Successfully installed '%s' version '%s'\n", zitiApp, release.SemVer)
|
||||
return os.Chmod(fullPath, 0755)
|
||||
}
|
||||
|
||||
@@ -21,8 +21,8 @@ import (
|
||||
edge "github.com/openziti/edge/controller/config"
|
||||
fabCtrl "github.com/openziti/fabric/controller"
|
||||
fabForwarder "github.com/openziti/fabric/router/forwarder"
|
||||
fabXweb "github.com/openziti/fabric/xweb"
|
||||
foundation "github.com/openziti/transport/v2"
|
||||
fabXweb "github.com/openziti/xweb"
|
||||
"github.com/openziti/ziti/ziti/cmd/ziti/cmd/common"
|
||||
cmdhelper "github.com/openziti/ziti/ziti/cmd/ziti/cmd/helpers"
|
||||
"github.com/openziti/ziti/ziti/cmd/ziti/constants"
|
||||
|
||||
@@ -20,7 +20,6 @@ import (
|
||||
"io"
|
||||
|
||||
"github.com/blang/semver"
|
||||
"github.com/openziti/ziti/common/version"
|
||||
cmdhelper "github.com/openziti/ziti/ziti/cmd/ziti/cmd/helpers"
|
||||
"github.com/openziti/ziti/ziti/cmd/ziti/cmd/templates"
|
||||
c "github.com/openziti/ziti/ziti/cmd/ziti/constants"
|
||||
@@ -77,7 +76,7 @@ func NewCmdInstallZitiEdgeTunnel(out io.Writer, errOut io.Writer) *cobra.Command
|
||||
|
||||
// Run implements the command
|
||||
func (o *InstallOptions) installZitiEdgeTunnel(targetVersion string) error {
|
||||
newVersion, err := o.getLatestGitHubReleaseVersion(version.GetBranch(), c.ZITI_EDGE_TUNNEL_GITHUB)
|
||||
newVersion, err := o.getLatestGitHubReleaseVersion(c.ZITI_EDGE_TUNNEL_GITHUB)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -88,7 +87,7 @@ func (o *InstallOptions) installZitiEdgeTunnel(targetVersion string) error {
|
||||
|
||||
log.Infoln("Attempting to install '" + c.ZITI_EDGE_TUNNEL + "' version: " + newVersion.String())
|
||||
|
||||
return o.installGitHubRelease(version.GetBranch(), c.ZITI_EDGE_TUNNEL, c.ZITI_EDGE_TUNNEL_GITHUB, false, newVersion.String())
|
||||
return o.findVersionAndInstallGitHubRelease(c.ZITI_EDGE_TUNNEL, c.ZITI_EDGE_TUNNEL_GITHUB, false, newVersion.String())
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -20,7 +20,6 @@ import (
|
||||
"io"
|
||||
|
||||
"github.com/blang/semver"
|
||||
"github.com/openziti/ziti/common/version"
|
||||
cmdhelper "github.com/openziti/ziti/ziti/cmd/ziti/cmd/helpers"
|
||||
"github.com/openziti/ziti/ziti/cmd/ziti/cmd/templates"
|
||||
c "github.com/openziti/ziti/ziti/cmd/ziti/constants"
|
||||
@@ -76,18 +75,20 @@ func NewCmdInstallZitiProxC(out io.Writer, errOut io.Writer) *cobra.Command {
|
||||
}
|
||||
|
||||
func (o *InstallOptions) installZitiProxC(targetVersion string) error {
|
||||
newVersion, err := o.getLatestGitHubReleaseVersion(version.GetBranch(), c.ZITI_SDK_C_GITHUB)
|
||||
if targetVersion != "" {
|
||||
version, err := semver.Make(targetVersion)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return o.findVersionAndInstallGitHubRelease(c.ZITI_PROX_C, c.ZITI_SDK_C_GITHUB, false, version.String())
|
||||
}
|
||||
|
||||
release, err := o.getHighestVersionGitHubReleaseInfo(c.ZITI_SDK_C_GITHUB)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if targetVersion != "" {
|
||||
newVersion, err = semver.Make(targetVersion)
|
||||
}
|
||||
|
||||
log.Infoln("Attempting to install '" + c.ZITI_PROX_C + "' version: " + newVersion.String())
|
||||
|
||||
return o.installGitHubRelease(version.GetBranch(), c.ZITI_PROX_C, c.ZITI_SDK_C_GITHUB, false, newVersion.String())
|
||||
log.Infoln("Attempting to install '" + c.ZITI_PROX_C + "' version: " + release.SemVer.String())
|
||||
return o.installGitHubRelease(c.ZITI_PROX_C, false, release)
|
||||
}
|
||||
|
||||
// Run implements the command
|
||||
|
||||
@@ -19,7 +19,6 @@ package cmd
|
||||
import (
|
||||
"io"
|
||||
|
||||
"github.com/openziti/ziti/common/version"
|
||||
cmdhelper "github.com/openziti/ziti/ziti/cmd/ziti/cmd/helpers"
|
||||
"github.com/openziti/ziti/ziti/cmd/ziti/cmd/templates"
|
||||
c "github.com/openziti/ziti/ziti/cmd/ziti/constants"
|
||||
@@ -73,7 +72,7 @@ func NewCmdUpgradeZitiEdgeTunnel(out io.Writer, errOut io.Writer) *cobra.Command
|
||||
|
||||
// Run implements the command
|
||||
func (o *UpgradeZitiEdgeTunnelOptions) Run() error {
|
||||
newVersion, err := o.getLatestGitHubReleaseVersion(version.GetBranch(), c.ZITI_EDGE_TUNNEL_GITHUB)
|
||||
newVersion, err := o.getLatestGitHubReleaseVersion(c.ZITI_EDGE_TUNNEL_GITHUB)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -86,5 +85,5 @@ func (o *UpgradeZitiEdgeTunnelOptions) Run() error {
|
||||
|
||||
o.deleteInstalledBinary(c.ZITI_EDGE_TUNNEL)
|
||||
|
||||
return o.installGitHubRelease(version.GetBranch(), c.ZITI_EDGE_TUNNEL, c.ZITI_EDGE_TUNNEL_GITHUB, true, newVersionStr)
|
||||
return o.findVersionAndInstallGitHubRelease(c.ZITI_EDGE_TUNNEL, c.ZITI_EDGE_TUNNEL_GITHUB, true, newVersionStr)
|
||||
}
|
||||
|
||||
@@ -19,7 +19,6 @@ package cmd
|
||||
import (
|
||||
"io"
|
||||
|
||||
"github.com/openziti/ziti/common/version"
|
||||
cmdhelper "github.com/openziti/ziti/ziti/cmd/ziti/cmd/helpers"
|
||||
"github.com/openziti/ziti/ziti/cmd/ziti/cmd/templates"
|
||||
c "github.com/openziti/ziti/ziti/cmd/ziti/constants"
|
||||
@@ -73,7 +72,7 @@ func NewCmdUpgradeZitiProxC(out io.Writer, errOut io.Writer) *cobra.Command {
|
||||
|
||||
// Run implements the command
|
||||
func (o *UpgradeZitiProxCOptions) Run() error {
|
||||
newVersion, err := o.getLatestGitHubReleaseVersion(version.GetBranch(), c.ZITI_SDK_C_GITHUB)
|
||||
newVersion, err := o.getLatestGitHubReleaseVersion(c.ZITI_SDK_C_GITHUB)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -86,5 +85,5 @@ func (o *UpgradeZitiProxCOptions) Run() error {
|
||||
|
||||
o.deleteInstalledBinary(c.ZITI_PROX_C)
|
||||
|
||||
return o.installGitHubRelease(version.GetBranch(), c.ZITI_PROX_C, c.ZITI_SDK_C_GITHUB, true, newVersionStr)
|
||||
return o.findVersionAndInstallGitHubRelease(c.ZITI_PROX_C, c.ZITI_SDK_C_GITHUB, true, newVersionStr)
|
||||
}
|
||||
|
||||
@@ -150,13 +150,13 @@ func (o *VersionOptions) versionCheckZitiApp(zitiApp string) error {
|
||||
case c.ZITI_CONTROLLER:
|
||||
newVersion, err = o.getLatestZitiAppVersion(version.GetBranch(), c.ZITI_CONTROLLER)
|
||||
case c.ZITI_PROX_C:
|
||||
newVersion, err = o.getLatestGitHubReleaseVersion(version.GetBranch(), c.ZITI_SDK_C_GITHUB)
|
||||
newVersion, err = o.getLatestGitHubReleaseVersion(c.ZITI_SDK_C_GITHUB)
|
||||
case c.ZITI_ROUTER:
|
||||
newVersion, err = o.getLatestZitiAppVersion(version.GetBranch(), c.ZITI_ROUTER)
|
||||
case c.ZITI_TUNNEL:
|
||||
newVersion, err = o.getLatestZitiAppVersion(version.GetBranch(), c.ZITI_TUNNEL)
|
||||
case c.ZITI_EDGE_TUNNEL:
|
||||
newVersion, err = o.getLatestGitHubReleaseVersion(version.GetBranch(), c.ZITI_EDGE_TUNNEL_GITHUB)
|
||||
newVersion, err = o.getLatestGitHubReleaseVersion(c.ZITI_EDGE_TUNNEL_GITHUB)
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
|
||||
+67
-45
@@ -33,6 +33,7 @@ import (
|
||||
"github.com/openziti/ziti/common/version"
|
||||
cmdhelper "github.com/openziti/ziti/ziti/cmd/ziti/cmd/helpers"
|
||||
c "github.com/openziti/ziti/ziti/cmd/ziti/constants"
|
||||
"github.com/pkg/errors"
|
||||
"gopkg.in/resty.v1"
|
||||
"io"
|
||||
"net/http"
|
||||
@@ -41,6 +42,7 @@ import (
|
||||
"path"
|
||||
"path/filepath"
|
||||
"runtime"
|
||||
"sort"
|
||||
"strconv"
|
||||
"strings"
|
||||
"text/template"
|
||||
@@ -155,60 +157,19 @@ func GetLatestVersionFromArtifactory(verbose bool, staging bool, branch string,
|
||||
// Used to parse the '/releases/latest' response from GitHub
|
||||
type GitHubReleasesData struct {
|
||||
Version string `json:"tag_name"`
|
||||
SemVer semver.Version
|
||||
Assets []struct {
|
||||
BrowserDownloadURL string `json:"browser_download_url"`
|
||||
}
|
||||
}
|
||||
|
||||
func GetLatestGitHubReleaseVersion(verbose bool, appName string) (semver.Version, error) {
|
||||
resp, err := getRequest(verbose).
|
||||
SetQueryParams(map[string]string{}).
|
||||
SetHeader("Accept", "application/vnd.github.v3+json").
|
||||
SetResult(&GitHubReleasesData{}).
|
||||
Get("https://api.github.com/repos/openziti/" + appName + "/releases/latest")
|
||||
|
||||
if err != nil {
|
||||
return semver.Version{}, fmt.Errorf("unable to get latest version for '%s'; %s", appName, err)
|
||||
}
|
||||
|
||||
if resp.StatusCode() == http.StatusNotFound {
|
||||
return semver.Version{}, fmt.Errorf("unable to get latest version for '%s'; Not Found", appName)
|
||||
}
|
||||
if resp.StatusCode() != http.StatusOK {
|
||||
return semver.Version{}, fmt.Errorf("unable to get latest version for '%s'; %s", appName, resp.Status())
|
||||
}
|
||||
|
||||
result := *resp.Result().(*GitHubReleasesData)
|
||||
|
||||
return semver.Make(strings.TrimPrefix(result.Version, "v"))
|
||||
}
|
||||
|
||||
func GetLatestGitHubReleaseAsset(verbose bool, appName string) (string, error) {
|
||||
resp, err := getRequest(verbose).
|
||||
SetQueryParams(map[string]string{}).
|
||||
SetHeader("Accept", "application/vnd.github.v3+json").
|
||||
SetResult(&GitHubReleasesData{}).
|
||||
Get("https://api.github.com/repos/openziti/" + appName + "/releases/latest")
|
||||
|
||||
if err != nil {
|
||||
return "", fmt.Errorf("unable to get latest version for '%s'; %s", appName, err)
|
||||
}
|
||||
|
||||
if resp.StatusCode() == http.StatusNotFound {
|
||||
return "", fmt.Errorf("unable to get latest version for '%s'; Not Found", appName)
|
||||
}
|
||||
if resp.StatusCode() != http.StatusOK {
|
||||
return "", fmt.Errorf("unable to get latest version for '%s'; %s", appName, resp.Status())
|
||||
}
|
||||
|
||||
result := (*resp.Result().(*GitHubReleasesData))
|
||||
|
||||
func (self *GitHubReleasesData) GetDownloadUrl(appName string) (string, error) {
|
||||
arches := []string{runtime.GOARCH}
|
||||
if strings.ToLower(runtime.GOARCH) == "amd64" {
|
||||
arches = append(arches, "x86_64")
|
||||
}
|
||||
|
||||
for _, asset := range result.Assets {
|
||||
for _, asset := range self.Assets {
|
||||
ok := false
|
||||
for _, arch := range arches {
|
||||
if strings.Contains(strings.ToLower(asset.BrowserDownloadURL), arch) {
|
||||
@@ -222,7 +183,68 @@ func GetLatestGitHubReleaseAsset(verbose bool, appName string) (string, error) {
|
||||
}
|
||||
}
|
||||
|
||||
return "", fmt.Errorf("unable to get latest asset for '%s'", appName)
|
||||
return "", errors.Errorf("no download URL found for os/arch %v/%v for '%v'", runtime.GOOS, runtime.GOARCH, appName)
|
||||
}
|
||||
|
||||
func GetHighestVersionGitHubReleaseInfo(verbose bool, appName string) (*GitHubReleasesData, error) {
|
||||
resp, err := getRequest(verbose).
|
||||
SetQueryParams(map[string]string{}).
|
||||
SetHeader("Accept", "application/vnd.github.v3+json").
|
||||
SetResult([]*GitHubReleasesData{}).
|
||||
Get("https://api.github.com/repos/openziti/" + appName + "/releases")
|
||||
|
||||
if err != nil {
|
||||
return nil, errors.Wrapf(err, "unable to get latest version for '%s'", appName)
|
||||
}
|
||||
|
||||
if resp.StatusCode() == http.StatusNotFound {
|
||||
return nil, errors.Errorf("unable to get latest version for '%s'; Not Found (invalid URL)", appName)
|
||||
}
|
||||
if resp.StatusCode() != http.StatusOK {
|
||||
return nil, errors.Errorf("unable to get latest version for '%s'; return status=%s", appName, resp.Status())
|
||||
}
|
||||
|
||||
result := *resp.Result().(*[]*GitHubReleasesData)
|
||||
return getHighestVersionRelease(appName, result)
|
||||
}
|
||||
|
||||
func getHighestVersionRelease(appName string, releases []*GitHubReleasesData) (*GitHubReleasesData, error) {
|
||||
for _, release := range releases {
|
||||
v, err := semver.ParseTolerant(release.Version)
|
||||
if err != nil {
|
||||
return nil, errors.Wrapf(err, "unable to parse version %v for '%v'", release.Version, appName)
|
||||
}
|
||||
release.SemVer = v
|
||||
}
|
||||
sort.Slice(releases, func(i, j int) bool {
|
||||
return releases[i].SemVer.GT(releases[j].SemVer) // sort in reverse order
|
||||
})
|
||||
if len(releases) == 0 {
|
||||
return nil, errors.Errorf("no releases found for '%v'", appName)
|
||||
}
|
||||
return releases[0], nil
|
||||
}
|
||||
|
||||
func GetLatestGitHubReleaseAsset(verbose bool, appName string) (*GitHubReleasesData, error) {
|
||||
resp, err := getRequest(verbose).
|
||||
SetQueryParams(map[string]string{}).
|
||||
SetHeader("Accept", "application/vnd.github.v3+json").
|
||||
SetResult(&GitHubReleasesData{}).
|
||||
Get("https://api.github.com/repos/openziti/" + appName + "/releases/latest")
|
||||
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("unable to get latest version for '%s'; %s", appName, err)
|
||||
}
|
||||
|
||||
if resp.StatusCode() == http.StatusNotFound {
|
||||
return nil, fmt.Errorf("unable to get latest version for '%s'; Not Found", appName)
|
||||
}
|
||||
if resp.StatusCode() != http.StatusOK {
|
||||
return nil, fmt.Errorf("unable to get latest version for '%s'; %s", appName, resp.Status())
|
||||
}
|
||||
|
||||
result := resp.Result().(*GitHubReleasesData)
|
||||
return result, nil
|
||||
}
|
||||
|
||||
// DownloadGitHubReleaseAsset will download a file from the given GitHUb release area
|
||||
|
||||
@@ -31,7 +31,7 @@ import (
|
||||
func LogReleaseVersionCheck(ziti_component string) {
|
||||
logger := pfxlog.Logger()
|
||||
developmentSemver, _ := semver.Parse("0.0.0")
|
||||
latestGithubRelease, err := GetLatestGitHubReleaseVersion(false, constants.ZITI)
|
||||
latestGithubRelease, err := GetHighestVersionGitHubReleaseInfo(false, constants.ZITI)
|
||||
if err != nil {
|
||||
logger.Debugf("failed to find latest GitHub version with error: %s", err)
|
||||
return // soft-fail version check if GitHub API is unavailable
|
||||
@@ -50,7 +50,7 @@ func LogReleaseVersionCheck(ziti_component string) {
|
||||
ziti_component,
|
||||
developmentSemver,
|
||||
)
|
||||
} else if latestGithubRelease.GT(currentBuildSemver) {
|
||||
} else if latestGithubRelease.SemVer.GT(currentBuildSemver) {
|
||||
yellow := color.New(color.FgYellow).SprintFunc()
|
||||
green := color.New(color.FgGreen).SprintFunc()
|
||||
fmt.Fprintf(os.Stderr,
|
||||
@@ -62,7 +62,7 @@ https://github.com/openziti/%s/releases/latest/
|
||||
|
||||
*********************************************************************************
|
||||
`,
|
||||
green("v"+latestGithubRelease.String()),
|
||||
green("v"+latestGithubRelease.SemVer.String()),
|
||||
ziti_component,
|
||||
yellow("v"+currentBuildSemver.String()),
|
||||
constants.ZITI,
|
||||
@@ -73,7 +73,7 @@ https://github.com/openziti/%s/releases/latest/
|
||||
ziti_component,
|
||||
latestGithubRelease,
|
||||
)
|
||||
} else if latestGithubRelease.EQ(currentBuildSemver) {
|
||||
} else if latestGithubRelease.SemVer.EQ(currentBuildSemver) {
|
||||
logger.Debugf(
|
||||
"this build of %s is the latest release v%s",
|
||||
ziti_component,
|
||||
|
||||
Reference in New Issue
Block a user