Documentation ¶
Index ¶
- type ServiceEntryStore
- func (d *ServiceEntryStore) AppendInstanceHandler(f func(*model.ServiceInstance, model.Event)) error
- func (d *ServiceEntryStore) AppendServiceHandler(f func(*model.Service, model.Event)) error
- func (d *ServiceEntryStore) GetIstioServiceAccounts(hostname model.Hostname, ports []string) []string
- func (d *ServiceEntryStore) GetProxyServiceInstances(node *model.Proxy) ([]*model.ServiceInstance, error)
- func (d *ServiceEntryStore) GetService(hostname model.Hostname) (*model.Service, error)
- func (d *ServiceEntryStore) GetServiceAttributes(hostname model.Hostname) (*model.ServiceAttributes, error)
- func (d *ServiceEntryStore) Instances(hostname model.Hostname, ports []string, labels model.LabelsCollection) ([]*model.ServiceInstance, error)
- func (d *ServiceEntryStore) InstancesByPort(hostname model.Hostname, port int, labels model.LabelsCollection) ([]*model.ServiceInstance, error)
- func (d *ServiceEntryStore) ManagementPorts(addr string) model.PortList
- func (d *ServiceEntryStore) Run(stop <-chan struct{})
- func (d *ServiceEntryStore) Services() ([]*model.Service, error)
- func (d *ServiceEntryStore) WorkloadHealthCheckInfo(addr string) model.ProbeList
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ServiceEntryStore ¶
type ServiceEntryStore struct {
// contains filtered or unexported fields
}
ServiceEntryStore communicates with ServiceEntry CRDs and monitors for changes
func NewServiceDiscovery ¶
func NewServiceDiscovery(callbacks model.ConfigStoreCache, store model.IstioConfigStore) *ServiceEntryStore
NewServiceDiscovery creates a new ServiceEntry discovery service
func (*ServiceEntryStore) AppendInstanceHandler ¶
func (d *ServiceEntryStore) AppendInstanceHandler(f func(*model.ServiceInstance, model.Event)) error
AppendInstanceHandler is an over-complicated way to add the v1 cache invalidation. In <0.8 pilot it is not usingthe event or service param. Deprecated: post 0.8 we're planning to use direct interface
func (*ServiceEntryStore) AppendServiceHandler ¶
AppendServiceHandler is an over-complicated way to add the v1 cache invalidation. In <0.8 pilot it is not usingthe event or service param. Deprecated: post 0.8 we're planning to use direct interface
func (*ServiceEntryStore) GetIstioServiceAccounts ¶
func (d *ServiceEntryStore) GetIstioServiceAccounts(hostname model.Hostname, ports []string) []string
GetIstioServiceAccounts implements model.ServiceAccounts operation TODOg
func (*ServiceEntryStore) GetProxyServiceInstances ¶
func (d *ServiceEntryStore) GetProxyServiceInstances(node *model.Proxy) ([]*model.ServiceInstance, error)
GetProxyServiceInstances lists service instances co-located with a given proxy
func (*ServiceEntryStore) GetService ¶
GetService retrieves a service by host name if it exists
func (*ServiceEntryStore) GetServiceAttributes ¶
func (d *ServiceEntryStore) GetServiceAttributes(hostname model.Hostname) (*model.ServiceAttributes, error)
GetServiceAttributes retrieves the custom attributes of a service if it exists.
func (*ServiceEntryStore) Instances ¶
func (d *ServiceEntryStore) Instances(hostname model.Hostname, ports []string, labels model.LabelsCollection) ([]*model.ServiceInstance, error)
Instances retrieves instances for a service and its ports that match any of the supplied labels. All instances match an empty tag list. This is only called from v1 code paths - which don't support ServiceEntry, so it production it should never happen in v1/alpha1 case However, since we implement this method, v1 users will still get the ServiceEntry. This contradicts the general migration policy of keeping alpha3 separated, but may help in cases where mesh expansion is moved with some workloads still using v1.
func (*ServiceEntryStore) InstancesByPort ¶
func (d *ServiceEntryStore) InstancesByPort(hostname model.Hostname, port int, labels model.LabelsCollection) ([]*model.ServiceInstance, error)
InstancesByPort retrieves instances for a service on the given ports with labels that match any of the supplied labels. All instances match an empty tag list.
func (*ServiceEntryStore) ManagementPorts ¶
func (d *ServiceEntryStore) ManagementPorts(addr string) model.PortList
ManagementPorts retrieves set of health check ports by instance IP. This does not apply to Service Entry registry, as Service entries do not manage the service instances.
func (*ServiceEntryStore) Run ¶
func (d *ServiceEntryStore) Run(stop <-chan struct{})
Run is used by some controllers to execute background jobs after init is done.
func (*ServiceEntryStore) Services ¶
func (d *ServiceEntryStore) Services() ([]*model.Service, error)
Services list declarations of all services in the system
func (*ServiceEntryStore) WorkloadHealthCheckInfo ¶
func (d *ServiceEntryStore) WorkloadHealthCheckInfo(addr string) model.ProbeList
WorkloadHealthCheckInfo retrieves set of health check info by instance IP. This does not apply to Service Entry registry, as Service entries do not manage the service instances.