Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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.
- Host: GitHub
- URL: https://github.com/lreimer/go-for-operations
- Owner: lreimer
- License: mit
- Created: 2020-02-19T14:06:50.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2023-02-06T23:58:46.000Z (about 2 years ago)
- Last Synced: 2024-11-15T00:50:47.883Z (3 months ago)
- Topics: development, devops, golang, kubernetes, site-reliability-engineering
- Language: Go
- Homepage:
- Size: 3.42 MB
- Stars: 3
- Watchers: 3
- Forks: 5
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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.