Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/lreimer/go-for-operations

Demo repository for "Go for Operations" workshop.
https://github.com/lreimer/go-for-operations

development devops golang kubernetes site-reliability-engineering

Last synced: 3 months ago
JSON representation

Demo repository for "Go for Operations" workshop.

Awesome Lists containing this project

README

        

# 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](workshop/README.md) for instructions.

## References

- https://gobyexample.com
- https://learnxinyminutes.com/docs/go/
- https://goreleaser.com/quick-start/
- https://github.com/spf13/cobra/blob/master/cobra/README.md
- https://docs.aws.amazon.com/sdk-for-go/api/service/ec2/
- https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/using-ec2-with-go-sdk.html
- https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/go/example_code/ec2
- https://kubernetes.io/docs/tasks/extend-kubectl/kubectl-plugins/
- https://github.com/operator-framework/getting-started
- https://github.com/operator-framework/operator-sdk/blob/master/doc/user-guide.md

## Maintainer

M.-Leander Reimer (@lreimer),
Markus Zimmermann (@markus_zm),

## License

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