ezshare/actions/misc.go

51 lines
1.0 KiB
Go
Raw Normal View History

2021-12-06 05:08:17 +00:00
package actions
import (
"fmt"
"os"
2021-12-06 05:08:17 +00:00
"gitea.benny.dog/torjus/ezshare/certs"
"gitea.benny.dog/torjus/ezshare/config"
"github.com/urfave/cli/v2"
)
func ActionGencerts(c *cli.Context) error {
outDir := "."
if c.IsSet("out-dir") {
outDir = c.String("out-dir")
}
if !c.IsSet("hostname") {
return fmt.Errorf("--hostname required")
}
hostname := c.String("hostname")
return certs.GenAllCerts(outDir, hostname)
}
func getConfig(c *cli.Context) (*config.Config, error) {
if c.IsSet("config") {
cfgPath := c.String("config")
return config.FromFile(cfgPath)
}
if val, ok := os.LookupEnv("EZSHARE_CONFIG"); ok {
return config.FromFile(val)
}
2021-12-06 05:08:17 +00:00
cfg, err := config.FromDefaultLocations()
if err == nil {
verbosePrint(c, fmt.Sprintf("Config loaded from %s", cfg.Location()))
}
if cfg == nil {
cfg = config.FromDefault()
}
cfg.UpdateFromEnv()
if cfg.Client.Valid() == nil || cfg.Server.Valid() == nil {
return cfg, nil
}
2021-12-06 05:08:17 +00:00
return cfg, err
}
func verbosePrint(c *cli.Context, message string) {
if c.Bool("verbose") {
fmt.Println(message)
}
}