πŸ“šBook Signing at KubeCon EU 2026Meet us at Booking.com HQ (Mon 18:30-21:00) & vCluster booth #521 (Tue 24 Mar, 12:30-1:30pm) β€” free book giveaway!RSVP Booking.com Event
Deployments beginner ⏱ 15 minutes K8s 1.28+

Install ArgoCD on openSUSE

Deploy ArgoCD on Kubernetes running on openSUSE. GitOps continuous delivery with automated sync, self-healing, and multi-cluster support.

By Luca Berton β€’ β€’ πŸ“– 5 min read

πŸ’‘ Quick Answer: Deploy ArgoCD on Kubernetes running on openSUSE. GitOps continuous delivery with automated sync, self-healing, and multi-cluster support.

The Problem

You have a Kubernetes cluster on openSUSE and need GitOps-based continuous delivery. ArgoCD watches your Git repository and automatically syncs changes to your cluster.

The Solution

Prerequisites

Install ArgoCD on openSUSE

# 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-app

Expose 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-tls
graph 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| F

Common Issues

  • Can’t get initial password β€” secret argocd-initial-admin-secret is 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 automated in 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
#argocd #gitops #installation #opensuse #continuous-delivery
Luca Berton
Written by Luca Berton

Principal Solutions Architect specializing in Kubernetes, AI/GPU infrastructure, and cloud-native platforms. Author of Kubernetes Recipes and creator of CopyPasteLearn courses.

Kubernetes Recipes book cover

Want More Kubernetes Recipes?

This recipe is from Kubernetes Recipes, our 750-page practical guide with hundreds of production-ready patterns.

Luca Berton Ansible Pilot Ansible by Example Open Empower K8s Recipes Terraform Pilot CopyPasteLearn ProteinLens