fix: flagz endpoint to return parsed flags value

This commit is contained in:
yongruilin 2025-02-05 15:39:04 -08:00 committed by Richa Banker
parent dce86010a0
commit 8b3a93b843
4 changed files with 9 additions and 1 deletions

View File

@ -57,7 +57,7 @@ func (s *ServerRunOptions) Complete(ctx context.Context) (CompletedOptions, erro
if err != nil {
return CompletedOptions{}, err
}
controlplane, err := s.Options.Complete(ctx, s.Flags(), []string{"kubernetes.default.svc", "kubernetes.default", "kubernetes"}, []net.IP{apiServerServiceIP})
controlplane, err := s.Options.Complete(ctx, *s.ParsedFlags, []string{"kubernetes.default.svc", "kubernetes.default", "kubernetes"}, []net.IP{apiServerServiceIP})
if err != nil {
return CompletedOptions{}, err
}

View File

@ -41,6 +41,8 @@ type ServerRunOptions struct {
CloudProvider *kubeoptions.CloudProviderOptions
Extra
// ParsedFlags hold the parsed CLI flags.
ParsedFlags *cliflag.NamedFlagSets
}
type Extra struct {
@ -100,6 +102,9 @@ func NewServerRunOptions() *ServerRunOptions {
// Flags returns flags for a specific APIServer by section name
func (s *ServerRunOptions) Flags() (fss cliflag.NamedFlagSets) {
if s.ParsedFlags != nil {
return *s.ParsedFlags
}
s.Options.AddFlags(&fss)
s.CloudProvider.AddFlags(fss.FlagSet("cloud provider"))
@ -156,5 +161,6 @@ func (s *ServerRunOptions) Flags() (fss cliflag.NamedFlagSets) {
"The number of apiservers running in the cluster, must be a positive number. (In use when --endpoint-reconciler-type=master-count is enabled.)")
fs.MarkDeprecated("apiserver-count", "apiserver-count is deprecated and will be removed in a future version.")
s.ParsedFlags = &fss
return fss
}

View File

@ -334,6 +334,7 @@ func TestAddFlags(t *testing.T) {
CloudConfigFile: "/cloud-config",
CloudProvider: "azure",
},
ParsedFlags: s.ParsedFlags,
}
expected.Authentication.OIDC.UsernameClaim = "sub"

View File

@ -124,6 +124,7 @@ cluster's shared state through which all other components interact.`,
fs := cmd.Flags()
namedFlagSets := s.Flags()
s.ParsedFlags = &namedFlagSets
verflag.AddFlags(namedFlagSets.FlagSet("global"))
globalflag.AddGlobalFlags(namedFlagSets.FlagSet("global"), cmd.Name(), logs.SkipLoggingConfigurationFlags())
options.AddCustomGlobalFlags(namedFlagSets.FlagSet("generic"))