Split up boulder-config.json (SA) (#1975)
Depends on #1973 https://github.com/letsencrypt/boulder/pull/1975
This commit is contained in:
parent
821d572366
commit
6162533c00
|
@ -1,41 +1,72 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"flag"
|
||||
"os"
|
||||
|
||||
"github.com/jmhodges/clock"
|
||||
|
||||
"github.com/letsencrypt/boulder/cmd"
|
||||
blog "github.com/letsencrypt/boulder/log"
|
||||
"github.com/letsencrypt/boulder/metrics"
|
||||
"github.com/letsencrypt/boulder/rpc"
|
||||
"github.com/letsencrypt/boulder/sa"
|
||||
)
|
||||
|
||||
func main() {
|
||||
app := cmd.NewAppShell("boulder-sa", "Handles SQL operations")
|
||||
app.Action = func(c cmd.Config, stats metrics.Statter, logger blog.Logger) {
|
||||
saConf := c.SA
|
||||
go cmd.DebugServer(saConf.DebugAddr)
|
||||
const clientName = "SA"
|
||||
|
||||
dbURL, err := saConf.DBConfig.URL()
|
||||
cmd.FailOnError(err, "Couldn't load DB URL")
|
||||
dbMap, err := sa.NewDbMap(dbURL, saConf.DBConfig.MaxDBConns)
|
||||
cmd.FailOnError(err, "Couldn't connect to SA database")
|
||||
go sa.ReportDbConnCount(dbMap, metrics.NewStatsdScope(stats, "SA"))
|
||||
type config struct {
|
||||
SA struct {
|
||||
cmd.ServiceConfig
|
||||
cmd.DBConfig
|
||||
|
||||
sai, err := sa.NewSQLStorageAuthority(dbMap, clock.Default(), logger)
|
||||
cmd.FailOnError(err, "Failed to create SA impl")
|
||||
|
||||
go cmd.ProfileCmd("SA", stats)
|
||||
|
||||
amqpConf := saConf.AMQP
|
||||
sas, err := rpc.NewAmqpRPCServer(amqpConf, c.SA.MaxConcurrentRPCServerRequests, stats, logger)
|
||||
cmd.FailOnError(err, "Unable to create SA RPC server")
|
||||
err = rpc.NewStorageAuthorityServer(sas, sai)
|
||||
cmd.FailOnError(err, "Unable to setup SA RPC server")
|
||||
|
||||
err = sas.Start(amqpConf)
|
||||
cmd.FailOnError(err, "Unable to run SA RPC server")
|
||||
MaxConcurrentRPCServerRequests int64
|
||||
}
|
||||
|
||||
app.Run()
|
||||
cmd.StatsdConfig
|
||||
|
||||
cmd.SyslogConfig
|
||||
}
|
||||
|
||||
func main() {
|
||||
configFile := flag.String("config", "", "File path to the configuration file for this service")
|
||||
flag.Parse()
|
||||
if *configFile == "" {
|
||||
flag.Usage()
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
var c config
|
||||
err := cmd.ReadJSONFile(*configFile, &c)
|
||||
cmd.FailOnError(err, "Reading JSON config file into config structure")
|
||||
|
||||
go cmd.DebugServer(c.SA.DebugAddr)
|
||||
|
||||
stats, logger := cmd.StatsAndLogging(c.StatsdConfig, c.SyslogConfig)
|
||||
defer logger.AuditPanic()
|
||||
logger.Info(cmd.VersionString(clientName))
|
||||
|
||||
saConf := c.SA
|
||||
|
||||
dbURL, err := saConf.DBConfig.URL()
|
||||
cmd.FailOnError(err, "Couldn't load DB URL")
|
||||
|
||||
dbMap, err := sa.NewDbMap(dbURL, saConf.DBConfig.MaxDBConns)
|
||||
cmd.FailOnError(err, "Couldn't connect to SA database")
|
||||
|
||||
go sa.ReportDbConnCount(dbMap, metrics.NewStatsdScope(stats, "SA"))
|
||||
|
||||
sai, err := sa.NewSQLStorageAuthority(dbMap, clock.Default(), logger)
|
||||
cmd.FailOnError(err, "Failed to create SA impl")
|
||||
|
||||
go cmd.ProfileCmd("SA", stats)
|
||||
|
||||
amqpConf := saConf.AMQP
|
||||
sas, err := rpc.NewAmqpRPCServer(amqpConf, c.SA.MaxConcurrentRPCServerRequests, stats, logger)
|
||||
cmd.FailOnError(err, "Unable to create SA RPC server")
|
||||
|
||||
err = rpc.NewStorageAuthorityServer(sas, sai)
|
||||
cmd.FailOnError(err, "Unable to setup SA RPC server")
|
||||
|
||||
err = sas.Start(amqpConf)
|
||||
cmd.FailOnError(err, "Unable to run SA RPC server")
|
||||
}
|
||||
|
|
|
@ -27,13 +27,6 @@ type Config struct {
|
|||
|
||||
CA CAConfig
|
||||
|
||||
SA struct {
|
||||
ServiceConfig
|
||||
DBConfig
|
||||
|
||||
MaxConcurrentRPCServerRequests int64
|
||||
}
|
||||
|
||||
VA struct {
|
||||
ServiceConfig
|
||||
|
||||
|
|
|
@ -100,12 +100,6 @@ func (as *AppShell) Run() {
|
|||
config.CA.AMQP.ServiceQueue = config.AMQP.CA.Server
|
||||
}
|
||||
}
|
||||
if config.SA.AMQP == nil {
|
||||
config.SA.AMQP = config.AMQP
|
||||
if config.SA.AMQP != nil && config.AMQP.SA != nil {
|
||||
config.SA.AMQP.ServiceQueue = config.AMQP.SA.Server
|
||||
}
|
||||
}
|
||||
if config.VA.AMQP == nil {
|
||||
config.VA.AMQP = config.AMQP
|
||||
if config.VA.AMQP != nil && config.AMQP.VA != nil {
|
||||
|
|
|
@ -137,18 +137,6 @@
|
|||
}
|
||||
},
|
||||
|
||||
"sa": {
|
||||
"dbConnectFile": "test/secrets/sa_dburl",
|
||||
"maxDBConns": 10,
|
||||
"maxConcurrentRPCServerRequests": 16,
|
||||
"debugAddr": "localhost:8003",
|
||||
"amqp": {
|
||||
"serverURLFile": "test/secrets/amqp_url",
|
||||
"insecure": true,
|
||||
"serviceQueue": "SA.server"
|
||||
}
|
||||
},
|
||||
|
||||
"va": {
|
||||
"CAASERVFAILExceptions": "test/caa-servfail-exceptions.txt",
|
||||
"userAgent": "boulder",
|
||||
|
|
|
@ -135,18 +135,6 @@
|
|||
}
|
||||
},
|
||||
|
||||
"sa": {
|
||||
"dbConnectFile": "test/secrets/sa_dburl",
|
||||
"maxDBConns": 10,
|
||||
"maxConcurrentRPCServerRequests": 16,
|
||||
"debugAddr": "localhost:8003",
|
||||
"amqp": {
|
||||
"serverURLFile": "test/secrets/amqp_url",
|
||||
"insecure": true,
|
||||
"serviceQueue": "SA.server"
|
||||
}
|
||||
},
|
||||
|
||||
"va": {
|
||||
"userAgent": "boulder",
|
||||
"debugAddr": "localhost:8004",
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
"sa": {
|
||||
"dbConnectFile": "test/secrets/sa_dburl",
|
||||
"maxDBConns": 10,
|
||||
"maxConcurrentRPCServerRequests": 16,
|
||||
"debugAddr": "localhost:8003",
|
||||
"amqp": {
|
||||
"serverURLFile": "test/secrets/amqp_url",
|
||||
"insecure": true,
|
||||
"serviceQueue": "SA.server"
|
||||
}
|
||||
},
|
||||
|
||||
"statsd": {
|
||||
"server": "localhost:8125",
|
||||
"prefix": "Boulder"
|
||||
},
|
||||
|
||||
"syslog": {
|
||||
"stdoutlevel": 6,
|
||||
"sysloglevel": 4
|
||||
}
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
{
|
||||
"sa": {
|
||||
"dbConnectFile": "test/secrets/sa_dburl",
|
||||
"maxDBConns": 10,
|
||||
"maxConcurrentRPCServerRequests": 16,
|
||||
"debugAddr": "localhost:8003",
|
||||
"amqp": {
|
||||
"serverURLFile": "test/secrets/amqp_url",
|
||||
"insecure": true,
|
||||
"serviceQueue": "SA.server"
|
||||
}
|
||||
},
|
||||
|
||||
"statsd": {
|
||||
"server": "localhost:8125",
|
||||
"prefix": "Boulder"
|
||||
},
|
||||
|
||||
"syslog": {
|
||||
"network": "",
|
||||
"server": "",
|
||||
"stdoutlevel": 6
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue