Token导航 LogoToken导航TokenDH.com
运维和基础设施external-servicegithub未标认证来源可访问clear审计提醒

gitops-principles-skillgitops 原理技能

Agent Skill

gitops-principles-skill 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

1,283

周安装

54

GitHub Stars

61

下载量

449
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

3

许可证

MIT

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:gitops-principles-skill(gitops 原理技能)
来源仓库:https://github.com/julianobarbosa/claude-code-skills
仓库路径:skills/gitops-principles-skill
安装命令:
npx skills add https://github.com/julianobarbosa/claude-code-skills --skill gitops-principles-skill
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。不同来源提供的安装方式可能略有差异;本站展示可直接复制的安装命令,安装前请核对来源页面。

skills.shnpx skills
npx skills add https://github.com/julianobarbosa/claude-code-skills --skill gitops-principles-skill

简介

gitops-principles-skill 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合围绕仓库状态和变更进行整理。

  • 适用于 Codex、Claude、Cursor、Gemini CLI 等宿主环境中的运维和基础设施任务。
  • 通过 npx skills add 命令从指定 GitHub 仓库安装并使用。
  • 安装前需确认权限范围、维护状态及是否触发联网或文件操作。
  • 适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

SKILL.md

GitOps Principles Skill

Complete guide for implementing GitOps methodology in Kubernetes environments - the operational framework where Git is the single source of truth for declarative infrastructure and applications.

What is GitOps?

GitOps is a set of practices that uses Git repositories as the source of truth for defining the desired state of infrastructure and applications. An automated process ensures the production environment matches the state described in the repository.

The OpenGitOps Definition (CNCF)

GitOps is defined by four core principles established by the OpenGitOps project (part of CNCF):

PrincipleDescription
1. DeclarativeThe entire system must be described declaratively
2. Versioned and ImmutableDesired state is stored in a way that enforces immutability, versioning, and retention
3. Pulled AutomaticallySoftware agents automatically pull desired state from the source
4. Continuously ReconciledAgents continuously observe and attempt to apply desired state

Core Concepts Quick Reference

Git as Single Source of Truth

┌─────────────────────────────────────────────────────────────────┐
│                        GIT REPOSITORY                           │
│  (Single Source of Truth for Desired State)                    │
├─────────────────────────────────────────────────────────────────┤
│  manifests/                                                     │
│  ├── base/                    # Base configurations             │
│  │   ├── deployment.yaml                                        │
│  │   ├── service.yaml                                           │
│  │   └── kustomization.yaml                                     │
│  └── overlays/                # Environment-specific            │
│      ├── dev/                                                   │
│      ├── staging/                                               │
│      └── production/                                            │
└─────────────────────────────────────────────────────────────────┘
                              │
                              ▼ Pull (not Push)
┌─────────────────────────────────────────────────────────────────┐
│                      GITOPS CONTROLLER                          │
│  (ArgoCD / Flux / Kargo)                                       │
│  - Continuously watches Git repository                          │
│  - Compares desired state vs actual state                       │
│  - Reconciles differences automatically                         │
└─────────────────────────────────────────────────────────────────┘
                              │
                              ▼ Apply
┌─────────────────────────────────────────────────────────────────┐
│                    KUBERNETES CLUSTER                           │
│  (Actual State / Runtime Environment)                          │
└─────────────────────────────────────────────────────────────────┘

Push vs Pull Model

Push Model (Traditional CI/CD)Pull Model (GitOps)
CI system pushes changes to clusterAgent pulls changes from Git
Requires cluster credentials in CICredentials stay within cluster
Point-in-time deploymentContinuous reconciliation
Drift goes undetectedDrift automatically corrected
Manual rollback processRollback = git revert

Key GitOps Benefits

  1. Auditability: Git history = deployment history
  2. Security: No external access to cluster required
  3. Reliability: Automated drift correction
  4. Speed: Deploy via PR merge
  5. Rollback: Simple git revert
  6. Disaster Recovery: Redeploy entire cluster from Git

