@@ -22,7 +22,7 @@ type DatabaseConfiguration struct {
2222 IamAuth bool `json:"iam_auth"`
2323}
2424
25- func (s DatabaseConfiguration ) PostgreSQLConnectionString () string {
25+ func (s DatabaseConfiguration ) PostgreSQLConnectionString () ( string , error ) {
2626 if s .IamAuth {
2727 slog .Info ("loading default config for rds auth" )
2828 cfg , err := config .LoadDefaultConfig (context .TODO ())
@@ -38,18 +38,18 @@ func (s DatabaseConfiguration) PostgreSQLConnectionString() string {
3838
3939 dbinput := strings .TrimSuffix (cname , "." ) + ":5432"
4040 slog .Info ("requesting auth token" )
41- authenticationToken , err := auth .BuildAuthToken (context .TODO (), dbinput , "us-east-1" , s .Username , cfg .Credentials )
41+ authenticationToken , err := auth .BuildAuthToken (context .TODO (), dbinput , cfg . Region , s .Username , cfg .Credentials )
4242 if err != nil {
43- panic ("failed to create authentication token: " + err .Error ())
43+ return "" , fmt . Errorf ("failed to create authentication token: %w" , err .Error ())
4444 }
4545 slog .Info ("auth token successfully created" )
4646 encodedToken := url .QueryEscape (authenticationToken )
4747
48- return fmt .Sprintf ("postgresql://%s:%s@%s/%s" , s .Username , encodedToken , dbinput , s .Database )
48+ return fmt .Sprintf ("postgresql://%s:%s@%s/%s" , s .Username , encodedToken , dbinput , s .Database ), nil
4949 } else if s .Connection != "" {
50- return s .Connection
50+ return s .Connection , nil
5151 } else {
52- return fmt .Sprintf ("postgresql://%s:%s@%s/%s" , s .Username , s .Secret , s .Address , s .Database )
52+ return fmt .Sprintf ("postgresql://%s:%s@%s/%s" , s .Username , s .Secret , s .Address , s .Database ), nil
5353 }
5454}
5555
0 commit comments