This commit is contained in:
g1franc 2025-02-17 09:50:33 -08:00 committed by GitHub
commit b83138112e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -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())
}
secCfg := p.r.GetSecurityConfiguration()
// We don't accept different namespaces for secrets.
if !secCfg.AllowCrossNamespaceResources && ns != ing.Namespace {
return &Config{}, ing_errors.NewLocationDenied("cross namespace secrets are not supported")
}
ns, _, err := k8s.ParseNameNS(proxysslsecret) proxyCert, err := p.r.GetAuthCertificate(proxysslsecret)
if err != nil { if err != nil {
return &Config{}, ing_errors.NewLocationDenied(err.Error()) e := fmt.Errorf("error obtaining certificate: %w", err)
return &Config{}, ing_errors.LocationDeniedError{Reason: e}
}
config.AuthSSLCert = *proxyCert
} }
secCfg := p.r.GetSecurityConfiguration()
// We don't accept different namespaces for secrets.
if !secCfg.AllowCrossNamespaceResources && ns != ing.Namespace {
return &Config{}, ing_errors.NewLocationDenied("cross namespace secrets are not supported")
}
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) {