Initial version of the Orchard orchestration system (#3)

* Initial version of the Orchard orchestration system

* Update README.md

Co-authored-by: Fedor Korotkov <fedor.korotkov@gmail.com>

Co-authored-by: Fedor Korotkov <fedor.korotkov@gmail.com>
This commit is contained in:
Nikolay Edigaryev
2023-01-26 23:46:23 +04:00
committed by GitHub
co-authored by Fedor Korotkov
parent dcbbb8b8de
commit 92e8732d46
46 changed files with 2746 additions and 0 deletions
+46
View File
@@ -0,0 +1,46 @@
package command
import (
"github.com/cirruslabs/orchard/internal/command/controller"
"github.com/cirruslabs/orchard/internal/command/create"
deletepkg "github.com/cirruslabs/orchard/internal/command/delete"
"github.com/cirruslabs/orchard/internal/command/dev"
"github.com/cirruslabs/orchard/internal/command/list"
"github.com/cirruslabs/orchard/internal/command/worker"
"github.com/spf13/cobra"
)
func NewRootCmd() *cobra.Command {
command := &cobra.Command{
Use: "orchard",
SilenceUsage: true,
SilenceErrors: true,
}
addGroupedCommands(command, "Working With Resources:",
create.NewCommand(),
list.NewCommand(),
deletepkg.NewCommand(),
)
addGroupedCommands(command, "Administrative Tasks:",
controller.NewCommand(),
worker.NewCommand(),
dev.NewCommand(),
)
return command
}
func addGroupedCommands(parent *cobra.Command, title string, commands ...*cobra.Command) {
group := &cobra.Group{
ID: title,
Title: title,
}
parent.AddGroup(group)
for _, command := range commands {
command.GroupID = group.ID
parent.AddCommand(command)
}
}