diff --git a/cmd/boulder-wfe/main.go b/cmd/boulder-wfe/main.go index 7cd441376..c3cac8920 100644 --- a/cmd/boulder-wfe/main.go +++ b/cmd/boulder-wfe/main.go @@ -113,6 +113,7 @@ func main() { auditlogger.Info(app.VersionString()) // Add HandlerTimer to output resp time + success/failure stats to statsd + auditlogger.Info(fmt.Sprintf("Server running, listening on %s...\n", c.WFE.ListenAddress)) err = http.ListenAndServe(c.WFE.ListenAddress, HandlerTimer(http.DefaultServeMux, stats)) cmd.FailOnError(err, "Error starting HTTP server") } diff --git a/cmd/ocsp-responder/main.go b/cmd/ocsp-responder/main.go index b92829f3d..f191432a9 100644 --- a/cmd/ocsp-responder/main.go +++ b/cmd/ocsp-responder/main.go @@ -14,6 +14,10 @@ import ( "net/http" "time" + // Load both drivers to allow configuring either + _ "github.com/letsencrypt/boulder/Godeps/_workspace/src/github.com/go-sql-driver/mysql" + _ "github.com/letsencrypt/boulder/Godeps/_workspace/src/github.com/mattn/go-sqlite3" + "github.com/letsencrypt/boulder/Godeps/_workspace/src/github.com/cactus/go-statsd-client/statsd" cfocsp "github.com/letsencrypt/boulder/Godeps/_workspace/src/github.com/cloudflare/cfssl/ocsp" "golang.org/x/crypto/ocsp" @@ -98,7 +102,7 @@ func (src *DBSource) Response(req *ocsp.Request) (response []byte, present bool) } func main() { - app := cmd.NewAppShell("boulder-ocsp") + app := cmd.NewAppShell("boulder-ocsp-responder") app.Action = func(c cmd.Config) { // Set up logging stats, err := statsd.NewClient(c.Statsd.Server, c.Statsd.Prefix) @@ -115,7 +119,7 @@ func main() { go cmd.ProfileCmd("OCSP", stats) // Connect to the DB - db, err := sql.Open(c.OCSP.DBDriver, c.OCSP.DBName) + db, err := sql.Open(c.OCSPResponder.DBDriver, c.OCSPResponder.DBName) cmd.FailOnError(err, "Could not connect to database") defer db.Close() @@ -133,12 +137,13 @@ func main() { cmd.FailOnError(err, "Could not connect to OCSP database") // Configure HTTP - http.Handle(c.OCSP.Path, cfocsp.Responder{Source: src}) + http.Handle(c.OCSPResponder.Path, cfocsp.Responder{Source: src}) auditlogger.Info(app.VersionString()) // Add HandlerTimer to output resp time + success/failure stats to statsd - err = http.ListenAndServe(c.WFE.ListenAddress, HandlerTimer(http.DefaultServeMux, stats)) + auditlogger.Info(fmt.Sprintf("Server running, listening on %s...\n", c.OCSPResponder.ListenAddress)) + err = http.ListenAndServe(c.OCSPResponder.ListenAddress, HandlerTimer(http.DefaultServeMux, stats)) cmd.FailOnError(err, "Error starting HTTP server") } diff --git a/cmd/ocsp-updater/main.go b/cmd/ocsp-updater/main.go index 30a967edb..2f8262810 100644 --- a/cmd/ocsp-updater/main.go +++ b/cmd/ocsp-updater/main.go @@ -149,7 +149,7 @@ func main() { }) app.Config = func(c *cli.Context, config cmd.Config) cmd.Config { - config.OCSP.ResponseLimit = c.GlobalInt("limit") + config.OCSPUpdater.ResponseLimit = c.GlobalInt("limit") return config } @@ -167,7 +167,7 @@ func main() { blog.SetAuditLogger(auditlogger) // Configure DB - dbMap, err := sa.NewDbMap(c.OCSP.DBDriver, c.OCSP.DBName) + dbMap, err := sa.NewDbMap(c.OCSPUpdater.DBDriver, c.OCSPUpdater.DBName) cmd.FailOnError(err, "Could not connect to database") cac, closeChan := setupClients(c) @@ -185,13 +185,13 @@ func main() { auditlogger.Info(app.VersionString()) // Calculate the cut-off timestamp - dur, err := time.ParseDuration(c.OCSP.MinTimeToExpiry) + dur, err := time.ParseDuration(c.OCSPUpdater.MinTimeToExpiry) cmd.FailOnError(err, "Could not parse MinTimeToExpiry from config.") oldestLastUpdatedTime := time.Now().Add(-dur) auditlogger.Info(fmt.Sprintf("Searching for OCSP reponses older than %s", oldestLastUpdatedTime)) - count := int(math.Min(float64(ocspResponseLimit), float64(c.OCSP.ResponseLimit))) + count := int(math.Min(float64(ocspResponseLimit), float64(c.OCSPUpdater.ResponseLimit))) err = findStaleResponses(cac, dbMap, oldestLastUpdatedTime, count) if err != nil { diff --git a/cmd/shell.go b/cmd/shell.go index 647c80edd..39c261328 100644 --- a/cmd/shell.go +++ b/cmd/shell.go @@ -99,10 +99,16 @@ type Config struct { Password string } - OCSP struct { + OCSPResponder struct { + DBDriver string + DBName string + Path string + ListenAddress string + } + + OCSPUpdater struct { DBDriver string DBName string - Path string MinTimeToExpiry string ResponseLimit int } diff --git a/test/boulder-config.json b/test/boulder-config.json index b89876f00..0b2c0f914 100644 --- a/test/boulder-config.json +++ b/test/boulder-config.json @@ -64,7 +64,14 @@ "dbName": ":memory:" }, - "ocsp": { + "ocspResponder": { + "dbDriver": "sqlite3", + "dbName": ":memory:", + "path": "http://localhost:4001", + "listenAddress": "localhost:4001" + }, + + "ocspUpdater": { "dbDriver": "sqlite3", "dbName": ":memory:", "minTimeToExpiry": "72h"