Sobre o projeto
tailor serve como uma interface front-end declarativa de alto nível para o Azure Linux Image Customizer (IC). Ele aborda a complexidade de escrever manualmente comandos Docker de baixo nível, permitindo que os desenvolvedores descrevam conjuntos de imagens em pequenos arquivos YAML em camadas. A ferramenta mescla configurações de base com fragmentos por eixo, expande matrizes em células de construção individuais e resolve automaticamente imagens de base antes de executar o contêiner IC.
Principais recursos incluem:
- **Configuração Declarativa**: Usa um `image.yaml` para configurações compartilhadas e fragmentos `by-<axis>/<value>.yaml` para variações (por exemplo, arquitetura, variante). Emprega um modelo de mesclagem determinístico onde mapas são mesclados profundamente e listas são anexadas, com diretivas `$set` explícitas necessárias para conflitos de escalares para evitar sobrescritos silenciosos.
- **Execução Automatizada**: tailor lida com a complexa invocação `docker run` exigida pelo IC, incluindo a definição da plataforma correta, reescrita de caminhos do host para o namespace `/host`, gerenciamento de montagens privilegiadas e verificação de saídas. Suporta reprodutibilidade via `tailor.lock` e construções `--locked`.
- **Imagens de Base Flexíveis**: Suporta arquivos locais, referências OCI e atalhos MCR do Azure Linux. Também permite o encadeamento de construções, onde uma imagem pode usar outra como base via `inputs:`.
- **Ferramentas de Fluxo de Trabalho**: Fornece `tailor init` para scaffolding, `--dry-run` para visualização de comandos e `export` para renderização de configs. Inclui recursos de segurança como limpeza sem sudo e proteções de diretório de ferramentas.
A ferramenta é distribuída como um binário estático para Linux x86_64 e aarch64, exigindo apenas acesso ao daemon Docker em tempo de execução.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.