Documentation
¶
Overview ¶
Package meshbridge contains a wrapper interface for running multiple mesh connections in parallel and sharing routes between them.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Bridge ¶
type Bridge interface {
// Start starts the bridge. This opens all meshes and services.
Start(ctx context.Context) error
// Stop stops the bridge. This closes all meshes and services.
Stop(ctx context.Context) error
// ServeError returns a channel that will receive an error if any gRPC server
// fails.
ServeError() <-chan error
// Resolver returns a net.Resolver that can be used to resolve DNS names.
// If the meshdns server is not enabled, this returns the system resolver.
Resolver() *net.Resolver
// Mesh returns the mesh with the given ID. If ID is an invalid mesh ID,
// nil is returned.
Mesh(id string) mesh.Mesh
}
Bridge is the interface for a mesh bridge. It manages multiple mesh connections and services, sharing routes between them.
type MeshOptions ¶
type MeshOptions struct {
// Mesh are the options for the mesh to connect to.
Mesh *mesh.Options `json:",inline" yaml:",inline" toml:",inline"`
// Services are the options for services to run and/or advertise.
Services *services.Options `yaml:"services,omitempty" json:"services,omitempty" toml:"services,omitempty"`
}
MeshOptions are options for a mesh connection.
func (*MeshOptions) BindFlags ¶
func (o *MeshOptions) BindFlags(fs *flag.FlagSet, ifaceName string, prefix ...string)
BindFlags binds the options to the given flagset.
func (*MeshOptions) Validate ¶
func (o *MeshOptions) Validate() error
Validate validates the options.
type Options ¶
type Options struct {
// Meshes are the meshes to bridge.
Meshes map[string]*MeshOptions `json:",inline" yaml:",inline" toml:",inline"`
// MeshDNS are options for running a meshdns server bridging all meshes.
MeshDNS *services.MeshDNSOptions `json:"meshdns,omitempty" yaml:"meshdns,omitempty" toml:"meshdns,omitempty"`
// UseMeshDNS is true if the bridge should use the meshdns server.
UseMeshDNS bool `json:"use-meshdns,omitempty" yaml:"use-meshdns,omitempty" toml:"use-meshdns,omitempty"`
}
Options are options for the bridge.
Click to show internal directories.
Click to hide internal directories.