changed by suggest
This commit is contained in:
parent
15c6a1175a
commit
5dfee7ba9a
3 changed files with 14 additions and 22 deletions
|
@ -29,7 +29,7 @@ const (
|
|||
type serverSnippet struct {
|
||||
}
|
||||
|
||||
// NewParser creates a new CORS annotation parser
|
||||
// NewParser creates a new server snippet annotation parser
|
||||
func NewParser() parser.IngressAnnotation {
|
||||
return serverSnippet{}
|
||||
}
|
||||
|
|
|
@ -987,6 +987,7 @@ func (ic *GenericController) createServers(data []interface{},
|
|||
|
||||
// setup server-alias based on annotations
|
||||
aliasAnnotation := ic.annotations.Alias(ing)
|
||||
srvsnippet := ic.annotations.ServerSnippet(ing)
|
||||
|
||||
for _, rule := range ing.Spec.Rules {
|
||||
host := rule.Host
|
||||
|
@ -1002,6 +1003,17 @@ func (ic *GenericController) createServers(data []interface{},
|
|||
}
|
||||
}
|
||||
|
||||
//notifying the user that it has already been configured.
|
||||
if servers[host].ServerSnippet != "" && srvsnippet != "" {
|
||||
glog.Warningf("ingress %v/%v for host %v contains a Server Snippet section that it has already been configured.",
|
||||
ing.Namespace, ing.Name, host)
|
||||
}
|
||||
|
||||
// only add a server snippet if the server does not have one previously configured
|
||||
if servers[host].ServerSnippet == "" && srvsnippet != "" {
|
||||
servers[host].ServerSnippet = srvsnippet
|
||||
}
|
||||
|
||||
// only add a certificate if the server does not have one previously configured
|
||||
if servers[host].SSLCertificate != "" {
|
||||
continue
|
||||
|
@ -1066,27 +1078,6 @@ func (ic *GenericController) createServers(data []interface{},
|
|||
}
|
||||
}
|
||||
|
||||
// configure server snippet
|
||||
for _, ingIf := range data {
|
||||
ing := ingIf.(*extensions.Ingress)
|
||||
if !class.IsValid(ing, ic.cfg.IngressClass, ic.cfg.DefaultIngressClass) {
|
||||
continue
|
||||
}
|
||||
|
||||
for _, rule := range ing.Spec.Rules {
|
||||
host := rule.Host
|
||||
if host == "" {
|
||||
host = defServerName
|
||||
}
|
||||
|
||||
srvsnippet := ic.annotations.ServerSnippet(ing)
|
||||
// only add a server snippet if the server does not have one previously configured
|
||||
|
||||
if servers[host].ServerSnippet == "" && srvsnippet != "" {
|
||||
servers[host].ServerSnippet = srvsnippet
|
||||
}
|
||||
}
|
||||
}
|
||||
return servers
|
||||
}
|
||||
|
||||
|
|
|
@ -238,6 +238,7 @@ type Server struct {
|
|||
CertificateAuth authtls.AuthSSLConfig `json:"certificateAuth"`
|
||||
|
||||
// ServerSnippet returns the snippet of server
|
||||
// +optional
|
||||
ServerSnippet string `json:"serverSnippet"`
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue