- # see /usr/share/doc/gitlab/README.Debian.gz
- # for instruction on how to migrate and reset root password
-
- - name: 'install gnupg and ca-cert'
- apt:
- pkg:
- - 'gnupg'
- - 'ca-certificates'
- state: 'present'
- update_cache: true
- cache_valid_time: 3600
- tags:
- - 'packages'
-
- - name: 'add gitlab gnupg key to apt'
- apt_key:
- id: 'F6403F6544A38863DAA0B6E03F01618A51312F3F'
- url: 'https://packages.gitlab.com/gpg.key'
- state: 'present'
- tags:
- - 'packages'
-
- - name: 'add gitlab apt repos'
- apt_repository:
- repo: '{{ item }}'
- state: 'present'
- update_cache: true
- loop:
- - 'deb https://packages.gitlab.com/gitlab/gitlab-ce/debian/ buster main'
- - 'deb-src https://packages.gitlab.com/gitlab/gitlab-ce/debian/ buster main'
- tags:
- - 'packages'
-
- - name: 'install gitlab'
- apt:
- pkg: 'gitlab-ce'
- state: 'present'
- update_cache: true
- cache_valid_time: 3600
- tags:
- - 'packages'
-
- - name: 'load ldap server ca'
- copy:
- content: '{{ ldap_tls_server_ca }}'
- dest: '/etc/gitlab/ldap_server_ca.crt'
- tags:
- - 'tls_int'
-
- - name: 'generate gitlab ldap password'
- gen_passwd: 'length=32'
- register: 'gitlab_ldap_passwd'
- no_log: true
- tags:
- - 'tls_int'
- - 'service_password'
-
- - name: 'set gitlab ldap password'
- delegate_to: 'localhost'
- ldap_passwd:
- dn: 'cn={{ host_fqdn }},ou=Server,{{ ldap_basedn }}'
- passwd: '{{ gitlab_ldap_passwd.passwd }}'
- server_uri: 'ldap://{{ ldap_server }}'
- start_tls: true
- bind_dn: '{{ ldap_admin_dn }}'
- bind_pw: '{{ ldap_admin_pw }}'
- no_log: true
- tags:
- - 'tls_int'
- - 'service_password'
-
- - name: 'update gitlab configuration'
- template:
- src: 'gitlab.rb.j2'
- dest: '/etc/gitlab/gitlab.rb'
- notify: 'reconfigure gitlab'
- tags:
- - 'tls_int'
- - 'service_password'
-
- - name: 'upload letsencrypt ca for ocsp stapling verification'
- get_url:
- url: 'https://letsencrypt.org/certs/lets-encrypt-x3-cross-signed.pem.txt'
- dest: '/etc/gitlab/ssl/chain.crt'
-
- - name: 'patch gitlab to run in lxc'
- lineinfile:
- path: '/opt/gitlab/embedded/cookbooks/package/resources/gitlab_sysctl.rb'
- insertafter: '^ command "sysctl -e --system"\n'
- line: ' ignore_failure true'
- notify: 'reconfigure gitlab'
-
-
- - name: 'MONITORING | add HTTP services'
- block:
- - name: 'MONITORING | add HTTP/gitlab to monitored service'
- set_fact:
- monitoring_vhosts: '{{ monitoring_vhosts + [gitlab_nginx_main_fqdn] }}'
- when: gitlab_enable_https
- - name: 'MONITORING | add HTTP/mattermost to monitored service'
- set_fact:
- monitoring_vhosts: '{{ monitoring_vhosts + [gitlab_nginx_mattermost_fqdn] }}'
- when: gitlab_enable_mattermost
- - name: 'MONITORING | add vhosts to host monitoring entry'
- set_fact:
- monitoring_entry: >
- {{ monitoring_entry | default({}) | combine({
- 'address': ansible_host,
- 'vhosts': monitoring_vhosts,
- }) }}
- - name: 'MONITORING | add vhosts_uri to host monitoring entry'
- set_fact:
- monitoring_entry: >
- {{ monitoring_entry | default({}) | combine({
- 'address': ansible_host,
- 'vhosts_uri': { gitlab_nginx_main_fqdn: {'/': { 'content': 'Sign in · GitLab'} },
- gitlab_nginx_mattermost_fqdn: { '/': { 'content': '<title>Mattermost</title>' } } },
- }, recursive=true) }}
- - name: 'MONITORING | update monitoring facts'
- set_fact:
- monitoring_facts: >
- {{ hostvars[monitoring_host]['monitoring_facts']
- | default({})
- | combine({host_fqdn: monitoring_entry}) }}
- delegate_facts: true
- delegate_to: '{{ monitoring_host }}'
- tags:
- - 'monitoring'
- ...
-
-
|