ansible-devops-vm/provisioning/playbook.yml

101 lines
No EOL
2.4 KiB
YAML

- hosts: jbdev
gather_facts: yes
become: yes
vars:
locales_gen:
- en_US.UTF-8
- de_DE.UTF-8
locales_default: de_DE.UTF-8
ansible_version: "2.9.4"
pip_install_packages:
- name: docker
- name: docker-compose
docker_edition: "ce"
docker_version: "19.03.5"
docker_package: "docker-{{ docker_edition }}"
docker_package_state: present
docker_compose_version: "1.25.0"
docker_users:
- vagrant
pre_tasks:
- name: Generate locals
locale_gen:
name: "{{ item }}"
state: present
loop: "{{ locales_gen }}"
- name: Get current locale
command: localectl status
register: locale_status
changed_when: false
- name: Extract LANG from current locale configuration
set_fact:
locale_lang: "{{ locale_status.stdout | regex_search('LANG=([^\n]+)', '\\1') | first }}"
- debug:
msg: "{{ locale_lang }}"
- name: Set default locale
command: localectl set-locale LANG={{ locales_default }}
when: locale_lang != locales_default
- name: Replace US repo with DE mirror
replace:
path: /etc/apt/sources.list
regexp: 'us(\.archive\.ubuntu\.com)'
replace: 'de\1'
- name: Install Python3
raw: test -e /usr/bin/python3 || (apt update && apt install -y --force-yes python3)
changed_when: false
- name: Install pip3
raw: test -e /usr/bin/pip3 || (apt update && apt install -y --force-yes python3-pip)
changed_when: false
tasks:
- name: Install Ansible
raw: test -e /usr/local/bin/ansible || pip3 install ansible={{ ansible_version }}
changed_when: false
- name: Disable motd-news
lineinfile:
path: /etc/default/motd-news
regexp: '^\s*ENABLED=\s*1'
line: ENABLED=0
- name: Update apt cache
apt:
update_cache: yes
cache_valid_time: 7200
- name: Install XFCE4 and lightdm
apt:
pkg:
- lightdm
- xfce4
register: desktop_installed
- name: lightdm config
copy:
dest: /etc/lightdm/lightdm.conf
owner: root
group: root
mode: 0644
content: |
[SeatDefaults]
allow-guest=false
autologin-user=vagrant
autologin-user-timeout=0
user-session=xfce
- name: Reboot system
reboot:
when: desktop_installed.changed
roles:
- geerlingguy.pip
- geerlingguy.docker