From 37f8c8bb4073524ab0042b9e85c0ba7b72c221c3 Mon Sep 17 00:00:00 2001 From: Joao Morais Date: Wed, 24 May 2017 21:03:52 -0300 Subject: [PATCH] Add ConfigureFlags() on controller interface --- controllers/nginx/pkg/cmd/controller/nginx.go | 5 +++++ core/pkg/ingress/controller/launch.go | 2 +- core/pkg/ingress/types.go | 3 +++ examples/custom-controller/server.go | 3 +++ 4 files changed, 12 insertions(+), 1 deletion(-) diff --git a/controllers/nginx/pkg/cmd/controller/nginx.go b/controllers/nginx/pkg/cmd/controller/nginx.go index 7e3ecfbbc..fc1d7bb4e 100644 --- a/controllers/nginx/pkg/cmd/controller/nginx.go +++ b/controllers/nginx/pkg/cmd/controller/nginx.go @@ -314,6 +314,11 @@ func (n NGINXController) Info() *ingress.BackendInfo { } } +// ConfigureFlags allow to configure more flags before the parsing of +// command line arguments +func (n *NGINXController) ConfigureFlags(flags *pflag.FlagSet) { +} + // OverrideFlags customize NGINX controller flags func (n *NGINXController) OverrideFlags(flags *pflag.FlagSet) { ic, _ := flags.GetString("ingress-class") diff --git a/core/pkg/ingress/controller/launch.go b/core/pkg/ingress/controller/launch.go index 43ca58a0a..9bb162488 100644 --- a/core/pkg/ingress/controller/launch.go +++ b/core/pkg/ingress/controller/launch.go @@ -92,8 +92,8 @@ func NewIngressController(backend ingress.Controller) *GenericController { ) flags.AddGoFlagSet(flag.CommandLine) + backend.ConfigureFlags(flags) flags.Parse(os.Args) - backend.OverrideFlags(flags) flag.Set("logtostderr", "true") diff --git a/core/pkg/ingress/types.go b/core/pkg/ingress/types.go index 4d5a3869f..3dcda05b4 100644 --- a/core/pkg/ingress/types.go +++ b/core/pkg/ingress/types.go @@ -94,6 +94,9 @@ type Controller interface { BackendDefaults() defaults.Backend // Info returns information about the ingress controller Info() *BackendInfo + // ConfigureFlags allow to configure more flags before the parsing of + // command line arguments + ConfigureFlags(*pflag.FlagSet) // OverrideFlags allow the customization of the flags in the backend OverrideFlags(*pflag.FlagSet) // DefaultIngressClass just return the default ingress class diff --git a/examples/custom-controller/server.go b/examples/custom-controller/server.go index 0c4649ec8..2614ffa41 100644 --- a/examples/custom-controller/server.go +++ b/examples/custom-controller/server.go @@ -83,6 +83,9 @@ func (dc DummyController) Info() *ingress.BackendInfo { } } +func (n DummyController) ConfigureFlags(*pflag.FlagSet) { +} + func (n DummyController) OverrideFlags(*pflag.FlagSet) { }