router

package
v3.6.0-rc.0+incompatible Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 13, 2017 License: Apache-2.0 Imports: 39 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewCommandF5Router added in v1.0.6

func NewCommandF5Router(name string) *cobra.Command

NewCommandF5Router provides CLI handler for the F5 router sync plugin.

func NewCommandTemplateRouter

func NewCommandTemplateRouter(name string) *cobra.Command

NewCommndTemplateRouter provides CLI handler for the template router backend

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

func (o *F5Router) Bind(flag *pflag.FlagSet)

Bind binds F5Router arguments to flags

func (*F5Router) Validate added in v1.0.6

func (o *F5Router) Validate() error

Validate verifies the required F5 flags are present

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

	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

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL