52 Commits

Author SHA1 Message Date
Brandon Philips
96cce208c2 go.mod: use go.etcd.io/etcd/v3 versioning
This change makes the etcd package compatible with the existing Go
ecosystem for module versioning.

Used this tool to update package imports:
  https://github.com/KSubedi/gomove
2020-04-28 00:57:35 +00:00
mlmhl
0461b3fa51
grpcproxy: make grpc keep alive related options configurable (#11711)
Currently grpc-proxy doesn't config keep alive related options, so it
will use the default values provided by the underlay gprc library. If
clients uses a keep alive ping interval smaller than server's default
minTime, connections between server and clients will be closed and
reopened frequently.
2020-04-17 21:20:03 -07:00
Gyuho Lee
92f180c574 *: log server-side /health checks
To make it easier to root-cause when /health check fails.
For example, we are using load balancer to health check
each etcd instance, and when one etcd node gets terminated,
it's hard to tell whether etcd "server" was really failing
or client (or load balancer") failed to reach the etcd cluster
which is also failure in load balancer health check.

Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2020-03-18 11:14:05 -07:00
Jingyi Hu
bb29615359
proxy: remove capnslog (#11614)
* proxy: remove capnslog

* CHANGELOG: function signature change
2020-02-12 10:30:09 -08:00
Gyuho Lee
34bd797e67 *: revert module import paths
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-05-28 15:39:35 -07:00
shivaramr
9150bf52d6 go modules: Fix module path version to include version number 2019-04-26 15:29:50 -07:00
Sam Batschelet
9915d02022 *: Change gRPC proxy to expose etcd server endpoint /metrics
This PR resolves an issue where the `/metrics` endpoints exposed by the proxy were not returning metrics of the etcd members servers but of the proxy itself.

Signed-off-by: Sam Batschelet <sbatsche@redhat.com>
2019-04-10 16:09:32 -04:00
Gyuho Lee
8d1a62e7ef *: use default log configuration for server
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-02-21 10:57:26 -08:00
Hitoshi Mitake
65887ae1b4 pkg, clientv3, etcdmain: let grpcproxy rise an error when its cert has non empty CN
Fix https://github.com/etcd-io/etcd/issues/9521
2019-01-25 00:43:57 +09:00
Sam Batschelet
fa35126ef8
*: add client support for discovery-srv-name
Signed-off-by: Sam Batschelet <sbatsche@redhat.com>
2018-11-09 10:13:04 -05:00
Gyuho Lee
d37f1521b7 *: update import paths to "go.etcd.io/etcd"
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-08-28 17:47:55 -07:00
Gyuho Lee
12e2d4a15c etcdmain: fix log output
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-04 20:07:45 -07:00
Gyuho Lee
f556b78e8c etcdmain: update v2 proxy ready message
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-04 20:03:56 -07:00
Gyuho Lee
7da365bd45 etcdmain: silence http server logs
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-02 12:59:17 -07:00
Gyuho Lee
829c4479f3 etcdmain: support structured logging for discovery service
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-26 14:36:22 -07:00
Gyuho Lee
041b9069a2 *: configure server logger
- Add/Document "logger" to support structured logging.
  - This makes functional tests run easier, since zap logger
    provides built-in log redirect to files.
  - "etcd --logger-option=zap" to enable structured logging.
- Current "capnslog" will still be used as "default".
  - We may switch the default or deprecate "capnslog" in v3.5.
  - Either way, will clearly be documented.

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-16 17:36:00 -07:00
Gyuho Lee
d5bcf66b6b etcdmain: pass logger to "transport.SelfCert"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-02 13:42:17 -07:00
Gyuho Lee
4f1cf30c7d etcdmain: use "TrustedCAFile" in grpc_proxy
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-20 15:48:44 -07:00
Gyuho Lee
5a62ceb003 etcdmain: define "defaultGRPCMaxCallSendMsgSize"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-30 09:49:03 -08:00
Rene Zbinden
9aabe2a2b6 grpcproxy: configure --max-send-bytes and --max-recv-bytes for grpc proxy 2018-01-30 09:38:23 +01:00
Gyuho Lee
4f71941172 grpc-proxy: add "--debug" flag to "etcd grpc-proxy start" command
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2017-12-21 14:30:51 -08:00
Frederic Branczyk
627cffd6f8
*: initialize gRPC server metrics with zero values 2017-11-15 11:21:29 +01:00
Hitoshi Mitake
94b5071c30 etcdmain, proxy: handle authed watch in grpcproxy
This commit lets grpcproxy handle authed watch. The main changes are:
1. forwrading a token of a new broadcast client
2. checking permission of a new client that participates to an
   existing broadcast
2017-09-20 15:27:26 +09:00
Hitoshi Mitake
e709f83253 etcdmain, proxy: support authed RPCs with grpcproxy
This commit lets grpcproxy support authed RPCs. Auth tokens supplied
by clients are now forwarded to etcdserver by grpcproxy.
2017-09-20 11:14:45 +09:00
Anthony Romano
35c5dcefc2 *: cockroachdb/cmux -> soheilhy/cmux
Has fixes not in fork. Includes SetReadTimeout.
2017-08-22 09:59:59 -07:00
Anthony Romano
126e91c449 leasing, integration, etcdmain: closer function for leasing kv
Semaphore was seeing goroutine leaks
2017-08-18 14:05:57 -07:00
visheshnp
9be715bb66 etcdmain: support key leasing in grpcproxy 2017-08-04 11:35:36 -07:00
Gyu-Ho Lee
b8fd5c3dba etcdmain: add '/health' endpoint to grpc-proxy
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
2017-07-31 14:07:59 -07:00
Anthony Romano
f6acd0316c etcdmain: add --experimental-serializable-ordering to grpc proxy
Connect to another endpoint on stale reads.
2017-07-27 12:39:30 -07:00
Gyu-Ho Lee
74c8050adc *: use etcdhttp.Handle* for health, prometheus handlers
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
2017-07-26 06:23:55 -07:00
Anthony Romano
c5447c2ec9 etcdmain: support crl in grpcproxy 2017-07-21 11:00:22 -07:00
Anthony Romano
efbee9d8c7 etcdmain: support --auto-tls and --insecure-skip-verify in grpcproxy 2017-07-21 11:00:22 -07:00
Anthony Romano
1365f87d40 etcdmain: cleanup grpcproxy; support different certs for proxy/etcd
Enables TLS termination in grpcproxy.
2017-07-21 11:00:22 -07:00
Gyu-Ho Lee
c47d4450c7 etcdmain/grpc-proxy: add 'metrics-addr' option
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
2017-07-14 11:14:09 -07:00
Anthony Romano
fd01db9e60 grpcproxy, etcdmain: add lock and election services to proxy 2017-05-10 12:19:09 -07:00
Anthony Romano
c232814003 etcdmain, tcpproxy: srv-priority policy
Adds DNS SRV weighting and priorities to gateway.

Partially addresses #4378
2017-05-08 11:35:18 -07:00
fanmin shi
2bc1dfd921 etcdmain: support SRV discovery for gRPC proxy
FIX #7562
2017-04-06 10:45:19 -07:00
Xiang
fd5984af56 *: add pprof flag to grpc proxy 2017-04-03 22:07:17 -07:00
Anthony Romano
397a42efbe etcdmain: add prefixing support to grpc proxy
Fixes #6577
2017-03-22 16:45:38 -07:00
Gyu-Ho Lee
01dd60c0f7 etcdmain: SdNotify when gateway, grpc-proxy are ready
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
2017-03-09 10:10:21 -08:00
Gyu-Ho Lee
095407df58 etcdmain: add register,resolver flags
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
2017-03-09 02:47:12 -08:00
fanmin shi
65b59f4423 grpcproxy: incorporate lease proxy into existing proxy framework 2017-02-16 11:50:59 -08:00
Anthony Romano
8c0282ab24 grpcproxy, etcdmain, integration: add close channel to kv proxy
ccache launches goroutines that need to be explicitly stopped.

Fixes #7158
2017-01-18 11:51:16 -08:00
Anthony Romano
9b5eb1ae5a grpcproxy, etcdmain, integration: return done channel with WatchServer
Makes it possible to synchronously close the watch server.

Fixes #7078
2016-12-30 12:09:48 -08:00
Gyu-Ho Lee
ff96769b55
etcdmain: handle TLS in grpc-proxy listener 2016-11-21 10:39:34 -08:00
Gyu-Ho Lee
a39509ee5b etcdmain: add '/metrics' HTTP/1 path to grpc-proxy 2016-11-18 19:40:06 -08:00
Xiang Li
e1892e264d grpcproxy: add auth 2016-07-18 14:26:22 -07:00
Xiang Li
fd24340903 grpcproxy: add maintenance proxy 2016-07-18 13:31:03 -07:00
Xiang Li
3f74e9db0d *: add lease proxy 2016-07-18 12:06:59 -07:00
Xiang Li
bdfbd26e94 *: add cluster proxy 2016-07-16 12:15:32 -07:00