Módulo puppet para instalar software en windows mediante chocolatey | Algo de Linux

viernes, 10 de febrero de 2017

Módulo puppet para instalar software en windows mediante chocolatey

No voy a entrar en muchos detalles porque estoy tan ocupado que no tengo tiempo de documentar, pero al menos me servirá para recordar. 
He creado un pequeño módulo puppet al que he llamado windows_software para instalar paquetes en Windows mediante Chocolatey:
class windows_software {

   require windows_software::chocolatey

   package { 'puppet':
     ensure          => '3.4.3',
     provider        => 'chocolatey',
   }

   $installed_pkg = ['powershell']

   package { $installed_pkg:
     ensure          => installed,
     provider        => 'chocolatey',
   }

   $upgraded_pkg = ['chocolateygui','nano','mls-software-openssh','googlechrome','7zip','firefox','libreoffice','thunderbird','clamwin','jdk8','gimp','vlc','picasa','quicktime','greenshot','winscp','putty','geany','gedit','sudo','notepadplusplus']

   package { $upgraded_pkg:
     ensure          => latest,
     provider        => 'chocolatey',
   }

}
En cuanto a la clase windows_software::chocolatey simplemente se encarga de instalar chocolatey si no se encuentra instalado:
class windows_software::chocolatey {

  exec { 'install_chocolatey':
    command  => "iwr https://chocolatey.org/install.ps1 -UseBasicParsing | iex",
    provider => 'powershell',
    creates  => 'C:/ProgramData/chocolatey',
  }

}
Publicado por primera vez en http://enavas.blogspot.com.es

2 comentarios:

Experiencias Con TICs dijo...

Hola Esteban, Como siempre, gracias por tu esfuerzo añadido para compartir tu estupendo trabajo.

Me vas a perdonar si la pregunta es de novato, pq lo es:
Es en cuanto a la ubicación de la clase windows_software::chocolatey. Según el manual del curso, en la pag 22 aprox, la ubicación general de las clases es /etc/puppet/manifests/classes ¿Es también para este caso aplicable dicha ubicación para la clase windows_software::chocolatey?

Por la misma razón, ¿ entiendo que el módulo windows_software puede ir alojado en /etc/puppet/modules ?

Gracias


Esteban M. Navas Martín dijo...

Puedes alojar tus clases tanto en el directorio /etc/puppet/manifests/classes como en el directorio manifests de los módulos. He definido windows_software como un módulo. Por lo tanto, lo alojamos dentro del directorio de módulos /etc/puppet/modules.

Puedes alojar diferentes clases dentro del directorio manifests de un módulo. De hecho, la clase windows_sofware::chocolatey es una clase del módulo windows_software.