filviu.hetzner_installimage

Rol de Ansible: Hetzner Installimage

Configura un servidor dedicado de Hetzner con una distribución elegida y, opcionalmente, cifrado completo del disco.

CI

Stand With Ukraine

Advertencias

Todos los datos en el servidor serán eliminados.

Requisitos

  • Conocer la IP del servidor.
  • El servidor debe reiniciarse en modo de rescate. O ser pedido con modo de rescate si es nuevo.
  • Al pedir o activar el modo de rescate, asegúrate de seleccionar todas las claves que deseas usar para iniciar sesión en el entorno de arranque donde se puede ingresar la contraseña de cifrado.

Variables del Rol

Consulta defaults/main.yml:

hetzner_installimage_cryptpassword: "contraseña"

hetzner_installimage_disks:
  - "/dev/nvme0n1"
  - "/dev/nvme1n1"

# crear partición EFI
# máquinas más nuevas como la EX-53 parecen requerirlo
hetzner_installimage_esp: true

hetzner_installimage_swraid: 1
hetzner_installimage_swraidlevel: 1

hetzner_installimage_hostname: "custom"

hetzner_installimage_image: "/root/images/Debian-1010-buster-64-minimal.tar.gz"

# lista de claves ssh públicas permitidas para iniciar sesión en el entorno BusyBox para ingresar la contraseña de cifrado y arrancar el servidor
# si no se define, se usan las claves que se utilizaron al activar el entorno de rescate (o al pedir la máquina si es nueva)
#
#hetzner_installimage_sshkeys: 
#  - "clave1"

Ejemplo de Playbook

# hetzner-installimage.yml
---
- hosts: all

  roles:
    - role: filviu.hetzner_installimage
      hetzner_installimage_image: "/root/images/Debian-1010-buster-64-minimal.tar.gz"

Si estás satisfecho con los valores predeterminados o los has añadido a tu playbook hetzner-installimage.yml, puedes ejecutar algo como:

ansible-playbook -i "1.2.3.4," -u root -e "hetzner_installimage_cryptpassword=MI_CONTRASEÑA_SEGURA" hetzner-installimage.yml

para evitar almacenar tu contraseña de cifrado (borrar historial de bash) y añadir la máquina a tu inventario. Alternativamente, puedes añadir la contraseña encriptada en el playbook.

Si rara vez necesitas configurar máquinas con discos sata en lugar de nvme (predeterminado), en lugar de crear un playbook separado, puedes sobrescribir la lista de discos en la línea de comandos:

ansible-playbook -i "1.2.3.4," -u root -e "hetzner_installimage_cryptpassword=MI_CONTRASEÑA_SEGURA" -e '{"hetzner_installimage_disks":["/dev/sda","/dev/sdb"]}' hetzner-installimage.yml

Menciones

  • Asegúrate de saber cómo y poder desbloquear tu servidor después del reinicio (es decir, no tendrás vlans privadas habilitadas en el entorno mínimo, necesitas permitir el puerto 22 ssh en la interfaz pública desde el firewall del robot de Hetzner si lo usas, etc.)
  • No es necesario agregar el servidor a tu inventario de ansible.
  • Debes definir la variable de claves ssh o comentarla. Si la defines y está vacía, el rol fallará o no podrás iniciar sesión para arrancar el servidor.
  • ¡Sin ayuda! asegúrate de guardar la contraseña, usar las claves SSH correctas y que el servidor esté arrancado en modo de rescate y no contenga datos que necesites.
  • Solo se ha probado con Debian 10 y 11. Debería funcionar también con Ubuntu.
  • ¡Debian 10 no soporta claves ED25519!

Licencia

MIT / BSD

Información del Autor

Este rol fue creado por Silviu Vulcan para satisfacer su propia necesidad.

Acerca del proyecto

Hetzner Installimage Setup. Encryption supported.

Instalar
ansible-galaxy install filviu.hetzner_installimage
Licencia
Unknown
Descargas
17.2k
Propietario
Sysadmin / DevOPS engineer. Probably doing devops before it was fashionable to be named that.