ArgocdClusterBootstrapping
Complete ArgoCD cluster bootstrapping skill for diagnosing sync failures, creating root Applications (app-of-apps), curating ApplicationSets via Kustomize, and resolving missing CRD dependencies. USE WHEN argocd bootstrap OR app-of-apps pattern OR root application OR applicationset gitops management OR argocd sync failed missing CRD OR kustomize applicationset curation OR argocd cluster onboarding.
What this skill does
# ArgoCD Cluster Bootstrapping
Operational skill for bootstrapping ArgoCD clusters using the app-of-apps pattern with Kustomize-curated ApplicationSets. Covers diagnosing sync failures from missing CRDs, creating root Applications for GitOps lifecycle management, and onboarding new clusters to existing ApplicationSet generators.
## Workflow Routing
| Workflow | Trigger | File |
|----------|---------|------|
| **DiagnoseSyncFailure** | "sync failed", "missing CRD", "argocd error", "OutOfSync" | `Workflows/DiagnoseSyncFailure.md` |
| **CreateRootApplication** | "root application", "app-of-apps", "bootstrap argocd", "manage applicationsets" | `Workflows/CreateRootApplication.md` |
| **OnboardCluster** | "add cluster", "onboard cluster", "new environment" | `Workflows/OnboardCluster.md` |
## Examples
**Example 1: Diagnose a sync failure caused by missing CRD**
```
User: "cafehyna-hub-adp-agent is SyncFailed with missing AzureKeyVaultSecret CRD"
-> Invokes DiagnoseSyncFailure workflow
-> Traces dependency chain: adp-agent needs akv2k8s CRDs
-> Checks if akv2k8s ApplicationSet exists on cluster
-> Identifies root cause: ApplicationSet never deployed
-> Recommends fix via root Application or manual apply
```
**Example 2: Create a root Application for GitOps ApplicationSet management**
```
User: "Create a root Application to manage all ApplicationSets via GitOps"
-> Invokes CreateRootApplication workflow
-> Audits applicationset directory for active vs inactive files
-> Creates kustomization.yaml with curated list
-> Creates root-applicationsets.yaml Application
-> Provides bootstrap instructions for ArgoCD UI
```
**Example 3: Add a new cluster to existing ApplicationSets**
```
User: "Onboard cafehyna-prd cluster to the otel ApplicationSet"
-> Invokes OnboardCluster workflow
-> Reads existing ApplicationSet generator list
-> Adds new cluster element with correct URL, project, branch
-> Creates values file in argo-cd-helm-values repo
-> Validates with kustomize build
```
## Key Patterns
- **App-of-Apps via Kustomize**: Root Application watches `infra-team/applicationset/` with `kustomization.yaml` for explicit curation
- **Multi-source Helm**: ApplicationSets combine chart repo + Git values repo using `$values` ref
- **Sync waves**: Dependencies deploy first (e.g., akv2k8s at wave `-5`, consumers at wave `+5`)
- **ServerSideApply**: Prevents adoption conflicts when bringing existing resources under GitOps
- **Bootstrap chicken-and-egg**: Root Application must be applied once via ArgoCD UI, then self-manages
- **Pure GitOps**: No `kubectl apply/patch/edit/delete` — all changes via Git commits
## Architecture Reference
```
root-applicationsets (Application)
└── watches: infra-team/applicationset/ (Kustomize)
├── akv2k8s.yaml (ApplicationSet)
├── adp-agent.yaml (ApplicationSet)
├── otel.yaml (ApplicationSet)
└── ... (curated list in kustomization.yaml)
```
## Quick Reference
- **Root Application path**: `infra-team/bootstrap/root-applicationsets.yaml`
- **ApplicationSet directory**: `infra-team/applicationset/`
- **Kustomization file**: `infra-team/applicationset/kustomization.yaml`
- **Values repo**: `argo-cd-helm-values/kube-addons/{addon}/{cluster}/values.yaml`
- **Git repo URL**: `https://[email protected]/hyperadevops/devops-team/_git/argocd`
**Full documentation:** See workflow files in `Workflows/` directory.
Related in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.