summaryrefslogtreecommitdiff
path: root/roles/installer
diff options
context:
space:
mode:
Diffstat (limited to 'roles/installer')
-rw-r--r--roles/installer/debian/defaults/main.yml24
-rw-r--r--roles/installer/debian/tasks/main.yml27
-rw-r--r--roles/installer/openbsd/defaults/main.yml10
-rw-r--r--roles/installer/openbsd/tasks/main.yml17
4 files changed, 78 insertions, 0 deletions
diff --git a/roles/installer/debian/defaults/main.yml b/roles/installer/debian/defaults/main.yml
new file mode 100644
index 00000000..b778e85b
--- /dev/null
+++ b/roles/installer/debian/defaults/main.yml
@@ -0,0 +1,24 @@
+distros:
+ - distro: debian
+ codename: stretch
+ arch:
+ - amd64
+ - i386
+ - distro: debian
+ codename: buster
+ arch:
+ - amd64
+ - i386
+
+ - distro: ubuntu
+ codename: bionic
+ arch:
+ - amd64
+ - i386
+
+debian_installer_force_download: no
+debian_installer_url:
+ debian: "https://debian.ffgraz.net/debian"
+ ubuntu: "https://debian.ffgraz.net/ubuntu"
+
+debian_installer_path: "{{ installer_path }}"
diff --git a/roles/installer/debian/tasks/main.yml b/roles/installer/debian/tasks/main.yml
new file mode 100644
index 00000000..77228e91
--- /dev/null
+++ b/roles/installer/debian/tasks/main.yml
@@ -0,0 +1,27 @@
+- name: prepare directories for installer images
+ loop: "{{ distros | subelements('arch') }}"
+ loop_control:
+ label: "{{ item.0.distro }}/{{ item.0.codename }} {{ item.1 }}"
+ file:
+ name: "{{ debian_installer_path }}/{{ item.0.distro }}-{{ item.0.codename }}/{{ item.1 }}"
+ state: directory
+
+- name: download installer kernel images
+ loop: "{{ distros | subelements('arch') }}"
+ loop_control:
+ label: "{{ item.0.distro }}/{{ item.0.codename }} {{ item.1 }}"
+ get_url:
+ url: "{{ debian_installer_url[item.0.distro] }}/dists/{{ item.0.codename }}/main/installer-{{ item.1 }}/current/images/netboot/{{ item.0.distro }}-installer/{{ item.1 }}/linux"
+ dest: "{{ debian_installer_path }}/{{ item.0.distro }}-{{ item.0.codename }}/{{ item.1 }}/linux"
+ mode: 0644
+ force: "{{ debian_installer_force_download }}"
+
+- name: download installer initrd.gz
+ loop: "{{ distros | subelements('arch') }}"
+ loop_control:
+ label: "{{ item.0.distro }}/{{ item.0.codename }} {{ item.1 }}"
+ get_url:
+ url: "{{ debian_installer_url[item.0.distro] }}/dists/{{ item.0.codename }}/main/installer-{{ item.1 }}/current/images/netboot/{{ item.0.distro }}-installer/{{ item.1 }}/initrd.gz"
+ dest: "{{ debian_installer_path }}/{{ item.0.distro }}-{{ item.0.codename }}/{{ item.1 }}/initrd.gz"
+ mode: 0644
+ force: "{{ debian_installer_force_download }}"
diff --git a/roles/installer/openbsd/defaults/main.yml b/roles/installer/openbsd/defaults/main.yml
new file mode 100644
index 00000000..4538646f
--- /dev/null
+++ b/roles/installer/openbsd/defaults/main.yml
@@ -0,0 +1,10 @@
+openbsd_versions:
+ - version: 6.6
+ arch:
+ - amd64
+ - i386
+
+openbsd_installer_force_download: no
+openbsd_installer_url: "https://cdn.openbsd.org/pub/OpenBSD/"
+
+openbsd_installer_path: "{{ installer_path }}"
diff --git a/roles/installer/openbsd/tasks/main.yml b/roles/installer/openbsd/tasks/main.yml
new file mode 100644
index 00000000..6aeba7ef
--- /dev/null
+++ b/roles/installer/openbsd/tasks/main.yml
@@ -0,0 +1,17 @@
+- name: prepare directories for installer isos
+ loop: "{{ openbsd_versions | subelements('arch') }}"
+ loop_control:
+ label: "openbsd-{{ item.0.version }} {{ item.1 }}"
+ file:
+ name: "{{ openbsd_installer_path }}/openbsd-{{ item.0.version }}/{{ item.1 }}"
+ state: directory
+
+- name: download installer isos
+ loop: "{{ openbsd_versions | subelements('arch') }}"
+ loop_control:
+ label: "openbsd-{{ item.0.version }} {{ item.1 }}"
+ get_url:
+ url: "{{ openbsd_installer_url }}/{{ item.0.version }}/{{ item.1 }}/install{{ item.0.version | replace('.', '') }}.iso"
+ dest: "{{ openbsd_installer_path }}/openbsd-{{ item.0.version }}/{{ item.1 }}/install.iso"
+ mode: 0644
+ force: "{{ openbsd_installer_force_download }}"