...
1
16
17
18
19 package validation
20
21 import (
22 "time"
23
24 "k8s.io/apimachinery/pkg/util/validation/field"
25 "k8s.io/kubernetes/pkg/apis/authentication"
26 )
27
28
29 func ValidateTokenRequest(tr *authentication.TokenRequest) field.ErrorList {
30 allErrs := field.ErrorList{}
31 specPath := field.NewPath("spec")
32
33 const min = 10 * time.Minute
34 if tr.Spec.ExpirationSeconds < int64(min.Seconds()) {
35 allErrs = append(allErrs, field.Invalid(specPath.Child("expirationSeconds"), tr.Spec.ExpirationSeconds, "may not specify a duration less than 10 minutes"))
36 }
37 if tr.Spec.ExpirationSeconds > 1<<32 {
38 allErrs = append(allErrs, field.Invalid(specPath.Child("expirationSeconds"), tr.Spec.ExpirationSeconds, "may not specify a duration larger than 2^32 seconds"))
39 }
40 return allErrs
41 }
42
View as plain text