Ejemplo n.º 1
0
func Setup(fsc *fs.FsClient, distributionPath string) error {
	vLogger("\n# call distribution.Setup()")

	if err := fsc.MkdirAll(distributionPath, fileMode); err != nil {
		return maskAny(err)
	}

	return nil
}
Ejemplo n.º 2
0
func Setup(fsc *fs.FsClient, sc *systemd.SystemdClient, distributionPath, overlayWorkdir, overlayMountPoint string) error {
	vLogger("\n# call overlay.Setup()")

	if err := fsc.MkdirAll(overlayWorkdir, fileMode); err != nil {
		return maskAny(err)
	}

	opts := struct {
		OverlayUpperdir string
		OverlayWorkdir  string
		MountPoint      string
	}{
		distributionPath,
		overlayWorkdir,
		overlayMountPoint,
	}

	b, err := templates.Render(overlayMountTemplate, opts)
	if err != nil {
		return maskAny(err)
	}

	if err := fsc.Write(overlayMountPath, b.Bytes(), fileMode); err != nil {
		return maskAny(err)
	}

	if err := sc.Reload(); err != nil {
		return maskAny(err)
	}

	if err := sc.Start(overlayMount); err != nil {
		return maskAny(err)
	}

	return nil
}