provider

package
v2.0.0-alpha1 Latest Latest
Warning

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

Go to latest
Published: Mar 18, 2019 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AddMiddleware

func AddMiddleware(configuration *config.HTTPConfiguration, middlewareName string, middleware *config.Middleware) bool

AddMiddleware Adds a middleware to a configurations.

func AddRouter

func AddRouter(configuration *config.HTTPConfiguration, routerName string, router *config.Router) bool

AddRouter Adds a router to a configurations.

func AddService

func AddService(configuration *config.HTTPConfiguration, serviceName string, service *config.Service) bool

AddService Adds a service to a configurations.

func BuildRouterConfiguration

func BuildRouterConfiguration(ctx context.Context, configuration *config.HTTPConfiguration, defaultRouterName string, defaultRuleTpl *template.Template, model interface{})

BuildRouterConfiguration Builds a router configuration.

func MakeDefaultRuleTemplate

func MakeDefaultRuleTemplate(defaultRule string, funcMap template.FuncMap) (*template.Template, error)

MakeDefaultRuleTemplate Creates the default rule template.

func Merge

func Merge(ctx context.Context, configurations map[string]*config.Configuration) *config.Configuration

Merge Merges multiple configurations.

func Normalize

func Normalize(name string) string

Normalize Replace all special chars with `-`.

Types

type BaseProvider

type BaseProvider struct {
	Watch                     bool              `description:"Watch provider" export:"true"`
	Filename                  string            `description:"Override default configuration template. For advanced users :)" export:"true"`
	Constraints               types.Constraints `description:"Filter services by constraint, matching with Traefik tags." export:"true"`
	Trace                     bool              `description:"Display additional provider logs (if available)." export:"true"`
	DebugLogGeneratedTemplate bool              `description:"Enable debug logging of generated configuration template." export:"true"`
}

BaseProvider should be inherited by providers.

func (*BaseProvider) CreateConfiguration

func (p *BaseProvider) CreateConfiguration(tmplContent string, funcMap template.FuncMap, templateObjects interface{}) (*config.Configuration, error)

CreateConfiguration creates a provider configuration from content using templating.

func (*BaseProvider) DecodeConfiguration

func (p *BaseProvider) DecodeConfiguration(content string) (*config.Configuration, error)

DecodeConfiguration Decodes a *types.Configuration from a content.

func (*BaseProvider) Init

func (p *BaseProvider) Init() error

Init for compatibility reason the BaseProvider implements an empty Init.

func (*BaseProvider) MatchConstraints

func (p *BaseProvider) MatchConstraints(tags []string) (bool, *types.Constraint)

MatchConstraints must match with EVERY single constraint returns first constraint that do not match or nil.

type Provider

type Provider interface {
	// Provide allows the provider to provide configurations to traefik
	// using the given configuration channel.
	Provide(configurationChan chan<- config.Message, pool *safe.Pool) error
	Init() error
}

Provider defines methods of a provider.

Directories

Path Synopsis
kubernetes
crd
crd/generated/clientset/versioned
This package has the automatically generated clientset.
This package has the automatically generated clientset.
crd/generated/clientset/versioned/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
crd/generated/clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
crd/generated/clientset/versioned/typed/traefik/v1alpha1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
crd/generated/clientset/versioned/typed/traefik/v1alpha1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
crd/traefik/v1alpha1
Package v1alpha1 is the v1alpha1 version of the API.
Package v1alpha1 is the v1alpha1 version of the API.
k8s
mocks
Package mocks Code generated by mockery v1.0.0.
Package mocks Code generated by mockery v1.0.0.

Jump to

Keyboard shortcuts

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