Skip to content

Commit 18170e2

Browse files
authored
Merge pull request #3731 from ActiveState/miked/PIF-installer-update
Apply configuration settings earlier in installer
2 parents f25d8e3 + 7869038 commit 18170e2

1 file changed

Lines changed: 13 additions & 12 deletions

File tree

cmd/state-installer/cmd.go

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)