Files
apps-registry/workloads/docs-portal/docs/index.md
T
devops 0234c20463 fix(docs-portal): deshabilitar git-revision-date-localized (rompe --strict)
mkdocs build --strict aborta ante CUALQUIER WARNING, no solo ante links
rotos. El plugin, al no tener .git real en el contexto de build
(workloads/docs-portal/, sin .git de la raíz del repo), cae siempre en
fallback_to_build_date y emite un WARNING por página — suficiente para
tumbar el build bajo --strict (confirmado en run 96, job 108: 33
warnings, todos de este plugin, cero links rotos).

Se deshabilita el plugin (comentado en mkdocs.yml y requirements.txt,
con TODO fase 2: mover el build a la raíz del repo + fetch-depth:0 para
darle historial real) y se revierte la instalación de git en el
Dockerfile, que ya no hace falta. index.md actualizado para no prometer
fechas reales que hoy no se muestran.
2026-08-13 22:27:56 -05:00

66 lines
3.3 KiB
Markdown

# CruzCloud Lab — Plataforma GitOps
> **TODO (fase 2+):** reescribir esta portada con la narrativa final. Por
> ahora describe el propósito y la audiencia para que la navegación y el
> `nav:` de `mkdocs.yml` tengan un punto de entrada real.
Este sitio documenta un laboratorio personal de **Platform Engineering**:
un cluster Kubernetes (k3d) corriendo sobre un NAS (ZimaOS), gobernado
100% por GitOps (Gitea + Argo CD), sirviendo una tienda de e-commerce real
(Medusa + Next.js) como carga de trabajo de referencia.
No es un tutorial genérico ni una demo de juguete: cada decisión, cada
incidente y cada diagrama de este sitio corresponde a un sistema que
corre de verdad, con los commits, logs y causas raíz reales que lo
probaron.
## Para quién es este sitio
Este portal sirve a tres audiencias distintas, y está organizado para
que cada una pueda entrar por su propia puerta:
- **Reclutadores / pares de Platform Engineering** — ver
[`decisiones/`](decisiones/0001-por-que-k3d.md) para el criterio
arquitectónico detrás del stack, y [`playbooks/`](playbooks/incidente-crashloop-medusa.md)
para diagnóstico real de incidentes (no solo "lo arreglé").
- **Alguien evaluando este patrón para un caso de negocio real**
(tienda desplegable desde ZimaOS) — ver
[`arquitectura/`](arquitectura/vision-general.md) para el flujo
completo y su costo/complejidad real.
- **Estudiantes empezando con GitOps/Kubernetes** (incluye a mi hijo,
7mo semestre de Ingeniería de Sistemas) — empezar por
[`guia-estudiante/`](guia-estudiante/README.md), pensada para alguien
que nunca ha visto estos conceptos.
## Mapa del sitio
| Sección | Qué encontrarás |
|---|---|
| [Arquitectura](arquitectura/vision-general.md) | Diagramas Mermaid del flujo completo, red/exposición, flujo GitOps, glosario |
| [Decisiones (ADRs)](decisiones/0001-por-que-k3d.md) | Por qué k3d, por qué Argo CD, por qué HTTP/2 sobre QUIC, etc. |
| [Playbooks](playbooks/incidente-crashloop-medusa.md) | Incidentes reales, diagnóstico paso a paso, causa raíz, fix |
| [Aprendizajes](aprendizajes/notas-sueltas.md) | Qué haría distinto, gotchas de Medusa v2 |
| [Guía del estudiante](guia-estudiante/README.md) | Ruta de aprendizaje desde cero |
## Estado de este sitio
Este portal se mantiene vivo junto con el lab. La idea es que cada
página muestre su última fecha de modificación real vía
`git-revision-date-localized` — por ahora ese plugin está deshabilitado
(ver TODO en `mkdocs.yml`): el build corre con `mkdocs build --strict`,
que aborta ante cualquier `WARNING`, y el plugin no tiene historial git
real que leer desde el contexto de build actual, así que se queda fuera
hasta que ese contexto incluya `.git` de verdad. Si una página dice
"TODO", es contenido pendiente de una fase posterior, no una promesa
incumplida: la estructura completa se construyó primero a propósito,
para que el contenido se llene sección por sección con el mismo
criterio que el resto del lab.
Desde este commit, el sitio se construye y publica solo: cada push a
`main` que toca `docs/` o `mkdocs.yml` dispara
`.gitea/workflows/deploy-docs.yaml`, que hace `mkdocs build --strict`,
publica la imagen en el Registry de Gitea y Argo CD sincroniza el
Deployment en el cluster (namespace `docs-portal`). Este párrafo es la
prueba: si lo estás leyendo servido desde el pod real, el pipeline
funcionó de punta a punta.