chore: ansible-lint review (almost done)

This commit is contained in:
Clément Désiles
2026-01-04 11:21:15 +01:00
parent 3e469fa25e
commit c79c445a23
67 changed files with 197 additions and 107 deletions
+31
View File
@@ -0,0 +1,31 @@
# net-config
This role configures a network interface.
## Requirements
None
## Example Playbook
```yaml
- hosts: servers
roles:
- role: net-config
interface:
name: lan0
mac_address: 02:a0:c9:8d:7e:b6
address: 192.168.1.2/24
gateway: 192.168.1.254
nameservers:
- 1.1.1.1
- 8.8.8.8
```
## License
MIT
## Author Information
Jokester <main@jokester.fr>
+19
View File
@@ -0,0 +1,19 @@
---
galaxy_info:
author: Jokester <main@jokester.fr>
description: Configure the network as set in the inventory
license: MIT
min_ansible_version: "2.10"
galaxy_tags:
- network
- configuration
- linux
- debian
- archlinux
platforms:
- name: Debian
versions:
- all
- name: ArchLinux
versions:
- all
+34
View File
@@ -0,0 +1,34 @@
---
- name: Check if the interface ipv4 address is defined
ansible.builtin.debug:
msg: "Warning: iface {{ interface.name }} has no defined ipv4 address, skipping configuration"
when: interface.ipv4.address is not defined
- name: Process interface configuration
when: interface.ipv4.address is defined
block:
- name: Create systemd-netdev file for virtual interface
when:
- interface.type is defined
- interface.type != 'ethernet'
ansible.builtin.template:
src: systemd.netdev.j2
dest: /etc/systemd/network/10-{{ interface.name }}.netdev
owner: root
group: root
mode: "0644"
register: netdev_result
- name: Create systemd-network configuration file
ansible.builtin.template:
src: systemd.network.j2
dest: /etc/systemd/network/20-{{ interface.name }}.network
owner: root
group: root
mode: "0644"
register: network_result
- name: Notify a reload is required
ansible.builtin.set_fact:
network_reload_required: true
when: netdev_result is changed or network_result is changed
@@ -0,0 +1,6 @@
# {{ ansible_managed }}
# systemd.netdev(5)
[NetDev]
Name={{ interface.name }}
Kind={{ interface.type }}
@@ -0,0 +1,29 @@
# {{ ansible_managed }}
# systemd.network(5)
[Match]
Name={{ interface.name }}
[Address]
Address={{ interface.ipv4.address }}
{% if interface.ipv4.metric is defined %}
RouteMetric={{ interface.ipv4.metric }}
{% endif %}
[Network]
{% if interface.type is defined and interface.type == 'bridge' %}
ConfigureWithoutCarrier=yes
{% endif %}
{% if interface.ipv4.nameservers is defined %}
{% for dns in interface.ipv4.nameservers %}
DNS={{ dns }}
{% endfor %}
{% endif %}
{% if interface.ipv4.gateway is defined %}
[Route]
Gateway={{ interface.ipv4.gateway }}
{% if interface.ipv4.metric is defined %}
Metric={{ interface.ipv4.metric }}
{% endif %}
{% endif %}