Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AggregatedMeshContexts ¶
type AggregatedMeshContexts struct {
Hash string
Meshes []*core_mesh.MeshResource
MeshContextsByName map[string]MeshContext
}
AggregatedMeshContexts is an aggregate of all MeshContext across all meshes
func AggregateMeshContexts ¶
func AggregateMeshContexts( ctx context.Context, resManager manager.ReadOnlyResourceManager, fetcher meshContextFetcher, ) (AggregatedMeshContexts, error)
func (AggregatedMeshContexts) AllDataplanes ¶
func (m AggregatedMeshContexts) AllDataplanes() []*core_mesh.DataplaneResource
func (AggregatedMeshContexts) MustGetMeshContext ¶
func (m AggregatedMeshContexts) MustGetMeshContext(meshName string) MeshContext
MustGetMeshContext panics if there is no mesh context for given mesh. Call it when iterating over .Meshes There is a guarantee that for every Mesh in .Meshes there is a MeshContext.
func (AggregatedMeshContexts) ZoneIngresses ¶
func (m AggregatedMeshContexts) ZoneIngresses() []*core_mesh.ZoneIngressResource
type BaseMeshContext ¶
type BaseMeshContext struct {
Mesh *core_mesh.MeshResource
ResourceMap ResourceMap
// contains filtered or unexported fields
}
BaseMeshContext holds for a Mesh a set of resources that are changing less often (policies, external services...)
func (BaseMeshContext) Hash ¶
func (g BaseMeshContext) Hash() string
Hash base64 version of the hash mostly useed for testing
type ConnectionInfo ¶
type ConnectionInfo struct {
// Authority defines the URL that was used by the data plane to connect to the control plane
Authority string
}
type Context ¶
type Context struct {
ControlPlane *ControlPlaneContext
Mesh MeshContext
}
type ControlPlaneContext ¶
ControlPlaneContext contains shared global data and components that are required for generating XDS This data is the same regardless of a data plane proxy and mesh we are generating the data for.
type GlobalContext ¶
type GlobalContext struct {
ResourceMap ResourceMap
// contains filtered or unexported fields
}
GlobalContext holds resources that are Global
func (GlobalContext) Hash ¶
func (g GlobalContext) Hash() string
Hash base64 version of the hash mostly used for testing
type MeshContext ¶
type MeshContext struct {
Hash string
Resource *core_mesh.MeshResource
Resources Resources
DataplanesByName map[string]*core_mesh.DataplaneResource
EndpointMap xds.EndpointMap
ServicesInformation map[string]*ServiceInformation
}
func (*MeshContext) GetServiceProtocol ¶
func (mc *MeshContext) GetServiceProtocol(serviceName string) core_mesh.Protocol
type MeshContextBuilder ¶
type MeshContextBuilder interface {
// BuildGlobalContextIfChanged builds GlobalContext only if `latest` is nil or hash is different
// If hash is the same, the return `latest`
BuildGlobalContextIfChanged(ctx context.Context, latest *GlobalContext) (*GlobalContext, error)
// BuildIfChanged builds MeshContext only if latestMeshCtx is nil or hash of
// latestMeshCtx is different.
// If hash is the same, then the function returns the passed latestMeshCtx.
// Hash returned in MeshContext can never be empty.
BuildIfChanged(ctx context.Context, meshName string, latestMeshCtx *MeshContext) (*MeshContext, error)
}
func NewMeshContextBuilder ¶
func NewMeshContextBuilder( rm manager.ReadOnlyResourceManager, types []core_model.ResourceType, ipFunc lookup.LookupIPFunc, zone string, ) MeshContextBuilder
type ResourceMap ¶
type ResourceMap map[core_model.ResourceType]core_model.ResourceList
func (ResourceMap) Hash ¶
func (rm ResourceMap) Hash() []byte
type Resources ¶
type Resources struct {
MeshLocalResources ResourceMap
}
Resources mulity mesh soon
func NewResources ¶
func NewResources() Resources
func (Resources) Dataplanes ¶
func (r Resources) Dataplanes() *core_mesh.DataplaneResourceList
func (Resources) ListOrEmpty ¶
func (r Resources) ListOrEmpty(resourceType core_model.ResourceType) core_model.ResourceList
func (Resources) ZoneIngresses ¶
func (r Resources) ZoneIngresses() *core_mesh.ZoneIngressResourceList