Implement annotation validation (#9673)
* Add validation to all annotations * Add annotation validation for fcgi * Fix reviews and fcgi e2e * Add flag to disable cross namespace validation * Add risk, flag for validation, tests * Add missing formating * Enable validation by default on tests * Test validation flag * remove ajp from list * Finalize validation changes * Add validations to CI * Update helm docs * Fix code review * Use a better name for annotation risk
This commit is contained in:
parent
86c00a2310
commit
c5f348ea2e
109 changed files with 4320 additions and 586 deletions
|
|
@ -110,3 +110,47 @@ func New(m string) error {
|
|||
func Errorf(format string, args ...interface{}) error {
|
||||
return fmt.Errorf(format, args...)
|
||||
}
|
||||
|
||||
type ValidationError struct {
|
||||
Reason error
|
||||
}
|
||||
|
||||
type RiskyAnnotationError struct {
|
||||
Reason error
|
||||
}
|
||||
|
||||
func (e ValidationError) Error() string {
|
||||
return e.Reason.Error()
|
||||
}
|
||||
|
||||
// NewValidationError returns a new LocationDenied error
|
||||
func NewValidationError(annotation string) error {
|
||||
return ValidationError{
|
||||
Reason: fmt.Errorf("annotation %s contains invalid value", annotation),
|
||||
}
|
||||
}
|
||||
|
||||
// IsValidationError checks if the err is an error which
|
||||
// indicates that some annotation value is invalid
|
||||
func IsValidationError(e error) bool {
|
||||
_, ok := e.(ValidationError)
|
||||
return ok
|
||||
}
|
||||
|
||||
// NewValidationError returns a new LocationDenied error
|
||||
func NewRiskyAnnotations(name string) error {
|
||||
return RiskyAnnotationError{
|
||||
Reason: fmt.Errorf("annotation group %s contains risky annotation based on ingress configuration", name),
|
||||
}
|
||||
}
|
||||
|
||||
// IsRiskyAnnotationError checks if the err is an error which
|
||||
// indicates that some annotation value is invalid
|
||||
func IsRiskyAnnotationError(e error) bool {
|
||||
_, ok := e.(ValidationError)
|
||||
return ok
|
||||
}
|
||||
|
||||
func (e RiskyAnnotationError) Error() string {
|
||||
return e.Reason.Error()
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue