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(routeclient routeinternalclientset.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
FieldSelector string
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
DisableNamespaceOwnershipCheck bool
EnableIngress bool
ListenAddr string
}
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(routeclient routeinternalclientset.Interface, projectclient projectclient.ProjectResourceInterface, kc kclientset.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
RouterCanonicalHostname string
WorkingDir string
TemplateFile string
ReloadScript string
ReloadInterval time.Duration
DefaultCertificate string
DefaultCertificatePath string
DefaultCertificateDir string
DefaultDestinationCAPath string
ExtendedValidation bool
RouterService *ktypes.NamespacedName
BindPortsAfterSync bool
MaxConnections string
Ciphers string
StrictSNI bool
MetricsType string
}
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
¶
- f5.go
- router.go
- template.go