 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Index ¶
- func NewCommandF5Router(name string) *cobra.Command
- func NewCommandTemplateRouter(name string) *cobra.Command
- type F5Router
- type F5RouterOptions
- type RouterSelection
- func (o *RouterSelection) AdmissionCheck(route *routeapi.Route) error
- func (o *RouterSelection) Bind(flag *pflag.FlagSet)
- func (o *RouterSelection) Complete() error
- func (o *RouterSelection) NewFactory(oc oclient.Interface, kc kclient.Interface) *controllerfactory.RouterControllerFactory
- func (o *RouterSelection) RouteAdmissionFunc() controller.RouteAdmissionFunc
- func (o *RouterSelection) RouteSelectionFunc() controller.RouteHostFunc
 
- type RouterStats
- type TemplateRouter
- type TemplateRouterOptions
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewCommandF5Router ¶ added in v1.0.6
NewCommandF5Router provides CLI handler for the F5 router sync plugin.
Types ¶
type F5Router ¶ added in v1.0.6
type F5Router struct {
	RouterName string
	// Host specifies the hostname or IP address of the F5 BIG-IP host.
	Host string
	// Username specifies the username with which the plugin should authenticate
	// with the F5 BIG-IP host.
	Username string
	// Password specifies the password with which the plugin should authenticate
	// with the F5 BIG-IP host.
	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 filename of an SSH private key for
	// authenticating with F5.  This key is required to copy certificates
	// 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 path to the F5 partition. This is
	// normally used to create access control boundaries 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
}
    F5Router is the config necessary to start an F5 router plugin.
func (*F5Router) Bind ¶ added in v1.0.6
Bind binds F5Router arguments to flags
type F5RouterOptions ¶ added in v1.0.6
type F5RouterOptions struct {
	Config *clientcmd.Config
	F5Router
	RouterSelection
}
    F5RouterOptions represent the complete structure needed to start an F5 router sync process.
func (*F5RouterOptions) Complete ¶ added in v1.0.6
func (o *F5RouterOptions) Complete() error
func (*F5RouterOptions) F5RouteAdmitterFunc ¶ added in v1.4.0
func (o *F5RouterOptions) F5RouteAdmitterFunc() controller.RouteAdmissionFunc
F5RouteAdmitterFunc returns a func that checks if a route is a wildcard route and currently denies it.
func (*F5RouterOptions) Run ¶ added in v1.0.6
func (o *F5RouterOptions) Run() error
Run launches an F5 route sync process using the provided options. It never exits.
func (*F5RouterOptions) Validate ¶ added in v1.0.6
func (o *F5RouterOptions) Validate() error
type RouterSelection ¶ added in v1.0.6
type RouterSelection struct {
	ResyncInterval time.Duration
	HostnameTemplate string
	OverrideHostname bool
	LabelSelector string
	Labels        labels.Selector
	FieldSelector string
	Fields        fields.Selector
	Namespace              string
	NamespaceLabelSelector string
	NamespaceLabels        labels.Selector
	ProjectLabelSelector string
	ProjectLabels        labels.Selector
	IncludeUDP bool
	DeniedDomains      []string
	BlacklistedDomains sets.String
	AllowedDomains     []string
	WhitelistedDomains sets.String
	AllowWildcardRoutes        bool
	RestrictSubdomainOwnership bool
}
    RouterSelection controls what routes and resources on the server are considered part of this router.
func (*RouterSelection) AdmissionCheck ¶ added in v1.4.0
func (o *RouterSelection) AdmissionCheck(route *routeapi.Route) error
func (*RouterSelection) Bind ¶ added in v1.0.6
func (o *RouterSelection) Bind(flag *pflag.FlagSet)
Bind sets the appropriate labels
func (*RouterSelection) Complete ¶ added in v1.0.6
func (o *RouterSelection) Complete() error
Complete converts string representations of field and label selectors to their parsed equivalent, or returns an error.
func (*RouterSelection) NewFactory ¶ added in v1.0.6
func (o *RouterSelection) NewFactory(oc oclient.Interface, kc kclient.Interface) *controllerfactory.RouterControllerFactory
NewFactory initializes a factory that will watch the requested routes
func (*RouterSelection) RouteAdmissionFunc ¶ added in v1.4.0
func (o *RouterSelection) RouteAdmissionFunc() controller.RouteAdmissionFunc
RouteAdmissionFunc returns a func that checks if a route can be admitted based on blacklist & whitelist checks and wildcard routes policy setting. Note: The blacklist settings trumps the whitelist ones.
func (*RouterSelection) RouteSelectionFunc ¶ added in v1.1.1
func (o *RouterSelection) RouteSelectionFunc() controller.RouteHostFunc
RouteSelectionFunc returns a func that identifies the host for a route.
type RouterStats ¶ added in v1.0.6
type RouterStats struct {
	StatsPortString string
	StatsPassword   string
	StatsUsername   string
	StatsPort int
}
    func (*RouterStats) Bind ¶ added in v1.0.6
func (o *RouterStats) Bind(flag *pflag.FlagSet)
type TemplateRouter ¶ added in v1.0.6
type TemplateRouter struct {
	RouterName             string
	WorkingDir             string
	TemplateFile           string
	ReloadScript           string
	ReloadInterval         time.Duration
	DefaultCertificate     string
	DefaultCertificatePath string
	DefaultCertificateDir  string
	ExtendedValidation     bool
	RouterService          *ktypes.NamespacedName
}
    func (*TemplateRouter) Bind ¶ added in v1.0.6
func (o *TemplateRouter) Bind(flag *pflag.FlagSet)
type TemplateRouterOptions ¶ added in v1.0.6
type TemplateRouterOptions struct {
	Config *clientcmd.Config
	TemplateRouter
	RouterStats
	RouterSelection
}
    func (*TemplateRouterOptions) Complete ¶ added in v1.0.6
func (o *TemplateRouterOptions) Complete() error
func (*TemplateRouterOptions) Run ¶ added in v1.0.6
func (o *TemplateRouterOptions) Run() error
Run launches a template router using the provided options. It never exits.
func (*TemplateRouterOptions) Validate ¶ added in v1.0.6
func (o *TemplateRouterOptions) Validate() error
       Source Files
      ¶
      Source Files
      ¶
    
- f5.go
- router.go
- template.go