I made a manual change directly in my cluster to test something quickly. Flux reverted it within 60 seconds. At first I was annoyed. Then I realised that was exactly the point. Drift detection is a Flux feature that watches for any difference between what is in Git and what is actually running in the cluster. The moment it finds one it reconciles back to Git automatically. That means if anyone, including me, runs a manual kubectl edit or kubectl patch directly on a resource that Flux manages, Flux will undo it. Here is why that is a feature not a bug. In a real team environment someone will always make a quick manual change to fix something urgently. Without drift detection that change lives in the cluster but not in Git. Over time those undocumented changes accumulate. Nobody knows what is actually running anymore or why it differs from the repo. With drift detection Git is always the truth. Always. No exceptions. The discipline it enforces is uncomfortable at first. You cannot just tweak things directly anymore. Every change has to go through Git. But that discomfort is the whole point. It forces good habits and makes your infrastructure trustworthy. Have you ever had an environment drift so far from its config that nobody knew what was actually running? 👇 Follow me, I am documenting everything I build and learn in my home lab. #GitOps #Kubernetes #DevOps #FluxCD #CloudNative
FluxCD Reverts Manual Cluster Changes for Git Integrity
More Relevant Posts
-
Git is your source of truth. Until... Until something gets fixed “just for now” in production. It’s never a big decision. Just a quick change to get things running. And for a while… nothing holds back.. But now you have two realities: 1. What Git says should be running? 2. What the cluster is actually running? This is exactly the problem GitOps tools like 𝐀𝐫𝐠𝐨 𝐂𝐃 are built to solve. If you look at how ArgoCD works: Git holds your desired state. ArgoCD continuously compares it with the live cluster. If there’s drift, it tries to bring the system back in sync. Simple in theory. But this is where most teams struggle: ArgoCD doesn’t prevent drift. It only reacts to it. So if your system allows: → manual changes in production → inconsistent configs across environments → secrets and dependencies outside Git You’re constantly reconciling instability. That’s why teams need to start seeing: 𝟏. sync errors they don’t fully trust 𝟐. rollbacks that behave unpredictably 𝟑. pipelines that feel automated… but fragile The issue isn’t with ArgoCD. It’s the lack of discipline around what deserves to be in Git. At 𝐍𝐢𝐦𝐛𝐮𝐬 𝐓𝐞𝐜𝐡𝐊𝐧𝐨𝐱, this is where we step in. Before scaling GitOps, we focus on: → making Git a reliable reflection of reality → eliminating hidden state outside pipelines → designing environments that behave predictably under sync Because GitOps isn’t about just deploying faster. It’s about removing the gap between intention and reality. Close that gap. That's when the tools like ArgoCD start doing what they were meant to do. #GitOps #DevOps #Kubernetes #ArgoCD #CloudInfrastructure #PlatformEngineering
To view or add a comment, sign in
-
-
🚀 We cut our deployment time by 60%. Here's exactly how we did it. 6 months ago, our deploys were painful. Manual steps. Flaky pipelines. Engineers burned out waiting. Then we rebuilt everything with Jenkins + ArgoCD — and the results were staggering. Here's what changed: #Before: ❌ ~45 min average deploy time ❌ Human errors on every 3rd release ❌ Zero visibility into what's running in prod ❌ Devs dreading deploy Fridays #After: ✅ ~18 min average deploy time (-60%) ✅ GitOps-driven — Git is the single source of truth ✅ ArgoCD syncs automatically, drift detected instantly ✅ Devs ship with confidence, not anxiety The 3 things that made the difference: 1️⃣ Jenkins for CI, ArgoCD for CD — clear separation of concerns Jenkins builds, tests, and pushes the image. ArgoCD owns delivery. No blurring of responsibilities. 2️⃣ GitOps = Auditability on autopilot Every change to prod is a Git commit. Who changed what, when, and why — always visible. 3️⃣ Auto-sync + health checks killed manual approvals ArgoCD monitors Kubernetes state continuously. Drift? Caught and corrected automatically. The real win wasn't just speed. It was trust — trust that what's in Git is what's in prod. Trust that the team can deploy daily without fear. If your team is still doing manual deploys or struggling with slow pipelines, this stack is worth exploring. Happy to share our Jenkins pipeline template or ArgoCD app configs — just drop a "Share" in the comments. 👇 #DevOps #CI #CD #Jenkins #ArgoCD #GitOps #Kubernetes #SoftwareEngineering #CloudNative #DeploymentAutomation #SRE #PlatformEngineering
To view or add a comment, sign in
-
-
🚀 From Git Push to Production — What actually happens? Most people think deployment is just “push code and done”. Reality is very different. When I push code, this is what goes on behind the scenes 👇 🔹 Step 1: Review first, always I raise a PR, team checks it, we discuss, improve, then merge. Good code doesn’t go live without a second pair of eyes. 🔹 Step 2: The pipeline wakes up The moment code hits main, GitHub Actions kicks in. Tests run. Security checks run. Code quality gets validated. If anything breaks here, it never goes further. Simple. 🔹 Step 3: Packaging the app Now the app gets wrapped inside a Docker container. Same code, same environment, no “it works on my machine” excuses anymore. 🔹 Step 4: Staging check Before real users ever see it, we deploy to a staging setup that mirrors production. We quickly verify: APIs responding Database connected Core features working 🔹 Step 5: Slow and safe rollout Using Kubernetes, we don’t release everything at once. Small percentage first. Watch metrics. If everything looks good, we expand. 🔹 Step 6: Backup plan ready If something goes wrong, rollback happens automatically. No panic. No late night fixes. ⏱️ End result? Code goes live in minutes. Users don’t even notice updates happening. This is why companies like Netflix can ship so fast. Not magic. Just a solid CI CD pipeline. If you’re learning development, don’t ignore this part. Writing code is step one. Shipping it properly is the real game. #devops #cicd #docker #kubernetes #githubactions #programming #developer #coding #softwareengineering #tech
To view or add a comment, sign in
-
More code will be written in the next 5 years than in all of history. That raises a real challenge for DevOps/SRE. Tooling was built for humans, not always-on agents generating code at scale. We may be heading toward a bottleneck in how we manage and version that explosion of code and state. Interesting to see ideas like Artifacts emerging as teams start rethinking this. https://lnkd.in/gc39tYkz #DevOps #SRE #SiteReliability #Engineer #Git
To view or add a comment, sign in
-
Last week, a deployment broke. Not because of bad code. But because someone changed something manually. No one knew what changed. No one knew when. No one knew why. Sound familiar? This is exactly the problem GitOps solves. No manual changes. Ever. Everything is controlled through Git. You want to deploy? → Push code You want to change config? → Create PR You want rollback? → Revert commit Git becomes the single source of truth. No confusion. No hidden changes. No “who did this?” moments. Simple rule: If it’s not in Git, it doesn’t exist. Are you still making manual changes in production? #DevOps #GitOps #CloudComputing #Automation #Neoscript
To view or add a comment, sign in
-
Day 39 of #90DaysOfDevOps — Today I didn't write a single pipeline. Instead, I spent the day understanding WHY CI/CD exists before touching any tooling. Here's what clicked for me today: 🔴 The Problem Imagine 5 developers all manually deploying to production. Merge conflicts, config mismatches, "it works on my machine" — a team can safely deploy maybe 1-2 times a day before mistakes creep in. CI/CD teams deploy hundreds of times a day. 🟡 CI vs CD vs CD • Continuous Integration — push code frequently, automatically build and test it, catch breaks in minutes not days • Continuous Delivery — pipeline is automated, but a human approves the final production release • Continuous Deployment — zero human involvement, code goes live automatically if all tests pass The difference between Delivery and Deployment? One human approval gate. 🟢 Real World I opened FastAPI's GitHub repo and read their test.yml workflow. Every pull request automatically runs tests across Windows, macOS and Ubuntu on Python 3.10 through 3.14. If any test fails, the PR cannot merge. That's not a pipeline failing. That's CI/CD doing exactly its job. Biggest lesson today: CI/CD is a practice, not a tool. GitHub Actions, Jenkins, GitLab CI — these are just tools that implement the practice. Day 40 tomorrow — time to actually build a pipeline. #90DaysOfDevOps #DevOpsKaJosh #TrainWithShubham #CICD #DevOps #CloudComputing
To view or add a comment, sign in
-
-
The last manual step in my GitOps setup was updating image tags. A new version of an app would get published and I would have to go into my repo, find the deployment manifest, and bump the tag by hand. That is not automation. That is just moving the manual work to a different place. Renovate fixed that. Here is how the full automation chain works now: - A new Docker image gets published to the registry. - Renovate detects the new tag automatically. - Renovate opens a pull request in my home lab repo suggesting the version bump. - I review and merge it. - Flux detects the change and updates the running pod. I never touch the manifest directly. I just review a pull request. Now GitOps can actually do this entire flow automatically including the merge. But I deliberately keep the manual review step. Every update goes through my eyes before it hits the cluster. I see what changed, what version it moved to, and I make the call to merge. That is how I actually stay on top of what is running in my environment and why. Full automation is powerful. Intentional automation is better. Are you automating image updates in your setup or still bumping tags manually? 👇 Follow me, I am documenting everything I build and learn in my home lab. #DevOps #GitOps #Kubernetes #CloudNative #Automation
To view or add a comment, sign in
-
Back to Basics: Continuous Integration Broken code that nobody catches for weeks is expensive. That's the problem Continuous Integration (CI) solves. Here's the simplest way to think about it: Imagine a team writing a book together. Everyone disappears for three months, writes their chapter in isolation, then tries to combine it all at the end. Contradictions everywhere. Repeated sections. Total chaos. That's what software teams experience without CI — it's called "merge hell." CI fixes this by encouraging developers to share their code changes frequently (often daily), and running automated checks every single time. Tests run automatically. Problems surface in minutes, not weeks. The person who introduced the issue can fix it while it's still small. For teams using Git, the flow is simple: → Push a branch → Automated tests run instantly → Green? Merge. Red? Fix first. The result: your codebase is almost always in a working state, and nothing breaks quietly. Small habit. Big impact — especially for small teams who can't afford weeks of debugging. #ContinuousIntegration #DevOps #SoftwareDevelopment #Git Note: Concept image generated via #Google #Gemini
To view or add a comment, sign in
-
-
𝗚𝗶𝘁 𝗶𝘀 𝗻𝗼𝘁 𝗷𝘂𝘀𝘁 𝗮 𝗱𝗲𝘃𝗲𝗹𝗼𝗽𝗲𝗿 𝘁𝗼𝗼𝗹. 𝗜𝗻 𝗗𝗲𝘃𝗢𝗽𝘀 — 𝗶𝘁 𝗶𝘀 𝘁𝗵𝗲 𝗳𝗼𝘂𝗻𝗱𝗮𝘁𝗶𝗼𝗻 𝗼𝗳 𝗲𝘃𝗲𝗿𝘆𝘁𝗵𝗶𝗻𝗴. Most people use Git to save code. DevOps engineers use it to 𝗿𝘂𝗻 𝘁𝗵𝗲𝗶𝗿 𝗲𝗻𝘁𝗶𝗿𝗲 𝗼𝗽𝗲𝗿𝗮𝘁𝗶𝗼𝗻. Here is what that actually looks like 𝗩𝗲𝗿𝘀𝗶𝗼𝗻 𝗖𝗼𝗻𝘁𝗿𝗼𝗹 — 𝗕𝗲𝘆𝗼𝗻𝗱 𝗖𝗼𝗱𝗲 Not just your app. Your infrastructure, pipelines, and configs too. Every change tracked. Every change reversible. 𝗢𝗻𝗲 𝗣𝘂𝘀𝗵 = 𝗙𝘂𝗹𝗹 𝗔𝘂𝘁𝗼𝗺𝗮𝘁𝗶𝗼𝗻 git push triggers your entire pipeline. Build → Test → Deploy — no manual steps, no human error. 𝗥𝗼𝗹𝗹𝗯𝗮𝗰𝗸 𝗶𝗻 𝗦𝗲𝗰𝗼𝗻𝗱𝘀 Production is down at 2 AM? Revert to the last stable commit. Done. 𝗧𝗵𝗶𝘀 𝗶𝘀 𝗼𝗻𝗹𝘆 𝗽𝗼𝘀𝘀𝗶𝗯𝗹𝗲 𝗯𝗲𝗰𝗮𝘂𝘀𝗲 𝗚𝗶𝘁 𝗿𝗲𝗺𝗲𝗺𝗯𝗲𝗿𝘀 𝗲𝘃𝗲𝗿𝘆𝘁𝗵𝗶𝗻𝗴. 𝗚𝗶𝘁𝗢𝗽𝘀 — 𝗟𝗲𝘁 𝗚𝗶𝘁 𝗥𝘂𝗻 𝗬𝗼𝘂𝗿 𝗜𝗻𝗳𝗿𝗮𝘀𝘁𝗿𝘂𝗰𝘁𝘂𝗿𝗲 Push a change → infrastructure updates itself automatically. 𝗡𝗼 𝗠𝗼𝗿𝗲 "𝗪𝗵𝗼 𝗖𝗵𝗮𝗻𝗴𝗲𝗱 𝗪𝗵𝗮𝘁?" Every commit has an author, a message, and a timestamp. Full transparency. Zero blame games. 𝗧𝗵𝗶𝗻𝗸 𝗼𝗳 𝗚𝗶𝘁 𝗮𝘀: → Your safety net — nothing is ever truly lost → Your automation trigger — one push, everything moves → Your audit log — complete history of every decision 𝗜𝗻 𝗗𝗲𝘃𝗢𝗽𝘀, 𝗚𝗶𝘁 𝗶𝘀 𝗻𝗼𝘁 𝗼𝗽𝘁𝗶𝗼𝗻𝗮𝗹. 𝗜𝘁 𝗶𝘀 𝗼𝘅𝘆𝗴𝗲𝗻. Save this. Share it with your team. 𝗥𝗲𝘀𝗼𝘂𝗿𝗰𝗲 𝗹𝗶𝗻𝗸 𝗶𝗻 𝘁𝗵𝗲 𝗰𝗼𝗺𝗺𝗲𝗻𝘁𝘀 👇 #DevOps #Git #GitOps #CICD #Automation #CloudComputing #SRE #VersionControl #DevopsSikhaDo
To view or add a comment, sign in
-
-
GitOps sounds complex. It's actually a simple idea. Traditional deployment Engineer runs kubectl apply manually Or a script deploys from a CI/CD server What's running in production may or may not match what's in Git GITOPE Git is the single source of truth A tool (like ArgoCD) watches your repo Any change pushed to Git is automatically synced to your cluster If someone changes something manually in the cluster ArgoCD corrects it back That last point is the key self-healing The cluster always reflects what's in Git. Not what someone ran last Tuesday Benefits: →Full audit trail every change is a git commit Easy rollback revert the commit, cluster reverts too No manual kubectl in production. GitOps isn't a tool. It's a practice. ArgoCD an FluxCD are just the tools that implement it. #GitOps #ArgoCD #Kubernetes #DevOps #CloudEngineering
To view or add a comment, sign in
Explore content categories
- Career
- Productivity
- Finance
- Soft Skills & Emotional Intelligence
- Project Management
- Education
- Technology
- Leadership
- Ecommerce
- User Experience
- Recruitment & HR
- Customer Experience
- Real Estate
- Marketing
- Sales
- Retail & Merchandising
- Science
- Supply Chain Management
- Future Of Work
- Consulting
- Writing
- Economics
- Artificial Intelligence
- Employee Experience
- Workplace Trends
- Fundraising
- Networking
- Corporate Social Responsibility
- Negotiation
- Communication
- Engineering
- Hospitality & Tourism
- Business Strategy
- Change Management
- Organizational Culture
- Design
- Innovation
- Event Planning
- Training & Development