homelab/playbooks/setup/alpine.yaml

81 lines
1.8 KiB
YAML

# 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