defaults frente a vars: orden de sobrescritura
Diseñe interfaces claras para las variables de los roles
defaults frente a vars: orden de sobrescritura es una lección gratuita de DevOps Bootcamp en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de DevOps Bootcamp, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de DevOps Bootcamp incluye 4 lecciones en total.
Dos carpetas de variables
Un rol puede definir variables en dos lugares: defaults/main.yml y vars/main.yml. Parecen similares, pero se comportan de manera muy distinta.
defaults tiene baja precedencia
Los valores de defaults/main.yml tienen la precedencia más baja. Son sugerencias flexibles que casi cualquier otra fuente puede sobrescribir.
# defaults/main.yml
http_port: 80
workers: 4vars tiene alta precedencia
Los valores de vars/main.yml tienen una precedencia alta. Son decisiones firmes que el rol impone y que resulta difícil sobrescribir.
# vars/main.yml
config_path: /etc/myappdefaults es su API pública
Coloque en defaults todo lo que un usuario pueda querer ajustar. Es una señal de que puede cambiarse libremente. Así se diseña un rol reutilizable y fácil de usar.
vars son constantes internas
Reserve vars para los valores que el rol necesita para funcionar y que los usuarios no deberían modificar, como una ruta interna o el nombre fijo de un paquete.
Sobrescriba un default fácilmente
Un usuario puede sobrescribir un default desde group_vars, host_vars, el play o la línea de comandos. La sobrescritura más sencilla se aplica de inmediato.
roles:
- role: web
vars:
http_port: 8080Es difícil sobrescribir un valor de vars
Los vars del rol tienen prioridad sobre group_vars, host_vars y las variables del play. Solo los extra-vars de la línea de comandos los superan, así que use vars con moderación.
Los extra-vars siempre ganan
Las variables que se pasan con -e en la línea de comandos superan a cualquier otra fuente, incluidos los vars del rol. Son la sobrescritura definitiva.
ansible-playbook site.yml -e http_port=9090El orden mental
Recuerde la escala: defaults en la parte inferior; después, las variables del inventario y del play; luego, los vars del rol cerca de la parte superior; y, por encima de todo, los extra-vars.
Consejo de diseño
Prefiera defaults para casi todo. Use vars solo cuando un valor deba permanecer realmente bloqueado. Los roles flexibles mantienen satisfechos a los equipos.
Documente sus valores predeterminados
Comente cada valor de defaults/main.yml. Como los usuarios los ajustarán, unas notas claras convierten su rol en una automatización autoexplicativa.
Comprobación rápida
Piense en qué archivo puede sobrescribir un usuario con mayor facilidad.
Resumen
Use defaults para los valores ajustables que los usuarios sobrescriben y vars para las constantes internas bloqueadas. Los extra-vars de la CLI superan a todo lo demás. 🎚️
Preguntas frecuentes
¿La lección «defaults frente a vars: orden de sobrescritura» es gratis?
Sí — el texto completo de «defaults frente a vars: orden de sobrescritura» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de DevOps Bootcamp, actualiza a CoddyKit PRO. El curso de DevOps Bootcamp incluye 4 lecciones en total.
¿Qué aprenderé en «defaults frente a vars: orden de sobrescritura»?
Diseñe interfaces claras para las variables de los roles Practicas DevOps Bootcamp con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar DevOps Bootcamp?
No se requiere experiencia previa. DevOps Bootcamp en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.
¿Cuánto tiempo toma la lección «defaults frente a vars: orden de sobrescritura»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de DevOps Bootcamp?
Sí. Cada lección de DevOps Bootcamp incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Dependencias de roles en meta/main.yml
- defaults frente a vars: orden de sobrescritura
- include_role e import_role en tiempo de ejecución
- allow_duplicates e idempotencia de roles