github.com/pf-qiu/concourse/v6@v6.7.3-0.20201207032516-1f455d73275f/skymarshal/storage/storage.go (about) 1 package storage 2 3 import ( 4 "code.cloudfoundry.org/lager" 5 "github.com/pf-qiu/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 NetworkDB: sql.NetworkDB{ 26 Database: postgres.Database, 27 User: postgres.User, 28 Password: postgres.Password, 29 Host: host, 30 Port: postgres.Port, 31 ConnectionTimeout: int(postgres.ConnectTimeout.Seconds()), 32 }, 33 SSL: sql.SSL{ 34 Mode: postgres.SSLMode, 35 CAFile: string(postgres.CACert), 36 CertFile: string(postgres.ClientCert), 37 KeyFile: string(postgres.ClientKey), 38 }, 39 } 40 41 return store.Open(logger.New(log)) 42 }