kubernetes

package
v1.6.0-rc1 Latest Latest
Warning

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

Go to latest
Published: Mar 26, 2018 License: MIT Imports: 30 Imported by: 18

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, labelSelector string, 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)
}

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.

func NewExternalClusterClient

func NewExternalClusterClient(endpoint, token, caFilePath string) (Client, error)

NewExternalClusterClient returns a new Provider client that may run outside of the cluster. The endpoint parameter must not be empty.

func NewInClusterClient

func NewInClusterClient(endpoint string) (Client, error)

NewInClusterClient returns a new Provider client that is expected to run inside the cluster.

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"`
	Namespaces             Namespaces `description:"Kubernetes namespaces" export:"true"`
	LabelSelector          string     `description:"Kubernetes api label selector to use" export:"true"`
	IngressClass           string     `description:"Value of kubernetes.io/ingress.class annotation to watch for" export:"true"`
	// contains filtered or unexported fields
}

Provider holds configurations of the provider.

func (*Provider) Provide

func (p *Provider) Provide(configurationChan chan<- types.ConfigMessage, pool *safe.Pool, constraints types.Constraints) 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