jborean93.win_chocolatey_server

Rôle Ansible win_chocolatey_server

État de construction Rôle win_chocolatey_server sur Ansible Galaxy

Installe Chocolatey Server sur un hôte Windows.

Remarque : Ce rôle a été testé sur chocolatey.server 0.2.5, les versions plus récentes devraient fonctionner mais ceci n'est pas garanti.

Avec les paramètres par défaut, ce rôle va :

  • Installer le paquet chocolatey.server dans C:\tools\chocolatey.server
  • Installer diverses fonctionnalités IIS requises pour le serveur Chocolatey
  • Créer un pool d'applications web IIS appelé chocolatey_server_app_pool
  • Créer un site web IIS appelé chocolatey_server_site avec une liaison http sur le port 80
  • Règle de pare-feu pour autoriser le trafic sur le port 80 pour les profils domain et private

Les éléments suivants peuvent également être configurés dans le cadre du rôle mais nécessitent de définir certaines variables optionnelles :

  • Définir un token API pour le serveur Chocolatey
  • Spécifier des utilisateurs et leur mot de passe hashé en SHA1 pour l'authentification de base
  • Créer une liaison HTTPS pour le site avec un certificat existant ou auto-signé
  • Spécifier le chemin ou l'URL du paquet chocolatey pour configurer le script install.ps1 du serveur
  • Spécifier la taille maximale autorisée pour les paquets sur le serveur

Je tiens à remercier kkolk pour l'excellent article de blog qui m'a aidé à écrire ce rôle. Vous pouvez lire l'article ici.

Pour ajouter de nouveaux paquets à l'installation du serveur Chocolatey, copiez le fichier .nupkg dans {{ opt_chocolatey_server_path }}\chocolatey.server\App_Data\Packages et le serveur prendra le fichier.

Remarque : Vous devez d'abord activer le surveillance des fichiers en naviguant vers http://server/chocolatey/Packages au moins une fois lorsque le pool d'applications IIS est chaud. Tout redémarrage de ce pool nécessite que vous fassiez cela à nouveau avant que des paquets soient pris en compte dans ce répertoire.

Exigences

  • Windows Server 2008 R2+
  • Client Chocolatey à installer sur l'hôte distant si l'hôte distant ne peut pas accéder à Internet

Variables

Variables Obligatoires

Aucune, ce rôle s'exécutera avec les options par défaut.

Variables Optionnelles

  • opt_chocolatey_server_api_token : Le token/clée API utilisé lors du téléchargement de nouveaux paquets sur le serveur. Si non spécifié, cela utilisera le token par défaut spécifié par le paquet chocolatey.server.
  • opt_chocolatey_server_credentials : Dictionnaire de noms d'utilisateur et mots de passe hashés à spécifier comme identifiants d'authentification de base. La clé est le nom d'utilisateur tandis que la valeur est un hash SHA1 en majuscules du mot de passe. Si non défini, l'authentification de base est désactivée et l'accès anonyme est autorisé.
  • opt_chocolatey_server_firewall_profiles : Les profils de pare-feu à utiliser qui permettront l'accès au serveur Chocolatey (par défaut : domain,private). Cela peut être une combinaison de domain, private et/ou public.
  • opt_chocolatey_server_http_port : Le port à utiliser pour l'accès http (par défaut : 80).
  • opt_chocolatey_server_https_port : Le port à utiliser pour l'accès https, par défaut aucune liaison https n'est créée sauf si cela est spécifié.
  • opt_chocolatey_server_https_certificate : L'empreinte numérique du certificat à utiliser pour la liaison HTTPS, si non spécifié alors ceci sera omis.
  • opt_chocolatey_server_max_package_size : La taille maximale autorisée, en octets, d'un paquet pouvant être stocké sur le serveur (par défaut : 2147483648).
  • opt_chocolatey_server_path : Le répertoire racine dans lequel le paquet chocolatey.server est installé (par défaut : C:\tools).
  • opt_chocolatey_server_source : L'emplacement source du paquet chocolatey.server (par défaut : https://chocolatey.org/api/v2/). Cela peut être le nom/l'URL d'un dépôt Nuget ou un chemin local contenant le fichier nupkg.

Pour configurer le serveur Chocolatey afin de créer un script install.ps1 et de récupérer le fichier d'installation du dépôt au lieu d'Internet, téléchargez le fichier chocolatey nupkg et définissez l'une des deux variables suivantes qui pointent vers ce fichier ;

  • opt_chocolatey_server_chocolatey_path : Le chemin accessible depuis l'hôte distant vers le fichier nupkg de Chocolatey.
  • opt_chocolatey_server_chocolatey_url : L'URL accessible depuis l'hôte distant vers le fichier nupkg de Chocolatey.

Si aucune de ces valeurs n'est définie, le script install.ps1 de ce serveur utilisera par défaut le script d'installation public sur le site Chocolatey.

Variables de Sortie

Ces variables sont définies comme un fait d'hôte avec set_fact durant l'exécution. Elles peuvent être utilisées par tout rôle ou tâche en aval pour cet hôte.

  • out_chocolatey_server_https_certificate : Si une liaison https est créée avec un certificat auto-signé, ceci est le hash du certificat créé.

Dépendances du Rôle

Aucune

Exemple de Playbook

- name: installer Chocolatey Server avec les options par défaut
  hosts: windows
  gather_facts: no
  roles:
  - jborean93.win_chocolatey_server

- name: configurer Chocolatey avec un écouteur HTTPS sur un chemin personnalisé et activer l'authentification de base
  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: afficher le hash du certificat utilisé pour les liaisons HTTPS
    debug:
      var: out_chocolatey_server_https_certificate

Liste des fonctionnalités à venir

Aucune - les demandes de fonctionnalités sont les bienvenues.

À propos du projet

Install Chocolatey Server on Windows role

Installer
ansible-galaxy install jborean93.win_chocolatey_server
Licence
mit
Téléchargements
11.8k
Propriétaire