hifis.gitlab

Rôle Ansible pour GitLab

:warning: Ce projet est archivé ! :warning:

Ce rôle a été transféré dans notre collection hifis.toolkit :

État CI Rôle Ansible Galaxy Téléchargements des rôles Ansible Galaxy Score de qualité Ansible Galaxy Licence Apache-2.0 Dernière version

Un rôle pour installer et configurer le package officiel GitLab Omnibus.

Les plateformes supportées sont actuellement :

  • CentOS 7
  • AlmaLinux 8
  • Debian 11 (Bullseye)
  • Ubuntu 18.04 LTS (Bionic Beaver)
  • Ubuntu 20.04 LTS (Focal Fossa)
  • Ubuntu 22.04 LTS (Jemmy Jellyfish)

Exigences

Aucune.

Variables du rôle

Variables importantes du rôle

Édition de GitLab

L'édition de GitLab à installer. Veuillez utiliser soit gitlab-ce pour l'édition communautaire, soit gitlab-ee pour l'édition entreprise.

gitlab_edition: "gitlab-ee"

Version et Release de GitLab

Définissez une version spécifique de GitLab à installer. Veuillez vous assurer que vous spécifiez également la release souhaitée. Vous pouvez trouver les releases disponibles ici.

gitlab_version: "15.6.1"

# Release de GitLab pour RHEL/AlmaLinux 8
gitlab_release: "ce.0.el8"

# Release de GitLab pour Ubuntu
gitlab_release: "ce.0"

Veuillez noter : Si aucune version de GitLab n'est spécifiée, le rôle installera toujours le dernier package GitLab disponible.

URL de la clé GPG

URL de la clé GPG utilisée pour signer les packages.

gitlab_gpg_key_url: "https://packages.gitlab.com/gitlab/{{ gitlab_edition }}/gpgkey"

ID de la clé GPG

Identifiant de la clé GPG utilisée pour signer les packages.

gitlab_gpg_key_id: "F6403F6544A38863DAA0B6E03F01618A51312F3F"

URL du dépôt de packages

URL du dépôt de packages en fonction du système d'exploitation.

gitlab_repo_url: "https://packages.gitlab.com/gitlab/{{ gitlab_edition }}/ubuntu/"

URL du dépôt de packages sources

URL du dépôt des packages sources (CentOS et AlmaLinux uniquement).

gitlab_source_repo_url: "https://packages.gitlab.com/gitlab/{{ gitlab_edition }}/el/{{ ansible_facts.distribution_major_version }}/SRPMS"

Nom du package

Nom du package GitLab à installer.

gitlab_package_name: "{{ gitlab_edition + '=' + gitlab_version + '-' + gitlab_release if gitlab_version and gitlab_release else gitlab_edition }}"

Dépendances du package

Liste des packages dépendants requis par GitLab selon le système d'exploitation.

gitlab_dependencies:
  - apt-transport-https
  - curl
  - gnupg
  - openssh-server
  - openssl
  - tzdata

URL de votre instance GitLab

Donnez l'URL de votre instance GitLab :

gitlab_external_url: 'https://gitlab.example.com'

Fuseau horaire à utiliser par GitLab

Choisissez le fuseau horaire à utiliser par GitLab :

gitlab_time_zone: 'Europe/Berlin'

Durée de conservation des sauvegardes

Définissez la durée (en secondes) durant laquelle garder vos sauvegardes GitLab :

gitlab_backup_keep_time: '604800'

Variables optionnelles du rôle

Nom du modèle pour le fichier de configuration de GitLab

Spécifiez le nom du modèle pour le fichier de configuration de GitLab qui sera transformé en fichier de configuration de GitLab :

gitlab_configuration_file_template: 'gitlab.rb.j2'

Chemin vers le fichier de configuration de GitLab

Spécifiez le chemin du modèle pour le fichier de configuration de GitLab qui contient les configurations personnalisées de votre instance GitLab :

