homelab/playbooks/initial-setup.yaml
2025-07-14 09:11:10 -04:00

146 lines
3.3 KiB
YAML

---
- name: Initial setup for VM's in homelab
hosts: all
user: root
# vars:
tasks:
- name: Create motd.d dir
file:
path: /etc/motd.d
state: directory
owner: root
group: root
mode: 0755
- name: Change login message
template:
src: ../files/alpine/motd.j2
dest: /etc/motd.d/00-homelab
owner: root
group: root
mode: 0644
force: true
- name: Create issue dir
file:
path: /etc/issue.d
state: directory
owner: root
group: root
mode: 0755
- name: Change login message
template:
src: ../files/alpine/motd.j2
dest: /etc/issue.d/00-homelab
owner: root
group: root
mode: 0644
force: true
- name: Ensure base groups exists
loop:
- wheel
- root
- sudo
- admin
ansible.builtin.group:
name: "{{ item }}"
state: present
- name: Create aleidk user
ansible.builtin.user:
state: present
name: aleidk
password: $6$rOcf02AcKTW.A5kO$XBTbBTmeX4WSCX0jKUocFCR325TkAC.NBTYahzAQnCKPVl5hhsaX9sG33ccHGL73uUsC7kdcc4bxkW5tKbBNb1
create_home: true
append: true
groups:
- admin
- wheel
- root
- sudo
shell: /usr/bin/bash
- name: Set authorized key taken from file
ansible.posix.authorized_key:
user: aleidk
state: present
key: "{{ item }}"
loop:
- "{{ lookup('rbw', 'warpgate').fields[0].value }}"
- name: Setup alpine machines
hosts: distro_alpine
user: root
vars:
alpine_version: latest-stable
tasks:
- name: Update repositories
template:
src: ../files/alpine/repositories.j2
dest: /etc/apk/repositories
owner: root
group: root
mode: 0644
backup: true
notify:
Update Apk Packages
- 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
handlers:
- name: Update Apk Packages
command: /sbin/apk upgrade -U -a
- name: Setup docker
hosts: group_docker
user: root
tasks:
- name: Ensure the docker group exists
ansible.builtin.group:
name: docker
state: present
- name: Create add docker group to users
ansible.builtin.user:
state: present
name: aleidk
append: true
groups:
- docker
- name: Setup cockpit
hosts: proxmox_all
user: root
# vars:
# cockpit_packages:
# - cockpit ## Default list
# - cockpit-bridge
# # - cockpit-networkmanager
# - cockpit-packagekit
# # - cockpit-selinux
# - cockpit-storaged
# - cockpit-system
# # - cockpit-ws
# # - cockpit-389-ds
# - cockpit-composer
# # - cockpit-dashboard
# - cockpit-doc
# # - cockpit-kdump
# - cockpit-machines
# # - cockpit-pcp
# - cockpit-podman
# # - cockpit-session-recording
# - cockpit-sosreport
roles:
- linux-system-roles.cockpit