Database Migrations with Go and Kubernetes

Applications with database layer mostly need to execute database migration as part of its deployment process. Usually, running migrations is the first step when deploying the application.

Golang CQRS, Metrics and AMQP - Watermill v0.3.0 released

54 days of work, 12,909 lines of code, 47 Monsters and 42 KFC Twisters later finally it is Watermill v0.3.0! To keep it short, let’s go through the changes. One important thing: at the end of this post there is a 3 question survey. Please take a moment to fill it out, it wi...

Go driver plugins

Our Software Dependency Problem

Download and run code from strangers on the internet. What could go wrong?

Google Cloud Functions in Go

Earlier this month Google Cloud Functions team finally announced beta support of Go, the runtime uses Go 1.11, which includes go modules as we know.

Integration test made easy with testcontainers

There are a lot of information in the title I know, but I am not good enough to make it simple. Back in the days, I tried to make some contribution to OpenZipkin an open source tracing infrastructure in Java.

GitLab CI tips for building custom workflows

This time I’d like to touch on a few more advanced topics related to GitLab CI. The common theme here is implementing custom features within your pipeline. Again, most of the tips are specific to GitLab, but some could be easily applied in other CI systems as well. Running...

GoReleaser Docker support

The next GoReleaser version will have a more flexible Docker configuration format. In this post we’ll explore it a bit. When I first added Docker support on GoReleaser, I did a couple of assumptions - and most of them were wrong. At that time, the config file looked like t...

The state of gRPC in the browser

gRPC 1.0 was released in August 2016 and has since grown to become one of the premier technical solutions for application communications. It has been adopted by startups, enterprise companies, and open source projects worldwide. Its support for polyglot environments, focus on per...

Creating local Go dev environment with Docker and live code reloading

This post is a quick how-to for starting a new project in Go. It features: Hot code reloading Running multiple Docker containers with Docker Compose Using Go Modules for managing dependencies It’s best to show the above working together with an example project. We’r...