diff --git a/pkg/command/options.go b/pkg/command/options.go index d6f4096..6ea3872 100644 --- a/pkg/command/options.go +++ b/pkg/command/options.go @@ -18,8 +18,10 @@ type Options struct { User string `long:"user" description:"Database user"` Pass string `long:"pass" description:"Password for user"` DbName string `long:"db" description:"Database name"` - Ssl string `long:"ssl" description:"SSL option"` - SslRootCert string `long:"ssl-root-cert" description:"SSL Root Cert"` + Ssl string `long:"ssl" description:"SSL mode"` + SslRootCert string `long:"ssl-rootcert" description:"SSL certificate authority file"` + SslCert string `long:"ssl-cert" description:"SSL client certificate file"` + SslKey string `long:"ssl-key" description:"SSL client certificate key file"` HTTPHost string `long:"bind" description:"HTTP server host" default:"localhost"` HTTPPort uint `long:"listen" description:"HTTP server listen port" default:"8081"` AuthUser string `long:"auth-user" description:"HTTP basic auth user"` diff --git a/pkg/connection/connection_string.go b/pkg/connection/connection_string.go index a4cbd1b..3ca831c 100644 --- a/pkg/connection/connection_string.go +++ b/pkg/connection/connection_string.go @@ -115,6 +115,12 @@ func BuildStringFromOptions(opts command.Options) (string, error) { query.Add("sslmode", "disable") } } + if opts.SslCert != "" { + query.Add("sslcert", opts.SslCert) + } + if opts.SslKey != "" { + query.Add("sslkey", opts.SslKey) + } if opts.SslRootCert != "" { query.Add("sslrootcert", opts.SslRootCert) }