gitlab_configuration_file_path: '/etc/gitlab/gitlab.rb'

Thème de GitLab à utiliser par défaut

Choisissez le thème par défaut à utiliser pour les nouveaux utilisateurs de GitLab :

gitlab_default_theme: '2'

Chemin vers les sauvegardes de GitLab

Définissez le chemin des sauvegardes de GitLab :

gitlab_backup_path: '/var/opt/gitlab/backups'

Port sur lequel le serveur Web Nginx écoute

Définissez le port sur lequel le serveur web Nginx de GitLab écoute :

gitlab_nginx_listen_port: '80'

Le serveur web Nginx accepte-t-il les requêtes HTTPS ?

Choisissez si le serveur web Nginx de GitLab accepte les requêtes HTTPS :

gitlab_nginx_listen_https: 'false'

Le serveur web Nginx redirige-t-il les requêtes HTTP vers HTTPS ?

Choisissez si le serveur web Nginx de GitLab redirige les requêtes HTTP vers HTTPS :

gitlab_nginx_redirect_http_to_https: 'false'

Définir les flags de fonction GitLab

Définissez les flags de fonction GitLab pour activer ou désactiver des fonctionnalités supplémentaires. La variable est une liste de paires clé-valeur qui nécessite le nom du flag de fonction et son état booléen enabled. La valeur par défaut est une liste vide [].

gitlab_feature_flags:
  - name: "vscode_web_ide"
    enabled: true
  - name: "chatops"
    enabled: true
  - name: "webauthn"
    enabled: false  

Cas d'utilisation uniquement Mattermost

Ce rôle peut être utilisé pour exécuter Mattermost sans déployer GitLab. Dans ce scénario, des services comme sidekiq ou puma ne sont pas requis. Réglez sur true pour empêcher le rôle de recharger ces services :

gitlab_mattermost_only_context: 'false'

Variables à définir si un Redis externe est utilisé

Activer l'utilisation d'une instance Redis externe

Réglez la bascule sur false pour activer l'utilisation d'une instance Redis externe :

gitlab_use_internal_redis: 'false'

Mot de passe pour authentifier les services Redis dans le cluster

Il est recommandé d'activer l'authentification pour le maître Redis et les répliques Redis en fournissant le mot de passe respectif :

gitlab_redis_password: 'changeme'

Avertissement : Vous devez utiliser votre propre mot de passe privé et crypté ici.

Mot de passe pour authentifier les sentinelles Redis

Le support de l'authentification par mot de passe pour les sentinelles Redis a été introduit dans GitLab 16.1.

gitlab_redis_sentinel_password: 'changeme'

Avertissement : Vous devez utiliser votre propre mot de passe privé et crypté ici.

Nom de référence du cluster Redis

Choisissez un nom pour le cluster Redis pour référence :

gitlab_redis_cluster_name: 'redis-cluster'

Liste des adresses IP des serveurs Sentinel Redis

Ajoutez une liste des adresses IP des serveurs Sentinel Redis concernés :

gitlab_redis_sentinel_ips:
  - '192.168.33.11'
  - '192.168.33.12'
  - '192.168.33.13'

Port d'écoute des serveurs Sentinel Redis

Choisissez le port sur lequel les serveurs Sentinel Redis écoutent :

gitlab_redis_sentinel_port: '26379'

Plage d'adresses IP autorisées pour surveiller les serveurs Sentinel Redis

Plage d'adresses IP GitLab autorisées à surveiller les serveurs Sentinel Redis :

gitlab_ip_range: '{{ ansible_facts.default_ipv4.address }}/24'

Variables à définir si un Gitaly externe est utilisé

Activer l'utilisation d'une instance Gitaly externe

Réglez la bascule sur false pour activer l'utilisation d'une instance Gitaly externe :

gitlab_use_internal_gitaly: 'false'

Chemin vers le répertoire de données de GitLab

Spécifiez où placer le répertoire de données GitLab :

