Executar o Cuttlefish localmente em contêineres com o podcvd

podcvd é uma ferramenta de linha de comando que executa cada grupo de instâncias do Cuttlefish dentro do próprio contêiner Podman sem raiz. podcvd tem a mesma interface de linha de comando que cvd. Portanto, é possível executar podcvd create ou podcvd fleet da mesma forma que você executaria cvd create ou cvd fleet.

Vantagens do podcvd

As vantagens do podcvd são descritas nesta seção.

Isolamento entre grupos de instâncias

Com o cvd, todos os grupos de instâncias em um host compartilham as mesmas portas de rede, soquetes e estado de ambiente de execução. Com o podcvd, cada grupo de instâncias é executado em um contêiner dedicado, de modo que os grupos não podem entrar em conflito entre si ou com outros softwares no host.

Vários clientes em um host

Vários clientes, como desenvolvedores ou agentes de IA, podem executar os próprios dispositivos Cuttlefish no mesmo host ao mesmo tempo. Definir a variável de ambiente PODCVD_CLIENT_ID define o escopo dos comandos podcvd para os grupos de instâncias de um cliente. Assim, um comando como podcvd clear de um cliente não afeta os dispositivos de outro. O repositório do Cuttlefish também oferece uma habilidade podcvd que permite que os agentes de IA criem, controlem e limpem dispositivos.

Interface idêntica ao cvd

Apesar dessas diferenças, podcvd tem exatamente a mesma interface de linha de comando que cvd. É possível usar os mesmos comandos e flags que você já usa com cvd, então não há curva de aprendizado ao mudar para podcvd.

Primeiros passos

A documentação do podcvd é mantida no repositório android-cuttlefish no GitHub:

  • podcvd: requisitos do host, instalação, configuração do host e PODCVD_CLIENT_ID
  • Imagens do contêiner: a imagem do contêiner cuttlefish-orchestration que o podcvd usa.
  • Habilidade podcvd: a habilidade para agentes de IA