Sobre el proyecto

tailor actúa como un front-end declarativo de alto nivel para el Azure Linux Image Customizer (IC). Aborda la complejidad de escribir manualmente comandos de Docker de bajo nivel, permitiendo a los desarrolladores describir conjuntos de imágenes en pequeños archivos YAML en capas. La herramienta fusiona configuraciones base con fragmentos por eje, expande matrices en celdas de construcción individuales y resuelve automáticamente las imágenes base antes de ejecutar el contenedor IC. Las capacidades clave incluyen: - **Configuración declarativa**: Utiliza un `image.yaml` para ajustes compartidos y fragmentos `by-<axis>/<value>.yaml` para variaciones (p. ej., arquitectura, variante). Emplea un modelo de fusión determinista donde los mapas se fusionan profundamente y las listas se anexan, con directivas `$set` explícitas requeridas para conflictos escalares para evitar sobrescrituras silenciosas. - **Ejecución automatizada**: tailor maneja la compleja invocación `docker run` requerida por IC, incluyendo la configuración de la plataforma correcta, la reescritura de rutas de host en el espacio de nombres `/host`, la gestión de montajes privilegiados y la verificación de salidas. Soporta reproducibilidad mediante `tailor.lock` y construcciones `--locked`. - **Imágenes base flexibles**: Soporta archivos locales, referencias OCI y abreviaturas de MCR de Azure Linux. También permite el encadenamiento de construcciones donde una imagen puede usar otra como base a través de `inputs:`. - **Herramientas de flujo de trabajo**: Proporciona `tailor init` para el andamiaje, `--dry-run` para previsualizar comandos y `export` para renderizar configuraciones. Incluye características de seguridad como limpieza sin sudo y protecciones de directorio de herramientas.