This is how you want to manage your Terraform modules

Photo by Kadarius Seegars on Unsplash
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.
Read more →

Go templates: customize your output using templates

Photo by RhondaK Native Florida Folk Artist on Unsplash
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.
Read more →

A deep dive to Canary Deployments with Flagger, NGINX and Linkerd on Kubernetes

Photo by Clay Banks on Unsplash
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.
Read more →

Terraform: why data sources and filters are preferable over remote state

Photo by Ivan Bandura on Unsplash
Why Terraform data sources are preferable over remote state, with use-cases using multiple filters based on tags to filter resources dynamically
Read more →

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
Read more →

Practical unit-testing web client in Go

Photo by Karl Pawlowicz on Unsplash
Practical web client unit-testing in Go by mocking the server side, with examples from my first open-source project libvault
Read more →

How to share persistent storage volumes in Swarm

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.
Read more →

How can Stackoverflow make you a better developer

Photo by Clark Tibbs on Unsplash
Improve your productivity, career, coding skills, and become a better developer
Read more →

If you don’t use a secret management tool, you’re doing it wrong

Photo by Michelen Studios on Unsplash
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.
Read more →

Go’s method receiver: Pointer vs Value

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.
Read more →

How to run your own docker registry with password, SSL and S3 backend

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.
Read more →