Programming

Use go-grpc-middleware with kubebuilder

Kubernetes and gRPC are technologies to build distributed microservices. Writing gRPC servers in Go is fun and easy. With go-grpc-middleware, you can add various features to gRPC servers including access logs and Prometheus metrics. Kubebu…

An example of using dynamic client of k8s.io/client-go

In this article, I describe how to write a Kubernetes client in Go using the dynamic client in k8s.io/client-go package. During the course, you can learn the following things: The difference between typed clients and the dynamic client. Re…

Making well-behaved programs in Go with cybozu-go/cmd

We at kintone.com are using Go for variety of tasks. In early days when we started using Go, there were only few in-house rules to create commands. As a result, we faced several difficulties: Some servers did not record access logs. Some p…

Transparent SOCKS proxy in Go to replace NAT

I am working behind a cloud service kintone.com as an infrastructure engineer. My recent work was the replacement of NAT inside our data center with a transparent SOCKS proxy. In this post, I will describe our motivation for the replacemen…