argoproj/argo-cd
Glossary
Terms used throughout the Argo CD codebase, derived from docs/core_concepts.md, pkg/apis/application/v1alpha1/, and the controller code under controller/.
| Term | Definition | Where to look |
|---|---|---|
| Application | A Custom Resource that points at one or more sources (Git/Helm/OCI) and a destination (cluster + namespace). Argo CD reconciles the rendered manifests into the destination. | pkg/apis/application/v1alpha1/types.go |
| AppProject | A namespace-like grouping of Applications with allowed sources, destinations, and RBAC roles. Used for multi-tenancy. | pkg/apis/application/v1alpha1/app_project_types.go |
| ApplicationSet | A factory CRD that uses generators (Git, list, cluster, matrix, …) to produce Applications. | applicationset/, pkg/apis/application/v1alpha1/applicationset_types.go |
| Source | The desired state input. May be a Git repo (with directory/Helm/Kustomize/Plugin), a Helm chart in an OCI/HTTP registry, or an OCI image. Multiple sources can be combined. | Source/ApplicationSource in types.go |
| Destination | The target cluster and namespace. Identified by API server URL or by Argo CD's internal cluster name. | ApplicationDestination |
| Sync | Apply the rendered manifests to the destination cluster, invoking PreSync/Sync/PostSync hooks. Implemented in controller/sync.go and gitops-engine/. |
controller/sync.go |
| Sync status | Synced, OutOfSync, or Unknown. Comparison logic lives in controller/state.go. |
controller/state.go |
| Operation | A single sync (or rollback) attempt with a target revision and prune/dry-run options. | OperationState in types.go |
| Refresh | Trigger a fresh comparison between Git and live state. Soft refresh reuses cached manifests; hard refresh re-clones. | RefreshType constants in types.go |
| Health | Per-resource status determined by gitops-engine health checks (or custom Lua). Aggregated to an Application health status. | gitops-engine/pkg/health/, util/lua/ |
| Hook | A Kubernetes resource annotated with argocd.argoproj.io/hook that runs at PreSync/Sync/PostSync/SyncFail. |
controller/hook.go |
| Tool / Source type | The renderer used: Helm, Kustomize, Directory, Plugin (CMP). | reposerver/repository/repository.go |
| Config Management Plugin (CMP) | A user-supplied plugin that renders manifests. Runs as a sidecar and talks to the repo server over a gRPC socket. | cmpserver/, util/cmp/ |
| Repo server | Stateless service that clones repos and renders manifests on demand. Caches results in Redis. | reposerver/, util/git/, util/helm/, util/kustomize/ |
| Application controller | Watches Applications and drives reconciliation. Uses sharding to scale across replicas. | controller/appcontroller.go, controller/sharding/ |
| Cluster | A registered destination Kubernetes cluster, persisted as a Secret with a known label. | util/db/cluster.go |
| Repository / Repo creds | A registered Git/Helm/OCI source with optional credentials, also stored as a labelled Secret. | util/db/repository*.go, util/db/repository_secrets.go |
| Project role / token | An RBAC role inside an AppProject, optionally with bearer JWT tokens. | cmd/argocd/commands/project_role.go |
| Manifest hydrator | Optional pipeline that renders manifests once and commits them back to a "hydrated" branch via the commit server. | controller/hydrator/, commitserver/, util/hydrator/ |
| Notifications | Engine that listens for Application changes and sends messages to Slack/email/etc. via templates and triggers. | notification_controller/, util/notification/, notifications_catalog/ |
| RBAC policy | Casbin-based permission model that complements Kubernetes RBAC. Stored in argocd-rbac-cm. |
util/rbac/rbac.go |
| Settings | Cluster-wide Argo CD configuration kept in argocd-cm and argocd-secret. Loaded by util/settings/. |
util/settings/settings.go |
| Sharding | Strategy for distributing application reconciliation across multiple controller replicas. | controller/sharding/ |
| Webhook | Inbound git/registry webhook handler that triggers refreshes. | util/webhook/webhook.go |
| Tracking method | How Argo CD identifies resources it owns (label vs. annotation+label). | util/argo/resource_tracking.go |
For binary-name terminology see Architecture. For the differences between sync, refresh, and operation, see the application controller deep dive in applications/application-controller.
Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.