2025-05-31 13:08:18 +03:00

90 lines
2.1 KiB
YAML

---
- name: Initialise worker VM
hosts: workers
become: yes
vars_files:
- worker_vars.yaml
- ../common_vars.yaml
tasks:
- name: Install essentials
apt:
name: "{{ common_base_packages }}"
state: latest
update_cache: true
ignore_errors: yes
- name: Add Docker GPG apt Key
apt_key:
url: https://download.docker.com/linux/ubuntu/gpg
state: present
- name: Add Docker Repository
apt_repository:
repo: deb https://download.docker.com/linux/ubuntu focal stable
state: present
- name: Update apt and install docker-ce
apt:
name: docker-ce
state: latest
update_cache: true
- name: Update ExecStart in Docker service file with exposing the port
lineinfile:
path: /lib/systemd/system/docker.service
regexp: '^ExecStart='
line: 'ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2375'
state: present
- name: Reload systemd to apply changes
command: systemctl daemon-reload
- name: Stop Docker service
service:
name: docker
state: stopped
- name: Start and enable Docker
service:
name: docker
state: started
enabled: yes
- name: Create cron job for Docker cleanup
cron:
name: "Docker Cleanup"
minute: "0"
hour: "4"
job: "docker system prune -a --volumes -f"
state: present
tags:
- cron
- name: Create a login user
user:
name: "{{ vm_username }}"
password: "$6$OhH/TOtjPdxJgC9i$1ytWcV0yBuv5b4Momkka57tErCc4UqvG0zqydyyGQm3OXSaWPHTLHxvPjeCdA9B8T0./eXawj62xZ7gVtzokG/"
groups:
- docker
- sudo
state: present
shell: /usr/bin/bash
- name: Copy authorized keys
authorized_key:
user: "{{ vm_username }}"
key: "{{ lookup('file', '{{ ssh_access_keys }}') }}"
- name: Download rc files
get_url:
url: "{{ item.url }}"
dest: "{{ item.dest }}"
mode: '0644'
loop:
- { url: '{{ bashrc_file_url }}', dest: '{{ bashrc_mount_path }}' }
- { url: '{{ vimrc_file_url }}', dest: '{{ vimrc_mount_path }}' }