Saltar a contenido

Argo CD

GitOps: sincroniza el estado del cluster desde este repositorio.

Resumen

Argo CD despliega y mantiene todo lo que vive en clusters/luka/ (app-of-apps). Cada servicio es una Application con autosync. Sustituye a Portainer como orquestador de despliegue.

Estado

Campo Valor
Estado Operativo
Argo CD Application apps (app-of-apps)
Namespace argocd

Despliegue

Campo Valor
Método Helm argo/argo-cd
Versión (chart) 10.4.2
Rol k3s/ansible/roles/argocd
app-of-apps clusters/luka/app-of-apps.yaml → clusters/luka/apps

Red

Campo Valor
Service argocd-server (ClusterIP)
IP — (sin IP directa; detrás de Traefik)
Puertos 80 (HTTP, server.insecure)
URL interna https://argocd.local.gorkarevilla.com (Traefik, wildcard TLS)
URL externa — (pendiente argocd.gorkarevilla.com)

Acceso y usuarios

  • admin (password en ARGOCD_ADMIN_PASSWORD del .env local, o en el secret argocd-initial-admin-secret de ns argocd). Guardado en gestor de contraseñas.
  • Token de repo: PAT de GitHub read-only (env ARGOCD_REPO_TOKEN / secret repo-homelab).

Configuración

  • argocd-server expuesto vía Traefik (ClusterIP, HTTPRoute en clusters/luka/config/traefik-routes/).
  • Repo privado registrado con PAT read-only (secret repo-homelab).
  • Autosync: prune + selfHeal en la app-of-apps.

Almacenamiento

  • Estado en el cluster (CRDs + secretos). El state de Git es la fuente de verdad.

Dependencias

  • Depende de: k3s, Traefik (HTTPRoute), cert-manager (TLS).
  • Usado por: todo el despliegue GitOps.

Backup y recuperación

  • Re-desplegable desde Git. Credenciales en secretos/gestor.

Monitorización

  • Scrapeado vía PodMonitor (server, repo-server, application-controller) en clusters/luka/config/servicemonitors/argocd.yaml.

Referencias

  • https://argo-cd.readthedocs.io/
  • Chart: https://github.com/argoproj/argo-helm

Notas / TODO

  • Exponer públicamente argocd.gorkarevilla.com (con Cloudflare Access).
  • Ruido de logs (catalogado): repo-server emite mucho Error serving health check request ... context canceled (health-check gRPC mientras se lista el repo). Cosmético, conocido. Ver runbook del operador.