kubernetes

package
v0.0.0-...-6ae02c2 Latest Latest
Warning

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

Go to latest
Published: Jul 27, 2019 License: MIT Imports: 33 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client interface {
	WatchAll(namespaces Namespaces, stopCh <-chan struct{}) (<-chan interface{}, error)
	GetIngresses() []*extensionsv1beta1.Ingress
	GetService(namespace, name string) (*corev1.Service, bool, error)
	GetSecret(namespace, name string) (*corev1.Secret, bool, error)
	GetEndpoints(namespace, name string) (*corev1.Endpoints, bool, error)
	UpdateIngressStatus(namespace, name, ip, hostname string) error
}

Client is a client for the Provider master. WatchAll starts the watch of the Provider resources and updates the stores. The stores can then be accessed via the Get* functions.

type IngressEndpoint

type IngressEndpoint struct {
	IP               string `description:"IP used for Kubernetes Ingress endpoints"`
	Hostname         string `description:"Hostname used for Kubernetes Ingress endpoints"`
	PublishedService string `description:"Published Kubernetes Service to copy status from"`
}

IngressEndpoint holds the endpoint information for the Kubernetes provider

type Namespaces

type Namespaces []string

Namespaces holds kubernetes namespaces

func (*Namespaces) Get

func (ns *Namespaces) Get() interface{}

Get []string

func (*Namespaces) Set

func (ns *Namespaces) Set(str string) error

Set adds strings elem into the the parser it splits str on , and ;

func (*Namespaces) SetValue

func (ns *Namespaces) SetValue(val interface{})

SetValue sets []string into the parser

func (*Namespaces) String

func (ns *Namespaces) String() string

String return slice in a string

type Provider

type Provider struct {
	provider.BaseProvider  `mapstructure:",squash" export:"true"`
	Endpoint               string           `description:"Kubernetes server endpoint (required for external cluster client)"`
	Token                  string           `description:"Kubernetes bearer token (not needed for in-cluster client)"`
	CertAuthFilePath       string           `description:"Kubernetes certificate authority file path (not needed for in-cluster client)"`
	DisablePassHostHeaders bool             `description:"Kubernetes disable PassHost Headers" export:"true"`
	EnablePassTLSCert      bool             `description:"Kubernetes enable Pass TLS Client Certs" export:"true"` // Deprecated
	Namespaces             Namespaces       `description:"Kubernetes namespaces" export:"true"`
	LabelSelector          string           `description:"Kubernetes Ingress label selector to use" export:"true"`
	IngressClass           string           `description:"Value of kubernetes.io/ingress.class annotation to watch for" export:"true"`
	IngressEndpoint        *IngressEndpoint `description:"Kubernetes Ingress Endpoint"`
	// contains filtered or unexported fields
}

Provider holds configurations of the provider.

func (*Provider) Init

func (p *Provider) Init(constraints types.Constraints) error

Init the provider

func (*Provider) Provide

func (p *Provider) Provide(configurationChan chan<- types.ConfigMessage, pool *safe.Pool) error

Provide allows the k8s provider to provide configurations to traefik using the given configuration channel.

Jump to

Keyboard shortcuts

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