Guides
Argo CD Install कर पहली App Deploy कैसे करें
By Ravindra Bagale, DevOps trainer · LinkedIn · Published: · Last updated:
Argo CD install, login, Application → Git path, sync, Synced+Healthy.
Friends, Argo CD is the sync agent from the GitOps story. Chala mitrano — wait for Synced and Healthy, not just Applied.
मित्रांनो, Argo CD = GitOps मधील sync agent. Chala mitrano — Synced आणि Healthy दोन्ही पाहा.
मित्रों, Argo CD = GitOps वाला sync agent। Chala mitrano — Synced और Healthy दोनों देखें।
Quick answer
Hold this vertical picture:
- argocd ns+install.
- pods Ready.
- login; change pw.
- Application YAML.
- sync; Synced/Healthy.
Language: English · मराठी · हिंदी
Argo CD first app
Argo CD क्यों
GitOps controller.
Why: manual kubectl continuous नहीं.
What: Applications → Git.
How: UI+CLI.
Example 1: Install namespace idea
Type this:
printf '%s\n' 'kubectl create namespace argocd'
You will see:
kubectl create namespace argocd
What it means: Argo CD components live in their own namespace.
Example 2: Install manifests reminder
Type this:
printf '%s\n' 'Apply the official Argo CD install manifests for your version from the project release notes (not a random blog copy)'
You will see:
Apply the official Argo CD install manifests for your version from the project release notes (not a random blog copy)
What it means: Pin the version your platform team approves.
Example 3: Wait for pods
Type this:
printf '%s\n' 'kubectl -n argocd get pods'
You will see:
kubectl -n argocd get pods
What it means: All controllers should become Running/Ready.
Concept 1: Access
password; port-forward.
Why: default admin = incident.
What: change pw; SSO later.
How: CLI login.
Example 4: Initial admin password
Type this:
printf '%s\n' 'kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d; echo'
You will see:
kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d; echo
What it means: Change this password after first login — Infosys checklist.
Example 5: Port-forward UI
Type this:
printf '%s\n' 'kubectl -n argocd port-forward svc/argocd-server 8080:443'
You will see:
kubectl -n argocd port-forward svc/argocd-server 8080:443
What it means: Lab access; prod uses Ingress + SSO later.
Example 6: CLI login sketch
Type this:
printf '%s\n' 'argocd login 127.0.0.1:8080 --insecure'
You will see:
argocd login 127.0.0.1:8080 --insecure
What it means: --insecure only for local TLS labs.
Concept 2: Application
repoURL/path/dest/policy.
Why: wrong path.
What: apply; get; sync.
How: private Git.
Example 7: Application YAML
Type this:
mkdir -p /tmp/argo && printf '%s\n' 'apiVersion: argoproj.io/v1alpha1' 'kind: Application' 'metadata: {name: web, namespace: argocd}' 'spec:' ' project: default' ' source:' ' repoURL: https://git.example.internal/demo/web-config.git' ' targetRevision: main' ' path: apps/web' ' destination:' ' server: https://kubernetes.default.svc' ' namespace: demo' ' syncPolicy: {automated: {prune: true, selfHeal: true}}' > /tmp/argo/app.yaml && head -5 /tmp/argo/app.yaml
You will see:
apiVersion: argoproj.io/v1alpha1
What it means: repoURL uses your company Git host — not a banned public host in samples.
Example 8: kubectl apply Application
Type this:
printf '%s\n' 'kubectl apply -f app.yaml && argocd app get web'
You will see:
kubectl apply -f app.yaml && argocd app get web
What it means: Look for Synced and Healthy.
Example 9: Manual sync
Type this:
printf '%s\n' 'argocd app sync web'
You will see:
What it means: Use when automation is off or first sync.
Concept 3: Heal/RBAC
automation + who.
Why: open admin = audit fail.
What: selfHeal/prune; SSO.
How: Healthy vs Progressing.
Example 10: Self-heal meaning
Type this:
printf '%s\n' 'selfHeal: true → controller reverts manual kubectl drift'
You will see:
selfHeal: true → controller reverts manual kubectl drift
What it means: Matches the GitOps lesson.
Example 11: Prune meaning
Type this:
printf '%s\n' 'prune: true → deletes cluster objects removed from Git'
You will see:
prune: true → deletes cluster objects removed from Git
What it means: Without prune, deleted YAML leaves orphans.
Example 12: RBAC note
Type this:
printf '%s\n' 'Map SSO groups to Argo CD RBAC before opening UI to everyone'
You will see:
Map SSO groups to Argo CD RBAC before opening UI to everyone
What it means: Admin for all is an audit fail at Capgemini.
Argo CD card
1 install 2 pods 3 login 4 Application 5 sync 6 Healthy+RBAC
Suppose: Progressing
repo/path/ns.
Suppose: Unknown
App details.
Ravindra Bagale's Tip
At TCS platform teams, first app uses a private Git path and automated sync with prune+selfHeal in non-prod only until trust grows.
TCS platform मध्ये पहिली app private Git + automated sync; prune+selfHeal आधी non-prod.
TCS platform में पहली app private Git + automated sync; prune+selfHeal पहले non-prod।
Check yourself (quiz)
Q1. ns?
argocd
Q2. success?
Synced+Healthy
Q3. points?
repo+path
Q4. selfHeal?
revert drift
Q5. prune?
delete orphans
Q6. password?
change
Reading tracking
Mark this guide when you finish. Your browser remembers it on this device.
install → login → Application → sync → Healthy.
Did you understand? Let us try it once more.
Frequently asked questions
Argo CD vs Flux?
Both GitOps; Argo has a popular UI.
Automated sync in prod?
Many teams enable after trust; start manual.
Where is admin password?
argocd-initial-admin-secret.
Progressing forever?
Repo credentials or bad path.
selfHeal risk?
Fights intentional break-glass edits — use policy.
App of apps?
Root Application managing many children.