diff --git a/staging/src/k8s.io/sample-apiserver/pkg/cmd/server/BUILD b/staging/src/k8s.io/sample-apiserver/pkg/cmd/server/BUILD index a1d8f0feb7d..7bc06013cc9 100644 --- a/staging/src/k8s.io/sample-apiserver/pkg/cmd/server/BUILD +++ b/staging/src/k8s.io/sample-apiserver/pkg/cmd/server/BUILD @@ -13,6 +13,7 @@ go_library( tags = ["automanaged"], deps = [ "//vendor/github.com/spf13/cobra:go_default_library", + "//vendor/github.com/spf13/pflag: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/sample-apiserver/pkg/apis/wardle/v1alpha1:go_default_library", diff --git a/staging/src/k8s.io/sample-apiserver/pkg/cmd/server/start.go b/staging/src/k8s.io/sample-apiserver/pkg/cmd/server/start.go index af41500d49c..5b3f52f04bd 100644 --- a/staging/src/k8s.io/sample-apiserver/pkg/cmd/server/start.go +++ b/staging/src/k8s.io/sample-apiserver/pkg/cmd/server/start.go @@ -22,6 +22,7 @@ import ( "net" "github.com/spf13/cobra" + "github.com/spf13/pflag" genericapiserver "k8s.io/apiserver/pkg/server" genericoptions "k8s.io/apiserver/pkg/server/options" @@ -33,6 +34,7 @@ const defaultEtcdPathPrefix = "/registry/wardle.kubernetes.io" type WardleServerOptions struct { RecommendedOptions *genericoptions.RecommendedOptions + Admission *genericoptions.AdmissionOptions StdOut io.Writer StdErr io.Writer @@ -41,6 +43,7 @@ type WardleServerOptions struct { func NewWardleServerOptions(out, errOut io.Writer) *WardleServerOptions { o := &WardleServerOptions{ RecommendedOptions: genericoptions.NewRecommendedOptions(defaultEtcdPathPrefix, apiserver.Scheme, apiserver.Codecs.LegacyCodec(v1alpha1.SchemeGroupVersion)), + Admission: genericoptions.NewAdmissionOptions(), StdOut: out, StdErr: errOut, @@ -49,6 +52,11 @@ func NewWardleServerOptions(out, errOut io.Writer) *WardleServerOptions { return o } +func (o *WardleServerOptions) addFlags(flags *pflag.FlagSet) { + o.RecommendedOptions.AddFlags(flags) + o.Admission.AddFlags(flags) +} + // NewCommandStartMaster provides a CLI handler for 'start master' command func NewCommandStartWardleServer(out, errOut io.Writer, stopCh <-chan struct{}) *cobra.Command { o := NewWardleServerOptions(out, errOut) @@ -71,7 +79,7 @@ func NewCommandStartWardleServer(out, errOut io.Writer, stopCh <-chan struct{}) } flags := cmd.Flags() - o.RecommendedOptions.AddFlags(flags) + o.addFlags(flags) return cmd } @@ -95,6 +103,10 @@ func (o WardleServerOptions) Config() (*apiserver.Config, error) { return nil, err } + if err := o.Admission.ApplyTo(serverConfig); err != nil { + return nil, err + } + config := &apiserver.Config{ GenericConfig: serverConfig, }