Skip to content

Commit 42c5d78

Browse files
committed
[Feature] test lookup cluster with envoy EDS server
1 parent b4bbcf7 commit 42c5d78

File tree

17 files changed

+567
-7
lines changed

17 files changed

+567
-7
lines changed

docker/lookup-cluster-mode/yorkie-lookup-cluster-poc-docker/envoy.Dockerfile

-7
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
FROM envoyproxy/envoy:v1.16.0
2+
3+
COPY ./envoy.yaml /etc/envoy/envoy.yaml
4+
5+
ENTRYPOINT ["/usr/local/bin/envoy", "-c"]
6+
7+
CMD /etc/envoy/envoy.yaml
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
FROM golang:1.15
2+
3+
WORKDIR /build/xds-server
4+
5+
COPY ./xds-server/main.go main.go
6+
COPY ./xds-server/go.mod go.mod
7+
8+
RUN go mod download
9+
10+
RUN go build -o xdsServer
11+
12+
ENTRYPOINT [ "./xdsServer" ]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
version: "3.3"
2+
3+
services:
4+
envoy:
5+
build:
6+
context: ./
7+
dockerfile: ./envoy.Dockerfile
8+
container_name: "envoy"
9+
restart: always
10+
ports:
11+
- "8080:8080"
12+
- "9090:9090"
13+
- "9901:9901"
14+
command: ["/etc/envoy/envoy.yaml"]
15+
depends_on:
16+
- xds
17+
- yorkie1
18+
- yorkie2
19+
- yorkie3
20+
networks:
21+
backend:
22+
ipv4_address: 10.1.1.6
23+
24+
xds:
25+
build:
26+
context: .
27+
dockerfile: Dockerfile-xds-server
28+
container_name: "xds-server"
29+
ports:
30+
- "2345:2345"
31+
networks:
32+
backend:
33+
ipv4_address: 10.1.1.5
34+
35+
yorkie1:
36+
image: "yorkieteam/yorkie:latest"
37+
container_name: "yorkie1"
38+
command:
39+
[
40+
"server",
41+
"--mongo-connection-uri",
42+
"mongodb://mongo:27017",
43+
"--enable-pprof",
44+
]
45+
restart: always
46+
ports:
47+
- "11101:11101"
48+
- "11102:11102"
49+
- "11103:11103"
50+
networks:
51+
backend:
52+
ipv4_address: 10.1.1.1
53+
depends_on:
54+
- mongo
55+
56+
yorkie2:
57+
image: "yorkieteam/yorkie:latest"
58+
container_name: "yorkie2"
59+
command:
60+
[
61+
"server",
62+
"--mongo-connection-uri",
63+
"mongodb://mongo:27017",
64+
"--enable-pprof",
65+
]
66+
restart: always
67+
ports:
68+
- "11201:11101"
69+
- "11202:11102"
70+
- "11203:11103"
71+
networks:
72+
backend:
73+
ipv4_address: 10.1.1.2
74+
depends_on:
75+
- mongo
76+
77+
yorkie3:
78+
image: "yorkieteam/yorkie:latest"
79+
container_name: "yorkie3"
80+
command:
81+
[
82+
"server",
83+
"--mongo-connection-uri",
84+
"mongodb://mongo:27017",
85+
"--enable-pprof",
86+
]
87+
restart: always
88+
ports:
89+
- "11301:11101"
90+
- "11302:11102"
91+
- "11303:11103"
92+
networks:
93+
backend:
94+
ipv4_address: 10.1.1.3
95+
depends_on:
96+
- mongo
97+
98+
mongo:
99+
image: mongo:latest
100+
container_name: mongo
101+
restart: always
102+
ports:
103+
- "27017:27017"
104+
networks:
105+
backend:
106+
ipv4_address: 10.1.1.4
107+
108+
networks:
109+
backend:
110+
driver: bridge
111+
ipam:
112+
driver: default
113+
config:
114+
- subnet: 10.1.0.0/16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
FROM envoyproxy/envoy:v1.16.0
2+
3+
COPY ./envoy.yaml /etc/envoy/envoy.yaml
4+
5+
ENTRYPOINT ["/usr/local/bin/envoy", "-c"]
6+
7+
CMD /etc/envoy/envoy.yaml
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,125 @@
1+
node:
2+
id: yorkies
3+
cluster: yorkies
4+
5+
admin:
6+
access_log_path: /tmp/admin_access.log
7+
address:
8+
socket_address: { address: 0.0.0.0, port_value: 9901 }
9+
10+
static_resources:
11+
listeners:
12+
- name: yorkie_listener
13+
address:
14+
socket_address: { address: 0.0.0.0, port_value: 8080 }
15+
filter_chains:
16+
- filters:
17+
- name: envoy.filters.network.http_connection_manager
18+
typed_config:
19+
"@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
20+
stat_prefix: ingress_http
21+
route_config:
22+
name: yorkie_ring_hash_routes
23+
virtual_hosts:
24+
- name: yorkie_service
25+
domains: ["*"]
26+
routes:
27+
- match: { prefix: "/" }
28+
route:
29+
cluster: yorkie_service
30+
hash_policy:
31+
header:
32+
header_name: x-api-key
33+
# https://github.com/grpc/grpc-web/issues/361
34+
max_stream_duration:
35+
grpc_timeout_header_max: 0s
36+
cors:
37+
allow_origin_string_match:
38+
- prefix: "*"
39+
allow_methods: GET, PUT, DELETE, POST, OPTIONS
40+
allow_headers: keep-alive,user-agent,cache-control,content-type,content-transfer-encoding,custom-header-1,x-accept-content-transfer-encoding,x-accept-response-streaming,x-user-agent,x-grpc-web,grpc-timeout,authorization,x-api-key
41+
max_age: "1728000"
42+
expose_headers: custom-header-1,grpc-status,grpc-message, grpc-status-details-bin
43+
http_filters:
44+
- name: envoy.filters.http.grpc_web
45+
- name: envoy.filters.http.cors
46+
- name: envoy.filters.http.router
47+
48+
- name: admin_listener
49+
address:
50+
socket_address: { address: 0.0.0.0, port_value: 9090 }
51+
filter_chains:
52+
- filters:
53+
- name: envoy.filters.network.http_connection_manager
54+
typed_config:
55+
"@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
56+
stat_prefix: ingress_http
57+
route_config:
58+
name: yorkie_routes
59+
virtual_hosts:
60+
- name: yorkie_service
61+
domains: ["*"]
62+
routes:
63+
- match: { prefix: "/" }
64+
route:
65+
cluster: admin_service
66+
# https://github.com/grpc/grpc-web/issues/361
67+
max_stream_duration:
68+
grpc_timeout_header_max: 0s
69+
cors:
70+
allow_origin_string_match:
71+
- prefix: "*"
72+
allow_methods: GET, PUT, DELETE, POST, OPTIONS
73+
allow_headers: keep-alive,user-agent,cache-control,content-type,content-transfer-encoding,custom-header-1,x-accept-content-transfer-encoding,x-accept-response-streaming,x-user-agent,x-grpc-web,grpc-timeout,authorization,x-api-key
74+
max_age: "1728000"
75+
expose_headers: custom-header-1,grpc-status,grpc-message, grpc-status-details-bin
76+
http_filters:
77+
- name: envoy.filters.http.grpc_web
78+
- name: envoy.filters.http.cors
79+
- name: envoy.filters.http.router
80+
81+
clusters:
82+
- name: yorkie_service
83+
connect_timeout: 0.25s
84+
# lb_policy: ring_hash
85+
# ring_hash_lb_config:
86+
# hash_function: XX_HASH
87+
type: EDS
88+
eds_cluster_config:
89+
service_name: yorkie-endpoint
90+
eds_config:
91+
resource_api_version: V3
92+
api_config_source:
93+
api_type: GRPC
94+
transport_api_version: V3
95+
grpc_services:
96+
- envoy_grpc:
97+
cluster_name: xds_cluster
98+
99+
- name: admin_service
100+
connect_timeout: 0.25s
101+
type: STATIC
102+
http2_protocol_options: {}
103+
load_assignment:
104+
cluster_name: admin_cluster
105+
endpoints:
106+
- lb_endpoints:
107+
- endpoint:
108+
address:
109+
socket_address:
110+
address: 10.1.1.1
111+
port_value: 11103
112+
113+
- name: xds_cluster
114+
type: STATIC
115+
http2_protocol_options: {}
116+
connect_timeout: 10s
117+
load_assignment:
118+
cluster_name: xds_cluster
119+
endpoints:
120+
- lb_endpoints:
121+
- endpoint:
122+
address:
123+
socket_address:
124+
address: 10.1.1.5
125+
port_value: 2345
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
FROM golang:1.15
2+
3+
WORKDIR /src/xds-server
4+
5+
COPY main.go main.go
6+
COPY go.mod go.mod
7+
8+
RUN go mod download
9+
10+
RUN go build -o xdsServer
11+
12+
ENTRYPOINT [ "./xdsServer" ]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
module github.com/aminmithil/envoy-eds
2+
3+
go 1.15
4+
5+
require (
6+
github.com/envoyproxy/go-control-plane v0.9.7
7+
github.com/sirupsen/logrus v1.7.0
8+
google.golang.org/grpc v1.34.0
9+
google.golang.org/protobuf v1.25.0
10+
)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
2+
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
3+
github.com/census-instrumentation/opencensus-proto v0.2.1 h1:glEXhBS5PSLLv4IXzLA5yPRVX4bilULVyxxbrfOtDAk=
4+
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
5+
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
6+
github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354 h1:9kRtNpqLHbZVO/NNxhHp2ymxFxsHOe3x2efJGn//Tas=
7+
github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
8+
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
9+
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
10+
github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
11+
github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
12+
github.com/envoyproxy/go-control-plane v0.9.7 h1:EARl0OvqMoxq/UMgMSCLnXzkaXbxzskluEBlMQCJPms=
13+
github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po=
14+
github.com/envoyproxy/protoc-gen-validate v0.1.0 h1:EQciDnbrYxy13PgWoY8AqoxGiPrpgBZ1R8UNe3ddc+A=
15+
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
16+
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
17+
github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
18+
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
19+
github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
20+
github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8=
21+
github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA=
22+
github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs=
23+
github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w=
24+
github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0=
25+
github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8=
26+
github.com/golang/protobuf v1.4.2 h1:+Z5KGCizgyZCbGh1KZqA0fcLLkwbsjIzS4aV2v7wJX0=
27+
github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
28+
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
29+
github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
30+
github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
31+
github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
32+
github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
33+
github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
34+
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
35+
github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
36+
github.com/sirupsen/logrus v1.7.0 h1:ShrD1U9pZB12TX0cVy0DtePoCH97K8EtX+mg7ZARUtM=
37+
github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
38+
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
39+
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
40+
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
41+
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
42+
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
43+
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
44+
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
45+
golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
46+
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
47+
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
48+
golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
49+
golang.org/x/net v0.0.0-20190311183353-d8887717615a h1:oWX7TPOiFAMXLq8o0ikBYfCJVlRHBcsciT5bXOrH628=
50+
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
51+
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
52+
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
53+
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
54+
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
55+
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
56+
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
57+
golang.org/x/sys v0.0.0-20191026070338-33540a1f6037 h1:YyJpGZS1sBuBCzLAR1VEpK193GlqGZbnPFnPV/5Rsb4=
58+
golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
59+
golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg=
60+
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
61+
golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
62+
golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
63+
golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
64+
golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
65+
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
66+
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
67+
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
68+
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
69+
google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
70+
google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013 h1:+kGHl1aib/qcwaRi1CbqBZ1rk19r85MNUf8HaBghugY=
71+
google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo=
72+
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
73+
google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
74+
google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY=
75+
google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
76+
google.golang.org/grpc v1.34.0 h1:raiipEjMOIC/TO2AvyTxP25XFdLxNIBwzDh3FM3XztI=
77+
google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8=
78+
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
79+
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
80+
google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
81+
google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE=
82+
google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo=
83+
google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
84+
google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
85+
google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
86+
google.golang.org/protobuf v1.25.0 h1:Ejskq+SyPohKW+1uil0JJMtmHCgJPJ/qWTxr8qp+R4c=
87+
google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
88+
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
89+
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
90+
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
91+
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=

0 commit comments

Comments
 (0)