nginx

package
v0.0.0-...-b990ac8 Latest Latest
Warning

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

Go to latest
Published: Jul 27, 2016 License: Apache-2.0 Imports: 30 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ConfigMapAsString

func ConfigMapAsString() string

ConfigMapAsString returns a ConfigMap with the default NGINX configuration to be used a guide to provide a custom configuration

Types

type IngressConfig

type IngressConfig struct {
	Upstreams    []*Upstream
	Servers      []*Server
	TCPUpstreams []*Location
	UDPUpstreams []*Location
}

IngressConfig describes an NGINX configuration

type Location

type Location struct {
	Path           string
	IsDefBackend   bool
	Upstream       Upstream
	Auth           auth.Nginx
	RateLimit      ratelimit.RateLimit
	Redirect       rewrite.Redirect
	SecureUpstream bool
	Whitelist      ipwhitelist.SourceRange
}

Location describes an NGINX location

type LocationByPath

type LocationByPath []*Location

LocationByPath sorts location by path Location / is the last one

func (LocationByPath) Len

func (c LocationByPath) Len() int

func (LocationByPath) Less

func (c LocationByPath) Less(i, j int) bool

func (LocationByPath) Swap

func (c LocationByPath) Swap(i, j int)

type Manager

type Manager struct {
	ConfigFile string
	// contains filtered or unexported fields
}

Manager ...

func NewManager

func NewManager(kubeClient *client.Client) *Manager

NewManager ...

func (*Manager) AddOrUpdateCertAndKey

func (nginx *Manager) AddOrUpdateCertAndKey(name string, cert string, key string) (SSLCert, error)

AddOrUpdateCertAndKey creates a .pem file wth the cert and the key with the specified name

func (Manager) Check

func (ngx Manager) Check(_ *http.Request) error

Check returns if the nginx healthz endpoint is returning ok (status code 200)

func (*Manager) CheckAndReload

func (ngx *Manager) CheckAndReload(cfg config.Configuration, ingressCfg IngressConfig)

CheckAndReload verify if the nginx configuration changed and sends a reload

the master process receives the signal to reload configuration, it checks the syntax validity of the new configuration file and tries to apply the configuration provided in it. If this is a success, the master process starts new worker processes and sends messages to old worker processes, requesting them to shut down. Otherwise, the master process rolls back the changes and continues to work with the old configuration. Old worker processes, receiving a command to shut down, stop accepting new connections and continue to service current requests until all such requests are serviced. After that, the old worker processes exit. http://nginx.org/en/docs/beginners_guide.html#control

func (Manager) Name

func (ngx Manager) Name() string

Name returns the healthcheck name

func (*Manager) ReadConfig

func (ngx *Manager) ReadConfig(conf *api.ConfigMap) config.Configuration

ReadConfig obtains the configuration defined by the user merged with the defaults.

func (*Manager) SearchDHParamFile

func (nginx *Manager) SearchDHParamFile(baseDir string) string

SearchDHParamFile iterates all the secrets mounted inside the /etc/nginx-ssl directory in order to find a file with the name dhparam.pem. If such file exists it will returns the path. If not it just returns an empty string

func (*Manager) Start

func (ngx *Manager) Start()

Start starts a nginx (master process) and waits. If the process ends we need to kill the controller process and return the reason.

type SSLCert

type SSLCert struct {
	CertFileName string
	KeyFileName  string
	// PemFileName contains the path to the file with the certificate and key concatenated
	PemFileName string
	// PemSHA contains the sha1 of the pem file.
	// This is used to detect changes in the secret that contains the certificates
	PemSHA string
	// CN contains all the common names defined in the SSL certificate
	CN []string
}

SSLCert describes a SSL certificate to be used in NGINX

type Server

type Server struct {
	Name              string
	Locations         []*Location
	SSL               bool
	SSLCertificate    string
	SSLCertificateKey string
	SSLPemChecksum    string
}

Server describes an NGINX server

type ServerByName

type ServerByName []*Server

ServerByName sorts server by name

func (ServerByName) Len

func (c ServerByName) Len() int

func (ServerByName) Less

func (c ServerByName) Less(i, j int) bool

func (ServerByName) Swap

func (c ServerByName) Swap(i, j int)

type Upstream

type Upstream struct {
	Name     string
	Backends []UpstreamServer
	Secure   bool
}

Upstream describes an NGINX upstream

func NewUpstream

func NewUpstream(name string) *Upstream

NewUpstream creates an upstream without servers.

type UpstreamByNameServers

type UpstreamByNameServers []*Upstream

UpstreamByNameServers sorts upstreams by name

func (UpstreamByNameServers) Len

func (c UpstreamByNameServers) Len() int

func (UpstreamByNameServers) Less

func (c UpstreamByNameServers) Less(i, j int) bool

func (UpstreamByNameServers) Swap

func (c UpstreamByNameServers) Swap(i, j int)

type UpstreamServer

type UpstreamServer struct {
	Address     string
	Port        string
	MaxFails    int
	FailTimeout int
}

UpstreamServer describes a server in an NGINX upstream

func NewDefaultServer

func NewDefaultServer() UpstreamServer

NewDefaultServer return an UpstreamServer to be use as default server that returns 503.

type UpstreamServerByAddrPort

type UpstreamServerByAddrPort []UpstreamServer

UpstreamServerByAddrPort sorts upstream servers by address and port

func (UpstreamServerByAddrPort) Len

func (c UpstreamServerByAddrPort) Len() int

func (UpstreamServerByAddrPort) Less

func (c UpstreamServerByAddrPort) Less(i, j int) bool

func (UpstreamServerByAddrPort) Swap

func (c UpstreamServerByAddrPort) Swap(i, j int)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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