X-Git-Url: https://git.realraum.at/?a=blobdiff_plain;f=ansible%2Froles%2Fpreseed%2Ftasks%2Fmain.yml;fp=ansible%2Froles%2Fpreseed%2Ftasks%2Fmain.yml;h=f77540ad6ae5231c068a35a61edc662612d7ac17;hb=6b3a9335bde11948e7538930d57fd2c2853f6583;hp=0000000000000000000000000000000000000000;hpb=2fb00147adff89fa701ef21a4f6d0da696d27488;p=noc.git diff --git a/ansible/roles/preseed/tasks/main.yml b/ansible/roles/preseed/tasks/main.yml new file mode 100644 index 0000000..f77540a --- /dev/null +++ b/ansible/roles/preseed/tasks/main.yml @@ -0,0 +1,39 @@ +- block: + - name: Make a temporary directory + command: mktemp -d + register: tmpdir + + - set_fact: + tmpdir: "{{ tmpdir.stdout }}" + initramfs: "{{ preseed_path | mandatory }}/{{ hostname }}-{{ distro }}-{{ distcodename }}.initrd.gz" + + - name: Copy initramfs into position + copy: + remote_src: yes + src: "{{ debian_installer_path | mandatory }}/{{ distro }}-{{ distcodename }}/{{ install.arch | default('amd64') }}/initrd.gz" + dest: "{{ initramfs }}" + + - name: Generate preseed file + template: + src: "preseed_{{ distro }}-{{ distcodename }}.cfg.j2" + dest: "{{ tmpdir }}/preseed.cfg" + + - name: Generate authorized_keys file + authorized_key: + user: root + path: "{{ tmpdir }}/authorized_keys" + key: "{{ ssh_keys | join('\n') }}" + + - name: Inject files into initramfs + shell: cpio -H newc -o | gzip -9 >> '{{ initramfs }}' + args: + chdir: "{{ tmpdir }}" + stdin: | + preseed.cfg + authorized_keys + + always: + - name: Delete temporary directory + file: + path: "{{ tmpdir }}" + state: absent