# Go and Upstash Redis: redigo over TLS, no official SDK
There is no official Upstash Go SDK. The supported path is any
RESP-speaking Go client over TLS. The docs use redigo:
import "github.com/gomodule/redigo/redis"
func main() {
c, err := redis.Dial("tcp", "YOUR_ENDPOINT:YOUR_PORT",
redis.DialUseTLS(true))
if err != nil {
panic(err)
}
defer c.Close()
if _, err = c.Do("AUTH", "YOUR_TOKEN"); err != nil {
panic(err)
}
_, err = c.Do("SET", "foo", "bar")
// ...
}
## Three things Go developers get wrong
1. Skipping TLS. Upstash has TLS on with no off switch. DialUseTLS(true)
is required, not optional.
2. Looking for a password field in the console. There is none. The token
shown in the console IS the password. AUTH with the token.
3. Assuming a native SDK exists because Node and Python have one. For Go,
redigo or go-redis over the RESP endpoint is the documented route.
Replace YOUR_ENDPOINT, YOUR_PORT, and YOUR_TOKEN with the values from
the console Connect tab (TCP section).