Recently, I came across a job posting that caught my attention. It mentioned “Care deeply about developers and their experience on the platform” as a key requirement. This resonated with me because it perfectly captures what I believe DevOps should be about—not just keeping systems running, but making sure developers can do their best work. As a DevOps engineer, I’ve learned that…
Introduction Provider versioning in Terraform is a critical aspect of infrastructure management that often gets overlooked until something breaks. The question isn’t whether to pin provider versions, but where and how to pin them effectively. This article explores the two main approaches: pinning at the composition level versus pinning at base/root modules, and provides guidance on when to…
When proxying requests, it’s crucial to understand the role of the Host header. This header specifies the target server for a request and can be altered by users to access different resources. The Host Header The Host header in a request indicates the intended server. For example: Host: example.com GET /v1/users The Host Header in Reverse Proxies In reverse proxies, the Host header…
In modern cloud-native environments, implementing GitOps principles effectively requires finding the right balance between team autonomy and system stability. This article explores key patterns and practices that can be applied across different GitOps tools (like ArgoCD, Flux, or Helm) to achieve this balance while maintaining system integrity. The Core Challenge When implementing GitOps,…
The Execute Bit: Different Meanings for Files and Directories In Linux, the execute permission (x) has different meanings depending on whether it’s applied to a file or a directory: For files: The execute bit allows the file to be run as a program or script For directories: The execute bit allows you to enter the directory (cd into it) and list its contents The Danger of chmod -R Using chmod…
Heve you ever wondered what’s going on behind the scenes when you use > /dev/null to discard output? The Mystery of /dev/null First, let’s look at what /dev/null actually is. If you run ls -l /dev/null , you’ll see something like this: crw-rw-rw- 1 root root 1, 3 Mar 26 18:31 /dev/null That c at the start? It tells us this is a character device - a special type of file that Linux…
Everyone knows that once a pod hits 100% of memory, it will be killed by the OOM killer. But did you know what happens with CPU? Let’s say you have a pod limited to 100mCPU. What actually happens under the hood? Understanding CPU Limits in Kubernetes As per official documentation : cpu limits are enforced by CPU throttling. When a container approaches its cpu limit, the kernel will restrict…
By day, I’m a DevOps Engineer, freelancer, and make sure things don’t catch fire (too often). By night, I break things in my homelab. 🚀 I’m a DevOps enthusiast who loves digging into Linux, Kubernetes, open source, and all automation things. This blog is my little corner of the internet where I share what I learn/the wins, failures, and everything in between. Let’s build, break, and learn…