Help us shape the future of Go! Take the 2026 Go Developer Survey

f5

package
v1.5.1 Latest Latest
Warning

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

Go to latest
Published: Apr 28, 2017 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// Default F5 partition path to use for syncing route config.
	F5DefaultPartitionPath = "/Common"
	F5VxLANTunnelName      = "vxlan5000"
	F5VxLANProfileName     = "vxlan-ose"
	HTTP_CONFLICT_CODE     = 409
)

Variables

This section is empty.

Functions

This section is empty.

Types

type F5Error

type F5Error struct {
	// contains filtered or unexported fields
}

F5Error represents an error resulting from a request to the F5 BIG-IP iControl REST interface.

func (F5Error) Error

func (err F5Error) Error() string

Error implements the error interface.

type F5Plugin

type F5Plugin struct {
	// F5Client is the object that represents the F5 BIG-IP host, holds state,
	// and provides an interface to manipulate F5 BIG-IP.
	F5Client *f5LTM

	// VtepMap is a map of node ids and their ip addresses
	// helps to sync events at router start vs node status update events
	VtepMap map[types.UID]string
}

F5Plugin holds state for the f5 plugin.

func NewF5Plugin

func NewF5Plugin(cfg F5PluginConfig) (*F5Plugin, error)

NewF5Plugin makes a new f5 router plugin.

func (*F5Plugin) Commit added in v1.5.0

func (p *F5Plugin) Commit() error

No-op since f5 configuration can be updated piecemeal

func (*F5Plugin) HandleEndpoints

func (p *F5Plugin) HandleEndpoints(eventType watch.EventType,
	endpoints *kapi.Endpoints) error

HandleEndpoints processes watch events on the Endpoints resource and creates and deletes pools and pool members in response.

func (*F5Plugin) HandleNamespaces

func (p *F5Plugin) HandleNamespaces(namespaces sets.String) error

func (*F5Plugin) HandleNode added in v1.4.0

func (p *F5Plugin) HandleNode(eventType watch.EventType, node *kapi.Node) error

func (*F5Plugin) HandleRoute

func (p *F5Plugin) HandleRoute(eventType watch.EventType,
	route *routeapi.Route) error

HandleRoute processes watch events on the Route resource and creates and deletes policy rules in response.

type F5PluginConfig

type F5PluginConfig struct {
	// Host specifies the hostname or IP address of the F5 BIG-IP host.
	Host string

	// Username specifies the username with the plugin should authenticate
	// with the F5 BIG-IP host.
	Username string

	// Password specifies the password with which the plugin should
	// authenticate with F5 BIG-IP.
	Password string

	// HttpVserver specifies the name of the vserver object in F5 BIG-IP that the
	// plugin will configure for HTTP connections.
	HttpVserver string

	// HttpsVserver specifies the name of the vserver object in F5 BIG-IP that the
	// plugin will configure for HTTPS connections.
	HttpsVserver string

	// PrivateKey specifies the path to the SSH private-key file for
	// authenticating with F5 BIG-IP.  The file must exist with this pathname
	// inside the F5 router's filesystem namespace.  The F5 router requires this
	// key to copy certificates and keys to the F5 BIG-IP host.
	PrivateKey string

	// Insecure specifies whether the F5 plugin should perform strict certificate
	// validation for connections to the F5 BIG-IP host.
	Insecure bool

	// PartitionPath specifies the F5 partition path to use. This is used
	// to create an access control boundary for users and applications.
	PartitionPath string

	// VxlanGateway is the ip address assigned to the local tunnel interface
	// inside F5 box. This address is the one that the packets generated from F5
	// will carry. The pods will return the packets to this address itself.
	// It is important that the gateway be one of the ip addresses of the subnet
	// that has been generated for F5.
	VxlanGateway string

	// InternalAddress is the ip address of the vtep interface used to connect to
	// VxLAN overlay. It is the hostIP address listed in the subnet generated for F5
	InternalAddress string
}

F5PluginConfig holds configuration for the f5 plugin.

Jump to

Keyboard shortcuts

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