add hetzner autoinstall role

master
Michael Wilson 3 years ago
parent 2743b390b2
commit 371aa306d9
  1. 3
      hetzner/autoinstall/defaults/main.yml
  2. 46
      hetzner/autoinstall/files/post-install.sh
  3. 18
      hetzner/autoinstall/tasks/main.yml
  4. 8
      hetzner/autoinstall/templates/setup.conf
  5. 3
      hetzner/autoinstall/vars/main.yml

@ -0,0 +1,3 @@
autoinstall_image: /root/images/Debian-1105-bullseye-amd64-base.tar.gz
autoinstall_disk_encryption_secret: secret
autoinstall_authorized_keys_src: .ssh/id_rsa.pub

@ -0,0 +1,46 @@
#!/bin/bash
add_rfc3442_hook() {
cat << EOF > /etc/initramfs-tools/hooks/add-rfc3442-dhclient-hook
#!/bin/sh
PREREQ=""
prereqs()
{
echo "\$PREREQ"
}
case \$1 in
prereqs)
prereqs
exit 0
;;
esac
if [ ! -x /sbin/dhclient ]; then
exit 0
fi
. /usr/share/initramfs-tools/scripts/functions
. /usr/share/initramfs-tools/hook-functions
mkdir -p \$DESTDIR/etc/dhcp/dhclient-exit-hooks.d/
cp -a /etc/dhcp/dhclient-exit-hooks.d/rfc3442-classless-routes \$DESTDIR/etc/dhcp/dhclient-exit-hooks.d/
EOF
chmod +x /etc/initramfs-tools/hooks/add-rfc3442-dhclient-hook
}
# Install hook
add_rfc3442_hook
# Copy SSH keys for dropbear
mkdir -p /etc/dropbear-initramfs
cp -a /root/.ssh/authorized_keys /etc/dropbear-initramfs/authorized_keys
# Update system
apt-get update >/dev/null
apt-get -y install cryptsetup-initramfs dropbear-initramfs

@ -0,0 +1,18 @@
- name: copy setup.conf template
template:
src: setup.conf
dest: "{{ autoinstall_setup_conf_dest }}"
- name: copy post install script
copy:
src: post-install.sh
dest: "{{ post_install_dest }}"
owner: root
mode: "0755"
- name: copy authorized_keys
src: "{{ autoinstall_authorized_keys_src }}"
dest: "{{ autoinstall_authorized_keys_dest }}"
- name: run autoinstall
command: "installimage -a -c {{ setup_conf_dest }} -x {{ post_install_dest }}"

@ -0,0 +1,8 @@
CRYPTPASSWORD {{ autoinstall_disk_encryption_secret }}
DRIVE1 /dev/sda
BOOTLOADER grub
HOSTNAME {{ autoinstall_hostname }}
PART /boot ext4 1G
PART / ext4 all crypt
IMAGE {{ autoinstall_image }}
SSHKEYS_URL {{ autoinstall_authorized_keys_dest }}

@ -0,0 +1,3 @@
autoinstall_authorized_keys_dest: /tmp/authorized_keys
setup_conf_dest: /tmp/setup.conf
post_install_dest: /tmp/post-install.sh
Loading…
Cancel
Save