api-base/cmd/genconfig.go

47 lines
759 B
Go

package main
import (
"fmt"
"gcs-backup/pkg/config"
"log"
"os"
"git.trj.tw/golang/argparse"
confloader "git.trj.tw/golang/config-loader"
"gopkg.in/yaml.v2"
)
func main() {
fmt.Println("generate config file")
confPath := ""
parser := argparse.New()
parser.StringVar(&confPath, "", "o", "output", "config output path", &argparse.Option{Require: true})
if err := parser.Parse(os.Args); err != nil {
log.Fatal(err)
}
file, err := os.Create(confPath)
if err != nil {
log.Fatal(err)
}
defer file.Close()
conf := &config.Config{}
if err := confloader.Load(conf, nil); err != nil {
log.Fatal(err)
}
b, err := yaml.Marshal(conf)
if err != nil {
log.Fatal(err)
}
if _, err := file.Write(b); err != nil {
log.Fatal(err)
}
}