MCPcopy Index your code
hub / github.com/argoproj-labs/argocd-agent

github.com/argoproj-labs/argocd-agent @v0.9.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.9.0 ↗ · + Follow
3,752 symbols 18,569 edges 296 files 1,515 documented · 40%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

argocd-agent ✨

Integration tests Go Report Card codecov

Scale Argo CD across hundreds of clusters with a single pane of glass 🌐

Imagine managing GitOps deployments across edge locations, multiple cloud providers, air-gapped environments, and remote sites—all from one central dashboard. argocd-agent makes this reality by extending Argo CD with a distributed architecture that brings the control plane to you, no matter where your workloads live.

🚀 Why argocd-agent?

The Challenge: Traditional multi-cluster Argo CD setups hit walls when scaling to hundreds of clusters, especially across unreliable networks, air-gapped environments, or edge locations.

The Solution: argocd-agent flips the script—instead of your control plane reaching out to remote clusters, lightweight agents reach back to a central hub. This "pull model" enables:

Massive Scale: Manage thousands of applications across hundreds of clusters
Network Resilience: Works with intermittent connections, high latency, or restricted networks
Edge-Friendly: Perfect for IoT, retail, manufacturing, or remote deployments
Air-Gap Ready: Secure deployments that never expose cluster internals
Cloud Agnostic: Seamlessly span AWS, GCP, Azure, on-premises, and hybrid environments

🎯 Perfect For

  • 🏭 Manufacturing: Deploy to factory floors and remote facilities
  • 🛒 Retail: Manage point-of-sale and in-store systems across locations
  • 🚢 Edge Computing: IoT deployments, autonomous vehicles, ships, and remote sites
  • 🏛️ Enterprise: Multi-datacenter deployments with strict security requirements
  • ☁️ Multi-Cloud: Unified GitOps across different cloud providers
  • 🔒 Air-Gapped: Secure environments with restricted network access

⚡ Quick Start

Get up and running in minutes! Check out our Getting Started Guide for step-by-step instructions.

🏗️ How It Works

Think of argocd-agent as a hub-and-spoke architecture where agents reach back to the control plane:

    ┌─────────────────┐
    │  Control Plane  │  ← Your Argo CD UI and API
    │   (The Hub)     │     (No outbound connections needed!)
    └─────────────────┘
              ▲ ▲ ▲
              │ │ │
              │ │ │
┌─────────────┘ │ └─────────────┐
│               │               │
│               │               │
┌─────────┐ ┌─────────┐ ┌─────────┐
│ Agent 1 │ │ Agent 2 │ │ Agent N │  ← Each agent connects independently
│ AWS     │ │ Factory │ │ Edge    │     (Pull model - no inter-agent links!)
└─────────┘ └─────────┘ └─────────┘

🎛️ Control Plane: Your familiar Argo CD interface—manage everything from one place
🤖 Agents: Lightweight components that reach out and connect to the hub
🔄 Smart Sync: Agents pull configuration and push status updates automatically

Two Flavors, One Experience

🎯 Managed Mode: Perfect for centralized control
- Deploy applications from your control plane to remote clusters - Ideal for rolling out updates, managing configurations, and maintaining consistency

🦾 Autonomous Mode: Built for independence
- Remote clusters manage their own applications (via GitOps) - Control plane provides observability and monitoring - Perfect for air-gapped or highly autonomous environments

Mix and match modes across your fleet - some clusters managed, others autonomous, all visible from one dashboard.

🌟 Key Features

🛡️ Security First

  • mTLS everywhere: All communications are encrypted and authenticated
  • Zero trust: Control plane never needs direct cluster access
  • Certificate-based auth: Strong identity verification for every agent

🌐 Network Resilient

  • Intermittent connections: Agents work offline and sync when possible
  • High latency tolerant: Designed for satellite links, cellular, and unreliable networks
  • HTTP/1.1 compatible: Works through corporate proxies and legacy infrastructure

📊 Unified Observability

  • Single pane of glass: See all clusters, applications, and deployments in one view
  • Real-time status: Health, sync status, and metrics from all environments
  • Live resources: Inspect Kubernetes resources across your entire fleet

⚙️ Operationally Friendly

  • Lightweight: Minimal resource footprint on remote clusters
  • Self-healing: Agents automatically reconnect and recover
  • Easy upgrades: Rolling updates without downtime

🚧 Current Status

Track our progress and vision in the milestones on GitHub.

🤝 Join the Community

We're building argocd-agent together! Whether you're a GitOps veteran or just getting started, there are many ways to contribute:

💬 Get Help & Share Ideas - GitHub Discussions - Ask questions, share use cases - #argo-cd-agent on CNCF Slack - Real-time chat

🛠️ Contribute - Contributing Guide - Code, docs, and testing guidelines - Issue Tracker - Bug reports and feature requests - Good First Issues - Perfect for newcomers

📖 Learn More - Documentation - Comprehensive guides and references - Architecture Deep Dive - Understanding the internals - Configuration Guide - Detailed setup instructions

🏢 Ready to Deploy?

argocd-agent is evolving into a stable and reliable project ready for adoption! The project has reached a state mature enough where users are encouraged to install and run it. We continue working toward GA, and we kindly ask for help from everyone to battle-test it.

Help us by:

  • 🤝 Contributing to development - Help us reach GA faster
  • 💡 Giving feedback - Together, we can build a better product
  • 💼 Adoption - Give it a spin, in any of your environments
  • 🗣️ Sharing your success stories - We love hearing about your use cases

Ready to get started? Jump into our getting started guide or start a discussion to share your plans!

📜 License

argocd-agent is licensed under the Apache License 2.0.


Built with ❤️ by the Argo community

⭐ Star us on GitHub | 📖 Read the Docs | 💬 Join the Discussion

Extension points exported contracts — how you extend this code

ReplicaStream (Interface)
ReplicaStream represents a connected replica's event stream [7 implementers]
pkg/replication/forwarder.go
Method (Interface)
Method is the interface to be implemented by all auth methods [6 implementers]
internal/auth/interface.go
AppProject (Interface)
AppProject defines a generic interface to store/track Argo CD AppProject state, via AppProjectManager. As of this writi [9 …
internal/backend/interface.go
QueuePair (Interface)
QueuePair maintains a map (indexed by name) of send/receive queue pairs [3 implementers]
internal/queue/queue.go
AgentStateProvider (Interface)
AgentStateProvider provides agent state for snapshots [2 implementers]
principal/apis/replication/server.go
InformerInterface (Interface)
InformerInterface defines the interface for the informer [1 implementers]
internal/informer/informer.go
Issuer (Interface)
(no doc) [3 implementers]
internal/issuer/issuer.go
Option (FuncType)
Option is a function that modifies Options
pkg/ha/options.go

Core symbols most depended-on inside this repo

Get
called by 814
internal/backend/interface.go
Run
called by 773
pkg/replication/client.go
Error
called by 664
internal/logging/logging.go
Run
called by 406
internal/auth/mocks/Method.go
Return
called by 354
internal/auth/mocks/Method.go
Contains
called by 295
internal/cache/resource_cache.go
Len
called by 242
internal/queue/queue.go
Create
called by 241
internal/queue/queue.go

Shape

Method 1,884
Function 1,352
Struct 395
Interface 54
FuncType 42
TypeAlias 24
Class 1

Languages

Go100%
Python1%

Modules by API surface

pkg/api/grpc/replicationapi/replication.pb.go101 symbols
internal/event/event.go88 symbols
test/mocks/k8s-workqueue/TypedRateLimitingInterface.go70 symbols
internal/backend/mocks/Application.go64 symbols
internal/logging/logging.go59 symbols
internal/backend/mocks/Repository.go58 symbols
internal/backend/mocks/AppProject.go58 symbols
internal/backend/interface.go55 symbols
principal/options.go52 symbols
pkg/api/grpc/haadminapi/haadmin.pb.go52 symbols
pkg/client/remote.go49 symbols
pkg/api/grpc/eventstreamapi/eventstream_grpc.pb.go49 symbols

For agents

$ claude mcp add argocd-agent \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page