Beispiel #1
0
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
}