{"action":"created","comment":{"url":"https://api.github.com/repos/datawire/ambassador/pulls/comments/217046422","pull_request_review_id":154665518,"id":217046422,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIxNzA0NjQyMg==","diff_hunk":"@@ -120,17 +115,34 @@ ambassador   10.11.12.13     35.36.37.38     80:31656/TCP   1m\n \n and the `EXTERNAL-IP` element is what we want. We'll call that `$AMBASSADORHOST`. You'll also need the port: if you haven't explicitly configured Ambassador otherwise, this should be 80 for an HTTP Ambassador or 443 for an HTTPS Ambassador. We'll call that `$AMBASSADORPORT`.\n \n-To test `Hello World`, we can use the Docker image `enm10k/grpc-hello-world`:\n+To run the example echo server, clone the [grpc-example repository](https://github.com/datawire/grpc-example).\n \n ```shell\n-docker run -e ADDRESS=${AMBASSADORHOST}:${AMBASSADORPORT} enm10k/grpc-hello-world greeter_client\n+git clone https://github.com/datawire/grpc-example.git\n ```\n \n-Note: If you're trying this out using `NodePort` on minikube and running the docker command above on your host machine, make sure to pass the `--network host` parameter to the docker command.\n+Once the repository is cloned, change to the `client` directory and run the client application with \n+```shell\n+cd ./grpc-example/client/\n+python client.py --channel ${AMBASSADORHOST}:${AMBASSADORPORT} --message Hello!\n+```\n+\n+The `--channel` option must be set and specifies the ip/host and port to route the gRPC traffic to.\n+\n+The `--message` option allows you to set your own message. It is optional and will send a default message if left blank.\n+\n \n ## Using over TLS\n \n-To enable grpc over TLS, ALPN protocol http2 `alpn_protocols: h2` must be added to the TLS module configuration. Refer to [TLS termination guide](/user-guide/tls-termination.html) for more information.\n+To initiate a gRPC call over a secure channel with TLS you need to do a couple of things:\n+\n+First, ALPN protocol http2 must be enabled in the TLS module by `alpn_protocols: h2`\n+","path":"docs/user-guide/grpc.md","position":156,"original_position":156,"commit_id":"87d97d0169c823c6b4435c138659d9b55028022b","original_commit_id":"87d97d0169c823c6b4435c138659d9b55028022b","user":{"login":"richarddli","id":10065494,"node_id":"MDQ6VXNlcjEwMDY1NDk0","avatar_url":"https://avatars2.githubusercontent.com/u/10065494?v=4","gravatar_id":"","url":"https://api.github.com/users/richarddli","html_url":"https://github.com/richarddli","followers_url":"https://api.github.com/users/richarddli/followers","following_url":"https://api.github.com/users/richarddli/following{/other_user}","gists_url":"https://api.github.com/users/richarddli/gists{/gist_id}","starred_url":"https://api.github.com/users/richarddli/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/richarddli/subscriptions","organizations_url":"https://api.github.com/users/richarddli/orgs","repos_url":"https://api.github.com/users/richarddli/repos","events_url":"https://api.github.com/users/richarddli/events{/privacy}","received_events_url":"https://api.github.com/users/richarddli/received_events","type":"User","site_admin":false},"body":"Missing period.","created_at":"2018-09-12T14:08:08Z","updated_at":"2018-09-12T14:08:58Z","html_url":"https://github.com/datawire/ambassador/pull/794#discussion_r217046422","pull_request_url":"https://api.github.com/repos/datawire/ambassador/pulls/794","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/datawire/ambassador/pulls/comments/217046422"},"html":{"href":"https://github.com/datawire/ambassador/pull/794#discussion_r217046422"},"pull_request":{"href":"https://api.github.com/repos/datawire/ambassador/pulls/794"}}},"pull_request":{"url":"https://api.github.com/repos/datawire/ambassador/pulls/794","id":214942346,"node_id":"MDExOlB1bGxSZXF1ZXN0MjE0OTQyMzQ2","html_url":"https://github.com/datawire/ambassador/pull/794","diff_url":"https://github.com/datawire/ambassador/pull/794.diff","patch_url":"https://github.com/datawire/ambassador/pull/794.patch","issue_url":"https://api.github.com/repos/datawire/ambassador/issues/794","number":794,"state":"open","locked":false,"title":"Clarify gRPC and TLS documentation","user":{"login":"nbkrause","id":28152786,"node_id":"MDQ6VXNlcjI4MTUyNzg2","avatar_url":"https://avatars1.githubusercontent.com/u/28152786?v=4","gravatar_id":"","url":"https://api.github.com/users/nbkrause","html_url":"https://github.com/nbkrause","followers_url":"https://api.github.com/users/nbkrause/followers","following_url":"https://api.github.com/users/nbkrause/following{/other_user}","gists_url":"https://api.github.com/users/nbkrause/gists{/gist_id}","starred_url":"https://api.github.com/users/nbkrause/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nbkrause/subscriptions","organizations_url":"https://api.github.com/users/nbkrause/orgs","repos_url":"https://api.github.com/users/nbkrause/repos","events_url":"https://api.github.com/users/nbkrause/events{/privacy}","received_events_url":"https://api.github.com/users/nbkrause/received_events","type":"User","site_admin":false},"body":"","created_at":"2018-09-12T12:27:05Z","updated_at":"2018-09-12T14:08:58Z","closed_at":null,"merged_at":null,"merge_commit_sha":"a0e701c307dda452299b62453ab46a16b9f46189","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/datawire/ambassador/pulls/794/commits","review_comments_url":"https://api.github.com/repos/datawire/ambassador/pulls/794/comments","review_comment_url":"https://api.github.com/repos/datawire/ambassador/pulls/comments{/number}","comments_url":"https://api.github.com/repos/datawire/ambassador/issues/794/comments","statuses_url":"https://api.github.com/repos/datawire/ambassador/statuses/87d97d0169c823c6b4435c138659d9b55028022b","head":{"label":"datawire:nkrause/grpc-tls-documentation","ref":"nkrause/grpc-tls-documentation","sha":"87d97d0169c823c6b4435c138659d9b55028022b","user":{"login":"datawire","id":9270257,"node_id":"MDEyOk9yZ2FuaXphdGlvbjkyNzAyNTc=","avatar_url":"https://avatars0.githubusercontent.com/u/9270257?v=4","gravatar_id":"","url":"https://api.github.com/users/datawire","html_url":"https://github.com/datawire","followers_url":"https://api.github.com/users/datawire/followers","following_url":"https://api.github.com/users/datawire/following{/other_user}","gists_url":"https://api.github.com/users/datawire/gists{/gist_id}","starred_url":"https://api.github.com/users/datawire/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/datawire/subscriptions","organizations_url":"https://api.github.com/users/datawire/orgs","repos_url":"https://api.github.com/users/datawire/repos","events_url":"https://api.github.com/users/datawire/events{/privacy}","received_events_url":"https://api.github.com/users/datawire/received_events","type":"Organization","site_admin":false},"repo":{"id":86740149,"node_id":"MDEwOlJlcG9zaXRvcnk4Njc0MDE0OQ==","name":"ambassador","full_name":"datawire/ambassador","owner":{"login":"datawire","id":9270257,"node_id":"MDEyOk9yZ2FuaXphdGlvbjkyNzAyNTc=","avatar_url":"https://avatars0.githubusercontent.com/u/9270257?v=4","gravatar_id":"","url":"https://api.github.com/users/datawire","html_url":"https://github.com/datawire","followers_url":"https://api.github.com/users/datawire/followers","following_url":"https://api.github.com/users/datawire/following{/other_user}","gists_url":"https://api.github.com/users/datawire/gists{/gist_id}","starred_url":"https://api.github.com/users/datawire/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/datawire/subscriptions","organizations_url":"https://api.github.com/users/datawire/orgs","repos_url":"https://api.github.com/users/datawire/repos","events_url":"https://api.github.com/users/datawire/events{/privacy}","received_events_url":"https://api.github.com/users/datawire/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/datawire/ambassador","description":"open source Kubernetes-native API gateway for microservices built on the Envoy Proxy","fork":false,"url":"https://api.github.com/repos/datawire/ambassador","forks_url":"https://api.github.com/repos/datawire/ambassador/forks","keys_url":"https://api.github.com/repos/datawire/ambassador/keys{/key_id}","collaborators_url":"https://api.github.com/repos/datawire/ambassador/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/datawire/ambassador/teams","hooks_url":"https://api.github.com/repos/datawire/ambassador/hooks","issue_events_url":"https://api.github.com/repos/datawire/ambassador/issues/events{/number}","events_url":"https://api.github.com/repos/datawire/ambassador/events","assignees_url":"https://api.github.com/repos/datawire/ambassador/assignees{/user}","branches_url":"https://api.github.com/repos/datawire/ambassador/branches{/branch}","tags_url":"https://api.github.com/repos/datawire/ambassador/tags","blobs_url":"https://api.github.com/repos/datawire/ambassador/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/datawire/ambassador/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/datawire/ambassador/git/refs{/sha}","trees_url":"https://api.github.com/repos/datawire/ambassador/git/trees{/sha}","statuses_url":"https://api.github.com/repos/datawire/ambassador/statuses/{sha}","languages_url":"https://api.github.com/repos/datawire/ambassador/languages","stargazers_url":"https://api.github.com/repos/datawire/ambassador/stargazers","contributors_url":"https://api.github.com/repos/datawire/ambassador/contributors","subscribers_url":"https://api.github.com/repos/datawire/ambassador/subscribers","subscription_url":"https://api.github.com/repos/datawire/ambassador/subscription","commits_url":"https://api.github.com/repos/datawire/ambassador/commits{/sha}","git_commits_url":"https://api.github.com/repos/datawire/ambassador/git/commits{/sha}","comments_url":"https://api.github.com/repos/datawire/ambassador/comments{/number}","issue_comment_url":"https://api.github.com/repos/datawire/ambassador/issues/comments{/number}","contents_url":"https://api.github.com/repos/datawire/ambassador/contents/{+path}","compare_url":"https://api.github.com/repos/datawire/ambassador/compare/{base}...{head}","merges_url":"https://api.github.com/repos/datawire/ambassador/merges","archive_url":"https://api.github.com/repos/datawire/ambassador/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/datawire/ambassador/downloads","issues_url":"https://api.github.com/repos/datawire/ambassador/issues{/number}","pulls_url":"https://api.github.com/repos/datawire/ambassador/pulls{/number}","milestones_url":"https://api.github.com/repos/datawire/ambassador/milestones{/number}","notifications_url":"https://api.github.com/repos/datawire/ambassador/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/datawire/ambassador/labels{/name}","releases_url":"https://api.github.com/repos/datawire/ambassador/releases{/id}","deployments_url":"https://api.github.com/repos/datawire/ambassador/deployments","created_at":"2017-03-30T19:22:52Z","updated_at":"2018-09-12T12:35:46Z","pushed_at":"2018-09-12T12:27:06Z","git_url":"git://github.com/datawire/ambassador.git","ssh_url":"git@github.com:datawire/ambassador.git","clone_url":"https://github.com/datawire/ambassador.git","svn_url":"https://github.com/datawire/ambassador","homepage":"https://www.getambassador.io","size":4984,"stargazers_count":1047,"watchers_count":1047,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":118,"mirror_url":null,"archived":false,"open_issues_count":158,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":118,"open_issues":158,"watchers":1047,"default_branch":"master"}},"base":{"label":"datawire:stable","ref":"stable","sha":"079c8f36fb7bbfda7366d7f01c4fd4773c6363a7","user":{"login":"datawire","id":9270257,"node_id":"MDEyOk9yZ2FuaXphdGlvbjkyNzAyNTc=","avatar_url":"https://avatars0.githubusercontent.com/u/9270257?v=4","gravatar_id":"","url":"https://api.github.com/users/datawire","html_url":"https://github.com/datawire","followers_url":"https://api.github.com/users/datawire/followers","following_url":"https://api.github.com/users/datawire/following{/other_user}","gists_url":"https://api.github.com/users/datawire/gists{/gist_id}","starred_url":"https://api.github.com/users/datawire/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/datawire/subscriptions","organizations_url":"https://api.github.com/users/datawire/orgs","repos_url":"https://api.github.com/users/datawire/repos","events_url":"https://api.github.com/users/datawire/events{/privacy}","received_events_url":"https://api.github.com/users/datawire/received_events","type":"Organization","site_admin":false},"repo":{"id":86740149,"node_id":"MDEwOlJlcG9zaXRvcnk4Njc0MDE0OQ==","name":"ambassador","full_name":"datawire/ambassador","owner":{"login":"datawire","id":9270257,"node_id":"MDEyOk9yZ2FuaXphdGlvbjkyNzAyNTc=","avatar_url":"https://avatars0.githubusercontent.com/u/9270257?v=4","gravatar_id":"","url":"https://api.github.com/users/datawire","html_url":"https://github.com/datawire","followers_url":"https://api.github.com/users/datawire/followers","following_url":"https://api.github.com/users/datawire/following{/other_user}","gists_url":"https://api.github.com/users/datawire/gists{/gist_id}","starred_url":"https://api.github.com/users/datawire/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/datawire/subscriptions","organizations_url":"https://api.github.com/users/datawire/orgs","repos_url":"https://api.github.com/users/datawire/repos","events_url":"https://api.github.com/users/datawire/events{/privacy}","received_events_url":"https://api.github.com/users/datawire/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/datawire/ambassador","description":"open source Kubernetes-native API gateway for microservices built on the Envoy Proxy","fork":false,"url":"https://api.github.com/repos/datawire/ambassador","forks_url":"https://api.github.com/repos/datawire/ambassador/forks","keys_url":"https://api.github.com/repos/datawire/ambassador/keys{/key_id}","collaborators_url":"https://api.github.com/repos/datawire/ambassador/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/datawire/ambassador/teams","hooks_url":"https://api.github.com/repos/datawire/ambassador/hooks","issue_events_url":"https://api.github.com/repos/datawire/ambassador/issues/events{/number}","events_url":"https://api.github.com/repos/datawire/ambassador/events","assignees_url":"https://api.github.com/repos/datawire/ambassador/assignees{/user}","branches_url":"https://api.github.com/repos/datawire/ambassador/branches{/branch}","tags_url":"https://api.github.com/repos/datawire/ambassador/tags","blobs_url":"https://api.github.com/repos/datawire/ambassador/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/datawire/ambassador/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/datawire/ambassador/git/refs{/sha}","trees_url":"https://api.github.com/repos/datawire/ambassador/git/trees{/sha}","statuses_url":"https://api.github.com/repos/datawire/ambassador/statuses/{sha}","languages_url":"https://api.github.com/repos/datawire/ambassador/languages","stargazers_url":"https://api.github.com/repos/datawire/ambassador/stargazers","contributors_url":"https://api.github.com/repos/datawire/ambassador/contributors","subscribers_url":"https://api.github.com/repos/datawire/ambassador/subscribers","subscription_url":"https://api.github.com/repos/datawire/ambassador/subscription","commits_url":"https://api.github.com/repos/datawire/ambassador/commits{/sha}","git_commits_url":"https://api.github.com/repos/datawire/ambassador/git/commits{/sha}","comments_url":"https://api.github.com/repos/datawire/ambassador/comments{/number}","issue_comment_url":"https://api.github.com/repos/datawire/ambassador/issues/comments{/number}","contents_url":"https://api.github.com/repos/datawire/ambassador/contents/{+path}","compare_url":"https://api.github.com/repos/datawire/ambassador/compare/{base}...{head}","merges_url":"https://api.github.com/repos/datawire/ambassador/merges","archive_url":"https://api.github.com/repos/datawire/ambassador/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/datawire/ambassador/downloads","issues_url":"https://api.github.com/repos/datawire/ambassador/issues{/number}","pulls_url":"https://api.github.com/repos/datawire/ambassador/pulls{/number}","milestones_url":"https://api.github.com/repos/datawire/ambassador/milestones{/number}","notifications_url":"https://api.github.com/repos/datawire/ambassador/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/datawire/ambassador/labels{/name}","releases_url":"https://api.github.com/repos/datawire/ambassador/releases{/id}","deployments_url":"https://api.github.com/repos/datawire/ambassador/deployments","created_at":"2017-03-30T19:22:52Z","updated_at":"2018-09-12T12:35:46Z","pushed_at":"2018-09-12T12:27:06Z","git_url":"git://github.com/datawire/ambassador.git","ssh_url":"git@github.com:datawire/ambassador.git","clone_url":"https://github.com/datawire/ambassador.git","svn_url":"https://github.com/datawire/ambassador","homepage":"https://www.getambassador.io","size":4984,"stargazers_count":1047,"watchers_count":1047,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":118,"mirror_url":null,"archived":false,"open_issues_count":158,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":118,"open_issues":158,"watchers":1047,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/datawire/ambassador/pulls/794"},"html":{"href":"https://github.com/datawire/ambassador/pull/794"},"issue":{"href":"https://api.github.com/repos/datawire/ambassador/issues/794"},"comments":{"href":"https://api.github.com/repos/datawire/ambassador/issues/794/comments"},"review_comments":{"href":"https://api.github.com/repos/datawire/ambassador/pulls/794/comments"},"review_comment":{"href":"https://api.github.com/repos/datawire/ambassador/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/datawire/ambassador/pulls/794/commits"},"statuses":{"href":"https://api.github.com/repos/datawire/ambassador/statuses/87d97d0169c823c6b4435c138659d9b55028022b"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"richarddli"}}