# Mohammad Abu Mattar, Full Content Bundle > Full text of the professional core pages and all case studies, then a link index to every content section. For the exhaustive list of Markdown twins, see /llms-sitemap.txt. --- # Mohammad Abu Mattar --- # Content sections # blog 0 entries. # case-studies 0 entries. # cheatsheets 0 entries. # codesnippets 0 entries. # DevTips 18 entries. - [Terraform Workspaces vs. Directory-Based Environments: What Actually Scales](https://mkabumattar.com/devtips/post/terraform-workspaces-vs-directory-environments), Workspaces look like the easy way to split dev, staging, and prod, but they quietly stop scaling. Here is when workspaces bite, why most teams move to a folder per environment, and how to switch without breaking live infrastructure. - [GitHub Actions Secrets and Environment Variables: Handle Config the Right Way](https://mkabumattar.com/devtips/post/github-actions-secrets-environment-variables-guide), Stop leaking credentials in your workflows. This dev tip shows how to scope GitHub Actions secrets, swap long-lived keys for OIDC, mask sensitive output, and pass config between jobs without it ending up in your logs. - [Docker Multi-Stage Builds: Smaller, Safer Images for Production](https://mkabumattar.com/devtips/post/docker-multi-stage-builds-smaller-production-images), Ship lean, secure containers by splitting your build from your runtime. This dev tip shows how Docker multi-stage builds drop the compilers and dev dependencies, so your production image is smaller and has far less to attack. - [ArgoCD GitOps: Sync Kubernetes Deployments Automatically from Git](https://mkabumattar.com/devtips/post/argocd-gitops-kubernetes-deployments-git-sync), Stop running kubectl apply by hand. This dev tip shows how ArgoCD watches a Git repo and keeps your Kubernetes cluster matching it, with automatic sync, self-heal, and drift detection. - [Kubernetes Namespaces: Organize, Isolate, and Secure Multi-Team Clusters](https://mkabumattar.com/devtips/post/kubernetes-namespaces-organize-isolate-multi-team), Sharing one Kubernetes cluster across teams without the chaos. This dev tip walks through layered namespace isolation: ResourceQuotas, LimitRanges, default-deny NetworkPolicies, and namespace-scoped RBAC, with copy-paste manifests and a Terraform example. - [Helm Charts: Templating & Multi-Environment Kubernetes Deployments](https://mkabumattar.com/devtips/post/helm-charts-kubernetes-multi-environment), How Helm templates Kubernetes manifests for multi-environment deployments: values overrides per environment, conditional logic, chart dependencies, and GitOps rollout with ArgoCD. - [Structured Logging & Log Aggregation with ELK Stack](https://mkabumattar.com/devtips/post/structured-logging-elk-stack), Centralized logging for microservices with Elasticsearch, Logstash, and Kibana: structured JSON logging, the Logstash pipeline, Kibana dashboards, alerting rules, and index lifecycle policies for production. - [Container Image Vulnerability Scanning in CI/CD with Trivy](https://mkabumattar.com/devtips/post/container-image-vulnerability-scanning-trivy), How to automate container image vulnerability scanning in CI/CD with Trivy: installation, severity thresholds, GitHub Actions and GitLab CI integration, policy enforcement, and remediation workflows. - [Policy-as-Code Governance with OPA/Rego](https://mkabumattar.com/devtips/post/policy-as-code-opa-rego), How Open Policy Agent enforces infrastructure standards automatically: writing policies in Rego, wiring them into Terraform and Kubernetes, and blocking non-compliant changes in CI/CD before they merge. - [Setting Up GitHub Copilot Agent Skills in Your Repository](https://mkabumattar.com/devtips/post/github-copilot-agent-skills-setup), How to build custom Agent Skills for GitHub Copilot on the agentskills.io open standard: folder structure, SKILL.md configuration, the progressive-disclosure loading model, and enabling the feature in VS Code. - [7 Reasons Learning the Linux Terminal is Worth It (Even for Beginners)](https://mkabumattar.com/devtips/post/7-reasons-learning-linux-terminal-worth-it-beginners), Seven concrete reasons the Linux terminal is worth learning: commands are easier to remember than they look, text beats clicking through GUI menus, commands stay stable across versions, and scripts can automate what a GUI cannot. - [Docker Is Eating Your Disk Space (And How PruneMate Fixes It)](https://mkabumattar.com/devtips/post/docker-disk-space-prunemate), Your Docker host is slowly filling up with unused images, orphaned volumes, and stale build cache. Manual cleanup feels risky, and you might accidentally delete the wrong thing. Here's how PruneMate automates Docker maintenance across your home lab with scheduled cleanup, remote host support, and a clean interface that shows exactly what you're deleting before you commit. - [Understanding Kubernetes Services: ClusterIP vs NodePort vs LoadBalancer](https://mkabumattar.com/devtips/post/kubernetes-services-clusterip-nodeport-loadbalancer), When to use ClusterIP, NodePort, or LoadBalancer for a Kubernetes Service: how each type works, its best-fit use case, and the security and scaling trade-offs of picking the wrong one. - [Managing Terraform at Scale with Terragrunt](https://mkabumattar.com/devtips/post/terraform-terragrunt-wrappers), How Terragrunt wraps Terraform to remove duplicated backend and provider config across dev, staging, and production: defining shared settings once, overriding per environment, and letting Terragrunt handle state and module dependencies. - [HashiCorp Pulls the Plug on CDKTF](https://mkabumattar.com/devtips/post/cdktf-deprecation-hashicorp-terraform), HashiCorp just deprecated CDKTF as of December 10, 2025. If you built your infrastructure in TypeScript, Python, or Go to avoid HCL, your options are HCL with OpenTofu or a move to Pulumi, and vendor lock-in just bit again. - [Tracing Microservices with OpenTelemetry](https://mkabumattar.com/devtips/post/tracing-microservices-opentelemetry), How OpenTelemetry traces a request across distributed services: instrumenting your code, running a collector, and visualizing the resulting spans in Jaeger or Zipkin to find bottlenecks and errors. - [Organizing Terraform with Modules](https://mkabumattar.com/devtips/post/organizing-terraform-modules), How to split Terraform code into reusable modules for networking, databases, and other common components, stored in a shared repository so multiple projects and environments can pull from the same source instead of copy-pasted configuration. - [Securing CI/CD with IAM Roles](https://mkabumattar.com/devtips/post/securing-cicd-with-iam-roles), How to scope IAM roles per environment (dev, staging, production) in a CI/CD pipeline so each stage only gets the permissions it needs, cutting the blast radius if credentials leak or a build step misbehaves. # flashcards 0 entries. # glossary 0 entries. # quizzes 0 entries. # roadmaps 0 entries. # Series 11 series. - [AI & LLM Engineering](https://mkabumattar.com/series/ai--llm-engineering), 1 post (Devtips) - [Container Security & DevSecOps](https://mkabumattar.com/series/container-security--devsecops), 1 post (Devtips) - [Containers & Kubernetes](https://mkabumattar.com/series/containers--kubernetes), 1 post (Devtips) - [DevOps & CI/CD Pipelines](https://mkabumattar.com/series/devops--cicd-pipelines), 4 posts (Devtips) - [Infrastructure & Governance](https://mkabumattar.com/series/infrastructure--governance), 1 post (Devtips) - [Kubernetes & Container Orchestration](https://mkabumattar.com/series/kubernetes--container-orchestration), 1 post (Devtips) - [Kubernetes Deep Dive](https://mkabumattar.com/series/kubernetes-deep-dive), 1 post (Devtips) - [Kubernetes Operations](https://mkabumattar.com/series/kubernetes-operations), 1 post (Devtips) - [Linux Essentials](https://mkabumattar.com/series/linux-essentials), 1 post (Devtips) - [Mastering Terraform](https://mkabumattar.com/series/mastering-terraform), 4 posts (Devtips) - [Observability & Monitoring](https://mkabumattar.com/series/observability--monitoring), 2 posts (Devtips)