in image/resources/knfsd-fsidd/sql.go [99:129]
func newDialer(ctx context.Context, config DatabaseConfig) (*cloudsqlconn.Dialer, error) {
var dialOptions []cloudsqlconn.DialOption
var options []cloudsqlconn.Option
if config.IAMAuth {
options = append(options, cloudsqlconn.WithIAMAuthN())
}
if config.PrivateIP {
dialOptions = append(dialOptions, cloudsqlconn.WithPrivateIP())
} else {
dialOptions = append(dialOptions, cloudsqlconn.WithPublicIP())
}
options = append(options, cloudsqlconn.WithDefaultDialOptions(dialOptions...))
log.Debug.Print("Creating Cloud SQL dialer")
dialer, err := cloudsqlconn.NewDialer(ctx, options...)
if err != nil {
return nil, err
}
log.Debug.Print("Warming up Cloud SQL dialer")
err = dialer.Warmup(ctx, config.Instance)
if err != nil {
dialer.Close()
return nil, err
}
return dialer, nil
}