docs/serving/samples/grpc-ping-go
Adriano Cunha 49126fcc43 Add real build/unit presubmit tests (#734)
Addresses #66.
Addresses #67.

* Update test-infra to use the default build/unit test runners, which includes building go code and linting markdown files.
* Remove the integration tests, as they only start Knative Serving, which is irrelevant for this repo.

Bonuses:
* fix unbuildable `grpc-ping-go` sample
* remove test-infra import hack from `Gopack.lock` and `update-deps.sh`
2019-01-10 14:23:42 -08:00
..
client Add real build/unit presubmit tests (#734) 2019-01-10 14:23:42 -08:00
proto Clean up folder names to match helloworld style (#62) 2018-07-10 10:14:34 -07:00
Dockerfile Fix numerous sample READMEs (#127) 2018-07-14 11:01:35 -07:00
README.md Format markdown (#626) 2018-12-04 14:34:25 -08:00
grpc-ping.go Fix spelling errors (#605) 2018-11-28 10:40:23 -08:00
sample.yaml Fix numerous sample READMEs (#127) 2018-07-14 11:01:35 -07:00

README.md

gRPC Ping

A simple gRPC server written in Go that you can use for testing.

This sample is dependent on this issue to be complete.

Prerequisites

  1. Install Knative
  2. Install docker

Build and run the gRPC server

Build and run the gRPC server. This command will build the server and use kubectl to apply the configuration.

REPO="gcr.io/<your-project-here>"

# Build and publish the container, run from the root directory.
docker build \
  --tag "${REPO}/serving/samples/grpc-ping-go" \
  --file=serving/samples/grpc-ping-go/Dockerfile .
docker push "${REPO}/serving/samples/grpc-ping-go"

# Replace the image reference with our published image.
perl -pi -e "s@github.com/knative/docs/serving/samples/grpc-ping-go@${REPO}/serving/samples/grpc-ping-go@g" serving/samples/grpc-ping-go/*.yaml

# Deploy the Knative sample.
kubectl apply --filename serving/samples/grpc-ping-go/sample.yaml

Use the client to stream messages to the gRPC server

  1. Fetch the created ingress hostname and IP.
# Put the Host name into an environment variable.
export SERVICE_HOST=`kubectl get route grpc-ping --output jsonpath="{.status.domain}"`

# Put the ingress IP into an environment variable.
export SERVICE_IP=`kubectl get svc knative-ingressgateway --namespace istio-system --output jsonpath="{.status.loadBalancer.ingress[*].ip}"`
  1. Use the client to send message streams to the gRPC server.
go run -tags=grpcping ./serving/samples/grpc-ping-go/client/client.go -server_addr="$SERVICE_IP:80" -server_host_override="$SERVICE_HOST"