use k8s.io/utils/env GetString get env

Signed-off-by: helen <haitao.zhang@daocloud.io>
This commit is contained in:
helen 2023-01-11 01:13:56 +08:00
parent 07bb65bfe7
commit d9aca2f458
4 changed files with 96 additions and 12 deletions

View File

@ -10,6 +10,7 @@ import (
"k8s.io/client-go/tools/clientcmd" "k8s.io/client-go/tools/clientcmd"
"k8s.io/client-go/util/homedir" "k8s.io/client-go/util/homedir"
aggregator "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset" aggregator "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset"
"k8s.io/utils/env"
) )
var ( var (
@ -30,12 +31,7 @@ var (
// 3. In your home directory as ~/.kube/config // 3. In your home directory as ~/.kube/config
func KubeConfigPath(kubeconfigPath string) string { func KubeConfigPath(kubeconfigPath string) string {
if kubeconfigPath == "" { if kubeconfigPath == "" {
env := os.Getenv("KUBECONFIG") kubeconfigPath = env.GetString("KUBECONFIG", defaultKubeConfig)
if env != "" {
kubeconfigPath = env
} else {
kubeconfigPath = defaultKubeConfig
}
} }
return kubeconfigPath return kubeconfigPath
@ -44,12 +40,7 @@ func KubeConfigPath(kubeconfigPath string) string {
// RestConfig is to create a rest config from the context and kubeconfig passed as arguments. // RestConfig is to create a rest config from the context and kubeconfig passed as arguments.
func RestConfig(context, kubeconfigPath string) (*rest.Config, error) { func RestConfig(context, kubeconfigPath string) (*rest.Config, error) {
if kubeconfigPath == "" { if kubeconfigPath == "" {
env := os.Getenv("KUBECONFIG") kubeconfigPath = env.GetString("KUBECONFIG", defaultKubeConfig)
if env != "" {
kubeconfigPath = env
} else {
kubeconfigPath = defaultKubeConfig
}
} }
if !Exists(kubeconfigPath) { if !Exists(kubeconfigPath) {
return nil, ErrEmptyConfig return nil, ErrEmptyConfig

18
vendor/k8s.io/utils/env/doc.go generated vendored Normal file
View File

@ -0,0 +1,18 @@
/*
Copyright 2020 The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Package env provides utility functions for using environment variables.
package env // import "k8s.io/utils/env"

74
vendor/k8s.io/utils/env/env.go generated vendored Normal file
View File

@ -0,0 +1,74 @@
/*
Copyright 2015 The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package env
import (
"os"
"strconv"
)
// GetString returns the env variable for the given key
// and falls back to the given defaultValue if not set
func GetString(key, defaultValue string) string {
v, ok := os.LookupEnv(key)
if ok {
return v
}
return defaultValue
}
// GetInt returns the env variable (parsed as integer) for
// the given key and falls back to the given defaultValue if not set
func GetInt(key string, defaultValue int) (int, error) {
v, ok := os.LookupEnv(key)
if ok {
value, err := strconv.Atoi(v)
if err != nil {
return defaultValue, err
}
return value, nil
}
return defaultValue, nil
}
// GetFloat64 returns the env variable (parsed as float64) for
// the given key and falls back to the given defaultValue if not set
func GetFloat64(key string, defaultValue float64) (float64, error) {
v, ok := os.LookupEnv(key)
if ok {
value, err := strconv.ParseFloat(v, 64)
if err != nil {
return defaultValue, err
}
return value, nil
}
return defaultValue, nil
}
// GetBool returns the env variable (parsed as bool) for
// the given key and falls back to the given defaultValue if not set
func GetBool(key string, defaultValue bool) (bool, error) {
v, ok := os.LookupEnv(key)
if ok {
value, err := strconv.ParseBool(v)
if err != nil {
return defaultValue, err
}
return value, nil
}
return defaultValue, nil
}

1
vendor/modules.txt vendored
View File

@ -1506,6 +1506,7 @@ k8s.io/kubectl/pkg/validation
k8s.io/utils/buffer k8s.io/utils/buffer
k8s.io/utils/clock k8s.io/utils/clock
k8s.io/utils/clock/testing k8s.io/utils/clock/testing
k8s.io/utils/env
k8s.io/utils/exec k8s.io/utils/exec
k8s.io/utils/integer k8s.io/utils/integer
k8s.io/utils/internal/third_party/forked/golang/golang-lru k8s.io/utils/internal/third_party/forked/golang/golang-lru