added install_arch role
parent
840b169cd5
commit
a917b1e113
@ -0,0 +1,3 @@
|
||||
LANG=de_DE.UTF-8
|
||||
LC_COLLATE=C
|
||||
LANGUAGE=de_DE
|
@ -0,0 +1 @@
|
||||
Server = http://mirrors.niyawe.de/archlinux/$repo/os/$arch
|
@ -0,0 +1,6 @@
|
||||
nameserver 213.133.98.98
|
||||
nameserver 213.133.100.100
|
||||
nameserver 213.133.99.99
|
||||
nameserver 2a01:4f8:0:a0a1::add:1010
|
||||
nameserver 2a01:4f8:0:a102::add:9999
|
||||
nameserver 2a01:4f8:0:a111::add:9898
|
@ -0,0 +1,11 @@
|
||||
HostKey /etc/ssh/ssh_host_rsa_key
|
||||
HostKey /etc/ssh/ssh_host_ed25519_key
|
||||
AuthorizedKeysFile .ssh/authorized_keys
|
||||
PasswordAuthentication no
|
||||
ChallengeResponseAuthentication no
|
||||
UsePAM no
|
||||
PrintMotd no
|
||||
Subsystem sftp /usr/lib/ssh/sftp-server
|
||||
KexAlgorithms curve25519-sha256@libssh.org,diffie-hellman-group-exchange-sha256
|
||||
Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com,aes256-ctr,aes192-ctr,aes128-ctr
|
||||
MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-ripemd160-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-512,hmac-sha2-256,hmac-ripemd160,umac-128@openssh.com
|
@ -0,0 +1 @@
|
||||
KEYMAP=de-latin1
|
@ -0,0 +1,140 @@
|
||||
---
|
||||
- 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
|
||||
|
@ -0,0 +1,10 @@
|
||||
Connection=ethernet
|
||||
Interface=ens3
|
||||
IP=static
|
||||
Address=({{ ansible_default_ipv4['address'] }}/24)
|
||||
{# TODO: fix /24 #}
|
||||
Gateway={{ ansible_default_ipv4['gateway'] }}
|
||||
IP6=static
|
||||
Address6=({{ ansible_default_ipv6['address'] }}/{{ ansible_default_ipv6['prefix'] }})
|
||||
Gateway6={{ ansible_default_ipv6['gateway'] }}
|
||||
|
Loading…
Reference in New Issue