Beispiel #1
0
func (c *RebuildCommand) Execute(args []string) error {
	var cfg *config.Config

	steps := Steps{
		{
			"Reading configuration",
			func() error {
				cfg, err := config.New(os.ExpandEnv("$USER"))
				if err != nil {
					return err
				}

				return cfg.Load()
			},
		},
		{
			"Rebuilding disk image",
			func() error {
				if cfg.DiskSize != c.Disk {
					cfg.DiskSize = c.Disk
					err := cfg.Save()
					if err != nil {
						return err
					}
				}

				d := disk.New(cfg)
				d.Detach()
				return d.Create()
			},
		},
	}
	return Spin(steps)
}