Documentation
¶
Overview ¶
Command testserver is the one binary behind every plain helper pod the egress e2e suites stand up. A subcommand picks its behavior, so a single ko image backs all of them and a new origin-style test adds a subcommand here rather than a new image to build and push:
testserver grpc --listen=:50051 a cleartext HTTP/2 gRPC echo origin testserver http --listen=:8080 an HTTP(S) origin serving /healthz and /echoheaders testserver egressprobe --listen=:8080 a client that drives the egress gateway testserver websocket --listen=:8080 a websocket server that responds to PINGs
Each pod runs exactly one subcommand, so the wire behavior of any given pod is unchanged from when these were separate binaries -- the grpc pod still speaks nothing but cleartext HTTP/2, for instance. Given --tls-cert and --tls-key, http and websocket also serve HTTPS on :8443 beside their cleartext --listen, so one pod answers both schemes for the same name.
The subcommand shape follows Kubernetes' test/images/agnhost: a single extendable CLI whose modes are cobra subcommands, matching the rest of this repo's binaries (see cmd/atenet).