81 lines
1.8 KiB
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
|