Documentation ¶
Index ¶
- func DefaultClientConfig(flags *pflag.FlagSet) kclientcmd.ClientConfig
- func NewCommandF5Router(name string) *cobra.Command
- func NewCommandTemplateRouter(name string) *cobra.Command
- type Config
- type F5Router
- type F5RouterOptions
- type RouterSelection
- func (o *RouterSelection) AdmissionCheck(route *routev1.Route) error
- func (o *RouterSelection) Bind(flag *pflag.FlagSet)
- func (o *RouterSelection) Complete() error
- func (o *RouterSelection) NewFactory(routeclient routeclientset.Interface, ...) *controllerfactory.RouterControllerFactory
- func (o *RouterSelection) RouteAdmissionFunc() controller.RouteAdmissionFunc
- func (o *RouterSelection) RouteUpdate(route *routev1.Route)
- type RouterStats
- type TemplateRouter
- type TemplateRouterConfigManager
- type TemplateRouterOptions
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DefaultClientConfig ¶
func DefaultClientConfig(flags *pflag.FlagSet) kclientcmd.ClientConfig
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 Config ¶
type Config struct { // CommonConfig is the shared base config for both the OpenShift config and Kubernetes config CommonConfig restclient.Config // Namespace is the namespace to act in Namespace string // contains filtered or unexported fields }
Config contains all the necessary bits for client configuration
func (*Config) Clients ¶
func (cfg *Config) Clients() (kclientset.Interface, error)
Clients returns an OpenShift and a Kubernetes client from a given configuration
func (*Config) KubeConfig ¶
func (cfg *Config) KubeConfig() (*restclient.Config, string, error)
KubeConfig returns the Kubernetes configuration
type F5Router ¶
type F5Router struct { // 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 *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 { RouterName string RouterCanonicalHostname string ResyncInterval time.Duration UpdateStatus bool HostnameTemplate string OverrideHostname bool OverrideDomains []string RedactedDomains sets.String 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 ExtendedValidation bool ListenAddr string }
RouterSelection controls what routes and resources on the server are considered part of this router.
func (*RouterSelection) AdmissionCheck ¶
func (o *RouterSelection) AdmissionCheck(route *routev1.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(routeclient routeclientset.Interface, projectclient projectclient.ProjectInterface, kc kclientset.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) RouteUpdate ¶
func (o *RouterSelection) RouteUpdate(route *routev1.Route)
RouteUpdate updates the route before it is seen by the cache.
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 { WorkingDir string TemplateFile string ReloadScript string ReloadInterval time.Duration DefaultCertificate string DefaultCertificatePath string DefaultCertificateDir string DefaultDestinationCAPath string RouterService *ktypes.NamespacedName BindPortsAfterSync bool MaxConnections string Ciphers string StrictSNI bool MetricsType string TemplateRouterConfigManager }
func (*TemplateRouter) Bind ¶
func (o *TemplateRouter) Bind(flag *pflag.FlagSet)
type TemplateRouterOptions ¶
type TemplateRouterOptions struct { Config *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