router

package
v0.0.0-...-8762aa4 Latest Latest
Warning

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

Go to latest
Published: Apr 25, 2024 License: Apache-2.0 Imports: 52 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DefaultClientConfig

func DefaultClientConfig(flags *pflag.FlagSet) kclientcmd.ClientConfig

func NewCommandTemplateRouter

func NewCommandTemplateRouter(name string) *cobra.Command

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 NewConfig

func NewConfig() *Config

NewConfig returns a new configuration

func (*Config) Bind

func (cfg *Config) Bind(flags *pflag.FlagSet)

Bind binds configuration values to the passed flagset

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 KeyFunc

type KeyFunc func(key string) (string, bool)

KeyFunc returns the value associated with the provided key or false if no such key exists.

type RouterSelection

type RouterSelection struct {
	RouterName              string
	RouterCanonicalHostname string

	ResyncInterval time.Duration

	UpdateStatus bool

	HostnameTemplate string
	RouterDomain     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

	UpgradeValidation bool

	UpgradeValidationForceAddCondition    bool
	UpgradeValidationForceRemoveCondition bool

	ListenAddr string

	// WatchEndpoints when true will watch Endpoints instead of
	// EndpointSlices.
	WatchEndpoints bool
}

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

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
	StatsPasswordFile string
	StatsUsernameFile 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
	BindPortsAfterSync                  bool
	MaxConnections                      string
	Ciphers                             string
	StrictSNI                           bool
	MetricsType                         string
	CaptureHTTPRequestHeadersString     string
	CaptureHTTPResponseHeadersString    string
	CaptureHTTPCookieString             string
	CaptureHTTPRequestHeaders           []templateplugin.CaptureHTTPHeader
	CaptureHTTPResponseHeaders          []templateplugin.CaptureHTTPHeader
	CaptureHTTPCookie                   *templateplugin.CaptureHTTPCookie
	HTTPHeaderNameCaseAdjustmentsString string
	HTTPHeaderNameCaseAdjustments       []templateplugin.HTTPHeaderNameCaseAdjustment
	HTTPResponseHeadersString           string
	HTTPResponseHeaders                 []templateplugin.HTTPHeader
	HTTPRequestHeadersString            string
	HTTPRequestHeaders                  []templateplugin.HTTPHeader

	TemplateRouterConfigManager
}

func (*TemplateRouter) Bind

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

type TemplateRouterConfigManager

type TemplateRouterConfigManager struct {
	UseHAProxyConfigManager     bool
	CommitInterval              time.Duration
	BlueprintRouteNamespace     string
	BlueprintRouteLabelSelector string
	BlueprintRoutePoolSize      int
	MaxDynamicServers           int
}

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(stopCh <-chan struct{}) error

Run launches a template router using the provided options. It never exits.

func (*TemplateRouterOptions) Validate

func (o *TemplateRouterOptions) Validate() error

Jump to

Keyboard shortcuts

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