This is how you want to manage your Terraform modules

What if I told you there is a way to manage all your private terraform modules, in a mono-repo, with independent versioning, without using git tags? After researching for a proper open-source tool, I found the right one for the job.
Go templates: customize your output using templates

Go templates are a powerful tool to customize output the way you want it. It’s a builtin package implements data-driven templates. Templates are executed by applying them to a data structure.
While there are articles covering the basics, I had a hard time findings material on more advanced use-cases, such as looping over complex structs or using a function in the template. This post aims to distill these advanced use-cases with examples.
A deep dive to Canary Deployments with Flagger, NGINX and Linkerd on Kubernetes

A deep-dive into progressive deployments, specifically Canary, on Kubernetes with Flagger using ingress-controller or a service mesh. How it works? I ran into some pitfalls and wrote about it, so you don’t need to solve it too.
Terraform: why data sources and filters are preferable over remote state

Why Terraform data sources are preferable over remote state, with use-cases using multiple filters based on tags to filter resources dynamically
Practical unit-testing web client in Go part 2 - https
Practical web client unit-testing in Go by mocking the server side, with examples from my first open-source project libvault
Practical unit-testing web client in Go

Practical web client unit-testing in Go by mocking the server side, with examples from my first open-source project libvault
How to share persistent storage volumes in Swarm

Docker swarm is an orchestration tool, similar to Kubernetes, but simpler to set up and manage. It doesn’t come with a shared storage solution out of the box, so that is something you need to take care for yourself.
How can Stackoverflow make you a better developer

Improve your productivity, career, coding skills, and become a better developer
If you don’t use a secret management tool, you’re doing it wrong

Secrets management refers to the tools and methods for managing digital authentication credentials (secrets), including passwords, keys, APIs, and tokens for use in applications, services, privileged accounts, and other sensitive parts of the IT ecosystem.
While secrets management is applicable across an entire enterprise, the terms secrets and secrets management are referred to more commonly in IT about DevOps environments, tools, and processes.
“Three may keep a secret, if two of them are dead.
Go’s method receiver: Pointer vs Value

The topic is large, and there is plenty of information online. This blog tries to keep it short and concise, and useful for experienced programmers that are new to Go.
Coming to Go from Python introduced me to a new concept I didn’t have to put thought into. Python is a pass-by-object-reference language. You have no direct control over that. What this means is, when you pass an object (everything in Python is an object) to a function, you pass a reference to the object itself.
How to run your own docker registry with password, SSL and S3 backend

I remember the day I started using Docker. The simplicity was overwhelming. I went over the official docs which are very good, and looked up some 101 tutorials to get started. I had successfully made my first image. Now that I have one, I want to deploy it over my servers. The first option was DockerHub , but a free account obligates you to share the images. If you need to keep them private, this service costs money.