building-gitops-workflows
Use when constructing GitOps workflows using ArgoCD or Flux. Trigger with phrases like "create GitOps workflow", "setup ArgoCD", "configure Flux", or "automate Kubernetes deployments". Generates production-ready configurations, implements best practices, and ensures security-first approach for continuous deployment.
- License 许可
- MIT
- 最近更新
- 2025-12-18
- Stars
- ★ 29
- Forks
- 9
01 前言 Front Matter
- name
- building-gitops-workflows
- license
- MIT
- version
- 1.0.0
- description
- Use when constructing GitOps workflows using ArgoCD or Flux. Trigger with phrases like "create GitOps workflow", "setup ArgoCD", "configure Flux", or "automate Kubernetes deployments". Generates production-ready configurations, implements best practices, and ensures security-first approach for continuous deployment.
- allowed-tools
- [ "Read", "Write", "Edit", "Grep", "Glob", "Bash(kubectl:*)", "Bash(git:*)" ]
02 资源文件 3
- 资产文件assets/README.md373 B
- 参考文档references/README.md466 B
- 脚本scripts/README.md328 B
03 SKILL.md 正文
Prerequisites
Before using this skill, ensure:
- Kubernetes cluster is accessible and kubectl is configured
- Git repository is available for GitOps source
- ArgoCD or Flux is installed on the cluster (or ready to install)
- Appropriate RBAC permissions for GitOps operator
- Network connectivity between cluster and Git repository
Instructions
- Select GitOps Tool: Determine whether to use ArgoCD or Flux based on requirements
- Define Application Structure: Establish repository layout with environment separation (dev/staging/prod)
- Generate Manifests: Create Application/Kustomization files pointing to Git sources
- Configure Sync Policy: Set automated or manual sync with self-heal and prune options
- Implement RBAC: Define service accounts and role bindings for GitOps operator
- Set Up Monitoring: Configure notifications and health checks for deployments
- Validate Configuration: Test sync behavior and verify reconciliation loops
Output
Generates GitOps workflow configurations including:
ArgoCD Application Manifest:
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: app-name
namespace: argocd
spec:
project: default
source:
repoURL: https://github.com/org/repo
path: manifests/prod
targetRevision: main
destination:
server: https://kubernetes.default.svc
namespace: production
syncPolicy:
automated:
prune: true
selfHeal: true
Flux Kustomization:
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: app-name
namespace: flux-system
spec:
interval: 5m
path: ./manifests/prod
prune: true
sourceRef:
kind: GitRepository
name: app-repo
Error Handling
Common issues and solutions:
Sync Failures
- Error: "ComparisonError: Failed to load target state"
- Solution: Verify Git repository URL, credentials, and target path exist
RBAC Permissions
- Error: "User cannot create resource in API group"
- Solution: Grant GitOps service account appropriate cluster roles
Out of Sync State
- Warning: "Application is OutOfSync"
- Solution: Enable automated sync or manually sync via UI/CLI
Git Authentication
- Error: "Authentication failed for repository"
- Solution: Configure SSH keys or access tokens in {baseDir}/.git/config
Resource Conflicts
- Error: "Resource already exists and is not managed by GitOps"
- Solution: Import existing resources or remove conflicting manual deployments
Resources
- ArgoCD documentation: https://argo-cd.readthedocs.io/
- Flux documentation: https://fluxcd.io/docs/
- GitOps principles and patterns guide
- Kubernetes manifest best practices
- Repository structure templates in {baseDir}/gitops-examples/
04 同仓库更多 Skills
testing-visual-regression
Detect visual changes in UI components using screenshot comparison. Use when detecting unintended UI changes or pixel differences. Trigger with phrases like "test visual changes", "compare screenshots", or "detect UI regressions".
generating-unit-tests
Automatically generate comprehensive unit tests from source code covering happy paths, edge cases, and error conditions. Use when creating test coverage for functions, classes, or modules. Trigger with phrases like "generate unit tests", "create tests for", or "add test coverage".
generating-test-reports
Generate comprehensive test reports with metrics, coverage, and visualizations. Use when performing specialized testing. Trigger with phrases like "generate test report", "create test documentation", or "show test metrics".
orchestrating-test-execution
Coordinate parallel test execution across multiple environments and frameworks. Use when performing specialized testing. Trigger with phrases like "orchestrate tests", "run parallel tests", or "coordinate test execution".
managing-test-environments
Provision and manage isolated test environments with configuration and data. Use when performing specialized testing. Trigger with phrases like "manage test environment", "provision test env", or "setup test infrastructure".
generating-test-doubles
Generate mocks, stubs, spies, and fakes for dependency isolation. Use when creating mocks, stubs, or test isolation fixtures. Trigger with phrases like "generate mocks", "create test doubles", or "setup stubs".