jborean93.win_chocolatey_server
Rôle Ansible win_chocolatey_server
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
dansC:\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 port80
- Règle de pare-feu pour autoriser le trafic sur le port
80
pour les profilsdomain
etprivate
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 scriptinstall.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 paquetchocolatey.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 lenom d'utilisateur
tandis que la valeur est un hash SHA1 en majuscules dumot 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 dedomain
,private
et/oupublic
.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 paquetchocolatey.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.
ansible-galaxy install jborean93.win_chocolatey_server