@@ -142,10 +142,22 @@ func main() {
142142 break
143143 }
144144
145+ // Parse command line arguments manually to extract config settings before analytics
146+ params := newParams ()
147+
148+ for i , arg := range processedArgs [1 :] {
149+ if arg == "--config-set" && i + 1 < len (processedArgs [1 :]) {
150+ params .configSettings = append (params .configSettings , processedArgs [1 :][i + 1 ])
151+ }
152+ }
153+
154+ if err := applyConfigSettings (cfg , params .configSettings ); err != nil {
155+ logging .Warning ("Could not apply config settings before analytics: %s" , errs .JoinMessage (err ))
156+ }
157+
145158 an = sync .New (anaConst .SrcStateInstaller , cfg , nil , out )
146159 an .Event (anaConst .CatInstallerFunnel , "start" )
147160
148- params := newParams ()
149161 cmd := captain .NewCommand (
150162 "state-installer" ,
151163 "" ,
@@ -336,11 +348,6 @@ func execute(out output.Outputer, cfg *config.Instance, an analytics.Dispatcher,
336348 an .Event (anaConst .CatInstallerFunnel , "already-installed" )
337349 params .isUpdate = true
338350
339- // Apply config settings even when already installed
340- if err := applyConfigSettings (cfg , params .configSettings ); err != nil {
341- return errs .Wrap (err , "Failed to apply config settings" )
342- }
343-
344351 return postInstallEvents (out , cfg , an , params )
345352 }
346353
@@ -349,12 +356,6 @@ func execute(out output.Outputer, cfg *config.Instance, an analytics.Dispatcher,
349356 }
350357 storeInstallSource (params .sourceInstaller )
351358
352- // Apply config settings after installation but before post-install events
353- // This ensures the State Tool's config is properly set up
354- if err := applyConfigSettings (cfg , params .configSettings ); err != nil {
355- return errs .Wrap (err , "Failed to apply config settings" )
356- }
357-
358359 return postInstallEvents (out , cfg , an , params )
359360}
360361
0 commit comments