Sometimes, off-the-shelf solutions just don’t quite do the job. They either lack required features, require too much configuration, or aren’t optimized for a specific use case. In my team's case, we had a difficult time finding a reverse proxy that could dynamically discover Kubernetes resources without a large amount of configuration. Luckily for us, Go provides a large standard library that had everything we needed to roll our own.
In this talk, I will describe why we made the decision to use Go’s httputil library to create a reverse proxy, rather than leverage Apache or Nginx, and will speak a bit about why others might reach for it as well. After that, I’ll provide a short introduction to Go and we’ll write a simple reverse proxy together.