Перейти к основному содержимому

Daily ArgoCD Operations

Before You Change Anything

These steps can affect shared dev workloads or the GitOps control layer. Confirm the target repo, environment, and intended owner before mutating anything.

ArgoCD manages all Kubernetes resources in the Crawbl cluster via the crawbl-argocd-apps Git repository. This guide covers the operations you will use daily.

Access the Dashboard

Port-forward the ArgoCD server to your local machine:

kubectl port-forward svc/argocd-server -n argocd 8080:443

Open https://localhost:8080 in your browser. Accept the self-signed certificate warning.

Credentials:

  • Username: admin
  • Password: Retrieve with:
kubectl -n argocd get secret argocd-initial-admin-secret \
-o jsonpath="{.data.password}" | base64 -d

The dashboard provides a visual overview of all applications, their sync status, health, and resource tree.

Check Sync Status

All Applications

kubectl get applications -n argocd -o wide

This shows every managed application with its sync and health status in one view.

Single Application

kubectl get application orchestrator -n argocd \
-o jsonpath='{.status.sync.status} {.status.health.status}'

Detailed View

kubectl describe application orchestrator -n argocd

This shows the full sync history, conditions, and resource health breakdown.

Sync Status Meanings

StatusMeaningAction
SyncedCluster matches GitNone — everything is current
OutOfSyncGit has unapplied changesWait — auto-syncs within 3 minutes
UnknownArgoCD lost track of the appHard-refresh (see below)

Health Status Meanings

StatusMeaningAction
HealthyAll resources running and readyNone
ProgressingCreating or updating resourcesWait for rollout to complete
DegradedSomething is wrongCheck pod logs and events
MissingExpected resources do not existCheck if the Application CR exists

Force a Sync

ArgoCD auto-syncs every 3 minutes. To sync immediately:

kubectl patch application orchestrator -n argocd --type merge \
-p '{"metadata":{"annotations":{"argocd.argoproj.io/refresh":"hard"}}}'

Or from the dashboard: click the application, then click Sync.

View Application Resources

List all Kubernetes resources managed by an application:

kubectl get application orchestrator -n argocd \
-o jsonpath='{range .status.resources[*]}{.kind}/{.name} {.status}{"\n"}{end}'

Common Daily Tasks

TaskCommand
See all app statuseskubectl get applications -n argocd -o wide
Check one appkubectl get application <name> -n argocd -o jsonpath='{.status.sync.status} {.status.health.status}'
Force syncPatch with argocd.argoproj.io/refresh: hard annotation
View app detailskubectl describe application <name> -n argocd
Open dashboardkubectl port-forward svc/argocd-server -n argocd 8080:443
Get admin passwordkubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d

What's next: Add a New Application