refactor(vars): add system/hypervisor dict inputs
This commit is contained in:
@@ -82,15 +82,100 @@
|
||||
- configuration_net_mac | length > 0
|
||||
fail_msg: Failed to detect the MAC address for network interface {{ configuration_net_inf }}.
|
||||
|
||||
- name: Copy NetworkManager keyfile
|
||||
ansible.builtin.template:
|
||||
src: network.j2
|
||||
dest: /mnt/etc/NetworkManager/system-connections/LAN.nmconnection
|
||||
mode: "0600"
|
||||
- name: Configure NetworkManager profile
|
||||
when: os | lower not in ["alpine", "void"]
|
||||
block:
|
||||
- name: Copy NetworkManager keyfile
|
||||
ansible.builtin.template:
|
||||
src: network.j2
|
||||
dest: /mnt/etc/NetworkManager/system-connections/LAN.nmconnection
|
||||
mode: "0600"
|
||||
|
||||
- name: Fix Ubuntu unmanaged devices
|
||||
when: os | lower in ["ubuntu", "ubuntu-lts"]
|
||||
ansible.builtin.file:
|
||||
path: /mnt/etc/NetworkManager/conf.d/10-globally-managed-devices.conf
|
||||
state: touch
|
||||
mode: "0644"
|
||||
- name: Fix Ubuntu unmanaged devices
|
||||
when: os | lower in ["ubuntu", "ubuntu-lts"]
|
||||
ansible.builtin.file:
|
||||
path: /mnt/etc/NetworkManager/conf.d/10-globally-managed-devices.conf
|
||||
state: touch
|
||||
mode: "0644"
|
||||
|
||||
- name: Configure Alpine networking
|
||||
when: os | lower == "alpine"
|
||||
vars:
|
||||
configuration_dns_value: "{{ system_cfg.dns_servers if system_cfg.dns_servers is defined else '' }}"
|
||||
configuration_dns_list_raw: >-
|
||||
{{
|
||||
configuration_dns_value
|
||||
if configuration_dns_value is iterable and configuration_dns_value is not string
|
||||
else configuration_dns_value.split(',')
|
||||
}}
|
||||
configuration_dns_list: >-
|
||||
{{ configuration_dns_list_raw | map('trim') | reject('equalto', '') | list }}
|
||||
configuration_alpine_static: >-
|
||||
{{
|
||||
system_cfg.ip is defined
|
||||
and system_cfg.ip | string | length > 0
|
||||
and system_cfg.prefix is defined
|
||||
and (system_cfg.prefix | string | length) > 0
|
||||
}}
|
||||
block:
|
||||
- name: Write Alpine network interfaces
|
||||
ansible.builtin.copy:
|
||||
dest: /mnt/etc/network/interfaces
|
||||
mode: "0644"
|
||||
content: |
|
||||
auto lo
|
||||
iface lo inet loopback
|
||||
|
||||
auto {{ configuration_net_inf }}
|
||||
iface {{ configuration_net_inf }} inet {{ 'static' if configuration_alpine_static | bool else 'dhcp' }}
|
||||
{% if configuration_alpine_static | bool %}
|
||||
address {{ system_cfg.ip }}/{{ system_cfg.prefix }}
|
||||
{% if system_cfg.gateway is defined and system_cfg.gateway | string | length %}
|
||||
gateway {{ system_cfg.gateway }}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
- name: Set Alpine DNS resolvers
|
||||
when: configuration_dns_list | length > 0
|
||||
ansible.builtin.copy:
|
||||
dest: /mnt/etc/resolv.conf
|
||||
mode: "0644"
|
||||
content: |
|
||||
{% for resolver in configuration_dns_list %}
|
||||
nameserver {{ resolver }}
|
||||
{% endfor %}
|
||||
|
||||
- name: Configure Void networking
|
||||
when: os | lower == "void"
|
||||
vars:
|
||||
configuration_dns_value: "{{ system_cfg.dns_servers if system_cfg.dns_servers is defined else '' }}"
|
||||
configuration_dns_list_raw: >-
|
||||
{{
|
||||
configuration_dns_value
|
||||
if configuration_dns_value is iterable and configuration_dns_value is not string
|
||||
else configuration_dns_value.split(',')
|
||||
}}
|
||||
configuration_dns_list: >-
|
||||
{{ configuration_dns_list_raw | map('trim') | reject('equalto', '') | list }}
|
||||
configuration_void_static: >-
|
||||
{{
|
||||
system_cfg.ip is defined
|
||||
and system_cfg.ip | string | length > 0
|
||||
and system_cfg.prefix is defined
|
||||
and (system_cfg.prefix | string | length) > 0
|
||||
}}
|
||||
block:
|
||||
- name: Write dhcpcd configuration for static networking
|
||||
when: configuration_void_static | bool
|
||||
ansible.builtin.copy:
|
||||
dest: /mnt/etc/dhcpcd.conf
|
||||
mode: "0644"
|
||||
content: |
|
||||
interface {{ configuration_net_inf }}
|
||||
static ip_address={{ system_cfg.ip }}/{{ system_cfg.prefix }}
|
||||
{% if system_cfg.gateway is defined and system_cfg.gateway | string | length %}
|
||||
static routers={{ system_cfg.gateway }}
|
||||
{% endif %}
|
||||
{% if configuration_dns_list | length > 0 %}
|
||||
static domain_name_servers={{ configuration_dns_list | join(' ') }}
|
||||
{% endif %}
|
||||
|
||||
Reference in New Issue
Block a user