@@ -75,20 +75,25 @@ func (m InstallModel) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
75
75
}
76
76
m .Inputs [i ].Blur ()
77
77
}
78
+ return m , tea .Batch (cmds ... )
79
+ case types.InstallMsg :
80
+ m .installStep = 0
81
+ releaseName := m .Inputs [nameStep ].Value ()
82
+ namespace := m .Inputs [namespaceStep ].Value ()
83
+ if namespace == "" {
84
+ namespace = "default"
85
+ }
86
+ folder := fmt .Sprintf ("%s/%s" , namespace , releaseName )
87
+ cmds = append (cmds , m .cleanValueFile (folder ), m .blurAllInputs (), m .resetAllInputs ())
88
+
78
89
return m , tea .Batch (cmds ... )
79
90
case tea.KeyMsg :
80
91
switch msg .String () {
81
92
case "enter" :
82
93
if m .installStep == confirmStep {
83
94
m .installStep = 0
84
95
85
- cmd = m .installPackage ()
86
- cmds = append (cmds , cmd )
87
-
88
- cmd = m .blurAllInputs ()
89
- cmds = append (cmds , cmd )
90
-
91
- cmd = m .resetAllInputs ()
96
+ cmd = m .installPackage (m .Inputs [valuesStep ].Value ())
92
97
cmds = append (cmds , cmd )
93
98
94
99
return m , tea .Batch (cmds ... )
@@ -167,7 +172,7 @@ func (m InstallModel) resetAllInputs() tea.Cmd {
167
172
return nil
168
173
}
169
174
170
- func (m InstallModel ) installPackage () tea.Cmd {
175
+ func (m InstallModel ) installPackage (mode string ) tea.Cmd {
171
176
releaseName := m .Inputs [nameStep ].Value ()
172
177
namespace := m .Inputs [namespaceStep ].Value ()
173
178
if namespace == "" {
@@ -180,7 +185,7 @@ func (m InstallModel) installPackage() tea.Cmd {
180
185
181
186
var cmd * exec.Cmd
182
187
// Create the command
183
- if m . Inputs [ valuesStep ]. Value () == "y" {
188
+ if mode == "y" {
184
189
cmd = exec .Command ("helm" , "install" , releaseName , m .Chart , "--version" , m .Version , "--values" , file , "--namespace" , namespace , "--create-namespace" )
185
190
} else {
186
191
cmd = exec .Command ("helm" , "install" , releaseName , m .Chart , "--version" , m .Version , "--namespace" , namespace , "--create-namespace" )
@@ -234,13 +239,9 @@ func (m InstallModel) openEditorDefaultValues() tea.Cmd {
234
239
})
235
240
}
236
241
237
- func (m InstallModel ) cleanValueFile () tea.Msg {
238
- releaseName := m .Inputs [nameStep ].Value ()
239
- namespace := m .Inputs [namespaceStep ].Value ()
240
- if namespace == "" {
241
- namespace = "default"
242
+ func (m InstallModel ) cleanValueFile (folder string ) tea.Cmd {
243
+ return func () tea.Msg {
244
+ _ = os .RemoveAll (folder )
245
+ return nil
242
246
}
243
- folder := fmt .Sprintf ("%s/%s" , namespace , releaseName )
244
- _ = os .RemoveAll (folder )
245
- return nil
246
247
}
0 commit comments