func Setup(fsc *fs.FsClient, sc *systemd.SystemdClient, fc fetchclient.FetchClient, distributionPath, fleetVersion string, startDaemon bool, useOverlay bool) error { vLogger("\n# call fleet.Setup()") fleetdRaw, err := fc.Get("fleet/" + fleetVersion + "/fleetd") if err != nil { return maskAny(err) } if err := fsc.Write(distributionPath+"/fleet", fleetdRaw, fileMode); err != nil { return maskAny(err) } if err := fsc.Symlink(distributionPath+"/fleet", distributionPath+"/fleetd"); err != nil { return maskAny(err) } fleetctlRaw, err := fc.Get("fleet/" + fleetVersion + "/fleetctl") if err != nil { return maskAny(err) } if err := fsc.Write(distributionPath+"/fleetctl", fleetctlRaw, fileMode); err != nil { return maskAny(err) } err = createFleetService(fsc, useOverlay) if err != nil { return maskAny(err) } if err := sc.Reload(); err != nil { return maskAny(err) } if startDaemon { if err := sc.Start(fleetServiceName); err != nil { return maskAny(err) } } return nil }