mirror of https://github.com/grpc/grpc.git
The C based gRPC (C++, Python, Ruby, Objective-C, PHP, C#)
https://grpc.io/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
1.3 KiB
35 lines
1.3 KiB
7 months ago
|
# gRPC C++ CSM Hello World Example
|
||
|
|
||
|
This 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 accept configuration from an xDS control plane and test CSM observability.
|
||
|
|
||
|
## Configuration
|
||
|
|
||
|
The client takes the following command-line arguments -
|
||
|
* 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.
|
||
|
* prometheus_endpoint - Endpoint used for prometheus. Default value is localhost:9464
|
||
|
|
||
|
|
||
|
The server takes the following command-line arguments -
|
||
|
* port - Port on which the Hello World service is run. Defaults to 50051.
|
||
|
* prometheus_endpoint - Endpoint used for prometheus. Default value is localhost:9464
|
||
|
|
||
|
## Building
|
||
|
|
||
|
From the gRPC workspace folder:
|
||
|
|
||
|
Client:
|
||
|
```
|
||
|
docker build -f examples/cpp/csm/observability/Dockerfile.client
|
||
|
```
|
||
|
Server:
|
||
|
```
|
||
|
docker build -f examples/cpp/csm/observability/Dockerfile.server
|
||
|
```
|
||
|
|
||
|
To push to a registry, add a tag to the image either by adding a `-t` flag to `docker build` command above or run:
|
||
|
|
||
|
```
|
||
|
docker image tag ${sha from build command above} ${tag}
|
||
|
```
|
||
|
|
||
|
And then push the tagged image using `docker push`
|