boulder/grpc
Jacob Hoffman-Andrews dbcb16543e Start using multiple-IP hostnames for load balancing (#3687)
We'd like to start using the DNS load balancer in the latest version of gRPC. That means putting all IPs for a service under a single hostname (or using a SRV record, but we're not taking that path). This change adds an sd-test-srv to act as our service discovery DNS service. It returns both Boulder IP addresses for any A lookup ending in ".boulder". This change also sets up the Docker DNS for our boulder container to defer to sd-test-srv when it doesn't know an answer.

sd-test-srv doesn't know how to resolve public Internet names like `github.com`. Resolving public names is required for the `godep-restore` test phase, so this change breaks out a copy of the boulder container that is used only for `godep-restore`.

This change implements a shim of a DNS resolver for gRPC, so that we can switch to DNS-based load balancing with the currently vendored gRPC, then when we upgrade to the latest gRPC we won't need a simultaneous config update.

Also, this change introduces a check at the end of the integration test that each backend received at least one RPC, ensuring that we are not sending all load to a single backend.
2018-05-23 09:47:14 -04:00
..
creds Start using multiple-IP hostnames for load balancing (#3687) 2018-05-23 09:47:14 -04:00
test_proto Switch to using go 1.9 (#3047) 2017-09-06 16:30:13 -04:00
balancer.go Allow gRPC clients to connect to multiple backends (#1918) 2016-06-15 16:50:56 -07:00
balancer_test.go Allow gRPC clients to connect to multiple backends (#1918) 2016-06-15 16:50:56 -07:00
ca-wrappers.go Add SCT embedding (#3521) 2018-03-12 11:58:30 -07:00
client.go Start using multiple-IP hostnames for load balancing (#3687) 2018-05-23 09:47:14 -04:00
dns_resolver.go Start using multiple-IP hostnames for load balancing (#3687) 2018-05-23 09:47:14 -04:00
errors.go Remove superfluous gRPC error encodings (#3048) 2017-09-06 12:38:10 -07:00
errors_test.go gRPC: publish in-flight RPC gauge in client interceptor. (#3672) 2018-04-27 15:53:54 -07:00
interceptors.go gRPC: publish in-flight RPC gauge in client interceptor. (#3672) 2018-04-27 15:53:54 -07:00
interceptors_test.go Remove various unnecessary uses of fmt.Sprintf (#3707) 2018-05-11 11:55:25 -07:00
pb-marshalling.go Add SCT embedding (#3521) 2018-03-12 11:58:30 -07:00
pb-marshalling_test.go Add SCT embedding (#3521) 2018-03-12 11:58:30 -07:00
publisher-wrappers.go Submit final certs to CT logs (#3640) 2018-04-13 12:02:01 -04:00
ra-wrappers.go Add SCT embedding (#3521) 2018-03-12 11:58:30 -07:00
sa-wrappers.go SA: Cleanup, forbid nil issuer arg to AddCertificate (#3675) 2018-05-02 10:29:21 -07:00
server.go gRPC: Rename histogram rpc_lag -> grpc_lag (#3673) 2018-04-26 16:19:13 -04:00
va-wrappers.go Split grpc/wrappers.go into several files (#2392) 2016-12-06 15:45:31 -08:00