Newer
Older
---
- name: proxy
when:
- proxy_http | d()
- proxy_https | d()
include_role:
name: proxy
- name: install requirements
apt:
force_apt_get: true
install_recommends: false
name: "{{ conf_req_packages }}"
register: apt_status
retries: 60
until: apt_status is success or ('Failed to lock apt for exclusive operation' not in apt_status.msg and '/var/lib/dpkg/lock' not in apt_status.msg)
- name: install online requirements
when: not offline_mode | d(false)
apt:
force_apt_get: true
install_recommends: false
name: "{{ conf_req_packages_online }}"
register: apt_status
retries: 60
until: apt_status is success or ('Failed to lock apt for exclusive operation' not in apt_status.msg and '/var/lib/dpkg/lock' not in apt_status.msg)
- name: generate root ssh key pair
register: conf_root
user:
name: root
generate_ssh_key: true
ssh_key_type: ed25519
ssh_key_file: .ssh/id_ed25519
- name: create conf dir
file:
path: "{{ conf_dir }}"
state: directory
mode: "0700"
- name: check if auto-generated-conf.sh exists
path: "{{ conf_dir }}/auto-generated-conf.sh"
- name: download conf and update ssh public key with activation key
when: skyreach_activation_key | d(false)
register: conf_dl_ak
changed_when: conf_dl_ak.status == 200
failed_when:
- conf_dl_ak.status != 200
- not check_auto_conf.stat.exists
- not skyreach_system_key
uri:
url: https://{{ conf_host }}/erp/credentials/envsetup-conf.sh
method: POST
body_format: form-urlencoded
body:
key: "{{ skyreach_activation_key }}"
public_key: "{{ conf_root.ssh_public_key }}"
return_content: true
validate_certs: "{{ conf_valid_cert }}"
- name: download conf and update ssh public key with system key
when:
- not check_auto_conf.stat.exists or conf_update
- skyreach_system_key | d(false)
register: conf_dl_sk
changed_when: conf_dl_sk.status == 200
failed_when:
- conf_dl_sk.status != 200
- not check_auto_conf.stat.exists
uri:
url: https://{{ conf_host }}/erp/credentials/envsetup-conf.sh
method: POST
body_format: form-urlencoded
body:
api_key: "{{ skyreach_system_key }}"
public_key: "{{ conf_root.ssh_public_key }}"
return_content: true
validate_certs: "{{ conf_valid_cert }}"
- name: save generated conf
loop:
- "{{ conf_dl_ak }}"
- "{{ conf_dl_sk }}"
when: item is changed
copy:
content: "{{ item.content }}"
dest: "{{ conf_dir }}/auto-generated-conf.sh"
- name: check if auto-generated-conf.sh exists
check_mode: false
register: check_auto_conf
stat:
path: "{{ conf_dir }}/auto-generated-conf.sh"
- name: check if conf.sh exists
register: check_local_conf
stat:
path: "{{ conf_dir }}/conf.sh"
when: check_auto_conf.stat.exists
changed_when: false
check_mode: false
source_file:
path: "{{ conf_dir }}/auto-generated-conf.sh"
prefix: envsetup_
lower: true
- name: load local conf
when: check_local_conf.stat.exists
changed_when: false
check_mode: false
source_file:
path: "{{ conf_dir }}/conf.sh"