README.md
1# gRPC C++ CSM Hello World Example
2
3This CSM example builds on the [Hello World Example](https://github.com/grpc/grpc/tree/master/examples/cpp/helloworld) and changes the gRPC client and server to test CSM observability.
4
5## Configuration
6
7The client takes the following command-line arguments -
8* target - By default, the client tries to connect to the xDS "xds:///helloworld:50051" and gRPC would use xDS to resolve this target and connect to the server backend. This can be overridden to change the target.
9* prometheus_endpoint - Endpoint used for prometheus. Default value is localhost:9464
10
11
12The server takes the following command-line arguments -
13* port - Port on which the Hello World service is run. Defaults to 50051.
14* prometheus_endpoint - Endpoint used for prometheus. Default value is localhost:9464
15
16## Building
17
18From the gRPC workspace folder:
19
20Client:
21```
22docker build -f examples/cpp/csm/observability/Dockerfile.client
23```
24Server:
25```
26docker build -f examples/cpp/csm/observability/Dockerfile.server
27```
28
29To push to a registry, add a tag to the image either by adding a `-t` flag to `docker build` command above or run:
30
31```
32docker image tag ${sha from build command above} ${tag}
33```
34
35And then push the tagged image using `docker push`