# yaml-language-server: $schema=https://raw.githubusercontent.com/ansible/ansible-lint/refs/heads/main/src/ansiblelint/schemas/playbook.json --- - name: Setup an alpine machine hosts: homelab user: root vars: # alpine_version: v3.19 alpine_version: latest-stable tasks: - name: Change login message template: src: ../../files/alpine/motd.j2 dest: /etc/motd owner: root group: root mode: 0644 backup: yes - name: Update repositories template: src: ../../files/alpine/repositories.j2 dest: /etc/apk/repositories owner: root group: root mode: 0644 backup: yes - name: Update all packages command: /sbin/apk upgrade -U -a - name: Be sure python is installed command: /sbin/apk add python3 args: creates: /usr/bin/python3 - name: Allow users of the weel group to use doas command ansible.builtin.lineinfile: path: /etc/doas.conf regexp: '^#\s*permit persist :wheel' line: 'permit persist :wheel' state: present - name: Common setup hosts: homelab user: root roles: - role: common vars: robo_allowed_commands: - "docker system dial-stdio" - name: Setup Docker hosts: docker user: root roles: - docker vars: users: - aleidk - robo - name: Setup docker swarm manager hosts: docker_managers user: root tasks: - name: Setup swarm manager include_role: name: docker tasks_from: swarm_manager.yaml - name: Setup docker swarm workers hosts: docker_workers user: root tasks: - name: "Setup swarm workers" include_role: name: docker tasks_from: swarm_worker.yaml vars: managers_group: docker_managers