configentry

package
v1.16.0-rc1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 10, 2023 License: MPL-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ComputeResolvedServiceConfig added in v1.14.0

func ComputeResolvedServiceConfig(
	args *structs.ServiceConfigRequest,
	entries *ResolvedServiceConfigSet,
	logger hclog.Logger,
) (*structs.ServiceConfigResponse, error)

func EqualID added in v1.16.0

func EqualID(e1, e2 structs.ConfigEntry) bool

func Less added in v1.16.0

func Less(first structs.ConfigEntry, second structs.ConfigEntry) bool

func MergeNodeServiceWithCentralConfig added in v1.14.0

func MergeNodeServiceWithCentralConfig(
	ws memdb.WatchSet,
	state StateStore,
	ns *structs.NodeService,
	logger hclog.Logger) (uint64, *structs.NodeService, error)

MergeNodeServiceWithCentralConfig merges a service instance (NodeService) with the proxy-defaults/global and service-defaults/:service config entries. This common helper is used by the blocking query function of different RPC endpoints that need to return a fully resolved service defintion.

func MergeServiceConfig added in v1.14.0

func MergeServiceConfig(defaults *structs.ServiceConfigResponse, service *structs.NodeService) (*structs.NodeService, error)

MergeServiceConfig merges the service into defaults to produce the final effective config for the specified service.

func SortSlice added in v1.16.0

func SortSlice(configs []structs.ConfigEntry)

Types

type DiscoveryChainSet

DiscoveryChainSet is a wrapped set of raw cross-referenced config entries necessary for the DiscoveryChain.Get RPC process.

None of these are defaulted.

func NewDiscoveryChainSet

func NewDiscoveryChainSet() *DiscoveryChainSet

func (*DiscoveryChainSet) AddEntries

func (e *DiscoveryChainSet) AddEntries(entries ...structs.ConfigEntry)

AddEntries adds generic configs. Convenience function for testing. Panics on operator error.

func (*DiscoveryChainSet) AddPeers added in v1.16.0

func (e *DiscoveryChainSet) AddPeers(entries ...*pbpeering.Peering)

AddPeers adds cluster peers. Convenience function for testing.

func (*DiscoveryChainSet) AddProxyDefaults added in v1.11.4

func (e *DiscoveryChainSet) AddProxyDefaults(entries ...*structs.ProxyConfigEntry)

AddProxyDefaults adds proxy-defaults configs. Convenience function for testing.

func (*DiscoveryChainSet) AddResolvers

func (e *DiscoveryChainSet) AddResolvers(entries ...*structs.ServiceResolverConfigEntry)

AddResolvers adds resolver configs. Convenience function for testing.

func (*DiscoveryChainSet) AddRouters

func (e *DiscoveryChainSet) AddRouters(entries ...*structs.ServiceRouterConfigEntry)

AddRouters adds router configs. Convenience function for testing.

func (*DiscoveryChainSet) AddSamenessGroup added in v1.16.0

func (e *DiscoveryChainSet) AddSamenessGroup(entries ...*structs.SamenessGroupConfigEntry)

AddSamenessGroup adds a sameness group. Convenience function for testing.

func (*DiscoveryChainSet) AddServices

func (e *DiscoveryChainSet) AddServices(entries ...*structs.ServiceConfigEntry)

AddServices adds service configs. Convenience function for testing.

func (*DiscoveryChainSet) AddSplitters

func (e *DiscoveryChainSet) AddSplitters(entries ...*structs.ServiceSplitterConfigEntry)

AddSplitters adds splitter configs. Convenience function for testing.

func (*DiscoveryChainSet) GetDefaultSamenessGroup added in v1.16.0

func (e *DiscoveryChainSet) GetDefaultSamenessGroup() *structs.SamenessGroupConfigEntry

func (*DiscoveryChainSet) GetProxyDefaults added in v1.11.4

func (e *DiscoveryChainSet) GetProxyDefaults(partition string) *structs.ProxyConfigEntry

func (*DiscoveryChainSet) GetResolver

func (*DiscoveryChainSet) GetRouter

func (*DiscoveryChainSet) GetSamenessGroup added in v1.16.0

func (e *DiscoveryChainSet) GetSamenessGroup(name string) *structs.SamenessGroupConfigEntry

func (*DiscoveryChainSet) GetService

func (*DiscoveryChainSet) GetSplitter

func (*DiscoveryChainSet) IsChainEmpty

func (e *DiscoveryChainSet) IsChainEmpty() bool

IsChainEmpty returns true if there are no service-routers, service-splitters, or service-resolvers that are present. These config entries are the primary parts of the discovery chain.

func (*DiscoveryChainSet) IsEmpty

func (e *DiscoveryChainSet) IsEmpty() bool

IsEmpty returns true if there are no config entries at all in the response. You should prefer this over IsChainEmpty() in most cases.

func (*DiscoveryChainSet) SetDefaultSamenessGroup added in v1.16.0

func (e *DiscoveryChainSet) SetDefaultSamenessGroup(entry *structs.SamenessGroupConfigEntry)

SetDefaultSamenessGroup sets the default sameness group. Convenience function for testing.

type KindName

type KindName struct {
	Kind string
	Name string
	acl.EnterpriseMeta
}

KindName is a value type useful for maps. You can use:

map[KindName]Payload

instead of:

map[string]map[string]Payload

func NewKindName

func NewKindName(kind, name string, entMeta *acl.EnterpriseMeta) KindName

NewKindName returns a new KindName. The EnterpriseMeta values will be normalized based on the kind.

Any caller which modifies the EnterpriseMeta field must call Normalize before persisting or using the value as a map key.

func NewKindNameForEntry

func NewKindNameForEntry(entry structs.ConfigEntry) KindName

type ResolvedServiceConfigSet

type ResolvedServiceConfigSet struct {
	ServiceDefaults map[structs.ServiceID]*structs.ServiceConfigEntry
	ProxyDefaults   map[string]*structs.ProxyConfigEntry
}

ResolvedServiceConfigSet is a wrapped set of raw cross-referenced config entries necessary for the ConfigEntry.ResolveServiceConfig RPC process.

None of these are defaulted.

func (*ResolvedServiceConfigSet) AddProxyDefaults

func (r *ResolvedServiceConfigSet) AddProxyDefaults(entry *structs.ProxyConfigEntry)

func (*ResolvedServiceConfigSet) AddServiceDefaults

func (r *ResolvedServiceConfigSet) AddServiceDefaults(entry *structs.ServiceConfigEntry)

func (*ResolvedServiceConfigSet) GetProxyDefaults added in v1.11.4

func (r *ResolvedServiceConfigSet) GetProxyDefaults(partition string) *structs.ProxyConfigEntry

func (*ResolvedServiceConfigSet) GetServiceDefaults

func (*ResolvedServiceConfigSet) IsEmpty

func (r *ResolvedServiceConfigSet) IsEmpty() bool

type StateStore added in v1.14.0

type StateStore interface {
	ReadResolvedServiceConfigEntries(memdb.WatchSet, string, *acl.EnterpriseMeta, []structs.ServiceID, structs.ProxyMode) (uint64, *ResolvedServiceConfigSet, error)
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL