Skip to content

sudormrf-dev/argocd-gitops-ai-workloads

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

argocd-gitops-ai-workloads

Production GitOps patterns for AI/ML workloads: ArgoCD ApplicationSet fleet management, repo separation strategy, progressive canary delivery, and GPU resource templates.

Patterns

ApplicationSet (patterns/application_set.py)

  • ApplicationSetGenerator — LIST/GIT/MATRIX/CLUSTER generators with to_dict()
  • ApplicationSet — full ApplicationSet resource with sync policy
  • SyncPolicy — MANUAL/AUTO/AUTO_PRUNE/AUTO_SELF_HEAL
  • build_applicationset() — convenience builder for AI workload fleets

Repo Separation (patterns/repo_separation.py)

  • RepoSeparationStrategy — app-repo vs config-repo separation with promotion_pipeline()
  • RepoLayout — generates all expected directory paths for a config repo
  • GitOpsRepo — typed repo descriptor with short_name and is_config_repo
  • validate_repo_layout() — warns on missing prod, empty apps, conflicting tooling

Progressive Delivery (patterns/progressive_delivery.py)

  • ProgressiveDelivery — canary rollout state machine (start/advance/abort)
  • CanaryConfig — steps with weight/pause/analysis_template per step
  • RolloutStatus — phase tracking (RUNNING/PAUSED/COMPLETED/FAILED)
  • to_argo_rollout_dict() — generates Argo Rollouts resource YAML

Resource Templates (patterns/resource_templates.py)

  • ResourceTemplateBuilder — generates Deployment + ResourceQuota dicts
  • AIWorkloadConfig — per-workload GPU/CPU/memory config with effective_profile()
  • GpuType — T4/A10G/A100/H100/H200 with VRAM properties
  • WorkloadType — LLM_INFERENCE/BATCH/TRAINING/FINE_TUNING/EMBEDDING

Installation

pip install -e ".[dev]"
pytest -q

About

GitOps ArgoCD for ML workloads without infinite CI loops: canary delivery, DORA metrics, model versioning

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages