tree: 796316299d4d376c792392cff23d9b70977afde5 [path history] [tgz]
  1. build.gradle
  2. README.md
  3. settings.gradle
examples/example-xds/README.md

gRPC XDS Example

The XDS example is a Hello World client capable of being configured with the XDS management protocol. Out-of-the-box it behaves the same as hello world client.

XDS support is incomplete and experimental, with limited compatibility. It will be very hard to produce a working enviornment just by this example. Please refer to documentation specific for your XDS management server and environment.

Build the example

  1. Build the hello-world example server or the hostname example server. See the examples README or the hostname example README.

  2. Build the xds hello-world example client. From the grpc-java/examples/examples-xds directory:

$ ../gradlew installDist

This creates the script build/install/example-xds/bin/xds-hello-world-client that runs the example.

To start the server, run:

$ ../build/install/hostname/bin/hello-world-server
$ # or
$ ../example-hostname/build/install/hostname/bin/hostname-server

And in a different terminal window run this client:

$ ./build/install/example-xds/bin/xds-hello-world-client

However, that didn't use XDS! To use XDS we assume you have deployed the server in your deployment environment and know its name. You need to set the GRPC_XDS_BOOTSTRAP environment variable to point to a gRPC XDS bootstrap file (see gRFC A27 for the bootstrap format). Then use the xds: target scheme during channel creation.

$ export GRPC_XDS_BOOTSTRAP=/path/to/bootstrap.json
$ ./build/install/example-xds/bin/xds-hello-world-client "XDS world" xds:///yourServersName