@zerops/zcli 1.0.0 → 8.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +12 -7
- package/{tools/npm → utils}/binary.js +8 -4
- package/{tools/npm → utils}/install.js +0 -0
- package/{tools/npm → utils}/run.js +0 -0
- package/{tools/npm → utils}/uninstall.js +0 -0
- package/.github/workflows/master.yml +0 -36
- package/.github/workflows/tag.yml +0 -67
- package/.golangci.yaml +0 -58
- package/LICENSE +0 -1
- package/README.md +0 -2
- package/bin/.gitignore +0 -2
- package/cmd/deploy.go +0 -65
- package/cmd/di.go +0 -65
- package/cmd/login.go +0 -48
- package/cmd/root.go +0 -70
- package/cmd/startVpn.go +0 -59
- package/cmd/stopVpn.go +0 -36
- package/go.mod +0 -21
- package/go.sum +0 -230
- package/main.go +0 -13
- package/src/command/deploy/handler.go +0 -43
- package/src/command/deploy/handler_checkProcess.go +0 -38
- package/src/command/deploy/handler_run.go +0 -126
- package/src/command/login/handler.go +0 -128
- package/src/command/login/handler_parseRestApiError.go +0 -48
- package/src/command/startVpn/handler.go +0 -150
- package/src/command/startVpn/handler_clean_linux.go +0 -24
- package/src/command/startVpn/handler_clean_linux_macos.go +0 -19
- package/src/command/startVpn/handler_generateKeys.go +0 -26
- package/src/command/startVpn/handler_isVpnAlive.go +0 -23
- package/src/command/startVpn/handler_setVpn_linux.go +0 -97
- package/src/command/startVpn/handler_setVpn_macos.go +0 -98
- package/src/command/startVpn/handler_startVpnClient.go +0 -27
- package/src/command/stopVpn/handler.go +0 -55
- package/src/command/stopVpn/handler_clean_linux.go +0 -24
- package/src/command/stopVpn/handler_clean_linux_macos.go +0 -19
- package/src/command/userInfo/handler.go +0 -21
- package/src/helpers/cmdRunner/run.go +0 -40
- package/src/helpers/grpcErrors.go +0 -40
- package/src/helpers/ip.go +0 -11
- package/src/service/certReader/handler.go +0 -97
- package/src/service/httpClient/handler.go +0 -90
- package/src/service/logger/handler.go +0 -32
- package/src/service/logger/interface.go +0 -8
- package/src/service/params/handler.go +0 -111
- package/src/service/storage/handler.go +0 -71
- package/src/service/sudoers/handler.go +0 -49
- package/src/service/tlsConfig/handler.go +0 -36
- package/src/service/zipClient/handler.go +0 -144
- package/src/service/zipClient/test/var/www/dir/file2.1.txt +0 -1
- package/src/service/zipClient/test/var/www/dir/file2.2.txt +0 -0
- package/src/service/zipClient/test/var/www/dir/subDir/file3.1.txt +0 -0
- package/src/service/zipClient/test/var/www/dir/subDir/file3.2.txt +0 -0
- package/src/service/zipClient/test/var/www/file1.1.txt +0 -0
- package/src/service/zipClient/test/zip_test.go +0 -289
- package/src/zeropsApiProtocol/build-pb +0 -13
- package/src/zeropsApiProtocol/build-pb-generate.go +0 -3
- package/src/zeropsApiProtocol/protocol_extra.go +0 -19
- package/src/zeropsApiProtocol/zeropsApiProtocol.pb.go +0 -5518
- package/src/zeropsApiProtocol/zeropsApiProtocol.proto +0 -819
- package/src/zeropsVpnProtocol/build-pb +0 -13
- package/src/zeropsVpnProtocol/build-pb-generate.go +0 -3
- package/src/zeropsVpnProtocol/protocol_extra.go +0 -45
- package/src/zeropsVpnProtocol/zeropsVpnProtocol.pb.go +0 -578
- package/src/zeropsVpnProtocol/zeropsVpnProtocol.proto +0 -58
- package/tools/gomodrun.go +0 -60
- package/tools/install.sh +0 -40
- package/tools/npm/match-version.js +0 -12
package/go.sum
DELETED
|
@@ -1,230 +0,0 @@
|
|
|
1
|
-
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
|
|
2
|
-
github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=
|
|
3
|
-
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
|
|
4
|
-
github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
|
|
5
|
-
github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
|
|
6
|
-
github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
|
|
7
|
-
github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8=
|
|
8
|
-
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
|
|
9
|
-
github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
|
|
10
|
-
github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
|
|
11
|
-
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
|
|
12
|
-
github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk=
|
|
13
|
-
github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
|
|
14
|
-
github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
|
|
15
|
-
github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
|
|
16
|
-
github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
|
|
17
|
-
github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=
|
|
18
|
-
github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
|
|
19
|
-
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
|
20
|
-
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
|
21
|
-
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
|
22
|
-
github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
|
|
23
|
-
github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no=
|
|
24
|
-
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
|
|
25
|
-
github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4=
|
|
26
|
-
github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ=
|
|
27
|
-
github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
|
|
28
|
-
github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
|
|
29
|
-
github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=
|
|
30
|
-
github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
|
|
31
|
-
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
|
|
32
|
-
github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
|
|
33
|
-
github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4=
|
|
34
|
-
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58=
|
|
35
|
-
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
|
|
36
|
-
github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
|
|
37
|
-
github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
|
|
38
|
-
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
|
|
39
|
-
github.com/golang/protobuf v1.3.1 h1:YF8+flBXS5eO826T4nzqPrxfhQThhXl0YzfuUPu4SBg=
|
|
40
|
-
github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
|
|
41
|
-
github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8=
|
|
42
|
-
github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA=
|
|
43
|
-
github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs=
|
|
44
|
-
github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w=
|
|
45
|
-
github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0=
|
|
46
|
-
github.com/golang/protobuf v1.4.2 h1:+Z5KGCizgyZCbGh1KZqA0fcLLkwbsjIzS4aV2v7wJX0=
|
|
47
|
-
github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
|
|
48
|
-
github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
|
|
49
|
-
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
|
|
50
|
-
github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
|
|
51
|
-
github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
|
|
52
|
-
github.com/google/go-cmp v0.4.0 h1:xsAVV57WRhGj6kEIi8ReJzQlHHqcBYCElAvkovg3B/4=
|
|
53
|
-
github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
|
54
|
-
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
|
|
55
|
-
github.com/google/uuid v1.1.1 h1:Gkbcsh/GbpXz7lPftLA3P6TYMwjCLYm83jiFQZF/3gY=
|
|
56
|
-
github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
|
57
|
-
github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8=
|
|
58
|
-
github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
|
|
59
|
-
github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
|
|
60
|
-
github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs=
|
|
61
|
-
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk=
|
|
62
|
-
github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY=
|
|
63
|
-
github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4=
|
|
64
|
-
github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
|
|
65
|
-
github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
|
|
66
|
-
github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM=
|
|
67
|
-
github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
|
|
68
|
-
github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo=
|
|
69
|
-
github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
|
|
70
|
-
github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo=
|
|
71
|
-
github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
|
|
72
|
-
github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
|
|
73
|
-
github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q=
|
|
74
|
-
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
|
|
75
|
-
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
|
|
76
|
-
github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
|
|
77
|
-
github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
|
|
78
|
-
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
|
|
79
|
-
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
|
|
80
|
-
github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
|
|
81
|
-
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
|
|
82
|
-
github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
|
|
83
|
-
github.com/magiconair/properties v1.8.1 h1:ZC2Vc7/ZFkGmsVC9KvOjumD+G5lXy2RtTKyzRKO2BQ4=
|
|
84
|
-
github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
|
|
85
|
-
github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
|
|
86
|
-
github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
|
|
87
|
-
github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
|
|
88
|
-
github.com/mitchellh/mapstructure v1.2.2 h1:dxe5oCinTXiTIcfgmZecdCzPmAJKd46KsCWc35r0TV4=
|
|
89
|
-
github.com/mitchellh/mapstructure v1.2.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
|
|
90
|
-
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
|
|
91
|
-
github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
|
|
92
|
-
github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
|
|
93
|
-
github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
|
|
94
|
-
github.com/nxadm/tail v1.4.4 h1:DQuhQpB1tVlglWS2hLQ5OV6B5r8aGxSrPc5Qo6uTN78=
|
|
95
|
-
github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A=
|
|
96
|
-
github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
|
|
97
|
-
github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
|
|
98
|
-
github.com/onsi/ginkgo v1.12.1 h1:mFwc4LvZ0xpSvDZ3E+k8Yte0hLOMxXUlP+yXtJqkYfQ=
|
|
99
|
-
github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk=
|
|
100
|
-
github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY=
|
|
101
|
-
github.com/onsi/gomega v1.10.1 h1:o0+MgICZLuZ7xjH7Vx6zS/zcu93/BEp1VwkIW1mEXCE=
|
|
102
|
-
github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo=
|
|
103
|
-
github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
|
|
104
|
-
github.com/pelletier/go-toml v1.7.0 h1:7utD74fnzVc/cpcyy8sjrlFr5vYpypUixARcHIMIGuI=
|
|
105
|
-
github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE=
|
|
106
|
-
github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
|
107
|
-
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
|
108
|
-
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
|
109
|
-
github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
|
|
110
|
-
github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso=
|
|
111
|
-
github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
|
|
112
|
-
github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
|
|
113
|
-
github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro=
|
|
114
|
-
github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4=
|
|
115
|
-
github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
|
|
116
|
-
github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
|
|
117
|
-
github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU=
|
|
118
|
-
github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg=
|
|
119
|
-
github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
|
|
120
|
-
github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
|
|
121
|
-
github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
|
|
122
|
-
github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d h1:zE9ykElWQ6/NYmHa3jpm/yHnI4xSofP+UP6SpjHcSeM=
|
|
123
|
-
github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
|
|
124
|
-
github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s=
|
|
125
|
-
github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=
|
|
126
|
-
github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM=
|
|
127
|
-
github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
|
|
128
|
-
github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ=
|
|
129
|
-
github.com/spf13/afero v1.2.2 h1:5jhuqJyZCZf2JRofRvN/nIFgIWNzPa3/Vz8mYylgbWc=
|
|
130
|
-
github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk=
|
|
131
|
-
github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
|
|
132
|
-
github.com/spf13/cast v1.3.1 h1:nFm6S0SMdyzrzcmThSipiEubIDy8WEXKNZ0UOgiRpng=
|
|
133
|
-
github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
|
|
134
|
-
github.com/spf13/cobra v1.0.0 h1:6m/oheQuQ13N9ks4hubMG6BnvwOeaJrqSPLahSnczz8=
|
|
135
|
-
github.com/spf13/cobra v1.0.0/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE=
|
|
136
|
-
github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo=
|
|
137
|
-
github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk=
|
|
138
|
-
github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo=
|
|
139
|
-
github.com/spf13/pflag v1.0.3 h1:zPAT6CGy6wXeQ7NtTnaTerfKOsV6V6F8agHXFiazDkg=
|
|
140
|
-
github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
|
|
141
|
-
github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE=
|
|
142
|
-
github.com/spf13/viper v1.6.3 h1:pDDu1OyEDTKzpJwdq4TiuLyMsUgRa/BT5cn5O62NoHs=
|
|
143
|
-
github.com/spf13/viper v1.6.3/go.mod h1:jUMtyi0/lB5yZH/FjyGAoH7IMNrIhlBf6pXZmbMDvzw=
|
|
144
|
-
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
|
145
|
-
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
|
146
|
-
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
|
|
147
|
-
github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q=
|
|
148
|
-
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
|
|
149
|
-
github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s=
|
|
150
|
-
github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw=
|
|
151
|
-
github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
|
|
152
|
-
github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc=
|
|
153
|
-
github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU=
|
|
154
|
-
github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q=
|
|
155
|
-
go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
|
|
156
|
-
go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
|
|
157
|
-
go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
|
|
158
|
-
go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
|
|
159
|
-
golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
|
160
|
-
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
|
161
|
-
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
|
|
162
|
-
golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
|
|
163
|
-
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
|
164
|
-
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
|
165
|
-
golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
|
166
|
-
golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
|
167
|
-
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
|
168
|
-
golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
|
|
169
|
-
golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7 h1:AeiKBIuRw3UomYXSbLy0Mc2dDLfdtbT/IVn4keq83P0=
|
|
170
|
-
golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
|
|
171
|
-
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
|
|
172
|
-
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
|
173
|
-
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
|
174
|
-
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
|
175
|
-
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
|
176
|
-
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
|
177
|
-
golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
|
178
|
-
golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
|
179
|
-
golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
|
180
|
-
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
|
181
|
-
golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
|
182
|
-
golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
|
183
|
-
golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
|
184
|
-
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
|
185
|
-
golang.org/x/sys v0.0.0-20200413165638-669c56c373c4 h1:opSr2sbRXk5X5/givKrrKj9HXxFpW2sdCiP8MJSKLQY=
|
|
186
|
-
golang.org/x/sys v0.0.0-20200413165638-669c56c373c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
|
187
|
-
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
|
188
|
-
golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=
|
|
189
|
-
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
|
|
190
|
-
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
|
191
|
-
golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
|
192
|
-
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
|
193
|
-
golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
|
194
|
-
golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
|
195
|
-
golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
|
196
|
-
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=
|
|
197
|
-
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
|
198
|
-
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
|
|
199
|
-
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8 h1:Nw54tB0rB7hY/N0NQvRW8DG4Yk3Q6T9cu9RcFQDu1tc=
|
|
200
|
-
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
|
|
201
|
-
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
|
|
202
|
-
google.golang.org/grpc v1.21.0 h1:G+97AoqBnmZIT91cLG/EkCoK9NSelj64P8bOHHNmGn0=
|
|
203
|
-
google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
|
|
204
|
-
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
|
|
205
|
-
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
|
|
206
|
-
google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
|
|
207
|
-
google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE=
|
|
208
|
-
google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo=
|
|
209
|
-
google.golang.org/protobuf v1.23.0 h1:4MY060fB1DLGMB/7MBTLnwQUY6+F09GEiz6SsrNqyzM=
|
|
210
|
-
google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
|
|
211
|
-
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
|
|
212
|
-
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
|
213
|
-
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
|
|
214
|
-
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
|
215
|
-
gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
|
|
216
|
-
gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
|
|
217
|
-
gopkg.in/ini.v1 v1.55.0 h1:E8yzL5unfpW3M6fz/eB7Cb5MQAYSZ7GKo4Qth+N2sgQ=
|
|
218
|
-
gopkg.in/ini.v1 v1.55.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
|
|
219
|
-
gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo=
|
|
220
|
-
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ=
|
|
221
|
-
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
|
|
222
|
-
gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74=
|
|
223
|
-
gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
|
224
|
-
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
|
225
|
-
gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
|
226
|
-
gopkg.in/yaml.v2 v2.2.8 h1:obN1ZagJSUGI0Ek/LBmuj4SNLPfIny3KsKFopxRdj10=
|
|
227
|
-
gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
|
228
|
-
gopkg.in/yaml.v2 v2.3.0 h1:clyUAQHOM3G0M3f5vQj7LuJrETvjVot3Z5el9nffUtU=
|
|
229
|
-
gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
|
230
|
-
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
|
package/main.go
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
package deploy
|
|
2
|
-
|
|
3
|
-
import (
|
|
4
|
-
"github.com/zerops-io/zcli/src/service/httpClient"
|
|
5
|
-
"github.com/zerops-io/zcli/src/service/logger"
|
|
6
|
-
"github.com/zerops-io/zcli/src/service/zipClient"
|
|
7
|
-
"github.com/zerops-io/zcli/src/zeropsApiProtocol"
|
|
8
|
-
)
|
|
9
|
-
|
|
10
|
-
type Config struct {
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
type RunConfig struct {
|
|
14
|
-
ProjectName string
|
|
15
|
-
ServiceStackName string
|
|
16
|
-
PathsForPacking []string
|
|
17
|
-
WorkingDir string
|
|
18
|
-
ZipFilePath string
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
type Handler struct {
|
|
22
|
-
config Config
|
|
23
|
-
httpClient *httpClient.Handler
|
|
24
|
-
zipClient *zipClient.Handler
|
|
25
|
-
logger logger.Logger
|
|
26
|
-
apiGrpcClient zeropsApiProtocol.ZeropsApiProtocolClient
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
func New(
|
|
30
|
-
config Config,
|
|
31
|
-
httpClient *httpClient.Handler,
|
|
32
|
-
zipClient *zipClient.Handler,
|
|
33
|
-
logger logger.Logger,
|
|
34
|
-
apiGrpcClient zeropsApiProtocol.ZeropsApiProtocolClient,
|
|
35
|
-
) *Handler {
|
|
36
|
-
return &Handler{
|
|
37
|
-
config: config,
|
|
38
|
-
httpClient: httpClient,
|
|
39
|
-
zipClient: zipClient,
|
|
40
|
-
logger: logger,
|
|
41
|
-
apiGrpcClient: apiGrpcClient,
|
|
42
|
-
}
|
|
43
|
-
}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
package deploy
|
|
2
|
-
|
|
3
|
-
import (
|
|
4
|
-
"context"
|
|
5
|
-
"errors"
|
|
6
|
-
"time"
|
|
7
|
-
|
|
8
|
-
"github.com/zerops-io/zcli/src/helpers"
|
|
9
|
-
"github.com/zerops-io/zcli/src/zeropsApiProtocol"
|
|
10
|
-
)
|
|
11
|
-
|
|
12
|
-
func (h *Handler) checkProcess(ctx context.Context, processId string) error {
|
|
13
|
-
for {
|
|
14
|
-
select {
|
|
15
|
-
case <-ctx.Done():
|
|
16
|
-
return nil
|
|
17
|
-
default:
|
|
18
|
-
getProcessResponse, err := h.apiGrpcClient.GetProcess(ctx, &zeropsApiProtocol.GetProcessRequest{
|
|
19
|
-
Id: processId,
|
|
20
|
-
})
|
|
21
|
-
if err := helpers.HandleGrpcApiError(getProcessResponse, err); err != nil {
|
|
22
|
-
return err
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
processStatus := getProcessResponse.GetOutput().GetStatus()
|
|
26
|
-
|
|
27
|
-
if processStatus == zeropsApiProtocol.ProcessStatus_PROCESS_STATUS_FINISHED {
|
|
28
|
-
return nil
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
if !(processStatus == zeropsApiProtocol.ProcessStatus_PROCESS_STATUS_RUNNING ||
|
|
32
|
-
processStatus == zeropsApiProtocol.ProcessStatus_PROCESS_STATUS_PENDING) {
|
|
33
|
-
return errors.New("process is in wrong state: " + zeropsApiProtocol.ProcessStatus_name[int32(processStatus)])
|
|
34
|
-
}
|
|
35
|
-
time.Sleep(time.Second)
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
}
|
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
package deploy
|
|
2
|
-
|
|
3
|
-
import (
|
|
4
|
-
"bytes"
|
|
5
|
-
"context"
|
|
6
|
-
"errors"
|
|
7
|
-
"io/ioutil"
|
|
8
|
-
"net/http"
|
|
9
|
-
"path/filepath"
|
|
10
|
-
|
|
11
|
-
"github.com/zerops-io/zcli/src/helpers"
|
|
12
|
-
"github.com/zerops-io/zcli/src/service/httpClient"
|
|
13
|
-
"github.com/zerops-io/zcli/src/zeropsApiProtocol"
|
|
14
|
-
)
|
|
15
|
-
|
|
16
|
-
func (h *Handler) Run(ctx context.Context, config RunConfig) error {
|
|
17
|
-
|
|
18
|
-
if config.ProjectName == "" {
|
|
19
|
-
return errors.New("project name must be filled")
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
if config.ServiceStackName == "" {
|
|
23
|
-
return errors.New("service name must be filled")
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
projectsResponse, err := h.apiGrpcClient.GetProjectsByName(ctx, &zeropsApiProtocol.GetProjectsByNameRequest{
|
|
27
|
-
Name: config.ProjectName,
|
|
28
|
-
})
|
|
29
|
-
if err := helpers.HandleGrpcApiError(projectsResponse, err); err != nil {
|
|
30
|
-
return err
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
projects := projectsResponse.GetOutput().GetProjects()
|
|
34
|
-
if len(projects) == 0 {
|
|
35
|
-
return errors.New("project not found")
|
|
36
|
-
}
|
|
37
|
-
if len(projects) > 1 {
|
|
38
|
-
return errors.New("there are multiple project with same name")
|
|
39
|
-
}
|
|
40
|
-
project := projects[0]
|
|
41
|
-
|
|
42
|
-
serviceStackResponse, err := h.apiGrpcClient.GetServiceStackByName(ctx, &zeropsApiProtocol.GetServiceStackByNameRequest{
|
|
43
|
-
ProjectId: project.GetId(),
|
|
44
|
-
Name: config.ServiceStackName,
|
|
45
|
-
})
|
|
46
|
-
if err := helpers.HandleGrpcApiError(serviceStackResponse, err); err != nil {
|
|
47
|
-
return err
|
|
48
|
-
}
|
|
49
|
-
serviceStack := serviceStackResponse.GetOutput()
|
|
50
|
-
|
|
51
|
-
h.logger.Debug("service status: " + serviceStack.GetStatus().String())
|
|
52
|
-
|
|
53
|
-
temporaryShutdown := false
|
|
54
|
-
if serviceStack.GetStatus() == zeropsApiProtocol.ServiceStackStatus_SERVICE_STACK_STATUS_READY_TO_DEPLOY ||
|
|
55
|
-
serviceStack.GetStatus() == zeropsApiProtocol.ServiceStackStatus_SERVICE_STACK_STATUS_UPGRADE_FAILED {
|
|
56
|
-
temporaryShutdown = true
|
|
57
|
-
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
h.logger.Info("temporaryShutdown: ", temporaryShutdown)
|
|
61
|
-
|
|
62
|
-
h.logger.Info("creating package")
|
|
63
|
-
|
|
64
|
-
appVersionResponse, err := h.apiGrpcClient.PostAppVersion(ctx, &zeropsApiProtocol.PostAppVersionRequest{
|
|
65
|
-
ServiceStackId: serviceStack.GetId(),
|
|
66
|
-
})
|
|
67
|
-
if err := helpers.HandleGrpcApiError(appVersionResponse, err); err != nil {
|
|
68
|
-
return err
|
|
69
|
-
}
|
|
70
|
-
appVersion := appVersionResponse.GetOutput()
|
|
71
|
-
|
|
72
|
-
buff := &bytes.Buffer{}
|
|
73
|
-
err = h.zipClient.Zip(buff, config.WorkingDir, config.PathsForPacking...)
|
|
74
|
-
if err != nil {
|
|
75
|
-
return err
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
h.logger.Info("creating is done")
|
|
79
|
-
|
|
80
|
-
if config.ZipFilePath != "" {
|
|
81
|
-
zipFilePath, err := filepath.Abs(config.ZipFilePath)
|
|
82
|
-
if err != nil {
|
|
83
|
-
return err
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
err = ioutil.WriteFile(zipFilePath, buff.Bytes(), 0660)
|
|
87
|
-
if err != nil {
|
|
88
|
-
return err
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
h.logger.Info("zip file saved into: ", zipFilePath)
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
h.logger.Info("uploading package to zerops server")
|
|
95
|
-
|
|
96
|
-
cephResponse, err := h.httpClient.Put(appVersion.GetUploadUrl(), buff.Bytes(), httpClient.ContentType("application/zip"))
|
|
97
|
-
if err != nil {
|
|
98
|
-
return err
|
|
99
|
-
}
|
|
100
|
-
if cephResponse.StatusCode != http.StatusCreated {
|
|
101
|
-
return errors.New("upload archive error")
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
h.logger.Info("uploading is done")
|
|
105
|
-
|
|
106
|
-
h.logger.Info("deploying")
|
|
107
|
-
|
|
108
|
-
deployResponse, err := h.apiGrpcClient.PutAppVersionDeploy(ctx, &zeropsApiProtocol.PutAppVersionDeployRequest{
|
|
109
|
-
Id: appVersion.GetId(),
|
|
110
|
-
TemporaryShutdown: temporaryShutdown,
|
|
111
|
-
})
|
|
112
|
-
if err := helpers.HandleGrpcApiError(deployResponse, err); err != nil {
|
|
113
|
-
return err
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
deployProcessId := deployResponse.GetOutput().GetId()
|
|
117
|
-
|
|
118
|
-
err = h.checkProcess(ctx, deployProcessId)
|
|
119
|
-
if err != nil {
|
|
120
|
-
return err
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
h.logger.Info("project deployed")
|
|
124
|
-
|
|
125
|
-
return nil
|
|
126
|
-
}
|
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
package login
|
|
2
|
-
|
|
3
|
-
import (
|
|
4
|
-
"context"
|
|
5
|
-
"encoding/json"
|
|
6
|
-
"errors"
|
|
7
|
-
"net/http"
|
|
8
|
-
"runtime"
|
|
9
|
-
|
|
10
|
-
"github.com/zerops-io/zcli/src/service/httpClient"
|
|
11
|
-
|
|
12
|
-
"github.com/zerops-io/zcli/src/service/logger"
|
|
13
|
-
"github.com/zerops-io/zcli/src/service/storage"
|
|
14
|
-
)
|
|
15
|
-
|
|
16
|
-
type Config struct {
|
|
17
|
-
ApiAddress string
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
type RunConfig struct {
|
|
21
|
-
ZeropsLogin string
|
|
22
|
-
ZeropsPassword string
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
type Handler struct {
|
|
26
|
-
config Config
|
|
27
|
-
logger logger.Logger
|
|
28
|
-
storage *storage.Handler
|
|
29
|
-
httpClient *httpClient.Handler
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
func New(
|
|
33
|
-
config Config,
|
|
34
|
-
logger logger.Logger,
|
|
35
|
-
storage *storage.Handler,
|
|
36
|
-
httpClient *httpClient.Handler,
|
|
37
|
-
) *Handler {
|
|
38
|
-
return &Handler{
|
|
39
|
-
config: config,
|
|
40
|
-
logger: logger,
|
|
41
|
-
storage: storage,
|
|
42
|
-
httpClient: httpClient,
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
func (h *Handler) Run(_ context.Context, runConfig RunConfig) error {
|
|
47
|
-
if runConfig.ZeropsLogin == "" {
|
|
48
|
-
return errors.New("param zeropsLogin must be set")
|
|
49
|
-
}
|
|
50
|
-
if runConfig.ZeropsPassword == "" {
|
|
51
|
-
return errors.New("param zeropsPassword must be set")
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
loginData, err := json.Marshal(struct {
|
|
55
|
-
Email string
|
|
56
|
-
Password string
|
|
57
|
-
}{
|
|
58
|
-
Email: runConfig.ZeropsLogin,
|
|
59
|
-
Password: runConfig.ZeropsPassword,
|
|
60
|
-
})
|
|
61
|
-
if err != nil {
|
|
62
|
-
return err
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
loginResponse, err := h.httpClient.Post(h.config.ApiAddress+"/api/rest/public/auth/login", loginData)
|
|
66
|
-
if err != nil {
|
|
67
|
-
return err
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
var loginResponseObject struct {
|
|
71
|
-
Auth struct {
|
|
72
|
-
AccessToken string
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
if loginResponse.StatusCode < http.StatusBadRequest {
|
|
77
|
-
err := json.Unmarshal(loginResponse.Body, &loginResponseObject)
|
|
78
|
-
if err != nil {
|
|
79
|
-
return err
|
|
80
|
-
}
|
|
81
|
-
} else {
|
|
82
|
-
return parseRestApiError(loginResponse.Body)
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
os := ""
|
|
86
|
-
switch runtime.GOOS {
|
|
87
|
-
case "windows":
|
|
88
|
-
os = "WINDOWS"
|
|
89
|
-
case "darwin":
|
|
90
|
-
os = "MAC"
|
|
91
|
-
case "linux":
|
|
92
|
-
os = "LINUX"
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
cliData, err := json.Marshal(struct {
|
|
96
|
-
Os string
|
|
97
|
-
}{
|
|
98
|
-
Os: os,
|
|
99
|
-
})
|
|
100
|
-
if err != nil {
|
|
101
|
-
return err
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
cliResponse, err := h.httpClient.Post(
|
|
105
|
-
h.config.ApiAddress+"/api/rest/public/cli/certificate",
|
|
106
|
-
cliData,
|
|
107
|
-
httpClient.BearerAuthorization(loginResponseObject.Auth.AccessToken),
|
|
108
|
-
)
|
|
109
|
-
if err != nil {
|
|
110
|
-
return err
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
if cliResponse.StatusCode >= http.StatusBadRequest {
|
|
114
|
-
return parseRestApiError(cliResponse.Body)
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
token := string(cliResponse.Body)
|
|
118
|
-
|
|
119
|
-
h.storage.Data.Token = token
|
|
120
|
-
err = h.storage.Save()
|
|
121
|
-
if err != nil {
|
|
122
|
-
return err
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
h.logger.Info("you are logged")
|
|
126
|
-
|
|
127
|
-
return nil
|
|
128
|
-
}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
package login
|
|
2
|
-
|
|
3
|
-
import (
|
|
4
|
-
"encoding/json"
|
|
5
|
-
"errors"
|
|
6
|
-
"fmt"
|
|
7
|
-
"strings"
|
|
8
|
-
)
|
|
9
|
-
|
|
10
|
-
type failResponse struct {
|
|
11
|
-
Error *failResponseError `json:"error"`
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
type failResponseError struct {
|
|
15
|
-
ErrorCode string `json:"code"`
|
|
16
|
-
Message string `json:"message"`
|
|
17
|
-
Meta interface{} `json:"meta,omitempty"`
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
func parseRestApiError(body []byte) error {
|
|
21
|
-
var errorResponse failResponse
|
|
22
|
-
err := json.Unmarshal(body, &errorResponse)
|
|
23
|
-
if err != nil {
|
|
24
|
-
return err
|
|
25
|
-
}
|
|
26
|
-
if errorResponse.Error.ErrorCode == "invalidUserInput" {
|
|
27
|
-
var errorList []string
|
|
28
|
-
if metaList, ok := errorResponse.Error.Meta.([]interface{}); ok {
|
|
29
|
-
for _, meta := range metaList {
|
|
30
|
-
if metaItem, ok := meta.(map[string]interface{}); ok {
|
|
31
|
-
if parameter, exists := metaItem["parameter"]; exists {
|
|
32
|
-
if message, exists := metaItem["message"]; exists {
|
|
33
|
-
if p, ok := parameter.(string); ok {
|
|
34
|
-
if m, ok := message.(string); ok {
|
|
35
|
-
errorList = append(errorList, fmt.Sprintf("'%s': %s", p, m))
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
return errors.New(strings.Join(errorList, ", "))
|
|
45
|
-
} else {
|
|
46
|
-
return errors.New(errorResponse.Error.Message)
|
|
47
|
-
}
|
|
48
|
-
}
|