Repository Strategies

Monorepo vs Polyrepo

Monorepo (Single repository for all environments):

gitops-repo/
├── apps/
│   ├── app-a/
│   │   ├── base/
│   │   └── overlays/
│   │       ├── dev/
│   │       ├── staging/
│   │       └── prod/
│   └── app-b/
└── infrastructure/
    ├── monitoring/
    └── networking/

Polyrepo (Separate repositories):

# Repository per concern
app-a-config/          # App A manifests
app-b-config/          # App B manifests
infrastructure/        # Shared infrastructure
cluster-bootstrap/     # Cluster setup

Multi-Repository Pattern (This Project)

Separates infrastructure from values for security boundaries:

infra-team/                    # Base configurations, ApplicationSets
├── applications/              # ArgoCD Application definitions
└── helm-base-values/          # Default Helm values

argo-cd-helm-values/           # Environment-specific overrides
├── dev/                       # Development values
├── stg/                       # Staging values
└── prd/                       # Production values

Benefits:

  • Different access controls per repo
  • Separation of concerns
  • Environment-specific secrets isolated

Branching Strategies

Environment Branches

main ────────────────────────────────────► Production
  │
  └──► staging ──────────────────────────► Staging cluster
         │
         └──► develop ───────────────────► Development cluster

Trunk-Based with Overlays (Recommended)

main ────────────────────────────────────► All environments
  │
  ├── overlays/dev/       → Dev cluster
  ├── overlays/staging/   → Staging cluster
  └── overlays/prod/      → Prod cluster

Release Branches

main
  │
  ├── release/v1.0 ──────► Production (v1.0)
  ├── release/v1.1 ──────► Production (v1.1)
  └── release/v2.0 ──────► Production (v2.0)

Sync Policies and Strategies

Automated Sync

syncPolicy:
  automated:
    prune: true       # Delete resources not in Git
    selfHeal: true    # Revert manual changes

Manual Sync (Production Recommended)

syncPolicy:
  automated: null     # Require explicit sync

Sync Options

OptionUse Case
CreateNamespace=trueAuto-create missing namespaces
PruneLast=trueDelete after successful sync
ServerSideApply=trueHandle large CRDs
ApplyOutOfSyncOnly=truePerformance optimization
Replace=trueForce resource replacement

Declarative Configuration Patterns

Kustomize Pattern

# base/kustomization.yaml
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
  - deployment.yaml
  - service.yaml

# overlays/prod/kustomization.yaml
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
  - ../../base
patchesStrategicMerge:
  - replica-patch.yaml
images:
  - name: myapp
    newTag: v1.2.3

Helm Pattern

# Application pointing to Helm chart
spec:
  source:
    repoURL: https://charts.example.com
    chart: my-app
    targetRevision: 1.2.3
    helm:
      releaseName: my-app
      valueFiles:
        - values.yaml
        - values-prod.yaml

Multi-Source Pattern

spec:
  sources:
    - repoURL: https://charts.bitnami.com/bitnami
      chart: nginx
      targetRevision: 15.0.0
      helm:
        valueFiles:
          - $values/nginx/values-prod.yaml
    - repoURL: https://github.com/org/values.git
      targetRevision: main
      ref: values

Progressive Delivery Integration

GitOps enables progressive delivery patterns:

Blue-Green Deployments

# Two applications, traffic shift via Ingress/Service
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: app-blue
---
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: app-green

Canary with Argo Rollouts

apiVersion: argoproj.io/v1alpha1
kind: Rollout
spec:
  strategy:
    canary:
      steps:
        - setWeight: 10
        - pause: {duration: 5m}
        - setWeight: 50
        - pause: {duration: 10m}

Environment Promotion (Kargo)

Warehouse → Dev Stage → Staging Stage → Production Stage
    │           │              │               │
    └── Freight promotion through environments ───┘

Cloud Provider Integration

Azure Arc-enabled Kubernetes & AKS

Azure provides a managed ArgoCD experience through the Microsoft.ArgoCD cluster extension:

