Puppet (software)
# Puppet (software)

Puppet es una herramienta de gestión de configuración de código abierto. Está escrito en Ruby y fue publicado bajo la Licencia Pública General de GNU (GPL) hasta la versión 2.7.0 y después bajo la licencia Apache 2.0. Luke Kanies fundó Puppet Labs y Puppet en 2005.

## Propósito

Puppet es una herramienta diseñada para administrar la configuración de sistemas similares a Unix y a Microsoft Windows de forma declarativa. El usuario describe los recursos del sistema y sus estados utilizando el lenguaje declarativo que proporciona Puppet. Esta información es almacenada en archivos denominados manifiestos Puppet. El software descubre la información del sistema a través de una utilidad llamada Facter, y compila los manifiestos en un catálogo específico del sistema que contiene los recursos y la dependencia de dichos recursos. Estos catálogos son ejecutados en los sistemas de destino.

## Lenguaje Puppet

El programa está compuesto por un lenguaje declarativo para describir la configuración del sistema. Puede ser aplicado directamente en el sistema, o compilado en un catálogo y distribuido al sistema de destino a través de paradigma cliente-servidor (usando una Interfaz de programación de aplicaciones de Transferencia de Estado Representacional REST API), y el agente utiliza proveedores específicos del sistema para aplicar el recurso especificado en los "manifiests". La capa de abstracción de recursos permite a los administradores describir la configuración en términos de alto nivel, tales como usuarios, servicios y paquetes sin necesidad de especificar los comandos específicos del sistema operativo (como rpm, yum, apt).

## Plataformas soportadas

Puppet esta diseñado para ser multiplataforma, el programa funciona en las distribuciones de Linux, incluyendo Red Hat Enterprise Linux (y sus clones como CentOS y Oracle Linux), Fedora, Debian, Mandriva, Ubuntu, y SUSE, así como entre otros múltiples sistemas Unix (Solaris, BSD, Mac OS X, AIX, HP-UX), y cuenta con soporte para Microsoft Windows.

Es una solución basada en modelos que requiere poco conocimiento en programación para su uso.

## Usuarios

La Fundación Wikimedia, Dell, Rackspace, Zynga, Twitter, la Bolsa de Nueva York, Disney, Citrix Systems, Oracle, la Universidad del Norte de Texas, el Laboratorio Nacional de Los Álamos, la Universidad Stanford, y Google, entre otros, utilizan Puppet.

