superlint/.automation/test/ansible/ghe-initialize/tasks/ghe-initial-configuration.yml
2020-06-21 00:00:08 -04:00

87 lines
2.7 KiB
YAML

---
- block:
###############################
# Wait for admin port to open #
###############################
- name: Wait for Admin port to come up (Port 8443)
# yamllint disable-line
## Documentation: http://docs.ansible.com/ansible/latest/modules/wait_for_module.html
## Helpful Google: ansible wait_for
wait_for:
host: "{{ ansible_host }}"
port: 8443
delay: 5
timeout: 300
state: started
changed_when: false
#################################
# Wait for successful open port #
#################################
- name: Wait for http status 200
changed_when: false
uri:
url: "https://{{ ansible_host }}:8443"
validate_certs: "no"
register: http_result
# ignore_errors: true
until: http_result.status == 200
retries: 100
delay: 3
#######################################################
# Copy License file to GHE to decrypt file and upload #
#######################################################
# Copy of the file will allow for Ansible Vault to decrypt the file
# and place it on the new remote machine
- name: Copy License File to GHE
become: true
copy:
src: "{{ role_path }}/files/ghe-license.ghl"
dest: /tmp/ghe-license.ghl
owner: admin
group: admin
mode: 0600
#######################################################
# Copy License file to GHE to decrypt file and upload #
#######################################################
# Copy of the file will allow for Ansible Vault to decrypt the file
# and place it on the new remote machine
- name: Copy settings.json File to GHE
become: true
template:
src: "settings.json.j2"
dest: /tmp/settings.json
owner: admin
group: admin
mode: 0644
########################################################
# Set up Admin password, License, and Initial Settings #
########################################################
- name: Setup License, Admin Password, and Initial Settings
command: curl --fail -Lk \
-X POST "https://{{ ansible_host }}:8443/setup/api/start" \
-F license=@/tmp/ghe-license.ghl \
-F "password={{ github_admin_password }}" \
-F "settings=</tmp/settings.json"
retries: 10
delay: 2
register: http_initialconfig_result
until: http_initialconfig_result.rc == 0
###################################
# Set the GHE Admin Password fact #
###################################
- name: Set the GitHub Admin password fact
set_fact:
github_admin_password: "{{ github_admin_password }}"
######################
# Set the tags block #
######################
tags:
- github
- ghe_primary
- initialize