Config consumers should be able to recognize an empty config

For UX, it would be better if we presented an error for validation that
is "this config is empty" rather than the inaccurate "no server name" or
"no context name" errors. Returns a typed error.
This commit is contained in:
Clayton Coleman
2015-11-05 14:59:22 -05:00
parent 2041297ade
commit 2dc2db5d02
6 changed files with 67 additions and 7 deletions

View File

@@ -31,6 +31,14 @@ func init() {
redactedBytes = []byte(string(sDec))
}
// IsConfigEmpty returns true if the config is empty.
func IsConfigEmpty(config *Config) bool {
return len(config.AuthInfos) == 0 && len(config.Clusters) == 0 && len(config.Contexts) == 0 &&
len(config.CurrentContext) == 0 &&
len(config.Preferences.Extensions) == 0 && !config.Preferences.Colors &&
len(config.Extensions) == 0
}
// MinifyConfig read the current context and uses that to keep only the relevant pieces of config
// This is useful for making secrets based on kubeconfig files
func MinifyConfig(config *Config) error {