Compare commits
7 commits
1229621854
...
5046eae5f5
| Author | SHA1 | Date | |
|---|---|---|---|
| 5046eae5f5 | |||
| afde58b884 | |||
| db7fa4b8f7 | |||
| e0314da734 | |||
| ff049868e2 | |||
| f632971d1c | |||
| ab7e5d9a47 |
1 changed files with 0 additions and 127 deletions
|
|
@ -1,127 +0,0 @@
|
|||
- name: "LOCALHOST: adding new config to default profile of {{ incus.project.name | default('pxe') }} project"
|
||||
hebergemoi.incus.incus_profile:
|
||||
merge_profile: true
|
||||
name: "{{ incus.profile.name | default('pxe') }}"
|
||||
project: "{{ incus.project.name | default('pxe') }}"
|
||||
state: present
|
||||
config:
|
||||
boot.autostart: "false"
|
||||
security.secureboot: "false"
|
||||
devices:
|
||||
root:
|
||||
path: /
|
||||
size: 10GiB
|
||||
type: disk
|
||||
pool: default
|
||||
eth0:
|
||||
type: nic
|
||||
network: "{{ incus.bridge.name | default('pxebr1') }}"
|
||||
name: eth0
|
||||
|
||||
- name: "LOCALHOST: create {{ incus.instance.server.name | default('pxeServer') }} container"
|
||||
hebergemoi.incus.incus_container:
|
||||
name: "{{ incus.instance.server.name | default('pxeServer') }}"
|
||||
project: "{{ incus.project.name | default('pxe') }}"
|
||||
state: started
|
||||
ephemeral: "true"
|
||||
wait_for_ipv4_addresses: "true"
|
||||
devices:
|
||||
eth0:
|
||||
type: nic
|
||||
network: "{{ incus.bridge.name | default('pxebr1') }}"
|
||||
ipv4.address: "{{ incus.instance.server.addr_v4 | default('10.35.182.2') }}"
|
||||
source:
|
||||
type: image
|
||||
alias: debian/bookworm
|
||||
protocol: simplestreams
|
||||
profiles: ["{{ incus.profile.name | default('pxe') }}"]
|
||||
|
||||
- name: "LOCALHOST: refresh ansible_facts"
|
||||
setup:
|
||||
- name: "LOCALHOST: refresh inventory"
|
||||
meta: refresh_inventory
|
||||
|
||||
- hosts: "{{ hostvars.localhost.incus.instance.server.name | default('pxeServer') }}"
|
||||
tasks:
|
||||
- name: "{{ hostvars.localhost.incus.instance.server.name | default('pxeServer') }}: include config vars"
|
||||
ansible.builtin.include_vars:
|
||||
dir: ../config
|
||||
extensions:
|
||||
- "yml"
|
||||
- "yaml"
|
||||
ignore_unknown_extensions: true
|
||||
|
||||
- name: "{{ incus.instance.server.name | default('pxeServer') }}: install packages"
|
||||
ansible.builtin.package:
|
||||
name:
|
||||
- make
|
||||
- gcc
|
||||
- binutils
|
||||
- git
|
||||
- perl
|
||||
- liblzma-dev
|
||||
- mtools
|
||||
- mkisofs
|
||||
- syslinux
|
||||
- isolinux
|
||||
- nginx
|
||||
- dnsmasq
|
||||
state: present
|
||||
|
||||
- name: "{{ incus.instance.server.name | default('pxeServer') }}: clone ipxe repository"
|
||||
ansible.builtin.git:
|
||||
repo: https://github.com/ipxe/ipxe.git
|
||||
dest: /opt/ipxe
|
||||
|
||||
- name: "{{ incus.instance.server.name | default('pxeServer') }}: make ipxe binary"
|
||||
community.general.make:
|
||||
chdir: /opt/ipxe/src
|
||||
target: bin-x86_64-efi/ipxe.efi
|
||||
jobs: 4
|
||||
|
||||
- name: "{{ incus.instance.server.name | default('pxeServer') }}: create {{ incus.instance.server.services.dnsmasq.tftp_root }} directory"
|
||||
ansible.builtin.file:
|
||||
path: "{{ incus.instance.server.services.dnsmasq.tftp_root | default('/srv/tftp') }}"
|
||||
state: directory
|
||||
|
||||
- name: "{{ incus.instance.server.name | default('pxeServer') }}: copy ipxe binary into tftp directory service"
|
||||
ansible.builtin.copy:
|
||||
remote_src: true
|
||||
src: /opt/ipxe/src/bin-x86_64-efi/ipxe.efi
|
||||
dest: "{{ incus.instance.server.services.dnsmasq.tftp_root | default('/srv/tftp') }}/ipxe.efi"
|
||||
owner: dnsmasq
|
||||
|
||||
- name: "{{ incus.instance.server.name | default('pxeServer') }}: configure dnsmasq tftp service"
|
||||
ansible.builtin.template:
|
||||
src: templates/dnsmasq/tftp.conf.j2
|
||||
dest: /etc/dnsmasq.d/tftp.conf
|
||||
|
||||
- name: "{{ incus.instance.server.name | default('pxeServer') }}: configure dnsmasq dhcp service if enabled"
|
||||
ansible.builtin.template:
|
||||
src: templates/dnsmasq/dhcp.conf.j2
|
||||
dest: /etc/dnsmasq.d/dhcp.conf
|
||||
when: incus.instance.server.services.dnsmasq.dhcp
|
||||
|
||||
- name: "{{ incus.instance.server.name | default('pxeServer') }}: remove dnsmasq dhcp service file if disabled"
|
||||
ansible.builtin.file:
|
||||
state: absent
|
||||
path: /etc/dnsmasq.d/dhcp.conf
|
||||
when: not incus.instance.server.services.dnsmasq.dhcp
|
||||
|
||||
- name: "{{ incus.instance.server.name | default('pxeServer') }}: activate dnsmasq systemd service"
|
||||
ansible.builtin.systemd:
|
||||
name: dnsmasq
|
||||
state: started
|
||||
|
||||
- hosts: localhost
|
||||
tasks:
|
||||
- name: "LOCALHOST: create empty virtual machine {{ incus.instance.client.name | default('vmTest') }} for pxebooting"
|
||||
hebergemoi.incus.incus_container:
|
||||
type: virtual-machine
|
||||
name: "{{ incus.instance.client.name | default('vmTest') }}"
|
||||
project: "{{ incus.project.name | default('pxe') }}"
|
||||
ephemeral: "true"
|
||||
state: started
|
||||
source:
|
||||
type: none
|
||||
profiles: ["{{ incus.profile.name | default('pxe') }}"]
|
||||
Loading…
Add table
Add a link
Reference in a new issue