Skip to content

feat(argocd): add ApplicationSet patterns for multi-cluster #1

@somethingwithproof

Description

@somethingwithproof

Description

Add comprehensive ArgoCD ApplicationSet patterns for multi-cluster deployments.

Motivation

  • Demonstrate enterprise GitOps patterns
  • Support multi-cluster fleet management
  • Showcase progressive delivery strategies

Proposed Solution

  1. Add ApplicationSet generators (Git, List, Cluster)
  2. Implement sync waves for dependency ordering
  3. Add health checks and rollback policies
  4. Create environment promotion workflows

Acceptance Criteria

  • Git generator for monorepo structure
  • Cluster generator for fleet management
  • Matrix generator for environment × app combinations
  • Sync waves documentation
  • Rollback automation

Example ApplicationSet

apiVersion: argoproj.io/v1alpha1
kind: ApplicationSet
metadata:
  name: cluster-apps
spec:
  generators:
    - matrix:
        generators:
          - git:
              repoURL: https://github.com/thomasvincent/gitops-infrastructure-demo
              revision: HEAD
              directories:
                - path: apps/*
          - clusters:
              selector:
                matchLabels:
                  env: production
  template:
    metadata:
      name: '{{path.basename}}-{{name}}'
    spec:
      project: default
      source:
        repoURL: https://github.com/thomasvincent/gitops-infrastructure-demo
        targetRevision: HEAD
        path: '{{path}}'
      destination:
        server: '{{server}}'
        namespace: '{{path.basename}}'

Commits should follow

feat(argocd): add ApplicationSet generators
feat(argocd): implement sync waves
docs: add multi-cluster deployment guide

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions