add install function

install pem files directly to an apc ups
This commit is contained in:
Greg T. Wallace 2024-02-02 18:35:21 -05:00
parent 4c154b2f27
commit a089d12c87
9 changed files with 392 additions and 51 deletions
pkg/app

View file

@ -31,27 +31,21 @@ func Start() {
logger: makeZapLogger(&initLogLevel),
}
// get config
app.getConfig()
// log start
app.logger.Infof("apc-p15-tool v%s", appVersion)
// get & parse config
err := app.getConfig()
// re-init logger with configured log level
app.logger = makeZapLogger(app.config.logLevel)
// log start
app.logger.Infof("apc-p15-tool v%s", appVersion)
// get config
app.getConfig()
// run it
exitCode := 0
err := app.cmd.ParseAndRun(context.Background(), os.Args[1:], ff.WithEnvVarPrefix(environmentVarPrefix))
// deal with config err (after logger re-init)
if err != nil {
exitCode = 1
exitCode := 0
if errors.Is(err, ff.ErrHelp) {
// help explicitly requested
exitCode = 0
app.logger.Info("\n\n", ffhelp.Command(app.cmd))
} else if errors.Is(err, ff.ErrDuplicateFlag) ||
@ -59,13 +53,28 @@ func Start() {
errors.Is(err, ff.ErrNoExec) ||
errors.Is(err, ErrExtraArgs) {
// other error that suggests user needs to see help
exitCode = 1
app.logger.Error(err)
app.logger.Info("\n\n", ffhelp.Command(app.cmd))
} else {
// any other error
exitCode = 1
app.logger.Error(err)
}
os.Exit(exitCode)
}
// get config
app.getConfig()
// run it
exitCode := 0
err = app.cmd.Run(context.Background())
if err != nil {
exitCode = 1
app.logger.Error(err)
}
app.logger.Info("apc-p15-tool done")