Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var MastCmd = &cobra.Command{ Use: "mast", Short: "Mast command to list nodes.", Long: `cube node command. The node command allows a user to get the information about the nodes in the cluster.`, Run: func(cmd *cobra.Command, args []string) { manager, _ := cmd.Flags().GetString("manager") url := fmt.Sprintf("http://%s/nodes", manager) resp, _ := http.Get(url) defer resp.Body.Close() body, _ := io.ReadAll(resp.Body) var nodes []*mast.Mast json.Unmarshal(body, &nodes) w := tabwriter.NewWriter(os.Stdout, 0, 0, 5, ' ', tabwriter.TabIndent) fmt.Fprintln(w, "NAME\tMEMORY (MiB)\tDISK (GiB)\tROLE\tTASKS\t") for _, node := range nodes { fmt.Fprintf(w, "%s\t%d\t%d\t%s\t%d\t\n", node.Name, node.Memory/1000, node.Disk/1000/1000/1000, node.Role, node.TaskCount) } w.Flush() }, }
View Source
var RunCmd = &cobra.Command{ Use: "run", Short: "Run a new task.", Long: `cube run command. The run command starts a new task.`, Run: func(cmd *cobra.Command, args []string) { manager, _ := cmd.Flags().GetString("manager") filename, _ := cmd.Flags().GetString("filename") fullFilePath, err := filepath.Abs(filename) if err != nil { log.Fatal(err) } if !fileExists(fullFilePath) { log.Fatalf("File %s does not exist.", filename) } log.Printf("Using manager: %v\n", manager) log.Printf("Using file: %v\n", fullFilePath) data, err := os.ReadFile(filename) if err != nil { log.Fatalf("Unable to read file: %v", filename) } log.Printf("Data: %v\n", string(data)) url := fmt.Sprintf("http://%s/tasks", manager) resp, err := http.Post(url, "application/json", bytes.NewBuffer(data)) if err != nil { log.Panic(err) } if resp.StatusCode != http.StatusCreated { log.Printf("Error sending request: %v", resp.StatusCode) } defer resp.Body.Close() log.Println("Successfully sent task request to manager") }, }
View Source
var StatusCmd = &cobra.Command{ Use: "status", Short: "Status command to list tasks.", Long: `cube status command. The status command allows a user to get the status of tasks from the Cube manager.`, Run: func(cmd *cobra.Command, args []string) { manager, _ := cmd.Flags().GetString("manager") url := fmt.Sprintf("http://%s/tasks", manager) resp, _ := http.Get(url) body, err := io.ReadAll(resp.Body) if err != nil { log.Fatal(err) } defer resp.Body.Close() var tasks []*sail.Sail err = json.Unmarshal(body, &tasks) if err != nil { log.Fatal(err) } w := tabwriter.NewWriter(os.Stdout, 0, 0, 5, ' ', tabwriter.TabIndent) fmt.Fprintln(w, "ID\tNAME\tCREATED\tSTATE\tCONTAINERNAME\tIMAGE\t") for _, task := range tasks { var start string if task.StartTime.IsZero() { start = fmt.Sprintf("%s ago", units.HumanDuration(time.Now().UTC().Sub(time.Now().UTC()))) } else { start = fmt.Sprintf("%s ago", units.HumanDuration(time.Now().UTC().Sub(task.StartTime))) } state := task.State.String()[task.State] fmt.Fprintf(w, "%s\t%s\t%s\t%s\t%s\t%s\t\n", task.ID, task.Name, start, state, task.Name, task.Image) } w.Flush() }, }
Functions ¶
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.