# mirror-env.sh — activa el mirror de fuentes (ADR 0013). Se hace `source`, no se ejecuta: # # . scripts/fuentes/mirror-env.sh # flock work/.farm-build.lock ./target/release/takana --store ./store build # # Sin esto `takana build` va derecho a upstream, que es el comportamiento de siempre: el mirror es # ADITIVO y su ausencia nunca rompe un build. Por eso no está horneado en el binario — un default # que apunta a una máquina concreta convertiría un fallo de red en un fallo de takana para cualquiera # que clone el repo. # # LISTA, no una URL (ADR 0014): las dos variables aceptan varios orígenes separados por comas y se # prueban todos antes de caer a upstream. Con uno solo, el mecanismo que existe para no depender de # 79 servidores ajenos dependía de UNO nuestro. Para añadir el espejo público: # # export HAMMER_MIRROR="sftp://…/hammer/fuentes,https://.r2.dev/fuentes" # # El orden se ROTA por el hash de cada objeto, así que todos los orígenes se ejercitan en una tanda # del corpus — un espejo que sólo se usa cuando el otro falla es un espejo que nadie prueba. # # La ruta lleva `/~/` a propósito. curl interpreta lo que sigue al host en una URL `sftp://` como # ruta ABSOLUTA del servidor, así que `…:23/hammer/fuentes` busca en la raíz y devuelve # «(78) Could not open remote file for reading» aunque el fichero exista. `/~/` lo ancla al home. # ADR 0016: se exportan las DOS formas. Se acepta la vieja como entrada (hay entornos que la # traen puesta desde perfiles y units fuera del repo) y se deja también puesta, porque un # binario viejo —worker sin recompilar, imagen pinada— sólo conoce ésa. export TAKANA_MIRROR="${TAKANA_MIRROR:-${HAMMER_MIRROR:-sftp://u647150@u647150.your-storagebox.de:23/~/hammer/fuentes}}" export HAMMER_MIRROR="$TAKANA_MIRROR" # Fuentes git: bundles shallow por commit. Variable APARTE de HAMMER_MIRROR porque son dos espacios # de nombres distintos —`{sha256}.tar` vs `{commit}.bundle`— y se pueblan y se pierden por separado. export TAKANA_MIRROR_GIT="${TAKANA_MIRROR_GIT:-${HAMMER_MIRROR_GIT:-sftp://u647150@u647150.your-storagebox.de:23/~/hammer/fuentes-git}}" export HAMMER_MIRROR_GIT="$TAKANA_MIRROR_GIT" export TAKANA_MIRROR_KEY="${TAKANA_MIRROR_KEY:-${HAMMER_MIRROR_KEY:-$HOME/.ssh/github5}}" export HAMMER_MIRROR_KEY="$TAKANA_MIRROR_KEY"