Commit de406f83 authored by m1093782566's avatar m1093782566

validate kube-apiserver options

parent ae4fac41
...@@ -105,6 +105,10 @@ func SetWatchCacheSizes(cacheSizes []string) { ...@@ -105,6 +105,10 @@ func SetWatchCacheSizes(cacheSizes []string) {
glog.Errorf("invalid size of watch cache capabilities: %s", c) glog.Errorf("invalid size of watch cache capabilities: %s", c)
continue continue
} }
if size < 0 {
glog.Errorf("watch cache size cannot be negative: %s", c)
continue
}
watchCacheSizes[Resource(strings.ToLower(tokens[0]))] = size watchCacheSizes[Resource(strings.ToLower(tokens[0]))] = size
} }
......
...@@ -16,6 +16,7 @@ go_library( ...@@ -16,6 +16,7 @@ go_library(
"//vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1:go_default_library", "//vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1:go_default_library",
"//vendor/k8s.io/apiextensions-apiserver/pkg/apiserver:go_default_library", "//vendor/k8s.io/apiextensions-apiserver/pkg/apiserver:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1/unstructured:go_default_library", "//vendor/k8s.io/apimachinery/pkg/apis/meta/v1/unstructured:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/util/errors:go_default_library",
"//vendor/k8s.io/apiserver/pkg/registry/generic:go_default_library", "//vendor/k8s.io/apiserver/pkg/registry/generic:go_default_library",
"//vendor/k8s.io/apiserver/pkg/server:go_default_library", "//vendor/k8s.io/apiserver/pkg/server:go_default_library",
"//vendor/k8s.io/apiserver/pkg/server/options:go_default_library", "//vendor/k8s.io/apiserver/pkg/server/options:go_default_library",
......
...@@ -26,6 +26,7 @@ import ( ...@@ -26,6 +26,7 @@ import (
"k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1" "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1"
"k8s.io/apiextensions-apiserver/pkg/apiserver" "k8s.io/apiextensions-apiserver/pkg/apiserver"
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
utilerrors "k8s.io/apimachinery/pkg/util/errors"
genericregistry "k8s.io/apiserver/pkg/registry/generic" genericregistry "k8s.io/apiserver/pkg/registry/generic"
genericapiserver "k8s.io/apiserver/pkg/server" genericapiserver "k8s.io/apiserver/pkg/server"
genericoptions "k8s.io/apiserver/pkg/server/options" genericoptions "k8s.io/apiserver/pkg/server/options"
...@@ -78,7 +79,9 @@ func NewCommandStartCustomResourceDefinitionsServer(out, errOut io.Writer, stopC ...@@ -78,7 +79,9 @@ func NewCommandStartCustomResourceDefinitionsServer(out, errOut io.Writer, stopC
} }
func (o CustomResourceDefinitionsServerOptions) Validate(args []string) error { func (o CustomResourceDefinitionsServerOptions) Validate(args []string) error {
return nil errors := []error{}
errors = append(errors, o.RecommendedOptions.Validate()...)
return utilerrors.NewAggregate(errors)
} }
func (o *CustomResourceDefinitionsServerOptions) Complete() error { func (o *CustomResourceDefinitionsServerOptions) Complete() error {
......
...@@ -89,3 +89,8 @@ func (a *AdmissionOptions) ApplyTo(serverCfg *server.Config, pluginInitializers ...@@ -89,3 +89,8 @@ func (a *AdmissionOptions) ApplyTo(serverCfg *server.Config, pluginInitializers
serverCfg.AdmissionControl = admissionChain serverCfg.AdmissionControl = admissionChain
return nil return nil
} }
func (a *AdmissionOptions) Validate() []error {
errs := []error{}
return errs
}
...@@ -55,3 +55,8 @@ func (o *FeatureOptions) ApplyTo(c *server.Config) error { ...@@ -55,3 +55,8 @@ func (o *FeatureOptions) ApplyTo(c *server.Config) error {
return nil return nil
} }
func (o *FeatureOptions) Validate() []error {
errs := []error{}
return errs
}
...@@ -77,3 +77,15 @@ func (o *RecommendedOptions) ApplyTo(config *server.Config) error { ...@@ -77,3 +77,15 @@ func (o *RecommendedOptions) ApplyTo(config *server.Config) error {
return nil return nil
} }
func (o *RecommendedOptions) Validate() []error {
errors := []error{}
errors = append(errors, o.Etcd.Validate()...)
errors = append(errors, o.SecureServing.Validate()...)
errors = append(errors, o.Authentication.Validate()...)
errors = append(errors, o.Authorization.Validate()...)
errors = append(errors, o.Audit.Validate()...)
errors = append(errors, o.Features.Validate()...)
return errors
}
...@@ -14,6 +14,7 @@ go_library( ...@@ -14,6 +14,7 @@ go_library(
deps = [ deps = [
"//vendor/github.com/spf13/cobra:go_default_library", "//vendor/github.com/spf13/cobra:go_default_library",
"//vendor/github.com/spf13/pflag:go_default_library", "//vendor/github.com/spf13/pflag:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/util/errors:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/util/sets:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/sets:go_default_library",
"//vendor/k8s.io/apiserver/pkg/server:go_default_library", "//vendor/k8s.io/apiserver/pkg/server:go_default_library",
"//vendor/k8s.io/apiserver/pkg/server/filters:go_default_library", "//vendor/k8s.io/apiserver/pkg/server/filters:go_default_library",
......
...@@ -25,6 +25,7 @@ import ( ...@@ -25,6 +25,7 @@ import (
"github.com/spf13/cobra" "github.com/spf13/cobra"
"github.com/spf13/pflag" "github.com/spf13/pflag"
utilerrors "k8s.io/apimachinery/pkg/util/errors"
"k8s.io/apimachinery/pkg/util/sets" "k8s.io/apimachinery/pkg/util/sets"
genericapiserver "k8s.io/apiserver/pkg/server" genericapiserver "k8s.io/apiserver/pkg/server"
"k8s.io/apiserver/pkg/server/filters" "k8s.io/apiserver/pkg/server/filters"
...@@ -47,7 +48,7 @@ type AggregatorOptions struct { ...@@ -47,7 +48,7 @@ type AggregatorOptions struct {
ProxyClientCertFile string ProxyClientCertFile string
ProxyClientKeyFile string ProxyClientKeyFile string
// CoreAPIKubeconfig is a filename for a kubeconfig file to contact the core API server wtih // CoreAPIKubeconfig is a filename for a kubeconfig file to contact the core API server with
// If it is not set, the in cluster config is used // If it is not set, the in cluster config is used
CoreAPIKubeconfig string CoreAPIKubeconfig string
...@@ -102,7 +103,9 @@ func NewDefaultOptions(out, err io.Writer) *AggregatorOptions { ...@@ -102,7 +103,9 @@ func NewDefaultOptions(out, err io.Writer) *AggregatorOptions {
} }
func (o AggregatorOptions) Validate(args []string) error { func (o AggregatorOptions) Validate(args []string) error {
return nil errors := []error{}
errors = append(errors, o.RecommendedOptions.Validate()...)
return utilerrors.NewAggregate(errors)
} }
func (o *AggregatorOptions) Complete() error { func (o *AggregatorOptions) Complete() error {
......
...@@ -13,6 +13,7 @@ go_library( ...@@ -13,6 +13,7 @@ go_library(
tags = ["automanaged"], tags = ["automanaged"],
deps = [ deps = [
"//vendor/github.com/spf13/cobra:go_default_library", "//vendor/github.com/spf13/cobra:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/util/errors:go_default_library",
"//vendor/k8s.io/apiserver/pkg/server:go_default_library", "//vendor/k8s.io/apiserver/pkg/server:go_default_library",
"//vendor/k8s.io/apiserver/pkg/server/options:go_default_library", "//vendor/k8s.io/apiserver/pkg/server/options:go_default_library",
"//vendor/k8s.io/sample-apiserver/pkg/apis/wardle/v1alpha1:go_default_library", "//vendor/k8s.io/sample-apiserver/pkg/apis/wardle/v1alpha1:go_default_library",
......
...@@ -23,6 +23,7 @@ import ( ...@@ -23,6 +23,7 @@ import (
"github.com/spf13/cobra" "github.com/spf13/cobra"
utilerrors "k8s.io/apimachinery/pkg/util/errors"
genericapiserver "k8s.io/apiserver/pkg/server" genericapiserver "k8s.io/apiserver/pkg/server"
genericoptions "k8s.io/apiserver/pkg/server/options" genericoptions "k8s.io/apiserver/pkg/server/options"
"k8s.io/sample-apiserver/pkg/apis/wardle/v1alpha1" "k8s.io/sample-apiserver/pkg/apis/wardle/v1alpha1"
...@@ -80,7 +81,10 @@ func NewCommandStartWardleServer(out, errOut io.Writer, stopCh <-chan struct{}) ...@@ -80,7 +81,10 @@ func NewCommandStartWardleServer(out, errOut io.Writer, stopCh <-chan struct{})
} }
func (o WardleServerOptions) Validate(args []string) error { func (o WardleServerOptions) Validate(args []string) error {
return nil errors := []error{}
errors = append(errors, o.RecommendedOptions.Validate()...)
errors = append(errors, o.Admission.Validate()...)
return utilerrors.NewAggregate(errors)
} }
func (o *WardleServerOptions) Complete() error { func (o *WardleServerOptions) Complete() error {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment