Skip to content

Commit

Permalink
Merge pull request #121 from whitebear009/qps-and-burst
Browse files Browse the repository at this point in the history
add qps/burst flag for k8s client, and provide method to hide these flags
  • Loading branch information
k8s-ci-robot authored Dec 9, 2022
2 parents e61b02b + 256b891 commit cf250a8
Showing 1 changed file with 14 additions and 1 deletion.
15 changes: 14 additions & 1 deletion pkg/cmd/builder.go
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,10 @@ type AdapterBase struct {
// DiscoveryInterval specifies the interval at which to recheck discovery
// information for the discovery RESTMapper. It's set from a flag.
DiscoveryInterval time.Duration
// ClientQPS specifies the maximum QPS for the client-side throttle. It's set from a flag.
ClientQPS float32
// ClientBurst specifies the maximum QPS burst for client-side throttle. It's set from a flag.
ClientBurst int

// FlagSet is the flagset to add flags to.
// It defaults to the normal CommandLine flags
Expand Down Expand Up @@ -107,7 +111,9 @@ func (b *AdapterBase) InstallFlags() {
"kubeconfig file pointing at the 'core' kubernetes server with enough rights to list "+
"any described objects")
b.FlagSet.DurationVar(&b.DiscoveryInterval, "discovery-interval", b.DiscoveryInterval,
"interval at which to refresh API discovery information")
"Interval at which to refresh API discovery information")
b.FlagSet.Float32Var(&b.ClientQPS, "client-qps", rest.DefaultQPS, "Maximum QPS for client-side throttle")
b.FlagSet.IntVar(&b.ClientBurst, "client-burst", rest.DefaultBurst, "Maximum QPS burst for client-side throttle")
})
}

Expand Down Expand Up @@ -150,6 +156,13 @@ func (b *AdapterBase) ClientConfig() (*rest.Config, error) {
}
b.clientConfig = clientConfig
}

if b.ClientQPS > 0 {
b.clientConfig.QPS = b.ClientQPS
}
if b.ClientBurst > 0 {
b.clientConfig.Burst = b.ClientBurst
}
return b.clientConfig, nil
}

Expand Down

0 comments on commit cf250a8

Please sign in to comment.