A Go program talking to Kubernetes

Next, install a neat little Go program called wuzz, an interactive HTTP client.

$ go get github.com/asciimoo/wuzz

Now we'll see how we can use wuzz to interact with a remote Kubernetes cluster.
telepresence will create a new Deployment inside Kubernetes that will act as a proxy, and then communication from the wuzz subprocess it runs will be forwarded to the cluster:

$ telepresence --run $GOPATH/bin/wuzz http://hello-world:8000/

Important: Go programs will not work with --method inject-tcp option.

The wuzz UI will appear with the URL http://hello-world:8000/.
Hit Enter and you should see the "Hello, World!" response from the Kubernetes service.
You can also interact with the Kubernetes API - change the URL to https://kubernetes/ (but typically you'll have problems with the custom certificate authority.)

Kubernetes talks to a Go program

You can also run a Go program as a local server and have requests to your Kubernetes Deployment forwarded to that process.
This is just the same as the example covered in the tutorial except that you use --method vpn-tcp, and run a Go process instead of a Python process.

For example, if you have a Deployment called myservice running in Kubernetes and listening on port 8080, you can temporarily swap it out for a local process and have traffic forwarded to your laptop: