From 64a7fde102b90f6cae8dea8e17cb19f0b887ebe2 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Fri, 18 Mar 2016 20:18:10 +0100 Subject: Add solver --- cmd/batch/args.go | 2 ++ cmd/batch/main.go | 18 ++++++++++++++++++ solver.go | 8 ++++++-- 3 files changed, 26 insertions(+), 2 deletions(-) diff --git a/cmd/batch/args.go b/cmd/batch/args.go index 83475f1..26a0654 100644 --- a/cmd/batch/args.go +++ b/cmd/batch/args.go @@ -24,6 +24,8 @@ var ( keySize = flag.Int("keysize", 2048, "Private key size") provider = flag.String("provider", acme.LES, "Certificate provider (staging)") force = flag.Bool("force", false, "Forece renewal") + listen = flag.String("listen", ":8080", "HTTP Solver") + listenTLS = flag.String("listentls", ":8443", "TLS Solver") emails = new(Emails) domains = new(Domains) ) diff --git a/cmd/batch/main.go b/cmd/batch/main.go index 222d4d7..03036bf 100644 --- a/cmd/batch/main.go +++ b/cmd/batch/main.go @@ -6,6 +6,18 @@ import ( "dim13.org/acme" ) +func startSolvers() (acme.Solvers, error) { + httpSol, err := acme.NewHTTPSolver(*listen) + if err != nil { + return nil, err + } + tlsSol, err := acme.NewTLSSolver(*listenTLS) + if err != nil { + return nil, err + } + return acme.NewSolvers(httpSol, tlsSol), nil +} + func main() { log.Println("Scan files") crt, err := scanFiles(*baseDir) @@ -13,6 +25,12 @@ func main() { log.Fatal(err) } + sol, err := startSolvers() + if err != nil { + log.Fatal(err) + } + _ = sol + log.Println("Dial", *provider) prov, err := acme.DialProvider(*provider) if err != nil { diff --git a/solver.go b/solver.go index be6635e..4d163aa 100644 --- a/solver.go +++ b/solver.go @@ -19,8 +19,12 @@ type Solver interface { type Solvers map[ChalType]Solver -func NewSolvers() Solvers { - return make(Solvers) +func NewSolvers(sols ...Solver) Solvers { + sol := make(Solvers) + for _, s := range sols { + sol[s.Type()] = s + } + return sol } func (s Solvers) Add(sol Solver) { -- cgit v1.2.3