changed PackageOperation to enums
This commit is contained in:
parent
6db5f73bc0
commit
8900bd70a4
@ -7,6 +7,7 @@
|
|||||||
],
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
"cSpell.words": [
|
"cSpell.words": [
|
||||||
|
"Autorestic",
|
||||||
"Cmds",
|
"Cmds",
|
||||||
"CMDSTDOUT",
|
"CMDSTDOUT",
|
||||||
"knadh",
|
"knadh",
|
||||||
|
@ -18,7 +18,11 @@ var (
|
|||||||
func cron(cmd *cobra.Command, args []string) {
|
func cron(cmd *cobra.Command, args []string) {
|
||||||
parseS3Config()
|
parseS3Config()
|
||||||
|
|
||||||
opts := backy.NewOpts(cfgFile, backy.EnableCron(), backy.SetLogFile(logFile), backy.SetCmdStdOut(cmdStdOut))
|
opts := backy.NewOpts(cfgFile,
|
||||||
|
backy.EnableCron(),
|
||||||
|
backy.SetLogFile(logFile),
|
||||||
|
backy.SetCmdStdOut(cmdStdOut))
|
||||||
|
|
||||||
opts.InitConfig()
|
opts.InitConfig()
|
||||||
opts.ReadConfig()
|
opts.ReadConfig()
|
||||||
|
|
||||||
|
118
getCommandHelp
118
getCommandHelp
@ -1,79 +1,83 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
CLI_PAGE="docs/content/cli/_index.md"
|
CLI_PAGE="docs/content/cli/_index.md"
|
||||||
|
|
||||||
|
BACKYCOMMAND="go run backy.go"
|
||||||
|
|
||||||
|
{
|
||||||
echo "---
|
echo "---
|
||||||
title: "CLI"
|
title: CLI
|
||||||
weight: 4
|
weight: 4
|
||||||
---
|
---
|
||||||
|
|
||||||
This page lists documentation for the CLI.
|
This page lists documentation for the CLI.
|
||||||
" > _index.md
|
"
|
||||||
|
|
||||||
BACKYCOMMAND="go run backy.go"
|
echo "## Backy "
|
||||||
|
echo " "
|
||||||
echo "## Backy " >> _index.md
|
echo "\`\`\`"
|
||||||
echo " " >> _index.md
|
eval "${BACKYCOMMAND} -h"
|
||||||
echo "\`\`\`" >> _index.md
|
echo "\`\`\`"
|
||||||
eval "${BACKYCOMMAND} -h >> _index.md"
|
echo " "
|
||||||
echo "\`\`\`" >> _index.md
|
|
||||||
echo " " >> _index.md
|
|
||||||
|
|
||||||
|
|
||||||
echo "# Subcommands" >> _index.md
|
|
||||||
echo "" >> _index.md
|
|
||||||
|
|
||||||
echo "## backup" >> _index.md
|
echo "# Subcommands"
|
||||||
echo "" >> _index.md
|
echo ""
|
||||||
echo "\`\`\`" >> _index.md
|
|
||||||
eval "${BACKYCOMMAND} backup -h >> _index.md"
|
|
||||||
echo "\`\`\`" >> _index.md
|
|
||||||
echo "" >> _index.md
|
|
||||||
|
|
||||||
echo "## cron" >> _index.md
|
echo "## backup"
|
||||||
echo "" >> _index.md
|
echo ""
|
||||||
echo "\`\`\`" >> _index.md
|
echo "\`\`\`"
|
||||||
eval "${BACKYCOMMAND} cron -h >> _index.md"
|
eval "${BACKYCOMMAND} backup -h"
|
||||||
echo "\`\`\`" >> _index.md
|
echo "\`\`\`"
|
||||||
echo "" >> _index.md
|
echo ""
|
||||||
|
|
||||||
echo "## exec" >> _index.md
|
echo "## cron"
|
||||||
echo "" >> _index.md
|
echo ""
|
||||||
echo "\`\`\`" >> _index.md
|
echo "\`\`\`"
|
||||||
eval "${BACKYCOMMAND} exec -h >> _index.md"
|
eval "${BACKYCOMMAND} cron -h"
|
||||||
echo "\`\`\`" >> _index.md
|
echo "\`\`\`"
|
||||||
echo "" >> _index.md
|
echo ""
|
||||||
|
|
||||||
echo "### exec host" >> _index.md
|
echo "## exec"
|
||||||
echo "" >> _index.md
|
echo ""
|
||||||
echo "\`\`\`" >> _index.md
|
echo "\`\`\`"
|
||||||
eval "${BACKYCOMMAND} exec host -h >> _index.md"
|
eval "${BACKYCOMMAND} exec -h"
|
||||||
echo "\`\`\`" >> _index.md
|
echo "\`\`\`"
|
||||||
echo "" >> _index.md
|
echo ""
|
||||||
|
|
||||||
|
echo "### exec host"
|
||||||
|
echo ""
|
||||||
|
echo "\`\`\`"
|
||||||
|
eval "${BACKYCOMMAND} exec host -h"
|
||||||
|
echo "\`\`\`"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
|
||||||
echo "## version" >> _index.md
|
echo "## version"
|
||||||
echo "" >> _index.md
|
echo ""
|
||||||
echo "\`\`\`" >> _index.md
|
echo "\`\`\`"
|
||||||
eval "${BACKYCOMMAND} version -h >> _index.md"
|
eval "${BACKYCOMMAND} version -h"
|
||||||
echo "\`\`\`" >> _index.md
|
echo "\`\`\`"
|
||||||
echo "" >> _index.md
|
echo ""
|
||||||
|
|
||||||
echo "## list" >> _index.md
|
echo "## list"
|
||||||
echo "" >> _index.md
|
echo ""
|
||||||
echo "\`\`\`" >> _index.md
|
echo "\`\`\`"
|
||||||
eval "${BACKYCOMMAND} list -h >> _index.md"
|
eval "${BACKYCOMMAND} list -h"
|
||||||
echo "\`\`\`" >> _index.md
|
echo "\`\`\`"
|
||||||
|
|
||||||
echo "## list cmds" >> _index.md
|
echo "## list cmds"
|
||||||
echo "" >> _index.md
|
echo ""
|
||||||
echo "\`\`\`" >> _index.md
|
echo "\`\`\`"
|
||||||
eval "${BACKYCOMMAND} list cmds -h >> _index.md"
|
eval "${BACKYCOMMAND} list cmds -h"
|
||||||
echo "\`\`\`" >> _index.md
|
echo "\`\`\`"
|
||||||
|
|
||||||
echo "## list lists" >> _index.md
|
echo "## list lists"
|
||||||
echo "" >> _index.md
|
echo ""
|
||||||
echo "\`\`\`" >> _index.md
|
echo "\`\`\`"
|
||||||
eval "${BACKYCOMMAND} list lists -h >> _index.md"
|
eval "${BACKYCOMMAND} list lists -h"
|
||||||
echo "\`\`\`" >> _index.md
|
echo "\`\`\`"
|
||||||
|
} >> _index.md
|
||||||
|
|
||||||
|
|
||||||
mv _index.md "$CLI_PAGE"
|
mv _index.md "$CLI_PAGE"
|
@ -68,7 +68,7 @@ func (command *Command) RunCmd(cmdCtxLogger zerolog.Logger, opts *ConfigOpts) ([
|
|||||||
} else {
|
} else {
|
||||||
|
|
||||||
// Handle package operations
|
// Handle package operations
|
||||||
if command.Type == PackageCT && command.PackageOperation == "checkVersion" {
|
if command.Type == PackageCT && command.PackageOperation == PackOppCheckVersion {
|
||||||
cmdCtxLogger.Info().Str("package", command.PackageName).Msg("Checking package versions")
|
cmdCtxLogger.Info().Str("package", command.PackageName).Msg("Checking package versions")
|
||||||
|
|
||||||
// Execute the package version command
|
// Execute the package version command
|
||||||
|
@ -585,7 +585,7 @@ func processCmds(opts *ConfigOpts) error {
|
|||||||
if cmd.PackageManager == "" {
|
if cmd.PackageManager == "" {
|
||||||
return fmt.Errorf("package manager is required for package command %s", cmd.PackageName)
|
return fmt.Errorf("package manager is required for package command %s", cmd.PackageName)
|
||||||
}
|
}
|
||||||
if cmd.PackageOperation == "" {
|
if cmd.PackageOperation.String() == "" {
|
||||||
return fmt.Errorf("package operation is required for package command %s", cmd.PackageName)
|
return fmt.Errorf("package operation is required for package command %s", cmd.PackageName)
|
||||||
}
|
}
|
||||||
if cmd.PackageName == "" {
|
if cmd.PackageName == "" {
|
||||||
@ -594,15 +594,16 @@ func processCmds(opts *ConfigOpts) error {
|
|||||||
var err error
|
var err error
|
||||||
|
|
||||||
// Validate the operation
|
// Validate the operation
|
||||||
switch cmd.PackageOperation {
|
if cmd.PackageOperation.IsAPackageOperation() {
|
||||||
case "install", "remove", "upgrade", "checkVersion":
|
|
||||||
cmd.pkgMan, err = pkgman.PackageManagerFactory(cmd.PackageManager, pkgman.WithoutAuth())
|
cmd.pkgMan, err = pkgman.PackageManagerFactory(cmd.PackageManager, pkgman.WithoutAuth())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
default:
|
} else {
|
||||||
return fmt.Errorf("unsupported package operation %s for command %s", cmd.PackageOperation, cmd.Name)
|
return fmt.Errorf("unsupported package operation %s for command %s", cmd.PackageOperation, cmd.Name)
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Parse user commands
|
// Parse user commands
|
||||||
|
@ -538,7 +538,7 @@ func (command *Command) RunCmdSSH(cmdCtxLogger zerolog.Logger, opts *ConfigOpts)
|
|||||||
case ScriptFileCT:
|
case ScriptFileCT:
|
||||||
return command.runScriptFile(commandSession, cmdCtxLogger, &cmdOutBuf)
|
return command.runScriptFile(commandSession, cmdCtxLogger, &cmdOutBuf)
|
||||||
case PackageCT:
|
case PackageCT:
|
||||||
if command.PackageOperation == "checkVersion" {
|
if command.PackageOperation == PackOppCheckVersion {
|
||||||
commandSession.Stderr = nil
|
commandSession.Stderr = nil
|
||||||
// Execute the package version command remotely
|
// Execute the package version command remotely
|
||||||
// Parse the output of package version command
|
// Parse the output of package version command
|
||||||
|
@ -106,7 +106,7 @@ type (
|
|||||||
PackageVersion string `yaml:"packageVersion,omitempty"`
|
PackageVersion string `yaml:"packageVersion,omitempty"`
|
||||||
|
|
||||||
// PackageOperation specifies the action for package-related commands (e.g., "install" or "remove")
|
// PackageOperation specifies the action for package-related commands (e.g., "install" or "remove")
|
||||||
PackageOperation string `yaml:"packageOperation,omitempty"`
|
PackageOperation PackageOperation `yaml:"packageOperation,omitempty"`
|
||||||
|
|
||||||
pkgMan pkgman.PackageManager
|
pkgMan pkgman.PackageManager
|
||||||
|
|
||||||
@ -293,7 +293,10 @@ type (
|
|||||||
ListName string // Name of the command list
|
ListName string // Name of the command list
|
||||||
Error error // Error encountered, if any
|
Error error // Error encountered, if any
|
||||||
}
|
}
|
||||||
CommandType int
|
|
||||||
|
// use ints so we can use enums
|
||||||
|
CommandType int
|
||||||
|
PackageOperation int
|
||||||
)
|
)
|
||||||
|
|
||||||
//go:generate go run github.com/dmarkham/enumer -linecomment -yaml -text -json -type=CommandType
|
//go:generate go run github.com/dmarkham/enumer -linecomment -yaml -text -json -type=CommandType
|
||||||
@ -305,3 +308,14 @@ const (
|
|||||||
PackageCT // package
|
PackageCT // package
|
||||||
UserCT // user
|
UserCT // user
|
||||||
)
|
)
|
||||||
|
|
||||||
|
//go:generate go run github.com/dmarkham/enumer -linecomment -yaml -text -json -type=PackageOperation
|
||||||
|
const (
|
||||||
|
DefaultPO PackageOperation = iota //
|
||||||
|
PackOppInstall // install
|
||||||
|
PackOppUpgrade // upgrade
|
||||||
|
PackOppPurge // purge
|
||||||
|
PackOppRemove // remove
|
||||||
|
PackOppCheckVersion // checkVersion
|
||||||
|
PackOppIsInstalled // isInstalled
|
||||||
|
)
|
||||||
|
@ -277,13 +277,13 @@ func getCommandTypeAndSetCommandInfo(command *Command) *Command {
|
|||||||
if command.Type == PackageCT && !command.packageCmdSet {
|
if command.Type == PackageCT && !command.packageCmdSet {
|
||||||
command.packageCmdSet = true
|
command.packageCmdSet = true
|
||||||
switch command.PackageOperation {
|
switch command.PackageOperation {
|
||||||
case "install":
|
case PackOppInstall:
|
||||||
command.Cmd, command.Args = command.pkgMan.Install(command.PackageName, command.PackageVersion, command.Args)
|
command.Cmd, command.Args = command.pkgMan.Install(command.PackageName, command.PackageVersion, command.Args)
|
||||||
case "remove":
|
case PackOppRemove:
|
||||||
command.Cmd, command.Args = command.pkgMan.Remove(command.PackageName, command.Args)
|
command.Cmd, command.Args = command.pkgMan.Remove(command.PackageName, command.Args)
|
||||||
case "upgrade":
|
case PackOppUpgrade:
|
||||||
command.Cmd, command.Args = command.pkgMan.Upgrade(command.PackageName, command.PackageVersion)
|
command.Cmd, command.Args = command.pkgMan.Upgrade(command.PackageName, command.PackageVersion)
|
||||||
case "checkVersion":
|
case PackOppCheckVersion:
|
||||||
command.Cmd, command.Args = command.pkgMan.CheckVersion(command.PackageName, command.PackageVersion)
|
command.Cmd, command.Args = command.pkgMan.CheckVersion(command.PackageName, command.PackageVersion)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user