README
¶
Example xDS Server
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" docs: a simple http proxy. You can run the example using the project top-level Makefile, e.g.:
go-control-plane$ make example
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 and see Envoy's website.
Files
- main/main.go is the example program entrypoint. It instantiates the cache and xDS server and runs the xDS server process.
- resource.go generates a
Snapshot
structure which describes the configuration that the xDS server serves to Envoy. - server.go runs the xDS control plane server.
- logger.go implements the
pkg/log/Logger
interface which provides logging services to the cache.
Documentation
¶
Overview ¶
Copyright 2020 Envoyproxy Authors
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright 2020 Envoyproxy Authors
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright 2020 Envoyproxy Authors
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Index ¶
Constants ¶
const ( ClusterName = "example_proxy_cluster" RouteName = "local_route" ListenerName = "listener_0" ListenerPort = 10000 UpstreamHost = "www.envoyproxy.io" UpstreamPort = 80 )
Variables ¶
This section is empty.
Functions ¶
func GenerateSnapshot ¶
func GenerateSnapshot() cache.Snapshot
Types ¶
type Logger ¶
type Logger struct {
Debug bool
}
An example of a logger that implements `pkg/log/Logger`. Logs to stdout. If Debug == false then Debugf() and Infof() won't output anything.