Add validation for YAML assets.
This commit is contained in:
@@ -28,6 +28,8 @@ import (
|
|||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
"k8s.io/kubernetes/pkg/api/testapi"
|
"k8s.io/kubernetes/pkg/api/testapi"
|
||||||
"k8s.io/kubernetes/pkg/api/validation"
|
"k8s.io/kubernetes/pkg/api/validation"
|
||||||
|
"k8s.io/kubernetes/pkg/apis/apps"
|
||||||
|
apps_validation "k8s.io/kubernetes/pkg/apis/apps/validation"
|
||||||
"k8s.io/kubernetes/pkg/apis/batch"
|
"k8s.io/kubernetes/pkg/apis/batch"
|
||||||
batch_validation "k8s.io/kubernetes/pkg/apis/batch/validation"
|
batch_validation "k8s.io/kubernetes/pkg/apis/batch/validation"
|
||||||
"k8s.io/kubernetes/pkg/apis/extensions"
|
"k8s.io/kubernetes/pkg/apis/extensions"
|
||||||
@@ -132,6 +134,16 @@ func validateObject(obj runtime.Object) (errors field.ErrorList) {
|
|||||||
t.Namespace = api.NamespaceDefault
|
t.Namespace = api.NamespaceDefault
|
||||||
}
|
}
|
||||||
errors = batch_validation.ValidateCronJob(t)
|
errors = batch_validation.ValidateCronJob(t)
|
||||||
|
case *api.ConfigMap:
|
||||||
|
if t.Namespace == "" {
|
||||||
|
t.Namespace = api.NamespaceDefault
|
||||||
|
}
|
||||||
|
errors = validation.ValidateConfigMap(t)
|
||||||
|
case *apps.StatefulSet:
|
||||||
|
if t.Namespace == "" {
|
||||||
|
t.Namespace = api.NamespaceDefault
|
||||||
|
}
|
||||||
|
errors = apps_validation.ValidateStatefulSet(t)
|
||||||
default:
|
default:
|
||||||
errors = field.ErrorList{}
|
errors = field.ErrorList{}
|
||||||
errors = append(errors, field.InternalError(field.NewPath(""), fmt.Errorf("no validation defined for %#v", obj)))
|
errors = append(errors, field.InternalError(field.NewPath(""), fmt.Errorf("no validation defined for %#v", obj)))
|
||||||
@@ -287,6 +299,11 @@ func TestExampleObjectSchemas(t *testing.T) {
|
|||||||
"secret": &api.Secret{},
|
"secret": &api.Secret{},
|
||||||
"secret-env-pod": &api.Pod{},
|
"secret-env-pod": &api.Pod{},
|
||||||
},
|
},
|
||||||
|
"../docs/tutorials/replicated-stateful-application": {
|
||||||
|
"mysql-services": &api.Service{},
|
||||||
|
"mysql-configmap": &api.ConfigMap{},
|
||||||
|
"mysql-statefulset": &apps.StatefulSet{},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
capabilities.SetForTests(capabilities.Capabilities{
|
capabilities.SetForTests(capabilities.Capabilities{
|
||||||
|
|||||||
Reference in New Issue
Block a user