Kubernetes GitOps

Manage GitOps workflows with Flux and ArgoCD. Use for sync status, reconciliation, app management, source management, and GitOps troubleshooting.

Rohit Ghumare

@rohitg00

Install

$ openclaw skills install @rohitg00/k8s-gitops

Kubernetes GitOps

GitOps workflows using Flux and ArgoCD with kubectl-mcp-server tools.

Requires the gitops toolset: start kubectl-mcp-server with --toolsets default,gitops (or MCP_TOOLSETS=default,gitops). For deep work, the project-maintained MCP servers may fit better: Argo CD: https://github.com/argoproj-labs/mcp-for-argocd; Flux: https://fluxoperator.dev/mcp-server/.

When to Apply

Use this skill when:

  • User mentions: "Flux", "ArgoCD", "GitOps", "sync", "reconcile"
  • Operations: checking sync status, triggering reconciliation, drift detection
  • Keywords: "out of sync", "deploy from git", "continuous delivery"

Priority Rules

PriorityRuleImpactTools
1Check source readiness before troubleshootingCRITICALgitops_sources_list
2Verify sync status before deploymentsHIGHgitops_app_get
3Reconcile after git changesMEDIUMgitops_app_sync
4Suspend before manual changesLOWkubectl_patch

Quick Reference

TaskToolExample
List Flux kustomizationsgitops_apps_listgitops_apps_list(namespace)
Reconcile Fluxgitops_app_syncgitops_app_sync(kind, name, namespace)
List ArgoCD appsgitops_apps_listgitops_apps_list(namespace)
Sync ArgoCDgitops_app_syncgitops_app_sync(name, namespace)

Flux CD

Check Flux Status

gitops_apps_list(namespace="flux-system")
gitops_apps_list(namespace)
gitops_sources_list(namespace="flux-system")

Reconcile Resources

gitops_app_sync(
    kind="kustomization",
    name="my-app",
    namespace="flux-system"
)

gitops_app_sync(
    kind="helmrelease",
    name="my-chart",
    namespace="default"
)

Suspend/Resume

kubectl_patch(resource_type="kustomization", name="my-app", namespace="flux-system", patch={"spec": {"suspend": true}}, patch_type="merge")

kubectl_patch(resource_type="kustomization", name="my-app", namespace="flux-system", patch={"spec": {"suspend": false}}, patch_type="merge")

See FLUX.md for detailed Flux workflows.

ArgoCD

List Applications

gitops_apps_list(namespace="argocd")

Get App Status

gitops_app_get(kind="application", name="my-app", namespace="argocd")

Sync Application

gitops_app_sync(kind="application", name="my-app", namespace="argocd")

Refresh App

gitops_app_sync(kind="application", name="my-app", namespace="argocd")

See ARGOCD.md for detailed ArgoCD workflows.

GitOps Troubleshooting

Flux Not Syncing

SymptomCheckResolution
Source not readygitops_sources_list()Check git credentials
Kustomization failedgitops_apps_list()Check manifest errors
HelmRelease failedgitops_apps_list()Check values, chart version

ArgoCD Out of Sync

SymptomCheckResolution
OutOfSyncgitops_app_get()Manual sync or check auto-sync
DegradedCheck health statusFix unhealthy resources
UnknownRefresh appgitops_app_sync()

Environment Promotion

With Flux Kustomizations

gitops_app_sync(kind="kustomization", name="staging", namespace="flux-system")

gitops_app_sync(kind="kustomization", name="production", namespace="flux-system")

With ArgoCD

gitops_app_sync(kind="application", name="app-staging", namespace="argocd")

gitops_app_get(kind="application", name="app-staging", namespace="argocd")

gitops_app_sync(kind="application", name="app-production", namespace="argocd")

Multi-Cluster GitOps

Manage GitOps across clusters:

gitops_apps_list(namespace="flux-system", context="cluster-1")
gitops_apps_list(namespace="flux-system", context="cluster-2")

gitops_app_sync(
    kind="kustomization",
    name="apps",
    namespace="flux-system",
    context="production-cluster"
)

Drift Detection

Compare live state with desired:

gitops_app_get(kind="application", name="my-app", namespace="argocd")

gitops_apps_list(namespace="flux-system")

Prerequisites

  • Flux: Required for Flux tools
    flux install
    
  • ArgoCD: Required for ArgoCD tools
    kubectl create namespace argocd
    kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
    

Related Skills

Top skills in this category