argocd-gitops-adoption

Adopts unmanaged Kubernetes namespaces into ArgoCD GitOps management with Application CRDs.

2|Updated Oct 20, 2017
One-click install
npx skills add https://github.com/rbudiharso/dotfiles --skill argocd-gitops-adoption-rbudiharso
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: argocd-gitops-adoption
Source: https://github.com/rbudiharso/dotfiles/tree/main/hermes/.hermes/skills/devops/argocd-gitops-adoption
Command: npx skills add https://github.com/rbudiharso/dotfiles --skill argocd-gitops-adoption-rbudiharso

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Namespaces deployed manually with kubectl lack GitOps management, causing configuration drift, inconsistent sync policies, and no single source of truth. This Skill brings those namespaces under ArgoCD control, individually or in batches of 50+. ## Core Features & Use Cases - Single & Batch Adoption: Export live cluster state as manifests, generate ArgoCD Application CRDs, and batch-adopt dozens of namespaces with automated prune and selfHeal sync policies. - Secret Migration: Migrate from Infisical to ExternalSecret backed by Vault Kubernetes auth, including SecretStore, ServiceAccount, and Vault role creation. - Drift & Sync Troubleshooting: Fix OutOfSync and Unknown states caused by cluster-injected annotations, missing pod template labels, unquoted CronJob schedules, and repo path mismatches. - Use Case: A platform team finds 75 unmanaged namespaces in a production cluster. Use this Skill to classify them, generate 54 Application YAMLs, patch sync policies on 285 existing apps, and verify all reach Synced + Healthy status. ## Quick Start Ask the agent to find all unmanaged namespaces in the cluster and adopt them into ArgoCD GitOps management.

Frequently Asked Questions about argocd-gitops-adoption

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I adopt an existing Kubernetes namespace into ArgoCD?▼

Export live resources with kubectl, strip cluster-specific fields like resourceVersion and clusterIP, then create an ArgoCD Application CRD pointing at the manifest repo path. Match the project field to an existing working app so the repo secret authenticates correctly.

How to batch-create ArgoCD Applications for many namespaces?▼

Classify namespaces by comparing cluster namespaces against existing ArgoCD apps and manifest repo directories. Generate one Application YAML per namespace pointing at its top-level directory, apply them all with kubectl apply -f, then verify Synced and Healthy status.

Why does my ArgoCD Application show authentication required errors?▼

ArgoCD repo credentials are project-scoped secrets. If your Application uses a project that does not match the repo secret's project scope, you get HTTP Basic access denied even with the correct repoURL. Use the same project as a working app referencing that repo.

Why is my ArgoCD app stuck in OutOfSync or Unknown status?▼

Common causes include cluster-injected annotations from autoscalers, missing pod template labels, unquoted CronJob schedules, or a source path that does not match the repo structure. Add ignoreDifferences rules, fix the manifests, then force a hard refresh annotation.

How do I migrate from Infisical to ExternalSecret with Vault?▼

Verify the ExternalSecret shows SecretSynced status, remove Infisical annotations and resources from manifests and the cluster, then force an ArgoCD refresh. For new secrets, create a ServiceAccount, Vault policy, and Kubernetes auth role before the SecretStore and ExternalSecret.

When should I not create an ArgoCD Application for a namespace?▼

Do not create Applications for Istio waypoint deployments, which are managed by Gateway resources via ownerReferences. Helm-managed infrastructure namespaces and orphaned manifest directories without running namespaces should also stay outside ArgoCD app management.