Ambiente do node¶
Nem tudo que existe no node é decisão deste projeto. Uma parte vem do hipervisor, outra do cloud image, outra do cloud-init, e o Ansible não declara nenhuma delas. Esta página registra o que são, de onde vieram, e por que ficam de fora, pra que "não está no git" não signifique "ninguém sabe que existe".
É a contraparte de Estado fora do git, que trata de segredo e de acesso. Aqui o assunto é configuração e software que existem no node sem terem sido escolhidos aqui.
Por que não declarar¶
Declarar um recurso da plataforma no Ansible cria dois problemas. O primeiro é que o repositório passa a afirmar posse sobre algo que não controla, e a documentação vira mentira no dia em que a plataforma mudar. O segundo é que o Ansible passa a disputar o arquivo com quem realmente o gerencia, e o resultado é reconciliação em loop, cada lado desfazendo o outro.
O caso mais direto é o qemu-guest-agent: quem decide se ele existe é quem administra o hipervisor. Um role que o declarasse estaria afirmando posse sobre uma escolha de plataforma, e a documentação viraria mentira no dia em que o host mudasse de ideia.
flowchart TD
Recurso{quem decide se isso existe?} -->|este projeto| Declara[role do Ansible]
Recurso -->|hipervisor, imagem ou cloud-init| Registra[registrado aqui, não declarado]
Declara --> Git[git é a fonte da verdade]
Registra --> Plataforma[a plataforma é a fonte da verdade]
O que vem do hipervisor¶
| Item | Observação |
|---|---|
qemu-guest-agent |
agente de integração com o hipervisor. Foi instalado à mão no primeiro dia da VM, mas quem decide se ele deve existir é quem administra o hipervisor, não este repositório |
| Endereçamento de rede, gateway e DNS | os valores são da rede que hospeda a VM, não escolha deste projeto. Ver a ressalva sobre cloud-init abaixo, porque quem escreveu esses arquivos não existe mais no node |
O que vem do cloud image¶
| Item | Observação |
|---|---|
cloud-guest-utils, cloud-initramfs-growroot |
inicialização da instância |
grub-cloud-amd64, linux-image-cloud-amd64 e /etc/default/grub.d/10_cloud.cfg |
kernel e boot da variante cloud |
systemd-resolved, systemd-timesyncd |
rede e tempo, na configuração padrão do Debian |
/etc/apt/mirrors/*.list e /etc/apt/sources.list.d/debian.sources |
espelhos escolhidos pela imagem |
Conta apalrd, uid 1000 |
usuário padrão da imagem base, ver abaixo |
| Cerca de 60 pacotes de biblioteca e essenciais | aparecem em apt-mark showmanual por serem imagem mínima, e é o motivo de pacotes-base não usar essa lista como fonte |
A conta apalrd é o único item desta seção com ação recomendada. Ela vem da imagem, tem sudo sem senha, e o authorized_keys dela está vazio, ou seja, é um acesso privilegiado que ninguém consegue usar e ninguém pediu. Não declarar não é o mesmo que aceitar.
cloud-init foi removido, e o que ele escreveu ficou órfão¶
O pacote cloud-init está no node em estado rc, ou seja, foi removido e só os arquivos de configuração dele sobraram. O binário não existe e o serviço aparece como not-found.
Isso muda a leitura de três arquivos que parecem ser dele:
/etc/netplan/50-cloud-init.yamlé estático, não é regenerado em boot nenhum. Quem lê esse arquivo hoje é o gerador do netplan, que entrega a configuração prosystemd-networkd./etc/hoststraz um cabeçalho avisando quemanage_etc_hostsestá ligado e que edições serão perdidas. É lápide, nada vai sobrescrever./etc/cloud/**inteiro é resquício, incluindo o template de/etc/hostsque o aviso menciona.
A consequência prática é que esses arquivos não têm dono nenhum hoje, e por isso são candidatos legítimos a virar Ansible, ao contrário do que a regra desta página sugeriria à primeira vista. Registrado em Pendências.
Performance Co-Pilot¶
Os quatro daemons do Performance Co-Pilot (pmcd, pmie, pmlogger e pmproxy) estão habilitados e ativos no node. Nenhum apt install pcp aparece no history.log, então vieram com a imagem.
Ficam exatamente como estão, por decisão registrada em 2026-08-21. O Ansible não declara, não desabilita e não remove.
Dois fatos justificam revisitar essa decisão mais pra frente, e por isso ficam anotados em vez de só na cabeça de alguém. O primeiro é que o pmlogger escreve arquivo de métrica continuamente em /var/log/pcp, o que participa do consumo de disco que o role sistema passou a limitar do lado do journal. O segundo está registrado no inventário privado apontado por Estado fora do git.
O ponto de decisão é este: hoje o Performance Co-Pilot é o único coletor de métrica do node, num cluster que ainda faz observabilidade por inspeção manual. Adotar de verdade ou remover são as duas saídas coerentes. Continuar de pé por acidente é a única que não é.
A regra pra manter esta página útil¶
Toda vez que alguém encontrar no node algo que este repositório não declara, a pergunta é uma só: quem decide se isso existe. Se a resposta for este projeto, vira role. Se for a plataforma, vira uma linha aqui.