github.com/chenbh/concourse/v6@v6.4.2/skymarshal/storage/storage.go (about) 1 package storage 2 3 import ( 4 "code.cloudfoundry.org/lager" 5 "github.com/chenbh/concourse/v6/skymarshal/logger" 6 "github.com/concourse/dex/storage" 7 "github.com/concourse/dex/storage/sql" 8 "github.com/concourse/flag" 9 ) 10 11 type Storage interface { 12 storage.Storage 13 } 14 15 func NewPostgresStorage(log lager.Logger, postgres flag.PostgresConfig) (Storage, error) { 16 var host string 17 18 if postgres.Socket != "" { 19 host = postgres.Socket 20 } else { 21 host = postgres.Host 22 } 23 24 store := sql.Postgres{ 25 Database: postgres.Database, 26 User: postgres.User, 27 Password: postgres.Password, 28 Host: host, 29 Port: postgres.Port, 30 SSL: sql.PostgresSSL{ 31 Mode: postgres.SSLMode, 32 CAFile: string(postgres.CACert), 33 CertFile: string(postgres.ClientCert), 34 KeyFile: string(postgres.ClientKey), 35 }, 36 ConnectionTimeout: int(postgres.ConnectTimeout.Seconds()), 37 } 38 39 return store.Open(logger.New(log)) 40 }