refactor: Split large main file
This commit is contained in:
25
config.go
Normal file
25
config.go
Normal file
@@ -0,0 +1,25 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"github.com/alecthomas/kingpin/v2"
|
||||
)
|
||||
|
||||
type configuration struct {
|
||||
casDirectory string
|
||||
applicationListenAddress string
|
||||
metricsListenAddress string
|
||||
}
|
||||
|
||||
func parseConfiguration(args []string) *configuration {
|
||||
config := &configuration{}
|
||||
app := kingpin.New("ocspcrl", "OCSP responder / CRL server (multi-CA)")
|
||||
app.HelpFlag.Short('h')
|
||||
app.Flag("cas-directory", "Path to a directory containing one subdirectory per CA. Each subdirectory must contain ca.crt, responder.crt, key.pem and crl.pem. The subdirectory name is used as the route prefix.").
|
||||
Envar("CAS_DIRECTORY").Required().ExistingDirVar(&config.casDirectory)
|
||||
app.Flag("web.listen-address", "Address for application endpoint").
|
||||
Envar("WEB_LISTEN_ADDRESS").Default(":8080").StringVar(&config.applicationListenAddress)
|
||||
app.Flag("metrics.listen-address", "Address for metrics endpoint").
|
||||
Envar("METRICS_LISTEN_ADDRESS").Default("[::1]:8081").StringVar(&config.metricsListenAddress)
|
||||
kingpin.MustParse(app.Parse(args))
|
||||
return config
|
||||
}
|
||||
Reference in New Issue
Block a user