jborean93.win_chocolatey_server

Rol de Ansible win_chocolatey_server

Estado de construcción Rol de Ansible win_chocolatey_server en Ansible Galaxy

Instala Chocolatey Server en un host de Windows.

Nota: Este rol ha sido probado en chocolatey.server 0.2.5, se espera que versiones más nuevas funcionen, pero no hay garantías.

Con las opciones predeterminadas, este rol hará lo siguiente:

  • Instalar el paquete chocolatey.server en C:\tools\chocolatey.server
  • Instalar varias características de IIS requeridas para el servidor Chocolatey
  • Crear un grupo de aplicaciones web de IIS llamado chocolatey_server_app_pool
  • Crear un sitio web de IIS llamado chocolatey_server_site con un enlace http en el puerto 80
  • Regla de firewall para permitir tráfico en el puerto 80 para los perfiles dominio y privado

También se pueden configurar las siguientes opciones como parte del rol, pero requieren que se establezcan algunas variables opcionales:

  • Establecer un token API para el servidor Chocolatey.
  • Especificar usuarios y su hash de contraseña SHA1 para la autenticación básica.
  • Crear un enlace HTTPS para el sitio con un certificado existente o autofirmado.
  • Especificar la ruta o URL del paquete chocolatey para configurar el script install.ps1 del servidor.
  • Especificar el tamaño máximo de paquete permitido en el servidor.

Quiero agradecer a kkolk por la excelente entrada de blog que me ayudó a escribir este rol. Puedes leer la entrada aquí.

Para agregar nuevos paquetes a la instalación del servidor Chocolatey, copia el archivo .nupkg en {{ opt_chocolatey_server_path }}\chocolatey.server\App_Data\Packages y el servidor detectará el archivo.

Nota: Primero necesitas activar el observador de archivos navegando a http://server/chocolatey/Packages al menos una vez, cuando el grupo de aplicaciones de IIS esté activo. Cualquier reinicio de recycles del pool requiere que hagas esto nuevamente antes de que se detecten paquetes en este directorio.

Requisitos

  • Windows Server 2008 R2 o superior.
  • Cliente Chocolatey debe estar instalado en el host remoto si no puede acceder a Internet.

Variables

Variables Obligatorias

Ninguna, este rol se ejecutará con las opciones predeterminadas establecidas.

Variables Opcionales

  • opt_chocolatey_server_api_token: El token de API que se usa al subir nuevos paquetes al servidor. Si no se especifica, se usará el token predeterminado del paquete chocolatey.server.
  • opt_chocolatey_server_credentials: Diccionario de nombres de usuario y hashes de contraseñas para especificar como credenciales de autenticación básica. La clave es el nombre de usuario y el valor es un hash SHA1 en mayúsculas de la contraseña. Si no se establece, se desactiva la autenticación básica y se permite el acceso anónimo.
  • opt_chocolatey_server_firewall_profiles: Los perfiles de firewall que se usarán para permitir acceso al Servidor Chocolatey (predeterminado: dominio,privado). Esto puede ser una combinación de dominio, privado y/o público.
  • opt_chocolatey_server_http_port: El puerto a utilizar para el acceso http (predeterminado: 80).
  • opt_chocolatey_server_https_port: El puerto a utilizar para el acceso https, por defecto no se crea ningún enlace https a menos que se especifique.
  • opt_chocolatey_server_https_certificate: El huella de certificado que se usará para el enlace HTTPS, si no se especifica, se utilizará el valor predeterminado.
  • opt_chocolatey_server_max_package_size: El tamaño máximo permitido, en bytes, de un paquete que puede almacenarse en el servidor (predeterminado: 2147483648).
  • opt_chocolatey_server_path: El directorio raíz donde se instala el paquete chocolatey.server (predeterminado: C:\tools).
  • opt_chocolatey_server_source: La ubicación de origen del paquete chocolatey.server (predeterminado: https://chocolatey.org/api/v2/). Puede ser el nombre/url de un repositorio Nuget o una ruta local que contenga el archivo nupkg.

Para configurar el servidor Chocolatey y crear un script install.ps1 y obtener el archivo del instalador del repositorio en lugar de Internet, descarga el archivo chocolatey nupkg y establece una de las siguientes dos variables que apunten a este archivo:

  • opt_chocolatey_server_chocolatey_path: La ruta accesible desde el host remoto al archivo nupkg de Chocolatey.
  • opt_chocolatey_server_chocolatey_url: La URL accesible desde el host remoto al archivo nupkg de Chocolatey.

Si ninguno de estos valores se establece, el script install.ps1 de este servidor se configurará por defecto para usar el script de instalación público en el sitio de Chocolatey.

Variables de Salida

Estas variables se establecen como un hecho del host con set_fact durante la ejecución. Pueden ser utilizadas por cualquier rol o tarea posterior para ese host.

  • out_chocolatey_server_https_certificate: Si se crea un enlace https con un certificado autofirmado, este es el hash del certificado creado.

Dependencias del Rol

Ninguna

Ejemplo de Playbook

- name: instalar Chocolatey Server con las opciones predeterminadas
  hosts: windows
  gather_facts: no
  roles:
  - jborean93.win_chocolatey_server

- name: configurar Chocolatey con escucha HTTPS en ruta personalizada y habilitar autenticación básica
  hosts: windows
  gather_facts: no
  vars:
    opt_chocolatey_server_api_token: eb82582c-2214-4ce9-9689-8c823ae33e45
    opt_chocolatey_server_credentials:
      build-team: '{{ build_team_pass | hash("sha1") | upper }}'
      test-team: '{{ test_team_pass | hash("sha1") | upper }}'
      build-team: '{{ build_team_pass | hash("sha1") | upper }}'
    opt_chocolatey_server_http_port: 8080
    opt_chocolatey_server_https_port: 8443
    opt_chocolatey_server_path: D:\tools
    opt_chocolatey_server_chocolatey_url: https://internalrepo.domain/chocolatey.0.10.11.nupkg

  roles:
  - jborean93.win_chocolatey_server

  post_tasks:
  - name: mostrar el hash del certificado usado para los enlaces HTTPS
    debug:
      var: out_chocolatey_server_https_certificate

Pendientes

Ninguno - se aceptan solicitudes de funciones.

Acerca del proyecto

Install Chocolatey Server on Windows role

Instalar
ansible-galaxy install jborean93.win_chocolatey_server
Licencia
mit
Descargas
11.8k
Propietario