From 3166b0510763e82c10488b75d5b9f5dddcaf0537 Mon Sep 17 00:00:00 2001 From: 6543 <6543@obermui.de> Date: Thu, 9 Feb 2023 14:21:26 +0100 Subject: [PATCH] make pogreb config and move code --- cmd/certs.go | 16 ++++++++++++---- cmd/flags.go | 9 +++++++++ cmd/main.go | 15 ++++++++------- server/database/{setup.go => pogreb.go} | 2 +- 4 files changed, 30 insertions(+), 12 deletions(-) rename server/database/{setup.go => pogreb.go} (97%) diff --git a/cmd/certs.go b/cmd/certs.go index d93fe13..dbcb40b 100644 --- a/cmd/certs.go +++ b/cmd/certs.go @@ -24,11 +24,20 @@ var Certs = &cli.Command{ Action: removeCert, }, }, + Flags: []cli.Flag{ + // Cert Storage + // TODO: remove in next version + &cli.StringFlag{ + // DEPRICATED + Name: "db-pogreb", + Value: "key-database.pogreb", + EnvVars: []string{"DB_POGREB"}, + }, + }, } func listCerts(ctx *cli.Context) error { - // TODO: make "key-database.pogreb" set via flag - keyDatabase, err := database.New("key-database.pogreb") + keyDatabase, err := database.NewPogreb(ctx.String("db-pogreb")) if err != nil { return fmt.Errorf("could not create database: %v", err) } @@ -53,8 +62,7 @@ func removeCert(ctx *cli.Context) error { domains := ctx.Args().Slice() - // TODO: make "key-database.pogreb" set via flag - keyDatabase, err := database.New("key-database.pogreb") + keyDatabase, err := database.NewPogreb(ctx.String("db-pogreb")) if err != nil { return fmt.Errorf("could not create database: %v", err) } diff --git a/cmd/flags.go b/cmd/flags.go index 8ac09ec..5d0279d 100644 --- a/cmd/flags.go +++ b/cmd/flags.go @@ -120,4 +120,13 @@ var ServeFlags = []cli.Flag{ // TODO: Usage EnvVars: []string{"DNS_PROVIDER"}, }, + + // Cert Storage + // TODO: remove in next version + &cli.StringFlag{ + // DEPRICATED + Name: "db-pogreb", + Value: "key-database.pogreb", + EnvVars: []string{"DB_POGREB"}, + }, } diff --git a/cmd/main.go b/cmd/main.go index b72013a..fc7afd4 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -74,6 +74,14 @@ func Serve(ctx *cli.Context) error { mainDomainSuffix = "." + mainDomainSuffix } + // Init ssl cert database + dbPogrebDB := ctx.String("db-pogreb") + certDB, err := database.NewPogreb(dbPogrebDB) + if err != nil { + return fmt.Errorf("could not create database: %v", err) + } + defer certDB.Close() //nolint:errcheck // database has no close ... sync behave like it + keyCache := cache.NewKeyValueCache() challengeCache := cache.NewKeyValueCache() // canonicalDomainCache stores canonical domains @@ -104,13 +112,6 @@ func Serve(ctx *cli.Context) error { return fmt.Errorf("couldn't create listener: %v", err) } - // TODO: make "key-database.pogreb" set via flag - certDB, err := database.New("key-database.pogreb") - if err != nil { - return fmt.Errorf("could not create database: %v", err) - } - defer certDB.Close() //nolint:errcheck // database has no close ... sync behave like it - listener = tls.NewListener(listener, certificates.TLSConfig(mainDomainSuffix, giteaClient, dnsProvider, diff --git a/server/database/setup.go b/server/database/pogreb.go similarity index 97% rename from server/database/setup.go rename to server/database/pogreb.go index 097c63e..eeea9cc 100644 --- a/server/database/setup.go +++ b/server/database/pogreb.go @@ -82,7 +82,7 @@ func (p aDB) sync() { } } -func New(path string) (CertDB, error) { +func NewPogreb(path string) (CertDB, error) { if path == "" { return nil, fmt.Errorf("path not set") }