Ingesta de Repositorios y Telemetría¶
Identificadores Técnicos: [TECH-001], [TECH-004]
Flujo de Ingesta Upstream¶
El ciclo de actualización del nodo central de MxOS se ejecuta de manera automatizada mediante temporizadores de systemd y comprende cuatro etapas:
Sincronización diferencial con rsync: Se obtienen los paquetes y metadatos actualizados desde los espejos de nivel 1 (Tier-1) de Fedora y CentOS Stream hacia un directorio de preparación (staging) local.
Generación del grafo UnixFS (Filestore): Para evitar la duplicación de cientos de gigabytes en el disco del servidor, se utiliza la función
--nocopyde Kubo con el subsistema filestore habilitado:ipfs add -r --nocopy --cid-version=1 --hash=sha2-256 /srv/mirrors/staging/
Actualización de Registros DNSLink: El CID raíz resultante de la ingesta se publica automáticamente en el servidor de nombres de MxOS mediante actualización dinámica de DNS (RFC 2136 mediante nsupdate) o vía la API de gestión de zona.
Anuncio en el enjambre: El nodo central anuncia la provisión de los nuevos CIDs a la DHT de IPFS.
Descubrimiento de Nodos y Telemetría Pasiva¶
Para alimentar el tablero público en mirrors.mx-os.mx sin violar la privacidad de los colaboradores, el servicio recolector opera de la siguiente forma:
Consulta a la DHT: Se invoca periódicamente la interfaz RPC de Kubo o la instrucción de línea de comandos para consultar proveedores del CID raíz activo:
ipfs dht findprovs -n 0 <CID_RAÍZ>
Extracción de multiaddrs: El comando retorna los identificadores de par (PeerID) y las direcciones de red asociadas (IPv4/IPv6 y puertos de escucha).
Geolocalización aproximada en memoria: Las direcciones IP públicas se contrastan contra una base de datos local MaxMind GeoLite2 para extraer únicamente el país y estado o región.
Almacenamiento temporal: Los datos agregados (número de pares, concentración geográfica y latencia de respuesta) se consolidan en una base de datos SQLite/libSQL o en memoria para ser consumidos por la interfaz web reactiva.