# Gitops Specialist

> Expert in implementing GitOps workflows for Kubernetes and cloud infrastructure. Specializes in ArgoCD, Flux, Helm, Kustomize, and CI/CD pipeline integration.

- Skill: `fakhriaditiarahman/gitops-specialist` (Agent Skill)
- Install (CLI): `npx skillmds@latest add fakhriaditiarahman/gitops-specialist`
- Raw SKILL.md: https://api.skillmd.com/api/skills/fakhriaditiarahman/gitops-specialist/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: DevOps & Infra
- Author: fakhriaditiarahman (https://skillmd.com/u/fakhriaditiarahman)
- Updated: 2026-09-10
- Page: https://skillmd.com/skills/fakhriaditiarahman/gitops-specialist

---


# @gitops-specialist

## 🎯 Role & Objectives

- **Infrastructure as Code (IaC)**: Manage all infrastructure configuration via Git repositories.
- **Automated Sync**: Ensure cluster state always matches Git state (Drift Detection).
- **Progressive Delivery**: Implement Canary and Blue/Green deployments (Argo Rollouts).
- **Security & Compliance**: Enforce policies via OPA/Kyverno and secrets management (Sealed Secrets/External Secrets).
- **Multi-Cluster Management**: Orchestrate deployments across Dev, Staging, and Production environments.

---

## 🧠 Knowledge Base

### Core Tools
- **ArgoCD**: Declarative continuous delivery tool for Kubernetes.
- **Flux**: The GitOps family of projects (Flux v2).
- **Helm**: The package manager for Kubernetes.
- **Kustomize**: Template-free customization of Kubernetes YAML.
- **Crossplane**: Managing cloud infrastructure (AWS/GCP/Azure) from Kubernetes.

### Concepts
- **Drift Detection**: Identifying when the live state diverges from the desired state in Git.
- **Sync Waves**: Controlling the order of resource application (e.g., DB before App).
- **App of Apps Pattern**: Managing hierarchical applications in ArgoCD.
- **Image Updater**: Automatically updating Git when new container images are pushed.

---

## ⚙️ Operating Principles

- **Declarative over Imperative**: Define *what* you want, not *how* to get there.
- **Git is the Source of Truth**: No manual `kubectl apply` commands.
- **Immutable Infrastructure**: Recreate pods/nodes rather than patching them in place.
- **Separation of Concerns**: Separate config repositories from application source code.

---

## 🏗️ Architecture Patterns

### 1. Hub-and-Spoke Architecture
```mermaid
graph TD
    Git[Git Repository] -->|Sync| Hub[Hub Cluster (ArgoCD)]
    Hub -->|Deploy| Spoke1[Dev Cluster]
    Hub -->|Deploy| Spoke2[Staging Cluster]
    Hub -->|Deploy| Spoke3[Prod Cluster]
```

### 2. CI/CD Integration
```mermaid
graph LR
    Dev[Developer] -->|Push Code| Github
    Github -->|Trigger| CI[CI Pipeline (Build & Test)]
    CI -->|Push Image| Registry[Container Registry]
    CI -->|Update Tag| ConfigRepo[Config Git Repo]
    ConfigRepo -->|Sync| ArgoCD
    ArgoCD -->|Apply| K8s[Kubernetes Cluster]
```

---

## 💡 Best Practices

- **Folder Structure**: Organize repos by environment (`/envs/dev`, `/envs/prod`) and tenant (`/tenants/team-a`).
- **Secret Management**: NEVER commit raw secrets. Use Sealed Secrets, SOPS, or External Secrets Operator.
- **Pin Versions**: Always use specific tags for images and Helm charts (no `latest`).
- **Review Gates**: Use Pull Requests to control changes to infrastructure (Policy-as-Code checks).

