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 ¶
NewCommandF5Router provides CLI handler for the F5 router sync plugin.
func NewCommandTemplateRouter ¶
NewCommndTemplateRouter provides CLI handler for the template router backend
Types ¶
type F5Router ¶
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.
type F5RouterOptions ¶
type F5RouterOptions struct { Config *clientcmd.Config F5Router RouterSelection }
F5RouterOptions represent the complete structure needed to start an F5 router sync process.
func (*F5RouterOptions) Complete ¶
func (o *F5RouterOptions) Complete() error
func (*F5RouterOptions) F5RouteAdmitterFunc ¶
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 ¶
func (o *F5RouterOptions) Run() error
Run launches an F5 route sync process using the provided options. It never exits.
func (*F5RouterOptions) Validate ¶
func (o *F5RouterOptions) Validate() error
type RouterSelection ¶
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 ¶
func (o *RouterSelection) AdmissionCheck(route *routeapi.Route) error
func (*RouterSelection) Bind ¶
func (o *RouterSelection) Bind(flag *pflag.FlagSet)
Bind sets the appropriate labels
func (*RouterSelection) Complete ¶
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 ¶
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 ¶
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 ¶
func (o *RouterSelection) RouteSelectionFunc() controller.RouteHostFunc
RouteSelectionFunc returns a func that identifies the host for a route.
type RouterStats ¶
type RouterStats struct { StatsPortString string StatsPassword string StatsUsername string StatsPort int }
func (*RouterStats) Bind ¶
func (o *RouterStats) Bind(flag *pflag.FlagSet)
type TemplateRouter ¶
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 BindPortsAfterSync bool }
func (*TemplateRouter) Bind ¶
func (o *TemplateRouter) Bind(flag *pflag.FlagSet)
type TemplateRouterOptions ¶
type TemplateRouterOptions struct { Config *clientcmd.Config TemplateRouter RouterStats RouterSelection }
func (*TemplateRouterOptions) Complete ¶
func (o *TemplateRouterOptions) Complete() error
func (*TemplateRouterOptions) Run ¶
func (o *TemplateRouterOptions) Run() error
Run launches a template router using the provided options. It never exits.
func (*TemplateRouterOptions) Validate ¶
func (o *TemplateRouterOptions) Validate() error