rolehippie.gitlab
gitlab
Ansible role to install and configure Gitlab.
Sponsor
Building and improving this Ansible role have been sponsored by my current and previous employers like Cloudpunks GmbH and Proact Deutschland GmbH.
Table of content
- Requirements
- Default Variables
- gitlab_backup_keep_time
- gitlab_backup_path
- gitlab_backup_upload_location
- gitlab_backup_upload_remote_directory
- gitlab_block_auto_created_users
- gitlab_config_backup_day
- gitlab_config_backup_enabled
- gitlab_config_backup_hour
- gitlab_config_backup_job
- gitlab_config_backup_minute
- gitlab_config_backup_month
- gitlab_config_backup_path
- gitlab_config_backup_post
- gitlab_config_backup_pre
- gitlab_config_backup_script
- gitlab_config_backup_weekday
- gitlab_content_backup_day
- gitlab_content_backup_enabled
- gitlab_content_backup_hour
- gitlab_content_backup_job
- gitlab_content_backup_minute
- gitlab_content_backup_month
- gitlab_content_backup_path
- gitlab_content_backup_post
- gitlab_content_backup_pre
- gitlab_content_backup_script
- gitlab_content_backup_weekday
- gitlab_default_theme
- gitlab_domain
- gitlab_download_validate_certs
- gitlab_email_display_name
- gitlab_email_enabled
- gitlab_email_from
- gitlab_email_reply_to
- gitlab_external_url
- gitlab_extra_config
- gitlab_git_data_dir
- gitlab_keyring
- gitlab_letsencrypt_auto_renew
- gitlab_letsencrypt_auto_renew_day_of_month
- gitlab_letsencrypt_auto_renew_hour
- gitlab_letsencrypt_auto_renew_minute
- gitlab_letsencrypt_contact_emails
- gitlab_letsencrypt_enable
- gitlab_omniauth_allow_bypass_two_factor
- gitlab_omniauth_allow_single_sign_on
- gitlab_omniauth_auto_link_user
- gitlab_omniauth_providers
- gitlab_prune_daily_day
- gitlab_prune_daily_enabled
- gitlab_prune_daily_hour
- gitlab_prune_daily_job
- gitlab_prune_daily_minute
- gitlab_prune_daily_month
- gitlab_prune_daily_path
- gitlab_prune_daily_post
- gitlab_prune_daily_pre
- gitlab_prune_daily_script
- gitlab_prune_daily_weekday
- gitlab_prune_weekly_day
- gitlab_prune_weekly_enabled
- gitlab_prune_weekly_hour
- gitlab_prune_weekly_job
- gitlab_prune_weekly_minute
- gitlab_prune_weekly_month
- gitlab_prune_weekly_path
- gitlab_prune_weekly_post
- gitlab_prune_weekly_pre
- gitlab_prune_weekly_script
- gitlab_prune_weekly_weekday
- gitlab_redirect_http_to_https
- gitlab_registry_domain
- gitlab_registry_enable
- gitlab_registry_external_url
- gitlab_registry_nginx_ssl_certificate
- gitlab_registry_nginx_ssl_certificate_key
- gitlab_smtp_address
- gitlab_smtp_authentication
- gitlab_smtp_ca_file
- gitlab_smtp_ca_path
- gitlab_smtp_domain
- gitlab_smtp_enable
- gitlab_smtp_enable_starttls_auto
- gitlab_smtp_openssl_verify_mode
- gitlab_smtp_password
- gitlab_smtp_port
- gitlab_smtp_tls
- gitlab_smtp_user_name
- gitlab_ssl_certificate
- gitlab_ssl_certificate_key
- gitlab_time_zone
- gitlab_version
- gitlan_external_url
- gitlan_registry_path
- Discovered Tags
- Dependencies
- License
- Author
Requirements
- Minimum Ansible version:
2.10
Default Variables
gitlab_backup_keep_time
Time to keep backups for
Default value
gitlab_backup_keep_time: 604800
gitlab_backup_path
Path to store the backups
Default value
gitlab_backup_path: /var/opt/gitlab/backups
gitlab_backup_upload_location
Upload location for backups
Default value
gitlab_backup_upload_location:
gitlab_backup_upload_remote_directory
Remote upload directory
Default value
gitlab_backup_upload_remote_directory:
gitlab_block_auto_created_users
Block autocreated users
Default value
gitlab_block_auto_created_users: false
gitlab_config_backup_day
Default value
gitlab_config_backup_day: '*'
gitlab_config_backup_enabled
Default value
gitlab_config_backup_enabled: false
gitlab_config_backup_hour
Default value
gitlab_config_backup_hour: '03'
gitlab_config_backup_job
Default value
gitlab_config_backup_job: /usr/bin/cronic {{ gitlab_config_backup_path }}
gitlab_config_backup_minute
Default value
gitlab_config_backup_minute: '00'
gitlab_config_backup_month
Default value
gitlab_config_backup_month: '*'
gitlab_config_backup_path
Default value
gitlab_config_backup_path: /usr/local/bin/gitlab-backup-config
gitlab_config_backup_post
Default value
gitlab_config_backup_post:
gitlab_config_backup_pre
Default value
gitlab_config_backup_pre:
gitlab_config_backup_script
Default value
gitlab_config_backup_script: gitlab-ctl backup-etc --delete-old-backups
gitlab_config_backup_weekday
Default value
gitlab_config_backup_weekday: '*'
gitlab_content_backup_day
Default value
gitlab_content_backup_day: '*'
gitlab_content_backup_enabled
Default value
gitlab_content_backup_enabled: false
gitlab_content_backup_hour
Default value
gitlab_content_backup_hour: '03'
gitlab_content_backup_job
Default value
gitlab_content_backup_job: /usr/bin/cronic {{ gitlab_content_backup_path }}
gitlab_content_backup_minute
Default value
gitlab_content_backup_minute: '00'
gitlab_content_backup_month
Default value
gitlab_content_backup_month: '*'
gitlab_content_backup_path
Default value
gitlab_content_backup_path: /usr/local/bin/gitlab-backup-content
gitlab_content_backup_post
Default value
gitlab_content_backup_post:
gitlab_content_backup_pre
Default value
gitlab_content_backup_pre:
gitlab_content_backup_script
Default value
gitlab_content_backup_script: gitlab-backup create
gitlab_content_backup_weekday
Default value
gitlab_content_backup_weekday: '*'
gitlab_default_theme
Default theme for Gitlab
Default value
gitlab_default_theme: 2
gitlab_domain
Domain to access Gitlab
Default value
gitlab_domain: git.example.com
gitlab_download_validate_certs
Validate download certificates
Default value
gitlab_download_validate_certs: true
gitlab_email_display_name
Name used for email configuration
Default value
gitlab_email_display_name: Gitlab
gitlab_email_enabled
Enable email configuration
Default value
gitlab_email_enabled: false
gitlab_email_from
From used for email configuration
Default value
gitlab_email_from: [email protected]
gitlab_email_reply_to
Reply used for email configuration
Default value
gitlab_email_reply_to: [email protected]
gitlab_external_url
Default value
gitlab_external_url: https://{{ gitlab_domain }}/
gitlab_extra_config
Optional additional configuration for gitlab.rb config file
Default value
gitlab_extra_config:
gitlab_git_data_dir
Data directory for repositories
Default value
gitlab_git_data_dir: /var/opt/gitlab/git-data
gitlab_keyring
Path for the repository keyring
Default value
gitlab_keyring: /usr/share/keyrings/gitlab-archive-keyring.gpg
gitlab_letsencrypt_auto_renew
Enable autorenew for LEts Encrypt
Default value
gitlab_letsencrypt_auto_renew: true
gitlab_letsencrypt_auto_renew_day_of_month
Daf of month to renew Lets Encrypt certificates
Default value
gitlab_letsencrypt_auto_renew_day_of_month: '*/7'
gitlab_letsencrypt_auto_renew_hour
Hour to renew Lets Encrypt certificates
Default value
gitlab_letsencrypt_auto_renew_hour: 1
gitlab_letsencrypt_auto_renew_minute
Minute to renew Lets Encrypt certificates
Default value
gitlab_letsencrypt_auto_renew_minute: 30
gitlab_letsencrypt_contact_emails
List of contact mail adresses for Lets Encrypt
Default value
gitlab_letsencrypt_contact_emails:
- [email protected]
gitlab_letsencrypt_enable
Enabled Lets Encrypt configuration
Default value
gitlab_letsencrypt_enable: false
gitlab_omniauth_allow_bypass_two_factor
Default value
gitlab_omniauth_allow_bypass_two_factor: []
gitlab_omniauth_allow_single_sign_on
List of Omniauth methods to allow single signon
Default value
gitlab_omniauth_allow_single_sign_on: []
gitlab_omniauth_auto_link_user
List of Omniauth methods to bypass 2FA.
Default value
gitlab_omniauth_auto_link_user: []
gitlab_omniauth_providers
List of Omniauth providers
Default value
gitlab_omniauth_providers: []
gitlab_prune_daily_day
Default value
gitlab_prune_daily_day: '*'
gitlab_prune_daily_enabled
Default value
gitlab_prune_daily_enabled: false
gitlab_prune_daily_hour
Default value
gitlab_prune_daily_hour: '02'
gitlab_prune_daily_job
Default value
gitlab_prune_daily_job: /usr/bin/cronic {{ gitlab_prune_daily_path }}
gitlab_prune_daily_minute
Default value
gitlab_prune_daily_minute: '00'
gitlab_prune_daily_month
Default value
gitlab_prune_daily_month: '*'
gitlab_prune_daily_path
Default value
gitlab_prune_daily_path: /usr/local/bin/gitlab-prune-daily
gitlab_prune_daily_post
Default value
gitlab_prune_daily_post:
gitlab_prune_daily_pre
Default value
gitlab_prune_daily_pre:
gitlab_prune_daily_script
Default value
gitlab_prune_daily_script: gitlab-ctl registry-garbage-collect
gitlab_prune_daily_weekday
Default value
gitlab_prune_daily_weekday: 1-6
gitlab_prune_weekly_day
Default value
gitlab_prune_weekly_day: '*'
gitlab_prune_weekly_enabled
Default value
gitlab_prune_weekly_enabled: false
gitlab_prune_weekly_hour
Default value
gitlab_prune_weekly_hour: '02'
gitlab_prune_weekly_job
Default value
gitlab_prune_weekly_job: /usr/bin/cronic {{ gitlab_prune_weekly_path }}
gitlab_prune_weekly_minute
Default value
gitlab_prune_weekly_minute: '00'
gitlab_prune_weekly_month
Default value
gitlab_prune_weekly_month: '*'
gitlab_prune_weekly_path
Default value
gitlab_prune_weekly_path: /usr/local/bin/gitlab-prune-weekly
gitlab_prune_weekly_post
Default value
gitlab_prune_weekly_post:
gitlab_prune_weekly_pre
Default value
gitlab_prune_weekly_pre:
gitlab_prune_weekly_script
Default value
gitlab_prune_weekly_script: gitlab-ctl registry-garbage-collect -m
gitlab_prune_weekly_weekday
Default value
gitlab_prune_weekly_weekday: '0'
gitlab_redirect_http_to_https
Always redirect HTTP to HTTPS
Default value
gitlab_redirect_http_to_https: true
gitlab_registry_domain
Domain to access registry
Default value
gitlab_registry_domain: registry.example.com
gitlab_registry_enable
Enable registry configuration
Default value
gitlab_registry_enable: false
gitlab_registry_external_url
Full external URL to access registry
Default value
gitlab_registry_external_url: https://{{ gitlab_registry_domain }}
gitlab_registry_nginx_ssl_certificate
Path to registry SSL certificate
Default value
gitlab_registry_nginx_ssl_certificate: /etc/gitlab/ssl/gitlab.crt
gitlab_registry_nginx_ssl_certificate_key
Path to registry SSL certificate key
Default value
gitlab_registry_nginx_ssl_certificate_key: /etc/gitlab/ssl/gitlab.key
gitlab_smtp_address
Address for SMTP connection
Default value
gitlab_smtp_address:
gitlab_smtp_authentication
Authentication for SMTP connection
Default value
gitlab_smtp_authentication: login
gitlab_smtp_ca_file
Path to CA certificate file for SMTP connections
Default value
gitlab_smtp_ca_file: /etc/ssl/certs/ca-certificates.crt
gitlab_smtp_ca_path
Path to CA certificates for SMTP connection
Default value
gitlab_smtp_ca_path: /etc/ssl/certs
gitlab_smtp_domain
Domain for SMTP connection
Default value
gitlab_smtp_domain:
gitlab_smtp_enable
Enable SMTP configuration
Default value
gitlab_smtp_enable: false
gitlab_smtp_enable_starttls_auto
Enable STARTTLS for SMTP connection
Default value
gitlab_smtp_enable_starttls_auto: true
gitlab_smtp_openssl_verify_mode
Verify SSL for SMTP connection
Default value
gitlab_smtp_openssl_verify_mode: none
gitlab_smtp_password
Password for SMTP connection
Default value
gitlab_smtp_password:
gitlab_smtp_port
Port for SMTP connection
Default value
gitlab_smtp_port: 465
gitlab_smtp_tls
Enable TLS for SMTP connection
Default value
gitlab_smtp_tls: false
gitlab_smtp_user_name
Username for SMTP connection
Default value
gitlab_smtp_user_name:
gitlab_ssl_certificate
Path for SSL certificate
Default value
gitlab_ssl_certificate: /etc/gitlab/ssl/{{ gitlab_domain }}.crt
gitlab_ssl_certificate_key
Path for SSL certificate key
Default value
gitlab_ssl_certificate_key: /etc/gitlab/ssl/{{ gitlab_domain }}.key
gitlab_time_zone
Timezone used for Gitlab
Default value
gitlab_time_zone: UTC
gitlab_version
Version of Gitlab that gets installed
Default value
gitlab_version: 16.3.4
gitlan_external_url
Full external URL to access Gitlab
gitlan_registry_path
Path to store registry data
Default value
gitlan_registry_path:
Discovered Tags
gitlab
Dependencies
- None
License
Apache-2.0
Author
ansible-galaxy install rolehippie.gitlab