Skip to content

lreimer/go-for-operations

Repository files navigation

Go for Operations Workshop

Demo repository for my "Go for Operations" workshop.

Use the right tool (and language) for the job! This is the motto for this hands-on session. Go is a popular modern, simple, reliable and efficient programming language especially in the Ops and Cloud-native domain. Docker, Kubernetes, Kubectl and many other known tools and infrastructure components are all implemented in Go.

Prerequisites

Make sure you have prepared your development environment properly.

  • Modern Operating System, like Windows 10 or MacOS
  • Local Golang installation. See https://golang.org/doc/install
  • Editor with support for Go
    • Visual Studio Code with Go plugin
    • IntelliJ IDEA with Go plugin
    • JetBrains GoLand
  • Modern terminal and shell
  • Git Client (either CLI or GUI)
  • Local Docker installation like Docker Desktop
  • Local Kubernetes installation like Docker Desktop or Minikube

Workshop Outline

  1. Getting to Know Go: Language Basics and Tooling
  2. Building CLI applications with Cobra
  3. Implementing a custom kubectl plugin
  4. Building a Sidecar container
  5. Building a Kubernetes Operator in Go

Workshop Challenge descriptions

We created several challenges for you to go through that feature the outlined workshop topics. Follow this README for instructions.

References

Maintainer

M.-Leander Reimer (@lreimer), mario-leander.reimer@qaware.de Markus Zimmermann (@markus_zm), markus.zimmermann@qaware.de

License

This software is provided under the MIT open source license, read the LICENSE file for details.