refactor(ansible): move RouterOS config into a role

Move flat tasks/ and vars/routeros-secrets.yml into
roles/routeros/ with a main.yml that imports the domain
task files in order. Update playbooks/routeros.yml to
use the role instead of importing tasks directly.
This commit is contained in:
2026-05-13 20:48:01 +02:00
parent d3a722df92
commit 17db139125
13 changed files with 37 additions and 31 deletions
+1
View File
@@ -1,5 +1,6 @@
[defaults] [defaults]
inventory = inventory/hosts.yml inventory = inventory/hosts.yml
roles_path = roles
host_key_checking = False host_key_checking = False
retry_files_enabled = False retry_files_enabled = False
result_format = yaml result_format = yaml
+2 -30
View File
@@ -4,9 +4,6 @@
gather_facts: false gather_facts: false
connection: local connection: local
vars_files:
- ../vars/routeros-secrets.yml
pre_tasks: pre_tasks:
- name: Load router secrets from OpenBao - name: Load router secrets from OpenBao
ansible.builtin.set_fact: ansible.builtin.set_fact:
@@ -63,30 +60,5 @@
force_no_cert: true force_no_cert: true
encoding: UTF-8 encoding: UTF-8
tasks: roles:
- name: Preflight checks - role: routeros
ansible.builtin.import_tasks: ../tasks/preflight.yml
- name: Base network configuration
ansible.builtin.import_tasks: ../tasks/base.yml
- name: WAN and tunnel interfaces
ansible.builtin.import_tasks: ../tasks/wan.yml
- name: Hardware and platform tuning
ansible.builtin.import_tasks: ../tasks/hardware.yml
- name: RouterOS container configuration
ansible.builtin.import_tasks: ../tasks/containers.yml
- name: Addressing configuration
ansible.builtin.import_tasks: ../tasks/addressing.yml
- name: Firewall configuration
ansible.builtin.import_tasks: ../tasks/firewall.yml
- name: Routing configuration
ansible.builtin.import_tasks: ../tasks/routing.yml
- name: System configuration
ansible.builtin.import_tasks: ../tasks/system.yml
@@ -67,6 +67,9 @@
- bridge: bridge1 - bridge: bridge1
interface: ether2 interface: ether2
pvid: 2 pvid: 2
- bridge: bridge1
interface: ether3
comment: OpenWrt AP (dlink)
- bridge: bridge1 - bridge: bridge1
interface: ether8 interface: ether8
pvid: 4 pvid: 4
@@ -89,7 +92,7 @@
path: interface bridge vlan path: interface bridge vlan
data: data:
- bridge: bridge1 - bridge: bridge1
tagged: sfp-sfpplus2 tagged: sfp-sfpplus2,ether3
untagged: ether1,ether2,ether9 untagged: ether1,ether2,ether9
vlan-ids: 2 vlan-ids: 2
- bridge: bridge1 - bridge: bridge1
@@ -13,6 +13,9 @@
- default_name: ether2 - default_name: ether2
config: config:
comment: Wifi środek comment: Wifi środek
- default_name: ether3
config:
comment: OpenWrt AP (dlink)
- default_name: ether8 - default_name: ether8
config: config:
comment: Serwer comment: Serwer
+27
View File
@@ -0,0 +1,27 @@
---
- name: Preflight checks
ansible.builtin.import_tasks: preflight.yml
- name: Base network configuration
ansible.builtin.import_tasks: base.yml
- name: WAN and tunnel interfaces
ansible.builtin.import_tasks: wan.yml
- name: Hardware and platform tuning
ansible.builtin.import_tasks: hardware.yml
- name: RouterOS container configuration
ansible.builtin.import_tasks: containers.yml
- name: Addressing configuration
ansible.builtin.import_tasks: addressing.yml
- name: Firewall configuration
ansible.builtin.import_tasks: firewall.yml
- name: Routing configuration
ansible.builtin.import_tasks: routing.yml
- name: System configuration
ansible.builtin.import_tasks: system.yml