0Pricing
DevOps Bootcamp · Aula

defaults versus vars: a ordem de substituição

Projete interfaces limpas para variáveis de roles.

defaults versus vars: a ordem de substituição é uma aula grátis de DevOps Bootcamp no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de DevOps Bootcamp, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de DevOps Bootcamp inclui 4 aulas no total.

Duas pastas de variáveis

Uma role pode definir variáveis em dois lugares: defaults/main.yml e vars/main.yml. Elas parecem semelhantes, mas se comportam de maneiras muito diferentes.

defaults são flexíveis

Os valores em defaults/main.yml têm a menor precedência. São sugestões flexíveis que quase qualquer outra fonte pode substituir.

# defaults/main.yml
http_port: 80
workers: 4

vars são rígidas

Os valores em vars/main.yml têm alta precedência. São decisões firmes que a role impõe e que são difíceis de substituir.

# vars/main.yml
config_path: /etc/myapp

defaults são sua API pública

Coloque em defaults tudo que um usuário possa ajustar. Isso sinaliza: altere-me livremente. É assim que você cria uma role amigável e reutilizável.

vars são constantes internas

Reserve vars para valores necessários ao funcionamento da role e que os usuários não devam alterar, como um caminho interno ou um nome de pacote fixo.

Substitua um default com facilidade

Um usuário pode substituir um default em group_vars, host_vars, na execução ou na linha de comando. A substituição mais simples entra em vigor imediatamente.

roles:
  - role: web
    vars:
      http_port: 8080

É difícil substituir um valor de vars

As vars da role têm precedência sobre group_vars, host_vars e as variáveis da execução. Somente extra-vars na linha de comando têm precedência maior, portanto use vars com moderação.

Extra-vars sempre vencem

As variáveis passadas com -e na linha de comando superam todas as outras fontes, inclusive as vars da role. Elas são a substituição definitiva.

ansible-playbook site.yml -e http_port=9090

A ordem mental

Lembre-se da hierarquia: defaults na base, depois as variáveis do inventário e da execução, em seguida as vars da role perto do topo e, acima de todas, as extra-vars.

Dica de design

Prefira defaults para quase tudo. Use vars somente quando um valor realmente precisar permanecer bloqueado. Roles flexíveis mantêm as equipes satisfeitas.

Documente seus defaults

Comente cada valor em defaults/main.yml. Como os usuários ajustarão esses valores, observações claras transformam sua role em uma automação autoexplicativa.

Verificação rápida

Pense em qual arquivo um usuário pode substituir com mais facilidade.

Recapitulação

Use defaults para valores ajustáveis que os usuários possam substituir e vars para constantes internas bloqueadas. As extra-vars na CLI vencem tudo. 🎚️

Perguntas Frequentes

A aula “defaults versus vars: a ordem de substituição” é grátis?

Sim — o texto completo de “defaults versus vars: a ordem de substituição” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de DevOps Bootcamp, atualize para CoddyKit PRO. O curso de DevOps Bootcamp inclui 4 aulas no total.

O que vou aprender em “defaults versus vars: a ordem de substituição”?

Projete interfaces limpas para variáveis de roles. Você pratica DevOps Bootcamp com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar DevOps Bootcamp?

Nenhuma experiência prévia é necessária. DevOps Bootcamp no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.

Quanto tempo leva a aula “defaults versus vars: a ordem de substituição”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de DevOps Bootcamp?

Sim. Cada aula de DevOps Bootcamp inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Dependências de roles em meta/main.yml
  2. defaults versus vars: a ordem de substituição
  3. include_role e import_role em tempo de execução
  4. allow_duplicates e idempotência de roles
← Voltar para DevOps Bootcamp