Saltar a contenido

XPIFY – Documentación técnica (TFG)

Bienvenido a la documentación técnica del TFG XPIFY, un proyecto que combina un entorno de infraestructura moderna con CI/CD automatizado.

Arquitectura general

flowchart LR
  subgraph Proxmox
    direction LR
    VMk3s[VM k3s\nUbuntu 22.04\n192.168.1.122]
    LXCgraf[LXC Grafana externo]
  end

  Dev[GitHub Repo\n(main)] -->|build & push| GHCR[(GHCR)]
  GHCR -->|Argo CD sync| VMk3s

  subgraph k3s Cluster
    direction TB
    Traefik[Traefik Ingress (in-cluster)]
    Argo[Argo CD]
    Prom[Prometheus (NodePort 30140)]
    Loki[Loki (NodePort 32632)]
    Apps[XPIFY Services]
  end

  NPM[Nginx Proxy Manager externo] -->|HTTPS| Traefik
  LXCgraf -->|Métricas y logs| VMk3s

Tecnologías clave

  • Proxmox: virtualización de entornos.
  • k3s (Kubernetes): orquestación de servicios.
  • Docker / Helm: contenedorización y despliegue.
  • Argo CD: automatización GitOps.
  • Traefik / NPM: reverse proxy y HTTPS.
  • Prometheus + Grafana + Loki: monitorización y logs.
  • GHCR + GitHub Actions: pipeline CI/CD.

Flujo de trabajo CI/CD

sequenceDiagram
  participant Dev as Desarrollador
  participant GH as GitHub Actions
  participant GHCR as GHCR
  participant AR as Argo CD
  participant K3S as k3s Cluster

  Dev->>GH: push main
  GH->>GHCR: build & push images
  GH->>AR: notifica cambios en charts
  AR->>K3S: sincroniza despliegues
  K3S->>Grafana: expone métricas/logs