Documentation ¶
Index ¶
- func GetMapKeyAsBool(m map[string]string, key string, context apiObject) (bool, bool, error)
- func GetMapKeyAsInt(m map[string]string, key string, context apiObject) (int64, bool, error)
- type Config
- type Configurator
- type IngressEx
- type IngressNginxConfig
- type Location
- type NginxAPIController
- type NginxClient
- func (client *NginxClient) AddHTTPServer(upstream string, server string) error
- func (client *NginxClient) CheckIfUpstreamExists(upstream string) error
- func (client *NginxClient) DeleteHTTPServer(upstream string, server string) error
- func (client *NginxClient) GetHTTPServers(upstream string) ([]string, error)
- func (client *NginxClient) UpdateHTTPServers(upstream string, servers []string) ([]string, []string, error)
- type NginxController
- func (nginx *NginxController) AddOrUpdateCertAndKey(name string, cert string, key string) string
- func (nginx *NginxController) AddOrUpdateIngress(name string, config IngressNginxConfig)
- func (nginx *NginxController) DeleteIngress(name string)
- func (nginx *NginxController) Reload() error
- func (nginx *NginxController) Start()
- func (nginx *NginxController) UpdateMainConfigFile(cfg *NginxMainConfig)
- type NginxMainConfig
- type Server
- type Upstream
- type UpstreamServer
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetMapKeyAsBool ¶ added in v0.6.0
GetMapKeyAsBool searches the map for the given key and parses the key as bool
Types ¶
type Config ¶
type Config struct { ProxyConnectTimeout string ProxyReadTimeout string ClientMaxBodySize string HTTP2 bool MainServerNamesHashBucketSize string MainServerNamesHashMaxSize string MainLogFormat string ProxyBuffering bool ProxyBuffers string ProxyBufferSize string ProxyMaxTempFileSize string HSTS bool HSTSMaxAge int64 HSTSIncludeSubdomains bool }
Config holds NGINX configuration parameters
func NewDefaultConfig ¶
func NewDefaultConfig() *Config
NewDefaultConfig creates a Config with default values
type Configurator ¶
type Configurator struct {
// contains filtered or unexported fields
}
Configurator transforms an Ingress resource into NGINX Configuration
func NewConfigurator ¶
func NewConfigurator(nginx *NginxController, config *Config, nginxAPI *NginxAPIController) *Configurator
NewConfigurator creates a new Configurator
func (*Configurator) AddOrUpdateIngress ¶
func (cnf *Configurator) AddOrUpdateIngress(name string, ingEx *IngressEx)
AddOrUpdateIngress adds or updates NGINX configuration for an Ingress resource
func (*Configurator) DeleteIngress ¶
func (cnf *Configurator) DeleteIngress(name string)
DeleteIngress deletes NGINX configuration for an Ingress resource
func (*Configurator) UpdateConfig ¶
func (cnf *Configurator) UpdateConfig(config *Config)
UpdateConfig updates NGINX Configuration parameters
func (*Configurator) UpdateEndpoints ¶
func (cnf *Configurator) UpdateEndpoints(name string, ingEx *IngressEx)
UpdateEndpoints updates endpoints in NGINX configuration for an Ingress resource
type IngressEx ¶
type IngressEx struct { Ingress *extensions.Ingress Secrets map[string]*api.Secret Endpoints map[string][]string }
IngressEx holds an Ingress along with Secrets and Endpoints of the services that are referenced in this Ingress
type IngressNginxConfig ¶
IngressNginxConfig describes an NGINX configuration
type Location ¶
type Location struct { Path string Upstream Upstream ProxyConnectTimeout string ProxyReadTimeout string ClientMaxBodySize string Websocket bool Rewrite string SSL bool ProxyBuffering bool ProxyBuffers string ProxyBufferSize string ProxyMaxTempFileSize string }
Location describes an NGINX location
type NginxAPIController ¶
type NginxAPIController struct {
// contains filtered or unexported fields
}
func NewNginxAPIController ¶
func NewNginxAPIController(upstreamConfEndpoint string, statusEndpoint string, local bool) (*NginxAPIController, error)
func (*NginxAPIController) UpdateServers ¶
func (nginx *NginxAPIController) UpdateServers(upstream string, servers []string) error
type NginxClient ¶
type NginxClient struct {
// contains filtered or unexported fields
}
NginxClient lets you add/remove servers to/from NGINX Plus via its upstream_conf API
func NewNginxClient ¶
func NewNginxClient(upstreamConfEndpoint string, statusEndpoint string) (*NginxClient, error)
NewNginxClient creates an NginxClient.
func (*NginxClient) AddHTTPServer ¶
func (client *NginxClient) AddHTTPServer(upstream string, server string) error
AddHTTPServer adds the server to the upstream.
func (*NginxClient) CheckIfUpstreamExists ¶
func (client *NginxClient) CheckIfUpstreamExists(upstream string) error
CheckIfUpstreamExists checks if the upstream exists in NGINX. If the upstream doesn't exist, it returns an error.
func (*NginxClient) DeleteHTTPServer ¶
func (client *NginxClient) DeleteHTTPServer(upstream string, server string) error
DeleteHTTPServer the server from the upstream.
func (*NginxClient) GetHTTPServers ¶
func (client *NginxClient) GetHTTPServers(upstream string) ([]string, error)
GetHTTPServers returns the servers of the upsteam from NGINX.
func (*NginxClient) UpdateHTTPServers ¶
func (client *NginxClient) UpdateHTTPServers(upstream string, servers []string) ([]string, []string, error)
UpdateHTTPServers updates the servers of the upstream. Servers that are in the slice, but don't exist in NGINX will be added to NGINX. Servers that aren't in the slice, but exist in NGINX, will be removed from NGINX.
type NginxController ¶
type NginxController struct {
// contains filtered or unexported fields
}
NginxController Updates NGINX configuration, starts and reloads NGINX
func NewNginxController ¶
func NewNginxController(nginxConfPath string, local bool) (*NginxController, error)
NewNginxController creates a NGINX controller
func (*NginxController) AddOrUpdateCertAndKey ¶
func (nginx *NginxController) AddOrUpdateCertAndKey(name string, cert string, key string) string
AddOrUpdateCertAndKey creates a .pem file wth the cert and the key with the specified name
func (*NginxController) AddOrUpdateIngress ¶
func (nginx *NginxController) AddOrUpdateIngress(name string, config IngressNginxConfig)
AddOrUpdateIngress creates or updates a file with the specified configuration for the specified ingress
func (*NginxController) DeleteIngress ¶
func (nginx *NginxController) DeleteIngress(name string)
DeleteIngress deletes the configuration file, which corresponds for the specified ingress from NGINX conf directory
func (*NginxController) UpdateMainConfigFile ¶
func (nginx *NginxController) UpdateMainConfigFile(cfg *NginxMainConfig)
UpdateMainConfigFile update the main NGINX configuration file
type NginxMainConfig ¶
type NginxMainConfig struct { ServerNamesHashBucketSize string ServerNamesHashMaxSize string LogFormat string }
NginxMainConfig describe the main NGINX configuration file
type Server ¶
type Server struct { Name string Locations []Location SSL bool SSLCertificate string SSLCertificateKey string StatusZone string HTTP2 bool HSTS bool HSTSMaxAge int64 HSTSIncludeSubdomains bool }
Server describes an NGINX server
type Upstream ¶
type Upstream struct { Name string UpstreamServers []UpstreamServer StickyCookie string }
Upstream describes an NGINX upstream
type UpstreamServer ¶
UpstreamServer describes a server in an NGINX upstream