You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
141 lines
3.0 KiB
YAML
141 lines
3.0 KiB
YAML
---
|
|
- name: format disk
|
|
filesystem:
|
|
fstype: btrfs
|
|
dev: /dev/sda
|
|
force: yes
|
|
|
|
- name: mount disk
|
|
mount:
|
|
path: /mnt
|
|
src: /dev/sda
|
|
state: mounted
|
|
fstype: btrfs
|
|
|
|
- name: modify pacman mirrorlist
|
|
copy:
|
|
src: mirrorlist
|
|
dest: /etc/pacman.d/mirrorlist
|
|
|
|
- name: remove archlinux-keyring conflicting files (1/3)
|
|
file:
|
|
dest: /usr/share/pacman/keyrings/archlinux-revoked
|
|
state: absent
|
|
- name: remove archlinux-keyring conflicting files (2/3)
|
|
file:
|
|
dest: /usr/share/pacman/keyrings/archlinux-trusted
|
|
state: absent
|
|
- name: remove archlinux-keyring conflicting files (3/3)
|
|
file:
|
|
dest: /usr/share/pacman/keyrings/archlinux.gpg
|
|
state: absent
|
|
|
|
- name: update archlinux-keyring
|
|
pacman:
|
|
name: archlinux-keyring
|
|
force: yes
|
|
state: present
|
|
update_cache: yes
|
|
|
|
- name: pacstrap
|
|
command: /usr/bin/pacstrap /mnt base base-devel openssh python grub
|
|
|
|
- name: genfstab
|
|
shell: /usr/bin/genfstab -U -p /mnt > /mnt/etc/fstab
|
|
|
|
- name: set hostname
|
|
shell: /bin/echo {{ arch_hostname }} > /mnt/etc/hostname
|
|
|
|
- name: Locale conf
|
|
copy:
|
|
src: locale.conf
|
|
dest: /mnt/etc/locale.conf
|
|
|
|
- name: vconsole
|
|
copy:
|
|
src: vconsole.conf
|
|
dest: /mnt/etc/vconsole.conf
|
|
|
|
- name: localtime
|
|
file:
|
|
src: /usr/share/zoneinfo/Europe/Berlin
|
|
dest: /mnt/etc/localtime
|
|
state: link
|
|
|
|
- name: resolv.conf
|
|
copy:
|
|
src: resolv.conf
|
|
dest: /mnt/etc/resolv.conf
|
|
|
|
- name: locale.gen
|
|
replace:
|
|
dest: /mnt/etc/locale.gen
|
|
regexp: "^#de_DE.UTF-8.*$"
|
|
replace: "de_DE.UTF-8 UTF-8"
|
|
|
|
- name: locale-gen
|
|
command: /usr/bin/arch-chroot /mnt locale-gen
|
|
|
|
- name: "grub: generate config"
|
|
command: /usr/bin/arch-chroot /mnt /usr/bin/grub-mkconfig -o /boot/grub/grub.cfg
|
|
|
|
- name: "grub: install grub"
|
|
command: /usr/bin/arch-chroot /mnt /usr/bin/grub-install /dev/sda
|
|
|
|
- name: sshd config
|
|
copy:
|
|
src: sshd_config
|
|
dest: /mnt/etc/ssh/sshd_config
|
|
|
|
- name: add authorized_keys
|
|
authorized_key:
|
|
key: '{{ item }}'
|
|
path: /mnt/root/.ssh/authorized_keys
|
|
user: root
|
|
with_items: authorized_keys
|
|
|
|
- name: enable sshd
|
|
command: /usr/bin/arch-chroot /mnt /usr/bin/systemctl enable sshd.service
|
|
|
|
- name: create network config
|
|
template:
|
|
dest: /mnt/etc/netctl/ens3
|
|
src: ens3.j2
|
|
|
|
- name: enable network config
|
|
command: /usr/bin/arch-chroot /mnt /usr/bin/netctl enable ens3
|
|
|
|
- name: unmount
|
|
mount:
|
|
path: /mnt
|
|
state: unmounted
|
|
|
|
- name: reboot
|
|
shell: sleep 5 && reboot &
|
|
args:
|
|
executable: /bin/bash
|
|
async: 10
|
|
poll: 0
|
|
|
|
- name: waiting for server to go down
|
|
local_action:
|
|
module: wait_for
|
|
host: "{{ inventory_hostname }}"
|
|
port: 22
|
|
delay: 1
|
|
timeout: 60
|
|
state: stopped
|
|
|
|
- name: waiting for server to come back
|
|
local_action:
|
|
module: wait_for
|
|
host={{ inventory_hostname }}
|
|
port=22
|
|
delay=1
|
|
timeout=60
|
|
|
|
- name: remove server from local known_hosts file
|
|
local_action: shell ssh-keygen -R {{ inventory_hostname }}
|
|
ignore_errors: true
|
|
|