...
1
16
17 package util
18
19 import (
20 "os"
21 "strings"
22
23 v1 "k8s.io/api/core/v1"
24
25 kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm"
26 )
27
28
29 func GetProxyEnvVars() []kubeadmapi.EnvVar {
30 envs := []kubeadmapi.EnvVar{}
31 for _, env := range os.Environ() {
32 pos := strings.Index(env, "=")
33 if pos == -1 {
34
35 continue
36 }
37 name := env[:pos]
38 value := env[pos+1:]
39 if strings.HasSuffix(strings.ToLower(name), "_proxy") && value != "" {
40 envVar := kubeadmapi.EnvVar{
41 EnvVar: v1.EnvVar{Name: name, Value: value},
42 }
43 envs = append(envs, envVar)
44 }
45 }
46 return envs
47 }
48
49
50
51 func MergeKubeadmEnvVars(envList ...[]kubeadmapi.EnvVar) []v1.EnvVar {
52 m := make(map[string]v1.EnvVar)
53 merged := []v1.EnvVar{}
54 for _, envs := range envList {
55 for _, env := range envs {
56 m[env.Name] = env.EnvVar
57 }
58 }
59 for _, v := range m {
60 merged = append(merged, v)
61 }
62 return merged
63 }
64
View as plain text