homeserver/roles/robertdebock.bootstrap/tasks/main.yml
Quotengrote f5248e88d9
Bootstrap (#22)
* bootstrap rolle hinzugefügt

* playbook bootstrap + master angepasst
2020-08-29 20:57:14 +02:00

55 lines
1.7 KiB
YAML

---
# tasks file for bootstrap
- name: include assert.yml
include_tasks: assert.yml
- name: wait for host
wait_for:
port: "{{ ansible_port | default('22') }}"
host: "{{ (ansible_ssh_host | default(ansible_host) | default(inventory_hostname)) }}"
connection: local
become: no
when:
- ansible_connection is defined
- ansible_connection != "docker"
- ansible_connection != "container"
- bootstrap_wait_for_host | bool
- name: prepare system
block:
- name: test connection
wait_for_connection:
timeout: "{{ bootstrap_timeout }}"
register: bootstrap_connect
changed_when: no
rescue:
- name: gather bootstrap facts
include_tasks: "gather_facts.yml"
- name: install bootstrap packages
raw: "{{ bootstrap_install.raw }}"
register: bootstrap_install_packages
changed_when: (bootstrap_install.stdout_regex in bootstrap_install_packages.stdout and
bootstrap_os_family in ['Alpine', 'Archlinux', 'Gentoo']) or (
bootstrap_install.stdout_regex not in bootstrap_install_packages.stdout and
bootstrap_os_family in ['Debian', 'RedHat', 'Suse'])
vars:
ansible_user: "{{ bootstrap_user }}"
always:
- name: set bootstrap ansible_user
set_fact:
bootstrap_ansible_user: "{{ ansible_user | default(omit) if bootstrap_connect is succeeded else bootstrap_user }}"
changed_when: no
- name: ensure system is prepared
block:
- name: gather ansible facts
setup:
- name: install bootstrap packages
package:
name: "{{ item }}"
state: present
loop: "{{ bootstrap_facts_packages.split() }}"
vars:
ansible_user: "{{ bootstrap_ansible_user | default(omit) }}"