package cli

import (
	"os/exec"

	"coopcloud.tech/abra/cli/internal"
	"github.com/sirupsen/logrus"
	"github.com/urfave/cli/v2"
)

// UpgradeCommand upgrades abra in-place.
var UpgradeCommand = &cli.Command{
	Name:  "upgrade",
	Usage: "Upgrade abra",
	Action: func(c *cli.Context) error {
		cmd := exec.Command("bash", "-c", "curl -s https://install.abra.coopcloud.tech | bash")
		logrus.Debugf("attempting to run '%s'", cmd)
		if err := internal.RunCmd(cmd); err != nil {
			logrus.Fatal(err)
		}
		return nil
	},
}