46 lines
1.0 KiB
Go
46 lines
1.0 KiB
Go
package notmain
|
|
|
|
import (
|
|
"flag"
|
|
"os"
|
|
|
|
"github.com/letsencrypt/boulder/cmd"
|
|
"github.com/letsencrypt/boulder/observer"
|
|
"github.com/letsencrypt/boulder/strictyaml"
|
|
)
|
|
|
|
func main() {
|
|
debugAddr := flag.String("debug-addr", "", "Debug server address override")
|
|
configPath := flag.String(
|
|
"config", "config.yml", "Path to boulder-observer configuration file")
|
|
flag.Parse()
|
|
|
|
configYAML, err := os.ReadFile(*configPath)
|
|
cmd.FailOnError(err, "failed to read config file")
|
|
|
|
// Parse the YAML config file.
|
|
var config observer.ObsConf
|
|
err = strictyaml.Unmarshal(configYAML, &config)
|
|
|
|
if *debugAddr != "" {
|
|
config.DebugAddr = *debugAddr
|
|
}
|
|
|
|
if err != nil {
|
|
cmd.FailOnError(err, "failed to parse YAML config")
|
|
}
|
|
|
|
// Make an `Observer` object.
|
|
observer, err := config.MakeObserver()
|
|
if err != nil {
|
|
cmd.FailOnError(err, "config failed validation")
|
|
}
|
|
|
|
// Start the `Observer` daemon.
|
|
observer.Start()
|
|
}
|
|
|
|
func init() {
|
|
cmd.RegisterCommand("boulder-observer", main, &cmd.ConfigValidator{Config: &observer.ObsConf{}})
|
|
}
|