# Simple installation (single node)
az k8s-extension create \
  --resource-group <rg> --cluster-name <cluster> \
  --cluster-type managedClusters \
  --name argocd \
  --extension-type Microsoft.ArgoCD \
  --release-train preview \
  --config deployWithHighAvailability=false

# Production with workload identity (recommended)
# Use Bicep template - see references/azure-arc-integration.md

Key Benefits:

FeatureDescription
Managed InstallationAzure handles deployment and upgrades
Workload IdentityAzure AD authentication without secrets
Multi-ClusterConsistent GitOps across hybrid environments
Azure IntegrationNative ACR, Key Vault, Azure AD support

Prerequisites:

  • Azure Arc-connected cluster OR MSI-based AKS cluster
  • Microsoft.KubernetesConfiguration provider registered
  • k8s-extension CLI extension installed

See references/azure-arc-integration.md for complete setup guide.


Security Considerations

Secrets Management

Never store secrets in Git! Use:

ApproachTool
External SecretsExternal Secrets Operator
Sealed SecretsBitnami Sealed Secrets
SOPSMozilla SOPS encryption
VaultHashiCorp Vault + CSI
Cloud KMSAWS/Azure/GCP Key Management

RBAC Best Practices

# Limit ArgoCD to specific namespaces
apiVersion: argoproj.io/v1alpha1
kind: AppProject
spec:
  destinations:
    - namespace: 'team-a-*'
      server: https://kubernetes.default.svc
  sourceRepos:
    - 'https://github.com/org/team-a-*'

Network Policies

  • GitOps controller should be only component with Git access
  • Restrict egress from application namespaces
  • Use network policies to isolate environments

Observability and Debugging

Health Status Interpretation

StatusMeaningAction
HealthyAll resources runningNone
ProgressingDeployment in progressWait
DegradedHealth check failedInvestigate
SuspendedManually pausedResume when ready
MissingResource not foundCheck manifests

Common Issues Checklist

  1. Sync Failed: Check YAML syntax, RBAC permissions
  2. OutOfSync: Compare diff, check ignoreDifferences
  3. Degraded: Check Pod logs, resource limits
  4. Missing: Verify namespace, check pruning settings

Drift Detection

# Check application diff
argocd app diff myapp

# Force refresh from Git
argocd app get myapp --refresh

Quick Decision Guide

When to Use GitOps

  • Kubernetes-native workloads
  • Multiple environments (dev/staging/prod)
  • Need audit trail for deployments
  • Team collaboration on infrastructure
  • Disaster recovery requirements

When GitOps May Not Fit

  • Rapidly changing development environments
  • Legacy systems without declarative configs
  • Real-time configuration changes required
  • Single developer, single environment

References

For detailed information, see:

  • references/core-principles.md - Deep dive into the 4 pillars
  • references/patterns-and-practices.md - Branching and repo patterns
  • references/tooling-ecosystem.md - ArgoCD vs Flux vs Kargo
  • references/anti-patterns.md - Common mistakes to avoid
  • references/troubleshooting.md - Debugging guide
  • references/azure-arc-integration.md - Azure Arc & AKS GitOps setup

Templates

Ready-to-use templates in templates/:

  • application.yaml - ArgoCD Application example
  • applicationset.yaml - Multi-cluster deployment
  • kustomization.yaml - Kustomize overlay structure

Scripts

Utility scripts in scripts/:

  • gitops-health-check.sh - Validate GitOps setup

External Resources

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

04

需要参考平台分布和安装热度时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Claude Code

28.95%
按下载量换算130

OpenCode

23.35%
按下载量换算105

Gemini CLI

16.7%
按下载量换算75

Antigravity

10.24%
按下载量换算46

Codex

7.56%
按下载量换算34

Cursor

3.16%
按下载量换算14

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

可疑

权限和风险

external-service

该 Skill 可能调用第三方服务、云服务或外部模型 API,使用前需要确认账号、额度、数据发送范围和服务条款。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。

来源信息

继续浏览同类 Skills