diff options
author | Niall Sheridan <nsheridan@gmail.com> | 2016-10-08 00:57:10 -0500 |
---|---|---|
committer | Niall Sheridan <nsheridan@gmail.com> | 2016-10-11 16:54:47 -0500 |
commit | d6d54ed0bcf3b583fe681db790740cef137401d3 (patch) | |
tree | 2da8de7005c14706f83edc8a58360fa435425c92 /server/store/store.go | |
parent | baf7141d1dd0f99d561a2197a909c66dd389809d (diff) |
Replace the 'datastore' option with a 'database' option
The 'datastore' string option is deprecated and will be removed in a
future version. The new 'database' map option is preferred.
Diffstat (limited to 'server/store/store.go')
-rw-r--r-- | server/store/store.go | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/server/store/store.go b/server/store/store.go index c039d3c..a447e72 100644 --- a/server/store/store.go +++ b/server/store/store.go @@ -5,9 +5,23 @@ import ( "golang.org/x/crypto/ssh" + "github.com/nsheridan/cashier/server/config" "github.com/nsheridan/cashier/server/util" ) +// New returns a new configured database. +func New(c config.Database) (CertStorer, error) { + switch c["type"] { + case "mongo": + return NewMongoStore(c) + case "mysql", "sqlite": + return NewSQLStore(c) + case "mem": + return NewMemoryStore(), nil + } + return NewMemoryStore(), nil +} + // CertStorer records issued certs in a persistent store for audit and // revocation purposes. type CertStorer interface { |