TuBrief
Subscribed Channels
Videos
Community

Resolução de Erros de Isolamento de Contêiner ao Implantar o Harness do Agente YC qm em Infraestrutura Interna

TuBrief Editorial
September 7, 2026
0
Computing/Software

Written with AI assistance from the source video. The video is the authority.

Português한국어हिन्दीFrançaisРусскийBahasa Indonesia日本語DeutschEnglishEspañolالعربية中文

Related Video

A YC acabou de disponibilizar o código-fonte do seu Multiplayer Harness5:45

A YC acabou de disponibilizar o código-fonte do seu Multiplayer Harness

Better Stack

More from the community

사내 시스템에 llm api 붙일 때 마주하는 현실적인 한계와 대응법

September 13, 2026

레거시 백엔드에 GPT-6 Astra 붙일 때 예산 승인과 보안 통과를 먼저 끝내는 법이 있습니다

September 13, 2026

에이전트끼리 대화하다 6천만 원 청구서가 나오는 이유

September 13, 2026

사내 RAG 벡터 검색에 Okta 권한 필터를 직접 거는 방법

September 13, 2026

브라우저 에이전트에게 내 구글 계정을 통째로 넘기면 안 되는 이유

September 12, 2026

Apple Won the AI Race

September 12, 2026

Comments (0)

Log in to leave a comment

No posts yet

© 2026 . All rights reserved.

TuBrief
Subscribed Channels
Videos
Community
Log in

Resolução de Erros de Isolamento de Contêiner ao Implantar o Harness do Agente YC qm em Infraestrutura Interna

Resolvendo falhas de conexão em ponte de rede (network bridge) entre a infraestrutura on-premise local e os contêineres de isolamento do qm

Em um ambiente on-premise interno, logo após clonar o repositório qm da Y Combinator, tentar se conectar a um PostgreSQL ou Redis de desenvolvimento local gera imediatamente um erro ECONNREFUSED. Isso ocorre porque, devido à estrutura de namespace de rede isolada dos contêineres Docker, o localhost dentro do contêiner aponta apenas para sua própria interface de loopback virtual, e não para o host. Conforme demonstrado pelos casos de operação de sistemas de código da Stripe e da plataforma interna do Shopify, estabelecer de forma estável um limite de rede entre o cérebro do agente e o sandbox é essencial.

Para resolver esse problema, é necessário aplicar a tecnologia de mapeamento host-gateway do Docker Engine para injetar entradas de DNS virtuais exclusivas do host. Primeiro, crie um arquivo docker-compose.override.yml para definir o caminho de comunicação com o host.

  • Crie o arquivo docker-compose.override.yml na raiz do projeto e adicione a configuração host.docker.internal:host-gateway no bloco extra_hosts.
  • Defina a rede de ponte qm-internal-bridge no item networks e atribua a faixa de sub-rede como 172.28.0.0/16.
  • Adicione permissões de acesso para essa faixa de sub-rede no arquivo de configuração do PostgreSQL e reinicie o serviço.

Aplicar essa configuração pode reduzir o tempo necessário para testes de integração com o banco de dados interno de 4 horas para 15 minutos.

Configurações personalizadas de permissão de sistema de arquivos e montagem de volumes do qm alinhadas a critérios rigorosos de auditoria de segurança interna

Ao iniciar o modo de segurança rigoroso (strict security posture) do harness qm pela primeira vez, erros como EACCES ou Permission Denied ocorrem com frequência. Isso acontece porque a função de validação do núcleo do qm trata não apenas as modificações no diretório de trabalho alvo, mas também a área de arquivos temporários internos gerada em tempo de execução como alterações potenciais, interrompendo o comando.

Para atender aos requisitos da equipe de auditoria de segurança e reduzir o tempo de aprovação em 2 semanas, o sistema de arquivos deve ser rigidamente estratificado.

  • Sele o sistema de arquivos raiz do contêiner em um estado imutável (read_only: true) nas configurações do Docker.
  • Utilize a opção tmpfs para alocar sistemas de arquivos temporários baseados em memória para os caminhos /tmp e /home/sandbox/.cache, respectivamente.
  • Conecte apenas a área de trabalho onde o código-fonte real existe por meio de montagem bind (bind mount), injetando em conjunto o arquivo de regras de segurança globais somente leitura da empresa.

Com essa configuração de montagem de volumes, é possível construir uma estrutura onde um invasor não pode salvar permanentemente scripts maliciosos no sistema operacional do host de dentro do contêiner.

Conflitos de estado e separação de armazenamento persistente causados por trabalho simultâneo em ambiente multi-agente

Quando vários desenvolvedores de backend acessam simultaneamente a mesma instância do qm para realizar tarefas de agente, o uso de um único diretório compartilhado resulta em erros SQLITE_BUSY e conflitos de bloqueio de índice do Git (Git index lock). Como a arquitetura do qm define escopos por espaço de trabalho pessoal, canal e projeto como unidades de propriedade de recursos e permissões, a configuração de compartilhamento de diretório único deve ser reorganizada para uma estrutura de montagem dinâmica baseada em escopo.

Para bloquear completamente erros de sobrescrita de dados simultâneos, aplique o isolamento de volume usando valores de hash de escopo.

  • Introduza a variável ${SCOPE_ID} no arquivo de configuração de implantação para gerar dinamicamente nomes de contêineres e rótulos de volume.
  • Faça a montagem bind 1 para 1 do diretório de trabalho do host com o caminho /var/qm/workspaces/${SCOPE_ID}/src.
  • Registre como uma tarefa cron (cron job) um script de limpeza automática que remove contêineres abandonados por mais de 8 horas e limpa arquivos de bloqueio do Git órfãos.

Aplicando esta estrutura, é possível bloquear nativamente erros de sobrescrita de dados durante a execução simultânea de agentes e garantir espaços de trabalho independentes.

Integração do sistema de autenticação existente da empresa com o ambiente multitarefa do qm e controle prático de permissões

Quando um agente puxa código ou envia branches, se o token de autenticação do servidor Git interno for armazenado em texto simples em um arquivo de disco dentro do sandbox, existe o risco de roubo de credenciais. Para um gerenciamento seguro de credenciais, deve ser estabelecido um sistema de injeção baseado em memória.

A pipeline para trocar credenciais exclusivamente na memória é configurada da seguinte forma:

  • Gere o token no sistema de arquivos temporário baseado em memória do host e restrinja as permissões para 0700.
  • Escreva um script manipulador no caminho da memória que invoque a interface padrão GIT_ASKPASS do Git.
  • Ao iniciar o contêiner isolado, faça a montagem bind apenas desse caminho de memória como somente leitura e desmonte imediatamente a montagem ao término da tarefa.

Após o término da tarefa, a execução do comando umount devolve imediatamente a área de memória, eliminando completamente a possibilidade de permanência das credenciais e garantindo a conformidade com as políticas de autenticação internas.