agentleFS
foxj77foxj77/claude-code-skills/flux-troubleshooting/SKILL.md

flux-troubleshooting

Skill19 starsChanged 10 months agoMITView on GitHub

Use when Flux resources show Ready False, reconciliation errors appear in logs, deployments fail to sync from Git, HelmRelease installations fail, source artifacts are not being fetched, or image automation is not updating tags

The file

We split this skill into the rules it gives an agent

1 rule. About 0 are common, 1 is distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈1

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    When the Flux MCP server is connected:

    line 169

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Flux CD Troubleshooting

Diagnose Flux CD reconciliation failures and errors in GitOps environments.

Keywords

flux, fluxcd, troubleshooting, debug, error, failed, failure, reconciliation, kustomization, helmrelease, source, gitrepository, ocirepository, artifact, health check, diagnose, resolve, fix

When to Use This Skill

  • Flux resources show Ready: False status
  • Reconciliation errors appear in logs
  • Deployments are not syncing from Git
  • HelmRelease installations are failing
  • Source artifacts are not being fetched
  • Image automation is not updating tags

Related Skills

  • flux-operations - Suspend/resume/reconcile operations
  • flux-gitops-patterns - Architecture and patterns
  • k8s-platform-operations - Incident response procedures

Quick Reference

TaskCommand
Check Flux healthflux check
View all errorsflux logs -A --level=error
Get all statusflux get all -A
Warning eventskubectl get events -n flux-system --field-selector type=Warning

Diagnostic Workflow

Is the resource Ready?
├─ Yes → Check if correct version/revision deployed
└─ No → Is the source Ready?
    ├─ Yes → Check Kustomization/HelmRelease logs
    │   ├─ dry-run failed → Fix YAML syntax in Git
    │   ├─ health check timeout → Check pod logs/resources
    │   └─ dependency not ready → Fix parent first
    └─ No → Check source credentials/connectivity
        ├─ authentication failed → Update deploy key/secret
        ├─ checkout failed → Verify branch/tag exists
        └─ artifact not found → Check repository URL

Diagnostic Commands

1. Check Controller Health

flux check

2. View Error Logs

flux logs --all-namespaces --level=error

3. Get Warning Events

kubectl get events -n flux-system --field-selector type=Warning

4. Inspect Resource Status

flux get kustomizations -A
flux get helmreleases -A
flux get sources all -A

5. Controller-Specific Logs

kubectl logs -n flux-system deploy/source-controller
kubectl logs -n flux-system deploy/kustomize-controller
kubectl logs -n flux-system deploy/helm-controller
kubectl logs -n flux-system deploy/notification-controller
kubectl logs -n flux-system deploy/image-reflector-controller
kubectl logs -n flux-system deploy/image-automation-controller

Error Pattern Reference

Error PatternCauseGitOps Solution
failed to checkoutGit authentication or networkVerify deploy keys/credentials
dry-run failed: InvalidInvalid manifest YAMLFix syntax in Git repository
health check timeoutPods not becoming readyCheck resource limits, images
dependency not readyParent Kustomization failedFix upstream dependency first
artifact not foundSource not syncedCheck source status, reconcile
Unsupported valueInvalid field valueCorrect the value in Git
UNAUTHORIZEDRegistry auth failedCheck imagePullSecrets
MANIFEST_UNKNOWNOCI tag doesn't existVerify tag in registry

OCI Repository Troubleshooting

Common OCI Issues

flux get sources oci -A
kubectl logs -n flux-system deploy/source-controller | grep -i oci
kubectl get secret -n flux-system flux-system -o jsonpath='{.data.\.dockerconfigjson}' | base64 -d

OCI Error Patterns

ErrorCauseDiagnostic
UNAUTHORIZEDInvalid credentialsCheck docker-registry secret exists and is not expired; recommend updating secret
MANIFEST_UNKNOWNTag not foundVerify tag exists in registry
DENIEDPermission deniedCheck registry permissions for the service account
NAME_UNKNOWNRepository not foundVerify repository path in OCIRepository spec

Image Automation Troubleshooting

Check Image Policies

flux get images policy -A
flux get images repository -A
flux get images update -A

Image Automation Errors

ErrorCauseDiagnostic
no new images foundFilter too restrictiveCheck semver/regex pattern against available tags; recommend adjusting filter
access deniedRegistry authCheck image pull secrets configuration
failed to pushGit write accessCheck if deploy key has write permission

Webhook/Notification Debugging

kubectl logs -n flux-system deploy/notification-controller
flux get alerts -A
flux get alert-providers -A
kubectl logs -n flux-system deploy/notification-controller | grep -i receiver

Structured Log Analysis

{
  "level": "error",
  "ts": "2024-01-15T09:36:41.286Z",
  "controllerGroup": "kustomize.toolkit.fluxcd.io",
  "controllerKind": "Kustomization",
  "name": "resource-name",
  "namespace": "namespace",
  "msg": "Reconciliation failed after 2s, next try in 5m0s",
  "revision": "main@sha1:abc123",
  "error": "specific error message"
}

GitOps Principles for Troubleshooting

  1. Never fix directly in cluster - Identify root cause, fix in Git
  2. Suspend before debugging - Prevent Flux from reverting test changes
  3. Check the full dependency chain - Infrastructure before apps
  4. Verify source availability - Git repos and registries must be accessible
  5. Review recent commits - Issues often correlate with recent changes

MCP Tools Available

When the Flux MCP server is connected:

  • mcp__flux-operator-mcp__get_flux_instance - Get Flux installation status
  • mcp__flux-operator-mcp__get_kubernetes_logs - Get pod logs
  • mcp__flux-operator-mcp__get_kubernetes_resources - Query resources
  • mcp__flux-operator-mcp__search_flux_docs - Search Flux documentation

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.