Infra as Code & GitOps
Terraform state, Helm releases and GitOps drift.
7 articles
ArgoCD Stuck on 'Waiting for Completion of Hook': Breaking the Deadlock
Your ArgoCD sync has waited on a PreSync Job for forty minutes and Terminate changes nothing. Here is why the hook never completes and the exact steps that clear it.
Fixing Helm's "another operation is in progress" Without Nuking the Release
An interrupted helm upgrade leaves the release Secret stuck at pending-upgrade and blocks every deploy. Here is the safe unstick order, and why the label patch fails.
Helm 'has no deployed releases': recovering a broken release history
When every Helm revision is failed or pending, upgrade and rollback both refuse to run. Here is how the release Secrets work, how to repair the history safely, and how to stop it recurring.
Helm Upgrade Stuck in PENDING_UPGRADE After a Hook Timeout: The Cleanup Path
A pre-upgrade hook outran --timeout, and now Helm refuses every retry and shows two deployed revisions. Here is why the release state froze and how to clear it safely.
Error Acquiring the State Lock: When Terraform force-unlock Is Safe
A stale Terraform lock blocks every apply. How to read the Lock Info block, decide in 90 seconds whether force-unlock is safe, and find the resources a killed apply orphaned.
ArgoCD StatefulSet Stuck OutOfSync With ServerSideApply: Fix the Diff, Not the Manifest
ArgoCD reports permanent drift on a StatefulSet after you enable ServerSideApply. Every field in the diff is an API server default, not your change. Here is the real fix.
Your kubectl edit Keeps Getting Reverted in GitOps: The Right Way to Hotfix
ArgoCD self-heal and Flux reconciliation undo manual kubectl edits within minutes, so the incident looks like it came back. Here is the correct emergency runbook that does not disable GitOps cluster-wide.