gateway

package
v3.0.0-rc5 Latest Latest
Warning

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

Go to latest
Published: Apr 11, 2024 License: MIT Imports: 42 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BuildBackendFunc

type BuildBackendFunc func(name, namespace string) (string, *dynamic.Service, error)

BuildBackendFunc returns the name of the backend and the related dynamic.Service if needed.

type BuildFilterFunc

type BuildFilterFunc func(name, namespace string) (string, *dynamic.Middleware, error)

BuildFilterFunc returns the name of the filter and the related dynamic.Middleware if needed.

type Client

type Client interface {
	WatchAll(namespaces []string, stopCh <-chan struct{}) (<-chan interface{}, error)
	GetGatewayClasses() ([]*gatev1.GatewayClass, error)
	UpdateGatewayStatus(gateway *gatev1.Gateway, gatewayStatus gatev1.GatewayStatus) error
	UpdateGatewayClassStatus(gatewayClass *gatev1.GatewayClass, condition metav1.Condition) error
	GetGateways() []*gatev1.Gateway
	GetHTTPRoutes(namespaces []string) ([]*gatev1.HTTPRoute, error)
	GetTCPRoutes(namespaces []string) ([]*gatev1alpha2.TCPRoute, error)
	GetTLSRoutes(namespaces []string) ([]*gatev1alpha2.TLSRoute, error)
	GetReferenceGrants(namespace string) ([]*gatev1beta1.ReferenceGrant, error)
	GetService(namespace, name string) (*corev1.Service, bool, error)
	GetSecret(namespace, name string) (*corev1.Secret, bool, error)
	GetEndpoints(namespace, name string) (*corev1.Endpoints, bool, error)
	GetNamespaces(selector labels.Selector) ([]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 Entrypoint

type Entrypoint struct {
	Address        string
	HasHTTPTLSConf bool
}

Entrypoint defines the available entry points.

type ExtensionBuilderRegistry

type ExtensionBuilderRegistry interface {
	RegisterFilterFuncs(group, kind string, builderFunc BuildFilterFunc)
	RegisterBackendFuncs(group, kind string, builderFunc BuildBackendFunc)
}

type Provider

type Provider struct {
	Endpoint            string              `` /* 158-byte string literal not displayed */
	Token               types.FileOrContent `` /* 220-byte string literal not displayed */
	CertAuthFilePath    string              `` /* 194-byte string literal not displayed */
	Namespaces          []string            `` /* 134-byte string literal not displayed */
	LabelSelector       string              `` /* 181-byte string literal not displayed */
	ThrottleDuration    ptypes.Duration     `` /* 166-byte string literal not displayed */
	ExperimentalChannel bool                `` /* 210-byte string literal not displayed */
	StatusAddress       *StatusAddress      `` /* 167-byte string literal not displayed */

	EntryPoints map[string]Entrypoint `json:"-" toml:"-" yaml:"-" label:"-" file:"-"`
	// contains filtered or unexported fields
}

Provider holds configurations of the provider.

func (*Provider) Init

func (p *Provider) Init() error

Init the provider.

func (*Provider) Provide

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

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

func (*Provider) RegisterBackendFuncs

func (p *Provider) RegisterBackendFuncs(group, kind string, builderFunc BuildBackendFunc)

RegisterBackendFuncs registers an allowed Group, Kind, and builder for the Backend ExtensionRef objects.

func (*Provider) RegisterFilterFuncs

func (p *Provider) RegisterFilterFuncs(group, kind string, builderFunc BuildFilterFunc)

RegisterFilterFuncs registers an allowed Group, Kind, and builder for the Filter ExtensionRef objects.

func (*Provider) SetRouterTransform

func (p *Provider) SetRouterTransform(routerTransform k8s.RouterTransform)

type ServiceRef

type ServiceRef struct {
	Name      string `description:"Name of the Kubernetes service." json:"name,omitempty" toml:"name,omitempty" yaml:"name,omitempty"`
	Namespace string `` /* 131-byte string literal not displayed */
}

ServiceRef holds a Kubernetes service reference.

type StatusAddress

type StatusAddress struct {
	IP       string     `description:"IP used to set Kubernetes Gateway status address." json:"ip,omitempty" toml:"ip,omitempty" yaml:"ip,omitempty"`
	Hostname string     `` /* 144-byte string literal not displayed */
	Service  ServiceRef `` /* 148-byte string literal not displayed */
}

StatusAddress holds the Gateway Status address configuration.

Jump to

Keyboard shortcuts

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