summaryrefslogtreecommitdiff
path: root/roles
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2023-08-23 19:21:23 +0200
committerChristian Pointner <equinox@spreadspace.org>2023-08-23 19:21:23 +0200
commitc95da45995cb6861edbb14afd51bb81f5602c10f (patch)
treeb7b994de310d2b63505e4ebb431832bd8cf9552b /roles
parentadd ownca x509/certifcate provider (diff)
cloud/hetzner: add support for arm64 based machines
Diffstat (limited to 'roles')
-rw-r--r--roles/cloud/install/defaults/main.yml1
-rw-r--r--roles/cloud/install/filter_plugins/hetzner.py9
-rw-r--r--roles/cloud/install/tasks/hetzner_installimage.yml2
-rw-r--r--roles/cloud/install/templates/hetzner_installimage.conf.j25
4 files changed, 6 insertions, 11 deletions
diff --git a/roles/cloud/install/defaults/main.yml b/roles/cloud/install/defaults/main.yml
index 195b6bd0..5330a83e 100644
--- a/roles/cloud/install/defaults/main.yml
+++ b/roles/cloud/install/defaults/main.yml
@@ -1,5 +1,6 @@
---
hetzner_boot_size: 512M
+hetzner_efi_esp_size: 256M
hetzner_system_lvm_size_default: all
hetzner_system_lvm_volumes_default:
diff --git a/roles/cloud/install/filter_plugins/hetzner.py b/roles/cloud/install/filter_plugins/hetzner.py
index 0aa19c17..d01be0ba 100644
--- a/roles/cloud/install/filter_plugins/hetzner.py
+++ b/roles/cloud/install/filter_plugins/hetzner.py
@@ -5,15 +5,6 @@ __metaclass__ = type
from ansible import errors
-def hetzner_install_image_name_glob(data):
- try:
- if data[0] == 'debian' and data[1] != 'buster':
- return "debian-*-%s-amd64-base.tar.gz" % (data[1])
- return "%s-*-%s-64-minimal.tar.gz" % (data[0], data[1])
- except Exception as e:
- raise errors.AnsibleFilterError("hetzner_install_image_name(): %s" % str(e))
-
-
def hroot_extract_ssh_key_fingerprints(data):
try:
return [k['key']['fingerprint'] for k in data]
diff --git a/roles/cloud/install/tasks/hetzner_installimage.yml b/roles/cloud/install/tasks/hetzner_installimage.yml
index 57397998..c8bca1c0 100644
--- a/roles/cloud/install/tasks/hetzner_installimage.yml
+++ b/roles/cloud/install/tasks/hetzner_installimage.yml
@@ -6,7 +6,7 @@
shell: |
set -o pipefail
shopt -s nocaseglob
- ls /root/images/{{ (install_distro, install_codename) | hetzner_install_image_name_glob }} | sort -r | head -n 1
+ ls /root/images/{{ install_distro }}-*-{{ install_codename }}-{{ install.arch | default('amd64') }}-base.tar.gz | sort -r | head -n 1
changed_when: false
register: latest_image
diff --git a/roles/cloud/install/templates/hetzner_installimage.conf.j2 b/roles/cloud/install/templates/hetzner_installimage.conf.j2
index acdf42c4..5e16000d 100644
--- a/roles/cloud/install/templates/hetzner_installimage.conf.j2
+++ b/roles/cloud/install/templates/hetzner_installimage.conf.j2
@@ -13,7 +13,10 @@ DRIVE1 {{ install.disks.primary }}
DRIVE1 /dev/sda
{% endif %}
BOOTLOADER grub
-PART /boot ext4 {{ hetzner_boot_size }}
+{% if (install.efi | default(false)) %}
+PART /boot/efi esp {{ hetzner_efi_esp_size }}
+{% endif %}
+PART /boot ext4 {{ hetzner_boot_size }}
{% set system_lvm_size = install.system_lvm.size | default(hetzner_system_lvm_size_default) %}
PART lvm {{ host_name }} {{ system_lvm_size }}
{% if system_lvm_size != "all" %}