Documentation ¶
Index ¶
- type AddHeader
- type Distribution
- type EgressMTLS
- type ErrorPage
- type ErrorPageLocation
- type Header
- type HealthCheck
- type IngressMTLS
- type InternalRedirectLocation
- type JWTAuth
- type LimitReq
- type LimitReqOptions
- type LimitReqZone
- type Location
- type Map
- type Match
- type OIDC
- type Parameter
- type Queue
- type Return
- type ReturnLocation
- type SSL
- type Server
- type SessionCookie
- type SplitClient
- type StatusMatch
- type StreamHealthCheck
- type StreamServer
- type StreamUpstream
- type StreamUpstreamServer
- type TLSPassthroughHostsConfig
- type TLSRedirect
- type TemplateExecutor
- func (te *TemplateExecutor) ExecuteTLSPassthroughHostsTemplate(cfg *TLSPassthroughHostsConfig) ([]byte, error)
- func (te *TemplateExecutor) ExecuteTransportServerTemplate(cfg *TransportServerConfig) ([]byte, error)
- func (te *TemplateExecutor) ExecuteVirtualServerTemplate(cfg *VirtualServerConfig) ([]byte, error)
- func (te *TemplateExecutor) UpdateVirtualServerTemplate(templateString *string) error
- type TransportServerConfig
- type Upstream
- type UpstreamLabels
- type UpstreamServer
- type VirtualServerConfig
- type WAF
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AddHeader ¶ added in v1.8.0
AddHeader defines a header to use with add_header directive with an optional Always field.
type Distribution ¶
Distribution maps weight to a value in a SplitClient.
type EgressMTLS ¶ added in v1.9.0
type EgressMTLS struct { Certificate string CertificateKey string VerifyServer bool VerifyDepth int Ciphers string Protocols string TrustedCert string SessionReuse bool ServerName bool SSLName string }
EgressMTLS defines TLS configuration for a location.
type ErrorPageLocation ¶ added in v1.7.0
ErrorPageLocation defines a named location for an error_page directive.
type HealthCheck ¶ added in v1.6.0
type HealthCheck struct { Name string URI string Interval string Jitter string Fails int Passes int Port int ProxyPass string ProxyConnectTimeout string ProxyReadTimeout string ProxySendTimeout string Headers map[string]string Match string }
HealthCheck defines a HealthCheck for an upstream in a Server.
type IngressMTLS ¶ added in v1.9.0
IngressMTLS defines TLS configuration for a server. This is a subset of TLS specifically for clients auth.
type InternalRedirectLocation ¶
InternalRedirectLocation defines a location for internally redirecting requests to named locations.
type LimitReqOptions ¶ added in v1.9.0
LimitReqOptions defines rate limit options.
func (LimitReqOptions) String ¶ added in v1.9.0
func (rl LimitReqOptions) String() string
type LimitReqZone ¶ added in v1.9.0
LimitReqZone defines a rate limit shared memory zone.
func (LimitReqZone) String ¶ added in v1.9.0
func (rlz LimitReqZone) String() string
type Location ¶
type Location struct { Path string Internal bool Snippets []string ProxyConnectTimeout string ProxyReadTimeout string ProxySendTimeout string ClientMaxBodySize string ProxyMaxTempFileSize string ProxyBuffering bool ProxyBuffers string ProxyBufferSize string ProxyPass string ProxyNextUpstream string ProxyNextUpstreamTimeout string ProxyNextUpstreamTries int ProxyInterceptErrors bool ProxyPassRequestHeaders bool ProxySetHeaders []Header ProxyHideHeaders []string ProxyPassHeaders []string ProxyIgnoreHeaders string ProxyPassRewrite string AddHeaders []AddHeader Rewrites []string HasKeepalive bool ErrorPages []ErrorPage ProxySSLName string InternalProxyPass string Allow []string Deny []string LimitReqOptions LimitReqOptions LimitReqs []LimitReq JWTAuth *JWTAuth EgressMTLS *EgressMTLS OIDC bool WAF *WAF PoliciesErrorReturn *Return ServiceName string IsVSR bool VSRName string VSRNamespace string }
Location defines a location.
type Return ¶ added in v1.6.0
Return defines a Return directive used for redirects and canned responses.
type ReturnLocation ¶ added in v1.8.0
ReturnLocation defines a location for returning a fixed response.
type Server ¶
type Server struct { ServerName string StatusZone string ProxyProtocol bool SSL *SSL ServerTokens string RealIPHeader string SetRealIPFrom []string RealIPRecursive bool Snippets []string InternalRedirectLocations []InternalRedirectLocation Locations []Location ErrorPageLocations []ErrorPageLocation ReturnLocations []ReturnLocation HealthChecks []HealthCheck TLSRedirect *TLSRedirect TLSPassthrough bool Allow []string Deny []string LimitReqOptions LimitReqOptions LimitReqs []LimitReq JWTAuth *JWTAuth IngressMTLS *IngressMTLS EgressMTLS *EgressMTLS OIDC *OIDC WAF *WAF PoliciesErrorReturn *Return VSNamespace string VSName string }
Server defines a server.
type SessionCookie ¶ added in v1.6.0
type SessionCookie struct { Enable bool Name string Path string Expires string Domain string HTTPOnly bool Secure bool }
SessionCookie defines a session cookie for an upstream.
type SplitClient ¶
type SplitClient struct { Source string Variable string Distributions []Distribution }
SplitClient defines a split_clients.
type StatusMatch ¶ added in v1.6.0
StatusMatch defines a Match block for status codes.
type StreamHealthCheck ¶ added in v1.11.0
type StreamHealthCheck struct { Enabled bool Interval string Port int Passes int Jitter string Fails int Timeout string Match string }
StreamHealthCheck defines a health check for a StreamUpstream in a StreamServer.
type StreamServer ¶ added in v1.7.0
type StreamServer struct { TLSPassthrough bool UnixSocket string Port int UDP bool StatusZone string ProxyRequests *int ProxyResponses *int ProxyPass string Name string Namespace string ProxyTimeout string ProxyConnectTimeout string ProxyNextUpstream bool ProxyNextUpstreamTimeout string ProxyNextUpstreamTries int HealthCheck *StreamHealthCheck ServerSnippets []string }
StreamServer defines a server in the stream module.
type StreamUpstream ¶ added in v1.7.0
type StreamUpstream struct { Name string Servers []StreamUpstreamServer UpstreamLabels UpstreamLabels LoadBalancingMethod string }
StreamUpstream defines a stream upstream.
type StreamUpstreamServer ¶ added in v1.7.0
type StreamUpstreamServer struct { Address string MaxFails int FailTimeout string MaxConnections int }
StreamUpstreamServer defines a stream upstream server.
type TLSPassthroughHostsConfig ¶ added in v1.7.0
TLSPassthroughHostsConfig defines a mapping between TLS Passthrough hosts and the corresponding unix sockets.
type TLSRedirect ¶ added in v1.6.0
TLSRedirect defines a redirect in a Server.
type TemplateExecutor ¶
type TemplateExecutor struct {
// contains filtered or unexported fields
}
TemplateExecutor executes NGINX configuration templates.
func NewTemplateExecutor ¶
func NewTemplateExecutor(virtualServerTemplatePath string, transportServerTemplatePath string) (*TemplateExecutor, error)
NewTemplateExecutor creates a TemplateExecutor.
func (*TemplateExecutor) ExecuteTLSPassthroughHostsTemplate ¶ added in v1.7.0
func (te *TemplateExecutor) ExecuteTLSPassthroughHostsTemplate(cfg *TLSPassthroughHostsConfig) ([]byte, error)
ExecuteTLSPassthroughHostsTemplate generates the content of an NGINX configuration file for mapping between TLS Passthrough hosts and the corresponding unix sockets.
func (*TemplateExecutor) ExecuteTransportServerTemplate ¶ added in v1.7.0
func (te *TemplateExecutor) ExecuteTransportServerTemplate(cfg *TransportServerConfig) ([]byte, error)
ExecuteTransportServerTemplate generates the content of an NGINX configuration file for a TransportServer resource.
func (*TemplateExecutor) ExecuteVirtualServerTemplate ¶
func (te *TemplateExecutor) ExecuteVirtualServerTemplate(cfg *VirtualServerConfig) ([]byte, error)
ExecuteVirtualServerTemplate generates the content of an NGINX configuration file for a VirtualServer resource.
func (*TemplateExecutor) UpdateVirtualServerTemplate ¶ added in v1.8.0
func (te *TemplateExecutor) UpdateVirtualServerTemplate(templateString *string) error
UpdateVirtualServerTemplate updates the VirtualServer template.
type TransportServerConfig ¶ added in v1.7.0
type TransportServerConfig struct { Server StreamServer Upstreams []StreamUpstream StreamSnippets []string Match *Match }
TransportServerConfig holds NGINX configuration for a TransportServer.
type Upstream ¶
type Upstream struct { Name string Servers []UpstreamServer LBMethod string Resolve bool Keepalive int MaxFails int MaxConns int SlowStart string FailTimeout string UpstreamZoneSize string Queue *Queue SessionCookie *SessionCookie UpstreamLabels UpstreamLabels }
Upstream defines an upstream.
type UpstreamLabels ¶ added in v1.9.0
type UpstreamLabels struct { Service string ResourceType string ResourceName string ResourceNamespace string }
UpstreamLabels describes the Prometheus labels for an NGINX upstream.
type UpstreamServer ¶
type UpstreamServer struct {
Address string
}
UpstreamServer defines an upstream server.
type VirtualServerConfig ¶
type VirtualServerConfig struct { HTTPSnippets []string LimitReqZones []LimitReqZone Maps []Map Server Server SpiffeCerts bool SplitClients []SplitClient StatusMatches []StatusMatch Upstreams []Upstream }
VirtualServerConfig holds NGINX configuration for a VirtualServer.