Documentation
      ¶
    
    
  
    
  
    Index ¶
- Variables
 - func Validate(data []byte) (err gperr.Error)
 - type AgentProvider
 - type DockerProvider
 - type EventHandler
 - func (handler *EventHandler) Add(parent task.Parent, route *route.Route)
 - func (handler *EventHandler) Handle(parent task.Parent, events []watcher.Event)
 - func (handler *EventHandler) Log()
 - func (handler *EventHandler) Remove(route *route.Route)
 - func (handler *EventHandler) Update(parent task.Parent, oldRoute *route.Route, newRoute *route.Route)
 
- type FileProvider
 - type Provider
 - func (p *Provider) GetRoute(alias string) (r *route.Route, ok bool)
 - func (p *Provider) GetType() types.ProviderType
 - func (p *Provider) LoadRoutes() (err gperr.Error)
 - func (p *Provider) MarshalText() ([]byte, error)
 - func (p *Provider) NumRoutes() int
 - func (p *Provider) RangeRoutes(do func(string, *route.Route))
 - func (p *Provider) Start(parent task.Parent) gperr.Error
 - func (p *Provider) Statistics() ProviderStats
 
- type ProviderImpl
 - type ProviderStats
 - type RouteStats
 
Constants ¶
This section is empty.
Variables ¶
      View Source
      
  
    var ErrAliasRefIndexOutOfRange = gperr.New("index out of range")
    
      View Source
      
  
var ErrEmptyProviderName = errors.New("empty provider name")
    Functions ¶
Types ¶
type AgentProvider ¶ added in v0.10.0
type AgentProvider struct {
	*agent.AgentConfig
	// contains filtered or unexported fields
}
    func (*AgentProvider) IsExplicitOnly ¶ added in v0.10.0
func (p *AgentProvider) IsExplicitOnly() bool
func (*AgentProvider) Logger ¶ added in v0.10.0
func (p *AgentProvider) Logger() *zerolog.Logger
func (*AgentProvider) NewWatcher ¶ added in v0.10.0
func (p *AgentProvider) NewWatcher() watcher.Watcher
func (*AgentProvider) ShortName ¶ added in v0.10.0
func (p *AgentProvider) ShortName() string
type DockerProvider ¶
type DockerProvider struct {
	// contains filtered or unexported fields
}
    func (*DockerProvider) IsExplicitOnly ¶
func (p *DockerProvider) IsExplicitOnly() bool
func (*DockerProvider) Logger ¶
func (p *DockerProvider) Logger() *zerolog.Logger
func (*DockerProvider) NewWatcher ¶
func (p *DockerProvider) NewWatcher() watcher.Watcher
func (*DockerProvider) ShortName ¶
func (p *DockerProvider) ShortName() string
func (*DockerProvider) String ¶
func (p *DockerProvider) String() string
type EventHandler ¶
type EventHandler struct {
	// contains filtered or unexported fields
}
    func (*EventHandler) Handle ¶
func (handler *EventHandler) Handle(parent task.Parent, events []watcher.Event)
func (*EventHandler) Log ¶
func (handler *EventHandler) Log()
func (*EventHandler) Remove ¶
func (handler *EventHandler) Remove(route *route.Route)
type FileProvider ¶
type FileProvider struct {
	// contains filtered or unexported fields
}
    func (*FileProvider) IsExplicitOnly ¶
func (p *FileProvider) IsExplicitOnly() bool
func (*FileProvider) Logger ¶
func (p *FileProvider) Logger() *zerolog.Logger
func (*FileProvider) NewWatcher ¶
func (p *FileProvider) NewWatcher() W.Watcher
func (*FileProvider) ShortName ¶
func (p *FileProvider) ShortName() string
func (*FileProvider) String ¶
func (p *FileProvider) String() string
type Provider ¶
type Provider struct {
	ProviderImpl
	// contains filtered or unexported fields
}
    func NewAgentProvider ¶ added in v0.10.0
func NewAgentProvider(cfg *agent.AgentConfig) *Provider
func NewDockerProvider ¶
func NewFileProvider ¶
func (*Provider) GetType ¶
func (p *Provider) GetType() types.ProviderType
func (*Provider) LoadRoutes ¶
func (*Provider) MarshalText ¶
to work with json marshaller.
func (*Provider) Statistics ¶
func (p *Provider) Statistics() ProviderStats
type ProviderImpl ¶
type ProviderImpl interface {
	fmt.Stringer
	ShortName() string
	IsExplicitOnly() bool
	NewWatcher() W.Watcher
	Logger() *zerolog.Logger
	// contains filtered or unexported methods
}
    func DockerProviderImpl ¶
func DockerProviderImpl(name, dockerHost string) ProviderImpl
func FileProviderImpl ¶
func FileProviderImpl(filename string) (ProviderImpl, error)
type ProviderStats ¶
type ProviderStats struct {
	Total   uint16             `json:"total"`
	RPs     RouteStats         `json:"reverse_proxies"`
	Streams RouteStats         `json:"streams"`
	Type    types.ProviderType `json:"type"`
}
    type RouteStats ¶
type RouteStats struct {
	Total        uint16 `json:"total"`
	NumHealthy   uint16 `json:"healthy"`
	NumUnhealthy uint16 `json:"unhealthy"`
	NumNapping   uint16 `json:"napping"`
	NumError     uint16 `json:"error"`
	NumUnknown   uint16 `json:"unknown"`
}
    func (*RouteStats) Add ¶
func (stats *RouteStats) Add(r *R.Route)
func (*RouteStats) AddOther ¶
func (stats *RouteStats) AddOther(other RouteStats)
 Click to show internal directories. 
   Click to hide internal directories.