POLITICA DE COOKIES

Q2BSTUDIO.COM utiliza cookies técnicas, analíticas, de sesión y de publicidad con la finalidad de prestar un mejor servicio. No obstante, necesitamos su consentimiento explícito para poder utilizarlas. Así mismo puede cambiar la configuración de las cookies u obtener más información aquí .

Salida limpia de Ansible

## Salida limpia de Ansible: recomendaciones para un resultado claro

Publicado el 17/08/2025

Hay momentos en que se desea que Ansible deje de imprimir cualquier texto propio y muestre solo la salida del comando remoto.

Es como ssh user@server command pero con todas las opciones de Ansible, argumentos SSH personalizados, diferentes transportes y demás funcionalidades avanzadas.

Me refiero al binario ansible y no a ansible-playbook aunque con algunos ajustes es posible aplicar este truco también a ansible-playbook.

Fundamento del truco 1) Usar el modulo raw para ejecutar comandos remotos y evitar el empaquetado de resultados por AnsiballZ 2) Forzar la salida en formato json para extraer stdout sin usar expresiones grep poco fiables 3) Procesar la salida con jq 4) Pedir a jq que no imprima comillas en los valores de cadena

ANSIBLE_LOAD_CALLBACK_PLUGINS=1 ANSIBLE_STDOUT_CALLBACK=json ansible -i localhost, -m raw -a cat /etc/passwd all -c local | jq -r .plays[].tasks[].hosts[]?.stdout

Diseccion 1) Las variables de entorno indican a Ansible que cargue plugins de callback y que utilice el callback json para la salida 2) -i localhost, y -c local no son fundamentales en el ejemplo, se puede usar el inventario que corresponda 3) -m raw -a comando es la invocacion habitual de ansible para ejecutar comandos remotos sin module wrapping 4) -r en jq elimina las comillas de las cadenas 5) La expresion .plays[].tasks[].hosts[]?.stdout recorre todas las tareas y hosts en todas las plays y extrae stdout

Por que puede ser util Lo que yo necesitaba era recuperar un archivo secreto desde un servidor remoto y encriptarlo localmente usando sops. Se puede usar el modulo community.sops.sops_encrypt pero requiere varios pasos y trabajar con secretos complica la depuracion. Una llamada simple de ansible seguida de una tuberia hacia sops -e consume menos atencion y exige que la salida de Ansible llegue lo mas limpia posible, sin cabeceras ni mensajes adicionales, para no corromper el contenido.

Consejos practicos Sustituir localhost por su inventario real cuando aplique. Si el comando remoto genera saltos de linea o caracteres especiales tener cuidado con el parsing. Este metodo es especialmente util cuando se quiere integrar con utilidades como sops o con tuberias que esperan solo el contenido del stdout.

En Q2BSTUDIO somos una empresa de desarrollo de software especializada en aplicaciones a medida y software a medida. Ofrecemos soluciones de inteligencia artificial e ia para empresas, desarrollo de agentes IA, servicios de ciberseguridad, servicios cloud aws y azure y servicios inteligencia de negocio. Tambien trabajamos con integracion de Power BI y consultoria para potenciar proyectos de datos y analitica. Si buscas expertos en aplicaciones a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, agentes IA, ia para empresas, servicios inteligencia de negocio o Power BI, en Q2BSTUDIO podemos ayudar a diseñar e implementar soluciones seguras, escalables y adaptadas a tu negocio.

Fin del artículo, inicio de la diversión
Construyendo software juntos

Dando vida a tus ideas desde 2008

Diseñamos aplicaciones móviles y de escritorio innovadoras que cumplen con tus requisitos específicos y mejoran la eficiencia operativa.
Más info
Cuéntanos tu visión
Sea cual sea el alcance, podemos convertir tu idea en realidad. Envíanosla y charlemos sobre tu proyecto o una colaboración futura.
Contáctanos
artículos destacados
Live Chat
Enviado correctamente.

Gracias por confiar en Q2BStudio