@@ -42,14 +42,15 @@ type Config struct {
42
42
KubeConfig * rest.Config
43
43
}
44
44
type Client struct {
45
- installActionConfig * action.Configuration
46
- unInstallActionConfig * action.Configuration
47
- listActionConfig * action.Configuration
48
- getActionConfig * action.Configuration
49
- Namespace string
50
- settings * cli.EnvSettings
51
- Architectures string
52
- ClusterName string
45
+ //installActionConfig *action.Configuration
46
+ //unInstallActionConfig *action.Configuration
47
+ //listActionConfig *action.Configuration
48
+ //getActionConfig *action.Configuration
49
+ actionConfig * action.Configuration
50
+ Namespace string
51
+ settings * cli.EnvSettings
52
+ Architectures string
53
+ ClusterName string
53
54
}
54
55
55
56
func GetSettings (cluster string ) * cli.EnvSettings {
@@ -74,11 +75,9 @@ func checkFiles(cluster string) {
74
75
}
75
76
if _ , err := os .Stat (repositoryPath ); os .IsNotExist (err ) {
76
77
os .Create (repositoryPath )
77
- os .Create (repositoryPath )
78
78
}
79
79
if _ , err := os .Stat (registryPath ); os .IsNotExist (err ) {
80
80
os .Create (registryPath )
81
- os .Create (registryPath )
82
81
}
83
82
return
84
83
}
@@ -89,44 +88,29 @@ func NewClient(config *Config) (*Client, error) {
89
88
}
90
89
client .settings = GetSettings (config .ClusterName )
91
90
cf := genericclioptions .NewConfigFlags (true )
92
- inscure := true
93
91
apiServer := config .Host
94
92
cf .APIServer = & apiServer
95
- cf .BearerToken = & config .BearerToken
96
- cf .Insecure = & inscure
97
- if config .Namespace == "" {
98
- client .Namespace = "default"
99
- } else {
93
+ kubeConfig := config .KubeConfig
94
+ cf .WrapConfigFn = func (config * rest.Config ) * rest.Config {
95
+ return kubeConfig
96
+ }
97
+ cf .CacheDir = nil
98
+ if config .Namespace != "" {
100
99
client .Namespace = config .Namespace
100
+ cf .Namespace = & client .Namespace
101
101
}
102
- cf .Namespace = & client .Namespace
103
102
client .ClusterName = config .ClusterName
104
- installActionConfig := new (action.Configuration )
105
- if err := installActionConfig .Init (cf , client .Namespace , helmDriver , nolog ); err != nil {
103
+ actionConfig := new (action.Configuration )
104
+ if err := actionConfig .Init (cf , config .Namespace , helmDriver , nolog ); err != nil {
106
105
return nil , err
107
106
}
108
- client .installActionConfig = installActionConfig
109
- unInstallActionConfig := new (action.Configuration )
110
- if err := unInstallActionConfig .Init (cf , config .OldNamespace , helmDriver , nolog ); err != nil {
111
- return nil , err
112
- }
113
- client .unInstallActionConfig = installActionConfig
114
- listActionConfig := new (action.Configuration )
115
- if err := listActionConfig .Init (cf , config .Namespace , helmDriver , nolog ); err != nil {
116
- return nil , err
117
- }
118
- client .listActionConfig = listActionConfig
107
+ client .actionConfig = actionConfig
119
108
120
- getActionConfig := new (action.Configuration )
121
- if err := getActionConfig .Init (cf , config .Namespace , helmDriver , nolog ); err != nil {
122
- return nil , err
123
- }
124
- client .getActionConfig = getActionConfig
125
109
return & client , nil
126
110
}
127
111
128
112
func (c Client ) List (limit , offset int , pattern string ) ([]* release.Release , int , error ) {
129
- client := action .NewList (c .listActionConfig )
113
+ client := action .NewList (c .actionConfig )
130
114
if c .Namespace == "" {
131
115
client .AllNamespaces = true
132
116
client .All = true
@@ -150,7 +134,7 @@ func (c Client) List(limit, offset int, pattern string) ([]*release.Release, int
150
134
}
151
135
152
136
func (c Client ) GetDetail (name string ) (* release.Release , error ) {
153
- client := action .NewGet (c .getActionConfig )
137
+ client := action .NewGet (c .actionConfig )
154
138
result , err := client .Run (name )
155
139
if err != nil {
156
140
return nil , err
@@ -172,7 +156,7 @@ func (c Client) Install(name, repoName, chartName, chartVersion string, values m
172
156
if rp == nil {
173
157
return nil , errors .New ("get chart detail failed, repo not found" )
174
158
}
175
- client := action .NewInstall (c .installActionConfig )
159
+ client := action .NewInstall (c .actionConfig )
176
160
client .ReleaseName = name
177
161
client .Namespace = c .Namespace
178
162
client .RepoURL = rp .URL
@@ -212,7 +196,7 @@ func (c Client) Upgrade(name, repoName, chartName, chartVersion string, values m
212
196
return nil , errors .New ("get chart detail failed, repo not found" )
213
197
}
214
198
215
- client := action .NewUpgrade (c .installActionConfig )
199
+ client := action .NewUpgrade (c .actionConfig )
216
200
client .Namespace = c .Namespace
217
201
client .RepoURL = rp .URL
218
202
client .Username = rp .Username
@@ -238,7 +222,7 @@ func (c Client) Upgrade(name, repoName, chartName, chartVersion string, values m
238
222
}
239
223
240
224
func (c Client ) Uninstall (name string ) (* release.UninstallReleaseResponse , error ) {
241
- client := action .NewUninstall (c .unInstallActionConfig )
225
+ client := action .NewUninstall (c .actionConfig )
242
226
res , err := client .Run (name )
243
227
if err != nil {
244
228
return nil , errors .Wrap (err , fmt .Sprintf ("uninstall tool %s failed: %v" , name , err ))
0 commit comments