func newDialer()

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
}