0Pricing
DevOps Bootcamp · Lección

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: 4

vars 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/myapp

defaults 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: 8080

Es 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=9090

El 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

  1. Dependencias de roles en meta/main.yml
  2. defaults frente a vars: orden de sobrescritura
  3. include_role e import_role en tiempo de ejecución
  4. allow_duplicates e idempotencia de roles
← Volver a DevOps Bootcamp