# DevOps Daily > DevOps Daily is an educational platform providing tutorials, guides, exercises, quizzes, and news for DevOps engineers. Content covers Docker, Kubernetes, Terraform, CI/CD, Linux, AWS, Git, Python, and more. - Last updated: 2026-08-11 - Content: 525 posts, 20 guides, 20 exercises, 44 quizzes, 27 flashcard decks, 24 checklists, 110 interview questions, 51 interactive simulators - License: Open source (GitHub) - Contact: info@devops-daily.com ## Pages - [Home](https://devops-daily.com): DevOps tutorials, guides, exercises, and weekly news - [Posts](https://devops-daily.com/posts): 525+ technical articles on DevOps tools and practices - [Guides](https://devops-daily.com/guides): Multi-part comprehensive learning resources - [Exercises](https://devops-daily.com/exercises): Hands-on labs with step-by-step instructions - [Quizzes](https://devops-daily.com/quizzes): Test your DevOps knowledge with interactive quizzes - [Flashcards](https://devops-daily.com/flashcards): Review key concepts with spaced-repetition flashcards - [Checklists](https://devops-daily.com/checklists): Actionable security and best-practice checklists - [Interview Questions](https://devops-daily.com/interview-questions): DevOps interview prep for junior to senior - [News](https://devops-daily.com/news): Weekly curated DevOps news digests - [Games](https://devops-daily.com/games): 51+ interactive DevOps simulators and learning tools - [Roadmap](https://devops-daily.com/roadmap): DevOps learning path from beginner to expert - [Roadmaps](https://devops-daily.com/roadmaps): Structured learning paths (Junior, DevSecOps) - [Books](https://devops-daily.com/books): Curated DevOps book recommendations - [DevOps Survival Guide](https://devops-daily.com/books/devops-survival-guide): Free DevOps learning resource - [About](https://devops-daily.com/about): About DevOps Daily - [Editorial Standards](https://devops-daily.com/editorial): Our editorial and correction policy ## Categories - [DevOps](https://devops-daily.com/categories/devops): DevOps practices and tools - [Docker](https://devops-daily.com/categories/docker): Docker articles, tutorials, and guides on DevOps Daily covering containers, images, Dockerfiles, Compose, volumes, networking, and production best practices. - [Terraform](https://devops-daily.com/categories/terraform): Infrastructure as code - [Kubernetes](https://devops-daily.com/categories/kubernetes): Container orchestration and management - [Git](https://devops-daily.com/categories/git): Git and version control for developers - [Linux](https://devops-daily.com/categories/linux): Linux operating system and distributions - [Bash](https://devops-daily.com/categories/bash): Bash scripting and command line - [Networking](https://devops-daily.com/categories/networking): Networking concepts and practices - [Security](https://devops-daily.com/categories/security): Application and infrastructure security - [AWS](https://devops-daily.com/categories/aws): Amazon Web Services cloud computing platform - [Cloud](https://devops-daily.com/categories/cloud): Cloud platforms and services - [Python](https://devops-daily.com/categories/python): Python programming language and its applications - [CI/CD](https://devops-daily.com/categories/ci-cd): Continuous integration and delivery - [FinOps](https://devops-daily.com/categories/finops): Understanding FinOps for cloud financial management ## Guides - [Security Gates](https://devops-daily.com/guides/security-gates): Implement automated security gates that block deployments on critical vulnerabilities, policy violations, and security failures. Shift security left in your CI/CD pipeline. (4 parts) - [Introduction to Packer](https://devops-daily.com/guides/introduction-to-packer): Learn how to build automated machine images with HashiCorp Packer, from basic concepts to multi-platform image creation (6 parts) - [Introduction to AWS](https://devops-daily.com/guides/introduction-to-aws): Learn AWS step by step by building a real cloud application. Covers IAM, EC2, S3, VPC, RDS, load balancing, Lambda, CloudWatch, and cost control. (10 parts) - [Introduction to Python](https://devops-daily.com/guides/introduction-to-python): A practical guide to Python programming from basics to building real projects (10 parts) - [Introduction to Docker](https://devops-daily.com/guides/introduction-to-docker): Beginner-friendly Docker guide covering containers, images, Dockerfiles, volumes, networking, Compose, and production best practices in 10 chapters. (10 parts) - [Introduction to Kubernetes](https://devops-daily.com/guides/introduction-to-kubernetes): Kubernetes introduction covering architecture, pods, deployments, services, and scaling for container orchestration (10 parts) - [Introduction to Linux](https://devops-daily.com/guides/introduction-to-linux): A practical guide to getting started with Linux for beginners and experienced users alike. Learn the basics of the Linux operating system, command line, and system administration skills needed to feel comfortable in a Linux environment. (10 parts) - [Introduction to Terraform](https://devops-daily.com/guides/introduction-to-terraform): Learn how to manage infrastructure as code with Terraform, from basic concepts to production-ready configurations (10 parts) - [Introduction to CI/CD with GitHub Actions](https://devops-daily.com/guides/introduction-to-cicd): Learn to automate your development workflow with GitHub Actions, from basic builds to sophisticated deployment pipelines. (10 parts) - [Introduction to PostgreSQL](https://devops-daily.com/guides/introduction-to-postgres): Learn how to work with PostgreSQL from database fundamentals to production deployment (10 parts) - [Cryptography Essentials](https://devops-daily.com/guides/cryptography-essentials): Master the cryptographic fundamentals every DevOps engineer needs: symmetric and asymmetric encryption, hashing algorithms, TLS/SSL certificates, and Public Key Infrastructure (PKI). (4 parts) - [Static Application Security Testing (SAST)](https://devops-daily.com/guides/sast-tools): Master Static Application Security Testing (SAST) with SonarQube, Semgrep, and CodeQL. Learn to detect vulnerabilities in source code before they reach production. (4 parts) - [Threat Modeling](https://devops-daily.com/guides/threat-modeling): Master threat modeling methodologies including STRIDE, DREAD, and attack trees. Learn to identify, analyze, and prioritize security threats in your systems with practical exercises. (4 parts) - [OWASP Top 10](https://devops-daily.com/guides/owasp-top-10): Learn about the OWASP Top 10 web application security risks. Understand each vulnerability, see real-world examples, and learn how to prevent them in your applications. (10 parts) - [Security Principles](https://devops-daily.com/guides/security-principles): Master the fundamental security principles every DevSecOps engineer needs to know. Learn CIA Triad, Defense in Depth, Least Privilege, and Zero Trust concepts with practical examples. (4 parts) - [A Practical Guide to FinOps for DevOps Engineers](https://devops-daily.com/guides/finops-for-devops-engineers): Learn how to implement FinOps practices in your DevOps workflows to optimize cloud costs while maintaining performance and reliability. (7 parts) - [Networking Fundamentals for Developers](https://devops-daily.com/guides/networking-fundamentals): A comprehensive guide to computer networking concepts, from basic protocols to advanced cloud networking and automation. (10 parts) - [Introduction to Ansible](https://devops-daily.com/guides/introduction-to-ansible): Learn how to automate server configuration and deployment tasks with Ansible, from basic concepts to production-ready practices. (10 parts) - [Introduction to Bash](https://devops-daily.com/guides/introduction-to-bash): Bash scripting and command line guide covering navigation, variables, control flow, functions, permissions, arguments, and best practices in 10 chapters. (10 parts) - [Introduction to Git](https://devops-daily.com/guides/introduction-to-git): A 10-part guide to Git version control covering repos, branching, merging, remotes, collaboration workflows, history rewriting, and team best practices. (10 parts) ## Posts - [Auth for a Postgres App, Without a Separate Service](https://devops-daily.com/posts/neon-auth-without-a-separate-service.md): The usual way to add auth is to run a second system next to your database and spend forever keeping the two in sync. Neon Auth puts the auth server in the same project as Postgres: one line in a config file, one deploy, and the user who signs in is a row you can join to your own tables. Here is how it works and why the reconciliation tax disappears. - [Realtime Chat With Auth: Next.js, Neon Auth, and WebSockets](https://devops-daily.com/posts/neon-realtime-chat-with-auth.md): A WebSocket cannot carry an Authorization header, so how do you know who is on the other end? This build-log wires a realtime chat where every socket is authenticated with a Neon Auth JWT, verified before the connection is accepted, and fanned out across isolates with Postgres LISTEN/NOTIFY. Real code, the security gotcha that matters, and the test output that proves it. - [Top 5 AI Agent Frameworks in 2026](https://devops-daily.com/posts/top-5-ai-agent-frameworks-2026.md): Five frameworks worth shipping production agents on, ranked against stated criteria, with the GitHub and npm numbers behind the ranking and an honest note on where each one loses. - [You Cannot Rotate a Secret You Cannot Find](https://devops-daily.com/posts/you-cannot-rotate-a-secret-you-cannot-find.md): Trace one credential from a laptop to production and count the copies it leaves behind. That count is your rotation cost and your blast radius, and it is why most teams never rotate anything. - [From DNS to Delivery: Building Transactional Email with SMTPFast](https://devops-daily.com/posts/from-dns-to-delivery-smtpfast.md): Connect a domain, send a FastAPI receipt through SMTPFast, trace delivery beyond the 200 response, and verify signed webhooks end to end. - [Adding SAML and SCIM Before It Costs You a Deal](https://devops-daily.com/posts/saml-scim-before-it-costs-you-a-deal.md): What actually changes in your application when an enterprise buyer asks for SSO and directory sync, in the order you should build it, including the validation steps that turn SAML into an authentication bypass if you skip them. - [Terraform Strings and Conditionals: The Complete Guide](https://devops-daily.com/posts/terraform-strings-and-conditionals.md): Building strings, checking substrings, ternaries, optional attributes and conditional resources, in one place. - [What Does One Merge Actually Cost You in CI?](https://devops-daily.com/posts/what-does-one-merge-cost-in-ci.md): Wall-clock time and machine minutes are different numbers, and most teams track only one. Here is how to get both from your own repo. - [I Tested AI Resume Screening. The Model Was the Fair Part](https://devops-daily.com/posts/ai-resume-screening-devops-what-i-measured.md): Eight models scored the same DevOps resume. They ignored tool names and buzzwords, but six docked the engineer for a career break. - [A Postgres Branch Per Learner: Building on Neon](https://devops-daily.com/posts/building-a-learning-platform-on-neon.md): Every hands-on lab gets its own Postgres branch, AI generation runs outside the request cycle, and cleanup is core infrastructure rather than a chore. - [Running a Background Job That Must Not Be Lost](https://devops-daily.com/posts/running-a-background-job-that-must-not-be-lost.md): A queue gets your job to a worker, not to the finish line. What happens when the worker dies halfway, and a durable executor in 90 lines of TypeScript. - [Build and Deploy a Ticket Triage App with DigitalOcean Inference](https://devops-daily.com/posts/digitalocean-inference-ticket-triage-app.md): Build a practical FastAPI ticket triage app with DigitalOcean Serverless Inference, then deploy it to App Platform with Terraform. - [Stacked Pull Requests on GitHub: What They Actually Fix](https://devops-daily.com/posts/github-stacked-pull-requests-public-preview.md): GitHub shipped stacked pull requests to public preview. What stacking solves, how the gh-stack workflow works, and when a stack is the wrong shape. - [What It Actually Takes to Deliver a Webhook in Production](https://devops-daily.com/posts/reliable-webhook-delivery-retries-signatures-idempotency.md): Sending a webhook is one HTTP POST. Delivering one is a retry schedule, a signature scheme, an idempotency story, and a way to answer "did you get it?" six hours later. Here is the whole problem, and a working Node implementation of both sides. - [Explaining CI Failures Automatically with a GitHub Action](https://devops-daily.com/posts/ci-log-triage-digitalocean-inference.md): We built a GitHub Action that reads a failing job log and tells you what broke, using DigitalOcean serverless inference. The interesting part was not the model call. It was throwing away 92% of the log before sending it. - [The DevOps Skills That Create Openings, Not Just Pass Filters](https://devops-daily.com/posts/devops-skills-that-create-job-openings.md): Most skill lists tell you what gets you past a screening. They do not tell you what makes a company decide to hire someone in the first place. Those are different lists, and the second one is shorter, more specific, and worth a lot more. - [What Sending a Developer Newsletter Actually Takes](https://devops-daily.com/posts/what-sending-a-developer-newsletter-actually-takes.md): A newsletter looks like a for-loop over an address list. It is not. Here is the infrastructure behind the DevOps Daily newsletter: sending domain and DNS, bounce and complaint handling, one-click unsubscribe, idempotent scheduling, and the Message-ID that makes any of it debuggable. - [11 Laws That Quietly Run Your Engineering Team](https://devops-daily.com/posts/11-laws-that-run-your-engineering-team.md): Parkinson, Goodhart, Brooks, Chesterton. Eleven old "laws" that were not written about software but explain your incidents, your estimates, and your org chart better than most engineering blog posts. - [DMARCbis Is Here: What Changed in the New DMARC and What to Do to Your Records](https://devops-daily.com/posts/dmarcbis-what-changed-new-dmarc.md): DMARC finally became a real internet standard in 2026. The pct tag is gone, there are two new tags, and the Public Suffix List is out. Here is what actually changed and the exact edits to make to your DNS. - [Send an Email by Hand: The Raw SMTP Conversation (and Why You Should Not Do It in Production)](https://devops-daily.com/posts/send-an-email-by-hand-raw-smtp.md): You can open a socket to a mail server and type an email one command at a time. Doing it once teaches you what every email API hides. Here is the full SMTP conversation, byte by byte, and the exact reasons production sending needs more than a telnet session. - [DevOps Engineer, What's Next? Five Career Paths for the Next Five Years](https://devops-daily.com/posts/devops-engineer-career-paths-next-five-years.md): The generic "DevOps Engineer" title is splitting into specialized tracks. Here are five honest career paths for the next five years, what each one really involves, who thrives in it, and the first concrete step to take. - [One git push to RCE: the anatomy of CVE-2026-3854 and the parsing bug behind it](https://devops-daily.com/posts/github-rce-git-push-header-injection-cve-2026-3854.md): A single git push could execute code on GitHub's backend, with cross-tenant reach on github.com itself. The root cause is a bug you almost certainly have somewhere too: untrusted input smuggled through a delimited internal header. - [Stop Compiling Postgres Extensions in Your Dockerfile: How pglayers Works](https://devops-daily.com/posts/pglayers-postgres-extensions-docker-layers.md): Adding pgvector or PostGIS to a Postgres image usually means apt-get, build tools, and a fat, slow image. pglayers ships each extension as a scratch Docker layer you COPY in. Here is how it works and when to use it. - [Build the Container Boundary You Do Not Have: Seccomp Profiles with the Security Profiles Operator](https://devops-daily.com/posts/security-profiles-operator-seccomp-boundary.md): A container is not a security boundary out of the box, but you can build one. Here is a hands-on guide to recording, tuning, and enforcing seccomp profiles with the Security Profiles Operator, which just shipped v1.0. - [Swapping Across 25 Models With One Line](https://devops-daily.com/posts/neon-swap-25-models-one-line.md): Choosing a model is usually a commitment: an SDK, a key, an integration. Through the gateway it is a string, so you can shop the whole catalog per task. And the catalog spans a 100x price range, which turns model choice into your biggest cost lever. Here is the swap, the price spread, and a real multi-model run. - [The pwn request just got harder: what actions/checkout v7 changes, and what it does not](https://devops-daily.com/posts/pwn-request-github-actions-checkout-v7.md): GitHub is backporting a fork-checkout block to actions/checkout, with enforcement on July 20, 2026. Here is what a pwn request actually is, what the change stops, and the three ways your pipeline is still exposed after you upgrade. - [Build a Terraform Provider for Your API with the Plugin Framework](https://devops-daily.com/posts/build-a-terraform-provider-plugin-framework.md): If your product has a REST API, a Terraform provider lets people manage it as code. Here is how to build one with the modern Terraform Plugin Framework, using a real email API as the example, from client to registry. - [Per-Branch AI Endpoints: Isolating Model Spend Across Prod, Preview, and CI](https://devops-daily.com/posts/neon-per-branch-ai-spend-isolation.md): When previews, CI, and production all call models with the same key, you cannot tell what a preview cost or notice a runaway test until the invoice. Because a Neon branch is its own deployment with a usage ledger that lives in the branch's Postgres, model spend is attributed and isolated per environment. I proved it: a CI branch spent tokens while production stayed flat. - [Your GitOps Controller Is Tier Zero: the Argo CD repo-server RCE](https://devops-daily.com/posts/argo-cd-repo-server-unauthenticated-rce.md): An unauthenticated RCE in Argo CD's repo-server turns one compromised pod into full cluster takeover. Reported 18 months ago, still unpatched. Here is how it works and the one control that stops it. - [Your Container Is Not a Security Boundary: GhostLock (CVE-2026-43499)](https://devops-daily.com/posts/ghostlock-cve-2026-43499-container-boundary.md): A 15-year-old Linux kernel bug just got a public exploit that breaks out of containers and hands any local user root on the host. GhostLock is a reminder that the container is not your security boundary, the shared kernel is. Here is what actually shrinks the blast radius. - [How Docker Really Works, From docker run to the Kernel](https://devops-daily.com/posts/how-docker-works-under-the-hood.md): You type docker run and a container appears. Between those two moments the CLI, dockerd, containerd, and runc hand work down a chain until the Linux kernel puts your process in its own namespaces and cgroups. Here is the whole path, with the real commands to watch it happen. - [Model Fallback and Routing Without a Provider SDK Each](https://devops-daily.com/posts/neon-model-fallback-and-routing.md): Models have outages, rate limits, and bad minutes. A resilient app falls back to another one, but building that across providers normally means a different SDK and error shape for each. Through one OpenAI-compatible gateway, fallback is a loop over model names. Here it is, tested against a real failure. - [One Key for Claude, GPT, and Gemini: the Gateway Pattern](https://devops-daily.com/posts/neon-one-key-for-claude-gpt-gemini.md): Using three model providers usually means three API keys, three SDKs, and three billing relationships sprayed across your code. An AI gateway collapses that to one credential and one OpenAI-compatible endpoint. I proved it on a Neon Function: the same call answered by GPT, Claude, and Gemini. - [Migrating From S3 to Branch-Aware Storage](https://devops-daily.com/posts/neon-migrating-from-s3-to-branch-aware-storage.md): Neon object storage is S3-compatible, so moving to it is mostly a config change, not a rewrite. Your upload code, your presigned URLs, and your download paths all stay the same. Here is exactly what carries over, the small diff that changes, and a copy script to move the objects, with the honest list of what does not come along. - [Stop Standing Up an S3 Bucket Per Preview Environment](https://devops-daily.com/posts/neon-stop-a-bucket-per-preview-environment.md): Giving every preview environment isolated file storage usually means provisioning a real bucket per environment: policies, IAM, lifecycle rules, credentials, and a teardown job that leaves orphans anyway. When the bucket rides the database branch, that whole apparatus disappears. Here is the difference, tested. - [Stop Prompting, Start Looping: Agentic Loops Explained](https://devops-daily.com/posts/stop-prompting-start-looping.md): The best engineers stopped hand-writing prompts and started writing loops. Here is what an agentic loop actually is, the plan-build-judge pattern behind it, why the judge has to be a separate agent, and how to try it in an interactive simulator. - [The Docker AuthZ Bypass Is Back: CVE-2026-34040](https://devops-daily.com/posts/docker-authz-bypass-cve-2026-34040.md): CVE-2026-34040 lets a crafted API request slip past Docker authorization plugins, and it is an incomplete fix of the 2024 maximum-severity bug. Here is how the bypass works, who is exposed, and how to close it. - [PostgreSQL 18.2 Broke Standbys: The 18.x Upgrade Footguns](https://devops-daily.com/posts/postgres-18-2-standby-regression-upgrade-footguns.md): PostgreSQL 18.2 shipped regressions bad enough to force an out-of-cycle 18.3: halted standbys, substring crashes, and a pg_trgm segfault. Here is what went wrong and the quieter Postgres 18 upgrade traps to check before you patch. - [Presigned-URL Uploads From a Serverless Function](https://devops-daily.com/posts/neon-presigned-uploads-from-a-function.md): Streaming user uploads through your API means the bytes cross your server twice, and serverless functions have request-size limits that make it worse. Presigned URLs let the browser upload straight to object storage while your function just hands out permission. Here it is on a Neon Function, tested end to end. - [Object Storage That Branches With Your Database](https://devops-daily.com/posts/neon-object-storage-branches-with-your-database.md): Database branching gives you a throwaway copy of your rows. But your app also stores files in object storage, and those normally stay in one shared bucket. On Neon a branch forks the bucket too, so each branch gets its own copy of the files. I built a small files API to prove it. - [Stop Paginating With OFFSET: Keyset Pagination and the Deep-Page Cliff](https://devops-daily.com/posts/stop-paginating-with-offset.md): LIMIT/OFFSET is the reflexive way to paginate, and it is fine on page one. But OFFSET makes the database generate and throw away every row before the page you want, so cost grows with page depth until deep pages fall off a cliff. Keyset pagination makes every page the same speed regardless of depth. Here is why OFFSET is slow, the fix, and the one tradeoff. - [Firebase Alternatives in 2026: Choose by Why You Are Leaving, Not by a Ranking](https://devops-daily.com/posts/firebase-alternatives-2026.md): Most "Firebase alternatives" lists rank tools you cannot compare, because Firebase is five products in a trench coat. The useful question is which part you are replacing and why you are leaving: the Firestore bill that scales with reads, or the data model you cannot port. Here is an honest map of Supabase, Appwrite, Convex, PocketBase, Nhost, Amplify and the rest, grouped by the reason you are actually switching. - [When the SSH Server Attacks the Client: libssh2 CVE-2026-55200](https://devops-daily.com/posts/libssh2-cve-2026-55200-client-side-ssh.md): You spent years hardening sshd. This bug does not care. CVE-2026-55200 is a pre-auth heap overflow in libssh2 where a malicious SSH server takes over the client that connects to it, no credentials needed. And libssh2 is a client library hiding in curl, git tooling, and backup jobs all over your pipeline. Here is the bug, who is actually exposed, and how to find it in your stack. - [The Everything-on-Your-Branch Architecture](https://devops-daily.com/posts/neon-everything-on-your-branch-architecture.md): For a decade "branch the database" has meant a copy of the schema and rows. But your app is also files, backend code, and model config. Neon now forks all of it on one branch: Postgres, object storage, functions, and the AI gateway, together and isolated. I branched a full-stack project to prove it. - [A Postgres-Backed MCP Server in ~20 Lines](https://devops-daily.com/posts/neon-functions-postgres-mcp-server.md): Most of what an MCP server does is run database queries on behalf of an AI agent. So I put one right next to the database. Here is a Postgres-backed MCP server built on Neon Functions, deployed onto a database branch, with the code, a live client test, and the repo. - [Preview Environments That Include the Backend, Not Just the Frontend](https://devops-daily.com/posts/neon-functions-preview-environments-backend.md): Every PR gets a frontend preview URL. The backend is almost always one shared staging database, so previews quietly lie to you. On Neon a branch is the database, its data, and the functions together, so each PR can get a real isolated backend. Here is the workflow, tested end to end. - [Realtime Without a WebSocket Service](https://devops-daily.com/posts/neon-functions-realtime-without-websockets.md): Live counters, presence, notifications: the reflex is to add a websocket service to run and pay for. But if your data already lives in Postgres, it has a pub/sub built in. Here is realtime fan-out with Postgres LISTEN/NOTIFY and SSE on a Neon Function, tested with two live subscribers. - [hostNetwork Is Still a Footgun: What CVE-2026-32193 Teaches Every Cluster](https://devops-daily.com/posts/hostnetwork-footgun-cve-2026-32193.md): A recent AKS advisory let an untrusted pod with hostNetwork break out to the worker node. The Azure-specific bug is patched, but the footgun that made it reachable lives on every Kubernetes cluster. Here is how the escape class works and what to actually lock down. - [Stop Using Random UUIDs as Primary Keys: uuidv7() Lands in PostgreSQL 18](https://devops-daily.com/posts/postgres-18-uuidv7-primary-keys.md): Random UUIDv4 primary keys quietly wreck insert speed and bloat indexes on large tables. PostgreSQL 18 ships a native time-ordered uuidv7() that keeps the upsides of UUIDs without the B-tree penalty. Here are the numbers and how to adopt it. - [Compute That Lives on Your Database Branch](https://devops-daily.com/posts/neon-functions-compute-on-your-database-branch.md): Neon Functions run your code in the same region as your Postgres, on a per-branch URL. To see why that matters I deployed a small API and timed a query from inside the function versus from a machine across the Atlantic: 1.2 ms against 135 ms. Here is how it works, with the real numbers and the repo. - [Streaming an AI Agent Without a Function Timeout](https://devops-daily.com/posts/neon-functions-streaming-without-timeout.md): Long agent loops and long token streams run into the same wall: a serverless function that hits its execution cap and cuts the connection. Neon Functions hold long-lived streaming connections by default. I deployed two endpoints to prove it: one streamed for 90 seconds, the other streamed an agent token by token starting at 466 ms. - [Splunk Shipped an Unauthenticated Database Sidecar: CVE-2026-20253](https://devops-daily.com/posts/splunk-postgres-sidecar-rce-cve-2026-20253.md): You did not install a PostgreSQL server, but Splunk Enterprise 10 did, and in affected versions its sidecar endpoint had no authentication. The result is a pre-auth, CVSS 9.8 path to writing files on the host as the Splunk user, now on CISA's actively-exploited list. The bug is patched; the broader lesson is about every helper service your tools quietly bundle. - [I Gave an AI Agent a Database, Compute, Storage, and Models From One CLI](https://devops-daily.com/posts/ai-agent-stack-one-cli-neon-platform.md): An AI agent usually needs four accounts: a database, somewhere to run, object storage, and a model provider. I wired all four from a single Neon credential and had a deployed image-generating agent in a few minutes. Here is the actual build log, the config that ties it together, and the honest caveats. - [Neon Is Becoming a Backend Platform, Not Just Postgres](https://devops-daily.com/posts/neon-backend-platform-not-just-postgres.md): In June 2026 Neon added serverless functions, S3-compatible object storage, and an AI gateway to its database. The interesting part is not any one feature, it is the through-line: everything branches with your data. Here is what shipped, what it competes with, and where the seams still show. - [Your Automation Platform Is a Credential Honeypot: Ansible CVE-2026-11807](https://devops-daily.com/posts/ansible-automation-platform-credential-leak-cve-2026-11807.md): A missing authorization check in Event-Driven Ansible lets any logged-in user pull plaintext vault passwords, SSH keys, and OAuth tokens out of Ansible Automation Platform. It is a CVSS 9.6, it is patched, and it is a reminder of what your automation control plane really holds. - [SpaceX Just Bought Cursor for $60B. What That Means If Your Team Lives in It](https://devops-daily.com/posts/spacex-cursor-acquisition-betting-on-one-ai-tool.md): SpaceX is acquiring Anysphere, the maker of Cursor, in a $60 billion all-stock deal, the largest acquisition of a venture-backed startup ever. The number is the headline. The real question for engineering teams is what it means to build your daily workflow on a tool whose owner just changed. - [The gRPC-Go Auth Bypass Hiding in Your Dependency Tree: CVE-2026-33186](https://devops-daily.com/posts/grpc-go-authorization-bypass-cve-2026-33186.md): A missing leading slash lets requests slip past gRPC-Go authorization rules. It is a CVSS 9.1, it is fixed in 1.79.3, and because gRPC-Go is a transitive dependency in a huge slice of cloud-native Go, you may be shipping it without knowing. Here is how to find out. - [Kubernetes 1.37 Just Locked Its Feature Set: What Made the Cut](https://devops-daily.com/posts/kubernetes-1-37-feature-freeze-whats-locked-in.md): The enhancements freeze for Kubernetes 1.37 landed on June 17, so the shape of the August release is now decided. GPU partitioning keeps maturing for AI workloads, and a cgroup v1 change will stop some kubelets from starting. Here is what is locked in and what to check before you upgrade. - [Your First Serverless LLM Call on DigitalOcean in 10 Minutes](https://devops-daily.com/posts/digitalocean-serverless-inference-first-call.md): DigitalOcean's Inference Engine gives you an OpenAI-compatible endpoint with pay-per-token pricing and no GPU to manage. Here is the fastest path from zero to a working call, with curl, Python, and Node, every snippet run against the live API. - [Secrets Management Best Practices with HashiCorp Vault](https://devops-daily.com/posts/hashicorp-vault-secrets-management-best-practices.md): Run HashiCorp Vault the way production needs it: auto-unseal, AppRole auth for machines, dynamic database credentials that expire on their own, and encryption as a service. Real config, real terminal output. - [AI SRE Agents: What They Actually Fix, and What They Will Happily Break](https://devops-daily.com/posts/ai-sre-agents-what-they-fix-and-break.md): AI SRE is now its own category, with every incident vendor shipping an agent that investigates and remediates on its own. Here is the honest split: where these agents genuinely earn their keep, where they are oversold, and the one risk nobody puts on the marketing page. - [Hetzner Doubled Its Prices Again. The AI Memory Crunch Is Why](https://devops-daily.com/posts/hetzner-doubled-prices-ai-memory-crunch.md): On June 15, 2026, Hetzner raised prices on new orders by roughly 99% in Germany and 158% in the US, the latest in a string of 2026 increases. It is not greed and it is not just Hetzner: the AI memory supercycle has reached the infrastructure bill of teams that never touch AI. - [How to Design a Multi-Region Active-Active Architecture on AWS](https://devops-daily.com/posts/multi-region-active-active-aws.md): A practical walkthrough of building active-active multi-region apps on AWS: traffic routing with Route 53 and Global Accelerator, data replication with DynamoDB Global Tables and Aurora, and the application changes that make failover actually work. - [The US Government Pulled Two Frontier Models Overnight. The Real Lesson Is About Your Stack](https://devops-daily.com/posts/government-pulled-fable-mythos-what-builders-should-learn.md): On June 12, 2026, an export-control directive forced Anthropic to disable Claude Fable 5 and Mythos 5 for every user worldwide, three days after launch. The policy fight is interesting. The operational lesson for anyone building on a single model provider is more urgent. - [npm v12 Will Stop Running Install Scripts. We Audited Our Repos to See What Actually Breaks](https://devops-daily.com/posts/npm-v12-install-scripts-audit.md): Starting with npm v12 (estimated July 2026), dependency install scripts will not run unless you allowlist them. We ran the new audit tooling on our own production repos: 65 packages flagged, 4 that matter, and a surprising amount of nothing breaking. - [OpenTofu 1.12: destroy = false Retires the tofu state rm Ritual](https://devops-daily.com/posts/opentofu-1-12-destroy-false-state-surgery.md): OpenTofu 1.12 lets a resource declare that it should be forgotten instead of destroyed, makes prevent_destroy dynamic, and quietly ends the manual providers lock step. Here is what each change does, plus the footguns the release notes will not warn you about. - [Neon vs Supabase in Production: We Benchmarked the Operations That Page You at 3am](https://devops-daily.com/posts/neon-vs-supabase-operational-benchmarks.md): Two benchmark sessions against Neon and Supabase Pro measured what spec sheets never show: compute resizes cost 39 seconds of real downtime on one platform and zero on the other, read replicas differ by 23x, and branch creation has a tail you should know about. - [Neon vs Supabase Pricing: What the Same App Costs From Launch to Scale](https://devops-daily.com/posts/neon-vs-supabase-scaling-costs.md): We priced one application through five growth stages on both platforms using verified June 2026 list prices. The result is three distinct cost regimes, two crossover points, and a surprise: at scale the biggest line item is not the database. - [Neon vs Supabase Free Tiers: We Benchmarked Both So You Don't Have To](https://devops-daily.com/posts/neon-vs-supabase-free-tier-benchmarks.md): We ran 320 timed operations against the Neon and Supabase free tiers from a same-region client: query latency, project creation, cold starts, and branching. The latency race is a tie, and the real differences are nothing like the marketing. - [node-postgres Silently Ignores Your TLS Config When the URL Says sslmode](https://devops-daily.com/posts/node-postgres-sslmode-silently-ignores-ssl-options.md): If your connection string contains sslmode=require, the pg library throws away the ssl options object where you loaded your CA certificate, and verification fails with "self-signed certificate in certificate chain". Here is the trap, the fix, and the v9 changes coming. - [Designing Rate Limiting for APIs: Algorithms, Patterns, and Implementation](https://devops-daily.com/posts/designing-rate-limiting-for-apis.md): A practical comparison of token bucket, leaky bucket, fixed window, and sliding window rate limiting, with copy-paste Redis and FastAPI code, nginx config, and guidance on which one to actually use. - [Shai-Hulud Reaches PyPI: The Hades Wave That Runs Before You Import It](https://devops-daily.com/posts/shai-hulud-hades-pypi-wave-june-2026.md): The Shai-Hulud worm jumped to PyPI on June 7. The Hades wave hides in 19 Python packages, runs at interpreter startup through a .pth hook before you import anything, and steals your CI/CD secrets. - [Is Valkey Ready to Replace Redis in 2026?](https://devops-daily.com/posts/is-valkey-ready-to-replace-redis-2026.md): Valkey forked from Redis after the 2024 license change and has matured fast. Here is whether it is production-ready, how the migration works, and whether the AGPL question even applies to you. - [OpenTofu in 2026: Should You Switch from Terraform (and What It Actually Costs You)](https://devops-daily.com/posts/opentofu-2026-switch-from-terraform.md): OpenTofu has matured into a real Terraform alternative in 2026. Here is what the fork gives you, why the migration is easier than you think, and where the actual lock-in hides. - [Zero-Downtime Database Migrations for PostgreSQL in Production](https://devops-daily.com/posts/zero-downtime-postgresql-migrations-production.md): A single ALTER TABLE can take down a busy PostgreSQL database for minutes. This post shows why that happens and how to ship schema changes safely with lock timeouts, the expand-and-contract pattern, and copy-paste SQL recipes for indexes, columns, constraints, and type changes. - [Hetzner's Third Price Increase in Three Months: What DevOps Teams Should Do](https://devops-daily.com/posts/hetzner-price-increases-2026.md): Hetzner is changing dedicated server and cloud pricing again on June 15, 2026. Here is what changed, why customers are frustrated, and how to decide whether to stay, resize, or move workloads. - [How NetEase Games Cut LLM Cold Starts From 42 Minutes to 30 Seconds Using Fluid](https://devops-daily.com/posts/netease-fluid-30-second-llm-cold-starts-kubernetes.md): NetEase Games published a Kubernetes case study walking through how they took their serverless GPU inference cold-start time from 42 minutes down to under 30 seconds. The bottleneck isn't the GPU. It's the 60GB model weights crossing a region. Here is what they did with the CNCF Fluid project and how to apply the same pattern even if you are not on Kubernetes. - [OpenTelemetry Just Graduated: What to Retire from Your Stack This Quarter](https://devops-daily.com/posts/opentelemetry-graduated-what-to-retire-this-quarter.md): On May 21, 2026, CNCF graduated OpenTelemetry. All three core signals (traces, metrics, logs) are now production-ready, the project is the second-most-active in CNCF after Kubernetes itself, and Anthropic, Bloomberg, Capital One, eBay, and Heroku run it at scale. Here is the decision framework for what proprietary agents you can stop running, what is still risky, and the 90-day adoption checklist. - [How to Build an Effective On-Call Rotation and Escalation Policy](https://devops-daily.com/posts/on-call-rotation-escalation-policy-guide.md): Your phone buzzed at 3:14 AM for a disk warning that auto-resolved by 3:16. Nobody fixes the alert. The next person on rotation hates their life. Here is how to build on-call schedules, escalation policies, and alert rules that respect your engineers. - [When the Malicious Hook Is in the Other Manifest: 700+ Repos, 8 Packagist Packages, One package.json Trick](https://devops-daily.com/posts/postinstall-hidden-in-package-json-php-supply-chain-may-2026.md): On May 22, 2026, Socket disclosed a Composer supply chain attack that hid an npm-style postinstall command inside package.json on PHP projects. composer.json was clean, the PHP review missed it, and 700+ GitHub repos pulled it in. Here is the exact payload, why ecosystem-boundary blindness keeps catching teams, and how to wire your CI to look at both manifests. - [node-ipc DNS-Tunneling Supply Chain Attack: Your Egress Firewall Probably Missed This](https://devops-daily.com/posts/node-ipc-dns-exfil-supply-chain-may-2026.md): On May 14, 2026, three malicious versions of the node-ipc npm package shipped a payload that hunts AWS, SSH, kubeconfig, and GitHub CLI credentials, then smuggles them out through DNS TXT queries. Most orgs filter HTTPS egress. Almost nobody filters DNS. Here is what the payload does and how to close the gap. - [AI Is Reshaping DevOps. The Engineers Are Faster Than the Vendors.](https://devops-daily.com/posts/ai-reshaping-devops-engineers-vs-vendors.md): GitHub, Datadog, HashiCorp and friends are moving carefully. The engineers running their stacks are wiring AI into kubectl and pull-request review on a Tuesday afternoon. Here is what is actually changing in 2026, what is not, and where the gap between vendors and the engineers using their tools is widest. - [AntV npm Compromise: The Shai-Hulud Worm Comes for Your Dashboards (May 19, 2026)](https://devops-daily.com/posts/antv-npm-shai-hulud-wave-may-2026.md): A new Shai-Hulud wave landed at 01:56 UTC on May 19 and rode the @antv maintainer account through 323 packages including echarts-for-react. Here is what got published, what it steals, and the lockfile grep that tells you if you are exposed. - [Cilium 1.19 ClusterMesh Policy Flip: The Silent Default That Will Drop Your Cross-Cluster Traffic](https://devops-daily.com/posts/cilium-1-19-clustermesh-policy-flip.md): Cilium 1.19 changed how network policies without a cluster selector resolve in a ClusterMesh. East/West traffic that 1.18 implicitly allowed is now silently dropped. Here is how to find every affected policy before you upgrade. - [Karpenter Spot Storm Fallback Gap: The Production Loop Nobody Talks About](https://devops-daily.com/posts/karpenter-spot-storm-fallback-gap.md): When AWS spot capacity dries up in a region, Karpenter does not automatically fall back to on-demand. It retries the same dying offerings on a 3-minute loop. Here is why, and how to design around it. - [Running Your First Chaos Engineering Experiment with Litmus](https://devops-daily.com/posts/running-first-chaos-engineering-experiment-litmus.md): A hands-on walkthrough of installing LitmusChaos on Kubernetes, killing pods on purpose, and watching whether your app actually recovers. Real YAML, real output, no theory. - [When One Data Center Room Got Hot: AWS US-EAST-1, Coinbase, and the DR Drill That Was Not](https://devops-daily.com/posts/aws-use1-az4-thermal-event-single-az-lessons.md): On May 7, 2026, cooling failed in a single hall of one US-EAST-1 data center. Coinbase, FanDuel, and CME Group went down for hours, and Coinbase publicly confirmed their backup systems did not work as expected. Here is what happened, the multi-AZ checklist that would have caught it, and the AWS Fault Injection Simulator commands to run the drill before the next thermal event. - [Argo CD CVE-2026-42880: When Read-Only Means Read-Everything-Including-Secrets](https://devops-daily.com/posts/argocd-cve-2026-42880-serversidediff-secret-leak.md): A critical Argo CD bug (CVSS 9.6, disclosed May 7) lets any authenticated user pull plaintext Kubernetes Secrets out of any Application that has ServerSideDiff with mutation-webhook diffs enabled. Here is the upgrade matrix, the one-liner to find at-risk apps in your cluster, and the safe RBAC scope-down for teams that cannot patch today. - [Ingress-NGINX Is Retired: A Real Migration to Gateway API With ingress2gateway 1.0](https://devops-daily.com/posts/ingress-nginx-eol-gateway-api-migration.md): In March 2026 the Kubernetes project retired ingress-nginx with no replacement waiting in the wings. Roughly half of all clusters still run it. This post is the migration that does not involve a flag day: how to inventory your annotations, what ingress2gateway 1.0 translates and what it silently drops, the side-by-side cutover pattern with the actual PromQL, and how to pick between Envoy Gateway, kgateway, Cilium Gateway, and Istio. - [NGINX Rift (CVE-2026-42945): The 18-Year-Old Rewrite Bug That Hands an Attacker Your Worker Process](https://devops-daily.com/posts/nginx-rift-cve-2026-42945-rewrite-rce.md): An autonomous code-audit tool found an 18-year-old heap overflow in NGINX's rewrite module. Affects every release from 0.6.27 through 1.30.0, plus NGINX Plus and the entire F5 product line. Full RCE PoC is public. Here is the one-line config grep that tells you whether you are exposed, the patch matrix, and what to do about the long tail of products that bundle the vulnerable nginx without a vendor patch yet. - [TanStack npm Worm: The Supply-Chain Attack With a Dead-Man's Switch](https://devops-daily.com/posts/tanstack-npm-worm-dead-mans-switch.md): On May 11, 2026, attackers republished 14+ official TanStack packages on npm with a worm that signs itself with valid SLSA provenance and arms a dead-man's switch that wipes your home directory the moment you revoke the stolen GitHub token. Here is what happened, how the payload works, and how to check your machine. - [Distributed Tracing with OpenTelemetry: From Instrumentation to Visualization](https://devops-daily.com/posts/distributed-tracing-opentelemetry-instrumentation-visualization.md): A walkthrough of instrumenting a real service with OpenTelemetry, running the Collector, and finding the slow span in Jaeger when a request hops across five microservices. - [Dirty Frag (CVE-2026-43284 + CVE-2026-43500): Local Root on Every Major Linux Distro](https://devops-daily.com/posts/dirty-frag-cve-2026-43284-linux-root-escalation.md): A two-bug chain in the Linux kernel networking subsystems lets any unprivileged local user become root in a single command. The PoC is public, the embargo broke, and not all distros have a patch yet. - [Next.js 16.2.6 and 15.5.18 Ship 13 Security Fixes: Patch Now](https://devops-daily.com/posts/nextjs-16-2-6-15-5-18-security-release.md): Vercel released back-to-back security updates for Next.js covering 7 high, 4 moderate, and 2 low severity advisories, including an upstream React denial-of-service issue. Here is what is broken, who is exposed, and the rollout path. - [Mini Shai-Hulud: PyTorch Lightning Just Stole Your CI Secrets](https://devops-daily.com/posts/mini-shai-hulud-pytorch-lightning-supply-chain-attack.md): On April 30 a supply chain worm pushed malicious versions of PyTorch Lightning (10M+ downloads/month), intercom-client, and intercom-php to PyPI, npm, and Packagist in 48 hours. It steals every credential in your CI and propagates through your own GitHub tokens. Here is what to check and what to rotate. - [10 GitHub Repositories That Will Actually Teach You DevOps in 2026](https://devops-daily.com/posts/top-github-devops-learning-repos-2026.md): Most "top DevOps repos" lists are recycled awesome-list links. This one is a curated set of repositories that will move the needle on your DevOps skills, with star counts, who each one is for, and how to actually use it. - [CVE-2026-3854: A Single git push Owned GitHub](https://devops-daily.com/posts/github-cve-2026-3854-git-push-rce.md): A semicolon in a git push option let any authenticated user run code on GitHub.com's backend and on 88% of self-hosted GitHub Enterprise installs. Here is how the bug worked and what to do. - [Istio Traffic Management: Routing, Retries, and Circuit Breaking](https://devops-daily.com/posts/istio-traffic-management-routing-retries-circuit-breaking.md): Configure weighted routing, automatic retries, and circuit breakers in Istio with copy-paste YAML examples and real kubectl output you can verify on your own cluster. - [CVE-2026-31431 Copy Fail: A 4-Byte Kernel Write That Escapes Containers](https://devops-daily.com/posts/copy-fail-cve-2026-31431-linux-container-escape.md): A new Linux kernel bug lets any unprivileged process flip 4 bytes in the page cache and break out of a container. runtime-default seccomp does not block it. Here is what to do. - [Kubernetes 1.36 Ships User Namespaces GA and Pod-Level In-Place Resize](https://devops-daily.com/posts/kubernetes-1-36-user-namespaces-pod-resize.md): Kubernetes 1.36 "Haru" landed on April 22, 2026. Two changes matter most for production: user namespaces graduated to stable, and pod-level CPU and memory can now be resized in place without restarting. Here is what each one does, the kubelet and runtime requirements, and how to enable them safely. - [GitOps with Argo CD: Structuring Your Repository for Multi-Environment Deployments](https://devops-daily.com/posts/gitops-argocd-repository-structure-multi-environment.md): A practical guide to laying out your Git repository for Argo CD across dev, staging, and production. See real folder structures, Kustomize and Helm patterns, and the pitfalls that bite teams in production. - [How to Set Up Cloud Cost Allocation Tags Across AWS, GCP, and Azure](https://devops-daily.com/posts/cloud-cost-allocation-tags-aws-gcp-azure.md): A working playbook for tagging resources across AWS, GCP, and Azure so finance can finally answer which team spent what, and engineers can prove their workload is not the expensive one. - [The MCP Design Flaw That Exposes 150M Downloads to RCE](https://devops-daily.com/posts/mcp-design-flaw-rce-supply-chain-risk.md): Researchers at OX Security disclosed an architectural vulnerability in Anthropic MCP that enables remote code execution across Python, TypeScript, Java, and Rust SDKs. Anthropic calls it "by design." Here is how the flaw works, which tools are affected, and what to do if you use Cursor, Claude Code, LangChain, or anything with an MCP server. - [The Vercel April 2026 Security Incident: What Happened and What to Do About It](https://devops-daily.com/posts/vercel-april-2026-security-incident.md): Vercel disclosed a security incident that started with a compromised OAuth app at Context.ai, escalated through a Vercel employee Google Workspace account, and reached internal systems plus customer environment variables not marked sensitive. Here is the attack chain, what was exposed, and what to change in your deployments. - [How Does It Work So Fast? The Engineering Behind Instant UI Responses](https://devops-daily.com/posts/how-does-it-work-so-fast.md): Credit card validation, username checks, autocomplete, URL shorteners - they all feel instant. Here is what is actually happening under the hood in each case. - [Two Composer Command Injection Flaws Let Attackers Run Arbitrary Code - Even Without Perforce](https://devops-daily.com/posts/composer-command-injection-cve-2026.md): CVE-2026-40176 and CVE-2026-40261 affect all Composer 2.x versions. A malicious composer.json or crafted package metadata can execute OS commands on your machine. Upgrade to 2.9.6 now. - [SLOs, SLIs, and Error Budgets: A Practical Implementation Guide](https://devops-daily.com/posts/slos-slis-error-budgets-practical-guide.md): Your service went down at 2 AM and nobody could agree on whether it was "bad enough" to page someone. SLOs, SLIs, and error budgets fix that. Here is how to define, measure, and act on them with real Prometheus queries and alerting rules. - [Best Claude Code Plugins for DevOps Engineers in 2026](https://devops-daily.com/posts/best-claude-code-plugins-devops-2026.md): A curated guide to Claude Code plugins built for DevOps workflows - from Terraform validation and Kubernetes troubleshooting to security scanning and CI/CD pipeline optimization. - [Claude Code: Agents, Commands, Skills, and Plugins Explained](https://devops-daily.com/posts/claude-code-agents-commands-skills-plugins-explained.md): A clear breakdown of the four extension types in Claude Code - what each one does, how they differ, and when to use which. No marketing fluff, just practical explanations with examples. - [CLI vs MCP: When to Use Each for AI-Powered DevOps](https://devops-daily.com/posts/cli-vs-mcp-when-to-use-each.md): CLI tools and MCP servers both let AI agents interact with your infrastructure, but they solve different problems. Here is when to reach for each one and why the answer is usually both. - [The Ory Ecosystem Explained: Identity, OAuth2, and SSO for Kubernetes](https://devops-daily.com/posts/ory-ecosystem-identity-auth-kubernetes.md): A practical breakdown of the Ory ecosystem - Kratos, Hydra, Polis, Oathkeeper, and Keto - what each one does, how they connect, and how to pick the right components for your auth stack. - [Building an Internal Developer Platform from Scratch](https://devops-daily.com/posts/building-internal-developer-platform-from-scratch.md): A step-by-step guide to designing and building an internal developer platform that gives your teams self-service infrastructure, faster deployments, and fewer tickets to the platform team. - [Coolify: Self-Hosted PaaS on DigitalOcean - Deploy Apps Without Vendor Lock-In](https://devops-daily.com/posts/coolify-self-hosted-paas-digitalocean.md): Set up Coolify on a DigitalOcean droplet and get your own Vercel-like platform for deploying Next.js apps, databases, and more - with auto SSL, GitHub auto-deploy, and no per-seat pricing. - [CVE-2025-55182 React2Shell: 766 Next.js Hosts Breached in 24 Hours](https://devops-daily.com/posts/react2shell-cve-2025-55182-nextjs-breach.md): A CVSS 10.0 RCE in React Server Components let attackers breach 766 Next.js hosts in a single day, stealing database credentials, SSH keys, and cloud secrets. Here is how it works, who is affected, and what to do right now. - [Claude Code Source Leaked via npm Source Maps: Lessons for Every DevOps Team](https://devops-daily.com/posts/claude-code-source-leak-what-devops-engineers-should-learn.md): Anthropic accidentally shipped source maps in their npm package, exposing 512,000 lines of Claude Code source. Here is what went wrong and how to prevent it in your own CI/CD pipeline. - [The Axios Supply Chain Attack: What DevOps Teams Need to Know](https://devops-daily.com/posts/axios-supply-chain-attack-what-happened-and-what-to-do.md): A compromised npm maintainer account led to malicious axios versions deploying a RAT across macOS, Windows, and Linux. Here is what happened, how to check if you are affected, and how to prevent this in your pipeline. - [Claude Code Hidden Features You Probably Missed](https://devops-daily.com/posts/claude-code-hidden-features-you-probably-missed.md): From mobile sessions to automated PR reviews, here are the Claude Code features that most engineers overlook but can seriously level up your workflow. - [5 DevOps Books Worth Reading in 2026](https://devops-daily.com/posts/devops-books-to-read-in-2026.md): A curated list of DevOps books that are actually worth your time in 2026, from beginner Linux guides to production Kubernetes patterns and the SRE bible. - [How to Implement Progressive Delivery with Feature Flags](https://devops-daily.com/posts/how-to-implement-progressive-delivery-with-feature-flags.md): Learn how to implement progressive delivery using feature flags, canary releases, and gradual rollouts to ship changes safely in production without risking your entire user base. - [Migrating from Heroku to DigitalOcean](https://devops-daily.com/posts/migrating-from-heroku-to-digitalocean.md): A complete guide to migrating production applications from Heroku to DigitalOcean. Covers App Platform, Managed Databases, Redis, Spaces, Coolify self-hosted, and infrastructure-as-code setup with real-world migration strategies. - [Why Most FinOps Initiatives Fail (and What Actually Works)](https://devops-daily.com/posts/why-finops-initiatives-fail.md): Your FinOps team is probably a reporting bottleneck, not a cost optimization engine. The fix: stop centralizing cost visibility and start decentralizing cost accountability to the teams that own the services. - [The 3 Infrastructure Decisions That Determine Your Engineering Velocity](https://devops-daily.com/posts/3-infrastructure-decisions-engineering-velocity.md): Provisioning model, environment strategy, and deployment surface. Everything else is optimization. Here's how to make these foundational choices without killing your team's momentum. - [Your Cloud Bill Is an Organizational Problem, Not a Technical One](https://devops-daily.com/posts/cloud-bill-organizational-problem.md): Why your AWS bill keeps growing despite cost optimization efforts. The real driver is team structure, not instance size. A framework for tying cloud spend to service ownership and engineering accountability. - [When Kubernetes Is the Wrong Default](https://devops-daily.com/posts/when-kubernetes-is-wrong-default.md): Most teams adopt Kubernetes too early. Here's a pragmatic framework for deciding between managed platforms, VMs, and Kubernetes based on your team size and workload characteristics. - [Build vs Buy in 2026: What Still Makes Sense to Build In-House?](https://devops-daily.com/posts/build-vs-buy-2026.md): A practical guide to infrastructure decisions: When building in-house makes sense, when it wastes resources, and how to calculate the true cost of engineering time. - [The Hidden Cost of Overengineering Your First 50 Engineers](https://devops-daily.com/posts/hidden-cost-overengineering-first-50-engineers.md): Service meshes, multi-cloud strategies, and platform teams sound impressive. But for early-stage companies, they often slow delivery and burn cash. A practical guide to progressive complexity adoption. - [Heroku vs Self-Hosting: A Cost-Benefit Analysis for 2026](https://devops-daily.com/posts/heroku-vs-self-hosting-cost-analysis.md): A transparent breakdown of Heroku costs versus self-hosting alternatives. Real numbers, honest tradeoffs, and a framework to help you decide when to make the switch. - [5 Advanced Docker Features Worth Knowing](https://devops-daily.com/posts/advanced-docker-features.md): Go beyond Docker basics with BuildKit, multi-stage builds, health checks, init processes, and build secrets. Learn practical techniques that improve security, performance, and reliability. - [Infrastructure as Code: A Beginner's Guide to IaC Fundamentals](https://devops-daily.com/posts/infrastructure-as-code-fundamentals.md): Learn the fundamentals of Infrastructure as Code - what it is, why it matters, key concepts, popular tools, and best practices for managing infrastructure with code. - [Heroku is Shutting Down: Top Alternatives for Your Apps in 2026](https://devops-daily.com/posts/heroku-alternatives-2026.md): Heroku has announced it is transitioning to a sustaining model with no new features. Here are the best alternatives to migrate your applications. - [Understanding Kubernetes Operators: A Deep Dive with a Practical Example](https://devops-daily.com/posts/write-simple-kubernetes-operator.md): Learn the concepts behind Kubernetes operators, why they exist, and how the control loop pattern works, then build one yourself to solidify your understanding. - [DevOps vs SysAdmin vs SRE: What's the Difference?](https://devops-daily.com/posts/devops-vs-sysadmin-vs-sre.md): Confused about DevOps, SysAdmin, and SRE roles? This beginner-friendly guide uses real-world analogies to explain what each role does, how they differ, and which path might be right for you. - [What is DevOps? A Complete Beginner's Guide](https://devops-daily.com/posts/what-is-devops.md): New to DevOps? This beginner-friendly guide explains what DevOps is, why it matters, and how it transforms the way software is built and delivered - no technical background required. - [GitOps: Deploy Docker Containers with GitHub Actions and ArgoCD](https://devops-daily.com/posts/gitops-deploy-docker-containers-github-actions-argocd.md): Learn how to implement a modern GitOps workflow for Docker deployments. This guide covers building images with GitHub Actions, pushing to container registries, and automated deployments with ArgoCD. - [How to Publish a Helm Chart](https://devops-daily.com/posts/how-to-publish-helm-chart.md): Learn how to package and publish your Helm charts to various repositories including GitHub Pages, OCI registries, and ChartMuseum. This guide covers the complete workflow from packaging to distribution. - [Docker Image Optimization: Best Practices for Smaller, Faster Images](https://devops-daily.com/posts/docker-image-optimization-best-practices.md): Learn proven strategies to optimize Docker images: multi-stage builds, layer caching, base image selection, and security hardening. Reduce image size by up to 90% while improving build times and security. - [Introduction to ArgoCD: Getting Started with GitOps](https://devops-daily.com/posts/introduction-to-argocd.md): Learn how ArgoCD brings GitOps principles to Kubernetes deployments. This hands-on guide covers core concepts, architecture, and practical examples to get you started with declarative, automated application delivery. - [How to Set Up AWS Cost Explorer and Budgets for Teams](https://devops-daily.com/posts/how-to-set-up-aws-cost-explorer-and-budgets-for-teams.md): Learn how to set up AWS Cost Explorer and Budgets to track cloud spending, prevent cost overruns, and keep your team informed about AWS expenses. - [Deployment Strategies: Blue-Green, Canary, and Rolling Deployments Explained](https://devops-daily.com/posts/deployment-strategies-guide.md): Learn how to deploy applications safely using blue-green, canary, and rolling deployment strategies. Understand the theory, trade-offs, and decision-making behind each approach. - [Ping Response: Request Timed Out vs Destination Host Unreachable](https://devops-daily.com/posts/ping-timeout-vs-destination-unreachable.md): Understand the difference between ping timeout and destination unreachable errors, what they mean for network troubleshooting, and how to diagnose connectivity issues. - [The 5-Minute Kubernetes Cluster Health Check](https://devops-daily.com/posts/5-minute-kubernetes-cluster-health-check.md): Learn how to quickly assess your Kubernetes cluster's health with essential commands and catch issues before they become critical problems. - [Right-Sizing Kubernetes Resources with VPA and Karpenter](https://devops-daily.com/posts/right-sizing-kubernetes-resources-vpa-karpenter.md): Overprovisioned CPU and memory in Kubernetes increases costs and reduces efficiency. Learn how to use Vertical Pod Autoscaler, Karpenter, and monitoring tools to balance performance and resource usage. - [How to Free Up a TCP/IP Port on Linux, macOS, and Windows](https://devops-daily.com/posts/how-to-free-up-tcp-port.md): Learn how to identify processes using a port and free it up by stopping the service, killing the process, or changing configuration across different operating systems. - [The Hidden Costs of Over-Automation in DevOps](https://devops-daily.com/posts/designing-automation-with-failure-in-mind.md): Automation speeds things up, but too much of it can hide failures, slow incident response, and add fragile layers you have to maintain. - [The 10 Most Common DevOps Mistakes (And How to Avoid Them in 2025)](https://devops-daily.com/posts/devops-mistakes-2025.md): Explore the top 10 DevOps mistakes made in 2025 and learn how to avoid them to ensure a smoother DevOps journey. - [How to Get a List of All Valid IP Addresses in a Local Network?](https://devops-daily.com/posts/how-to-get-a-list-of-all-valid-ip-addresses-in-a-local-network.md): Discover active devices on your local network using tools like nmap, arp-scan, and native OS commands. Learn network scanning techniques for inventory management, security audits, and troubleshooting. - [A Day in the Life of a DevOps Engineer](https://devops-daily.com/posts/a-day-in-a-life-of-a-devops-engineer.md): Follow a DevOps engineer through a typical day - from morning deployments to midnight hotfixes. Real challenges, real solutions, and real impact on business operations. - [How Can I Delete a Remote Tag?](https://devops-daily.com/posts/how-can-i-delete-a-remote-tag.md): Learn how to delete Git tags from remote repositories safely. Understand the difference between local and remote tag deletion, and discover best practices for managing release tags in team environments. - [COPY with Docker but with Exclusion](https://devops-daily.com/posts/copy-with-docker-exclusion.md): Learn how to use the COPY instruction in Docker with exclusion patterns to optimize your Docker builds. - [How to Set Image Name in Dockerfile](https://devops-daily.com/posts/set-image-name-dockerfile.md): Learn how to set and manage image names effectively in Dockerfiles for streamlined workflows. This guide covers the steps to build Docker images with specific names and tags. - [Forward Host Port to Docker Container](https://devops-daily.com/posts/forward-host-port-to-docker-container.md): Learn how to map ports from your host machine to Docker containers using -p, expose services on specific interfaces, handle port conflicts, and dynamically add port forwarding to running containers. - [How to Use the AWS account_id Variable in Terraform](https://devops-daily.com/posts/use-aws-account-id-variable.md): Learn how to dynamically retrieve and use the AWS account_id variable in Terraform for your configurations. - [How do I Get Flask to Run on Port 80?](https://devops-daily.com/posts/how-do-i-get-flask-to-run-on-port-80.md): Running Flask on port 80 requires special permissions since port 80 is a privileged port. Learn the different approaches to running Flask on port 80, from using sudo to setting up reverse proxies with Nginx. - [How to Make an Existing Git Branch Track a Remote Branch](https://devops-daily.com/posts/make-git-branch-track-remote.md): Need to set up tracking between a local branch and a remote branch? Learn how to configure branch tracking for easier push and pull operations in Git. - [Can Two Different Sockets Share a TCP Port?](https://devops-daily.com/posts/can-two-sockets-share-tcp-port.md): Understand how TCP port sharing works with SO_REUSEADDR and SO_REUSEPORT, when multiple sockets can bind to the same port, and the limitations you need to know. - [Why Your CI/CD Pipeline Is Slower Than It Should Be (and How to Fix It)](https://devops-daily.com/posts/why-your-ci-pipeline-is-slower.md): Small pipeline changes give big wins. Parallelize jobs, cache dependencies, pin images, reuse build artifacts, and run only the tests you need. - [What do PTY and TTY Mean?](https://devops-daily.com/posts/what-do-pty-and-tty-mean.md): TTY and PTY are interfaces for text input and output in Unix systems. Learn the difference between physical terminals (TTY), pseudo-terminals (PTY), and how they enable SSH sessions, terminal emulators, and command-line tools. - [Command to Delete All Pods in All Kubernetes Namespaces](https://devops-daily.com/posts/delete-all-pods-in-all-namespaces.md): Learn how to delete all Pods across all namespaces in Kubernetes using a single command. Understand the implications and best practices for this operation. - [How to Clone a Git Repository into a Specific Folder](https://devops-daily.com/posts/clone-git-repo-specific-folder.md): Want to clone a repository into a custom directory name? Learn how to specify the target folder when cloning Git repositories. - [How do I Resolve Merge Conflicts in a Git Repository?](https://devops-daily.com/posts/how-do-i-resolve-merge-conflicts-in-a-git-repository.md): Merge conflicts happen when Git cannot automatically combine changes from different branches. Learn how to identify, understand, and resolve conflicts to keep your development workflow moving forward. - [How to Set Git Editor for Commit Messages](https://devops-daily.com/posts/set-git-editor-commit-messages.md): Want to use your preferred editor for Git commit messages? Learn how to configure Git to use VS Code, Vim, Nano, Emacs, or any editor of your choice. - [Why Does the C Preprocessor Interpret "linux" as "1"?](https://devops-daily.com/posts/why-c-preprocessor-interprets-linux-as-one.md): Discover why the word 'linux' is predefined as the constant 1 in the C preprocessor on Linux systems, and how this historical quirk can cause unexpected compilation errors. - [How Docker Differs from a Virtual Machine (And Why It Matters)](https://devops-daily.com/posts/how-docker-differs-from-a-virtual-machine.md): Containers and virtual machines both isolate environments, but they work in very different ways. This guide explains the key differences and when to use each. - [How to Clone a Specific Git Branch](https://devops-daily.com/posts/clone-specific-git-branch.md): Need to clone just one branch instead of the entire repository? Learn how to clone a specific Git branch directly and save time and disk space. - [How to Copy Docker Images Between Hosts Without a Repository](https://devops-daily.com/posts/copy-docker-images-between-hosts-withouta-repository.md): Learn how to transfer Docker images directly between machines when a container registry is unavailable or impractical. - [Docker: How to Use Bash with an Alpine Based Docker Image](https://devops-daily.com/posts/docker-alpine-use-bash.md): Want to use bash in your Alpine-based Docker container? Learn why Alpine uses sh by default, how to install bash, and best practices for interactive shells and scripts. - [How to Access a Docker Container's Shell](https://devops-daily.com/posts/how-to-access-docker-container-shell.md): Learn how to get into a Docker container shell using exec, attach, and other methods for debugging, configuration, and maintenance. - [Network Usage Top/Htop on Linux](https://devops-daily.com/posts/network-usage-top-htop-on-linux.md): Monitor real-time network bandwidth usage on Linux with tools like iftop, nethogs, nload, and bmon. Learn which processes are consuming bandwidth, track interface statistics, and identify network bottlenecks. - [Why SCTP Is Not Widely Used Despite Its Technical Advantages](https://devops-daily.com/posts/why-sctp-is-not-widely-used.md): Explore why Stream Control Transmission Protocol (SCTP) remains niche despite offering features that improve on both TCP and UDP, including NAT issues, lack of OS support, and ecosystem inertia. - [Understanding the Difference Between CMD and ENTRYPOINT in Dockerfiles](https://devops-daily.com/posts/difference-between-cmd-and-entrypoint-in-dockerfiles.md): Learn how CMD and ENTRYPOINT instructions work, how they interact with each other, and when to use each one for more flexible Docker containers. - [How to Start a Stopped Docker Container with a Different Command](https://devops-daily.com/posts/start-stopped-docker-container-different-command.md): Need to run a different command in a stopped Docker container? Learn your options for changing the startup command, including docker commit, docker run --entrypoint, and best practices for debugging or recovery. - [How to Copy Files from Docker Containers to the Host Machine](https://devops-daily.com/posts/copy-files-from-docker-container-to-host.md): Learn efficient ways to extract and retrieve files from your running or stopped Docker containers to your host filesystem. - [How to Get docker-compose to Always Re-create Containers from Fresh Images](https://devops-daily.com/posts/docker-compose-always-recreate-containers.md): Want to make sure docker-compose always uses the latest image and re-creates containers? Learn the right flags, workflow, and best practices to avoid stale containers in development and CI. - [Terraform: Failed to install provider, does not match checksums from dependency lock file](https://devops-daily.com/posts/terraform-provider-checksum-mismatch.md): Troubleshoot the Terraform error about provider checksums not matching the dependency lock file and learn safe fixes and best practices. - [Difference Between Running and Starting a Docker Container](https://devops-daily.com/posts/docker-run-vs-docker-start.md): Confused about 'docker run' vs 'docker start'? Learn the difference between running and starting a Docker container, with practical examples and best practices for your workflow. - [How Can I Inspect the File System of a Failed Docker Build?](https://devops-daily.com/posts/inspect-filesystem-of-failed-docker-build.md): Want to debug a failed Docker build? Learn practical ways to inspect the build's file system, including interactive debugging with buildkit, temporary containers, and troubleshooting tips. - [docker: 'build' requires 1 argument. See 'docker build --help'](https://devops-daily.com/posts/docker-build-requires-1-argument.md): Getting the error 'docker: build requires 1 argument'? Learn what it means, why it happens, and how to fix it with practical examples for your Docker workflow. - [Exposing a Port on a Live Docker Container](https://devops-daily.com/posts/expose-port-on-live-docker-container.md): Need to access a service running inside a Docker container, but forgot to expose the port? Learn your options for exposing ports on a running container, workarounds, and best practices for future-proof setups. - [Using SSH Keys Inside a Docker Container](https://devops-daily.com/posts/using-ssh-keys-in-docker-container.md): Need to use SSH keys in your Docker container for git, automation, or remote access? Learn secure ways to provide SSH keys, best practices for builds, and how to avoid common pitfalls. - [Connecting to PostgreSQL in a Docker Container from Outside](https://devops-daily.com/posts/connecting-to-postgresql-in-a-docker-container-from-outside.md): Expose PostgreSQL safely and connect from your host or another machine using Docker and Docker Compose. Covers port publishing, listen addresses, pg_hba.conf basics, and common troubleshooting. - [How to Use sudo Inside a Docker Container](https://devops-daily.com/posts/how-to-use-sudo-in-docker-container.md): Need to run commands as root or another user inside your Docker container? Learn when and how to use sudo, why it's often unnecessary, and best practices for secure container builds. - [How Can I Trigger a Kubernetes Scheduled Job Manually?](https://devops-daily.com/posts/trigger-kubernetes-scheduled-job-manually.md): Learn how to manually trigger a Kubernetes Scheduled Job to run on demand. Understand the steps, commands, and best practices for this operation. - [What Is the Difference Between 'docker compose' and 'docker-compose'?](https://devops-daily.com/posts/docker-compose-vs-docker-compose.md): Confused about 'docker compose' vs 'docker-compose'? Learn the key differences, why the new command exists, and which one you should use for your projects. - [How Can I Use Environment Variables in docker-compose?](https://devops-daily.com/posts/docker-compose-environment-variables.md): Learn the best ways to manage and use environment variables in docker-compose files, including .env files, variable substitution, and secure practices for real-world projects. - [How to Use docker-compose up for Only Certain Containers](https://devops-daily.com/posts/docker-compose-up-only-certain-containers.md): Want to start just a few services from your docker-compose file? Learn how to use docker-compose up to run only specific containers, with practical examples and tips for multi-service projects. - [Using ls to list directories and their total sizes](https://devops-daily.com/posts/using-ls-list-directories-sizes.md): How to show directory sizes from the shell - practical commands for macOS and Linux, and why `ls` alone is not enough. - [Connecting to Host Machine's Localhost from a Docker Container](https://devops-daily.com/posts/connect-to-host-localhost-from-docker.md): Learn how to properly connect to services running on your host machine from within Docker containers - [How to Run a Cron Job Inside a Docker Container](https://devops-daily.com/posts/how-to-run-cron-job-in-docker.md): Learn how to schedule and run cron jobs inside Docker containers, with practical Dockerfile examples, troubleshooting tips, and best practices for reliable automation. - [Understanding the Difference Between COPY and ADD in Dockerfiles](https://devops-daily.com/posts/dockerfile-copy-vs-add-commands.md): Learn when to use COPY vs ADD instructions in your Dockerfiles for better security and build performance - [How Do You Attach and Detach from Docker's Process?](https://devops-daily.com/posts/how-to-attach-detach-docker-process.md): Learn how to attach to a running Docker container's process, interact with it, and safely detach without stopping the container. Includes keyboard shortcuts, practical examples, and troubleshooting tips. - [How to Get the IP Address of the Docker Host from Inside a Docker Container](https://devops-daily.com/posts/how-to-get-docker-host-ip-from-container.md): Need your container to talk to the Docker host? Learn practical ways to discover the host's IP address from inside a container, with examples for Linux, macOS, and Windows. - [How to Explore a Docker Container File System](https://devops-daily.com/posts/exploring-docker-container-file-system.md): Learn different ways to inspect, browse, and copy files from Docker containers, whether they're running or stopped. Essential techniques for debugging and understanding containerized applications. - [Difference Between git add -A and git add . in Git](https://devops-daily.com/posts/git-add-a-vs-git-add-dot.md): Confused about when to use git add -A versus git add dot? Learn the key differences and when to use each command for staging files. - [How to Fix Terraform "Variables Not Allowed" Error During Plan](https://devops-daily.com/posts/terraform-variables-not-allowed-error-plan.md): Learn why Terraform throws 'Variables not allowed' errors in certain contexts and how to resolve them using locals, data sources, or restructuring your configuration. - [How to Connect to Network Shares with Username and Password](https://devops-daily.com/posts/connect-network-share-with-credentials.md): Learn how to mount SMB/CIFS network shares with credentials on Linux, macOS, and Windows, including persistent mounts and secure credential storage. - [Network Tools That Simulate Slow Network Connection](https://devops-daily.com/posts/network-tools-that-simulate-slow-network-connection.md): Test how your applications handle slow, lossy, or high-latency networks using simulation tools. Learn to use tc, comcast, clumsy, and Network Link Conditioner to throttle bandwidth and add delay for realistic testing. - [Namespace "Stuck" as Terminating: How Do I Remove It?](https://devops-daily.com/posts/remove-stuck-terminating-namespace.md): Learn how to resolve the issue of a Kubernetes namespace stuck in the Terminating state. Understand the causes and steps to fix it. - [How to Change Author and Committer for Multiple Commits in Git](https://devops-daily.com/posts/change-author-multiple-commits-git.md): Need to fix incorrect author information across many commits? Learn how to batch update author and committer names and emails in Git history. - [How to Kill All Processes with a Given Partial Name in Linux](https://devops-daily.com/posts/kill-processes-by-partial-name.md): Learn how to terminate multiple processes by matching partial names using pkill, killall, and other methods. Understand the risks and safe practices for bulk process termination. - [Experimenting Locally with Terraform](https://devops-daily.com/posts/experimenting-locally-with-terraform.md): Practical techniques for running, testing, and iterating on Terraform locally before you push changes to remote state or CI. - [What is the Difference Between Active and Passive FTP?](https://devops-daily.com/posts/what-is-the-difference-between-active-and-passive-ftp.md): Active and passive FTP differ in how the data connection is established. Learn how each mode works, when to use them, and how they interact with firewalls and NAT. - [Can Terraform Watch a Directory for Changes? Working With Dynamic Files](https://devops-daily.com/posts/can-terraform-watch-directory-for-changes.md): Learn how to handle scenarios where you need Terraform to respond to file changes, and explore alternatives to automatic directory watching. - [How to Get the Current Branch Name in Git](https://devops-daily.com/posts/get-current-branch-name-git.md): Need to programmatically get the current Git branch name? Learn multiple methods to retrieve the branch name for scripts, CI/CD pipelines, and shell prompts. - [How to Measure the Actual Memory Usage of an Application or Process](https://devops-daily.com/posts/measure-actual-memory-usage-of-process.md): Learn how to accurately measure real memory usage of processes in Linux, understand the difference between virtual, resident, and shared memory, and use the right tools for memory analysis. - [How to Switch Namespace in Kubernetes](https://devops-daily.com/posts/switch-namespace-in-kubernetes.md): Learn how to switch between namespaces in Kubernetes using kubectl commands and configuration files. Understand the importance of namespaces and practical examples. - [How Do I Force Kubernetes to Re-Pull an Image?](https://devops-daily.com/posts/force-kubernetes-repull-image.md): Learn how to force Kubernetes to re-pull container images to ensure your Pods use the latest version. Understand the steps and implications of this operation. - [How to Get Current Date and Time in Linux Terminal and Create Custom Commands](https://devops-daily.com/posts/get-current-date-time-and-custom-commands.md): Learn how to display the current date and time in various formats using the date command, and create custom shell aliases for quick access to your preferred formats. - [How to Close TCP and UDP Ports via Windows Command Line](https://devops-daily.com/posts/how-to-close-tcp-and-udp-ports-via-windows-command-line.md): Learn how to close open ports on Windows using command-line tools. Find and terminate processes listening on ports, manage Windows Firewall rules, and stop services to free up ports. - [How to Create a Remote Git Branch](https://devops-daily.com/posts/create-remote-git-branch.md): Need to create a branch on the remote repository? Learn how to push local branches to remote and create remote branches directly. - [How to Find an Available Port on Linux, macOS, and Windows](https://devops-daily.com/posts/how-to-find-available-port.md): Learn multiple methods to find open ports on your system, from command-line tools like netstat and lsof to programmatic approaches in Python and Node.js. - [How to Mount a Single File in a Volume](https://devops-daily.com/posts/how-to-mount-a-single-file-in-a-volume.md): Learn practical ways to mount exactly one file into a container using Docker bind mounts, Docker Compose, and Kubernetes with subPath. Includes real examples, caveats, and troubleshooting tips. - [Best practices when using Terraform?](https://devops-daily.com/posts/best-practices-when-using-terraform.md): Discover essential best practices for using Terraform to manage your infrastructure effectively and securely. - [How to create an SSH key in Terraform?](https://devops-daily.com/posts/how-to-create-an-ssh-key-in-terraform.md): Learn how to generate and manage SSH keys in Terraform for secure access to your infrastructure. - [Increasing the Maximum Number of TCP/IP Connections in Linux](https://devops-daily.com/posts/increasing-the-maximum-number-of-tcp-ip-connections-in-linux.md): Learn how to tune Linux kernel parameters to handle more TCP connections for high-traffic servers. Adjust file descriptors, TCP backlog, port ranges, and connection tracking limits to scale your applications. - [Kubernetes Service External IP Pending](https://devops-daily.com/posts/kubernetes-service-external-ip-pending.md): Learn how to troubleshoot and resolve the issue of a Kubernetes service's external IP being stuck in the Pending state. Understand the causes and solutions for this common problem. - [How to Share Providers and Variables Across Terraform Modules](https://devops-daily.com/posts/terraform-provider-variable-sharing-modules.md): Learn the right way to configure providers and pass variables when working with Terraform modules, avoiding common pitfalls with provider inheritance and variable scoping. - [How to Change the Commit Author for a Single Commit in Git](https://devops-daily.com/posts/change-commit-author-single.md): Made a commit with the wrong author information? Learn how to change the author name and email for a single commit in your Git history. - [How to Organize Terraform Modules for Multiple Environments](https://devops-daily.com/posts/organize-terraform-modules-multiple-environments.md): Learn effective patterns for structuring Terraform modules to manage dev, staging, and production environments without duplicating code. - [How Do SO_REUSEADDR and SO_REUSEPORT Differ?](https://devops-daily.com/posts/so-reuseaddr-vs-so-reuseport.md): Understand the difference between SO_REUSEADDR and SO_REUSEPORT socket options, when to use each one, and how they solve different problems in network programming. - [How to Save Terraform Plan and Apply Output to a File](https://devops-daily.com/posts/terraform-save-plan-apply-output-to-file.md): Learn how to save Terraform plan output for review, share readable apply logs, and use the -out flag for safe two-step deployments. - [What is P99 Latency?](https://devops-daily.com/posts/what-is-p99-latency.md): P99 latency measures the response time at the 99th percentile, showing how fast your slowest 1% of requests are. Learn why P99 is more important than average latency for understanding real user experience. - [How to Delete a Commit from a Git Branch](https://devops-daily.com/posts/delete-commit-from-branch.md): Need to remove a specific commit from your Git branch? Learn how to delete commits using reset, rebase, and revert while preserving your repository history. - [Where Does the Convention of Using /healthz for Application Health Checks Come From?](https://devops-daily.com/posts/healthz-convention-origin.md): Discover the origins of the /healthz endpoint convention for application health checks and why it has become a standard in modern software development. - [How do I Add an Empty Directory to a Git Repository?](https://devops-daily.com/posts/how-do-i-add-an-empty-directory-to-a-git-repository.md): Git does not track empty directories by design. Learn practical workarounds to include empty folders in your repository using .gitkeep files and understand why this limitation exists. - [How to Tar a Directory While Excluding Files and Folders](https://devops-daily.com/posts/tar-directory-excluding-files-and-folders.md): Create tar archives without including unnecessary files like node_modules, .git, or build artifacts. Learn to use --exclude patterns effectively for cleaner backups. - [How to Store Terraform Azure State File in a Different Subscription](https://devops-daily.com/posts/terraform-azure-state-file-different-subscription.md): Learn how to configure Terraform to store its state file in an Azure Storage Account that exists in a different subscription from your infrastructure resources. - [How Do I Get Logs from All Pods of a Kubernetes Replication Controller?](https://devops-daily.com/posts/get-logs-from-all-pods-replication-controller.md): Learn how to retrieve logs from all Pods managed by a Kubernetes replication controller. Understand the commands and best practices for effective logging. - [How to List Volumes in Docker Containers](https://devops-daily.com/posts/how-to-list-docker-volumes-in-containers.md): Learn multiple ways to view Docker volumes attached to containers, inspect volume mounts, find volume locations on the host, and understand volume usage across your Docker environment. - [Variable Keys in Terraform Maps](https://devops-daily.com/posts/variable-keys-in-terraform-maps.md): Use variable keys in Terraform maps to build dynamic, reusable configurations. Covers map syntax, dynamic lookups, and merging values across environments. - [What Does Terraform Refresh Really Do?](https://devops-daily.com/posts/terraform-refresh-explained.md): What `terraform refresh` actually does, how it updates the state file without changing real resources, and where it still fits in modern Terraform workflows. - [How to Get an Object from a List of Objects in Terraform?](https://devops-daily.com/posts/get-object-from-list-terraform.md): Learn how to retrieve a specific object from a list of objects in Terraform using filters and expressions. - [How to Run Terraform Init From a Different Directory](https://devops-daily.com/posts/terraform-run-init-from-different-folder.md): Learn how to initialize and manage Terraform configurations from outside their directory using -chdir, working directories, and automation patterns. - [How to Force cp to Overwrite Files Without Confirmation](https://devops-daily.com/posts/force-cp-overwrite-without-confirmation.md): Learn how to use cp command to overwrite existing files without prompts, understand the -f flag, and handle alias conflicts that cause unexpected confirmation requests. - [Should I commit .tfstate files to Git?](https://devops-daily.com/posts/should-i-commit-tfstate-files-to-git.md): Understand why committing .tfstate files to Git is not recommended and explore best practices for managing Terraform state. - [How to Update or Sync a Forked Repository on GitHub](https://devops-daily.com/posts/sync-forked-repository-github.md): Your fork is behind the original repository? Learn how to sync your GitHub fork with the upstream repository and keep it up to date with the latest changes. - [Close vs Shutdown Socket](https://devops-daily.com/posts/close-vs-shutdown-socket.md): Understanding the difference between close() and shutdown() for sockets matters for proper connection handling. Learn when to use each, how shutdown enables half-closed connections, and how close releases file descriptors. - [How to Add SSH Keys to GCP Instances Using Terraform](https://devops-daily.com/posts/terraform-add-ssh-key-gcp-instance.md): Learn how to configure SSH key access for Google Cloud Platform compute instances with Terraform, including project-wide and instance-specific keys. - [How to Append to a List in Terraform?](https://devops-daily.com/posts/append-to-list-terraform.md): Learn how to append elements to a list in Terraform using functions like `concat` and dynamic blocks. - [Terraform Outputs for Resources with Count](https://devops-daily.com/posts/terraform-outputs-for-resources-with-count.md): Learn how to manage and structure Terraform outputs for resources created with the `count` meta-argument. - [Specifying an API Gateway Endpoint with a Variable in Terraform](https://devops-daily.com/posts/api-gateway-endpoint-variable.md): Learn how to dynamically specify an API Gateway endpoint with a variable in Terraform for flexible configurations. - [How to Remove a Symlink to a Directory in Linux](https://devops-daily.com/posts/remove-symlink-to-directory.md): Removing a symlink to a directory can be tricky if you're not careful. Learn the correct way to delete symlinks without accidentally removing the target directory's contents. - [How to List All Files in a Git Commit](https://devops-daily.com/posts/list-files-in-commit-git.md): Need to see which files were changed in a commit? Learn how to list all files modified, added, or deleted in any Git commit using log and show commands. - [UDP vs TCP: How Much Faster Is UDP Really?](https://devops-daily.com/posts/udp-vs-tcp-performance-comparison.md): Understanding the performance differences between UDP and TCP protocols, when speed matters, and why UDP isn't always the faster choice in real-world applications. - [How to Output a Field From a Terraform Module](https://devops-daily.com/posts/terraform-output-field-from-module.md): Learn how to properly expose resource attributes from Terraform modules using outputs, and how to access nested values from complex data structures. - [Why Python open() Does Not Create a File If It Doesn't Exist](https://devops-daily.com/posts/python-open-does-not-create-file.md): Learn why open() in read mode fails on non-existent files, which modes create files automatically, and how to handle file creation properly in Python. - [Capturing Mobile Phone Traffic on Wireshark](https://devops-daily.com/posts/capturing-mobile-phone-traffic-on-wireshark.md): Learn how to capture and analyze network traffic from your mobile phone using Wireshark. Set up a proxy or WiFi hotspot to inspect HTTP/HTTPS requests, debug mobile apps, and understand what data your phone is sending. - [How to Find and Restore a Deleted File in Git](https://devops-daily.com/posts/find-restore-deleted-file-git.md): Accidentally deleted a file and need it back? Learn how to find when a file was deleted and restore it from Git history. - [Managing Different Environments in Terraform](https://devops-daily.com/posts/different-environments-in-terraform.md): Learn how to manage different environments in Terraform using workspaces, variable files, and directory structures. - [How to Sleep for Milliseconds in Bash and Linux](https://devops-daily.com/posts/sleep-for-milliseconds.md): Learn how to pause script execution for fractions of a second using sleep, usleep, and other methods for precise timing in Bash scripts and command-line operations. - [How to Add a Volume to an Existing Docker Container](https://devops-daily.com/posts/how-to-add-a-volume-to-an-existing-docker-container.md): You cannot change mounts on a running container, but you can safely recreate it with the desired volume. This guide shows exact commands for Docker CLI and Docker Compose, plus ways to migrate or seed data. - [Can a Resource Be Passed as a Variable into a Module?](https://devops-daily.com/posts/resource-as-variable-in-module.md): Learn how to pass resources as variables into modules in Terraform for reusable and modular infrastructure. - [How to Configure ECS Fargate Task Execution Roles With Terraform](https://devops-daily.com/posts/terraform-fargate-task-definition-execution-role.md): Learn how to properly set up IAM execution roles for ECS Fargate task definitions in Terraform, including permissions for ECR, CloudWatch Logs, and Secrets Manager. - [How to View the Change History of a File in Git](https://devops-daily.com/posts/view-file-change-history-git.md): Need to see how a file evolved over time? Learn how to view the complete change history of a file using Git log, diff, and blame commands. - ["Variables May Not Be Used Here" During Terraform Init](https://devops-daily.com/posts/variables-may-not-be-used-here-terraform-init.md): Learn why the "Variables may not be used here" error occurs during `terraform init` and how to resolve it. - [CI/CD Pipeline Hardening: A Practical Guide to Securing Your Build Infrastructure](https://devops-daily.com/posts/cicd-pipeline-hardening-guide.md): Your CI/CD pipeline has access to source code, secrets, and production environments. Here is how to harden it against supply chain attacks, secret exfiltration, and artifact tampering. - [How to Integrate DAST Into Your CI/CD Pipeline (With OWASP ZAP Examples)](https://devops-daily.com/posts/dast-integration-guide.md): A practical guide to Dynamic Application Security Testing. Learn how DAST works, set up OWASP ZAP scans, compare it with Burp Suite, and automate security testing in your CI/CD pipeline with quality gates. - [Dependency Scanning: Finding Vulnerabilities Before Attackers Do](https://devops-daily.com/posts/dependency-scanning-guide.md): A practical guide to dependency scanning with Snyk, Dependabot, and native package manager tools. Learn how to detect vulnerable dependencies, automate fixes, and integrate scanning into your CI/CD pipeline. - [Pre-commit Hooks for Security: Stop Secrets Before They Hit Your Repository](https://devops-daily.com/posts/pre-commit-hooks-security-guide.md): Once a secret is committed to Git, it lives forever in the history. Pre-commit hooks with gitleaks, detect-secrets, and custom checks catch credentials before that happens. - [How to Reference a Resource Created by a Terraform Module](https://devops-daily.com/posts/reference-resource-terraform-module.md): Reference resources created inside a Terraform module from the parent config. Covers defining outputs, accessing module outputs by name, and chaining modules. - [Secrets Management Guide: Vault, AWS Secrets Manager, and Azure Key Vault](https://devops-daily.com/posts/secrets-management-guide.md): Stop storing secrets in .env files and environment variables. This guide covers secrets management fundamentals, HashiCorp Vault dynamic secrets, AWS Secrets Manager rotation, and Azure Key Vault with practical code examples. - [Secure Coding Practices Every DevOps Engineer Should Know](https://devops-daily.com/posts/secure-coding-practices-guide.md): A practical guide to writing secure code: input validation, output encoding, error handling, and authentication. With real examples in Python, JavaScript, and Go. - [Security-Focused Code Reviews: Catching Vulnerabilities Before Production](https://devops-daily.com/posts/security-focused-code-reviews.md): Learn how to review code with a security mindset. This guide covers common vulnerability patterns, language-specific pitfalls, and practical checklists for finding injection flaws, auth bypass, and logic bugs that automated tools miss. - [Software Supply Chain Security: SBOMs, Sigstore, and SLSA in Practice](https://devops-daily.com/posts/software-supply-chain-security.md): Protect your software supply chain with practical steps for SBOM generation, artifact signing with Cosign, and SLSA provenance. Includes complete CI/CD pipeline examples for GitHub Actions and GitLab CI. - [Should .terraform.lock.hcl Be in .gitignore? (The Answer Might Surprise You)](https://devops-daily.com/posts/should-terraform-lock-be-in-your-gitignore.md): The .terraform.lock.hcl file causes confusion for many Terraform users. Learn why you should commit it to version control and how to handle it properly. - [How to Get the Full Path of a File in Linux](https://devops-daily.com/posts/get-full-path-of-file.md): Learn different methods to get the absolute path of a file in Linux, from simple commands like realpath to handling relative paths and symlinks correctly. - [terraform.tfvars vs variables.tf: What is the Difference?](https://devops-daily.com/posts/tfvars-vs-variables.md): Understand the difference between terraform.tfvars and variables.tf in Terraform and how to use them effectively. - [Use Terraform to set up a Lambda function triggered by a scheduled event source](https://devops-daily.com/posts/use-terraform-to-set-up-a-lambda-function-triggered-by-a-scheduled-event-source.md): Learn how to use Terraform to create an AWS Lambda function triggered by a scheduled event source, such as a cron job. - [How to Fix SSH "Could Not Resolve Hostname" Error](https://devops-daily.com/posts/ssh-could-not-resolve-hostname-error.md): Troubleshoot and fix the SSH 'nodename nor servname provided, or not known' error with DNS checks, host file configuration, and SSH config debugging. - [How to Determine the URL That a Local Git Repository Was Originally Cloned From](https://devops-daily.com/posts/how-to-determine-the-url-that-a-local-git-repository-was-originally-cloned-from.md): Find out where your Git repository came from by checking remote URLs. Learn how to view, verify, and manage remote repository connections using git remote commands. - [How to Redirect All Output to a File in Bash](https://devops-daily.com/posts/redirect-all-output-to-file-bash.md): Learn how to redirect stdout and stderr to files in Bash, capture both standard output and errors together, and understand the different redirection operators. - [How to Fix Terraform Provider Checksum Mismatch Errors](https://devops-daily.com/posts/terraform-failed-install-provider-checksums-mismatch.md): Running into 'doesn't match checksums from dependency lock file' errors when installing Terraform providers? Learn what causes this issue and how to resolve it safely. - [How to Undo a Git Merge That Has Not Been Pushed Yet](https://devops-daily.com/posts/undo-git-merge-not-pushed.md): Made a merge you regret? Learn how to safely undo a Git merge before pushing it to the remote repository using reset and other recovery techniques. - [How to Fix "Error acquiring the state lock: ConditionalCheckFailedException"](https://devops-daily.com/posts/fix-error-acquiring-the-state-lock-conditionalcheckfailedexception.md): Learn how to diagnose and fix Terraform state lock errors that prevent your infrastructure deployments from running. - [How to Fix Terraform Not Deploying API Gateway Stage](https://devops-daily.com/posts/terraform-api-gateway-stage-not-deploying.md): Learn why Terraform might not deploy your AWS API Gateway stage and how to properly configure deployments with automatic triggering on configuration changes. - [How to Load Input Data from a File in Terraform](https://devops-daily.com/posts/load-input-data-from-file.md): Learn how to load input data from a file in Terraform using the `file` function and external data sources. - [How to Use Multiple Build Arguments in Docker Build](https://devops-daily.com/posts/docker-build-with-multiple-build-args.md): Learn how to pass multiple build-time variables to Docker builds using --build-arg, set default values in Dockerfiles, and use build arguments for environment-specific configurations. - [How to Exclude Directories from grep -R](https://devops-daily.com/posts/exclude-directories-from-grep.md): Learn how to exclude specific directories when searching recursively with grep, including node_modules, .git, and other directories you want to skip. - [How to Modify a Specific Commit in Git](https://devops-daily.com/posts/modify-specific-commit-git.md): Need to change an old commit? Learn how to modify a specific commit in Git history using interactive rebase and amend commands. - [How to Apply SQL Scripts to RDS Databases With Terraform](https://devops-daily.com/posts/terraform-apply-sql-scripts-rds.md): Learn different approaches for running SQL scripts and migrations against RDS databases during Terraform deployment, including provisioners, external tools, and dedicated migration resources. - [Correct way to attach AWS managed policies to a role?](https://devops-daily.com/posts/correct-way-to-attach-aws-managed-policies-to-a-role.md): Learn how to correctly attach AWS managed policies to an IAM role using the AWS Management Console, CLI, or Terraform. - [What’s the Difference Between Docker Compose vs. Dockerfile?](https://devops-daily.com/posts/docker-compose-vs-dockerfile.md): Understand the key differences between Docker Compose and Dockerfile, and learn when to use each in your containerized workflows. - [When is it Appropriate to Use UDP Instead of TCP?](https://devops-daily.com/posts/when-is-it-appropriate-to-use-udp-instead-of-tcp.md): UDP trades reliability for speed and simplicity. Learn when to choose UDP over TCP for real-time applications, gaming, streaming, and scenarios where low latency matters more than guaranteed delivery. - [Cannot Connect to Docker Daemon at unix:/var/run/docker.sock - Is the Docker Daemon Running?](https://devops-daily.com/posts/cannot-connect-to-docker-daemon.md): Fix the common 'Cannot connect to the Docker daemon' error with practical solutions for Linux, macOS, and Windows. Learn why this happens and how to resolve permissions and service issues. - [How to Handle Persistent Storage for Databases in Docker](https://devops-daily.com/posts/docker-persistent-storage-databases.md): Learn how to properly manage database data in Docker containers using volumes, bind mounts, and best practices for data persistence across container restarts and deployments. - [How to See the Differences Between Two Branches in Git](https://devops-daily.com/posts/see-differences-between-branches-git.md): Need to compare branches before merging? Learn how to view differences between Git branches using diff, log, and other comparison commands. - [Docker Compose: Wait for Container X Before Starting Y](https://devops-daily.com/posts/docker-compose-wait-container.md): Configure Docker Compose so a service waits for another container to be ready, using healthchecks and depends_on conditions with a working example. - [Docker Compose vs Kubernetes: Understanding the Key Differences](https://devops-daily.com/posts/docker-compose-vs-kubernetes-differences.md): Explore the fundamental differences between Docker Compose and Kubernetes, including use cases, complexity levels, and when to choose each container orchestration tool. - [Ingress vs Load Balancer in Kubernetes: When to Use Each](https://devops-daily.com/posts/ingress-vs-load-balancer-kubernetes.md): Learn the key differences between Kubernetes Ingress and LoadBalancer services, including use cases, cost implications, and implementation examples for optimal traffic routing. - [How to Fix Git Refusing to Merge Unrelated Histories](https://devops-daily.com/posts/git-refusing-merge-unrelated-histories.md): Getting the refusing to merge unrelated histories error? Learn what causes this Git error and how to safely fix it when combining separate repositories. - [How to Use Terraform Module Output as Input for Another Module](https://devops-daily.com/posts/terraform-module-output-as-input-another-module.md): Learn how to chain Terraform modules together by passing outputs from one module as inputs to another, creating organized and reusable infrastructure configurations. - [How to Use Local Docker Images with Minikube](https://devops-daily.com/posts/use-local-docker-images-minikube.md): Learn different methods to use locally built Docker images in Minikube, including docker-env, image loading, and registry configuration for efficient Kubernetes development. - [Why Your Docker Container Exits Immediately](https://devops-daily.com/posts/why-docker-container-exits-immediately.md): Troubleshoot and fix Docker containers that start and immediately exit. Learn about foreground processes, CMD vs ENTRYPOINT, and common pitfalls that cause containers to stop. - [How do I Squash My Last N Commits Together?](https://devops-daily.com/posts/how-do-i-squash-my-last-n-commits-together.md): Squashing commits helps you clean up your Git history by combining multiple related commits into one. Learn how to use interactive rebase to squash commits while keeping your history organized and meaningful. - [How to Create Symbolic Links in Linux](https://devops-daily.com/posts/how-to-symlink-files-linux.md): Learn how to create and manage symbolic links (symlinks) in Linux to create shortcuts, organize files, and maintain flexible file system structures. - [How to Upgrade a Docker Container After Its Image Changed](https://devops-daily.com/posts/upgrade-docker-container-image-changed.md): Learn how to upgrade a Docker container to use a new version of its image without downtime. - [What Does set -e Mean in a Bash Script?](https://devops-daily.com/posts/what-does-set-e-mean-in-bash-script.md): The set -e command in Bash causes your script to exit immediately when any command fails. Learn when to use it, how it works, and common pitfalls to avoid. - [How to Fix Pods Stuck in Terminating Status in Kubernetes](https://devops-daily.com/posts/fix-pods-stuck-terminating-kubernetes.md): Learn how to diagnose and resolve Kubernetes pods that are stuck in Terminating status using kubectl commands, finalizers, and force deletion techniques. - [How to Clone All Remote Branches in Git](https://devops-daily.com/posts/clone-all-remote-branches-git.md): Need to work with all branches from a remote repository? Learn how to clone and check out all remote branches efficiently using Git commands. - [How to Kill a Process Running on a Particular Port in Linux](https://devops-daily.com/posts/kill-process-running-on-port-linux.md): Learn multiple methods to identify and terminate processes that are using specific ports on Linux systems using netstat, lsof, fuser, and ss commands. - [How to Configure CloudWatch Logs Subscription Filter to Lambda With Terraform](https://devops-daily.com/posts/terraform-cloudwatch-log-subscription-lambda.md): Learn how to stream CloudWatch Logs to a Lambda function using Terraform, including proper permissions and error handling. - [Difference Between ClusterIP, NodePort and LoadBalancer Service Types in Kubernetes](https://devops-daily.com/posts/kubernetes-service-types-clusterip-nodeport-loadbalancer.md): Understand the key differences between ClusterIP, NodePort, and LoadBalancer service types in Kubernetes, when to use each, and how they expose applications. - [How to Check Which Process is Using a Specific Port from Command Line](https://devops-daily.com/posts/command-line-for-looking-at-specific-port.md): Learn how to identify which processes are listening on specific ports using netstat, lsof, and ss commands across different operating systems. - [Delete All Local Docker Images Safely](https://devops-daily.com/posts/delete-all-local-docker-images.md): Learn how to reclaim disk space by removing Docker images, containers, and volumes without breaking your development workflow. - [Docker Compose: Understanding Ports vs Expose](https://devops-daily.com/posts/docker-compose-ports-vs-expose.md): Learn the key differences between ports and expose in Docker Compose, when to use each one, and how they affect container networking and security in your applications. - [Terraform: Error Creating IAM Role. MalformedPolicyDocument: Has Prohibited Field Resource](https://devops-daily.com/posts/error-creating-iam-role-malformed-policy.md): Learn how to resolve the 'MalformedPolicyDocument: Has prohibited field Resource' error when creating an IAM role in Terraform. - [How to Find Files Containing Specific Text on Linux](https://devops-daily.com/posts/find-files-containing-specific-text-linux.md): Need to locate files with specific content? Learn how to use grep, find, and other Linux tools to search through files and directories efficiently. - [How to Reset Local Git Branch to Match Remote Repository HEAD](https://devops-daily.com/posts/how-to-reset-local-branch-to-match-remote-head.md): Learn different methods to reset your local Git branch to exactly match the remote repository HEAD, including hard reset, fetch and reset, and when to use each approach safely. - [How to Check Which Version of PostgreSQL You Are Running](https://devops-daily.com/posts/which-postgresql-version-am-i-running.md): Learn multiple ways to check your PostgreSQL version, including psql commands, SQL queries, and system commands. Find version numbers from the server, client, and package manager. - [How to Reset or Revert a File to a Specific Revision in Git](https://devops-daily.com/posts/how-to-reset-revert-file-to-specific-revision.md): Learn multiple ways to reset or revert a specific file to a previous version in Git, including using git checkout, git restore, and git show commands with practical examples. - [How to Push a New Local Branch to Remote Git Repository and Track It](https://devops-daily.com/posts/how-to-push-new-local-branch-to-remote-and-track.md): Learn how to push a new local Git branch to a remote repository and set up tracking, including different methods for initial push, setting upstream branches, and managing branch relationships. - [kubectl apply vs kubectl create: Understanding the Key Differences](https://devops-daily.com/posts/kubectl-apply-vs-create-differences.md): Learn the differences between kubectl apply and kubectl create commands, when to use each, and how they handle resource management in Kubernetes deployments. - [How to Create a Copy of a Directory in Unix/Linux](https://devops-daily.com/posts/create-copy-directory-unix-linux.md): Learn various methods to copy directories in Linux and Unix systems using cp, rsync, and tar commands with practical examples and best practices. - [How to Revert Git Repository to a Previous Commit Safely](https://devops-daily.com/posts/how-to-safely-revert-repository-to-previous-commit.md): Learn multiple safe methods to revert your Git repository to a previous commit, including using git revert, git reset, and git checkout with practical examples and safety considerations. - [How to Loop Through File Content in Bash](https://devops-daily.com/posts/looping-through-file-content-bash.md): Learn different methods to iterate through file content line by line in Bash scripts, including handling special characters and processing large files efficiently. - [How to Change File and Folder Permissions Recursively in Linux](https://devops-daily.com/posts/change-permissions-folder-subfolders-files-linux.md): Learn how to use chmod command to change permissions for directories and all their subdirectories and files efficiently and safely. - [Communication Between Multiple Docker-Compose Projects](https://devops-daily.com/posts/communication-multiple-docker-compose.md): Learn how to enable communication between multiple Docker-Compose projects using shared networks and environment configurations. - [How to Execute Multiple Commands in Docker Compose](https://devops-daily.com/posts/docker-compose-multiple-commands.md): Learn different techniques for running multiple commands in Docker Compose services, from simple command chaining to advanced multi-stage initialization scripts. - [How to Undo the Most Recent Local Commits in Git](https://devops-daily.com/posts/how-to-undo-recent-local-commits-in-git.md): Learn different ways to undo recent Git commits using reset, revert, and rebase commands. Understand when to use each method safely. - [How to Find the IP Address of an SSH Client](https://devops-daily.com/posts/find-ssh-client-ip-address.md): Learn multiple ways to identify the IP address of clients connected to your SSH server, from environment variables to logs and active connection monitoring. - [How to Ignore Change of an Attribute in Terraform Blocks](https://devops-daily.com/posts/ignore-change-of-attribute.md): Learn how to use the `lifecycle` block with the `ignore_changes` argument to ignore changes to specific attributes in Terraform. - [How to Change Echo Text Colors in Linux Terminal](https://devops-daily.com/posts/change-echo-output-colors-linux.md): Learn how to colorize your terminal output using ANSI escape codes with the echo command to make scripts more readable and visually appealing. - [How to Count Number of Lines in Files Using Linux Terminal](https://devops-daily.com/posts/count-lines-in-file-linux-terminal.md): Learn different methods to count lines in text files like CSV, TXT, and other non-binary files using wc, awk, sed, and other Linux command-line tools. - [How to Delete a Git Branch Locally and Remotely](https://devops-daily.com/posts/how-to-delete-git-branch-locally-and-remotely.md): Learn how to safely delete Git branches both on your local machine and remote repositories using different Git commands and safety checks. - [How to Discard Unstaged Changes in Git](https://devops-daily.com/posts/how-to-discard-unstaged-changes-in-git.md): Learn different methods to discard unstaged changes in Git using checkout, restore, and clean commands. Learn selective and bulk change removal techniques. - [Move the Most Recent Commit(s) to a New Branch with Git](https://devops-daily.com/posts/move-most-recent-commits-to-new-branch-git.md): Learn how to move recent commits from your current branch to a new branch using git checkout, reset, and cherry-pick. Fix branch organization mistakes effectively. - [How to Close Specific Ports on Linux Systems](https://devops-daily.com/posts/close-specific-port-linux.md): Learn how to close and block specific ports on Linux using iptables, ufw, firewalld, and by stopping services. Secure your system by controlling port access. - [What is the Difference Between Git Pull and Git Fetch?](https://devops-daily.com/posts/difference-between-git-pull-and-git-fetch.md): Understand when to use git pull versus git fetch, how they affect your local repository, and which command is safer for different workflows. - [How to Fix Docker "The input device is not a TTY" Error](https://devops-daily.com/posts/docker-tty-error-fix.md): Learn what causes the Docker TTY error and discover multiple solutions to fix it, from command-line flags to proper terminal configuration for interactive containers. - [How to Fix src refspec master does not match any Error in Git](https://devops-daily.com/posts/fix-src-refspec-master-does-not-match-any.md): Getting the src refspec master does not match any error when pushing? Learn what causes this Git error and how to fix it in different scenarios. - [How to Use Grep to Show Only Filenames on Linux](https://devops-daily.com/posts/grep-show-filenames-only-linux.md): Learn how to use grep options to display only the names of files containing matches, making it easier to identify relevant files in large searches. - [How to Change the URI (URL) for a Remote Git Repository](https://devops-daily.com/posts/how-to-change-uri-url-for-remote-git-repository.md): Learn how to update remote repository URLs in Git when repositories are moved, renamed, or migrated. Learn remote management commands to keep your workflow going. - [How to Organize a Terraform Repository with Multiple Subfolders](https://devops-daily.com/posts/organizing-terraform-repository-with-subfolders.md): Learn how to structure a Terraform repository with multiple environments, modules, and configurations in a way that scales with your infrastructure needs. - [How to Rebuild a Docker Container in docker-compose.yml?](https://devops-daily.com/posts/rebuild-docker-container-compose.md): Learn how to rebuild Docker containers defined in a docker-compose.yml file, including tips for managing changes and dependencies. - [How to Recursively Count Files in a Linux Directory](https://devops-daily.com/posts/recursively-count-files-in-linux-directory.md): Learn different methods to count files in a directory and its subdirectories, including fast one-liners and options for filtering by type, size, or pattern. - [How to Modify Existing, Unpushed Commit Messages](https://devops-daily.com/posts/how-to-modify-existing-unpushed-commit-messages.md): Learn how to change commit messages for unpushed commits using git commit --amend and interactive rebase. Learn message editing techniques for clean Git history. - [How to Exclude Directories When Using Find in Linux](https://devops-daily.com/posts/exclude-directories-when-using-find-linux.md): Learn how to exclude specific directories from find command searches to improve performance and focus on relevant results when searching through file systems. - [How to Clear Docker Container Logs Properly](https://devops-daily.com/posts/how-to-clear-docker-container-logs-properly.md): Learn safe ways to clear or reset Docker container logs, where the logs live, and how to set up log rotation so logs do not grow unbounded. - [How to Loop Through an Array of Strings in Bash](https://devops-daily.com/posts/loop-through-array-strings-bash.md): Learn various methods to iterate through string arrays in Bash, including indexed arrays, associative arrays, and advanced looping techniques with practical examples. - [How to Cherry Pick Commits in Git](https://devops-daily.com/posts/how-to-cherry-pick-commits-in-git.md): Learn how to selectively apply specific commits from one branch to another using git cherry-pick. Learn single and multiple commit cherry-picking with conflict resolution strategies. - [How to Rename a Local Git Branch](https://devops-daily.com/posts/how-to-rename-local-git-branch.md): Learn how to rename Git branches locally using git branch -m, handle the current branch, and update remote tracking references safely. - [How to Pipe to and from Clipboard in Bash Scripts](https://devops-daily.com/posts/pipe-clipboard-bash-script.md): Learn how to integrate clipboard functionality into your Bash scripts using xclip, xsel, pbcopy, and pbpaste for easy data transfer between terminal and GUI applications. - [What Does AssumeRole: Service: ec2 Do?](https://devops-daily.com/posts/assumerole-service-ec2.md): Understand the role of AssumeRole with Service: ec2 in AWS IAM policies and how it integrates with Terraform. - [What is the Difference Between a Pod and a Deployment?](https://devops-daily.com/posts/difference-between-pod-and-deployment.md): Understanding the difference between Pods and Deployments in Kubernetes matters for managing containerized applications effectively. Learn how they work and when to use each. - [What is the Difference Between "Expose" and "Publish" in Docker?](https://devops-daily.com/posts/expose-vs-publish-docker.md): Understanding the difference between 'expose' and 'publish' in Docker is important for managing container networking effectively. Learn how these concepts work and when to use them. - [How to Reset Git to a Previous Commit](https://devops-daily.com/posts/how-to-reset-git-to-previous-commit.md): Learn different ways to reset your Git repository to a previous commit state. Understand the differences between soft, mixed, and hard resets and when to use each approach. - [How to Split a Terraform File (main.tf) into Several Files (No Modules)](https://devops-daily.com/posts/how-to-split-terraform-file.md): Organizing Terraform configurations by splitting a single main.tf file into multiple files can improve readability and maintainability. Learn how to do this without using modules. - [How to Abort a Merge Conflict in Git](https://devops-daily.com/posts/abort-merge-conflict-git.md): Ran into merge conflicts and want to cancel the merge? Learn how to safely abort a merge and return your repository to its pre-merge state. - [How to Enter a Docker Container Already Running with a New TTY](https://devops-daily.com/posts/enter-docker-container-new-tty.md): Learn how to attach to a running Docker container with a new TTY session for debugging or interaction. - [How to Stash Changes in Git](https://devops-daily.com/posts/how-to-stash-changes-in-git.md): Learn how to temporarily save your work in progress using Git stash. Learn stashing, applying, and managing multiple stashes to handle interruptions in your development workflow. - [How to Recursively Grep All Directories and Subdirectories](https://devops-daily.com/posts/recursively-grep-directories-subdirectories.md): Learn how to use grep with recursive options to search through entire directory trees efficiently, including advanced filtering and performance optimization techniques. - [How to View Git Commit History](https://devops-daily.com/posts/how-to-view-git-commit-history.md): Learn various ways to explore and analyze your Git commit history. Learn git log options, filtering techniques, and formatting to understand your project evolution and track changes effectively. - [Defining Variables with and without Export in Linux Shell](https://devops-daily.com/posts/defining-variables-with-without-export-linux.md): Understand the difference between regular shell variables and exported environment variables, when to use export, and how variable scope affects scripts and processes. - [How to Find Files Using Wildcards in Linux](https://devops-daily.com/posts/find-files-with-wildcards-linux.md): Learn how to use wildcard patterns with find command to recursively search for files in directories and subdirectories based on name patterns. - [How to Undo Git Add Before Commit](https://devops-daily.com/posts/how-to-undo-git-add-before-commit.md): Learn how to unstage files that you've added to Git's staging area using git reset, git restore, and other methods before committing. - [Lightweight Alternatives to Python Twisted for Async Networking](https://devops-daily.com/posts/lightweight-alternatives-to-python-twisted.md): Explore modern, lightweight alternatives to Twisted for building asynchronous network applications in Python, including asyncio, aiohttp, Trio, and more. - [How to Fix Terraform Import "Index Value Required" Error for String Keys](https://devops-daily.com/posts/terraform-import-index-value-required-error.md): Learn how to resolve the 'Index value required' error when importing resources with for_each in Terraform, and understand the correct syntax for string-based resource keys. - [Difference Between RUN and CMD in a Dockerfile](https://devops-daily.com/posts/difference-run-cmd-dockerfile.md): Understand the key differences between RUN and CMD in a Dockerfile, and learn when to use each for building and running Docker containers. - [How to Force Git Pull to Overwrite Local Files](https://devops-daily.com/posts/how-to-force-git-pull-overwrite-local-files.md): Learn how to use git reset, git clean, and git checkout to force git pull to overwrite local changes when you need to match the remote repository exactly. - [How to Profile C++ Code Performance on Linux](https://devops-daily.com/posts/profile-cpp-code-performance-linux.md): Learn how to use profiling tools like gprof, Valgrind, and perf to analyze C++ application performance and identify bottlenecks on Linux systems. - [How to Use sudo to Redirect Output to a Privileged Location](https://devops-daily.com/posts/sudo-redirect-output-to-privileged-location.md): When you try to redirect output to a file you don't have permission to write, sudo doesn't help the way you'd expect. Learn the right techniques to write to protected files. - [How to Delete Exported Environment Variables in Linux](https://devops-daily.com/posts/delete-exported-environment-variables-linux.md): Learn different methods to remove environment variables from your current shell session and prevent them from persisting in future sessions. - [How to Check Out a Remote Git Branch](https://devops-daily.com/posts/how-to-checkout-remote-git-branch.md): Learn different methods to check out remote Git branches locally using git checkout, git switch, and git fetch commands with practical examples. - [How to Remove a Git Submodule](https://devops-daily.com/posts/remove-git-submodule.md): Need to remove a Git submodule from your repository? Learn the proper steps to cleanly delete submodules and avoid leaving behind configuration artifacts. - [How We Reduced Our AWS Bill by 73% While Actually Improving Performance](https://devops-daily.com/posts/aws-cost-optimization.md): The counterintuitive strategies we used to slash cloud costs while actually improving application performance. - [How to Access Host Port from Docker Container](https://devops-daily.com/posts/docker-access-host-port.md): Learn how to access a host machine's port from a Docker container using network configurations and best practices. - [Where Docker Images Are Stored on Your Host Machine](https://devops-daily.com/posts/docker-image-storage-locations.md): Discover where Docker stores images, containers, and volumes on different operating systems, and learn how to manage Docker's storage footprint effectively. - [Docker Complains About "No Space Left on Device": How to Clean Up?](https://devops-daily.com/posts/docker-no-space-left-cleanup.md): Running out of space while using Docker can disrupt your workflow. Learn how to identify and clean up unused Docker resources to free up space. - [How to Execute Terraform Actions Without the Interactive Prompt](https://devops-daily.com/posts/execute-terraform-actions-without-prompt.md): Learn how to automate Terraform workflows by bypassing the interactive prompt for commands like apply and destroy. - [How to Get the Current Working Directory in Terraform](https://devops-daily.com/posts/get-current-working-directory-terraform.md): Learn how to reference file paths in Terraform using path.module, path.root, and path.cwd - and understand which one to use in different scenarios. - [How to Retrieve a Secret in Terraform from AWS Secret Manager](https://devops-daily.com/posts/retrieve-secret-terraform-aws-secret-manager.md): Learn how to securely retrieve secrets from AWS Secret Manager using Terraform in your infrastructure as code workflows. - [How to Make Git Forget About a File That Was Tracked But Is Now in .gitignore](https://devops-daily.com/posts/how-to-make-git-forget-tracked-file-in-gitignore.md): Learn how to remove files from Git tracking while keeping them locally when you add them to .gitignore after they were already committed. - [The GitHub Actions Workflow That Eliminated Our DevOps Bottleneck](https://devops-daily.com/posts/github-actions-fast.md): How we reduced deployment time from 2 hours to 8 minutes using smart GitHub Actions patterns and parallel execution strategies. - [How do I Run a Command on an Already Existing Docker Container?](https://devops-daily.com/posts/how-do-i-run-a-command-on-an-already-existing-docker-container.md): Need to run commands inside a Docker container that's already running? Here's how to use docker exec to debug, inspect, and interact with your containers. - [How I Finally Understood Docker and Kubernetes](https://devops-daily.com/posts/how-i-finally-understood-docker-and-kubernetes.md): Docker and Kubernetes can feel abstract until you see what problems they actually solve. Here's a practical guide to understanding both tools through real examples. - [How to Remove Local Untracked Files from Git Working Tree](https://devops-daily.com/posts/how-to-remove-local-untracked-files-git.md): Learn how to use git clean to remove untracked files and directories from your Git working tree safely with different options and safety checks. - [How to Push a Git Tag to a Remote Repository](https://devops-daily.com/posts/push-git-tag-to-remote.md): Created a tag locally and need to share it? Learn how to push tags to remote repositories and manage release versions in Git. - [How to Check if a Variable is Set in Bash](https://devops-daily.com/posts/check-if-variable-set-bash.md): Learn multiple methods to check if variables are set, unset, empty, or have specific values in Bash scripts with practical examples and best practices. - [How to Fix Docker: Permission Denied](https://devops-daily.com/posts/fix-docker-permission-denied-error.md): Getting a 'permission denied' error when using Docker can be frustrating. Here's how to fix it depending on the OS, Docker command, and user setup. - [How to for_each through a list(objects) in Terraform](https://devops-daily.com/posts/how-to-for-each-through-a-list-objects-in-terraform.md): Learn how to use the for_each construct in Terraform to iterate through lists of objects and dynamically create resources. - [Why Running Postgres on Kubernetes Is Still a Bad Idea (And What to Do Instead)](https://devops-daily.com/posts/postgres-k8s.md): Everyone wants to run databases on Kubernetes, but should you? We explore the real challenges of stateful workloads and better alternatives. - [How to Push a Docker Image to a Private Repository](https://devops-daily.com/posts/push-docker-image-private-repo.md): Learn how to push a Docker image to a private repository, including authentication and best practices for secure image management. - [How to Compare Two Directory Trees and Find Files That Differ by Content](https://devops-daily.com/posts/compare-two-directory-trees-by-content.md): Learn different methods to compare two directory structures and identify which files have different content, using tools like diff, rsync, and custom scripts. - [AWS ASG Launch Templates vs Launch Configurations](https://devops-daily.com/posts/aws-asg-launch-templates-vs-configurations.md): Understand the key differences between AWS Auto Scaling Group Launch Templates and Launch Configurations to make informed decisions for your infrastructure. - [How Can I Expose More Than One Port with Docker?](https://devops-daily.com/posts/expose-multiple-ports-docker.md): Learn how to expose multiple ports in Docker to enable complex containerized applications with multiple services. - [How to List All Pods and Their Nodes in Kubernetes](https://devops-daily.com/posts/kubernetes-list-all-pods-and-nodes.md): Learn how to list all pods in your Kubernetes cluster along with the nodes they're running on, using kubectl and command-line tools for clear, actionable output. - [How to Fix "Argument List Too Long" Error for rm, cp, and mv Commands](https://devops-daily.com/posts/argument-list-too-long-error.md): Solve the 'argument list too long' error when working with thousands of files. Learn to use find, xargs, and loops as alternatives to wildcards for bulk file operations. - [How to Convert Strings to Lowercase in Bash](https://devops-daily.com/posts/convert-string-to-lowercase-in-bash.md): Discover multiple methods to convert strings to lowercase in Bash scripts, from modern parameter expansion to traditional command-line tools, with examples for different use cases and shell compatibility. - [How to Move Uncommitted Work to a New Branch in Git](https://devops-daily.com/posts/move-uncommitted-work-to-new-branch.md): Started working on the wrong branch? Learn how to move your uncommitted changes to a new branch without losing any work. - [How to Remove Old Docker Containers](https://devops-daily.com/posts/remove-old-docker-containers.md): Over time, stopped Docker containers pile up and take up space. Learn how to list, filter, and clean up unused containers safely and efficiently. - [How to Read Environment Variables From a .env File in Terraform](https://devops-daily.com/posts/terraform-read-environment-variables-from-env-file.md): Learn different approaches for loading environment variables from .env files into Terraform, from shell scripts to external data sources. - [How to Attach Multiple IAM Policies to IAM Roles Using Terraform](https://devops-daily.com/posts/attach-multiple-iam-policies.md): Learn how to attach multiple IAM policies to a single IAM role in Terraform to manage permissions effectively. - [How to Check if a String Contains a Substring in Bash](https://devops-daily.com/posts/check-string-contains-substring-bash.md): Learn multiple methods to check for substring presence in Bash, including pattern matching, case-insensitive searches, and practical examples for string validation. - [How to Detect Network Connection Type on Android](https://devops-daily.com/posts/detect-network-connection-type-android.md): Learn how to detect WiFi, cellular, and other network types in Android apps using ConnectivityManager, NetworkCapabilities, and handle network changes with callbacks. - [Docker: Name is Already in Use by Container](https://devops-daily.com/posts/docker-name-already-in-use.md): Encountering the 'name is already in use by container' error in Docker? Learn why it happens and how to resolve it effectively. - [Fixing the "Invalid Legacy Provider Address" Error in Terraform](https://devops-daily.com/posts/invalid-legacy-provider-address.md): Learn how to resolve the 'Invalid legacy provider address' error in Terraform by upgrading your provider configurations. - [How Do I Pass Environment Variables to Docker Containers?](https://devops-daily.com/posts/pass-environment-variables-docker-containers.md): Environment variables are a clean way to configure your Docker containers without hardcoding values. This guide shows different methods and when to use each. - [Variables Within Variables in Terraform](https://devops-daily.com/posts/variables-within-variables.md): Learn how to use variables within variables in Terraform to create dynamic and reusable configurations. - [How to Nuke All AWS Resources in an AWS Account](https://devops-daily.com/posts/nuke-all-aws-resources.md): Learn how to safely and efficiently delete all resources in an AWS account using tools like AWS CLI and Terraform. - [How to Permanently Set $PATH on Linux and Unix](https://devops-daily.com/posts/permanently-set-path-on-linux-unix.md): Learn how to permanently modify your PATH environment variable on Linux and Unix systems so your custom directories persist across shell sessions and reboots. - [How to Display Sensitive Data Output Variables in Terraform](https://devops-daily.com/posts/display-sensitive-data-output-variables.md): Learn how to handle and display sensitive data output variables in Terraform safely and effectively. - [How to Undo a Git Rebase](https://devops-daily.com/posts/undo-git-rebase.md): Rebase went wrong? Learn how to undo a Git rebase using reflog and reset commands to recover your branch to its state before the rebase operation. - [How to Force Docker for a Clean Build of an Image](https://devops-daily.com/posts/force-docker-clean-build.md): Docker caches layers to speed up builds, but sometimes you want a completely fresh image build. Here's how to force Docker to skip the cache and build from scratch. - [How to Get List Index When Using for_each in Terraform](https://devops-daily.com/posts/terraform-get-list-index-for-each.md): Learn how to access the index or position when iterating over lists with for_each in Terraform, and understand the differences between for_each and count. - [Determining Minimum AWS Permissions for Terraform Configurations](https://devops-daily.com/posts/minimum-aws-permissions-for-terraform.md): Learn how to identify the minimum AWS permissions required for your Terraform configurations to enhance security and compliance. - [How to Concatenate String Variables in Bash](https://devops-daily.com/posts/concatenate-string-variables-bash.md): Learn multiple ways to combine string variables in Bash scripts, from simple concatenation to complex string operations with practical examples. - [Docker Image vs Container: Key Differences](https://devops-daily.com/posts/docker-image-vs-container.md): Learn the fundamental difference between Docker images and containers through practical examples and real-world scenarios. - [How to Simulate a Slow Internet Connection for Testing](https://devops-daily.com/posts/simulating-slow-internet-connection.md): Learn how to throttle network speed on Linux, macOS, and Windows using tc, Network Link Conditioner, and other tools to test application performance under poor network conditions. - [How to Fetch a Remote Branch in Git](https://devops-daily.com/posts/git-fetch-remote-branch.md): Need to get a branch from the remote repository? Learn how to fetch remote branches and access them locally without merging or checking out. - [Terraform + DynamoDB: All Attributes Must Be Indexed](https://devops-daily.com/posts/terraform-dynamodb-all-attributes-must-be-indexed.md): Learn how to handle the 'all attributes must be indexed' requirement in DynamoDB when using Terraform. - [How to Grep a Continuous Stream in Real-Time](https://devops-daily.com/posts/grep-continuous-stream.md): Learn how to filter live log streams with grep, including line-buffering for immediate output, following log files, and monitoring command output as it happens. - [Should I Use Vagrant or Docker for Creating an Isolated Environment?](https://devops-daily.com/posts/vagrant-vs-docker-for-isolated-environments.md): Choosing between Vagrant and Docker depends on your workflow and what kind of isolation you need. This guide walks through real-world use cases to help you decide. - [How to Redirect Output to Both a File and stdout in Bash](https://devops-daily.com/posts/redirect-output-to-file-and-stdout.md): Discover how to use the tee command and other techniques to send command output to both a file and the terminal simultaneously, useful for logging while monitoring script execution. - [How to Prevent Data Loss When Docker Containers Exit](https://devops-daily.com/posts/docker-data-loss-when-container-exits.md): Learn why data disappears when Docker containers stop, how to persist data with volumes and bind mounts, and best practices for managing stateful applications in containers. - [How to Get the Current Time in Seconds Since the Epoch in Bash on Linux](https://devops-daily.com/posts/get-current-time-seconds-since-epoch-bash.md): Learn how to get Unix timestamps in Bash for logging, benchmarking, and time calculations. Includes examples of converting timestamps, measuring elapsed time, and practical use cases. - [How to Update a Kubernetes Secret Generated from a File](https://devops-daily.com/posts/how-to-update-kubernetes-secret-from-file.md): Learn how to update an existing Kubernetes secret when its data comes from a file, with practical kubectl commands and tips for safe secret management. - [How to Stash Only One File in Git](https://devops-daily.com/posts/stash-single-file-git.md): Need to temporarily save changes to just one file? Learn how to stash a single file in Git while leaving other changes in your working directory. - [How to Reference Resources Created With for_each in Terraform](https://devops-daily.com/posts/terraform-referencing-for-each-resources.md): Learn how to reference individual resources and attributes from for_each loops in other Terraform resources, including cross-resource dependencies and data extraction patterns. - [Who is Listening on a Given TCP Port on Mac OS X?](https://devops-daily.com/posts/who-is-listening-on-a-given-tcp-port-on-mac-os-x.md): Need to find out which process is using a specific port on your Mac? Here's how to check which application is listening on a TCP port using built-in macOS tools. - [How to Get a Docker Container's IP Address from the Host](https://devops-daily.com/posts/how-to-get-docker-container-ip-from-host.md): Learn how to find a Docker container's internal IP address from your host machine using simple Docker commands. This is useful for debugging, testing services, or container communication. - [In a Dockerfile, How to Update the PATH Environment Variable?](https://devops-daily.com/posts/dockerfile-update-path.md): Learn how to modify the PATH environment variable in a Dockerfile to include custom directories for executables. - [What Does Cherry-Picking a Commit Mean in Git?](https://devops-daily.com/posts/git-cherry-pick-commit.md): Need to apply a specific commit from one branch to another? Learn how to use git cherry-pick to selectively copy commits without merging entire branches. - [Understanding the Difference Between sh and Bash](https://devops-daily.com/posts/difference-between-sh-and-bash.md): Discover the key differences between sh and Bash shells, including feature compatibility, portability considerations, and when to use each one in your shell scripts and system administration tasks. - [How to Set a Variable to the Output of a Command in Bash](https://devops-daily.com/posts/set-variable-command-output-bash.md): Learn multiple methods to capture command output in Bash variables using command substitution, including best practices and error handling techniques. - [How to Concatenate Lists in Terraform Using concat()](https://devops-daily.com/posts/terraform-concatenate-lists-concat-function.md): Learn how to combine multiple lists in Terraform using the concat() function, plus advanced patterns for merging and manipulating list data. - [How to Clean Up ReplicaSets When Updating Kubernetes Deployments](https://devops-daily.com/posts/clean-up-replicasets-when-updating-deployments.md): Learn how and when to clean up old ReplicaSets after updating Kubernetes Deployments, why they accumulate, and how to manage rollout history for a tidy cluster. - [How to Commit Only Part of a File in Git](https://devops-daily.com/posts/commit-part-of-file-git.md): Need to commit some changes in a file but not others? Learn how to stage and commit specific changes within a file using Git patch mode. - [How to Specify a Private SSH Key for Git Commands](https://devops-daily.com/posts/specify-private-ssh-key-for-git-commands.md): Learn multiple methods to use specific SSH keys with Git operations, from command-line options to SSH config files and environment variables, making it easy to manage multiple keys for different repositories. - [How to Copy Command Output Directly to Your Clipboard in Linux](https://devops-daily.com/posts/copy-command-output-to-clipboard.md): Learn how to pipe command output to your clipboard using xclip, xsel, or pbcopy. Make terminal output available for pasting into applications without selecting and copying manually. - [Docker Security Best Practices](https://devops-daily.com/posts/docker-security-best-practices.md): Secure your Docker environment from development to production with practical techniques for image hardening, runtime protection, and vulnerability management. - [How to Make Git Ignore File Mode Changes](https://devops-daily.com/posts/git-ignore-file-mode-changes.md): Git showing chmod changes you don not care about? Learn how to configure Git to ignore file permission changes while tracking actual code changes. - [How Does cat << EOF Work in Bash?](https://devops-daily.com/posts/how-cat-eof-works-in-bash.md): Understand heredocs in Bash - the << EOF syntax that lets you write multi-line strings, create files with embedded content, and pass complex input to commands. - [How to Check for Input Arguments in Bash Shell Scripts](https://devops-daily.com/posts/check-existence-of-input-argument-in-bash-shell-script.md): Learn different methods to validate command-line arguments in your Bash scripts, from simple existence checks to handling optional and required parameters with practical examples. - [Finding Local IP Addresses Using Python's stdlib](https://devops-daily.com/posts/finding-local-ip-addresses-using-pythons-stdlib.md): Learn how to find the local IP address of your machine using only Python's standard library. No third-party packages required. - [How to Remove a File from Git Without Deleting It Locally](https://devops-daily.com/posts/remove-file-from-git-keep-local.md): Need to stop tracking a file in Git but keep it on your filesystem? Learn how to remove files from Git repository while preserving them locally. - [How to Fix Common Terraform S3 Backend Configuration Errors](https://devops-daily.com/posts/terraform-s3-backend-configuration-errors.md): Learn how to troubleshoot and resolve common errors when configuring Terraform's S3 backend, from access denied issues to state locking problems. - [How to Fix Echo Newline in Bash When It Prints Literal \n](https://devops-daily.com/posts/fix-echo-newline-bash-literal-n.md): Learn why echo sometimes prints literal \n instead of newlines and discover multiple solutions to properly output newline characters in Bash scripts. - [Docker - Ubuntu - bash: ping: command not found [closed]](https://devops-daily.com/posts/docker-ubuntu-ping-not-found.md): Resolve the 'ping: command not found' error in Ubuntu-based Docker containers by installing missing packages. - [How to Parse Command Line Arguments in Bash](https://devops-daily.com/posts/parse-command-line-arguments-bash.md): Learn various methods to parse command line arguments in Bash scripts, including positional parameters, getopts, and advanced argument handling techniques. - [How to Get Your Local IP Address](https://devops-daily.com/posts/how-to-get-local-ip-address.md): Learn multiple methods to find your local IP address using command line tools, programming languages, and system utilities across different operating systems. - [kubectl logs - Continuously](https://devops-daily.com/posts/kubectl-logs-continuously.md): Learn how to use kubectl to stream logs continuously from Kubernetes Pods for real-time monitoring. - [How to Prompt for Yes/No/Cancel Input in a Linux Shell Script](https://devops-daily.com/posts/prompt-for-yes-no-cancel-input-in-linux-shell-script.md): Learn different techniques for creating interactive prompts in your shell scripts, from simple yes/no confirmations to three-way choices with proper input validation and user-friendly interfaces. - [What Is FinOps? A Beginner's Guide to Cloud Cost Management](https://devops-daily.com/posts/what-is-finops-a-beginners-guide-to-cloud-cost-management.md): Discover how FinOps transforms chaotic cloud spending into strategic financial operations, bringing teams together to optimize costs while maintaining innovation speed. - [Kubernetes: How to Make Deployment to Update Image](https://devops-daily.com/posts/kubernetes-how-to-make-deployment-to-update-image.md): Learn how to update the container image in a Kubernetes Deployment using kubectl commands. - [Fixing "A Reference to Resource Type Must Be Followed by At Least One Attribute Access" in Terraform](https://devops-daily.com/posts/resource-type-attribute-access.md): Learn how to resolve the error 'A reference to resource type must be followed by at least one attribute access' in Terraform. - [How to Change the Output Color of Echo in Linux](https://devops-daily.com/posts/change-echo-output-color-linux.md): Learn how to add colors to your echo output in Linux and Bash scripts using ANSI escape codes, tput commands, and color variables for better terminal display. - [How to Sign In to the Kubernetes Dashboard](https://devops-daily.com/posts/how-to-sign-in-kubernetes-dashboard.md): Learn how to securely access and sign in to the Kubernetes Dashboard, including token generation, best practices, and troubleshooting common login issues. - [How to Find Which Process Is Listening on a Port in Windows](https://devops-daily.com/posts/find-process-listening-on-port-windows.md): Need to know which application is using a specific TCP or UDP port on Windows? Here's how to check using netstat, tasklist, PowerShell, and Resource Monitor. - [What Is the Quickest Way to HTTP GET in Python?](https://devops-daily.com/posts/what-is-the-quickest-way-to-http-get-in-python.md): Need to make a quick HTTP GET request in Python? Here's how to do it with standard libraries and third-party tools, including pros and tradeoffs. - [How to Create a Folder in an AWS S3 Bucket Using Terraform](https://devops-daily.com/posts/create-folder-in-s3-bucket.md): Learn how to create a folder in an AWS S3 bucket using Terraform with the `aws_s3_object` resource. - [Service Located in Another Namespace](https://devops-daily.com/posts/service-located-in-another-namespace.md): Learn how to access and interact with Kubernetes Services located in different namespaces. - [How to Echo Output to stderr in Bash](https://devops-daily.com/posts/echo-to-stderr-in-bash.md): Learn different methods to send error messages to stderr in Bash scripts, understand why separating error output from standard output matters, and discover best practices for script logging and debugging. - [What is the Runtime Performance Cost of a Docker Container?](https://devops-daily.com/posts/docker-runtime-performance-cost.md): Understand the runtime performance impact of Docker containers compared to virtual machines and bare-metal systems. - [How to Cleanly List All Containers in a Kubernetes Pod](https://devops-daily.com/posts/how-to-list-all-containers-in-kubernetes-pod.md): Learn several ways to list all containers in a Kubernetes pod using kubectl and JSONPath, with practical examples for real-world troubleshooting and automation. - [Listing All Resources in a Namespace](https://devops-daily.com/posts/listing-all-resources-in-a-namespace.md): Learn how to list all resources in a Kubernetes namespace using kubectl commands. - [How to Artificially Create a Connection Timeout Error](https://devops-daily.com/posts/how-to-artificially-create-connection-timeout-error.md): Learn practical methods to simulate connection timeouts for testing error handling, resilience patterns, and timeout configurations in your applications. - [How to Remove Old and Unused Docker Images](https://devops-daily.com/posts/remove-old-unused-docker-images.md): Reclaim disk space efficiently by identifying and removing outdated Docker images while preserving the ones you need for active development and production. - [Using a Git Branch as a Source for Terraform Modules](https://devops-daily.com/posts/terraform-modules-git-branch.md): Learn how to use a specific Git branch as the source for Terraform modules to manage versioning and development workflows. - [Getting an Environment Variable in Terraform Configuration](https://devops-daily.com/posts/get-environment-variable-in-terraform.md): Learn how to retrieve and use environment variables in Terraform configurations using the `env` function and input variables. - [How to Create a Bash Alias That Accepts Parameters](https://devops-daily.com/posts/create-bash-alias-that-takes-parameters.md): Learn how to create flexible Bash aliases that accept arguments using functions, from simple one-liners to complex commands with multiple parameters and options. - [How to Restart a Single Container with Docker Compose](https://devops-daily.com/posts/restart-single-container-docker-compose.md): Learn how to restart a specific container in a Docker Compose setup without affecting other services. - [How to Assign a Port Mapping to an Existing Docker Container](https://devops-daily.com/posts/docker-assign-port-mapping.md): Learn how to assign a port mapping to an already running Docker container using practical workarounds and best practices. - [How to Switch kubectl Clusters Between gcloud and minikube](https://devops-daily.com/posts/how-to-switch-kubectl-clusters-between-gcloud-and-minikube.md): Learn how to seamlessly switch between gcloud and minikube clusters using kubectl commands. - [The provided execution role does not have permissions to call DescribeNetworkInterfaces on EC2](https://devops-daily.com/posts/the-provided-execution-role-does-not-have-permissions-to-call-describenetworkinterfaces-on-ec2.md): Learn how to resolve the 'execution role does not have permissions to call DescribeNetworkInterfaces' error in AWS EC2. - [How to Format Dates as YYYY-MM-DD in Shell Scripts](https://devops-daily.com/posts/format-date-yyyy-mm-dd-in-shell-script.md): Learn how to format dates in shell scripts using the date command, including YYYY-MM-DD format and other common date patterns for logging, file naming, and timestamp generation. - [ps Command Doesn't Work in Docker Container](https://devops-daily.com/posts/ps-command-not-working-docker.md): Why the ps command fails inside Docker containers and how to fix it. Covers minimal images missing procps, alternatives like /proc, and installing the package. - [Checking Kubernetes Pod CPU and Memory Utilization](https://devops-daily.com/posts/checking-kubernetes-pod-cpu-and-memory-utilization.md): Learn how to monitor CPU and memory usage of Kubernetes Pods using kubectl and metrics-server. - [How Can I Keep a Container Running on Kubernetes?](https://devops-daily.com/posts/how-can-i-keep-a-container-running-on-kubernetes.md): Learn how to ensure your container stays running on Kubernetes by using proper configurations and best practices. - [Copy Directory to Another Directory Using ADD Command](https://devops-daily.com/posts/copy-directory-using-add-command.md): Copy directories into a Docker image with the ADD instruction. Covers ADD vs COPY, local paths, remote URLs, tar extraction, and practical Dockerfile examples. - [How to Check if a File Does Not Exist in Bash](https://devops-daily.com/posts/check-file-not-exist-bash.md): Learn various methods to test for file non-existence in Bash scripts, including proper error handling, permission checks, and practical automation examples. - [How to Extract Filename and Extension in Bash](https://devops-daily.com/posts/extract-filename-extension-bash.md): Learn multiple methods to extract filenames, extensions, and directory paths from file paths in Bash using parameter expansion and basename commands. - [How Do I Make a Comment in a Dockerfile?](https://devops-daily.com/posts/comment-in-dockerfile.md): Learn how to add comments in Dockerfiles to document your code and improve readability. - [At Least One Invalid Signature Was Encountered](https://devops-daily.com/posts/at-least-one-invalid-signature-was-encountered.md): Understand the causes of invalid signatures in Kubernetes and learn how to troubleshoot and resolve them. - [How to Delete All Resources from Kubernetes at One Time](https://devops-daily.com/posts/how-to-delete-all-resources-from-kubernetes-one-time.md): Delete every resource in a Kubernetes namespace or whole cluster with kubectl. Covers kubectl delete all, namespace deletion, and cleaning up CRDs safely. - [Docker Can't Connect to Docker Daemon](https://devops-daily.com/posts/docker-cant-connect-to-docker-daemon.md): Learn how to troubleshoot and resolve the Docker can't connect to Docker daemon error effectively. - [What Is the Preferred Bash Shebang?](https://devops-daily.com/posts/preferred-bash-shebang.md): Learn which shebang line to use for Bash scripts, the differences between common options, and how to write portable scripts that work across different Unix-like systems. - [Why Does a Kubernetes Pod Get Recreated When Deleted?](https://devops-daily.com/posts/why-does-kubernetes-pod-get-recreated-when-deleted.md): Learn why Kubernetes automatically recreates Pods when they are deleted, and understand the mechanisms behind this behavior. - [Refactoring modules: Error: Provider configuration not present](https://devops-daily.com/posts/refactoring-modules-error-provider-configuration-not-present.md): Learn how to resolve the 'Provider configuration not present' error when refactoring Terraform modules. - [How can I remove a resource from Terraform state?](https://devops-daily.com/posts/how-can-i-remove-a-resource-from-terraform-state.md): Learn how to safely remove a resource from Terraform state without affecting the actual infrastructure. - [How are data sources used in Terraform?](https://devops-daily.com/posts/how-are-data-sources-used-in-terraform.md): Understand how to use data sources in Terraform to fetch information about existing resources. - [How Does kubectl port-forward Create a Connection?](https://devops-daily.com/posts/how-does-kubectl-port-forward-create-a-connection.md): Understand how kubectl port-forward works to create connections between your local machine and Kubernetes Pods. - [Kubernetes API - Get Pods on Specific Nodes](https://devops-daily.com/posts/kubernetes-api-get-pods-on-specific-nodes.md): Learn how to use the Kubernetes API to retrieve Pods running on specific nodes in your cluster. - [Upgrade Terraform to Specific Version](https://devops-daily.com/posts/upgrade-terraform-to-specific-version.md): Learn how to upgrade Terraform to a specific version on your system, ensuring compatibility with your infrastructure. - [How to Split a String on a Delimiter in Bash](https://devops-daily.com/posts/split-string-delimiter-bash.md): Learn multiple methods to split strings using delimiters in Bash, including IFS, parameter expansion, and array techniques with practical examples. - [Initial setup of Terraform backend using Terraform](https://devops-daily.com/posts/initial-setup-of-terraform-backend-using-terraform.md): Learn how to configure a Terraform backend for secure and efficient state management. - [How to Run a Docker Image as a Container](https://devops-daily.com/posts/docker-run-image-as-container.md): Learn how to start a container from a Docker image, pass environment variables, map ports, and manage container lifecycle. - [Real-World Kubernetes Deployments](https://devops-daily.com/posts/real-world-k8s.md): Lessons learned from deploying Kubernetes in production environments. - [Terraform Infrastructure as Code Best Practices](https://devops-daily.com/posts/terraform-best-practices.md): Terraform best practices for writing scalable, maintainable infrastructure as code - covering directory structure, state management, modules, and security. - [Interactive Shell Using Docker Compose](https://devops-daily.com/posts/interactive-shell-docker-compose.md): Learn how to start an interactive shell in a Docker Compose service for debugging and development. - [Get YAML for Deployed Kubernetes Services](https://devops-daily.com/posts/get-yaml-for-deployed-kubernetes-services.md): Learn how to retrieve the YAML configuration for deployed Kubernetes Services using kubectl commands. - [How to Mount a Host Directory in a Docker Container](https://devops-daily.com/posts/docker-mount-host-directory.md): Learn how to mount a local directory into a Docker container for development, data sharing, or configuration. This guide covers syntax, permissions, and real-world use cases. - [What Is the Difference Between a Port and a Socket?](https://devops-daily.com/posts/difference-between-port-and-socket.md): Ports and sockets are often mentioned together in networking, but they serve different roles. This guide breaks down what they are and how they work together. - [How to Check if a Directory Exists in Bash Shell Scripts](https://devops-daily.com/posts/check-directory-exists-bash-script.md): Learn multiple methods to check directory existence in Bash scripts, including proper error handling, permission checks, and practical use cases for reliable automation. - [How Can I Debug "ImagePullBackOff"?](https://devops-daily.com/posts/how-can-i-debug-imagepullbackoff.md): Learn how to troubleshoot and resolve the ImagePullBackOff error in Kubernetes Pods. - [How to Copy Files from Kubernetes Pods to Local System](https://devops-daily.com/posts/how-to-copy-files-from-kubernetes-pods-to-local-system.md): Learn how to use kubectl commands to copy files from Kubernetes Pods to your local system. - [I would like to run Terraform only for a specific resource](https://devops-daily.com/posts/i-would-like-to-run-terraform-only-for-a-specific-resource.md): Learn how to target specific resources in Terraform to save time and avoid unnecessary changes. - [Restart Pods When ConfigMap Updates in Kubernetes](https://devops-daily.com/posts/restart-pods-when-configmap-updates-in-kubernetes.md): Learn how to restart Kubernetes Pods automatically when a ConfigMap is updated. - [How to Migrate Terraform State Between Projects](https://devops-daily.com/posts/migrate-terraform-state.md): Learn how to safely migrate Terraform state between projects using the `terraform state` command. - [How to Redirect and Append Both stdout and stderr to a File in Bash](https://devops-daily.com/posts/bash-redirect-append-stdout-stderr.md): Learn different methods to capture both standard output and error streams in Bash, including appending to files and separating streams for better logging. - [How to Check if a Program Exists from a Bash Script](https://devops-daily.com/posts/check-if-program-exists-bash-script.md): Learn multiple reliable methods to check if a command or program is available on your system from within Bash scripts, including using which, command, and type. - [Docker Push Error: denied: requested access to the resource is denied](https://devops-daily.com/posts/docker-push-denied-access.md): Troubleshoot and resolve the common Docker push error about denied access to a resource. Learn about authentication, repository naming, and permissions. - [Difference Between targetPort and port in Kubernetes Service Definition](https://devops-daily.com/posts/difference-between-targetport-and-port-in-kubernetes-service-definition.md): Understand the distinction between targetPort and port in Kubernetes Service definitions, and learn how they impact your application's networking. - [Terraform - Delete All Resources Except One](https://devops-daily.com/posts/delete-all-resources-except-one.md): Learn how to delete all resources managed by Terraform except for a specific resource by using targeted commands and state manipulation. - [How to Edit a File After You Shell to a Docker Container](https://devops-daily.com/posts/docker-edit-file-in-container.md): Learn how to edit files inside a running Docker container using shell access, text editors, and best practices for persistent changes. - [What Does "2>&1" Mean in Linux and Bash?](https://devops-daily.com/posts/what-does-2-and-1-mean-linux-bash.md): Learn what the 2>&1 redirection operator means in Linux commands, how it works with standard output and error streams, and when to use it effectively. - [How to Count Lines of Code in a Directory Recursively](https://devops-daily.com/posts/count-lines-of-code-recursively.md): Discover multiple methods to count source code lines across entire directory trees, including filtering by file types and excluding specific directories. - [Terraform Failing with Invalid for_each Argument / The Given "for_each" Argument Value is Unsuitable](https://devops-daily.com/posts/invalid-for-each-argument-in-terraform.md): Learn how to troubleshoot and fix the "Invalid for_each argument" error in Terraform. - [Can Terraform Be Used to Provision On-Premises Servers?](https://devops-daily.com/posts/terraform-on-premises-servers.md): Learn how Terraform can be used to provision on-premises servers by integrating with tools like VMware vSphere, Ansible, and bare-metal providers. - [How to Get the Directory Where a Bash Script is Located](https://devops-daily.com/posts/get-directory-bash-script-location.md): Learn multiple reliable methods to determine the directory path of your Bash script from within the script itself, including handling symbolic links and edge cases. - [How to Get Events Only for a Pod with kubectl](https://devops-daily.com/posts/kubectl-get-events-only-for-pod.md): Learn how to filter and view Kubernetes events for a specific pod using kubectl, with practical examples for troubleshooting and automation. - [Docker: How to Change Repository Name or Rename an Image](https://devops-daily.com/posts/docker-rename-image-repository.md): Learn how to rename a Docker image or change its repository name using simple Docker CLI commands. This guide covers real-world scenarios and best practices. - [How to Set Multiple Commands in One YAML File with Kubernetes](https://devops-daily.com/posts/how-to-set-multiple-commands-in-one-yaml-file-with-kubernetes.md): Learn how to define and run multiple commands in a Kubernetes Pod using a single YAML manifest. This guide covers best practices and real-world examples for multi-step container initialization. - [How to Iterate Over a Range of Numbers in Bash Using Variables](https://devops-daily.com/posts/bash-iterate-number-range-variables.md): Learn different methods to loop through number ranges defined by variables in Bash, from simple for loops to advanced sequence generation techniques. - [How to Remove a Docker Image](https://devops-daily.com/posts/docker-remove-image.md): Learn how to safely remove Docker images, clean up unused layers, and avoid common pitfalls when managing local images. - [How to See Docker Image Contents](https://devops-daily.com/posts/docker-see-image-contents.md): Explore the contents of a Docker image using practical commands. Learn how to inspect layers, browse files, and debug images locally. - [How to Decode a Kubernetes Secret](https://devops-daily.com/posts/how-to-decode-a-kubernetes-secret.md): Kubernetes secrets store sensitive data in base64-encoded form. Learn how to safely decode and inspect these secrets using kubectl and command-line tools. - [Modules + Output from for_each](https://devops-daily.com/posts/modules-output-from-for-each.md): Learn how to use for_each with modules in Terraform to dynamically create resources and manage outputs. - [How to Reload .bashrc Settings Without Logging Out](https://devops-daily.com/posts/reload-bashrc-without-logout.md): Need to apply changes to your .bashrc file immediately? Learn multiple methods to reload your Bash configuration without restarting your terminal session. - [How to Include Files Outside of Docker's Build Context](https://devops-daily.com/posts/docker-include-files-outside-build-context.md): Learn why Docker restricts file access during builds, and how to work around this limitation to include files outside the build context. - [How to List Containers in Docker](https://devops-daily.com/posts/docker-list-containers.md): Learn how to list running and stopped Docker containers, filter by status, and get useful details for troubleshooting and management. - [Terraform Statefile is Locked: How to Unlock It](https://devops-daily.com/posts/terraform-statefile-locked.md): Learn how to unlock a locked Terraform statefile using the `force-unlock` command and best practices to avoid future locks. - [Looping Through File Content Line by Line in Bash](https://devops-daily.com/posts/bash-loop-through-file-content.md): Learn multiple techniques to read and process file content line by line in Bash scripts, including handling special characters and preserving whitespace. - [How to Manage Multiple Environments in Kubernetes (Staging, QA, Production)](https://devops-daily.com/posts/how-to-manage-multiple-environments-in-kubernetes.md): Learn practical strategies for managing multiple Kubernetes environments like staging, QA, and production. This guide covers namespace organization, configuration management, and deployment workflows. - [How to Restart a Container Within a Kubernetes Pod](https://devops-daily.com/posts/how-to-restart-container-within-pod.md): Learn practical ways to restart a container inside a Kubernetes pod, including when and why you might need to do this, and the best approaches for different scenarios. - [Kubernetes Pods Keep Crashing with CrashLoopBackOff but No Logs Found](https://devops-daily.com/posts/kubernetes-pods-crashloopbackoff-no-logs.md): Troubleshoot Kubernetes pods stuck in CrashLoopBackOff with no logs. Learn why this happens and how to diagnose and resolve the issue. - [Kubernetes Deployments vs StatefulSets](https://devops-daily.com/posts/kubernetes-deployments-vs-statefulsets.md): Understand the differences between Kubernetes Deployments and StatefulSets, when to use each, and how they impact your application's behavior and scaling. ## Exercises - [Creating and Connecting to Your First Linux Server](https://devops-daily.com/exercises/cloud-server-setup): Spin up an Ubuntu 24.04 Linux server in the cloud, configure SSH key authentication, and learn to navigate your new server. This exercise uses DigitalOcean but the steps work with any cloud provider. (beginner, 30 minutes) - [Running Docker Containers on Your Linux Server](https://devops-daily.com/exercises/docker-server-deployment): Install Docker and Docker Compose on Ubuntu, run your first container, deploy a WordPress stack with docker-compose, and set up Nginx as a reverse proxy in front of your containers. (intermediate, 60 minutes) - [Securing Your Linux Server: Essential First Steps](https://devops-daily.com/exercises/linux-server-security): Harden a fresh Ubuntu 24.04 server by creating a non-root user, locking down SSH, configuring a firewall with UFW, and setting up fail2ban to block brute-force attacks. (beginner, 45 minutes) - [Deploying a Web Application with Nginx and SSL](https://devops-daily.com/exercises/nginx-web-deployment): Install Nginx on your Ubuntu server, configure server blocks for your domain, and set up free SSL certificates with Let's Encrypt and Certbot. (intermediate, 60 minutes) - [Linux Server Monitoring and Maintenance Essentials](https://devops-daily.com/exercises/server-monitoring-maintenance): Learn to monitor system resources, manage logs, configure automatic security updates, and set up basic alerting with cron jobs on your Ubuntu server. (intermediate, 45 minutes) - [Git Workflow and Collaboration Fundamentals](https://devops-daily.com/exercises/git-workflow-collaboration): Master essential Git workflows, branching strategies, and collaboration techniques used in modern development teams. (beginner, 50 minutes) - [Redis Caching Strategies for Scalable Applications](https://devops-daily.com/exercises/redis-caching-strategies): Implement production-ready caching patterns with Redis to dramatically improve application performance and scalability. (intermediate, 70 minutes) - [Linux Performance Tuning and Troubleshooting](https://devops-daily.com/exercises/linux-performance-troubleshooting): Master essential Linux performance analysis and optimization techniques to diagnose and resolve system bottlenecks. (intermediate, 80 minutes) - [Nginx Load Balancing and Reverse Proxy](https://devops-daily.com/exercises/nginx-load-balancing-reverse-proxy): Master load balancing and reverse proxy patterns with Nginx to build resilient, scalable infrastructure. (intermediate, 75 minutes) - [Complete Web Server Automation with Ansible](https://devops-daily.com/exercises/ansible-web-server-automation): Build a comprehensive Ansible playbook to automate web server deployment, configuration, and security hardening across multiple environments. (intermediate, 75 minutes) - [Deploy a DigitalOcean Droplet with Terraform](https://devops-daily.com/exercises/terraform-digitalocean-droplet): Learn Infrastructure as Code basics by deploying a simple web server on DigitalOcean using Terraform. Perfect for beginners starting their IaC journey. (beginner, 60 minutes) - [Microservices Observability with OpenTelemetry](https://devops-daily.com/exercises/microservices-observability-opentelemetry): Implement comprehensive observability for microservices using OpenTelemetry for distributed tracing, metrics, and logging across multiple services. (advanced, 140 minutes) - [Infrastructure Security with Vault and SOPS](https://devops-daily.com/exercises/infrastructure-security-vault-sops): Implement enterprise-grade secret management using HashiCorp Vault and SOPS for encrypted GitOps workflows. (advanced, 100 minutes) - [GitOps with ArgoCD - Automated Kubernetes Deployments](https://devops-daily.com/exercises/gitops-argocd-deployment): Implement GitOps workflows using ArgoCD for automated, declarative, and auditable Kubernetes application deployments. (advanced, 120 minutes) - [Helm Charts and Kubernetes Package Management](https://devops-daily.com/exercises/helm-kubernetes-packaging): Learn Kubernetes application deployment and management using Helm charts with templates, values, and lifecycle management. (intermediate, 90 minutes) - [Docker Multi-Stage Build Optimization](https://devops-daily.com/exercises/docker-multi-stage-build): Learn to create efficient Docker images using multi-stage builds to reduce image size and improve security. (intermediate, 60 minutes) - [Kubernetes Horizontal Pod Autoscaler](https://devops-daily.com/exercises/kubernetes-hpa-lab): Configure and test Horizontal Pod Autoscaler to automatically scale applications based on CPU and memory usage. (advanced, 90 minutes) - [AWS VPC with Terraform](https://devops-daily.com/exercises/terraform-aws-vpc): Build a complete AWS VPC infrastructure using Terraform with public/private subnets, NAT gateway, and security groups. (intermediate, 120 minutes) - [Complete CI/CD Pipeline with GitHub Actions](https://devops-daily.com/exercises/ci-cd-github-actions): Hands-on lab: build a production CI/CD pipeline with GitHub Actions, including tests, security scanning, container builds, and automated deployment. (intermediate, 90 minutes) - [Complete Monitoring Stack Setup](https://devops-daily.com/exercises/prometheus-grafana-monitoring): Deploy and configure Prometheus and Grafana for comprehensive application and infrastructure monitoring. (advanced, 150 minutes) ## Quizzes - [Ansible Configuration Management Quiz](https://devops-daily.com/quizzes/ansible-quiz): Test your Ansible skills with playbooks, roles, inventory management, and automation scenarios for infrastructure configuration - [GitOps with Argo CD: Multi-Environment Repository Structure Quiz](https://devops-daily.com/quizzes/argocd-multi-environment-quiz): Test your knowledge of structuring Git repositories for Argo CD deployments across dev, staging, and production environments. Covers repo layout patterns, ApplicationSets, Kustomize overlays, Helm value files, and sync policies. - [AWS Cloud Services Quiz](https://devops-daily.com/quizzes/aws-quiz): Master cloud architecture through real-world AWS scenarios covering compute, storage, networking, and best practices - [Back-of-the-Envelope Estimation Quiz](https://devops-daily.com/quizzes/back-of-the-envelope-estimation-quiz): The napkin-math skill that makes or breaks a system design interview: turning users into QPS, data into storage, traffic into bandwidth, and knowing the latency numbers every engineer should have memorised. - [CI/CD Fundamentals Quiz](https://devops-daily.com/quizzes/cicd-fundamentals-quiz): Master the basics of Continuous Integration and Continuous Deployment, including pipelines, version control, automated testing, and deployment strategies - [CI/CD Pipelines Quiz](https://devops-daily.com/quizzes/cicd-pipelines-quiz): Test your CI/CD pipeline knowledge with scenarios covering build stages, artifact promotion, environment strategy, deployment patterns, and rollbacks. - [Cloud Cost Allocation Tags Quiz](https://devops-daily.com/quizzes/cloud-cost-allocation-tags-quiz): Debug tagging gaps, fix broken cost reports, and set up consistent allocation tags across AWS, GCP, and Azure for accurate chargeback and showback - [Cloud Cost Optimization Quiz](https://devops-daily.com/quizzes/cloud-cost-optimization-quiz): Investigate mysterious cost spikes, hunt down wasteful spending, and optimize your cloud bill like a detective solving financial crimes - [Concurrency and Race Conditions Quiz](https://devops-daily.com/quizzes/concurrency-and-race-conditions-quiz): The bugs that only show up under load and never in a debugger: race conditions, deadlocks, memory visibility, lock-free pitfalls, and the difference between code that looks correct and code that is actually thread-safe. - [DevOps Interview Questions Quiz](https://devops-daily.com/quizzes/devops-interview-quiz): Prepare for your DevOps interviews with real questions asked by top companies covering CI/CD, Kubernetes, IaC, monitoring, and incident management - [DevOps Engineering Quiz](https://devops-daily.com/quizzes/devops-quiz): Test your knowledge of DevOps practices with real-world scenarios covering CI/CD, infrastructure, monitoring, and incident response - [Distributed Systems Fundamentals Quiz](https://devops-daily.com/quizzes/distributed-systems-fundamentals-quiz): Test your grasp of the theory that decides whether a distributed system stays correct under stress: CAP and PACELC, consistency models, quorums, consensus, clocks, and the failure modes that only appear at scale. - [Docker Fundamentals Quiz](https://devops-daily.com/quizzes/docker-quiz): Test your Docker knowledge with questions on containers, images, Dockerfile instructions, volumes, networks, Compose, and basic orchestration concepts. - [eBPF for Network Observability and Security Quiz](https://devops-daily.com/quizzes/ebpf-network-observability-quiz): Test your understanding of eBPF with real scenarios covering the verifier, maps, XDP and tc hooks, CO-RE portability, kube-proxy replacement, runtime security, and debugging programs that won't load. - [Git Command Quiz](https://devops-daily.com/quizzes/git-quiz): Test your Git command knowledge with real-world scenarios covering commits, branching, merging, rebasing, remotes, and recovering from common mistakes. - [GitHub Actions Workflows Quiz](https://devops-daily.com/quizzes/github-actions-quiz): Master GitHub Actions workflows, YAML syntax, marketplace actions, and modern CI/CD automation - [Helm Charts & Package Management Quiz](https://devops-daily.com/quizzes/helm-charts-quiz): Master Kubernetes app deployment through real-world Helm scenarios covering chart creation, dependency management, and complex templating challenges - [How Does It Work So Fast? - System Design Speed Tricks](https://devops-daily.com/quizzes/how-does-it-work-fast-quiz): Test your knowledge of the clever algorithms and infrastructure patterns that make everyday features feel instant. Covers credit card validation, bloom filters, tries, URL shorteners, typing indicators, CDNs, DNS caching, and load balancer health checks. - [Production Incident Response Quiz](https://devops-daily.com/quizzes/incident-response-quiz): Test your skills handling real production outages, performance issues, and system failures under pressure - [Building an Internal Developer Platform Quiz](https://devops-daily.com/quizzes/internal-developer-platform-quiz): Test your knowledge of designing and building internal developer platforms that improve developer productivity and self-service capabilities - [Istio Traffic Management Quiz](https://devops-daily.com/quizzes/istio-traffic-management-quiz): Test your knowledge of Istio traffic management with real scenarios covering VirtualServices, DestinationRules, weighted routing, retries, circuit breakers, and production debugging. - [Jenkins CI/CD Pipeline Quiz](https://devops-daily.com/quizzes/jenkins-quiz): Test your Jenkins skills with questions on declarative and scripted pipelines, Groovy syntax, agents, plugins, shared libraries, and CI/CD automation patterns. - [Junior DevOps Engineer Interview Quiz](https://devops-daily.com/quizzes/junior-devops-interview-quiz): Entry-level DevOps interview preparation covering Linux fundamentals, Git basics, Docker essentials, CI/CD concepts, cloud computing, scripting, and monitoring fundamentals - [Kubernetes Operators Interview Quiz](https://devops-daily.com/quizzes/kubernetes-operators-quiz): Test your knowledge of Kubernetes Operators through real-world interview scenarios covering custom resources, controllers, reconciliation loops, and Operator SDK - [Kubernetes Fundamentals Quiz](https://devops-daily.com/quizzes/kubernetes-quiz): Learn Kubernetes concepts through practical scenarios covering pods, services, deployments, and troubleshooting - [Linux Command Line Quiz](https://devops-daily.com/quizzes/linux-quiz): Master the terminal through real-world system administration scenarios covering file management, process control, and troubleshooting - [Running Your First Chaos Experiment with Litmus Quiz](https://devops-daily.com/quizzes/litmus-chaos-engineering-quiz): Test your knowledge of Litmus Chaos with real scenarios covering installation, ChaosEngines, probes, blast radius controls, workflows, and debugging stuck experiments. - [Message Queues and Delivery Guarantees Quiz](https://devops-daily.com/quizzes/message-queues-delivery-guarantees-quiz): At-least-once, at-most-once, and the exactly-once myth: idempotent consumers, visibility timeouts, dead-letter queues, ordering, offset commits, and the outbox pattern that the queue-backed systems you design actually depend on. - [Monitoring Beginner Quiz](https://devops-daily.com/quizzes/monitoring-basics-quiz): Master the fundamentals of monitoring, metrics, logging, alerting, and observability concepts for effective system health management - [Monitoring & Observability Quiz](https://devops-daily.com/quizzes/monitoring-observability-quiz): Master application monitoring, metrics collection, logging, and observability best practices - [Multi-Region Active-Active Architecture on AWS Quiz](https://devops-daily.com/quizzes/multi-region-active-active-aws-quiz): Test how you would design an active-active application across AWS regions: routing with Route 53 and Global Accelerator, multi-region data with DynamoDB global tables and Aurora, conflict resolution, idempotency, and the failover patterns that hold up during a real regional event. - [Network & Security Fundamentals Quiz](https://devops-daily.com/quizzes/network-security-quiz): Test your knowledge of networking protocols, security best practices, firewalls, VPNs, and cloud security for DevOps engineers - [On-Call Rotation and Escalation Policy Quiz](https://devops-daily.com/quizzes/on-call-rotation-quiz): Test your skills designing on-call schedules, escalation paths, and alerting strategies that keep engineers sane and incidents short. - [OpenTelemetry Distributed Tracing Quiz](https://devops-daily.com/quizzes/opentelemetry-distributed-tracing-quiz): Test your knowledge of OpenTelemetry tracing with real scenarios covering instrumentation, context propagation, the Collector, sampling strategies, and reading trace waterfalls in production. - [Python Fundamentals Quiz](https://devops-daily.com/quizzes/python-quiz): Master Python through real-world scenarios covering syntax, data structures, OOP, and advanced concepts - [Rate Limiting for APIs Quiz](https://devops-daily.com/quizzes/rate-limiting-apis-quiz): Test how you would design and run API rate limiting in production: token bucket, leaky bucket, fixed and sliding windows, distributed counters, response headers, and the failure modes that bite at scale. - [Security Incident Response Quiz](https://devops-daily.com/quizzes/security-incident-response-quiz): Test your ability to detect, respond to, and mitigate security incidents including breaches, attacks, and vulnerabilities - [SLOs, SLIs, and Error Budgets Quiz](https://devops-daily.com/quizzes/slos-slis-error-budgets-quiz): Test your ability to define service level objectives, pick the right service level indicators, calculate error budgets, and make real decisions when budget runs low. - [SQL & Database Design Quiz](https://devops-daily.com/quizzes/sql-quiz): Master database design and SQL through real business scenarios covering queries, optimization, design patterns, and data modeling - [Site Reliability Engineering (SRE) Quiz](https://devops-daily.com/quizzes/sre-quiz): Master SRE concepts: service level objectives, error budgets, toil reduction, and incident management for building reliable systems - [System Design Fundamentals Quiz](https://devops-daily.com/quizzes/system-design-quiz): Test your system design skills with questions on load balancing, caching, sharding, replication, queues, consistency models, and distributed system tradeoffs. - [Terraform Fundamentals Quiz](https://devops-daily.com/quizzes/terraform-quiz): Test your Infrastructure as Code knowledge with practical Terraform scenarios and best practices - [HashiCorp Vault Secrets Management Quiz](https://devops-daily.com/quizzes/vault-secrets-management-quiz): Test how you run HashiCorp Vault in production: dynamic database credentials, leases and TTLs, least-privilege policies, AppRole and Kubernetes auth, the Transit engine, auto-unseal, audit logging, and fast revocation when something gets compromised. - [Zero-Downtime PostgreSQL Migrations Quiz](https://devops-daily.com/quizzes/zero-downtime-postgres-migrations-quiz): Test your skills shipping schema changes against a live PostgreSQL database without dropping traffic, breaking deploys, or locking out writers. ## Flashcards - [Ansible Basics](https://devops-daily.com/flashcards/ansible-basics): Learn Ansible automation fundamentals including playbooks, roles, inventory, modules, variables, and configuration management best practices. (14 cards) - [ArgoCD Fundamentals](https://devops-daily.com/flashcards/argocd-fundamentals): Master GitOps principles and ArgoCD essentials including app deployment, sync policies, multi-cluster management, and security best practices. (18 cards) - [AWS Essentials](https://devops-daily.com/flashcards/aws-essentials): Learn core AWS services including EC2, S3, VPC, IAM, and best practices for security, cost optimization, and the Well-Architected Framework. (22 cards) - [AWS Lambda Cold Start Optimization](https://devops-daily.com/flashcards/aws-lambda-cold-start-optimization): How cold starts actually work in AWS Lambda and the techniques that cut them down: runtime and memory choices, code and package tuning, provisioned concurrency, and SnapStart. (18 cards) - [Building an Internal Developer Platform](https://devops-daily.com/flashcards/internal-developer-platform): Step-by-step guide to designing and building an internal developer platform (IDP) that improves developer productivity, self-service capabilities, and platform engineering best practices. (16 cards) - [Chaos Engineering with Litmus](https://devops-daily.com/flashcards/litmus-chaos-engineering): Run your first controlled failure experiments on Kubernetes with Litmus. Covers core concepts, CRDs, the pod-delete experiment, probes, and safe production practice. (16 cards) - [CI/CD Concepts](https://devops-daily.com/flashcards/cicd-concepts): Understand continuous integration and deployment fundamentals including pipeline stages, testing strategies, deployment patterns, and CI/CD tools. (17 cards) - [Cloud Cost Allocation Tags Across AWS, GCP, and Azure](https://devops-daily.com/flashcards/cloud-cost-allocation-tags): Learn how to set up consistent cost allocation tagging strategies across multi-cloud environments for accurate chargeback and showback reporting. (16 cards) - [Designing Rate Limiting for APIs](https://devops-daily.com/flashcards/api-rate-limiting): Token bucket, leaky bucket, fixed and sliding window algorithms, plus the patterns for building rate limiters that work in distributed systems without falling over. (17 cards) - [Distributed Tracing with OpenTelemetry](https://devops-daily.com/flashcards/opentelemetry-distributed-tracing): Learn how OpenTelemetry works end to end: instrumenting services, propagating context, running the Collector, sampling traces, and visualizing them in Jaeger or Tempo. (16 cards) - [Docker Essentials](https://devops-daily.com/flashcards/docker-essentials): Flashcards covering core Docker concepts: containers vs images, layers, volumes, networks, build cache, registries, and the day-to-day Docker CLI. (15 cards) - [Git Fundamentals](https://devops-daily.com/flashcards/git-fundamentals): Master essential Git commands, workflows, and version control concepts. (18 cards) - [GitOps with Argo CD: Structuring Your Repository for Multi-Environment Deployments](https://devops-daily.com/flashcards/gitops-argocd-repo-structure): Best practices for organizing Git repositories when using Argo CD to manage deployments across development, staging, and production environments. (16 cards) - [Helm Fundamentals](https://devops-daily.com/flashcards/helm-fundamentals): Master Helm package manager for Kubernetes including charts, releases, values, templates, hooks, and repository management. (14 cards) - [Implementing Pod Security Standards in Kubernetes](https://devops-daily.com/flashcards/pod-security-standards-kubernetes): Enforce the Baseline, Restricted, and Privileged profiles with the built-in Pod Security Admission controller. Covers namespace labels, modes, version pinning, and where you still need a policy engine. (17 cards) - [Kubernetes Fundamentals](https://devops-daily.com/flashcards/kubernetes-basics): Master essential Kubernetes concepts with these flashcards covering Pods, Services, Deployments, and more. (20 cards) - [Linux Fundamentals](https://devops-daily.com/flashcards/linux-fundamentals): Essential Linux knowledge covering file system hierarchy, process management, permissions, common commands, and system monitoring. (20 cards) - [Monitoring & Observability](https://devops-daily.com/flashcards/monitoring-observability): Learn monitoring fundamentals including metrics, logs, traces, Prometheus, Grafana, alerting strategies, and SLIs/SLOs/SLAs. (16 cards) - [Multi-Region Active-Active Architecture on AWS](https://devops-daily.com/flashcards/aws-multi-region-active-active): Patterns and trade-offs for running active-active workloads across AWS regions: routing, data replication, conflict resolution, and what it actually costs you in complexity. (17 cards) - [On-Call Rotations and Escalation Policies](https://devops-daily.com/flashcards/on-call-rotation-escalation-policy): Practical advice for designing on-call schedules, defining escalation paths, and reducing alert fatigue for engineering teams. (16 cards) - [Secrets Management with HashiCorp Vault](https://devops-daily.com/flashcards/vault-secrets-management): How to run HashiCorp Vault in production: auth and policies, static and dynamic secrets, encryption as a service, and the operational habits that keep a leaked credential from becoming an incident. (18 cards) - [Service Mesh Traffic Management with Istio](https://devops-daily.com/flashcards/istio-traffic-management): Learn how to configure advanced traffic management policies in Istio including weighted routing, automatic retries, and circuit breaker patterns for production services. (16 cards) - [SLOs, SLIs, and Error Budgets](https://devops-daily.com/flashcards/slos-slis-error-budgets): A practical guide to defining service level objectives, choosing meaningful service level indicators, and managing error budgets for production services. (16 cards) - [System Design Speed Tricks - How Things Work So Fast](https://devops-daily.com/flashcards/system-design-speed-tricks): Learn the algorithms, data structures, and infrastructure patterns that make modern systems respond in milliseconds. From client-side validation to global routing, understand why things feel instant. (14 cards) - [Terraform Basics](https://devops-daily.com/flashcards/terraform-basics): Learn Infrastructure as Code fundamentals with Terraform. (16 cards) - [Understanding eBPF for Network Observability and Security](https://devops-daily.com/flashcards/ebpf-network-observability): Learn how eBPF runs verified programs inside the Linux kernel to give you network visibility, low overhead monitoring, and security enforcement without kernel modules or app changes. (16 cards) - [Zero-Downtime Database Migrations for PostgreSQL](https://devops-daily.com/flashcards/postgresql-zero-downtime-migrations): Practical techniques for changing schemas on busy PostgreSQL databases without taking the app down, including expand-and-contract, online DDL, and safe backfills. (17 cards) ## Checklists - [Argo CD Multi-Environment Repository Structure Checklist](https://devops-daily.com/checklists/argocd-multi-environment-repo-structure): How to organize your Git repositories when running Argo CD across dev, staging, and production. Covers folder layout, app-of-apps, ApplicationSets, secrets, RBAC, and promotion flow. - [AWS Security Checklist](https://devops-daily.com/checklists/aws-security): Essential security configuration checklist for AWS cloud environments. - [AWS Well-Architected Review Checklist](https://devops-daily.com/checklists/aws-well-architected): Comprehensive checklist based on AWS Well-Architected Framework covering operational excellence, security, reliability, performance efficiency, cost optimization, and sustainability. - [Building an Internal Developer Platform from Scratch](https://devops-daily.com/checklists/internal-developer-platform): A step-by-step checklist for designing and building an internal developer platform (IDP) that gives your engineers self-service access to infrastructure, environments, and deployments without filing tickets. - [CI/CD Pipeline Setup Checklist](https://devops-daily.com/checklists/cicd-pipeline-setup): Step-by-step checklist for a production-ready CI/CD pipeline: source control, builds, tests, security scans, deploy gates, secrets, and rollback paths. - [Designing Rate Limiting for APIs: Algorithms, Patterns, and Implementation](https://devops-daily.com/checklists/api-rate-limiting): Pick the right rate limiting algorithm for your traffic shape, build it on shared atomic state, and ship it with the response headers, failure modes, and monitoring that keep both your API and your clients working. - [Distributed Tracing with OpenTelemetry: From Instrumentation to Visualization](https://devops-daily.com/checklists/distributed-tracing-opentelemetry): A practical checklist for adding OpenTelemetry tracing to your services, shipping spans through the Collector, and turning that data into something you can actually debug with. - [Docker Security Hardening Checklist](https://devops-daily.com/checklists/docker-security): Comprehensive security checklist for hardening Docker containers, images, and runtime environments. - [GitOps Implementation Checklist](https://devops-daily.com/checklists/gitops-implementation): Comprehensive checklist for implementing GitOps practices with repository structure, sync policies, secret management, and deployment strategies. - [HashiCorp Vault Secrets Management Checklist](https://devops-daily.com/checklists/hashicorp-vault-secrets-management): Set up and run HashiCorp Vault in production: HA storage, TLS, auto-unseal, dynamic secrets, encryption as a service, and the policies, audit, and backups that keep it safe. - [High Availability Architecture Checklist](https://devops-daily.com/checklists/high-availability): Comprehensive checklist for designing and implementing highly available systems with load balancing, failover, and redundancy. - [How to Build an Effective On-Call Rotation and Escalation Policy](https://devops-daily.com/checklists/on-call-rotation-escalation-policy): A practical checklist for designing on-call schedules, defining escalation paths, and cutting alert fatigue so your team can sleep at night and still respond fast when things break. - [How to Implement Progressive Delivery with Feature Flags](https://devops-daily.com/checklists/progressive-delivery-feature-flags): A step-by-step checklist for implementing progressive delivery using feature flags, canary releases, and gradual rollouts so you can ship to production without breaking things. - [How to Set Up Cloud Cost Allocation Tags Across AWS, GCP, and Azure](https://devops-daily.com/checklists/cloud-cost-allocation-tags): A practical guide to implementing consistent cost allocation tagging strategies across multi-cloud environments for accurate chargeback and showback. - [Istio Traffic Management Checklist: Routing, Retries, and Circuit Breaking](https://devops-daily.com/checklists/istio-traffic-management): How to configure traffic management policies in Istio so your services can do canary releases, retry transient failures, and shed load when a downstream service goes bad. Covers VirtualService, DestinationRule, retries, timeouts, circuit breakers, and outlier detection. - [Kubernetes Security Checklist](https://devops-daily.com/checklists/kubernetes-security): Essential security checklist for Kubernetes clusters to ensure production readiness. - [Monitoring & Observability Checklist](https://devops-daily.com/checklists/monitoring-observability): Comprehensive checklist for implementing monitoring, logging, tracing, and alerting across your infrastructure and applications. - [Multi-Region Active-Active Architecture on AWS Checklist](https://devops-daily.com/checklists/multi-region-active-active-aws): A build checklist for running active-active applications across AWS regions: traffic routing, multi-region data and conflict resolution, the application changes that make failover work, and the cost you sign up for. - [Production Deployment Checklist](https://devops-daily.com/checklists/production-deployment): Pre-deployment checklist to ensure safe and successful production releases. - [Running Your First Chaos Engineering Experiment with Litmus](https://devops-daily.com/checklists/litmus-chaos-engineering-experiment): How to install Litmus on Kubernetes and run a controlled failure experiment from a written hypothesis to a verdict you can act on, without breaking production by accident. - [SLOs, SLIs, and Error Budgets: A Practical Implementation Guide](https://devops-daily.com/checklists/slos-slis-error-budgets): A step-by-step checklist for defining service level objectives, picking the right service level indicators, and using error budgets to make better decisions about reliability vs. feature velocity. - [SSH Hardening Checklist](https://devops-daily.com/checklists/ssh-hardening): Comprehensive guide to harden your SSH server configuration and improve security. - [Terraform Repository Structure Checklist](https://devops-daily.com/checklists/terraform-repo-structure): Best practices for organizing and structuring your Terraform projects for maintainability and scalability. - [Zero-Downtime PostgreSQL Migrations in Production](https://devops-daily.com/checklists/zero-downtime-postgres-migrations): How to change a live PostgreSQL schema without taking the app down: the expand-and-contract pattern, online DDL with CONCURRENTLY and NOT VALID, batched backfills, and the lock monitoring that lets you do it with confidence. ## Interview Questions - [Bootstrapping Argo CD and Letting It Manage Itself](https://devops-daily.com/interview-questions/junior/argocd-bootstrapping-self-management): Argo CD manages your apps. Who manages Argo CD? Walk me through how you would bootstrap it from a fresh cluster and where its own config lives in your repo. - [Structuring a Git Repo for Argo CD Multi-Environment Deployments](https://devops-daily.com/interview-questions/junior/argocd-multi-env-repo-structure): How would you structure a Git repo for Argo CD when you have dev, staging, and prod environments? - [AWS VPC Networking Fundamentals](https://devops-daily.com/interview-questions/junior/aws-vpc-networking): Explain the difference between public and private subnets in AWS VPC. How do instances in private subnets access the internet? - [Bash Scripting Basics](https://devops-daily.com/interview-questions/junior/bash-scripting-basics): What is the shebang line and how do you write a basic bash script? - [CI/CD Pipeline Stages](https://devops-daily.com/interview-questions/junior/cicd-pipeline-stages): What are the typical stages of a CI/CD pipeline and why is each stage important? - [Cloud IAM Basics](https://devops-daily.com/interview-questions/junior/cloud-iam-basics): What is IAM in cloud computing? Explain the concepts of users, roles, and policies. - [Cloud Regions and Availability Zones](https://devops-daily.com/interview-questions/junior/cloud-regions-availability-zones): What are cloud regions and availability zones? How do they affect application architecture? - [Configuration Management Basics](https://devops-daily.com/interview-questions/junior/configuration-management-basics): What is configuration management? Why is it important and what tools are commonly used? - [Container Orchestration Basics](https://devops-daily.com/interview-questions/junior/container-orchestration-basics): What is container orchestration and why do we need it? Name some common orchestration platforms. - [Cost Allocation Tags Basics](https://devops-daily.com/interview-questions/junior/cost-allocation-tags-basics): Can you explain what cost allocation tags are and why teams use them across AWS, GCP, and Azure? - [Docker Container Basics](https://devops-daily.com/interview-questions/junior/docker-basics): What is the difference between a Docker image and a container? How do they relate to each other? - [Dockerfile Best Practices](https://devops-daily.com/interview-questions/junior/dockerfile-best-practices): What is the difference between a Docker image and a container? What are some Dockerfile best practices? - [Environment Variables](https://devops-daily.com/interview-questions/junior/environment-variables): What are environment variables and how do you use them in Linux? How do you make them persistent? - [Git Staging and Committing](https://devops-daily.com/interview-questions/junior/git-basics): Explain the Git staging area. What is the difference between git add, git commit, and git push? - [Git Branching Strategies](https://devops-daily.com/interview-questions/junior/git-branching-strategies): What are common Git branching strategies? Describe GitFlow or trunk-based development. - [Git Rebase vs Merge](https://devops-daily.com/interview-questions/junior/git-rebase-vs-merge): What is the difference between git rebase and git merge? When would you use each? - [Git Workflow Strategies](https://devops-daily.com/interview-questions/junior/git-workflow-strategies): Describe some common Git workflows used in team environments. What are the pros and cons of each? - [HTTP Methods and Status Codes](https://devops-daily.com/interview-questions/junior/http-basics): What are the main HTTP methods and what do common status codes like 200, 404, and 500 mean? - [Internal Developer Platform Purpose](https://devops-daily.com/interview-questions/junior/idp-what-and-why): Your team keeps filing tickets for things like creating new services, setting up databases, and getting access to staging environments. Your CTO asks you to fix this. What would you build, and why? - [VirtualService vs DestinationRule](https://devops-daily.com/interview-questions/junior/istio-virtualservice-vs-destinationrule): In Istio, what's the difference between a VirtualService and a DestinationRule? When would you use each? - [Linux File Permissions](https://devops-daily.com/interview-questions/junior/linux-file-permissions): Explain Linux file permissions. What does the permission 'rwxr-xr--' mean? - [Using grep for Text Search](https://devops-daily.com/interview-questions/junior/linux-grep-text-search): How do you use grep to search for text patterns in files? What are some useful flags? - [Linux Package Management](https://devops-daily.com/interview-questions/junior/linux-package-management): How do you install and manage software packages in Linux? What's the difference between apt and yum? - [Linux System Logs](https://devops-daily.com/interview-questions/junior/linux-system-logs): Where are system logs stored in Linux and how do you view them? - [Litmus Building Blocks: ChaosEngine vs ChaosExperiment](https://devops-daily.com/interview-questions/junior/litmus-core-resources-explained): You install Litmus on a cluster and want to kill a pod to see what happens. Walk me through the pieces Litmus gives you, and what is the actual difference between a ChaosExperiment and a ChaosEngine? - [Four Golden Signals of Monitoring](https://devops-daily.com/interview-questions/junior/monitoring-golden-signals): What are the four golden signals of monitoring and why are they important? - [DNS Basics](https://devops-daily.com/interview-questions/junior/networking-basics-dns): What is DNS and how does the DNS resolution process work step by step? - [On-Call Rotation and Escalation Basics](https://devops-daily.com/interview-questions/junior/on-call-rotation-escalation-basics): You're about to go on-call for the first time. In your own words, what is an on-call rotation, and why do teams bother setting up a formal escalation policy instead of just pinging whoever happens to be online when something breaks? - [Traces and Spans Explained](https://devops-daily.com/interview-questions/junior/otel-traces-spans-basics): A request hits your API gateway, which calls two backend services, and one of those queries a database. Walk me through what that looks like as a distributed trace. What is a span, and how do spans connect to each other? - [Progressive Delivery Basics](https://devops-daily.com/interview-questions/junior/progressive-delivery-feature-flags-basics): What is progressive delivery and how does it differ from traditional continuous delivery? - [Shell Scripting Fundamentals](https://devops-daily.com/interview-questions/junior/shell-scripting-fundamentals): What are the essential components of a shell script? Explain variables, conditionals, and loops. - [SLO vs SLI vs SLA Differences](https://devops-daily.com/interview-questions/junior/sre-slo-sli-sla-differences): Your team just launched a new API service. Your manager asks you to set up SLOs for it. Can you walk me through what SLOs, SLIs, and SLAs are, and how they relate to each other? - [SSH Basics and Key Authentication](https://devops-daily.com/interview-questions/junior/ssh-basics): How does SSH key authentication work? How do you set it up? - [DNS Resolution When You Type a URL](https://devops-daily.com/interview-questions/junior/system-design-dns-resolution): Walk me through what happens when you type a URL and press Enter, focusing specifically on the DNS resolution process. - [Instant Credit Card Validation](https://devops-daily.com/interview-questions/junior/system-design-instant-validation): How does a credit card form validate numbers instantly, before even contacting the bank? - [TCP/IP Fundamentals](https://devops-daily.com/interview-questions/junior/tcp-ip-basics): Explain the difference between TCP and UDP. When would you use each? - [YAML and JSON Configuration Formats](https://devops-daily.com/interview-questions/junior/yaml-json-basics): What are YAML and JSON? When would you use each format in DevOps? - [Activating Tags in Billing Reports](https://devops-daily.com/interview-questions/mid/activating-cost-allocation-tags): Your team tagged every resource with team and environment, but the tags are not showing up in cost reports. What is going on, and how is this different on AWS, GCP, and Azure? - [Application Code vs Kubernetes Manifests in Separate Repos](https://devops-daily.com/interview-questions/mid/argocd-app-code-vs-manifests-repo): Should your application source code and Kubernetes manifests live in the same repo or in separate repos? What is your take? - [Helm vs Kustomize for Per-Environment Config](https://devops-daily.com/interview-questions/mid/argocd-helm-vs-kustomize-multi-env): Helm or Kustomize for handling environment differences in an Argo CD repo? Walk me through how you would pick and what the repo layout looks like for each. - [Using Kustomize Overlays for Per-Environment Config](https://devops-daily.com/interview-questions/mid/argocd-kustomize-overlays-environments): Walk me through how you would use Kustomize overlays to handle config that differs between dev and prod in an Argo CD setup. - [Organizing a Shared Manifests Repo for Multiple Teams](https://devops-daily.com/interview-questions/mid/argocd-multi-team-manifests-repo): Three teams share one Argo CD instance and one manifests repo. How do you lay it out so each team can ship without waiting on each other and can't accidentally deploy each other's stuff? - [Handling Secrets in an Argo CD Manifests Repo](https://devops-daily.com/interview-questions/mid/argocd-secrets-in-gitops-repo): Secrets can't go into Git in plaintext. How do you handle them in an Argo CD setup, and what does that look like in your repo structure? - [Blue-Green Deployment Strategy](https://devops-daily.com/interview-questions/mid/cicd-blue-green-deployment): What is a blue-green deployment, and what are its advantages and disadvantages compared to other deployment strategies? - [CI/CD Pipeline Design](https://devops-daily.com/interview-questions/mid/cicd-pipeline-design): How would you design a CI/CD pipeline for a microservices application? What stages would you include? - [Database Backup and Recovery](https://devops-daily.com/interview-questions/mid/database-backup-recovery): Describe database backup strategies and how you would design a recovery plan for production databases. - [Designing an On-Call Schedule](https://devops-daily.com/interview-questions/mid/designing-on-call-schedule-coverage): You've got six engineers split across two time zones and you need 24/7 coverage. How would you actually design the rotation? Walk me through the trade-offs you'd weigh. - [Docker Image Layers and Caching](https://devops-daily.com/interview-questions/mid/docker-layers-caching): How do Docker image layers work, and how can you optimize your Dockerfile to take advantage of layer caching? - [Enforcing Tagging Policies Across Clouds](https://devops-daily.com/interview-questions/mid/enforcing-tagging-policies-multi-cloud): How do you actually enforce that every resource in AWS, GCP, and Azure gets the required tags? Walk me through what you would put in place. - [Designing an Escalation Policy](https://devops-daily.com/interview-questions/mid/escalation-policy-design): An alert fires at 3am and pages the primary on-call. Walk me through what your escalation policy should do from that moment, step by step, and tell me what failure modes you're designing around. - [Essential Tags for Multi-Cloud Cost Allocation](https://devops-daily.com/interview-questions/mid/essential-cloud-cost-tags): If you were designing a tagging standard for a company running on AWS, GCP, and Azure, which tags would you require on every resource and why? - [GitOps Principles and Implementation](https://devops-daily.com/interview-questions/mid/gitops-principles): What is GitOps and how does it differ from traditional CI/CD? Explain the pull-based deployment model. - [Designing Golden Paths](https://devops-daily.com/interview-questions/mid/idp-golden-paths): We want our developers to follow best practices, but we do not want to slow them down with mandatory reviews for every infrastructure change. How would you design 'golden paths' in an internal developer platform? - [Service Catalog and Ownership](https://devops-daily.com/interview-questions/mid/idp-service-catalog-design): You are building a service catalog for your IDP. Your company has 200 microservices, and nobody knows who owns half of them. How do you fix this, and what does a good service catalog look like? - [Immutable Infrastructure](https://devops-daily.com/interview-questions/mid/immutable-infrastructure): Explain immutable infrastructure and its benefits. How does it differ from traditional server management? - [Infrastructure as Code Patterns](https://devops-daily.com/interview-questions/mid/infrastructure-as-code-patterns): What are the key principles and patterns of Infrastructure as Code? How do you structure IaC for multiple environments? - [Istio Retries and Retry Amplification](https://devops-daily.com/interview-questions/mid/istio-retry-policy-pitfalls): How do you configure retries in Istio, and what's the danger of being too aggressive with them? - [Weighted Canary Rollout with Istio](https://devops-daily.com/interview-questions/mid/istio-weighted-canary-rollout): Walk me through how you'd canary a new version of a service with Istio. Say you want to start at 5% traffic to v2 and ramp up. - [Kubernetes Kubelet](https://devops-daily.com/interview-questions/mid/kubernetes-kubelet): What is the role of the kubelet in a Kubernetes cluster? How does it interact with the control plane? - [Kubernetes Pod Lifecycle](https://devops-daily.com/interview-questions/mid/kubernetes-pod-lifecycle): Explain the different phases of a Kubernetes Pod lifecycle and what happens during each phase. - [Kubernetes Services and Networking](https://devops-daily.com/interview-questions/mid/kubernetes-services-networking): Explain the different types of Kubernetes Services (ClusterIP, NodePort, LoadBalancer) and when to use each. - [Running Your First Pod-Delete Experiment Safely](https://devops-daily.com/interview-questions/mid/litmus-first-pod-delete-experiment): I hand you a fresh cluster with a demo nginx deployment. Take me from nothing to a controlled pod-delete experiment. What are the steps, and how do you keep it from turning into an outage? - [How Litmus Decides Pass or Fail: Probes](https://devops-daily.com/interview-questions/mid/litmus-probes-steady-state-validation): Your pod-delete experiment shows Pass, but during the run users got 502s for about 20 seconds. How can the experiment pass while the service was actually down, and how do you fix that? - [Log Aggregation Strategies](https://devops-daily.com/interview-questions/mid/log-aggregation-strategies): How do you implement centralized logging in a distributed system? What are the key components? - [Monitoring and Alerting Strategy](https://devops-daily.com/interview-questions/mid/monitoring-alerting-strategy): How do you design a monitoring and alerting strategy? What metrics would you track and how do you avoid alert fatigue? - [Auto vs Manual Instrumentation](https://devops-daily.com/interview-questions/mid/otel-auto-vs-manual-instrumentation): You need to roll out tracing across 40 services owned by six different teams. Do you go with auto-instrumentation or manual instrumentation, and how do you decide? - [Context Propagation Across Services](https://devops-daily.com/interview-questions/mid/otel-context-propagation): Service A calls service B over HTTP. How does B know the request belongs to an existing trace? What actually travels on the wire? - [Application Performance Optimization](https://devops-daily.com/interview-questions/mid/performance-optimization): How do you identify and resolve performance bottlenecks in a production application? - [Canary Releases in Progressive Delivery](https://devops-daily.com/interview-questions/mid/progressive-delivery-canary-releases): You're deploying a new version of a critical payment service. Walk me through how you'd set up a canary release for it. - [Feature Flag Types and Use Cases](https://devops-daily.com/interview-questions/mid/progressive-delivery-feature-flag-types): Can you walk me through the different types of feature flags and when you'd use each one? - [Secrets Management](https://devops-daily.com/interview-questions/mid/secrets-management): How do you securely manage secrets (passwords, API keys, certificates) in a DevOps environment? - [Service Mesh Concepts](https://devops-daily.com/interview-questions/mid/service-mesh-concepts): What is a service mesh and when would you implement one? Explain the sidecar pattern. - [SLI, SLO, and SLA Definitions](https://devops-daily.com/interview-questions/mid/sli-slo-sla): Explain the difference between SLI, SLO, and SLA with examples. - [Choosing the Right SLIs](https://devops-daily.com/interview-questions/mid/sre-choosing-slis): You're joining a team that runs a checkout service for an e-commerce platform. There are no SLOs yet. How would you decide which SLIs to track? - [Error Budget Management](https://devops-daily.com/interview-questions/mid/sre-error-budget-management): Your service has a 99.9% availability SLO over a 30-day window. How much downtime does that give you, and what do you actually do with that error budget day-to-day? - [Username Availability with Bloom Filters](https://devops-daily.com/interview-questions/mid/system-design-bloom-filters): Explain how you'd check username availability for a service with billions of users without hitting the database on every keystroke. - [CDN Image Delivery Under 50ms](https://devops-daily.com/interview-questions/mid/system-design-cdn-caching): Explain how a CDN serves images to users worldwide in under 50ms. - [Terraform State Management](https://devops-daily.com/interview-questions/mid/terraform-state-management): What is Terraform state, why is it important, and how do you manage state in a team environment? - [App-of-Apps Pattern vs ApplicationSets](https://devops-daily.com/interview-questions/senior/argocd-app-of-apps-vs-applicationsets): Explain the app-of-apps pattern in Argo CD. When would you pick it over ApplicationSets? - [Promoting Changes from Dev to Staging to Prod with Argo CD](https://devops-daily.com/interview-questions/senior/argocd-promotion-dev-staging-prod): Walk me through how a change moves from dev to staging to prod in an Argo CD setup. How do you stop something from slipping into prod that should not be there? - [Scaling a Manifests Repo Across Many Services, Environments, and Clusters](https://devops-daily.com/interview-questions/senior/argocd-scaling-repo-many-services-clusters): You have 15 microservices, 4 environments (dev, staging, preprod, prod), and prod runs in 3 regional clusters. That's potentially 90 Application CRs. How do you structure the manifests repo so it doesn't fall apart? - [Capacity Planning and Scaling](https://devops-daily.com/interview-questions/senior/capacity-planning): How do you approach capacity planning for a growing production system? What metrics and strategies do you use? - [Chaos Engineering Practices](https://devops-daily.com/interview-questions/senior/chaos-engineering): What is chaos engineering and how would you implement it safely in a production environment? - [Chargeback Design for Shared and Untaggable Costs](https://devops-daily.com/interview-questions/senior/chargeback-shared-untaggable-costs): You are designing a chargeback system for 200 teams running across AWS, GCP, and Azure. How do you handle the 15 to 25 percent of the bill that cannot be tagged to a single team, like inter-AZ data transfer, support plans, NAT gateways, and shared Kubernetes clusters? - [Cloud Cost Optimization](https://devops-daily.com/interview-questions/senior/cloud-cost-optimization): How do you approach cloud cost optimization? What strategies and tools would you use? - [Compliance and Governance in Cloud](https://devops-daily.com/interview-questions/senior/compliance-governance): How do you implement compliance and governance controls in a cloud-native environment? - [Disaster Recovery Planning](https://devops-daily.com/interview-questions/senior/disaster-recovery-planning): How do you design a disaster recovery strategy? Explain RPO, RTO, and different DR approaches. - [FinOps and Cloud Cost Management](https://devops-daily.com/interview-questions/senior/finops-cost-management): How do you implement FinOps practices to optimize and manage cloud costs at scale? - [Measuring IDP Success and Adoption](https://devops-daily.com/interview-questions/senior/idp-measuring-platform-success): You have spent six months building an internal developer platform. Your VP of Engineering asks: 'Is this thing actually working? How do we know it was worth the investment?' What do you show them? - [Platform API and Orchestration Layer](https://devops-daily.com/interview-questions/senior/idp-platform-api-orchestration): You are designing the orchestration layer for your IDP. A developer clicks 'Create New Service' and behind the scenes it needs to create a GitHub repo, provision a database, set up a CI/CD pipeline, configure monitoring, and register the service in the catalog. How do you architect this? - [Incident Postmortems](https://devops-daily.com/interview-questions/senior/incident-postmortem): Describe a production incident you handled and how you structured the postmortem. What makes a good blameless postmortem? - [Istio Circuit Breakers and Outlier Detection](https://devops-daily.com/interview-questions/senior/istio-circuit-breaker-outlier-detection): How do you implement a circuit breaker in Istio? Explain the difference between the connection pool limits and outlier detection. - [Debugging an Istio Traffic Policy That Isn't Working](https://devops-daily.com/interview-questions/senior/istio-debugging-traffic-policy): You applied a VirtualService that splits traffic 80/20 between v1 and v2 of a service, but in production all traffic still goes to v1. Walk me through how you'd debug it. - [Linux Process Debugging](https://devops-daily.com/interview-questions/senior/linux-process-debugging): A process is consuming 100% CPU on a Linux server. Walk me through how you would identify and troubleshoot this issue. - [From One Experiment to Continuous Chaos at Scale](https://devops-daily.com/interview-questions/senior/litmus-chaos-at-scale-workflows-gitops): You have proven a single pod-delete works. Leadership now wants chaos as an ongoing practice across dozens of services and several clusters, not a one-off demo. What changes, and what would you do differently at scale? - [Scoping Litmus Safely: RBAC and Blast Radius](https://devops-daily.com/interview-questions/senior/litmus-rbac-blast-radius-safety): Your security team sees that Litmus can delete pods and inject network faults cluster-wide, and they want it gone. How do you scope Litmus so you can still run chaos in production without handing it the keys to the cluster? - [Multi-Cloud Architecture](https://devops-daily.com/interview-questions/senior/multi-cloud-architecture): When would you recommend a multi-cloud strategy? What are the challenges and how do you address them? - [Why Run an OpenTelemetry Collector](https://devops-daily.com/interview-questions/senior/otel-collector-deployment): Why run an OpenTelemetry Collector at all instead of having every application export directly to your tracing backend? And how would you deploy it in Kubernetes? - [Sampling Strategies at Scale](https://devops-daily.com/interview-questions/senior/otel-sampling-strategies): Your platform handles 50,000 requests per second and tracing every one of them is blowing up the observability bill. How do you approach sampling, and what is the tradeoff between head and tail sampling? - [Platform Team Scaling and Processes](https://devops-daily.com/interview-questions/senior/platform-team-scaling): How do you scale a platform/DevOps team to support a growing engineering organization? - [Feature Flag Architecture at Scale](https://devops-daily.com/interview-questions/senior/progressive-delivery-flag-architecture): Your team has 200+ microservices and wants to adopt feature flags across all of them. How would you design the feature flag infrastructure? - [Progressive Delivery Rollback Strategy](https://devops-daily.com/interview-questions/senior/progressive-delivery-rollback-strategy): Your team just enabled a new feature for 20% of users via feature flags, and your monitoring shows a 3x increase in p99 latency for those users. Walk me through exactly what you'd do in the next 10 minutes. - [Reducing On-Call Alert Fatigue](https://devops-daily.com/interview-questions/senior/reducing-on-call-alert-fatigue): Your on-call engineers are burning out. They're getting 40 to 50 pages a shift and they tell you most of it is noise they just ack and ignore. How do you fix this? - [Scaling an On-Call Program Across Many Teams](https://devops-daily.com/interview-questions/senior/scaling-on-call-program): You've been asked to design the on-call program for an org that grew from one team to fifteen in a year. Right now it's a free-for-all. What does a healthy on-call program look like at that scale, and how would you measure whether it's working? - [Security Architecture and DevSecOps](https://devops-daily.com/interview-questions/senior/security-architecture): How do you integrate security into the DevOps pipeline? Describe the key components of a secure architecture. - [Error Budget Burn Investigation](https://devops-daily.com/interview-questions/senior/sre-burn-rate-alerting): It's Monday morning. You check the dashboard and see that your service burned 80% of its monthly error budget over the weekend. Walk me through how you'd investigate this and what you'd do next. - [SLO-Based Alerting and Burn Rates](https://devops-daily.com/interview-questions/senior/sre-slo-alerting): Traditional alerting fires when error rate crosses a static threshold, like 'alert if errors > 1%'. What's wrong with that approach, and how would you set up SLO-based alerting instead? - [Search Autocomplete System Design](https://devops-daily.com/interview-questions/senior/system-design-autocomplete): Design the backend for a search autocomplete system that returns suggestions within 100ms as the user types. - [System Design for Reliability](https://devops-daily.com/interview-questions/senior/system-design-reliability): How would you design a highly available web application? What components and patterns would you use? - [Zero Trust Architecture](https://devops-daily.com/interview-questions/senior/zero-trust-architecture): What is Zero Trust Architecture and how do you implement it in a modern infrastructure? ## Interactive Simulators & Games - [Log Aggregation Pipeline Simulator](https://devops-daily.com/games/log-aggregation-pipeline-simulator): Follow production logs from applications through collection, parsing, filtering, buffering, sharded indexing, and search. Trigger traffic spikes, parser failures, and slow indexing to see where backpressure builds and logs can be lost. - [How Docker Works Under the Hood](https://devops-daily.com/games/docker-under-the-hood-simulator): Watch what really happens when you run docker run -p 8080:80 nginx, one layer at a time. Step down the whole stack: the CLI, the daemon, the registry pull, containerd, the OCI runtime bundle, runc, the running container, and the shared Linux kernel. Every stage shows the real low-level command you can run yourself, so it doubles as a tour of the primitives that make a container: namespaces, cgroups, and runc. A container is not a small VM, and this shows you why. - [Webhook Delivery Simulator](https://devops-daily.com/games/webhook-delivery-simulator): Send a webhook through a production-style delivery flow. Change endpoint responses, watch retries and backoff, inspect real HMAC-SHA256 signatures, and redeliver the same message to see receiver-side deduplication. - [Bounce Triage Simulator](https://devops-daily.com/games/bounce-triage-simulator): Read a real SMTP bounce and decide what it is and what to do about it. Twelve genuine failures from Gmail, Outlook, Postfix and Proofpoint: hard bounces, soft bounces, content blocks, rate limits and spam complaints. Learn why the 4xx and 5xx class digit is a hint rather than the answer, which bounces to suppress permanently, which to retry, and what each mistake costs you in lost subscribers or lost sending reputation. - [Agentic Loop Simulator](https://devops-daily.com/games/agentic-loop-simulator): Watch a coding agent run an agentic loop, one step at a time. A planner, a builder, and a judge cycle through plan, build, verify, and repeat until the goal is met. Toggle the separate judge off to see why an agent grading its own work ships confident bugs. An animation-first, interactive explainer of loop engineering and how it maps to Claude Code. - [SQL Terminal Simulator](https://devops-daily.com/games/sql-terminal-simulator): Practice SQL in an interactive browser terminal. Learn SELECT, WHERE, ORDER BY, DISTINCT, aggregates, GROUP BY, HAVING, JOINs, subqueries, and window functions against a small e-commerce schema, with single-table queries evaluated live and verified Postgres output. - [PostgreSQL Terminal Simulator](https://devops-daily.com/games/postgres-terminal-simulator): Practice the psql tool and Postgres engine in an interactive browser terminal. Explore with meta-commands, read real EXPLAIN plans, add an index to turn a sequential scan into a bitmap index scan, and use BEGIN and ROLLBACK to make changes safe, all against a small e-commerce database with verified PostgreSQL output. - [MongoDB Terminal Simulator](https://devops-daily.com/games/mongodb-terminal-simulator): Practice MongoDB queries in an interactive browser terminal. Learn find and projections, query operators like $lt, $gt, and $in, sort, skip, limit, countDocuments, insert, update, delete, and the aggregation pipeline with $match, $group, and $sort, against a small e-commerce dataset that runs live in your browser. - [Fork Bomb Simulator](https://devops-daily.com/games/fork-bomb-simulator): Visualize how the infamous :(){ :|:& };: fork bomb works. Watch processes multiply exponentially, exhaust system resources, and learn how to protect against it with ulimit, cgroups, and systemd. - [AWS VPC Networking Simulator](https://devops-daily.com/games/aws-vpc-simulator): Learn AWS networking fundamentals with an interactive VPC simulator. Visualize how traffic flows through public and private subnets, understand NAT Gateways, Internet Gateways, and route tables. - [DNS Resolution Simulator](https://devops-daily.com/games/dns-simulator): Learn how DNS works with an interactive step-by-step simulator. Visualize the DNS hierarchy, understand caching at different levels, and see the difference between recursive and iterative queries. - [Database Indexing Simulator](https://devops-daily.com/games/db-indexing-simulator): Learn how database indexes work with an interactive simulator. See the difference between full table scans and index seeks, understand B-tree structure, and learn when to create indexes. - [Database Replication, Sharding & Scaling](https://devops-daily.com/games/database-replication-sharding-scaling): Explore database replication, sharding, and scaling with an interactive simulator. Compare sync vs async replication, shard key choices, hot spots, failover behavior, read replicas, write scaling, connection pooling, cost, and latency. - [PostgreSQL Wire Protocol Simulator](https://devops-daily.com/games/postgres-wire-protocol): Visualize the PostgreSQL wire protocol with an interactive simulator. Step through TLS negotiation, StartupMessage, SCRAM authentication, simple queries, extended queries, RowDescription, DataRow streams, ErrorResponse, COPY, and ReadyForQuery. - [Docker Terminal Simulator](https://devops-daily.com/games/docker-terminal-simulator): Practice Docker commands in an interactive browser terminal. Learn images, containers, logs, exec, Dockerfile builds, volumes, networks, and Docker Compose with a live Docker daemon visualization. - [Kubernetes Terminal Simulator](https://devops-daily.com/games/kubernetes-terminal-simulator): Practice Kubernetes commands in an interactive browser terminal. Learn kubectl contexts, nodes, Pods, Deployments, Services, rollouts, logs, exec, events, ConfigMaps, and cleanup workflows with a live cluster visualization. - [Terraform Basics Simulator](https://devops-daily.com/games/terraform-terminal-simulator): Learn Terraform basics in an interactive browser lab. Read and edit the HCL config, run init, validate, plan, apply, and destroy, and watch state react to your edits. A free, hands-on way to learn infrastructure as code with no AWS account. - [P90, P95 & P99 Latency Simulator](https://devops-daily.com/games/latency-percentiles-simulator): Learn latency percentiles with an interactive simulator. Generate request samples, visualize distributions, compare average latency with P50, P90, P95, and P99, and see how tail latency affects real users. - [Kubernetes Networking / CNI Simulator](https://devops-daily.com/games/kubernetes-networking-cni-simulator): Visualize Kubernetes networking and CNI packet paths with an interactive simulator. Learn Pod-to-Pod routing, same-node and cross-node traffic, ClusterIP Services, EndpointSlices, headless Services, LoadBalancer, NodePort, kube-proxy, eBPF service routing, Ingress, NetworkPolicy, and internet egress. - [Git Concepts Simulator](https://devops-daily.com/games/git-concepts-simulator): Practice Git in an interactive browser terminal with a visual repository model. Learn the working directory, staging area, local commits, branch pointers, remotes, fast-forward merges, fetch, and rebase. - [JavaScript Promises & Async/Await Simulator](https://devops-daily.com/games/javascript-promises-async-await-simulator): Visualize JavaScript promises, async/await, microtasks, task queues, setTimeout ordering, rejection handling, and Promise.all with an interactive event-loop simulator inspired by classic JavaScript visual guides. - [OAuth/OIDC Flow Simulator](https://devops-daily.com/games/oauth-oidc-flow-simulator): Visualize OAuth 2.0 and OpenID Connect flows with an interactive simulator. Learn authorization code + PKCE, state, nonce, redirect URI checks, ID tokens, access tokens, refresh tokens, scopes, UserInfo, and common auth failure modes. - [SMTP Flow Simulator](https://devops-daily.com/games/smtp-flow-simulator): Visualize how SMTP email delivery works from app submission through EHLO, STARTTLS, AUTH, MAIL FROM, RCPT TO, DATA, SPF, DKIM, DMARC, recipient MX relay, retries, bounces, and inbox placement. Sponsored by SMTPfast. - [Message Queue Simulator](https://devops-daily.com/games/message-queue-simulator): Visualize how message queues work across Kafka and RabbitMQ patterns. Explore producers, brokers, topics, partitions, exchanges, queues, consumer groups, lag, rebalancing, backpressure, ordering, and dead letter queues. - [Caching Strategies Simulator](https://devops-daily.com/games/caching-simulator): Learn caching fundamentals with an interactive simulator. Visualize cache hits, misses, eviction policies (LRU, LFU, FIFO), and understand write strategies. - [Deployment Strategies Simulator](https://devops-daily.com/games/deployment-strategies): Learn deployment strategies like Blue-Green, Canary, Rolling Updates, and Recreate. Visualize how each strategy handles traffic routing, downtime, and rollbacks. - [REST API vs GraphQL Simulator](https://devops-daily.com/games/rest-vs-graphql): Compare REST and GraphQL side-by-side. Understand over-fetching, under-fetching, the N+1 problem, and when to use each approach with interactive scenarios. - [Horizontal vs Vertical Scaling Simulator](https://devops-daily.com/games/scaling-simulator): Interactive game to learn scaling strategies for web applications. Experiment with horizontal and vertical scaling, see the effects on performance, cost, and reliability with realistic pricing simulation and budget constraints. - [BCDR Simulator](https://devops-daily.com/games/bcdr-simulator): Learn Business Continuity & Disaster Recovery with interactive RTO/RPO planning, failover strategies, and disaster scenarios. Understand hot, warm, and cold DR sites. - [SSL/TLS Handshake Simulator](https://devops-daily.com/games/ssl-tls-handshake): Visualize how SSL/TLS handshakes work with certificate verification, key exchange, and cipher negotiation. Compare TLS 1.2 and 1.3 protocols. - [Learn Linux - Interactive Tutorial](https://devops-daily.com/games/linux-terminal): Master essential Linux commands through interactive lessons. Practice pwd, ls, cd, cat, grep, chmod, pipes, and more in a simulated terminal environment with 6 progressive lessons. - [Load Balancer Algorithm Simulator](https://devops-daily.com/games/load-balancer-simulator): Learn how different load balancing algorithms distribute traffic across servers. Experiment with Round Robin, Least Connections, IP Hash, and more. See how load balancers handle failures and optimize performance. - [Database Management Systems](https://devops-daily.com/games/dbms-simulator): Learn about different database types (SQL, NoSQL, Graph, Time-Series) and their use cases. Explore CAP theorem trade-offs and make informed database choices. - [GitOps Workflow Simulator](https://devops-daily.com/games/gitops-workflow): Learn GitOps principles through interactive scenarios. Understand Git as source of truth, automated sync, and drift detection. - [Bug Hunter](https://devops-daily.com/games/bug-hunter): DevOps-themed Snake game where you control a bug that infects healthy servers. Grow longer with each infection, but avoid crashing into walls or yourself! - [TCP vs UDP Simulator](https://devops-daily.com/games/tcp-vs-udp): Interactive visualization showing the differences between TCP's reliable connection-oriented protocol and UDP's fast connectionless approach. See the 3-way handshake, packet loss, and retransmissions in action. - [DevOps Scorecard](https://devops-daily.com/games/devops-scorecard): Evaluate your DevOps skills across 8 key areas and generate a beautiful, shareable scorecard with personalized insights. - [Microservices Architecture Simulator](https://devops-daily.com/games/microservices-simulator): Design and deploy microservices. See communication patterns, handle failures, and scale independently. Learn when to use microservices and understand the trade-offs. - [Kubernetes Scheduler Challenge](https://devops-daily.com/games/k8s-scheduler): Drag-and-drop Pods onto Nodes while honoring kube scheduling rules: resources, taints/tolerations, selectors, and topology spread. - [Rate Limit Simulator](https://devops-daily.com/games/rate-limit-simulator): Learn API rate limiting, backoff strategies, and throttling with real-time visualization and interactive charts. - [DDoS Attack Simulator](https://devops-daily.com/games/ddos-simulator): Educational simulator to understand how DDoS attacks work with stunning real-time visualizations, multiple attack vectors, and protection mechanisms. - [Scalable Sentry](https://devops-daily.com/games/scalable-sentry): Tower defense game where you defend your infrastructure against waves of network traffic. Deploy servers, manage resources, and survive boss waves! - [Network Packet Journey](https://devops-daily.com/games/packet-journey): Follow a single HTTP/HTTPS packet through the entire network stack with stunning animations. Learn DNS, TCP, TLS, CDN, load balancing, and more! - [CI/CD Stack Generator](https://devops-daily.com/games/cicd-stack-generator): Spin the reels to generate your perfect (or perfectly cursed) DevOps stack! - [Infra Tarot Cards](https://devops-daily.com/games/infra-tarot): Draw mystical cards to discover your infrastructure destiny! Get humorous readings about your DevOps future. - [You Might Be a DevOps Engineer If...](https://devops-daily.com/games/devops-memes): Auto-generating hilarious and painfully accurate DevOps memes. Each reload brings a new dose of reality! - [Cards Against DevOps](https://devops-daily.com/games/cards-against-devops): A hilariously inappropriate DevOps party game. Fill in the blanks with the most outrageous DevOps scenarios! - [Git Command Quiz](https://devops-daily.com/games/git-quiz): Test your Git knowledge with interactive scenarios covering branches, merges, rebases, conflicts, and the recovery commands you reach for under pressure. - [Uptime Defender](https://devops-daily.com/games/uptime-defender): Fast-paced SRE game where you defend your infrastructure uptime! Handle incoming incidents by adding nodes, rotating logs, failing over, restarting pods, and scaling databases. - [Prometheus Query Builder (PromQL Playground)](https://devops-daily.com/games/promql-playground): Learn Prometheus Query Language (PromQL) with an interactive playground. Master label filtering, rate calculations, aggregations, and histogram quantiles with real-time query execution. - [Service Mesh Traffic Simulator](https://devops-daily.com/games/service-mesh-simulator): Visualize how service mesh proxies handle traffic between microservices. Learn mTLS, traffic splitting, retries, circuit breakers, and explore Istio and Linkerd patterns. ## News Digests - [DevOps Weekly Digest - Week 33, 2026](https://devops-daily.com/news/2026-week-33): ⚡ Curated updates from Kubernetes, cloud native tooling, CI/CD, IaC, observability, and security - handpicked for DevOps professionals! - [DevOps Weekly Digest - Week 32, 2026](https://devops-daily.com/news/2026-week-32): ⚡ Curated updates from Kubernetes, cloud native tooling, CI/CD, IaC, observability, and security - handpicked for DevOps professionals! - [DevOps Weekly Digest - Week 31, 2026](https://devops-daily.com/news/2026-week-31): ⚡ Curated updates from Kubernetes, cloud native tooling, CI/CD, IaC, observability, and security - handpicked for DevOps professionals! - [DevOps Weekly Digest - Week 30, 2026](https://devops-daily.com/news/2026-week-30): ⚡ Curated updates from Kubernetes, cloud native tooling, CI/CD, IaC, observability, and security - handpicked for DevOps professionals! - [DevOps Weekly Digest - Week 29, 2026](https://devops-daily.com/news/2026-week-29): ⚡ Curated updates from Kubernetes, cloud native tooling, CI/CD, IaC, observability, and security - handpicked for DevOps professionals! - [DevOps Weekly Digest - Week 28, 2026](https://devops-daily.com/news/2026-week-28): ⚡ Curated updates from Kubernetes, cloud native tooling, CI/CD, IaC, observability, and security - handpicked for DevOps professionals! - [DevOps Weekly Digest - Week 27, 2026](https://devops-daily.com/news/2026-week-27): ⚡ Curated updates from Kubernetes, cloud native tooling, CI/CD, IaC, observability, and security - handpicked for DevOps professionals! - [DevOps Weekly Digest - Week 26, 2026](https://devops-daily.com/news/2026-week-26): ⚡ Curated updates from Kubernetes, cloud native tooling, CI/CD, IaC, observability, and security - handpicked for DevOps professionals! - [DevOps Weekly Digest - Week 25, 2026](https://devops-daily.com/news/2026-week-25): ⚡ Curated updates from Kubernetes, cloud native tooling, CI/CD, IaC, observability, and security - handpicked for DevOps professionals! - [DevOps Weekly Digest - Week 24, 2026](https://devops-daily.com/news/2026-week-24): ⚡ Curated updates from Kubernetes, cloud native tooling, CI/CD, IaC, observability, and security - handpicked for DevOps professionals! - [DevOps Weekly Digest - Week 23, 2026](https://devops-daily.com/news/2026-week-23): ⚡ Curated updates from Kubernetes, cloud native tooling, CI/CD, IaC, observability, and security - handpicked for DevOps professionals! - [DevOps Weekly Digest - Week 22, 2026](https://devops-daily.com/news/2026-week-22): ⚡ Curated updates from Kubernetes, cloud native tooling, CI/CD, IaC, observability, and security - handpicked for DevOps professionals! ## Advent of DevOps - [Day 1: Day 1 - Build a Minimal Docker Image](https://devops-daily.com/advent-of-devops/day-1.md): Learn to create the smallest possible Docker image for a Go application. Optimize for size, security, and performance using static compilation. - [Day 2: Day 2 - Fix the Slow Docker Build](https://devops-daily.com/advent-of-devops/day-2.md): Debug and optimize a poorly written Dockerfile to reduce build time by at least 50%. Learn layer caching, build optimization, and best practices. - [Day 3: Day 3 - Add GitHub Actions CI](https://devops-daily.com/advent-of-devops/day-3.md): Set up continuous integration for a repository without automation. Create a GitHub Actions workflow that runs tests on every push. - [Day 4: Day 4 - Speed Up CI with Caching](https://devops-daily.com/advent-of-devops/day-4.md): Optimize a slow GitHub Actions workflow by adding intelligent caching for dependencies. Achieve 40% faster run times. - [Day 5: Day 5 - Debug a Broken Container](https://devops-daily.com/advent-of-devops/day-5.md): Troubleshoot and fix a container that fails to start. Learn essential debugging techniques for containerized applications. - [Day 6: Day 6 - Write a Small Terraform Module](https://devops-daily.com/advent-of-devops/day-6.md): Create your first reusable Terraform module to provision cloud infrastructure. Learn infrastructure as code fundamentals. - [Day 7: Day 7 - Improve the Terraform Module](https://devops-daily.com/advent-of-devops/day-7.md): Enhance your Terraform module with advanced features like testing, documentation, and CI/CD integration. - [Day 8: Day 8 - Deploy a Small App on Kubernetes](https://devops-daily.com/advent-of-devops/day-8.md): Deploy your first application to Kubernetes using Deployments, Services, and ConfigMaps. Learn the fundamentals of K8s. - [Day 9: Day 9 - Fix a Failing Pod](https://devops-daily.com/advent-of-devops/day-9.md): Debug and fix a Kubernetes pod that crashes on startup. Master essential troubleshooting techniques. - [Day 10: Day 10 - Wrap the App in a Helm Chart](https://devops-daily.com/advent-of-devops/day-10.md): Package your Kubernetes application as a Helm chart for easy deployment and management across environments. - [Day 11: Day 11 - Basic Observability](https://devops-daily.com/advent-of-devops/day-11.md): Set up monitoring and logging for your Kubernetes application with Prometheus and Grafana. - [Day 12: Day 12 - Log Parsing](https://devops-daily.com/advent-of-devops/day-12.md): Parse and analyze application logs to extract meaningful insights and debug production issues. - [Day 13: Day 13 - Security Scan](https://devops-daily.com/advent-of-devops/day-13.md): Scan container images and infrastructure code for security vulnerabilities and misconfigurations. - [Day 14: Day 14 - Networking Debugging](https://devops-daily.com/advent-of-devops/day-14.md): Debug network connectivity issues in Kubernetes including DNS, service discovery, and network policies. - [Day 15: Day 15 - Bash Scripting Day](https://devops-daily.com/advent-of-devops/day-15.md): Write a practical bash script to automate common DevOps tasks like deployments, backups, and health checks. - [Day 16: Day 16 - Autoscaling](https://devops-daily.com/advent-of-devops/day-16.md): Configure horizontal pod autoscaling in Kubernetes to automatically scale applications based on CPU and memory usage. - [Day 17: Day 17 - Serverless Deploy](https://devops-daily.com/advent-of-devops/day-17.md): Deploy a serverless function to AWS Lambda with API Gateway, learning modern serverless architecture patterns. - [Day 18: Day 18 - Deploy a Static Site](https://devops-daily.com/advent-of-devops/day-18.md): Deploy a static website to AWS S3 with CloudFront CDN for global performance and HTTPS support. - [Day 19: Day 19 - Load Testing](https://devops-daily.com/advent-of-devops/day-19.md): Perform load testing on your application to identify performance bottlenecks and capacity limits. - [Day 20: Day 20 - Secrets Management](https://devops-daily.com/advent-of-devops/day-20.md): Securely manage application secrets and credentials using AWS Secrets Manager, Kubernetes Secrets, and best practices. - [Day 21: Day 21 - Create a Reusable Template Repo](https://devops-daily.com/advent-of-devops/day-21.md): Build a GitHub template repository with DevOps best practices baked in for quick project bootstrapping. - [Day 22: Day 22 - Run a Local Cluster](https://devops-daily.com/advent-of-devops/day-22.md): Set up a local Kubernetes cluster with Minikube or Kind for development and testing without cloud costs. - [Day 23: Day 23 - Container Networking Puzzle](https://devops-daily.com/advent-of-devops/day-23.md): Solve complex container networking challenges involving multi-container apps, custom networks, and service discovery. - [Day 24: Day 24 - Harden a Config](https://devops-daily.com/advent-of-devops/day-24.md): Apply security hardening best practices to application configurations, containers, and infrastructure. - [Day 25: Day 25 - Write Your DevOps Journey](https://devops-daily.com/advent-of-devops/day-25.md): Reflect on your DevOps learning journey, document what you built, and share your knowledge with the community.