in nginx/nginx.go [122:159]
func (c *Config) Build(params map[string]interface{}) ([]byte, error) {
tmpl, err := c.getTemplate()
if err != nil {
return nil, fmt.Errorf("get template: %s", err)
}
if _, ok := params["client_verification"]; !ok {
params["client_verification"] = config.DefaultClientVerification
}
// Add proxy_read_timeout to params for site template
if _, ok := params["proxy_read_timeout"]; !ok {
params["proxy_read_timeout"] = c.ProxyTimeout
}
if _, ok := params["ssl_enabled"]; !ok {
params["ssl_enabled"] = !c.tls.Server.Disabled
}
site, err := populateTemplate(tmpl, params)
if err != nil {
return nil, fmt.Errorf("populate template: %s", err)
}
// Build nginx config with base template and component specific template.
tmpl, err = config.GetDefaultTemplate("base")
if err != nil {
return nil, fmt.Errorf("get default base template: %s", err)
}
src, err := populateTemplate(tmpl, map[string]interface{}{
"site": string(site),
"ssl_enabled": !c.tls.Server.Disabled,
"ssl_certificate": c.tls.Server.Cert.Path,
"ssl_certificate_key": c.tls.Server.Key.Path,
"ssl_password_file": c.tls.Server.Passphrase.Path,
"ssl_client_certificate": _clientCABundle,
})
if err != nil {
return nil, fmt.Errorf("populate base: %s", err)
}
return src, nil
}