Update main.go to make proxy-ssl-secret annotation optional regarding usage of other proxy-ssl-* annotations
This commit is contained in:
parent
5784be2784
commit
fcae7d283b
1 changed files with 18 additions and 18 deletions
|
@ -190,28 +190,28 @@ func (p proxySSL) Parse(ing *networking.Ingress) (interface{}, error) {
|
||||||
config := &Config{}
|
config := &Config{}
|
||||||
|
|
||||||
proxysslsecret, err := parser.GetStringAnnotation(proxySSLSecretAnnotation, ing, p.annotationConfig.Annotations)
|
proxysslsecret, err := parser.GetStringAnnotation(proxySSLSecretAnnotation, ing, p.annotationConfig.Annotations)
|
||||||
if err != nil {
|
if err != nil && err != ing_errors.ErrMissingAnnotations {
|
||||||
return &Config{}, err
|
return &Config{}, err
|
||||||
}
|
} else {
|
||||||
|
ns, _, err := k8s.ParseNameNS(proxysslsecret)
|
||||||
|
if err != nil {
|
||||||
|
return &Config{}, ing_errors.NewLocationDenied(err.Error())
|
||||||
|
}
|
||||||
|
|
||||||
ns, _, err := k8s.ParseNameNS(proxysslsecret)
|
secCfg := p.r.GetSecurityConfiguration()
|
||||||
if err != nil {
|
// We don't accept different namespaces for secrets.
|
||||||
return &Config{}, ing_errors.NewLocationDenied(err.Error())
|
if !secCfg.AllowCrossNamespaceResources && ns != ing.Namespace {
|
||||||
}
|
return &Config{}, ing_errors.NewLocationDenied("cross namespace secrets are not supported")
|
||||||
|
}
|
||||||
|
|
||||||
secCfg := p.r.GetSecurityConfiguration()
|
proxyCert, err := p.r.GetAuthCertificate(proxysslsecret)
|
||||||
// We don't accept different namespaces for secrets.
|
if err != nil {
|
||||||
if !secCfg.AllowCrossNamespaceResources && ns != ing.Namespace {
|
e := fmt.Errorf("error obtaining certificate: %w", err)
|
||||||
return &Config{}, ing_errors.NewLocationDenied("cross namespace secrets are not supported")
|
return &Config{}, ing_errors.LocationDeniedError{Reason: e}
|
||||||
|
}
|
||||||
|
config.AuthSSLCert = *proxyCert
|
||||||
}
|
}
|
||||||
|
|
||||||
proxyCert, err := p.r.GetAuthCertificate(proxysslsecret)
|
|
||||||
if err != nil {
|
|
||||||
e := fmt.Errorf("error obtaining certificate: %w", err)
|
|
||||||
return &Config{}, ing_errors.LocationDeniedError{Reason: e}
|
|
||||||
}
|
|
||||||
config.AuthSSLCert = *proxyCert
|
|
||||||
|
|
||||||
config.Ciphers, err = parser.GetStringAnnotation(proxySSLCiphersAnnotation, ing, p.annotationConfig.Annotations)
|
config.Ciphers, err = parser.GetStringAnnotation(proxySSLCiphersAnnotation, ing, p.annotationConfig.Annotations)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if ing_errors.IsValidationError(err) {
|
if ing_errors.IsValidationError(err) {
|
||||||
|
|
Loading…
Reference in a new issue