diff --git a/packer/Dockerfile b/packer/Dockerfile index 6273013..27a7fd6 100644 --- a/packer/Dockerfile +++ b/packer/Dockerfile @@ -1,4 +1,4 @@ -FROM hashicorp/packer:1.5.1 +FROM hashicorp/packer:1.5.4 ARG PROXY="" ENV http_proxy="${PROXY}" @@ -10,7 +10,8 @@ ARG GROUP=packer WORKDIR /packer RUN apk add --update qemu qemu-system-x86_64 qemu-img \ - vim htop util-linux gzip sysfsutils openssh-client openssh-keygen sudo ansible + vim htop util-linux gzip sysfsutils openssh-client \ + openssh-keygen sudo ansible sshpass RUN addgroup -g 1000 "${GROUP}" && \ adduser -u 1000 -D -G "${GROUP}" "${USER}" && \ diff --git a/packer/assets/ansible/roles/setup/defaults/main.yml b/packer/assets/ansible/roles/setup/defaults/main.yml new file mode 100644 index 0000000..9c10453 --- /dev/null +++ b/packer/assets/ansible/roles/setup/defaults/main.yml @@ -0,0 +1,29 @@ +--- +# default variable relative to paritionning + +devices_path: /dev/sda +devices_system: + - name: root + dev: /dev/sda1 +lvs: + - name: "bios" + size: "2M" + type: "bootloader" + descr: "BIOS boot partition" + - name: "boot" + size: "128M" + type: "ext2" + descr: "Boot/EFI system partition" + - name: "swap" + size: "1G" + type: "swap" + descr: "Swap partition" + - name: "root" + size: "22G" + type: "ext4" + descr: "Root partition" + - name: "home" + size: "7G" + type: "ext4" + descr: "home partition" + diff --git a/packer/assets/ansible/roles/setup/tasks/.partition.yml.swp b/packer/assets/ansible/roles/setup/tasks/.partition.yml.swp deleted file mode 100644 index 032ccc8..0000000 Binary files a/packer/assets/ansible/roles/setup/tasks/.partition.yml.swp and /dev/null differ diff --git a/packer/assets/ansible/roles/setup/tasks/partition.yml b/packer/assets/ansible/roles/setup/tasks/partition.yml index e4206b4..df4490c 100644 --- a/packer/assets/ansible/roles/setup/tasks/partition.yml +++ b/packer/assets/ansible/roles/setup/tasks/partition.yml @@ -3,10 +3,34 @@ - name: "Create a new primary partition for LVM" parted: - device: /dev/sda - name: "root" + device: "{{ devices_path }}" + name: "{{ item.name }}" label: gpt - number: 1 + number: "{{ ansible_loop.index }}" flags: [ lvm ] state: present + part_end: "100%" + loop: "{{ devices_system }}" + loop_control: + extended: yes + +- name: "Create vg and add disk to it" + lvg: + vg: vg_system + pvs: "{{ devices_system | map(attribute='dev') | join(',') }}" + +- name: "Create list of lvs" + lvol: + vg: "vg_system" + lv: "{{ item.name }}" + size: "{{ item.size }}" + loop: "{{ lvs }}" + + + + + + + + diff --git a/packer/assets/ansible/roles/setup/vars/main.yml b/packer/assets/ansible/roles/setup/vars/main.yml deleted file mode 100644 index e69de29..0000000 diff --git a/packer/assets/gentoo.json b/packer/assets/gentoo.json index dab4bef..04a5c2b 100644 --- a/packer/assets/gentoo.json +++ b/packer/assets/gentoo.json @@ -86,7 +86,8 @@ "playbook_file": "/packer/ansible/playbook.yml", "extra_arguments": [ "--extra-vars", "ssh_pub={{user `ssh_pub_key`}} generated_user={{user `generated_user`}} generated_group={{user `generated_group`}}" ], "groups": "default", - "user": "root" + "user": "root", + "ansible_env_vars": [ "ANSIBLE_HOST_KEY_CHECKING=False" ] } ], "variables": {