github.com/kyma-incubator/compass/components/director@v0.0.0-20230623144113-d764f56ff805/pkg/persistence/config.go (about)

     1  package persistence
     2  
     3  import (
     4  	"fmt"
     5  	"time"
     6  )
     7  
     8  const connStringf string = "host=%s port=%s user=%s password=%s dbname=%s sslmode=%s"
     9  
    10  // DatabaseConfig missing godoc
    11  type DatabaseConfig struct {
    12  	User               string        `envconfig:"default=postgres,APP_DB_USER"`
    13  	Password           string        `envconfig:"default=pgsql@12345,APP_DB_PASSWORD"`
    14  	Host               string        `envconfig:"default=localhost,APP_DB_HOST"`
    15  	Port               string        `envconfig:"default=5432,APP_DB_PORT"`
    16  	Name               string        `envconfig:"default=compass,APP_DB_NAME"`
    17  	SSLMode            string        `envconfig:"default=disable,APP_DB_SSL"`
    18  	MaxOpenConnections int           `envconfig:"default=5,APP_DB_MAX_OPEN_CONNECTIONS"`
    19  	MaxIdleConnections int           `envconfig:"default=5,APP_DB_MAX_IDLE_CONNECTIONS"`
    20  	ConnMaxLifetime    time.Duration `envconfig:"default=30m,APP_DB_CONNECTION_MAX_LIFETIME"`
    21  }
    22  
    23  // GetConnString missing godoc
    24  func (cfg DatabaseConfig) GetConnString() string {
    25  	return fmt.Sprintf(connStringf, cfg.Host, cfg.Port, cfg.User, cfg.Password, cfg.Name, cfg.SSLMode)
    26  }