Documentation ¶
Index ¶
- Constants
- func BindClientConfigSecurityFlags(config *restclient.Config, flags *pflag.FlagSet)
- 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 *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 ¶
const ConfigSyntax = " --master=<addr>"
Variables ¶
This section is empty.
Functions ¶
func BindClientConfigSecurityFlags ¶
func BindClientConfigSecurityFlags(config *restclient.Config, flags *pflag.FlagSet)
BindClientConfigSecurityFlags adds flags for the supplied client config
func DefaultClientConfig ¶
func DefaultClientConfig(flags *pflag.FlagSet) kclientcmd.ClientConfig
func NewCommandF5Router ¶ added in v1.0.6
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 { // MasterAddr is the address the master can be reached on (host, host:port, or URL). MasterAddr flagtypes.Addr // KubernetesAddr is the address of the Kubernetes server (host, host:port, or URL). // If omitted defaults to the master. KubernetesAddr flagtypes.Addr // 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 // If set, allow kubeconfig file loading FromFile bool // If true, no environment is loaded (for testing, primarily) SkipEnv bool // 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
KubeConfig returns the Kubernetes configuration
func (*Config) OpenShiftConfig ¶
func (cfg *Config) OpenShiftConfig() *restclient.Config
OpenShiftConfig returns the OpenShift configuration
type F5Router ¶ added in v1.0.6
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 ¶ added in v1.0.6
type F5RouterOptions struct { Config *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 { RouterName string RouterCanonicalHostname string ResyncInterval time.Duration UpdateStatus bool 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 ExtendedValidation 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 { 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 }
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 *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