Install ArgoCD on CentOS Stream
Deploy ArgoCD on Kubernetes running on CentOS Stream. GitOps continuous delivery with automated sync, self-healing, and multi-cluster support.
π‘ Quick Answer: Deploy ArgoCD on Kubernetes running on CentOS Stream. GitOps continuous delivery with automated sync, self-healing, and multi-cluster support.
The Problem
You have a Kubernetes cluster on CentOS Stream and need GitOps-based continuous delivery. ArgoCD watches your Git repository and automatically syncs changes to your cluster.
The Solution
Prerequisites
- Running Kubernetes cluster (see Install Kubernetes on CentOS Stream)
- kubectl configured and working
- Helm installed (see Install Helm on CentOS Stream)
Install ArgoCD on CentOS Stream
# Install ArgoCD
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
# Wait for pods
kubectl wait --for=condition=ready pod -l app.kubernetes.io/name=argocd-server -n argocd --timeout=300s
# Install ArgoCD CLI
curl -sSL -o argocd https://github.com/argoproj/argo-cd/releases/latest/download/argocd-linux-amd64
chmod +x argocd
sudo mv argocd /usr/local/bin/
# Get initial admin password
kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d
echo
# Port-forward to access UI
kubectl port-forward svc/argocd-server -n argocd 8080:443 &
# Login
argocd login localhost:8080 --username admin --password $(kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d) --insecure
# Register your first application
argocd app create my-app \
--repo https://github.com/myorg/my-app.git \
--path k8s \
--dest-server https://kubernetes.default.svc \
--dest-namespace default \
--sync-policy automated \
--auto-prune \
--self-heal
# Or declaratively
cat << 'EOF' | kubectl apply -f -
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: my-app
namespace: argocd
spec:
project: default
source:
repoURL: https://github.com/myorg/my-app.git
targetRevision: HEAD
path: k8s
destination:
server: https://kubernetes.default.svc
namespace: default
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true
EOF
# Verify
argocd app list
argocd app get my-appExpose ArgoCD with Ingress
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: argocd-server
namespace: argocd
annotations:
nginx.ingress.kubernetes.io/ssl-passthrough: "true"
nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
spec:
ingressClassName: nginx
rules:
- host: argocd.example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: argocd-server
port:
number: 443
tls:
- hosts:
- argocd.example.com
secretName: argocd-tlsgraph LR
A[Git Repository] -->|Watch| B[ArgoCD]
B -->|Compare| C{Desired vs Live state}
C -->|Out of sync| D[Auto-sync to cluster]
C -->|In sync| E[Healthy]
D --> F[Kubernetes Cluster]
B -->|Self-heal| FCommon Issues
- Canβt get initial password β secret
argocd-initial-admin-secretis auto-deleted after first login in newer versions - Timeout connecting to ArgoCD β ensure port-forward is running or ingress is configured
- Sync failed β check Application events:
argocd app get <name> - Out of sync but wonβt auto-sync β enable
automatedin syncPolicy
Best Practices
- Change the default admin password immediately after first login
- Use SSO/OIDC instead of local accounts for production
- Create ArgoCD Projects to restrict which repos and clusters each team can use
- Enable auto-prune and self-heal for true GitOps
Key Takeaways
- ArgoCD is the standard GitOps tool for Kubernetes
- It watches Git and automatically reconciles cluster state
- Install is a single kubectl apply β no Helm chart required
- Always secure the admin account and enable RBAC

Recommended
Kubernetes Recipes β The Complete Book100+ production-ready patterns with detailed explanations, best practices, and copy-paste YAML. Everything in one place.
Get the Book βLearn by Doing
CopyPasteLearn β Hands-on Cloud & DevOps CoursesMaster Kubernetes, Ansible, Terraform, and MLOps with interactive, copy-paste-run lessons. Start free.
Browse Courses βπ Deepen Your Skills β Hands-on Courses
Courses by CopyPasteLearn.com β Learn IT by Doing
