feat(mirrors): initial architecture, specifications, automation tools, and canonical guide

Establish community mirror network on IPFS for Fedora and CentOS Stream 10:
- Modular documentation and specifications under docs/
- Master canonical guide under README.rst with client and node operator workflows
- Ingestion, upstream sync, and Cloudflare DNSLink automation scripts in bin/
- Reverse proxy configs (Nginx/Caddy) and systemd timer units in etc/ and systemd/

Signed-off-by: Rénich Bon Ćirić <renich@evalinux.com>
Co-authored-by: Gemini AI <renich+gemini@evalinux.com>
This commit is contained in:
Rénich Bon Ćirić 2026-10-08 22:17:27 -06:00
commit 0397fc8cc4
Signed by: renich
GPG key ID: AB2A9F49384FE324
32 changed files with 1700 additions and 0 deletions

View file

@ -0,0 +1,45 @@
=================================================
Fase 1: Prueba de Concepto y Publicación Canónica
=================================================
Objetivo
========
Validar de punta a punta la ingesta, generación de DAGs UnixFS, actualización de registros DNSLink y resolución de subrutas para Fedora y CentOS Stream 10 bajo ``mirrors.mx-os.mx``.
Trazabilidad: [FUNC-001], [FUNC-002], [FUNC-003], [TECH-001], [TECH-002], [TECH-003]
Hitos de la Fase
================
Hito 1.1: Aprovisionamiento del Nodo Cabecera de MxOS
-----------------------------------------------------
Poner en marcha el entorno de almacenamiento y el demonio Kubo en la infraestructura de servidores de la Fundación MxOS.
* **Tarea 1.1.1 [TECH-001]:** Configurar el directorio de staging en el servidor y habilitar la extensión filestore en Kubo.
* *Bloqueado por:* Ninguno.
* *Desbloquea:* Tarea 1.1.2.
* **Tarea 1.1.2 [TECH-001]:** Ejecutar la sincronización rsync inicial de imágenes ISO de Fedora y el repositorio BaseOS de CentOS Stream 10.
* *Bloqueado por:* Tarea 1.1.1.
* *Desbloquea:* Tarea 1.1.3.
* **Tarea 1.1.3 [TECH-001]:** Realizar la ingesta por referencia con ``ipfs add -r --nocopy`` y verificar la integridad de los CIDs generados.
* *Bloqueado por:* Tarea 1.1.2.
* *Desbloquea:* Tarea 1.2.1.
Hito 1.2: Configuración de DNSLink y Validación de Subrutas
-----------------------------------------------------------
Establecer la delegación DNS inmutable y verificar la granularidad del enjambre.
* **Tarea 1.2.1 [TECH-003]:** Crear el registro TXT ``_dnslink.mirrors.mx-os.mx`` con el CID raíz de la ingesta.
* *Bloqueado por:* Tarea 1.1.3.
* *Desbloquea:* Tarea 1.2.2.
* **Tarea 1.2.2 [TECH-002]:** Validar la resolución y pineo recursivo exclusivo de subrutas (ejemplo: ``/ipns/mirrors.mx-os.mx/centos-stream/10-stream/BaseOS``) desde un nodo cliente externo.
* *Bloqueado por:* Tarea 1.2.1.
* *Desbloquea:* Hito 1.3.
Hito 1.3: Redacción del Post Inicial en el Sitio de MxOS
--------------------------------------------------------
Publicar el artículo de presentación en ``mx-os.mx`` y convocar a los primeros operadores guardianes.
* **Tarea 1.3.1 [FUNC-003]:** Redactar y publicar el artículo de lanzamiento en la web de MxOS enlazando al manual de operadores.
* *Bloqueado por:* Tarea 1.2.2.
* *Desbloquea:* Fase 2.