in fast-build-update-tool/internal/runner/fleet_updater.go [53:94]
func (f *FleetUpdater) UpdateInstances(ctx context.Context) (*FleetUpdateResults, error) {
f.logger.Info("starting fleet update process")
f.reportWriter.Preparing()
fleet, err := f.lookupFleet(ctx)
if err != nil {
return nil, err
}
err = f.validateZipFile(ctx, fleet)
if err != nil {
return nil, err
}
sshPort, err := f.ensureSSHPortIsSet(ctx, fleet.OperatingSystem)
if err != nil {
return nil, err
}
err = f.ensureSSHPortIsOpenForFleet(ctx, sshPort)
if err != nil {
return nil, err
}
updateScript, err := f.generateUpdateScript(ctx, fleet)
if err != nil {
return nil, err
}
sshKey, err := f.loadSSHKey(ctx)
if err != nil {
return nil, err
}
instances, err := f.getInstances(ctx)
if err != nil {
return nil, err
}
return f.updateInstances(ctx, instances, sshKey, sshPort, fleet.OperatingSystem, updateScript)
}