 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Index ¶
- Constants
- type F5Error
- type F5Plugin
- func (p *F5Plugin) HandleEndpoints(eventType watch.EventType, endpoints *kapi.Endpoints) error
- func (p *F5Plugin) HandleNamespaces(namespaces sets.String) error
- func (p *F5Plugin) HandleNode(eventType watch.EventType, node *kapi.Node) error
- func (p *F5Plugin) HandleRoute(eventType watch.EventType, route *routeapi.Route) error
- func (p *F5Plugin) SetLastSyncProcessed(processed bool) error
 
- type F5PluginConfig
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.
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) HandleEndpoints ¶
HandleEndpoints processes watch events on the Endpoints resource and creates and deletes pools and pool members in response.
func (*F5Plugin) HandleNamespaces ¶
func (*F5Plugin) HandleNode ¶ added in v1.4.0
func (*F5Plugin) HandleRoute ¶
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.
       Source Files
      ¶
      Source Files
      ¶
    
- f5.go
- plugin.go
- types.go
 Click to show internal directories. 
   Click to hide internal directories.