github.com/hxx258456/ccgo@v0.0.5-0.20230213014102-48b35f46f66f/go-control-plane/internal/example/README.md (about) 1 # Example xDS Server 2 3 This is an example of a trivial xDS V3 control plane server. It serves an Envoy configuration that's roughly equivalent to the one used by the Envoy ["Quick Start"](https://www.envoyproxy.io/docs/envoy/latest/start/start#quick-start-to-run-simple-example) docs: a simple http proxy. You can run the example using the project top-level Makefile, e.g.: 4 5 ``` 6 go-control-plane$ make example 7 ``` 8 9 The Makefile builds the example server and then runs `build/example.sh` which runs both Envoy and the example server. The example server serves a configuration defined in `internal/example/resource.go`. If everything works correctly, you should be able to open a browser to [http://localhost:10000](http://localhost:10000) and see Envoy's website. 10 11 ## Files 12 13 * [main/main.go](main/main.go) is the example program entrypoint. It instantiates the cache and xDS server and runs the xDS server process. 14 * [resource.go](resource.go) generates a `Snapshot` structure which describes the configuration that the xDS server serves to Envoy. 15 * [server.go](server.go) runs the xDS control plane server. 16 * [logger.go](logger.go) implements the `pkg/log/Logger` interface which provides logging services to the cache.