Ce rôle est chargé de mettre en place une instance GitLab via docker et de la mettre à jour.

Le service Docker doit être installés au préalable. Le services Web doit être installés au préalable si sa configuration n’est pas désactivée.

Le conteneur et le réseau créé le cas échéant sont nommés gitlab. Il faut faire attention ne pas avoir de conflit avec l’existant.

Tags internes

  • gitlab-only : Exécuter les opérations hors packages et roles liés ;

Variables à fournir

Variable Type Requis Défaut Description
gitlab_docker Object gitlab Oui Vide Configuration de déploiement de l’instance GitLab
gitlab_docker_config Object dynamique Oui Objet vide Configurations de GitLab à mettre en place, en premier niveau, le nom de la variable et en second niveau, la clé de configuration
gitlab_docker_version Chaîne Oui False Numéro de version de GitLab à installer
gitlab_docker_resources_path Chemin Non Chaîne vide Emplacement des ressources pour GitLab, notamment le fichier de secret chiffré
gitlab_docker_secrets_file Chemin Non Chaîne vide Nom du fichier des secrets à envoyer
vhosts_base_dir Chemin Non /var/www/vhosts Dossier sur la cible, racine des Virtual Host

Type gitlab

Propriété Type Requis Défaut Description
git_group Objet group Oui Informations du groupe de l’utilisateur exécutant l’application
git_user Objet user Oui Informations de l’utilisateur exécutant l’application
no_vhost Nom de domaine Non Absent Désactive la mise en place des vhosts locaux avec Apache et défini le nom de domaine
vhost Objet virtualhost !no_vhost Informations des virtual host à mettre en place
network Identifiant Non Absent Nom du réseau personnalisé à utiliser
subnet Sous-réseau CIDR !network Sous-réseau dans lequel le conteneur est
gateway Adresse IP !network Adresse IP de la passerelle dans le réseau
ip Adresse IP Oui Adresse IP du conteneur, aussi utilisée pour configurer le mandataire http
smtp Adresse IP network && !gateway Valeur de gateway Adresse IP du serveur SMTP
smtp_domain Nom de domaine Non Le nom de domaine Nom de domaine pour les messages envoyés
trusted_proxy Liste d’adresses IP Non Valeur de gateway Adresses IP des mandataires de confiance
container Dictionnaire Non Absent Surcharge des options du conteneur

Remarques :

Type group

Propriété Type Requis Défaut Description
name Identifiant Oui Vide Nom du groupe à créer

Type user

Propriété Type Requis Défaut Description
name Identifiant Oui Vide Nom de l’utilisateur à créer
home Chemin Oui Vide Emplacement du dossier d’accueil de l’utilisateur, et d’installation de l’application
comment Chaîne Oui Vide Description de l’utilisateur, pour l’administration

Type virtualhost

Propriété Type Requis Défaut Description
name FQDN Oui Vide Nom de domaine complet d’accès à l’application
admin Email Non Vide Adresse de courriel de l’administrateur
secure Booléen Non Vrai Active le fonctionnement sur HTTPS et la redirection HTTP vers HTTPS
ssl_cert Chemin Si secure Chaîne vide Chemin du certificat à utiliser pour sécuriser l’accès
ssl_key Chemin Si secure Chaîne vide Chemin de la clé privée associée au certificat
ssl_bundle Chemin Si secure Chaîne vide Chemin du certificat de l’autorité de certification intermédiaire si nécessaire

Variables fixées

Variable Type Description
gitlab_folders Liste de chemins Dossiers des volumes à créer
gitlab_folders_acl Liste d’acl Autorisations sur les dossiers des volumes