provider

package
v0.11.2 Latest Latest
Warning

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

Go to latest
Published: Apr 25, 2025 License: MIT Imports: 24 Imported by: 0

Documentation

Index

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

func Validate

func Validate(data []byte) (err gperr.Error)

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) Add

func (handler *EventHandler) Add(parent task.Parent, route *route.Route)

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)

func (*EventHandler) Update

func (handler *EventHandler) Update(parent task.Parent, oldRoute *route.Route, newRoute *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 NewDockerProvider(name string, dockerHost string) *Provider

func NewFileProvider

func NewFileProvider(filename string) (p *Provider, err error)

func (*Provider) GetRoute

func (p *Provider) GetRoute(alias string) (r *route.Route, ok bool)

func (*Provider) GetType

func (p *Provider) GetType() types.ProviderType

func (*Provider) LoadRoutes

func (p *Provider) LoadRoutes() (err gperr.Error)

func (*Provider) MarshalText

func (p *Provider) MarshalText() ([]byte, error)

to work with json marshaller.

func (*Provider) NumRoutes

func (p *Provider) NumRoutes() int

func (*Provider) RangeRoutes

func (p *Provider) RangeRoutes(do func(string, *route.Route))

func (*Provider) Start

func (p *Provider) Start(parent task.Parent) gperr.Error

Start implements task.TaskStarter.

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)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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