Files
awesome-kubernetes/docs/golang.md
Inaki Fernandez 0ece4663cc Jan 25th
2022-01-25 15:29:39 +01:00

12 KiB

Golang - Go

Introduction

Design Patterns

Tutorials

Kubernetes Client Go

Building container images

Go cheatsheets

Go Frameworks and libraries

Go packages

  • cap A collection of authentication Go packages related to OIDC, JWKs and Distributed Claims.
  • volatiletech/sqlboiler Generate a Go ORM tailored to your database schema.

Go Tools

  • jcchavezs/porto Tool for adding vanity imports URI to Go files. If you want to enforce vanity import paths, it automates the addition of the import directive.
  • mholt/json-to-go Translates JSON into a Go type in your browser instantly (original)
  • curl-to-go Instantly convert curl commands to Go code

Go Books

Go Samples

Dockerfile for go

Tweets

Click to expand!

If I were a system administrator looking to learn a new programming language it would be Go.

So many of our tools including Kubernetes, Prometheus, and Terraform are written, and extended, in Go that it's almost a requirement next to learning Bash. https://t.co/OfZmGo4uP5

— Kelsey Hightower (@kelseyhightower) December 7, 2020
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

Freshly released: go-test-trace. Allows you to generate distributed trace spans from #golang test cases and can participate into an existing distributed trace. Useful to diagnose CI/CD or to run locally. https://t.co/ypLt3sg5MW pic.twitter.com/hGfNJUxi81

— Jaana Dogan ヤナ ドガン (@rakyll) September 21, 2021
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

How I write HTTP services in #golang has changed over the years... here's my current style.

(Please consider sharing this with somebody you know who's learning Go.)

It's a yarn... 🧶

1/13

— Mat Ryer (@matryer) October 4, 2021
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

Working with Kubernetes Objects in Go 🔽

How data structures from our beloved YAML manifests are represented as Go structs and interfaces.

(a sneak peek from my work-in-progress article on k8s .io/api and k8s .io/apimachinery modules) pic.twitter.com/yLTP3riQOb

— Ivan Velichko (@iximiuz) January 22, 2022
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

What is runtime.Scheme in Kubernetes Go code?

I'd been confused by this concept for quite some time. Turns out - it's just a fancy object factory.

Scheme is a registry maintaining a mapping of Kinds (strings) to Types (structs).

Schemes are dynamic - new types can be appended. pic.twitter.com/7o3UYO1HH3

— Ivan Velichko (@iximiuz) January 24, 2022
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>