Kubernetes is one of the largest open source Go projects, so good tooling a solid understanding of Go is critical to Kubernetes development. This document provides a collection of resources, tools and tips that our developers have found useful.
- Kubernetes Go development environment
- The Go Spec - The Go Programming Language Specification.
- Go Tour - Official Go tutorial.
- Effective Go - A good collection of Go advice.
- Kubernetes Code conventions - Style guide for Kubernetes code.
- Three Go Landmines - Surprising behavior in the Go language. These have caused real bugs!
- godep - Used for Kubernetes dependency management. See also Kubernetes godep and dependency management
- Go Version Manager - A handy tool for managing Go versions.
- godepq - A tool for analyzing go import trees.
- Godoc bookmarklet - navigate from a github page to the corresponding godoc page.
- Consider making a separate Go tree for each project, which can make overlapping dependency management much easier. Remember to set the
$GOPATH
correctly! Consider scripting this. - Emacs users - setup go-mode