runner

package
v1.1.4-nightly Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 11, 2024 License: AGPL-3.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var AttachCommand = &cobra.Command{
	Use:   "attach",
	Short: "attach team and environment to the kl-config file",
	Long:  `use this command to attach team and environment to the kl-config file`,
	Run: func(cmd *cobra.Command, args []string) {

		fc, err := fileclient.New()
		if err != nil {
			fn.PrintError(err)
			return
		}
		apic, err := apiclient.New()
		if err != nil {
			fn.PrintError(err)
			return
		}

		filepath := ""
		if envclient.InsideBox() {
			filepath = "/home/kl/workspace/kl.yml"
		}
		klFile, err := fc.GetKlFile(filepath)
		if err != nil && errors.Is(err, confighandler.ErrKlFileNotExists) {
			klFile = &fileclient.KLFileType{
				Version: "v1",
			}
		}
		if err != nil && !errors.Is(err, confighandler.ErrKlFileNotExists) {
			fn.PrintError(err)
			return
		}

		selectedTeam, err := selectTeam(apic)
		if err != nil {
			fn.PrintError(err)
			return
		} else {
			if selectedEnv, err := selectEnv(apic, fc, *selectedTeam); err != nil {
				fn.PrintError(err)
			} else {

				klFile.TeamName = *selectedTeam
				klFile.DefaultEnv = *selectedEnv
				if err := fc.WriteKLFile(*klFile); err != nil {
					fn.PrintError(err)
				} else {
					fn.Printf(text.Green("team name and environment updated.\n"))
				}
			}
		}

		dir, err := os.Getwd()
		if err != nil {
			fn.PrintError(err)
			return
		}

		if err := hashctrl.SyncBoxHash(apic, fc, dir); err != nil {
			fn.PrintError(err)
			return
		}

		c, err := boxpkg.NewClient(cmd, args)
		if err != nil {
			fn.PrintError(err)
			return
		}

		if err := c.ConfirmBoxRestart(); err != nil {
			fn.PrintError(err)
			return
		}

	},
}
View Source
var InitCommand = &cobra.Command{
	Use:   "init",
	Short: "initialize a kl-config file",
	Long:  `use this command to initialize a kl-config file`,
	Run: func(cmd *cobra.Command, args []string) {

		fc, err := fileclient.New()
		if err != nil {
			fn.PrintError(err)
			return
		}

		if envclient.InsideBox() {
			fn.PrintError(fn.Error("cannot re-initialize workspace in dev box"))
			return
		}

		if _, err = fc.GetKlFile(""); err == nil {
			fn.Printf(text.Yellow("workspace is already initilized. Do you want to override? [y/N]: "))
			if !fn.Confirm("Y", "N") {
				return
			}
		} else if !errors.Is(err, confighandler.ErrKlFileNotExists) {
			fn.PrintError(err)
			return
		}

		newKlFile := fileclient.KLFileType{

			Version:  "v1",
			Packages: []string{"neovim", "git"},
		}
		if err := fc.WriteKLFile(newKlFile); err != nil {
			fn.PrintError(err)
		} else {
			fn.Printf(text.Green("workspace initialized successfully.\n"))
		}

		dir, err := os.Getwd()
		if err != nil {
			fn.PrintError(err)
			return
		}

		apic, err := apiclient.New()
		if err != nil {
			fn.PrintError(err)
			return
		}
		if err := hashctrl.SyncBoxHash(apic, fc, dir); err != nil {
			fn.PrintError(err)
			return
		}

		c, err := boxpkg.NewClient(cmd, args)
		if err != nil {
			fn.PrintError(err)
			return
		}

		if err := c.ConfirmBoxRestart(); err != nil {
			fn.PrintError(err)
			return
		}

	},
}

Functions

This section is empty.

Types

This section is empty.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL