Consejos y Trucos del Chef

Trucos de Chef: Mixlib::ShellOut, ejecutar salidas, cookbooks locales, recipe_mode y atributos; habilita systemd en Dokken para entornos aislados.

9 sept 2025 • 3 min de lectura • Equipo Q2BSTUDIO

Inteligencia-Artificial-

Últimamente he estado muy metido en el ecosistema Chef y cuanto más trabajo con él más pequeños trucos voy descubriendo. Algunos los aprendí de compañeros senior, otros los encontré en la red o los resolví con ensayo y error, por eso quiero compartirlos por si a alguien le resultan útiles.

¿Necesitas ejecutar un comando y usar su salida para decidir si se ejecuta un recurso? Además de los recursos execute y ruby_block puedes usar la librería mixlib shellout que viene con el Chef SDK. Básicamente creas una instancia de Mixlib::ShellOut con el comando que quieras, llamas a run_command y luego inspeccionas stdout o stderr para tomar decisiones dentro de una receta.

¿Quieres probar un cookbook local sin subirlo al servidor Chef? Simplemente empaqueta el cookbook y cópialo al nodo con Chef instalado. Modifica client.rb para que apunte a un directorio que contenga el cookbook, por ejemplo el cache local en /var/cinc/cache/cookbooks, y ejecuta cinc client en modo solo con cinc-client -z -r yourcookbook::recipe de esta forma aplicas la cookbook directamente en la instancia sin contactar al servidor.

Si quieres probar recursos antes de integrarlos en un cookbook puedes usar cinc shell y entrar en recipe_mode. Ahí defines recursos, los inspeccionas y si te convencen ejecutas run_chef para aplicarlos. Es ideal para diseñar y depurar recetas en caliente sin pasar por todo el ciclo de un despliegue completo.

Para depurar atributos y ver cuál es el valor final que Chef está usando, consulta los atributos del nodo desde cinc shell. En un converge con Test Kitchen entra en /tmp/kitchen y ejecuta cinc shell con el cliente y el dna.json; para nodos ya bootstraped puedes lanzar cinc shell en modo local y explorar node[attribute] para revisar el árbol de atributos y detectar overrides u ohai que hayan reemplazado valores.

Si usas Test Kitchen con Dokken y necesitas que systemd funcione dentro del contenedor, monta los cgroups y ejecuta el contenedor en modo privilegiado. En el driver de Dokken define la imagen adecuada, marca privileged true, ajusta pid_one_command a /usr/lib/systemd/systemd y monta el volumen /sys/fs/cgroup:/sys/fs/cgroup:ro. Con eso systemd podrá gestionar servicios como en una VM tradicional.

Estos son algunos de mis consejos favoritos para trabajar con Chef: capturar salidas de comandos con Mixlib ShellOut, aplicar cookbooks locales en modo solo, probar recursos en recipe_mode, inspeccionar atributos del nodo y habilitar systemd en Dokken. Si tienes trucos propios estaré encantado de aprenderlos.

En Q2BSTUDIO somos una empresa de desarrollo de software y aplicaciones a medida especializada en soluciones de software a medida, inteligencia artificial y ciberseguridad. Ofrecemos servicios cloud aws y azure y proyectos de servicios inteligencia de negocio y power bi pensados para maximizar el valor de los datos. Si te interesa mejorar procesos con automatización o integrar agentes IA en tus flujos de trabajo consulta nuestras soluciones de automatización de procesos y nuestros servicios de inteligencia artificial para empresas. Trabajamos en proyectos de aplicaciones a medida, ia para empresas, agentes IA, seguridad y servicios cloud para ofrecer soluciones completas y seguras.

Si quieres más consejos sobre Chef o quieres que traduca estos trucos en procedimientos adaptados a tu infraestructura, contacta con nosotros en Q2BSTUDIO y te ayudamos a automatizar y securizar tus despliegues.

¿UNA PAUSA?

Juega un momento antes de irte

NUESTROS SERVICIOS

Cómo podemos ayudarte

Inteligencia artificial

Agentes de IA, chatbots y asistentes inteligentes que automatizan tareas y atienden a tus clientes 24/7 para mejorar la eficiencia de tu negocio.

Más info

Desarrollo de software

Aplicaciones web, móviles y de escritorio, intranets, e-commerce, SaaS y plataformas de gestión diseñadas para las necesidades concretas de tu empresa.

Más info

Servicios cloud

Migración, infraestructura, hosting gestionado, alta disponibilidad y seguridad en Microsoft Azure y Amazon Web Services para que tu negocio escale sin límites.

Más info

Ciberseguridad y pentesting

Auditorías de seguridad, test de intrusión (pentesting) y protección de aplicaciones, datos e infraestructura on-premise y cloud, con hacking ético y cumplimiento normativo.

Más info

Business Intelligence

Cuadros de mando y análisis de datos con Power BI: integramos tus fuentes, diseñamos dashboards y KPIs y convertimos tus datos en decisiones.

Más info

Automatización de procesos

Automatizamos tareas repetitivas y conectamos tus aplicaciones con n8n, Power Automate, Make y RPA, eliminando trabajo manual y aumentando la productividad.

Más info

Formación para empresas

Formamos a tus equipos en tecnología con criterio: desarrollo web, bases de datos, Git, buenas prácticas y seguridad, automatización con n8n, inteligencia artificial para empresas y creación de soluciones de IA con Azure AI Foundry.

Más info

Auditoría de código

Auditamos el código que creas tú, tu equipo o una IA: te decimos qué está bien y qué mejorar, lo securizamos y lo dejamos listo para producción, web o app.

Más info

Generación de imágenes con IA

Creamos por ti las imágenes que necesita tu negocio con inteligencia artificial: producto, redes, publicidad, ilustración y avatares. Tú nos dices qué quieres y te lo entregamos listo para usar.

Más info

Generación de vídeos con IA

Creamos por ti vídeos con inteligencia artificial: promocionales, para redes, presentadores virtuales, doblaje y animaciones. Nos cuentas la idea y te lo entregamos montado y listo para publicar.

Más info

Avatares conversacionales con IA

Creamos avatares conversacionales con IA —humanos digitales con cara y voz— que atienden a tus clientes y equipos con el conocimiento de tu empresa, en tu web, monitores interactivos, WhatsApp o Teams.

Más info

Marketing Online e IA

Google Ads, Meta Ads, LinkedIn Ads y posicionamiento en motores de IA (GEO/AEO): captamos clientes y hacemos que tu marca aparezca donde te buscan, también en ChatGPT, Gemini y Perplexity.

Más info

¿Tienes un proyecto en mente?

Cuéntanos tu visión y la convertimos en una solución de software. Sea cual sea el alcance, hacemos realidad tu idea.

Live Chat