Carlos Alexandro Becker

GoReleaser Docker support

The next GoReleaser version will have a more flexible Docker configuration format. In this post we’ll explore it a bit.

Golang: cache things using interfaces

Caching things can be hard to do and hard to test. In this post I’ll demonstrate a convenient way of doing that using interfaces.

Monitoring GitHub releases with Prometheus

I have written some exporters to observe things on GitHub. This is how and why.

Using Goss to validate Packer builds

Ever wanted to validate your Packer image with Goss? Well, you can!

Keeping json files formatted

I’m working in a project that uses Chef, so it has a lot of JSON files. I like everything to be preperly formatted. The choice of format itself does not bother me much, giving that there is one. This project did not (although it was surprisingly not that bad).

GoReleaser: build and push Snapcraft packages from TravisCI

GoReleaser was able to build snap packages for a long time, but it wasn’t able to push them until today. Let’s see how to wrap to your TravisCI build!

Couchbase: rolling upgrade from 4.5.x to 5.1.x

I have an old Couchbase 4.5.x cluster, and I though it would be nice to upgrade it. This are my notes and the tests I did before doing it “in production”™️.

GopherCon Brasil 2018

A quick review of my second ever GopherCon - the first one as a speaker, and my experience talking.

Upgrading ElasticSearch 2 to 5: S3 snapshot/restore strategy

Migrating an ElasticSearch cluster from version 2 to 5 can be challenging, even more if it is a big cluster. In this post we will explore one of the strategies that can be used to do such migration, setting a up a playground environment in which we can learn the migration procedures and test things out safely.

GoReleaser: lessons learned so far

I’ve started GoReleaser almost 2 years ago. This is a summary of (some) things I’ve learned down the road.