settings

package
v0.7.12 Latest Latest
Warning

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

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

Documentation

Index

Constants

View Source
const (
	KubeconfigInCluster = "incluster"
	KubeconfigMock      = "mock"
	EnvVarKubeconfig    = "KUBE_CONFIG"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type AccessLog

type AccessLog struct {
	QueueSize uint16     `yaml:"queueSize" json:"queueSize"`
	Inline    value.Bool `yaml:"inline" json:"inline"`
}

func NewAccessLog

func NewAccessLog() (AccessLog, error)

func (*AccessLog) RegisterFlags

func (this *AccessLog) RegisterFlags(fe support.FlagEnabled, appPrefix string)

type Client

type Client struct {
	Http  ClientConnector `yaml:"http,omitempty" json:"http,omitempty"`
	Https ClientConnector `yaml:"https,omitempty" json:"https,omitempty"`
}

func NewClient

func NewClient() (Client, error)

func (*Client) GetById

func (this *Client) GetById(id string) (*ClientConnector, error)

func (*Client) RegisterFlags

func (this *Client) RegisterFlags(fe support.FlagEnabled, appPrefix string)

type ClientConnector

type ClientConnector struct {
	MaxRequestHeaderBytes uint32        `json:"maxRequestHeaderBytes,omitempty" yaml:"maxRequestHeaderBytes,omitempty"`
	ReadHeaderTimeout     time.Duration `json:"readHeaderTimeout,omitempty" yaml:"readHeaderTimeout,omitempty"`
	WriteTimeout          time.Duration `json:"writeTimeout,omitempty" yaml:"writeTimeout,omitempty"`
	IdleTimeout           time.Duration `json:"idleTimeout,omitempty" yaml:"idleTimeout,omitempty"`
	KeepAlive             time.Duration `json:"keepAlive,omitempty" yaml:"keepAlive,omitempty"`
	// contains filtered or unexported fields
}

func NewClientConnector

func NewClientConnector(id string) (ClientConnector, error)

func (*ClientConnector) ApplyToHttpServer

func (this *ClientConnector) ApplyToHttpServer(target *http.Server) error

func (*ClientConnector) ApplyToNetListenConfig

func (this *ClientConnector) ApplyToNetListenConfig(target *net.ListenConfig) error

func (*ClientConnector) RegisterFlags

func (this *ClientConnector) RegisterFlags(fe support.FlagEnabled, appPrefix string)

type Cors

type Cors struct {
	AllowedOriginsHost value2.ForcibleHostPatterns `json:"allowedOriginsHost,omitempty" yaml:"allowedOriginsHost,omitempty"`
	AllowedMethods     value2.ForcibleMethods      `json:"allowedMethods,omitempty" yaml:"allowedMethods,omitempty"`
	AllowedHeaders     value2.ForcibleHeaderNames  `json:"allowedHeaders,omitempty" yaml:"allowedHeaders,omitempty"`
	AllowedCredentials value.ForcibleBool          `json:"allowedCredentials,omitempty" yaml:"allowedCredentials,omitempty"`
	MaxAge             value.ForcibleDuration      `json:"maxAge,omitempty" yaml:"maxAge,omitempty"`
	Enabled            value.ForcibleBool          `json:"enabled,omitempty" yaml:"enabled,omitempty"`
}

func NewCors

func NewCors() (Cors, error)

func (*Cors) RegisterFlags

func (this *Cors) RegisterFlags(fe support.FlagEnabled, appPrefix string)

type Discovery

type Discovery struct {
	ResyncAfter time.Duration `yaml:"resyncAfter,omitempty" json:"resyncAfter,omitempty"`
}

func NewDiscovery

func NewDiscovery() (Discovery, error)

func (*Discovery) RegisterFlags

func (this *Discovery) RegisterFlags(fe support.FlagEnabled, appPrefix string)

type Fallback

type Fallback struct {
	ReloadTimeoutOnTemporaryIssues time.Duration `json:"reloadTimeoutOnTemporaryIssues,omitempty" yaml:"reloadTimeoutOnTemporaryIssues,omitempty"`
}

func NewFallback

func NewFallback() (Fallback, error)

func (*Fallback) RegisterFlags

func (this *Fallback) RegisterFlags(fe support.FlagEnabled, appPrefix string)

type Ingress

type Ingress struct {
	Classes []string `yaml:"classes,omitempty" json:"classes,omitempty"`
}

func NewIngress

func NewIngress() (Ingress, error)

func (*Ingress) GetClasses

func (this *Ingress) GetClasses() []string

func (*Ingress) RegisterFlags

func (this *Ingress) RegisterFlags(fe support.FlagEnabled, appPrefix string)

type KubeconfigLoader

type KubeconfigLoader struct {
	clientcmd.ClientConfigLoader
	Kubeconfig        string
	DefaultKubeconfig string
	TargetContext     string
}

func (KubeconfigLoader) IsDefaultConfig

func (this KubeconfigLoader) IsDefaultConfig(*restclient.Config) bool

func (KubeconfigLoader) Load

func (this KubeconfigLoader) Load() (*clientcmdapi.Config, error)

type KubeconfigPath

type KubeconfigPath struct {
	Value string

	ResolveDefaultLocation func() string
}

func (KubeconfigPath) IsEmpty

func (this KubeconfigPath) IsEmpty() bool

func (KubeconfigPath) IsInCluster

func (this KubeconfigPath) IsInCluster() bool

func (KubeconfigPath) IsMock

func (this KubeconfigPath) IsMock() bool

func (*KubeconfigPath) Set

func (this *KubeconfigPath) Set(plain string) error

func (KubeconfigPath) String

func (this KubeconfigPath) String() string

func (KubeconfigPath) ToConfigLoader

func (this KubeconfigPath) ToConfigLoader(targetContext string) KubeconfigLoader

type Kubernetes

type Kubernetes struct {
	Config    KubeconfigPath `json:"config,omitempty" yaml:"config,omitempty"`
	Context   string         `json:"context,omitempty" yaml:"context,omitempty"`
	Namespace string         `json:"namespace,omitempty" yaml:"namespace,omitempty"`
}

func NewKubernetes

func NewKubernetes() (Kubernetes, error)

func (*Kubernetes) RegisterFlags

func (this *Kubernetes) RegisterFlags(fe support.FlagEnabled, appPrefix string)

type Management

type Management struct {
	ListenAddress         string        `json:"listenAddress,omitempty" yaml:"listenAddress,omitempty"`
	MaxRequestHeaderBytes uint32        `json:"maxRequestHeaderBytes,omitempty" yaml:"maxRequestHeaderBytes,omitempty"`
	ReadHeaderTimeout     time.Duration `json:"readHeaderTimeout,omitempty" yaml:"readHeaderTimeout,omitempty"`
	WriteTimeout          time.Duration `json:"writeTimeout,omitempty" yaml:"writeTimeout,omitempty"`
	IdleTimeout           time.Duration `json:"idleTimeout,omitempty" yaml:"idleTimeout,omitempty"`
	Pprof                 value.Bool    `json:"pprof,omitempty" yaml:"pprof,omitempty"`
}

func NewManagement

func NewManagement() (Management, error)

func (*Management) ApplyToHttpServer

func (this *Management) ApplyToHttpServer(target *http.Server) error

func (*Management) RegisterFlags

func (this *Management) RegisterFlags(fe support.FlagEnabled, appPrefix string)

type Request

type Request struct {
	Headers value.Headers `json:"headers,omitempty" yaml:"headers,omitempty" `
}

func NewRequest

func NewRequest() (Request, error)

func (*Request) RegisterFlags

func (this *Request) RegisterFlags(fe support.FlagEnabled, _ string)

type Response

type Response struct {
	Headers  value.Headers      `json:"headers,omitempty" yaml:"headers,omitempty"`
	Compress value.ForcibleBool `json:"compress,omitempty" yaml:"compress,omitempty"`
}

func NewResponse

func NewResponse() (Response, error)

func (*Response) RegisterFlags

func (this *Response) RegisterFlags(fe support.FlagEnabled, _ string)

type Server

type Server struct {
	Http               ServerConnector `yaml:"http,omitempty" json:"http,omitempty"`
	Https              ServerConnector `yaml:"https,omitempty" json:"https,omitempty"`
	BehindReverseProxy value.Bool      `yaml:"behindReverseProxy,omitempty" json:"behindReverseProxy,omitempty"`
}

func NewServer

func NewServer() (Server, error)

func (*Server) GetById

func (this *Server) GetById(id string) (*ServerConnector, error)

func (*Server) RegisterFlags

func (this *Server) RegisterFlags(fe support.FlagEnabled, appPrefix string)

type ServerConnector

type ServerConnector struct {
	ListenAddress  string `json:"listenAddress,omitempty" yaml:"listenAddress,omitempty"`
	MaxConnections uint16 `json:"maxConnections,omitempty" yaml:"maxConnections,omitempty"`
	SoLinger       int16  `json:"soLinger,omitempty" yaml:"soLinger,omitempty"`

	// See https://www.haproxy.org/download/2.3/doc/proxy-protocol.txt
	RespectProxyProtocol value.Bool `json:"respectProxyProtocol,omitempty" yaml:"respectProxyProtocol,omitempty"`
	// contains filtered or unexported fields
}

func NewServerConnector

func NewServerConnector(id string, listenAddress string) (ServerConnector, error)

func (*ServerConnector) ApplyToHttpServer

func (this *ServerConnector) ApplyToHttpServer(target *http.Server) error

func (*ServerConnector) RegisterFlags

func (this *ServerConnector) RegisterFlags(fe support.FlagEnabled, appPrefix string)

type Settings

type Settings struct {
	AccessLog  AccessLog  `json:"accessLog,omitempty" yaml:"accessLog,omitempty"`
	Client     Client     `json:"client,omitempty" yaml:"client,omitempty"`
	Cors       Cors       `json:"cors,omitempty" yaml:"cors,omitempty"`
	Discovery  Discovery  `json:"discovery,omitempty" yaml:"discovery,omitempty"`
	Fallback   Fallback   `json:"fallback,omitempty" yaml:"fallback,omitempty"`
	Request    Request    `json:"request,omitempty" yaml:"request,omitempty"`
	Response   Response   `json:"response,omitempty" yaml:"response,omitempty"`
	Ingress    Ingress    `json:"ingress,omitempty" yaml:"ingress,omitempty"`
	Kubernetes Kubernetes `json:"kubernetes,omitempty" yaml:"kubernetes,omitempty"`
	Management Management `json:"management,omitempty" yaml:"management,omitempty"`
	Server     Server     `json:"server,omitempty" yaml:"server,omitempty"`
	Tls        Tls        `json:"tls,omitempty" yaml:"tls,omitempty"`
	Upstream   Upstream   `json:"upstream,omitempty" yaml:"upstream,omitempty"`
}

func MustNew

func MustNew() Settings

func New

func New() (Settings, error)

func (*Settings) RegisterFlags

func (this *Settings) RegisterFlags(fe support.FlagEnabled, appPrefix string)

type Tls

type Tls struct {
	SecretNames         []string           `yaml:"secretNames,omitempty" json:"secretNames,omitempty"`
	SecretNamePattern   *regexp.Regexp     `yaml:"secretNamePattern,omitempty" json:"secretNamePattern,omitempty"`
	SecretLabelSelector []string           `yaml:"secretLabelSelector,omitempty" json:"secretLabelSelector,omitempty"`
	SecretFieldSelector []string           `yaml:"secretFieldSelector,omitempty" json:"secretFieldSelector,omitempty"`
	Forced              value.ForcibleBool `yaml:"forced,omitempty" json:"forced,omitempty"`
	FallbackCertificate value.Bool         `yaml:"fallbackCertificate,omitempty" json:"fallbackCertificate,omitempty"`
}

func NewTls

func NewTls() (Tls, error)

func (*Tls) RegisterFlags

func (this *Tls) RegisterFlags(fe support.FlagEnabled, appPrefix string)

type Upstream

type Upstream struct {
	MaxIdleConnectionsPerHost uint32        `json:"maxIdleConnectionsPerHost,omitempty" yaml:"maxIdleConnectionsPerHost,omitempty"`
	MaxConnectionsPerHost     uint32        `json:"maxConnectionsPerHost,omitempty" yaml:"maxConnectionsPerHost,omitempty"`
	IdleConnectionTimeout     time.Duration `json:"idleConnectionTimeout,omitempty" yaml:"idleConnectionTimeout,omitempty"`
	MaxResponseHeaderBytes    uint32        `json:"maxResponseHeaderBytes,omitempty" yaml:"maxResponseHeaderBytes,omitempty"`
	DialTimeout               time.Duration `json:"dialTimeout,omitempty" yaml:"dialTimeout,omitempty"`
	KeepAlive                 time.Duration `json:"keepAlive,omitempty" yaml:"keepAlive,omitempty"`

	OverrideHost   string `json:"overrideHost,omitempty" yaml:"overrideHost,omitempty"`
	OverrideScheme string `json:"overrideScheme,omitempty" yaml:"overrideScheme,omitempty"`
}

func NewUpstream

func NewUpstream() (Upstream, error)

func (*Upstream) ApplyToHttpTransport

func (this *Upstream) ApplyToHttpTransport(target *http.Transport) error

func (*Upstream) ApplyToNetDialer

func (this *Upstream) ApplyToNetDialer(target *net.Dialer) error

func (*Upstream) RegisterFlags

func (this *Upstream) RegisterFlags(fe support.FlagEnabled, appPrefix string)

Jump to

Keyboard shortcuts

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