gitlab_git_data_dir: "/var/opt/gitlab/git-data"

Token d'authentification Gitaly

Un token d'authentification Gitaly doit être fourni :

gitlab_gitaly_token: 'changeme'

Avertissement : Vous devez utiliser votre propre mot de passe privé et crypté ici.

Token de shell GitLab

Un token de shell GitLab doit être fourni :

gitlab_secret_token: 'changeme'

Avertissement : Vous devez utiliser votre propre mot de passe privé et crypté ici.

Adresse IP de l'instance Gitaly

Spécifiez l'adresse IP de l'instance Gitaly :

gitlab_gitaly_instance_ip: '127.0.0.1'

Port de l'instance Gitaly

Spécifiez le port de l'instance Gitaly :

gitlab_gitaly_instance_port: '8075'

Variables à définir si une base de données PostgreSQL externe est utilisée

Activer l'utilisation d'une instance de base de données PostgreSQL externe

Réglez la bascule sur false pour activer l'utilisation d'une instance de base de données PostgreSQL externe :

gitlab_use_internal_postgresql: 'false'

Adresse IP de l'instance de base de données PostgreSQL externe

Définissez l'adresse IP de l'instance de base de données PostgreSQL :

gitlab_postgresql_db_host: '127.0.0.1'

Mot de passe de l'instance de base de données PostgreSQL externe

Définissez le mot de passe de l'instance de base de données PostgreSQL :

gitlab_postgresql_db_password: 'changeme'

Avertissement : Vous devez utiliser votre propre mot de passe privé et crypté ici.

Configurer le registre GitLab

Activez le registre de conteneurs GitLab :

gitlab_registry_enable: "true"

Veuillez noter : Si vous ne faites pas fonctionner un répartiteur de charge devant GitLab et laissez Nginx gérer le chiffrement SSL, veuillez également configurer registry_nginx['ssl_certificate'] et registry_nginx['ssl_certificate_key'] via gitlab_additional_configurations.

Configurations supplémentaires données sous forme de variables de rôle

Toutes les autres configurations qui ne font pas encore partie du fichier de configuration de GitLab peuvent être données par des variables Ansible.

Configurations via des variables Ruby de type dictionnaire

Les variables Ruby qui ne font pas partie du fichier de configuration de GitLab peuvent être spécifiées par des variables de rôle Ansible.

Exemple d'utilisation :

gitlab_additional_configurations:
  - gitlab_rails:
      - key: "time_zone"
        value: "Europe/Berlin"
  - nginx:
      - key: "listen_port"
        type: "plain"
        value: "80"
      - key: "listen_https"
        type: "plain"
        value: "false"

Configuration résultante :

gitlab_rails['time_zone'] = 'Europe/Berlin'
nginx['listen_port'] = 80
nginx['listen_https'] = false

Configurations via des appels de fonction Ruby

Les appels de fonction Ruby qui ne font pas partie du fichier de configuration de GitLab peuvent être fournis par des variables de rôle Ansible.

Exemple d'utilisation :

gitlab_ruby_configuration_calls:
  - key: "pages_external_url"
    value: "https://pages.example.com"
  - key: "registry_external_url"
    value: "https://registry.example.com"
  - key: "mattermost_external_url"
    value: "https://mattermost.example.com"

Configuration résultante :

registry_external_url "https://registry.example.com"
pages_external_url "https://pages.example.com"
mattermost_external_url "https://mattermost.example.com"

Dépendances

Aucune.

Licence

Apache-2.0

Informations sur l'auteur

Équipe logicielle HIFIS

Contributeurs

Nous tenons à remercier et à donner crédit aux contributeurs suivants de ce projet :

À propos du projet

Install and configure official GitLab Omnibus package

Installer
ansible-galaxy install hifis.gitlab
Licence
other
Téléchargements
24.9k
Propriétaire
Helmholtz Digital Services for Science — Collaboration made easy.