O Wolfi é uma distribuição Linux comunitária projetada para a era nativa da nuvem. Ele é leve e minimalista, tornando-o adequado para ambientes em contêineres. Aqui estão alguns detalhes importantes sobre o Wolfi:
- Foco em contêineres: O Wolfi é projetado para ambientes em contêineres e para suportar novos paradigmas de computação, como contêineres.
- Segurança: Ele combina os melhores aspectos das imagens base de contêineres existentes com medidas de segurança padrão. Ele se concentra na segurança da cadeia de suprimentos.
- Independência: O Wolfi não é baseado em nenhuma outra distribuição existente.
- Sem kernel próprio: Ele não possui um kernel próprio, mas depende do ambiente (como o tempo de execução do contêiner) para fornecer um.
- Pacotes granulares e independentes: Os pacotes são projetados para serem granulares e independentes, para suportar imagens mínimas.
- Suporte para glibc e musl: Ele foi projetado para suportar glibc e musl.
O Wolfi é referido como “undistro” porque não é uma distribuição Linux completa projetada para rodar em bare-metal, mas sim uma distribuição simplificada projetada para a era nativa da nuvem. Ele é mínimo a ponto de nem ter um gerenciador de pacotes. Ele tem apenas o suficiente para executar seu aplicativo em contêiner.
Design inovador para trabalhos em nuvem
Wolfi está adotando uma nova abordagem focada na rápida adoção de cargas de trabalho em contêineres e nativas da nuvem. Um dos importantes princípios de design de Wolfi é priorizar a velocidade de atualização em vez da estabilidade.
Chainguard considera que as atualizações rápidas são de responsabilidade da distribuição. Seus desenvolvedores acreditam que os usuários nunca devem esperar que a distribuição libere uma correção.
De acordo com Adrian Mouat, engenheiro interno de DevRel da Chainguard, o conceito de “não distribuição” no mundo Linux significa que faltam alguns dos recursos encontrados em outras distribuições Linux tradicionais completas. Em particular, o kernel do Linux está faltando
A maioria das cargas de trabalho modernas são executadas em contêineres, e as distribuições Linux existentes foram projetadas para uma era anterior. A mudança para contêineres e o equilíbrio de novos riscos de segurança criaram problemas como a exploração de vulnerabilidades conhecidas. A única maneira de resolver esses problemas é criar uma distribuição projetada para ambientes nativos de contêiner/nuvem, e é por isso que criamos Wolfi.
disse Muat.
Foco na segurança e não em novidades
Para atingir esse objetivo, Wolfi usa um cronograma de lançamento contínuo e não possui versões de lançamento, apenas pacotes que recebem atualizações rapidamente. Segundo a empresa, essa abordagem garante que os usuários do Wolfi possam usar pacotes sem vulnerabilidades o mais rápido possível.
Wolfi é um sistema operacional Linux público projetado para a era dos contêineres e da nuvem. Chainguard iniciou o Projeto Wolfi para criar Chainguard Images, uma coleção de imagens selecionadas “livres de distribuição” que atendem aos requisitos de software seguro.
Claro, existem outras ofertas chamadas de distribuição gratuita. Por exemplo, as imagens livres de distribuição do Google são construídas com Bazel e baseadas na distribuição Debian. Bazel é uma ferramenta de construção e teste de código aberto semelhante a Make, Maven e Gradle que usa uma linguagem de construção de alto nível e legível por humanos.
As imagens Chainguard são construídas usando apko, uma ferramenta de linha de comando que permite aos usuários criar imagens de contêiner usando uma linguagem declarativa escrita em YAML. O nome apko vem do formato do pacote APK e é inspirado na ferramenta ko build.
Não distribuição significa que o sistema contém apenas as dependências necessárias para executar um aplicativo. Por exemplo, um contêiner Redis contém apenas o que o Redis precisa para ser executado. Ele nem tem shell ou gerenciador de pacotes.
Isso contrasta com as imagens de contêiner tradicionais, que geralmente contêm vários utilitários de sistema que não são necessários para a execução do aplicativo.
acrescentou Muath.
De acordo com a empresa, quando a Chainguard apresentou o Wolfi pela primeira vez, pretendia ser um projeto conduzido pela comunidade que seria reconhecido como a distribuição mais confiável para serviços e cargas de trabalho em contêineres. Ela esperava que outros desenvolvedores de software usassem o Wolfi para resolver muitos problemas.
Algumas diferenças
Wolfi é diferente de Chainguard Images. Não são a mesma coisa, mas estão intimamente relacionados.
Wolfi é o nome de uma distribuição Linux de código aberto e sem código-fonte. As imagens Chainguard são construídas com base nos pacotes Wolfi e têm benefícios significativos, como atualizações rápidas, patches e especificação de software (SBOM) no momento da construção.
Disse Muath.
Chainguard Images é uma coleção de imagens de contêineres projetadas para segurança e minimalismo. Muitos deles não contêm distribuições. A empresa oferece uma combinação de imagens não distro e de desenvolvimento (ou construção) que são minimalistas e incluem prova de origem para maior segurança.
John Speed ????Meyers, chefe do Chainguard Labs, vê o Wolfi como um conjunto de blocos de construção, ou pacotes, que os desenvolvedores podem usar para criar software. Ele vê o Chainguard Images como contêineres criados a partir de pacotes Wolfi para executar tarefas relacionadas a contêineres.
Como os contêineres se tornaram tão populares na computação em nuvem, os contêineres construídos sobre o Wolfi também são bons para a computação em nuvem convencional, pelo menos quando os contêineres estão envolvidos.
Outra diferença relacionada é como os pacotes são gerenciados. Wolfi é uma distribuição Linux contínua sem numeração de versão tradicional. Este é essencialmente o mesmo modelo do Alpine Linux usado em sistemas embarcados e contêineres, sugeriu Muath.
Os pacotes Wolfi são retirados dos lançamentos oficiais do projeto da mesma forma que outras distribuições. Apenas temos mais automação e podemos lançar mais rápido. Espero que no futuro veremos outras distribuições também acelerando o ritmo de lançamento de novas versões de software.
Qual o objetivo da criação do Wolfi Linux?
Chainguard decidiu criar sua própria distribuição Linux para criar suas imagens de contêiner com CVEs conhecidos de baixo a zero. Os desenvolvedores devem controlar a rapidez com que podem aplicar atualizações em resposta a vulnerabilidades e emitir avisos de segurança, disse Mouat.
A única maneira de fazer isso é criar sua própria distribuição Linux, construída para ser rápida.
Wolfi, assim como a Alpine, enfatiza a correção rápida de CVEs. Os contêineres mais populares estão cheios de software, atualizados com pouca frequência e cheios de pacotes CVE, explicou ele.
Wolfi também oferece outros benefícios de segurança de software, como uma lista de materiais de software para pacotes e pacotes principais carregados a partir do código-fonte, acrescentou Meyers.
O que torna Wolfi único – além da Chainguard Images – é que ele melhora a confiabilidade do software em nuvem, disse Ariadne Conill, cofundadora e diretora de inovação da empresa de segurança de contêineres Edera.
Wolfi é único porque todos os bits necessários para baixar toda a distribuição foram publicados, junto com instruções sobre como usá-los para criar suas próprias compilações independentes do conjunto de pacotes Wolfi.
Outro benefício do Wolfi é que ele automatiza as atualizações de pacotes e correlaciona as atualizações automáticas de pacotes com informações de patches de vulnerabilidade. Outras distribuições, como o NixOS, criaram suas próprias implementações de alguns desses recursos.
Mas, até onde eu sei, Wolfi é a única distribuição com suporte comercial com um modelo de lançamento contínuo altamente automatizado.
Distribuição para uma nova era
A maioria das distribuições Linux modernas foram originalmente projetadas para uma época passada, diz Muat. Eles foram originalmente projetados para serem executados diretamente em computadores desktop nas mesas das pessoas e em racks de salas de servidores.
Tenho idade suficiente para me lembrar de instalar o Red Hat e o Debian a partir de CDs e até disquetes! Em seguida, eles migraram para máquinas virtuais praticamente sem perdas, mas no cenário atual dominado por contêineres, acho que eles estão começando a falhar.
Wolfi mostra que reimaginar a distribuição Linux com foco em pacotes pequenos e modulares que são atualizados com frequência traz benefícios para organizações que executam cargas de trabalho em contêineres, disse Muath.
Acho que veremos cada vez mais iniciativas das principais distribuições para tentar trazer alguns desses benefícios para suas ofertas.
Quer acompanhar o desenvolvimento? Visite o GitHub da distribuição.