# first time, generate local certs./config/certs/certs.sh
Run
Run Dev Mode
# start in watch modenxserveapi# start with TLS. ***To use with Envoy, start with TLS***SECURE=truengserveapi# to turn on logging for `request`NODE_DEBUG=requestngserveapiDEBUG=typeorm:*ngserveapi# optionally you can run with prod env(environment.prod.ts) for testing! use this for testing only.nxserveapi--prod
# test API directly (nestJS)grpcurl-plaintext \-protoset <(bufbuild-o-) \-d '{"message": "sumo"}'0.0.0.0:5001yeti.echo.v1.EchoService/Echo# test API directly (nestJS) with TLSgrpcurl-insecure \-protoset <(bufbuild-o-) \-d '{"message": "sumo"}'0.0.0.0:5001yeti.echo.v1.EchoService/Echo# test API via envoygrpcurl-plaintext \-protoset <(bufbuild-o-) \-d '{"message": "sumo"}'0.0.0.0:9090yeti.echo.v1.EchoService/Echo# test API via envoy with TLSgrpcurl-cacert=config/certs/ca-cert.pem \-protoset <(bufbuild-o-) \-d '{"message": "sumo"}'localhost:9444yeti.echo.v1.EchoService/Echo# make sure `require_client_certificate: true` is enabled in `listeners.yaml` for following tests:# test API via envoy with TLS, and client certgrpcurl-cacert=config/certs/ca-cert.pem \-cert=config/certs/client-cert.pem \-key=config/certs/client-key.pem \-protoset <(bufbuild-o-) \-d '{"message": "sumo"}'localhost:9444yeti.echo.v1.EchoService/Echo# test with wrong client cert. This will fail!grpcurl-cacert=config/certs/ca-cert.pem \-cert=config/certs/upstream-cert.pem \-key=config/certs/upstream-key.pem \-protoset <(bufbuild-o-) \-d '{"message": "sumo"}'localhost:9444yeti.echo.v1.EchoService/Echo# testing with request data from file.grpcurl-cacert=config/certs/ca-cert.pem \-protoset <(bufbuild-o-) \-v -Htrans_id=abc123 \-d @localhost:9444yeti.echo.v1.EchoService/Echo<test/echo-request.json