44 lines
1005 B
Go
44 lines
1005 B
Go
package main
|
|
|
|
import (
|
|
"flag"
|
|
"log"
|
|
"text/template"
|
|
|
|
"git.vvoid.camp/cisgo/pkg/config"
|
|
"git.vvoid.camp/cisgo/pkg/generator"
|
|
)
|
|
|
|
var confpath string
|
|
var templatepath string
|
|
var outputdir string
|
|
|
|
func main() {
|
|
flag.StringVar(&confpath, "c", "./config.json", "path to config file")
|
|
flag.StringVar(&templatepath, "t", "./template.txt", "path to template file")
|
|
flag.StringVar(&outputdir, "o", "./output", "path to output directory")
|
|
flag.Parse()
|
|
|
|
// Load config
|
|
config, err := config.LoadConfig(confpath)
|
|
if err != nil {
|
|
log.Fatal("Error loadin Config: " + err.Error())
|
|
}
|
|
|
|
// Load template
|
|
template, err := template.ParseFiles(templatepath)
|
|
if err != nil {
|
|
log.Fatal("Error loading template: " + err.Error())
|
|
}
|
|
|
|
// Create generator
|
|
generator := generator.NewGenerator(config, template)
|
|
|
|
// Generate
|
|
err = generator.Generate(outputdir)
|
|
if err != nil {
|
|
log.Fatal("Error generating: " + err.Error())
|
|
}
|
|
log.Println("AP configs Generated")
|
|
}
|