Compare commits

...

328 commits

Author SHA1 Message Date
8e8bf490b9
knotd: fix TTL 2025-10-12 21:07:45 +02:00
c7baba441f
switchs: Add EDC access point 2025-10-09 21:01:43 +02:00
korenstin
f274a515a9
dns: log-{1,2} & pve 2025-10-09 19:14:53 +02:00
korenstin
b7c1b86056
grafana-ng: configuration firewall, dns, caddy 2025-10-07 08:47:55 +02:00
1deba6ebf8
switchs: Improve naming of sw-ec-1 2025-10-05 16:13:05 +02:00
8f600c8ec5 Room 267 borne ajout 2025-10-02 23:30:29 +02:00
korenstin
4cf5d4ee1f
prometheus: monitoring jitsi-ng 2025-09-30 23:00:48 +02:00
2d2177bd25
switchs: Improve defaults + Add sw-ec-1 2025-09-30 21:55:34 +02:00
adbd4d5782
dns + firewall: Add jitsi 2025-09-30 21:54:26 +02:00
korenstin
96e4bf88bf
Switch sw-f* pas check 2025-09-30 20:17:33 +02:00
korenstin
1c1ba4cd84
Switch sw-ec-* et sw-r* check 2025-09-30 20:16:26 +02:00
b4a67dd645
dns: Add tor + firewall: Allow ntp + SSH 2025-09-25 20:55:08 +02:00
b184ce96dc
Merge branch 'new-infra' of gitea.auro.re:aurore/ansible into new-infra 2025-09-09 08:05:13 +02:00
a16164d68b
Misc 2025-09-09 08:04:46 +02:00
1ec2cf8770
dns: Add tor.pub.infra.auro.re 2025-09-08 09:20:36 +02:00
9a730f7dd9
dns: Remove grocy-bric + Add lafeychine.adh 2025-09-05 11:25:23 +02:00
0ade5a4be1 Merge pull request 'switch_rest' (#107) from switch_rest into new-infra
Reviewed-on: #107
2025-08-28 21:39:59 +02:00
korenstin
ef456e3ea2
Remove switch-dev and update ntp 2025-08-28 21:31:26 +02:00
korenstin
b74cf3faea
Add example and typo 2025-08-14 21:37:50 +02:00
korenstin
ec13538cb7
Switch: creation of a module to configure the switchs with Ansible. 2025-08-08 20:24:51 +02:00
korenstin
9c3dc75323
Remove pacaterie 2025-08-08 10:59:02 +02:00
korenstin
44b36b16c5
On enlève radius-fleming de la surveillance, il est down de toute façon (cf df420920fc) 2025-08-08 01:24:20 +02:00
korenstin
d93dee83f0 Config backup/prune zfs 2025-08-08 00:28:34 +02:00
953b29c51d Retrait de chapalux des hosts 2025-08-08 00:24:51 +02:00
59c0fda15b Ajout de ZFS-backup 2025-06-26 22:08:46 +02:00
bc38574a07
prom: increase ilo timeout + retries 2025-01-02 15:37:59 +01:00
19ad151e92
prom: add compaq mibs 2025-01-02 15:37:40 +01:00
c4b14cb447
fix mac address for ns-3.ovh.infra 2025-01-02 15:08:31 +01:00
c5cc75e826
prom: increase scrape_interval for quanta targets 2025-01-02 15:08:03 +01:00
4ae69ceb89
prom: minimal monitoring of ilos 2025-01-02 15:07:23 +01:00
7119715720
chronyd: replace ipaddr with ansible.utils.ipaddr 2025-01-01 14:16:44 +01:00
13c517387d
playbooks: add pve_network to some playbooks 2025-01-01 14:16:09 +01:00
1d38cb9943
dns: add various hosts 2025-01-01 14:15:25 +01:00
3b1ae6206f
misc: dns + locales + pve + … 2024-06-22 20:27:15 +02:00
81f95aa14d
collabora: misc 2024-05-19 16:30:50 +02:00
708781b722
collabora: migrate to new infra 2024-05-19 15:26:16 +02:00
0782695471
misc: misc 2024-05-19 13:59:17 +02:00
1e1783fd59
caddy: add email addr 2024-05-02 22:43:25 +02:00
4d0f820df0
Merge branch 'new-infra' of gitea.auro.re:aurore/ansible into new-infra 2024-05-02 22:40:45 +02:00
48c4ecafae
WIP: caddy: add support for error msg 2024-05-02 22:40:26 +02:00
9aaa619173
chore(bird): Improve code readability 2024-04-01 00:20:41 +02:00
54d227232b
chore(bird): Fix None flag 2024-04-01 00:13:22 +02:00
ba033f9099
feat(bird): Add net.match 2024-04-01 00:06:05 +02:00
8d0139925e
feat(bird): Add as_path.{contains,len}, net.len 2024-03-31 18:12:38 +02:00
7f9ccf3e59
chore(black): Add configuration file (line-limit) 2024-03-31 16:12:51 +02:00
4f18b6c8ef
relax temperature alert for quanta switch 2024-03-10 12:04:00 +01:00
004a033606
Merge branch 'new-infra' of gitea.auro.re:aurore/ansible into new-infra 2024-03-09 20:18:43 +01:00
d20c89defe
WIP: caddy: very early role 2024-03-09 20:18:12 +01:00
97496ef4b8
path security issue (getting root privileges) 2024-03-09 20:09:24 +01:00
0b40cc4b9b
configure timeout on snmp scraping for quanta 2024-03-09 19:35:38 +01:00
66e6c960d3
misc 2024-03-09 12:13:19 +01:00
a004555681 Merge pull request 'collabora' (#106) from collabora into new-infra
Reviewed-on: #106
2024-02-24 19:34:24 +01:00
7fe391c16f
grafana: minor fixes again again again !!!! 2024-02-24 18:55:10 +01:00
e660d8688a
grafana: minor fixes again again !!!! 2024-02-24 14:32:51 +01:00
e5e6dd8056
grafana: minor fixes again 2024-02-24 14:28:08 +01:00
67b29517e2
grafana: i am dumb 2024-02-24 14:06:17 +01:00
b141a1d955 grafana: minor fixes 2024-02-24 13:16:19 +01:00
f70e515769
collabora: minor fixes 2024-02-20 20:44:57 +01:00
806fa25b06
Initial config of collabora 2024-02-17 12:45:33 +01:00
00dcf27614
Merge branch 'new-infra' of gitea.auro.re:aurore/ansible into new-infra 2024-01-28 19:33:04 +01:00
029b001f9b
misc: add collabora.pub 2024-01-28 19:30:51 +01:00
39119a4ffa
feat(mail): Add dovecot configuration 2023-12-17 18:08:54 +01:00
10087b354b
feat(mail): Add postfix configuration 2023-12-17 17:30:28 +01:00
3f02039de1
base_utils: add some useful utils 2023-12-17 15:47:45 +01:00
91d3087047
WIP: misc: test infrastructure for mail 2023-12-17 15:47:06 +01:00
887aadb5fe
misc: WIP: vpn again 2023-11-07 06:07:48 +01:00
02910a8fc0
misc: WIP: vpn 2023-11-07 04:11:28 +01:00
061b6f1049
prometheus_snmp: WIP: lldp 2023-11-06 22:07:06 +01:00
94ba30cc3b
prometheus: remove redundant '%' symbols 2023-11-06 22:05:53 +01:00
934137903a
misc: move some plugins to roles 2023-11-06 22:05:06 +01:00
8359d2ebea
prometheus: Add LLDP for quanta 2023-11-04 23:26:10 +01:00
5c8358ec95
bird: add rr client/cluster id option 2023-11-04 21:43:32 +01:00
261ccfeb5c
WIP: misc: add eaton ups 2023-11-04 21:36:27 +01:00
9eb5793b38
prometheus: fix quanta temp alert queries 2023-11-04 14:02:06 +01:00
68f36ae048
prometheus: filter out outtake quanta sensors 2023-11-04 13:49:52 +01:00
c2f2c03af6
prometheus: use humanize/humanizePercentage 2023-11-04 13:33:06 +01:00
19953b2951
misc: add ff-3.core.sw 2023-11-04 13:23:47 +01:00
3864b641eb
prometheus: cleanup bird alerts 2023-11-03 20:52:12 +01:00
c4744e9ab6
prometheus: fix typo 2023-11-03 20:51:49 +01:00
98f122bb69
prometheus: lower changes threshold for keepalived alerts 2023-11-03 20:51:17 +01:00
41852b4ab8
prometheus: add keep_firing_for for QuantaTemp 2023-11-03 20:50:56 +01:00
a61c997366
prometheus: monitor link usage for switches 2023-11-03 20:50:34 +01:00
3e16224213
misc: add more quanta switches 2023-11-03 20:50:09 +01:00
136dcb693f
misc: add r3-1.core.sw 2023-11-02 22:22:32 +01:00
db7729b3cb
prometheus_snmp: set type of ifType 2023-11-02 22:22:14 +01:00
6949cc202f
firewall: allow monit → prometheus-bird-exporter on infra 2023-11-02 21:32:32 +01:00
83ff27b856
misc: add ec-1.core.sw 2023-11-02 21:32:11 +01:00
16a0d95936
prometheus: refactoring of the config 2023-11-02 20:27:45 +01:00
2928d7e809
misc: infra: edge bgp session 2023-11-02 17:55:52 +01:00
071d82529d
misc: edge: oti vip 2023-11-02 17:55:07 +01:00
f9f278cb65
prometheus: temporarily disable alerts for rezel, vr & isp 2023-11-02 06:15:47 +01:00
4c61d2bc18
prometheus: add bird bgp import alert rules 2023-11-02 06:11:32 +01:00
3fa998ae68
prometheus: cleanup + bird alert rules 2023-11-02 05:53:02 +01:00
071daad994
prometheus_snmp: retype if(Admin|Oper)Status 2023-11-02 00:37:43 +01:00
fc7f59b231
misc: various monitoring changes 2023-11-02 00:25:35 +01:00
9e483d5285
prometheus: add quanta alerts 2023-11-01 18:56:44 +01:00
4c33b77695
Merge branch 'new-infra' of gitea.auro.re:aurore/ansible into new-infra 2023-11-01 18:46:26 +01:00
5e5d2268f3
prometheus_snmp: add various overrides 2023-11-01 18:45:53 +01:00
51674bc1f6
prometheus_snmp: Add alerts on Quanta system 2023-11-01 18:43:32 +01:00
190f31dffd
misc: add gk-1.core.sw 2023-11-01 17:51:29 +01:00
a00a9b123f
prometheus_snmp: set snChasPwrSupplyOperStatus type 2023-11-01 17:14:07 +01:00
9524f29d1f
prometheus_snmp: change snChasFanOperStatus type 2023-11-01 17:00:02 +01:00
14b1f47842
prometheus_snmp: remove snNTP 2023-11-01 16:43:50 +01:00
229a6617de
prometheus: add queue overflow quanta alert 2023-11-01 07:11:30 +01:00
69701f4875
prometheus_snmp: remove index on pwr + add snAgentTemp 2023-11-01 06:41:31 +01:00
6728d2bb00
prometheus_snmp: add snChasPwr and snNTP 2023-11-01 06:30:47 +01:00
be261ab257
prometheus_snmp: add snChasFan 2023-11-01 06:11:27 +01:00
13f22bc7b8
Merge branch 'new-infra' of gitea.auro.re:aurore/ansible into new-infra 2023-11-01 05:58:29 +01:00
2e2e4995ed
misc: prometheus_snmp + various minor fixes 2023-11-01 05:57:21 +01:00
7d58a98bb4
unattended_upgrades: remove codename in origins-pattern 2023-10-03 14:28:20 +02:00
45d380c641
unattended_upgrades: migration 2023-10-03 14:09:48 +02:00
35cdf782c8
wip: bird: misc 2023-09-18 17:15:57 +02:00
fbdeddfc72
misc: move variables to {host,group}_vars 2023-09-17 20:32:05 +02:00
17b46bab5e
firewall: add default value for file based zones 2023-09-17 20:30:09 +02:00
93bccaddfd
quemu_guest: add role + playbook 2023-09-16 02:30:17 +02:00
ddc0597e2a
nftables: remove old role + playbook 2023-09-16 01:57:35 +02:00
fa87d9789d
wip: misc: setup infra-2 2023-09-16 01:52:35 +02:00
078d9a3de9
wip: misc: setup infra-1 2023-09-16 01:24:01 +02:00
e87de918db
keepalived: add blackhole routes 2023-09-11 13:28:27 +02:00
14288224b4
keepalived: add vroute for infra-*:ext0 2023-09-11 11:16:02 +02:00
0e581e7d23
update interface on infra-{1,2} 2023-09-11 03:14:57 +02:00
175e375682
firewall: add role + playbook 2023-09-11 01:58:32 +02:00
cb6ef5dae0
add oti and vpn interfaces 2023-09-07 17:28:05 +02:00
15dda43f21
WIP: readressing + wireguard 2023-07-05 01:25:25 +02:00
1a63ba3bea
add vpn-1 2023-07-05 01:23:21 +02:00
75f0ee785b
bird: param bird__bgp_sessions is now a dict 2023-07-05 01:20:47 +02:00
9de88d0a28
ifupdown2: improve wireguard support
- add prio to ensure idempotency when reloading the iface
- add proto to ease route filtering in bird
2023-07-05 01:18:52 +02:00
655f744a11
ifupdown2: wireguard + routing tables support 2023-07-04 04:05:31 +02:00
0c7b5a2c68
openssh: cleanup playblook + role 2023-07-04 04:04:48 +02:00
e0c95b8f10
iproute2: create role + playbook 2023-07-04 03:45:29 +02:00
058fe0b3f5
freeradius: fix vlan logging 2023-07-02 21:56:37 +02:00
2f4c6a53d8
freeradius: fallback to default vlan whem proxying to federez 2023-07-02 21:26:02 +02:00
ddd8c6dcc0
freeradius: fixes + minimal support for federez 2023-07-02 20:51:42 +02:00
2c64d27fd3
freeradius: add vlan support 2023-07-02 16:45:32 +02:00
b3d18e92b6
freeradius: rewrite *-Station-Id and log SSID 2023-06-25 19:49:12 +02:00
ace765b682
freeradius: user domain is optional 2023-06-25 19:33:33 +02:00
ca1c6c8040
freeradius: remove some modules 2023-06-25 19:33:16 +02:00
f8b932014f
freeradius: improve logging robustness 2023-06-25 19:25:50 +02:00
a5b527ec0e
freeradius: add logging 2023-06-25 00:27:08 +02:00
20bce8a0da
pve: add loutr 2023-06-24 17:25:40 +02:00
4a5b3bbfde
Merge branch 'radius' into new-infra 2023-06-22 17:39:00 +02:00
4a9c0e6d8e
bird: add rezel 2023-06-22 17:30:37 +02:00
aa1e422c58
ifupdown2: add rezel addrs 2023-06-22 17:30:17 +02:00
455a0bdc2a
prometheus: temporarily disable BirdProtocolDown 2023-06-22 17:29:16 +02:00
452066fcfb
pve: add pz2891 2023-04-15 17:13:08 +02:00
669c7ec801
resolvconf: add dns-2 2023-04-08 00:54:33 +02:00
d455bbe00e
kresd + prometheus: monitor kresd 2023-04-08 00:54:13 +02:00
6522a6f076
ansible.cfg: retry SSH connections 2023-04-07 08:57:29 +02:00
5391f2b956
all: update playbook 2023-04-07 08:57:20 +02:00
bbaab0b767
pve_auth: disable root user 2023-04-06 18:22:37 +02:00
676dabd76b
pve: configure users 2023-04-06 00:01:21 +02:00
1978f12794
pve_auth: fix groups + enabled 2023-04-05 23:27:11 +02:00
8f51a2fb80
pve_auth: create role 2023-04-05 22:06:50 +02:00
32ed73735f
pve_activate: add role 2023-04-05 00:19:04 +02:00
4ad25f7057
hostname: add role 2023-04-05 00:18:41 +02:00
454f1d75cb
rename rtr → back 2023-04-05 00:18:25 +02:00
cc1786eb2b
backbone → back + ap → wifi 2023-04-04 01:33:16 +02:00
8bf1f1a1fa
keepalived: add dbus support 2023-04-04 01:32:52 +02:00
dcd56413e8
prometheus: monitor keepalived 2023-04-04 01:29:13 +02:00
e160b98f0e
prometheus_node: collect textfiles 2023-04-04 01:28:51 +02:00
94953e1aa7
snmpd: remove role 2023-04-04 01:28:09 +02:00
833d25078d
prometheus_keepalived: add role 2023-04-04 01:27:26 +02:00
8b5d587f26
keepalived: add snmp support 2023-04-03 18:02:49 +02:00
6ee7a19f21
snmpd: create role 2023-04-02 14:25:09 +02:00
0807dc1d70
prometheus-bird-role → dedicated role + various alerts 2023-04-02 13:25:03 +02:00
922b6894a7
prometheus: cleanup role (lots of features missing) 2023-04-02 05:08:01 +02:00
7db15d9c63
prometheus_node: cleanup 2023-04-01 22:32:42 +02:00
b4fe111c91
knotd: add vote + gisti :) 2023-04-01 21:54:44 +02:00
67ac2a7618
rename hyperv → pve + backbone → back 2023-04-01 21:53:48 +02:00
fcb9ac9d17
rename interfaces 2023-03-28 20:36:46 +02:00
9e24c5373e
root_account: set PS1 statically 2023-03-28 20:35:24 +02:00
b36dd15d3c
rename interfaces + fix fallback 2023-03-27 21:51:07 +02:00
a2e181493d
systemd_link: rename interfaces 2023-03-27 13:09:58 +02:00
71befe1b44
ifupdown2: remove useless forward directives 2023-03-27 11:57:58 +02:00
9c41558d62
ip_forward: create role + playbook 2023-03-27 11:56:17 +02:00
66a015c135
migrate again 2023-03-26 19:02:18 +02:00
eb8368b2e6
migrate edge routers (routeur-aurore.adm -> edge-{1,2}.rtr) 2023-03-26 17:06:34 +02:00
67f0e4ccbc changed ip 2023-03-25 19:20:26 +01:00
f3d67e93b4
ifupdown2: add ens23 & enp2s1 2023-03-25 17:56:19 +01:00
45f5920cdd corrected error 2023-03-25 17:48:40 +01:00
3294cde7a6 added ens20 adresses for later testing 2023-03-25 17:47:03 +01:00
6eeb578d89
bird: more filtering 2023-01-13 10:50:23 +01:00
8b39a7f7dc
filter_plugins: remove soft_unicode import 2023-01-13 09:59:40 +01:00
dcc038bd7c
nftables + bird: add role + fix IP addresses 2023-01-13 08:56:16 +01:00
0a621b53b4
keepalived: set keepalived_main 2023-01-13 08:55:17 +01:00
8ec059ce55
root_account: add alias for bridge 2023-01-13 08:54:57 +01:00
621f39a8f2
base_utils: add tcpdump + tmux 2023-01-13 08:54:38 +01:00
f579e08e21
keepalived: change priorities 2023-01-13 08:53:56 +01:00
48deabba50
bird + ifupdown2: fix IP addrs + iBGP for isp-{1,2} 2023-01-07 09:12:44 +01:00
9f850aa4da
add format_rev plugin 2023-01-07 08:59:16 +01:00
1aba1e5606
dhcpd: remove dhcpd__failover_peer 2023-01-07 08:56:12 +01:00
6d66e56b15
bird: filter by proto (ugly) 2023-01-07 08:53:44 +01:00
e7c3a9c771
ansible: use 'debug' stdout_callback 2023-01-07 08:52:46 +01:00
5eff05f8c5
keepalived + bird: fix IP addrs + OSPF 2023-01-07 03:19:40 +01:00
eca5d1563d
dhcpd: add new VMs 2023-01-07 02:42:18 +01:00
c32b949d04
Merge branch 'dhcp' into new-infra 2023-01-07 02:26:35 +01:00
19c623ab0a
Add config for new VMs 2023-01-07 02:25:53 +01:00
7c21275a11
Merge branch 'bird' into new-infra 2023-01-04 08:05:04 +01:00
95c812b101
root_account: add ip alias 2023-01-04 08:04:51 +01:00
830e5b103d
kresd: add dns-{1,2} 2023-01-04 08:04:36 +01:00
873b5cc6f5
knotd: add network-{1,2} hosts 2023-01-04 08:04:08 +01:00
e995b06ea9
chronyd: add ntp-{1,2} 2023-01-04 08:03:52 +01:00
34b67791bd
Add network-{1,2} hosts 2023-01-04 08:03:28 +01:00
9c19e41afd
Simplify ansible_managed 2023-01-04 08:03:09 +01:00
5c17bc9664
WIP: playbooks: OSPF config for infra-{1,2} 2022-12-22 15:56:52 +01:00
d653432d18
playbooks: add infra-{1,2}.rtr 2022-12-22 15:45:07 +01:00
5a43708a87
playbooks: add infra-{1,2}.rtr 2022-12-22 15:17:00 +01:00
9cd983aa4c
playbooks: add edge-{1,2}.rtr.infra.auro.re 2022-12-22 14:40:53 +01:00
0a0fc8e52c
bird: typos 2022-12-22 13:12:24 +01:00
2db69a8f1c
bird: return -> accept/reject 2022-12-22 12:35:32 +01:00
ac9947c50f
bird: function -> filter 2022-12-22 12:12:01 +01:00
6773c5e90d
bird: cleanup + bogons filtering 2022-12-22 12:02:56 +01:00
cc82841560
bird: typos 2022-12-22 11:00:37 +01:00
b9fb9f377f
bird: remove unused OSPF protocol instances 2022-12-22 10:50:51 +01:00
f43775fc02
bird: don't export static routes to kernel 2022-12-22 10:48:52 +01:00
412a63dc6c
playbooks: add edge-{1,2} 2022-12-21 21:02:12 +01:00
a670cbaba4
bird: typos 2022-12-21 21:01:47 +01:00
ea78f609b5
bird: indent with spaces 2022-12-21 19:53:40 +01:00
aac9151280
bird: restart prometheus-bird-exporter
reload is not supported by the service
2022-12-21 19:49:46 +01:00
1c47ccc4a8
bird: install prometheus-bird-exporter 2022-12-21 19:48:22 +01:00
64dcb4b282
bird: add suffix filter 2022-12-21 18:50:05 +01:00
99ba67f074
bird: add IPv6 support 2022-12-21 18:43:00 +01:00
618cad720a
bird: add OSPF stubnet support 2022-12-21 16:51:43 +01:00
8863eed924
bird: add minimal BGP support 2022-12-21 16:39:28 +01:00
0254b82356
Add edge-{1,2} 2022-10-07 21:34:58 +02:00
d0175e961e
knotd: add services-{1..3}.pve.infra (+ CNAME pve) 2022-09-28 14:11:56 +02:00
e13e450a1f
Disable some unused modules 2022-09-23 12:47:07 +02:00
a15a05ce69
resolvconf: add defaults 2022-09-04 07:42:57 +02:00
45ca2a3236
keepalived: change global VIP + interface for VRRP adv. 2022-09-04 07:41:17 +02:00
b0e12b19f8
bird: prevent duplicate rules 2022-09-04 07:40:51 +02:00
61cdb980ea
keepalived: add minimal support for virtual_routes 2022-09-03 14:09:37 +02:00
c7d7320367
ifupdown2: configure isp-{1,2}.rtr interfaces 2022-09-03 04:06:48 +02:00
866f175ed2
bird: add role + playbook, with support for OSPF + RAdv 2022-09-03 04:06:39 +02:00
c4e9ecacd7
freeradius: disable chase_referal + rebind 2022-09-01 22:28:11 +02:00
2d6ee91f93
freeradius: support for EAP-TTLS/PAP and EAP-PEAP/GTC 2022-09-01 17:35:22 +02:00
e99f183743
knotd: replace A/AAAA to CNAME for pz28.adh
Temporary fix until a dynamic DNS service is available.
2022-09-01 13:45:40 +02:00
231c3aac09
freeradius: remove trailing whitespace 2022-09-01 08:19:15 +02:00
3f29960a04
freeradius: explicitly disable OCSP 2022-09-01 08:18:39 +02:00
67994d988b
freeradius: disable detail + detail.log modules 2022-09-01 03:42:33 +02:00
ea843e2f47
freeradius: minimal config for attr_filter 2022-09-01 03:42:24 +02:00
c6afab5728
freeradius: add eap_inner module 2022-09-01 02:21:12 +02:00
553b371797
ifupdown2: configure radius-1.isp 2022-08-31 10:16:06 +02:00
a816fb1f01
freeradius: add support for sites 2022-08-31 05:04:19 +02:00
4bd54fe371
freeradius: remove more unused files 2022-08-31 04:54:20 +02:00
8f27164c17
freeradius: include clients.conf 2022-08-31 04:54:00 +02:00
8937e4f8e8
freeradius: fix clients.conf (ipv4addr + ipv6addr) 2022-08-31 04:53:37 +02:00
3d6e0f21b6
freeradius: configure eap module + remove more modules 2022-08-31 03:44:20 +02:00
953403d0b3
freeradius: create minimal role + playbook 2022-08-31 02:01:41 +02:00
5a7c8b280d
Merge branch 'master' into dns 2022-08-30 13:54:54 +02:00
2e10714a79 Merge pull request 'NTP: simple fixes (logdir + local stratum + logchange support)' (#101) from ntp into master
Reviewed-on: #101
2022-08-30 13:50:35 +02:00
8f452c76aa
Add radius-1.isp 2022-08-30 13:48:17 +02:00
9b5e1d78fa Merge pull request 'Configure keepalived' (#100) from keepalived into master
Reviewed-on: #100
2022-08-30 13:44:24 +02:00
e86b17094b
keepalived: print link-local VIP first + silence priority warning 2022-08-27 13:47:08 +02:00
1d40950604
keepalived: add IPv6 support in playbook 2022-08-27 13:17:35 +02:00
9820ae62e8
keepalived: better support for notify scripts 2022-08-27 12:55:53 +02:00
c6ac61aa53
keepalived: add minimal support for keepalived 2022-08-27 11:15:18 +02:00
a505441f4d
hosts: add dhcp-{1,2} 2022-08-27 10:43:19 +02:00
b894959c91
dhcpd: add sample playbook 2022-08-27 10:37:56 +02:00
204ad7f2ce
Merge branch 'master' into dhcp 2022-08-27 10:26:39 +02:00
7daa55ef98 Merge pull request 'Bridge and VLAN support for ifupdown2' (#99) from ifupdown2 into master
Reviewed-on: #99
2022-08-27 10:26:28 +02:00
8cc6e916b7
ifupdown2: add sample playbook 2022-08-27 10:21:04 +02:00
34b0ed5478
ifupdown2: add ipv6_addrgen option 2022-08-27 09:53:41 +02:00
5485254c47
ifupdown2: add forward option 2022-08-27 09:28:07 +02:00
d5b0fd85c8
ifupdown2: add bridge_disable_pvid option 2022-08-27 09:18:16 +02:00
f6b12fd696
ifupdown2: add minimal support for bridges 2022-08-27 08:31:42 +02:00
76f76a0ca4
ntp: add logdir + local + logchange support 2022-08-27 06:52:38 +02:00
138ffd6097
knotd: add isp-2.rtr 2022-08-27 05:33:54 +02:00
526eaf84d2
knotd: add isp-1.rtr 2022-08-27 05:17:43 +02:00
ec01fbde95
hosts: add ns-1.auro.re 2022-08-27 05:15:16 +02:00
8bcc0af539 Merge pull request 'Configure /etc/network/interfaces and /etc/resolv.conf using Ansible' (#98) from ifupdown2 into master
Reviewed-on: #98
2022-08-27 04:55:26 +02:00
f723c3e1a4
ifupdown2: notify ifup -a + auto instead of allow-hotplug 2022-08-27 04:46:16 +02:00
1281a6a51a
ifupdown2: add playbook 2022-08-27 04:26:14 +02:00
15e2db49f3
add remove_domain_suffix filter 2022-08-27 04:22:15 +02:00
5ae7126ce2
ifupdown2: add support for stanzas with no gateway 2022-08-27 04:10:11 +02:00
a5a4d28ccc
ifupdown2: simple interfaces file configuration 2022-08-26 20:52:23 +02:00
e26d5dfc27
resolvconf: add role 2022-08-26 19:11:40 +02:00
3d2ce8f79f
ifupdown2: add minimal role 2022-08-26 10:13:37 +02:00
35087971c3
kresd: increase amount of cache 2022-08-26 10:00:04 +02:00
2ff44c58b7
add requirements.txt 2022-08-26 02:23:01 +02:00
9fc0aa1fe8
kresd: create role + playbook 2022-08-26 02:01:12 +02:00
cdc68cedd5
knotd: add dns-1.int 2022-08-26 01:51:33 +02:00
a29a205576 Merge pull request 'NTP: deploy everywhere' (#97) from ntp into master
Reviewed-on: #97
2022-08-26 00:07:57 +02:00
f5f570f635
chronyd: deploy everywhere 2022-08-26 00:06:25 +02:00
b00d5bc09e
chronyd: fix unit name + remove other ntp packages 2022-08-25 23:51:57 +02:00
4b2868783f
chronyd: fix typo in chrony.conf.j2 2022-08-25 23:51:09 +02:00
3830022279 Merge pull request 'NTP server' (#96) from ntp into master
Reviewed-on: #96
2022-08-25 23:16:46 +02:00
d2c1b1c07a
chronyd: add role + playbook 2022-08-25 23:01:00 +02:00
69dc3052ab
Merge branch 'master' into ntp 2022-08-25 22:21:49 +02:00
dbe9dbdc27
Add ntp-1.int 2022-08-25 22:21:38 +02:00
50b0e023dc
Add ntp-1.int 2022-08-25 20:52:48 +02:00
3216307404
Add pz28.adh.auro.re 2022-08-25 20:44:06 +02:00
1938cc24da
isc_dhcp_server: remove old role 2022-08-20 19:34:54 +02:00
874f75d47d
dns_zone: add requirements.txt 2022-08-20 19:09:35 +02:00
4d82018f62
knotd + hosts: add ldap-1 2022-08-20 19:08:33 +02:00
69c3949ef8
dhcpd: add support for failover 2022-08-20 16:53:10 +02:00
6bb2bbb54f
dhcpd: create role with support for DHCPv4 only 2022-08-20 16:08:25 +02:00
d5ab886dd4
dns_zone: add support for diff and check modes 2022-08-20 04:34:47 +02:00
426296d8bd
knotd: fix typo 2022-08-20 04:34:28 +02:00
2389367582
playbooks: add isp.auro.re 2022-08-20 00:06:01 +02:00
c1833e77b3
playbooks: various fixes for knotd.yml 2022-08-19 21:50:43 +02:00
4446c2c47e
dns_zone: do not relativize zone file 2022-08-19 21:50:15 +02:00
8d92035a81
playbooks: add adh.auro.re 2022-08-19 15:54:03 +02:00
6f32c9bc2c
knotd: do not try to load zone file of slave zones 2022-08-19 15:52:06 +02:00
5542e63d14
add filter_plugins path in ansible.cfg 2022-08-19 05:06:59 +02:00
b34c232904
playbooks: WIP: add knotd playbook 2022-08-19 05:03:19 +02:00
5740b64b1e
hosts: add ns-{1,2,master} to inventory 2022-08-19 05:03:19 +02:00
bb2590358d
vault: add TSIG keys 2022-08-19 05:03:18 +02:00
c775a48ca8
net_utils: add miscellaneous Jinja2 filters 2022-08-19 05:03:07 +02:00
126d0f49df
dns_zone + knotd: add 'reverse_hosts' option 2022-08-19 04:44:49 +02:00
4a29c317a5
knotd: hide version in chaos txt 2022-08-18 21:24:12 +02:00
e36e31d18b
remove playbooks/knot.yml 2022-08-18 21:23:48 +02:00
b1f26f2cd7
knotd: fix knotd__queryacl type 2022-08-18 19:50:35 +02:00
9f8dcecf63
dns_zone: ensure zone files are sorted 2022-08-18 16:35:16 +02:00
b9dd74af40
dns_zone + knot: rename some fields + add record types 2022-08-18 16:32:56 +02:00
86277d05c2
knotd: add knotd__soa_rname variable 2022-08-18 03:59:43 +02:00
642b3eb801
knotd: use human times for SOA fields 2022-08-18 03:47:59 +02:00
2744b3b512
dns_zone: make rname relative to zone origin 2022-08-18 03:47:23 +02:00
f321b12d2f
knotd: add queryacl support 2022-08-18 01:35:35 +02:00
43693c2fc8
dns_zone: bug: replace generator with set 2022-08-18 01:33:52 +02:00
961a2f1105
Add knotd role 2022-08-17 19:00:07 +02:00
11939a6032
Add library path in ansible.cfg 2022-08-17 18:59:40 +02:00
4dbe0e562d
dns_zone: cleanup + hosts + product 2022-08-17 18:23:47 +02:00
c97dca8fa8
Add library/dns_zone.py 2022-08-16 20:13:25 +02:00
5c780ffa62
Remove copy-keys.sh 2022-05-22 18:57:17 +02:00
765d24685e
Set ask_vault_pass in ansible.cfg 2022-05-22 18:56:55 +02:00
c291e836a9
Fix missing entries 2022-05-22 18:55:23 +02:00
89d0a682cf Merge pull request 'Add dolibarr' (#92) from dolibarr into master
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #92
2022-02-26 23:31:51 +01:00
2a2702c6ca
Add dolibarr.srv.auro.re + PostgreSQL DB
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2022-01-10 22:10:03 +01:00
380 changed files with 97369 additions and 3989 deletions

1
.gitignore vendored
View file

@ -1,3 +1,4 @@
*.retry *.retry
tmp tmp
ldap-password.txt ldap-password.txt
__pycache__/

213
README.md
View file

@ -1,10 +1,8 @@
[![Linter Status](https://drone.auro.re/api/badges/Aurore/ansible/status.svg)](https://drone.auro.re/Aurore/ansible)
# Recettes Ansible d'Aurore # Recettes Ansible d'Aurore
Dépendances requises : Dépendances requises :
* Ansible 2.9 ou plus récent. * Ansible 2.9 ou plus récent.
## Ansible 101 ## Ansible 101
@ -15,8 +13,9 @@ Il contient la définition de chaque machine et le regroupement.
Quand on regroupe avec un `:children` en réalité on groupe des groupes. Quand on regroupe avec un `:children` en réalité on groupe des groupes.
Chaque machine est annoncée avec son hostname. Il faut pouvoir SSH sur cette machine Chaque machine est annoncée avec son hostname. Il faut pouvoir SSH sur cette
avec ce hostname, car c'est ce qu'Ansible fera. machine avec ce hostname, car c'est ce qu'Ansible fera (sauf pour les switchs,
voir plus bas).
**Playbook** : c'est une politique de déploiement. **Playbook** : c'est une politique de déploiement.
Il contient les associations des rôles avec les machines. Il contient les associations des rôles avec les machines.
@ -37,31 +36,42 @@ déployer un serveur prometheus, déployer une node prometheus…
**Tâche** : un rôle est composé de tâches. Une tâche effectue une et une seule **Tâche** : un rôle est composé de tâches. Une tâche effectue une et une seule
action. Elle est associée à un module Ansible. action. Elle est associée à un module Ansible.
*Exemples de tâche* : installer un paquet avec le module `apt`, ajouter une ligne dans *Exemples de tâche* : installer un paquet avec le module `apt`, ajouter une
un fichier avec le module `lineinfile`, copier une template avec le module `template` ligne dans un fichier avec le module `lineinfile`, copier une template avec le
module `template`
Une tâche peut avoir des paramètres supplémentaires pour la réessayer quand elle plante, Une tâche peut avoir des paramètres supplémentaires pour la réessayer quand
récupérer son résultat dans une varible, mettre une boucle dessus, mettre des conditions… elle plante, récupérer son résultat dans une variable, mettre une boucle
dessus, mettre des conditions…
N'oubliez pas d'aller lire l'excellent documentation de RedHat sur tous les modules N'oubliez pas d'aller lire l'excellente documentation de RedHat sur tous les modules
d'Ansible ! d'Ansible !
### Gestion des groupes de machines ### Gestion des groupes de machines
Pour la liste complète, je vous invite à lire le fichier `hosts`. Pour la liste complète, je vous invite à lire le fichier `hosts`.
* pour tester les versions de Debian, Exemple :
```YAML ```yaml
ansible_lsb.codename == 'stretch' [fleming_vm]
``` dhcp-fleming.adm.auro.re
dns-fleming.adm.auro.re
prometheus-fleming.adm.auro.re
routeur-fleming.adm.auro.re
* pour tester si c'est un CPU Intel x86_64, [fleming_pve]
pve1.adm.auro.re
```YAML [fleming:children]
ansible_processor[0].find('Intel') != -1 fleming_pve
and ansible_architecture == 'x86_64' fleming_vm
``` ```
> NB :
>
> L'exemple a été adapté de la configuration d'Aurore pour des raisons
> pédagogiques.
Pour les fonctions (`proxy-server`, `dhcp-dynamique`…) il a été choisi Pour les fonctions (`proxy-server`, `dhcp-dynamique`…) il a été choisi
de ne pas faire de groupe particulier mais plutôt de sélectionner/enlever de ne pas faire de groupe particulier mais plutôt de sélectionner/enlever
@ -74,21 +84,36 @@ qui peuvent ensuite être utilisés dans des variables.
Pour lister tous les faits qu'Ansible collecte nativement d'un serveur Pour lister tous les faits qu'Ansible collecte nativement d'un serveur
on peut exécuter le module `setup` manuellement. on peut exécuter le module `setup` manuellement.
``` ```bash
ansible proxy.adm.auro.re -m setup --ask-vault-pass ansible proxy.adm.auro.re -m setup --ask-vault-pass
``` ```
Il est notamment possible de :
* tester les versions de Debian,
```YAML
ansible_lsb.codename == 'stretch'
```
* tester si c'est un CPU Intel x86_64,
```YAML
ansible_processor[0].find('Intel') != -1
and ansible_architecture == 'x86_64'
```
## Exécution d'Ansible ## Exécution d'Ansible
### Configurer la connexion au vlan adm ### Configurer la connexion au vlan adm
Envoyer son agent SSH peut être dangereux Envoyer son agent SSH peut être dangereux
([source](https://heipei.io/2015/02/26/SSH-Agent-Forwarding-considered-harmful/)). ([source](https://heipei.github.io/2015/02/26/SSH-Agent-Forwarding-considered-harmful/)).
On va utiliser plutôt `ProxyJump`. On va utiliser plutôt `ProxyJump`.
Dans la configuration SSH : Dans la configuration SSH :
``` ```text
Host *.adm.auro.re *.pve.auro.re Host *.adm.auro.re *.pve.auro.re
# Accept new host keys # Accept new host keys
StrictHostKeyChecking accept-new StrictHostKeyChecking accept-new
@ -97,7 +122,8 @@ Host *.adm.auro.re *.pve.auro.re
ProxyJump passerelle.auro.re ProxyJump passerelle.auro.re
``` ```
Il faut sa clé SSH configurée sur le serveur que l'on déploit. Il faut sa clé SSH configurée sur le serveur que l'on déploie.
```bash ```bash
ssh-copy-id proxy.adm.auro.re ssh-copy-id proxy.adm.auro.re
``` ```
@ -107,6 +133,7 @@ ssh-copy-id proxy.adm.auro.re
Il faut `python3-netaddr` sur sa machine. Il faut `python3-netaddr` sur sa machine.
Pour tester le playbook `base.yml` : Pour tester le playbook `base.yml` :
```bash ```bash
ansible-playbook --ask-vault-pass base.yml --check ansible-playbook --ask-vault-pass base.yml --check
``` ```
@ -116,7 +143,7 @@ Vous pouvez ensuite enlever `--check` si vous voulez appliquer les changements !
Si vous avez des soucis de fingerprint ECDSA, vous pouvez ignorer une Si vous avez des soucis de fingerprint ECDSA, vous pouvez ignorer une
première fois (dangereux !) : `ANSIBLE_HOST_KEY_CHECKING=0 ansible-playbook...`. première fois (dangereux !) : `ANSIBLE_HOST_KEY_CHECKING=0 ansible-playbook...`.
### Ajouter tous les empruntes de serveur ### Ajouter toutes les empreintes de serveur
```bash ```bash
#!/bin/bash #!/bin/bash
@ -125,6 +152,10 @@ for ip in `cat hosts|grep .adm.auro.re`; do
done done
``` ```
> Remarque :
>
> L'utilisation d'un certificat permet d'éviter d'avoir à ajouter sa clé ssh
> sur les serveurs.
### Passage à Ansible 2.10 (release: 30 juillet) ### Passage à Ansible 2.10 (release: 30 juillet)
@ -136,11 +167,141 @@ ansible-galaxy collection install community.general
ansible-galaxy collection install ansible.posix ansible-galaxy collection install ansible.posix
``` ```
Si vous n'arrivez pas à entrer votre *become password* (bug dans ansible?), un
Si vous n'arrivez pas à entrer votre _become password_ (bug dans ansible?), un
workaround est le suivant : workaround est le suivant :
`$ export ANSIBLE_BECOME_PASS='<votre mot de passe LDAP>'` `$ export ANSIBLE_BECOME_PASS='<votre mot de passe LDAP>'`
Notez l'espace au début pour ne pas log la commande dans votre historique Notez l'espace au début pour ne pas log la commande dans votre historique
shell. shell.
## Configuration des switchs depuis Ansible
Afin d'acquérir de l'indépendance vis-à-vis de re2o, un module permettant de
configurer les switchs depuis Ansible a été créé. Il utilise l'api rest des
switchs afin de récupérer et appliquer la configuration voulue.
### Prérequis
Pour utiliser le module, il faut d'abord annoncer à Ansible qu'il ne faut pas
effectuer de connexion ssh et de ne pas récupérer les faits. Cela se fait à
l'aide des variables `connection: httpapi` et `gather_facts: false` à placer
dans le playbook (pour une configuration locale) ou dans ansible.cfg (pour une
configuration globale). Ensuite, l'infrastructure actuelle de Aurore nécessite
l'utilisation d'un proxy. Pour cela, il suffit d'exécuter la commande :
```bash
ssh -D 3000 switchs-manager.adm.auro.re
```
et d'annoncer l'utilisation du proxy dans la configuration en exportant la
variable d'environnement `HTTP_PROXY=socks5://localhost:3000` et en
configurant la variable du module `use_proxy: true`.
Exemple :
```yaml
environment:
HTTP_PROXY: "socks5://localhost:3000"
tasks:
- name: vlans
switch_config:
username: ****
password: ****
port: 80
host: 192.168.1.42
use_proxy: true
config:
path: vlans/42
data:
name: VLAN42
vlan_id: 42
status: VS_PORT_BASED
type: VT_STATIC
```
Le module est alors utilisable, il ne reste plus qu'à le configurer.
### Écrire la configuration
Le module se veut assez libre. Ainsi, l'ensemble de la requête doit être écrite
dans les `tasks`. Voici un exemple pour configurer un vlan :
```yaml
tasks:
- name: vlans
switch_config:
username: ****
password: ****
port: 80
host: 192.168.1.42
config:
path: vlans/42
data:
name: VLAN42
vlan_id: 42
status: VS_PORT_BASED
type: VT_STATIC
```
Le `path` correspond à l'url de l'objet que l'on souhaite éditer et `data`
correspond aux données qui seront envoyées dans une requête `PUT` (au format
`json`). Cependant, la configuration d'un vlan peut nécessiter de le créer.
Pour remédier à ce problème, il est possible d'utiliser la syntaxe suivante :
```yaml
tasks:
- name: vlans
switch_config:
username: ****
password: ****
port: 80
host: 192.168.1.42
config:
path: vlans
create_method: POST
subpath:
- path: 42
data:
name: VLAN42
vlan_id: 42
status: VS_PORT_BASED
type: VT_STATIC
```
Le variable `create_method` correspond au type de la requête pour effectuer une
action de création de l'objet. Il s'agit généralement de `POST`. Dans le cas
où la variable n'est pas définit, la création sera désactivée et ainsi, si
l'url indiquée dans les `subpath` n'existe pas, alors la configuration échouera.
Par conséquent, si le vlan 42 a besoin d'être créé, une requête `POST` sera
effectué sur l'url `vlans` avec les données dans `data`.
Il est également possible d'éxecuter une action de suppression d'un vlan à l'aide
de la variable `delete` :
```yaml
tasks:
- name: vlans
switch_config:
username: ****
password: ****
port: 80
host: 192.168.1.42
config:
path: vlans/42
delete: true
```
Si la variable `delete` est activée, alors une requête `DELETE` sera envoyée
sur l'url indiquée. Pour vérifier si la suppression est déjà effective avant
l'éxecution, le module vérifiera si un `GET` sur l'url retourne une 404.
> Remarque :
>
> Si les variables `delete` et `data` sont définies (dont `delete` à `true`),
> alors il en résultera une action de suppression malgré tout.
Puisque `subpath` est une liste, il est possible de configurer plusieurs requête
en même temps. Cela à l'avantage d'effectuer toutes les modifications à la suite
(sans avoir à se connecter plusieurs sur l'api).

18
all.yml Executable file
View file

@ -0,0 +1,18 @@
#!/usr/bin/env ansible-playbook
---
- import_playbook: playbooks/base.yml
- import_playbook: playbooks/root.yml
- import_playbook: playbooks/ssh.yml
- import_playbook: playbooks/chronyd.yml
- import_playbook: playbooks/kresd.yml
- import_playbook: playbooks/knotd.yml
- import_playbook: playbooks/resolvconf.yml
- import_playbook: playbooks/ifupdown2.yml
- import_playbook: playbooks/systemd_link.yml
- import_playbook: playbooks/keepalived.yml
- import_playbook: playbooks/ip_forward.yml
- import_playbook: playbooks/dhcpd.yml
- import_playbook: playbooks/bird.yml
- import_playbook: playbooks/pve.yml
- import_playbook: playbooks/prometheus.yml
...

View file

@ -1,34 +1,22 @@
# Ansible configuration
[defaults] [defaults]
jinja2_native = true
# Explicitly redefine some defaults to make subfolder execution work ask_vault_pass = True
roles_path = ./roles roles_path = ./roles
# Do not create .retry files
retry_files_enabled = False retry_files_enabled = False
# Use inventory
inventory = ./hosts inventory = ./hosts
stdout_callback = debug
# Custom header in templates library = ./library
ansible_managed = Ansible managed, modified on %Y-%m-%d %H:%M:%S filter_plugins = ./filter_plugins
ansible_managed = Ansible managed
# Do not use cows (with cowsay)
nocows = 1 nocows = 1
# Do more parallelism
forks = 15 forks = 15
# Some SSH connection will take time
timeout = 60 timeout = 60
remote_user = root remote_user = root
[diff] [diff]
# TO know what changed
always = yes always = yes
[ssh_connection] [ssh_connection]
pipelining = True pipelining = True
retries = 3

View file

@ -1,20 +0,0 @@
#!/bin/bash
set -e
# Grab valid unique hostnames from the Ansible inventory.
HOSTS=$(grep -ve '^[#\[]' hosts \
| grep -F adm.auro.re \
| sort -u)
# Ask password
read -s -p "Hello adventurer, what is your LDAP password? " passwd
echo
for host in $HOSTS; do
echo "[+] Handling host $host"
# sshpass can be used for non-interactive password authentication.
# place your password in ldap-password.txt.
SSHPASS=${passwd} sshpass -v -e ssh-copy-id "$host"
done

View file

@ -1,3 +0,0 @@
#!/usr/bin/env bash
# Deploy all playbooks
ansible-playbook playbooks/*.yml $@

16
filter_plugins/enquote.py Normal file
View file

@ -0,0 +1,16 @@
class FilterModule:
def filters(self):
return {
"enquote": enquote,
}
def enquote(string, delimiter='"', escape="\\"):
translation = str.maketrans(
{
delimiter: f"{escape}{delimiter}",
escape: f"{escape}{escape}",
}
)
escaped = string.translate(translation)
return f"{delimiter}{escaped}{delimiter}"

View file

@ -0,0 +1,9 @@
class FilterModule:
def filters(self):
return {
"format_rev": format_rev,
}
def format_rev(text, fmt, *args, **kwargs):
return fmt.format(text, *args, **kwargs)

View file

@ -0,0 +1,68 @@
import ipaddress
from operator import attrgetter
import dns.name
class FilterModule:
def filters(self):
return {
"add_origin": add_origin,
"add_origin_keys": add_origin_keys,
"ip_filter": ip_filter,
"remove_domain_suffix": remove_domain_suffix,
"ipaddr_sort": ipaddr_sort,
}
def first_addr(addresses, ipv4 = True):
version = ipaddress.IPv4Address if ipv4 else ipaddress.IPv6Address
for addr in addresses:
parsed = ipaddress.ip_address(xx)
if isinstance(parsed, version):
return parsed
raise ValueError("missing address")
def ip_filter(addresses, networks):
if isinstance(addresses, dict):
return {k: ip_filter(v, networks) for k, v in addresses.items()}
ip_networks = [ipaddress.ip_network(n) for n in networks]
ip_addresses = [ipaddress.ip_address(a) for a in addresses]
return [str(a) for a in ip_addresses if any(a in n for n in ip_networks)]
def add_origin(name, origin="."):
return dns.name.from_text(name, dns.name.from_text(origin)).to_text()
def add_origin_keys(dct, origin="."):
return {add_origin(k, origin): v for k, v in dct.items()}
def remove_domain_suffix(name):
parent = dns.name.from_text(name).parent()
return parent.to_text()
def ipaddr_sort(addrs, types, unknown_after=True):
check_types = {
"global": attrgetter("is_global"),
"link-local": attrgetter("is_link_local"),
"loopback": attrgetter("is_loopback"),
"multicast": attrgetter("is_multicast"),
"private": attrgetter("is_private"),
"reserved": attrgetter("is_reserved"),
"site_local": attrgetter("is_site_local"),
"unspecified": attrgetter("is_unspecified"),
}
def addr_weight(addr):
if isinstance(addr, str):
addr = ipaddress.ip_address(addr.split("/")[0])
for index, ty in enumerate(types):
if check_types[ty](ipaddress.ip_address(addr)):
return index
return len(types) if unknown_after else -1
return sorted(addrs, key=addr_weight)

9
filter_plugins/suffix.py Normal file
View file

@ -0,0 +1,9 @@
class FilterModule:
def filters(self):
return {
"suffix": suffix,
}
def suffix(value, suffix):
return value + suffix

View file

@ -0,0 +1,38 @@
#!/usr/bin/python
class FilterModule(object):
def filters(self):
return {
'range2list': self.range2list,
}
def range2list(self, port_range):
"""
Convert a range into list
Exemple:
```
>>> FilterModule.range2list("1-10,42")
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 42]
````
"""
port_range = port_range.replace(" ", "").split(",")
ports = []
for r in port_range:
if "-" in r:
try:
a, b = r.split("-")
except:
raise Exception("A range must contain 2 values")
try:
a = int(a)
b = int(b)
except:
raise TypeError("A range must contain integer")
for n in range(a, b+1):
ports.append(n)
else:
try:
ports.append(int(r))
except:
raise TypeError("Value must be integer")
return list(set(ports))

61
flake.lock Normal file
View file

@ -0,0 +1,61 @@
{
"nodes": {
"flake-parts": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1756770412,
"narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "4524271976b625a4a605beefd893f270620fd751",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1757020766,
"narHash": "sha256-PLoSjHRa2bUbi1x9HoXgTx2AiuzNXs54c8omhadyvp0=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "fe83bbdde2ccdc2cb9573aa846abe8363f79a97a",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-25.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-lib": {
"locked": {
"lastModified": 1754788789,
"narHash": "sha256-x2rJ+Ovzq0sCMpgfgGaaqgBSwY+LST+WbZ6TytnT9Rk=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
"rev": "a73b9c743612e4244d865a2fdee11865283c04e6",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nixpkgs.lib",
"type": "github"
}
},
"root": {
"inputs": {
"flake-parts": "flake-parts",
"nixpkgs": "nixpkgs"
}
}
},
"root": "root",
"version": 7
}

27
flake.nix Normal file
View file

@ -0,0 +1,27 @@
{
description = "Ansible Aurore";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05";
flake-parts.url = "github:hercules-ci/flake-parts";
};
outputs =
inputs@{
self,
nixpkgs,
flake-parts,
...
}:
flake-parts.lib.mkFlake { inherit inputs; } {
systems = [ "x86_64-linux" ];
perSystem =
{ config, pkgs, ... }:
{
devShells = {
default = pkgs.callPackage ./shell.nix {};
};
};
};
}

4
group_vars/all/bird.yml Normal file
View file

@ -0,0 +1,4 @@
---
bird__as:
aurore: 43619
...

View file

@ -0,0 +1,5 @@
---
chronyd__pools:
- ntp-1.int.infra.auro.re
- ntp-2.int.infra.auro.re
...

View file

@ -0,0 +1,24 @@
---
ifupdown2__wireguard_proto: wireguard
ifupdown2__gateways:
adm:
- 2a09:6840:128::254
- 10.128.0.254
int:
- 2a09:6840:206::1
- 10.206.0.1
ext:
- 2a09:6840:211::1
- 10.211.0.1
monit:
- 2a09:6840:204::1
- 10.204.0.1
isp:
- 2a09:6840:210::1
- 10.210.0.1
pub:
- 2a09:6840:215::1
- 45.66.111.204
ovh:
- 92.222.211.254
...

View file

@ -0,0 +1,10 @@
---
openssh__users_ca_public_key:
"ecdsa-sha2-nistp384 AAAAE2VjZHNhLXNoYTItbmlzdHAzODQAAAAIbmlzdHAzODQAAAB\
hBIpT7d7WeR88bs53KkNkZNOzkPJ7CQ5Ui6Wl9LXzAjjIdH+hKJieBMHrKew7+kzxGYaTqXW\
F1fQWsACG6aniy7VZpsdgTaNw7qr9frGfmo950V7IlU6w1HRc5c+3oVBWpg=="
openssh__authorized_principals:
- any
- "{{ inventory_hostname }}"
...

View file

@ -0,0 +1,3 @@
---
prometheus_node__text_dir: /var/run/prometheus-node-exporter
...

View file

@ -0,0 +1,13 @@
---
resolvconf__nameservers:
- 2a09:6840:206::1:1
- 2a09:6840:206::1:2
- 10.206.1.1
- 10.206.1.2
resolvconf__domain: auro.re.
resolvconf__search:
- "{{ inventory_hostname | remove_domain_suffix }}"
- auro.re.
...

5
group_vars/all/root.yml Normal file
View file

@ -0,0 +1,5 @@
---
root__shell: /bin/bash
root__password: "{{ vault_root_password }}"
...

View file

@ -1,235 +1,297 @@
$ANSIBLE_VAULT;1.1;AES256 $ANSIBLE_VAULT;1.1;AES256
63383865663866376238613638306139363461386331363764306166386664653238353761383565 35353866373931343963333639323431636465303562306166333735383462353032323461613232
6336653265613463646139666236646362303463373731610a333537313431363366616665643462 3666653438393936356535633661363838613233323932370a656439316234356339613532663237
66303839346238306234643139313835643339633963626338316163336365306462353830343536 39373439366432363533303961396466623366323339383735316531653538633264393264353337
3231373236633066330a303236653238356330636332633139623134663039303935666566336531 3937323861616530640a666361323164353338306336616564663466616630393839613833373933
36303937303231663232653534666639656232303231313836303834306436323463653635303830 65613161323164613334656631333336343262363835323962343662333133366561306139636261
38393533363762663863326434633266613265663930363432623234376235326637346338333761 61656532666563333063356231636565626631633436623531313938663930396362343031356534
35363165643464623131313031383938353664373133616365613237383937376332353239636233 34303565623832366664303561643137626433333164623730623639656439346639616164623865
36393063333164346262356364626332303531373935613633326366383165336637323933656263 31613462316439613937313138313830323334373337366630323331393537633437303063353363
63376363623132393837363837656538323135316636333235656561383234393763303862626361 66383930353930616137303436383864363439326139643361356231373939306439633332666232
63613130326336626630393338373630653437333039376633663963373666383137303038376364 38363061636139346430373263613932336361356262656138663233386464373839366630303765
39313466353565316633356362623264356231613933656336323933373635636664383164323964 35343064336533373238396430393536366438653534366565373733313962616364313061626133
31633130353330376532313131373933393366313637356236623634653630393130363561656562 37666538313038643865346461626537353930366264643162376530353536623863656236303433
33333732343131656133353065313864653064633261643262633538643162383863323336316330 31336561336131383635393238366464653934613130363831306335643935373033303162353534
39333035643738313939353262353632303636386533623164623538323466653237373531376562 38353832653664633061646331653634393963333038306635313464636136616366313962333431
61363732366463393364383761663137343836383636366132663063383833396231326366346465 39363934643266646131653236303138636163326663373765373761663062656463643162373038
35323766663666383832663935633062633864646534363763643534363831336361306633636632 34656163633964626235366539663132396666623363303632363236303831613532393931373761
66313561613330363064393430643436363738623436353734353733613462326561326462363031 65613435353162346233323533383537316231363437653239343233636533333966613066343932
37666665383539626166373865323439356533323333343035636665323738633038386337343036 30626636306531333736613965396432373130356238313136336434356133353435643065626261
38653732663062333165616632316361363666393036643564356131383261646630393131613964 32633732613361376261363831363866333332393132643439626639383438663438366330386534
37376532636237373666396162666237663861356263633331326461386265316666383037613235 31303532323461303862346364386532663839323163653366356136666131363839663635343166
64303237363436383138303431613236633562303062393737623131343133383666373033333663 38353962326430383561333630623030623536353838633231393763393238316530363939343536
37646137303036303361386663653738666334616534623232346666653165636232326530633635 66323562336334376234613436373237303562363831323038366232393161356262653864663037
31333738366635623862353834366266643732386535356361323839623630663139373963656636 34363436356332633363363963613635346337613438326436333836386534353738646166643333
37393965356638656637366261303536306466373938313462383639366233386230393762646238 65356637366431326132363432663662346638383439383766646531363662356266313961356239
36633066623737633463643963383131393765303838373439393432633833366263643462333533 31323236393538363662643662643535623633663738343266636163363835383030646661363966
30626334663432636264326338643063313431306631376439303562363733313366396331636262 36366466386666613364313166353366333131343061353135306135656663323461303338346666
31313836613737366330393137656332333437633639383066363534363363386364323936623931 32626231613738316233636361633337343635656334336536663865633465326639373966303137
39666338393236346634613239383964353262633239633232326433343436623038323131303436 39383731303862353637386438306136303765333136653465663963663930383037343130316466
62373536633233383937343266613164333561623031383432323662396336646534383430393730 33343932383033643530323136316632386230366338373362366462666233336530393561353933
30636662623734616139353433336336323361393061363339333165616630336333663561353632 36356330386361303562666339306265663539616434336264373832636139313365633065343763
62626533653734323662653434353562346162613837373465646239376437663337353030303866 31323633346536366635646562356266373964616338366165376331306561663938396661396164
61323836643463343236633438366236613630363038323230353263373563643535313765303738 31363438326439343964666439356339326661666136303461343436303533363630353735633038
62373230643762386165363833336238313234343530333165313762383663343236383063303762 38383365363739333034373031326530353962646661343039616230396132323833626162643964
33653761613837396434353230356166326339646136353830343365623863336230373564643862 65363165333233643738373638353537343162366265316661353563353862623134663362633261
38653063363832323266346466356132396265323463626435363839383061363964323736393635 32343364333236363738333130316538666536306664363661616536336264363438396464666533
37633136663166653238313061386464353239346630323062633531393061373136326238323632 37616533363936356335663562366563303564623530303762363034343435326666356162316535
30323366373433623861306138306265393934613039313936613639626636343434653932373363 61363133326263653937373037643930343565336166643939663466316232313535333965303737
37343931623862386434623335666139666462353165643237396432376532373034333434346132 35313566353963616632313763366561633039626239353236323438383261663066323334333632
37643439656332643961393661656365346339626163343638616438643461333535623231333764 62393265396235636461653862383830613634393431396131323439613362366463633239383761
37346663626537643366633461373764313331383264373237653834313030616533353736326334 39343361663463633332666666346339363334366330393936373433353034653765323130383335
36316139613061633331343736643961303164376366383362623538616432373062303762323138 63336338653333356438323264356162316638336338343033326639303237656663633233383735
36303566393135383339356433653164663664393533333565343766363362623838333566373735 34646535633831636238316564373035353635383738356133326664626566623766366535333439
64643235323633343938636238373930316562336363313733373530303834623564376239303362 30326437613539373163323464323635316632633930353931303466376661396135623031623133
61313566613763613433333132333965363335346463383735393061376139386231386338313735 33653735336230666665616638353561623235343439666135386165313436306666643837616166
63643566336531623566626239613437346162663334636630333139393063636133333064656437 37613964663837373137383736393063333037366433643632333963623038623636653639343936
66663938656532663031663636643937633638386332303733316161663464613933366231613831 32383532613430623563623565633665663030616530643735653563303035616530313463643431
37333565336535326464393561386135386638613565663733323266303736333561316663613432 31663361383835613631336638343338373639613532313561313231353765316237653431663462
66373661623964343937343162646530346439343665396139616135663536653837363838343235 65366162326630656566663731316262336536303032386336666263326265316564336339316430
66636337376138666463336430363234323334313663663735383363623934346665313236303731 31643066633438663562343730393534663338613165633635356333323635653161346136336261
32316532626666633462393233643733303737343265366637346261643366303232316664323561 30313332383065633335396131656136613932346331343632386235643764363235376531376437
31363038306233373339353131343038643130313330373161373665636163333130613435303236 61303130316537633830366662366237303934306561333134366463646464386530623631346264
61383932313734363638303761366263313036663939663735313931363139376231366639653133 30356536613932613264643835356637356364653038383130366237656232333031313163643332
36306264623533393334303138656238656363363033353531663262336432613839363763633238 34393865323162613936613264313864613734373032386266653432616535636464363463633564
63306238366332363137653066353231323533653231626561333766373636393164623362346139 37343661623935353365333831623631386439343237383933313337393065653934303065313634
64653862363530373766333432383630313935313966353463346333623365643133376635316662 61396163323937643837643636343337343231616265643765313932346462373735323737326663
61356261303633656432333535656266663038393034313439363464633934316238343332343361 66316135646663376537613663373432393865623038363239356265303362326161366462356138
64323539396262623338373435656363363732643337623762623762326261303132643336323537 65336536626634366363623865656234363335343662333134613835393635623434393036316638
65663664663035613738346639393739396433623763643532393461663833323634376634633032 35366431653463626665663861303333363038666131643861646465663761623364333162343761
37313935633737363061653831646632326635633362326533316530363833376436663030663239 64396131643136323634643461656339616361323030626166303930623838343438393465653364
37356539663038386334353834663839613934653638376538623330366634363765656266643833 66633037616633316534386639306438363863363530376131363332353536656533393161313931
31303530363434363765313339363639626466323837366262373935343537363565616134353465 34386636643737353738323265363435636239353261373466383430346461383932323634346466
38316432653166366431363064656437313830393936663431313934643133373539366531373865 33666436343130643032626562613165396334323937353663376162643266646539353932313137
34353334396139666130633562663031336232653335326437356262663231373536613937343334 62336162646535346631623332376334336538326530356233646239306337633365373562653166
37646339663033616361303563356666383431303339643930383734303863333032396637663162 32383639353431666137396631663237313436393434626531316365666335306466363639626663
64386338323633326262316337353736623431346232353732613764323463333366376161636437 63643861656537306133343138633535323737346538643063363330383366313362653933383365
35343432616362643665356463616636353031636135666664356139383138636135356639353839 34313230663163303730326361303337373136346161353132626362623461343661663964333765
36356366393932303433373534306239653531346264386663333434616464316362643534653734 37353165333762346539333730333731366532623531343962333037336464666530396437353666
63303331663131633838646465313935636162343431663539643461326135653931633332643830 62313035323234643236343534663434356264643830636433323831313364663762646130306362
35346435646561616436356537643065396230623634316431306461353230356639396134303935 32316530643230313230376662383439343639343336633431623135626134353134383030396264
37356236373366396132313236366366353164643432643539333734616230633637633536623630 38623933356332336231343434663563653332633237653966663964646232623637313231366638
35303634386139333835326236383162643639626435386130663937323033663837366363336461 30363966373362363432376562656436356338356561303133643432303736376234643632663137
64643762393265626536663566643465643762393438343638363863346134633439306231306132 34336630356362303132343737376637303939623133363663306133383465613263356632383030
38333463646639373264653133653436303738336639373261396261323332656639323763386463 61346138316538353638343833366261366534353963326162303866393430333964653333346539
61313165336230306437353661306166303837336330336162633662373834396261373230316164 64386161663435646331613834363336373738396338653263323937623163663236366636343239
39346664643230616434653339333061323661616238373038663266643664383135326561306339 36383135343763636139393331663139323431376562353165353662396165653235633464363035
35373964343334323633333537386264663066633362373934386163626431393138663265343538 31393233636561366639373566623738636537363235666234633534376238323163363238393237
61303334646363316332636639626662386339363737393263646161333038363739373536383264 64316132666530336135353434623866363739643830646463656536336136646334393064303630
35623461313435353832396239626636396461336133323366306233633861366538303062663238 65343964613265333934306432313739633134663131666433386630303132663866343532363835
31393663346633386665303731653162373136653235626435306136333562353733303462623665 38353237343630653561636365656561313636623065363836333663363934643162656534623864
63653762353736313763353631313265393761366638613532623566336230626332616665336137 62373763353961646235613465646630306562386531396364386164633065643763396437316466
39633461646266376530656666366636623763643863646461323131333361376631383461326137 32376564616562656136346563383266303963666136663863626137653462373430363363336364
38666433323665626662333434623136346337633137303331333235336462636237643165653236 35333133303463363663356365626365613036633835323334653264626637353634373665643036
62316661356334653739633430303766646537316634386365623635383938303166666234303037 65663736323235353964326466376163313630323265333631323866663137313665626238396130
62323432633937616532336165366564393532346361323936623762386466393638323935323039 64653832626639626633376231326534303530373937396235366239626639356234363238633336
34646661653661626433373332363530653532343836333135396332386435373163373463626532 34343064393334613732356332633361613633643039366537623465303739663635626365656631
38343731633564656337626136376365613135326265633066356262323334386265386436616463 64343936613536636438313232376564376539623261623539346564303036303131366561643564
64303961663533666531303930326462353638356364343330393031656234333833613530633866 61623630393032666636366338336266656264353631393061383162323766616530323734326134
63303939396464643533373966353464616364326166363738646539343137363861616337363631 31623962373435323730323830373239363738663164653338623836386636626337623739366566
37306161316461613238333531346432366631666335623163323764383238643665356561366435 61663835623038626266653062666264663639363763623139393862633061356164323530666665
36323662326531313862633730663162313932623033303637653461366639636538306433633266 31623538333264633735643839376433653934383663333130336133653235313631336163343134
36323234313937313838643063323165333765663962303736333939333763326135623230613332 33653533613430323834653730326661323462316338636338393063653866316335626633323137
65343934633532623730336230616565313733363836373233313534313165373639656435636433 32653262353964653131343430383661643231383135643332616462343231323266333430373061
66356663633931366135303962666531383639376335396534386438663536623066363862646365 62623136393239356166393964323830623239613434636361633365353862646130373865643136
30653735383131336637383261316238393838353335306366343761386361623631396465656635 66346336363866393762353633353638663433363332356131626639326166393234313765346138
36646661373933663530653363613634373966613131353437346533613062356434353033333431 64613431333139376139343234666664313236633031393938663431376336643133323964303938
36393337353431353165613538646631393366366335316533626265313438643338323434393866 64616536613462306363613639613132383361393535333362363630393230636532316634373231
64373263316564393966343865383764343564356666346637303165326538643532643737343130 63313839323263663237373937323361373533616465643830396666376661616631646561663130
64393137636261363161396232653463646263346663323162386466653066633332646137343035 66376266363338666133313263653733646365653034653538333332623861323833633033393234
36326336626462363931626464653035343933336634323762653130623266666533656635633533 39633834343231663166376333633635366261616561643363393137383736303436383339633734
35643133316135303835356539393532326564653761326230306137326132333932646666373361 30623939343939373038656461333464353033313632643138393334373565383331326430653263
38353531393835653536356663373433333766323534653139666365636336386138366231643437 66343630396135633636366337353061363730333364376664623234333434356661323935626633
65343635616465383666303063656235613234323132653264656463613065346139313661663234 63336465343661393636333663306361386432373235313337353361333735373436633832633439
61373933656362306563396131363739666536353564393230343735626465623265323464333065 30653766373230383364396638366237643932633364663639643661393438653339393031616338
36333863613436653531353334316162396632363038323734313961636436343830343761636430 62396632353063376566333261356662356265373733323631363263396337383631383733393034
63353661653737346563646439613039353465303862383264656535646335393139623931616533 65616434356530306661636633363333353138303631626565636637313738353338343334633533
39636235366636313136366166356265326136393439313334633939343561323465366139393539 39313232356166623939383864346665626333363132663033326430366565336339306465343337
33616363646237353632366231336431393236336330306562343761646339396430373937633831 34613736356534653534363034366431653861613534663261633739366361373134323566376335
31323565343932333234613566313933636130336335343331383166616463663138383231393463 31313263313262353162353039623634653534346363323131633362323035633337366536366561
62663231656461626264393762376234643763646263313334303065323766353863366531633138 64323432353236383839643662383138373938373834323262386364376162663839366232313433
65373236316461303865613064626231636261626237633936386238353633633139646162323265 38643662613065663863636664636162333830353131636238383439323439316363383935623731
62613162646239386366316161323538323437346433336661383938383332616562616234653331 62393964636137653935313338343465396633333461643032383730313139396462393936383630
66306634613162633234363838313264663337653737656337613030343564353939366536376339 63353166633735623364653264643934666438383739663461373332623631323932333162303630
62666166343034323534646463643933663333653032323130366435356238353966363961616664 39353637353437636537613935306539633163613334303833393832616338323061633532303361
65336237376566393330643432363466653538623330366533616632396334356535336633306266 63656635333331376561363962386135303963303030396564356534333037623635613963313666
33373139343333353838633436356237613632323233353861383438386466326139306337363632 65303664316164613835343930623338326235363933623533343961666664323836316231613465
31613738333766663139353836356531376332656365633665346632666533643162363639343830 65373931666331326634316463663134613031363636363434643839386239333164333538393831
36336137313863613835393166623235366563373431386562363064393938313033323633633263 65653935623431373238326231343439666635623730393639636131386162373466316164356263
61373937653931623962633266633233343563623064386636353231363337636437396438356333 37316539656230316336303265646339303139306262396536633533366261346238393335393765
35343137333332646462663462396437323433373339393439633363376535393230656561353461 39376630306639353862323834343830646330643737653631633361326134613666613430323433
65373565396530333164396666333561633835376232643262653630643666653534316565393562 64363965653063316432353431386533386661386239636332323139393933653063643865646338
30633933333635346337376365386332613032393764656661663562316561373536306237626138 34626433393731343535313766303237313866613166663333616535323661666362613439376166
36316561336235343434643962623138343032663864323862326164326164613830633439313065 62626430363661303630346265383863613162356535306165633537383038613131346561306330
35303738633731613234653066353035363239383936303662633563326563386334353766386137 61623435626363623762313832313031363665623933656238623131303362326137313266316630
34643663373032336135386561663963343161613938343762363162313932363538616361613330 32366664633963626463613562643666383637383831343234666435373564306635343730373665
63653638626636646362393938333965616162396430346463376332363066373831643633383139 36643436633066373962303965373663376266323133343233323563393065633162383237323162
39613936303033353536326133396331303435313432326366316337653935396662393463663739 38656336306432623330616234373936306163646330313734653864386464646535666331616335
30326565616666363534306238613138303031383562356633316434363666626632616233653533 32623163356337326665333731656438393633326638363635353733663861323934333536393338
31333665313930366463636630373363333565613835353935333936303961333764396361626530 33656231373166313761643030363437373638366461653038363565623633623035393564643161
64386534626166356130333161643339383064633965323463313861303364633937646264373565 38663064356239393034323761386435396437386534633734353938653239323533333531363965
61326330343833333761656537643565663536616133363465643131396338653764653165336539 36316636353864626461303936313632663261353437396238363930626239336139323561373133
63396536383330336531656434303862333639363031633436366665646565613934663838363832 61366330386135363039303166326231656331653632343261306531653731313465396131643330
63663761303837306234623632613834613464326663313133626166613334336539333662383934 35616432613631636264333263363239616435303436653936386165343335356337343032386239
30316134643661326463376434313137333133353934353363663433373066663366633066663139 37373230623366653834663031343738643063616661363138316262643635343439333838363632
30303163313532623664393939663730373230663338343030336232333163336365393138343532 34353236393730363262303439313132663735336463323432303036366361666338363237313664
31313732306430626537363866653065383561316262353434346137616362626638363136346639 39366434303839356163616136336237643061373633343737333036653362643635643536386436
66623231393835623063343637613531626161346638326637663237383562663231306464306463 30336636333464626464326332343333656535666431353338336438346335346433313934346231
35613763346135343839383234646134313939346139653031666463613032663036663662663361 32326231636262346232636366393361623830316238303537666164626339383061633765333039
39636461663864623432386330623939323361653934303266626466333365336533353566633036 30633539666535366539383061396461313437383537656239393131326538636536356536643735
30393836333061633939613865373166306263643461663336353335646632616232663135356362 66653336343364346635383761613731666263366465643336636661323263386364653035333062
63346664666639353166316661336563383835616364366131356264353362323137623536356138 33616364393664613363383937653530356138316363633335386232336531373835303732383962
64353135346333343234396433353234303365633535333731393264656434336232373934323731 65643264656134393663653333346531316365323730383363373564323133333032373330643232
65653435663931363333623432316136386665646334346636373335613833353034376335393131 63373239366435643738353130353333646136303530643065383066313035366239326664363830
62636634626666313431323064636262623061343539353431396262643036666132333338626637 36626366646264643130326261363536313835356638636139636434333362366363313133316130
37393538343361613832306163373065663661393439386163326238656461383237313331383163 61383734636433313433303466323265386132363862643131613666306162396437643166393630
62336634333139303165613964306663373931613364613263356634633134626632643564653937 32613464313530316262353938383735336262663939323730626662663235303638303065663939
32303139623164313731303830656333383731623634313566656362666236326634616466313762 33636234383033393237303865633961333462663232363562386637333335373565663261363933
61376238326561333562373430323364613332306265643262653332353362636563303835356434 31356436613138653765663162646566326134313736316130356336663536643466623331653039
39653237363339643830373732663339616236646135353865333465623066336261666433666433 38616465306532666434333534356464666663613263383430336465376133393032623762323237
30333435353436613935343266623863623262623737666233363464653364316634373563353138 63343462373834383566393466366332303235323865343730373062343739363265343164623262
66616162663436393636376434306366376638366561323761666533373239353630623863646439 38346539343533636435626133306662623865653934666665363063356162326461316561383261
30393838383432396636356330666636643638616262386661363766313434303230376135396132 33666362656635323262353066356330616263326134613635336261343438393838326438613435
61363061656538373336383463616665626565343630613235303932316165343930633163303039 64343336393034303330323563346233653135633439386465653065633339643032636662313531
32306663353337623335326265316463646439343063366338666237323130343665633434343130 38356234326632336161666666353030366238626262353831393532306166363432633939383166
65323739313336656266646163356331643238336339303133353430393164316135616238333463 66316136333838653433383439623366333062313833616366656566393965393665613738303833
37633736303039653132623961386339636530343130663333663639343764343233313362313366 38326139366330393863623365383963306361613665643962376664636134353533623836643362
63656363346363633564313764383938373861336435646265613065616639333630333532303761 39626166353138646666633136363662393565336333393638626534636330313632326333353366
37373466346235356166623432333333653236383531623036626363346263613439636131646664 39353133666532306531343137353834353133633165613566323135313362333962303637663965
66353165613466616664653534313235633765323566313865383532303062623335353462393364 63383730663562646563333763356135613537666332393537663062653662623938353434323136
64376466356362306565663535363162663339643662323837626135313161346363313862353366 39663965616437653232623333363762616233316530303833376332396165616635336532653035
38666635373131653263643964326265626431663539653731376363323064616363643036386565 36306331643232336664363733376632323630616139353030343930343166623433616234616539
61383263616664353535643862646366613561653731316239643935653462356363383162623463 34393131303363626166383037336262323662393431356463616665343463363432356132313531
37623562616563653931663762376235333939356336633739323334336637633231323631643366 37653331336165626435343162663662386662613164336439636465363335386233383065393535
61613537633135366164636666613263613731316539666365303035626166623133373865303939 31396466636465336164383563326236356463393831363534656536616664613361346463613837
61353632623465386536616364303863386166623162303830646632613362663832353365643366 35366562623432353166303836353261313233663864626665663837336233653237373031393636
61346161363732646135623235316365313161323531343435323865303733343736313030323530 64343763386361626232633032316466373161666536313363633765653365656538343130326566
39646239626234656334626331393532656436346130643135656462353966393733363132666638 38396534323433343634333139333063633531343631316163346135643037323034633835363963
61346261323264363262316231303932393535306134323361633934353938333330666339376332 32343963653263663438666537653963376133633661393562623131636465386266616166366566
36623838623933643839303039326136376634333936303066306231626337353637336165373136 36343963623262656162303337366365616263376363366161373236323166353834616262393061
65336233393538663634653962323633626461306430393434393536333262666132333936313039 39393239303335623332346236356335393836636533386432653164656334613738393533623764
30363737323965616463353534393930643330643730316262313264616431633339646333373765 36363136353034633934323066323335626138353763333537353761303930623930353062373932
61623237623231313863353261633830363562633838663534343764663038666231313435663936 30656339663333373431633763366433366266316563393332613334633966633339633230303166
66643532306231363766323538653534356135393631363031326462336337376138316366613565 61346264386134623962316532343664386637303738333835343036633038323137323961323837
37353464383662383663306130336234323534346661633235643065313130303236313530323831 33376431316465373165663338623538636136343538666235333334373664323463326336336334
35633761343161396361653430313266353264373433616435393065366232313865306131373433 32303361393134653338646563643636356361366133633634393731343332313437643731366634
37633666396135656233343330666332666432333464346566646161373966623266363230633137 30386466333965356135303732663433316363376438623764653464343564353835626435333230
36663366306334313762333661306462386333656335653161396266393238313366613339313861 30646238393266643137373037326136306337306130343739633933626134643364326534386464
30663566663633323733343531346430313266336663356437383038623936316238343263316362 65303531623335663766623037663630376366333631363165633762616564396538643866313465
62363336626564333138356463316336336139303131353835623238343836356436306461616463 35343265663336303537663962643536653937373839313435383337353036313239653263323061
34353539626535663735663130643962323630386138383130313932303534346236643437336664 63653865656461363334646466396135663338383065646464656631636666643030376363633333
65656232653065323462356631363363313530363164366630303031383231343438346264666161 30333331636438656238326534656165396233633131306562336263653330396366343964313434
39633466353632666564623138353565356633396532373562393631343834346566386435343232 66653862386531306236336339353935653335616638643831393430613533643533626135313835
30386336333064393739626332633135346266373630363834636466346338386531666439366130 64313065373564323132663531626436623465663766663566643964353361303336386464386463
35623737353664666366373366333438613939353761386138636461313433663236663338346431 38373036613536386436373535323664333231663437643962373339653236393339653064363530
34663938663233376631333432663335663238303762626463366430656635333332343230383965 61393835343230356234376630613230326637636534336564383139366663663136306665363363
32326435346537343964643165383438323861386138633037333738393536633336393333626663 66373237373530303062333935633634313766316461666439666433616236346434623535343531
61303932616531386233666365653736323934646633626431626630633262376333356530386331 30383264303536653236363533383561613636303662663935303761353065336631353735376365
62366666353935313762346333663739373134373339383131653132656635346233343162366238 63343162646663623736336638306465666233343031656137393037623035613236373930633131
65313034396532623439616665613737386461626131653437303837636166636130303234633131 36366633656131633563336561323835343766356131343038643761663966656364376430366636
36333238393031646238396339346362333261393634626436343239633465623831323031613131 36316633633736353436666539303039383231333437653666313435616536626434653833376532
39613336306337346337633835326433653433633439333635376231333562313462646166313237 66376130653339643564646139633238643266316633363137313038363061386163613863313733
64336536363130346161373133326334363762303366383862373836613631663861393364316631 66633665613537303834393233376463343965343664343564343832376238383064373262336162
64346134373132313861653833386230363333343333666663653964336362356235396637346535 61313163303632373261383563363964353731363739306337333161333130656235363631343761
36316235663136303663663439623939383536306562346236623830363162336164333532313961 61353265633338336466623830396466646233333039323065333636303035363563373366396334
31633761326562633538316337313464373763663464663063613035373063623031663865326662 37366637306430396262376539653134396536643931643563386666623364346635363138373937
37353031336663393762313539626339663638666263336637653862303665656632646333363332 61613232386666343033383031363439373335396362643130656235653066376537373062333363
31656161313739366638343332356463363031623564376265333036633662666531313164383963 39373737316136303835616639363162363839376635666237353064323433373961326338393263
64353532373230333637383937626433623531353637323666626234636637373765623233376138 34343162336336623530653531663136366136353139343561623532633139366533386263316364
37383632643134626437323337643639386465393634643434386233343062393862363231613934 36306134356666343230643639303766343466353562643130363063343330393232663161306266
33366132383061333832346136626336366235613431373435306561356438616364373138633539 66336435356265396330366566373137323265623431386535396665313335666332616233383664
36323033303736633562363137373164663032346430623561353761316637353463613832393333 63656663363366613431366632306230633265306663336439306263646132626631363663643861
62306132356465366135373563373038306335646338346263653137306233353662313834626635 30373330653637623733653165336132643965623232383839623535326336643239333133313030
35636433363036626539303463653762326139396533306236636636336535353061343235303962 32326634643238333163383562393134623532363561393364616430366532633862396438306433
35363431666335393730663433316435666562663462356532376232376665363337303262303839 33653235303639383333633035656533633165653137326130643961393965346266383861616333
32656238363264626464383261313534356233393939323865663561316138666639386237646165 37306266393231336666343333643530353230383239343931303838623335303262313130616162
32666261653465333130333635336532366666623739666663303565353234663833386632653538 65383962613965646438323065303962663965333231323139303438343631396363666330653330
66643338306662363634306331633737393834383264393361633139663163316262316534653861 61323839333863343034356363366433313039383963303063346237366261363861643839396362
35376631396361333239633930616133656130326166643366636338306462303839376264376634 31346637303032356463303564303562313639643563396261326538353834363737323235646430
37323263643137326535383565633930623464386131613236306363336662383731636465373463 64343230336539663237306235623662333062396238383135616231383837366339376633663938
39376165323031633739313135656565313163656564376634666464353766373361316464376164 65313739333065383335323437396232323564363733333437363133613766653334396431333036
62323066363566303338363739653862613337386663366462653365376235303437306264656363 38333038656339363132346362333863643261376335666536306231316630303437306231646565
32343435613232613865663732613963303765633536373330366633393933643764636564316135 61666334623736373832613366376438323664653531393938353234303030633532653561313665
32313230396430363739363735623264376363383565393863323766353937333661326264313665 63613064663564646235373234326661303562646139323330343330343139633462646131353038
32343063353335613236393231333761653835343530333734373631343838386465393131656663 62663535393738626432633564663564653663393937656634666137646363643365353930373266
35373631356666663032633734333562613862383864303262653063356436663261633964343931 66373162373165653533383862363835346133313234326162393331666566316439633133316633
62366661656536626137396432343038343935363130623266383061363664383531613064613432 66393733373333653630363334353833363565336338613361396335326166643630623133303466
39623738376634646636663332346364623834303736613231313863636537643063346332623864 31663037663766356531663039386232316138393266333035613364316539353837653763616666
34303539633434643137326537623663353630396137326666616231323239323231343635656138 32376431383965633138666536386532663761343537646266643566373132343762383966326233
37626230636337363564303666616233383936323335383234626134346339396562336561356530 38373766353962323362366330383564636236363961333535313064313039343933346439396237
64373635326563366132376539646331383239626131366230373461626532353065386131343631 66616631633539623537633164363665393239643633663338393765336434653930356662656164
31343733343863343339616361623636643936653131363762343966323233323430616633626133 65366533633336313832633166376265376634613635363563643866323730343139306537323863
35313539653939363033313736316331336562373162333035313837643832393633333136343363 61373461363237653634666331366436356335306265643639373034666131626238336632346632
32303731326335393833633063643533303161623262366433623938393165366265633034353337 34613062346532656530626364343938636162383862653538353563363035346339623839663261
35383864396164623963626333396335356431383662356261303137343565633863376233616664 39663438396362383866663336643035653833336466663037313764326434373061626232646333
36373432333432373265613837633831306266323330616532396236643463333231326165343035 63336336383366333538613331303863356430373764363930363061383036343836386561663362
35363965306133636539626436343437366462626632633931666236373864303465663239396330 63663232373563343461306131333263376437623534346562626536376138393939373064333231
63613434306362303338343937396566356163653338343463393435336165336137336665383461 31303464656332383036616661656565313063346231623634356638326239343536316162613335
35393332613038336264663233383233333731633432386133326361303436663963383833306564 34663232326438333966313663336465373833646634353934323361343833373661633265313239
32646635646535313366386534313461383037373761333030396166346330353134363330373364 62656533656338376562323861396665353166623732623139353431336439386263363235316132
33666632323036363739313362333333363030336330306236383438636336663939353063643363 35373933613236616362396363323031633166633837383634313638656430373634383563616463
31616566313934353133363234653563303036383863356665393338363361343532313738616333 38353738636631626639636135363561623935646365316161376166653461356430326362623738
32643661316362326265343161623639626165313534346162306435303464363564323265323065 64386537373230303239356334313663616336393439623431616639643233353662306265373232
61663632393839383464626135356331666664373563363434323437323564383830393034363639 39343066353564316433653361333766363535636533626338386434646531653432313034393134
32343037653736636333336338636537363666323633333735383736633735306362633131343234 62653733313636653331356363396531313136346136303661656466333138363366616530306536
6262643530656461613363616637623037393230303130316338 66373532626230313739306432363433313736316261383837393737356333326236323261613965
36373064636138373134373530363533613031376362386334393464383062663663313234643432
64363232376137613231313862386561313131376133376466393630383737306666393738613265
66646236646632313832633366333335313239363763326464326361326263346636326332376336
31306230373963636135643235306537623930636164346366623862303838653238373030653035
35653634393532653566323063323761643738616532376262623163393461346334393034643862
62653835363236303732386365626464346131363231336431316233643132383566356531346237
66333933386539396366333565653938396564643464663165323535386262623532666237393630
65336262636630386633626335636231616332353965356335666362313562643738306263376230
63323938633237363431386639613830633765353232313236336233363736363566346237616637
61656234376562323162656432393665393930313736313439316261363264333865356139343233
63636638646332626365383839373765383864346532383236386266656635653333343032313231
65626233313634333533653436626134373632363565653230656161613963323334613262646530
66636331396130613934363939653238343463396639363731393363643830663362373439646337
63396435376637666563333165623338386337613638366339656561366538366635363037366531
32306235666231303762356665613738323336306465613531313964626631313731373963353964
32616632376534316532643531386635386330313866326265393736376538616431323238333562
36373238656361323336383466363563623333306634373164366134376635373262353533653330
38643233363737356564653834316435336439663562343366353866336662356138323566363061
63313336323435343861393164313130346438343862366530363233643266393964316265663535
65323739306536373331326338326132383265343939663336303534633537393637353639636561
64656432313636366434313465626562626638613232653230373530363234306537363665646633
33326163663830353166643662386637323438366334386533303664356631653561323032666265
61333165363636363634353461613039313362373863663739323231663230643635663466323430
37393431333733313134326231313234353930663365646637386639643535316362626232323430
32363631353565323663393235343336663930373439663861613661636433356366633065343935
61356636323039656230353264646166626633316430653162383638336265653865373536643036
35653166333765366231636163666638383262613432646334663430323565333538626665343763
32646663356565646362646261343436383039623635666439643762616463656361386631313637
61616164383734353634306633636338623837356230626263653161616664613266356432653335
30646434346436383565343138623264386630333832386134666463313936383364333364383232
39393066333666653734616463343530643537613437623766313237353033623662336137356534
35303635623232333230363362353137656235373539316163653863326666383237303235316164
34623138346261366238303037653764366537333561623135656236663435316565303931353939
34663932303239393836363663343735313632333639633733323564343039346436343935373430
66313863643361306161373634373738383462313831643161333230646435313261383534396464
39663466643864666433366531323866333935373833663661323833623734646265393035613966
62393165653135643737343333346232356638646437326664396466333063666135653338623266
34663133636164386164636434666231643163343930353863306538333337643762616661366366
63646336613433623862356365633563633235396337356535376335636633636563333738383061
33326136393530353964666639633638643433653736376637386638336561643061323635373565
65393836613638313165313262376166643561623131363836363531616232663333333063393039
35643938626132383439393761623165303730396365323665613663643961663466393937333731
30643662663034616631343336343236613437376362366234343436376563303466633030323465
64626536333465626430333336353038336539313531303933633466333633336364363961353861
31636135303332343733313637326461643264636236313331643438613365393733383764653432
65346533616130396233613863633331613638316462366364346465353234373531393137336165
36666336333036396262663661343962663763316531393765346536646236613331626139383230
32623665353463326633646466376232343333666465616633333033663031643262663732323230
36363439613934643037393562333237636262306330356638666235333361376136623462313736
33373163336134316563353031616339336234623738373230323335623130376265386130333235
64616261633232316131633062623163333135323737376462383539663137366539656261396238
31363232356361376264373863663362346535346136313834623761333037343435326339633735
33656465376264326334356365346437343062343631663430346561656531653662646530316133
64396563376263306533306565623163316238326264306330393465333737303062363030343662
65333633643635643737323231343664613735336230393835346132613331366266336434623937
65616366633734373434333837326465613862633930626435623165633964313732373936346434
30643161633238343435623538316134616161313461616538653161383032313038666638376432
64646564626231656664306235633031356564373432626561386135653136313062383861323130
34393331316439613363636631666262343334393739303631633936623964343938373334623230
39343031663565333431333731363966623730666335346164623662373265643732306662393663
39336137326533643533623865313934336464633634613436616438373531636562313762383666
37386365333361626362

69
group_vars/dhcp/dhcpd.yml Normal file
View file

@ -0,0 +1,69 @@
---
dhcpd__omapi_key:
algorithm: hmac-sha512
secret: 99XuJO0ofX3VAnWWlyixWbQ5YTagPfgxyh14IbLNBb3/JzEklkWopvQdj/PXVYbfb/sRyFJBhLexPag4dLh7PA==
dhcpd__interfaces:
- client0
- client1
- client2
- client3
- client4
dhcpd__dns_servers:
- 10.128.10.3
- 10.128.10.103
dhcpd__domain_search:
- isp.auro.re.
- auro.re.
dhcpd__subnets:
- network: 100.64.0.0/27
routers:
- 100.64.0.1
start: 100.64.0.4
end: 100.64.0.30
domain_name: client0.isp.auro.re
failover: true
- network: 100.64.0.32/27
routers:
- 100.64.0.31
start: 100.64.0.33
end: 100.64.0.63
domain_name: client1.isp.auro.re
failover: true
- network: 100.64.0.64/27
routers:
- 100.64.0.65
start: 100.64.0.67
end: 100.64.0.95
domain_name: client2.isp.auro.re
failover: true
- network: 100.64.0.96/27
routers:
- 100.64.0.97
start: 100.64.0.99
end: 100.64.0.127
domain_name: client3.isp.auro.re
failover: true
- network: 100.64.0.128/27
routers:
- 100.64.0.129
start: 100.64.0.131
end: 100.64.0.159
domain_name: client4.isp.auro.re
dhcpd__failover:
dhcp-1.isp.infra.auro.re: 10.210.1.1
dhcp-2.isp.infra.auro.re: 10.210.1.2
dhcpd__failover_address: "{{ dhcpd__failover[inventory_hostname] }}"
dhcpd__failover_peer_address: "{{ dhcpd__failover
| dict2items
| selectattr('key', '!=',
inventory_hostname)
| map(attribute='value')
| first }}"
...

24
group_vars/dns/kresd.yml Normal file
View file

@ -0,0 +1,24 @@
---
kresd__listen:
- address: 0.0.0.0
port: 53
kind: dns
- address: "::"
port: 53
kind: dns
- address: 0.0.0.0
port: 853
kind: tls
- address: "::"
port: 853
kind: tls
- address: 0.0.0.0
port: 8453
kind: webmgmt
- address: "::"
port: 8453
kind: webmgmt
tls: false
kresd__cache_size: 512
...

View file

@ -0,0 +1,21 @@
---
keepalived__virtual_router_id: 81
keepalived__interface: back0
keepalived__virtual_addresses:
crans0:
- 185.230.79.254/29
- 2a0c:700:28::2/64
- fe80::1/10
zayo0:
- 2001:1b48:2:103::d7:2/126
- 83.167.52.69/31
- fe80::1/10
oti0:
- 2a00:a4c0:100c:1::b/127
- 77.95.70.11/31
- fe80::1/10
keepalived__main: "{{ inventory_hostname_short == 'edge-1' }}"
...

86
group_vars/infra/bird.yml Normal file
View file

@ -0,0 +1,86 @@
---
bird__kernel:
kernel:
learn: true
import: accept
export: accept
bird__ospf:
limits:
import: 4000
export: 4000
import: accept
export:
protos: kernel
areas:
0:
broadcast:
- back0
stub:
- monit0
- wifi0
- int0
- sw0
- bmc0
- pve0
- isp0
- ext0
- pub0
- th30
- ups0
1:
broadcast:
- vpn0
bird__bgp:
edge1:
local:
address: "{{ bird__bgp_addr.back }}"
as: "{{ bird__as.aurore }}"
neighbor:
address:
- 2a09:6840:203::1:1
- 10.203.1.1
as: "{{ bird__as.aurore }}"
import:
- pref_src: "{{ bird__pref_src_addr }}"
- accept
export: reject
edge2:
local:
address: "{{ bird__bgp_addr.back }}"
as: "{{ bird__as.aurore }}"
neighbor:
address:
- 2a09:6840:203::1:2
- 10.203.1.2
as: "{{ bird__as.aurore }}"
import:
- pref_src: "{{ bird__pref_src_addr }}"
- accept
export: reject
#wg1:
#local:
#address: "{{ bird__bgp_addr.vpn }}"
#as: "{{ bird__as.aurore }}"
#neighbor:
#address:
# - 2a09:6840:213::1:3
# - 10.213.1.3
#as: "{{ bird__as.aurore }}"
#rr_cluster_client: 10.203.1.1
#import: reject
#export: accept
#wg2:
#local:
#address: "{{ bird__bgp_addr.vpn }}"
#as: "{{ bird__as.aurore }}"
#neighbor:
#address:
# - 2a09:6840:213::1:4
# - 10.203.1.4
#as: "{{ bird__as.aurore }}"
#rr_cluster_client: 10.203.1.1
#import: reject
#export: accept
...

View file

@ -0,0 +1,457 @@
---
firewall__zones:
adm-legacy:
addrs:
- 2a09:6840:128::/64
- 10.128.0.0/16
ups:
addrs:
- 2a09:6840:201::/64
- 10.201.0.0/16
back:
addrs:
- 2a09:6840:203::/64
- 10.203.0.0/16
monit:
addrs:
- 2a09:6840:204::/64
- 10.204.0.0/16
wifi:
addrs:
- 2a09:6840:205::/64
- 10.205.0.0/16
int:
addrs:
- 2a09:6840:206::/64
- 10.206.0.0/16
sw:
addrs:
- 2a09:6840:207::/64
- 10.207.0.0/16
bmc:
addrs:
- 2a09:6840:208::/64
- 10.208.0.0/16
pve:
addrs:
- 2a09:6840:209::/64
- 10.209.0.0/16
isp:
addrs:
- 2a09:6840:210::/64
- 10.210.0.0/16
ext:
addrs:
- 2a09:6840:211::/64
- 10.211.0.0/16
pub:
addrs:
- 2a09:6840:215::/64
- 45.66.111.192/27
vpn-clients:
addrs:
- 2a09:6840:212::/64
- 10.212.0.0/16
vpn:
addrs:
- 2a09:6840:213::/64
- 10.213.0.0/16
infra:
zones:
- adm-legacy
- ups
- back
- monit
- wifi
- int
- sw
- bmc
- pve
- isp
- ext
- pub
- vpn
internet:
negate: true
addrs:
- 2a09:6840::/32
- 2a09:6841::/32
- 2a09:6842::/32
- 45.66.108.0/22
- 10.0.0.0/8
- 100.64.0.0/10
prometheus.int:
addrs:
- 2a09:6840:204::1:1
- 10.204.1.1
- 2a09:6840:204::1:2
- 10.204.1.2
grafana.adm:
addrs:
- 2a09:6840:128::98
- 10.128.0.98
re2o-ldap.adm:
addrs:
- 2a09:6840:128::21
- 10.128.0.21
ldap-replica-edc.adm:
addrs:
- 2a09:6840:128::4:249
- 10.128.4.249
nextcloud.adm:
addrs:
- 2a09:6840:128::58
- 10.128.0.58
dns.int:
addrs:
- 2a09:6840:206::1:1
- 10.206.1.1
- 2a09:6840:206::1:2
- 10.206.1.2
ntp.int:
addrs:
- 2a09:6840:206::1:5
- 10.206.1.5
- 2a09:6840:206::1:6
- 10.206.1.6
docker-ovh.adm:
addrs:
- 2a09:6840:128::150
- 10.128.0.150
mx.test:
addrs:
- 2a09:6840:211::1:5
- 45.66.111.208
- 10.128.1.5
proxy.pub:
addrs:
- 2a09:6840:215::1:1
- 45.66.111.206
collabora.ext:
addrs:
- 2a09:6840:211::1:1
- 10.211.1.1
grafana.ext:
addrs:
- 2a09:6840:211::1:7
- 10.211.1.7
ns-1.pub:
addrs:
- 2a09:6840:215::1:2
- 45.66.111.205
ns-2.pub:
addrs:
- 2a09:6840:215::1:3
- 45.66.111.207
ns-master.int:
addrs:
- 2a09:6840:206::1:7
- 10.206.1.7
tor.pub:
addrs:
- 45.66.111.215
- 2a09:6840:215::1:215
jitsi.pub:
addrs:
- 45.66.111.216
- 2a09:6840:215::1:216
log-1.int:
addrs:
- 10.206.1.9
- 2a09:6840:206::1:9
log-2.int:
addrs:
- 10.206.1.10
- 2a09:6840:206::1:10
firewall__input:
- iif:
- back0 # FIXME link-local
- vpn0
verdict: accept
- src:
- back
- vpn
verdict: accept
- src: monit
protocols:
tcp:
dport:
- 9100
- 9700
verdict: accept
- src: monit
protocols:
tcp:
dport: 9324
verdict: accept
- protocols:
icmp: true
verdict: accept
- protocols:
tcp:
dport: 22
verdict: accept
- verdict: drop
firewall__output:
- verdict: accept
firewall__forward:
- src: back
dst: infra
verdict: accept
- src: infra # FIXME: temporary
dst: internet
verdict: accept
- src: monit
dst: bmc
protocols:
icmp: true
verdict: accept
- dst: mx.test
protocols:
icmp: true
verdict: accept
- dst: mx.test
protocols:
tcp:
dport:
- 25
- 465
- 993
verdict: accept
# NS
- dst:
- ns-1.pub
- ns-2.pub
protocols:
tcp:
dport: 53
verdict: accept
- dst:
- ns-1.pub
- ns-2.pub
protocols:
udp:
dport: 53
verdict: accept
- src:
- ns-1.pub
- ns-2.pub
dst: ns-master.int
protocols:
udp:
dport: 53
verdict: accept
- src:
- ns-1.pub
- ns-2.pub
dst: ns-master.int
protocols:
tcp:
dport: 53
verdict: accept
# SNMP
- src: monit
dst:
- sw
- ups
- bmc
protocols:
udp:
dport: 161
verdict: accept
- src: monit
dst:
- sw
- ups
- bmc
protocols:
tcp:
dport: 161
verdict: accept
# Alertmanager
- src: monit
dst: docker-ovh.adm
protocols:
tcp:
dport: 9093
verdict: accept
- src: adm-legacy
dst: bmc
verdict: accept
# Prometheus for Grafana
- src: grafana.adm
dst: prometheus.int
protocols:
tcp:
dport: 9090
verdict: accept
# Prometheus for Grafana nixos
- src: grafana.ext
dst: prometheus.int
protocols:
tcp:
dport: 9090
verdict: accept
- src: grafana.ext
dst: re2o-ldap.adm
protocols:
tcp:
dport: 389
verdict: accept
- src: grafana.ext
dst: ldap-replica-edc.adm
protocols:
tcp:
dport: 389
verdict: accept
# Admin VPN clients
- src: vpn-clients
dst: infra
verdict: accept
# Prometheus node
- src: monit
dst: infra
protocols:
tcp:
dport:
- 9100
- 9700
verdict: accept
# Prometheus bird
- src: monit
dst: back
protocols:
tcp:
dport: 9324
verdict: accept
# Prometheus kresd
- src: monit
dst: dns.int
protocols:
tcp:
dport: 8453
verdict: accept
# Allow DNS from infra to dns-{1,2}
- src: infra
dst: dns.int
protocols:
udp:
dport: 53
verdict: accept
- src: infra
dst: dns.int
protocols:
tcp:
dport: 53
verdict: accept
# Allow NTP from infra to ntp-{1,2}
- src:
- infra
- pub
dst: ntp.int
protocols:
udp:
dport: 123
verdict: accept
# Admin Wireguard
- dst:
- 2a09:6840:211::1:1
- 45.66.111.204
- 10.211.1.1
protocols:
udp:
dport: 5121
verdict: accept
# Proxy web
- dst:
- jitsi.pub
- proxy.pub
protocols:
tcp:
dport:
- 80
- 443
verdict: accept
- src: proxy.pub
dst: grafana.adm
protocols:
tcp:
dport: 3000
verdict: accept
- src: proxy.pub
dst: grafana.ext
protocols:
tcp:
dport: 80
verdict: accept
- src: proxy.pub
dst: nextcloud.adm
protocols:
tcp:
dport: 8080
- src: proxy.pub
dst: adm-legacy
protocols:
tcp:
dport:
- 80
- 443
verdict: accept
# ICMP to public vlan
- dst: pub
protocols:
icmp: true
verdict: accept
# Proxy -> Collabora
- src: proxy.pub
dst: collabora.ext
protocols:
tcp:
dport: 9980
verdict: accept
# Collabora -> Proxy
- src: collabora.ext
dst: proxy.pub
protocols:
tcp:
dport:
- 80
- 443
verdict: accept
# Tor: SSH
- dst: tor.pub
protocols:
tcp:
dport:
- 22
- 4444
verdict: accept
# Jitsi UDP
- dst: jitsi.pub
protocols:
udp:
dport:
- 3478
- 10000
# Jitsi TCP
- dst: jitsi.pub
protocols:
tcp:
dport:
- 5349
firewall__nat:
- src: 10.0.0.0/8
dst: internet
protocols: null
snat:
addr: 45.66.111.200/30
#- src: monit
# dst: adm-legacy
# protocols: null
# snat:
# addr: 10.203.1.3/32
...

View file

@ -0,0 +1,59 @@
---
keepalived__virtual_router_id: 82
keepalived__interface: back0
keepalived__virtual_addresses:
ups0:
- 10.201.0.1/16
- 2a09:6840:201::1/64
- fe80::1/10
monit0:
- 10.204.0.1/16
- 2a09:6840:204::1/64
- fe80::1/10
wifi0:
- 10.205.0.1/16
- 2a09:6840:205::1/64
- fe80::1/10
int0:
- 10.206.0.1/16
- 2a09:6840:206::1/64
- fe80::1/10
sw0:
- 10.207.0.1/16
- 2a09:6840:207::1/64
- fe80::1/10
bmc0:
- 10.208.0.1/16
- 2a09:6840:208::1/64
- fe80::1/10
pve0:
- 10.209.0.1/16
- 2a09:6840:209::1/64
- fe80::1/10
isp0:
- 10.210.0.1/16
- 2a09:6840:210::1/64
- fe80::1/10
ext0:
- 10.211.0.1/16
- 2a09:6840:211::1/64
- fe80::1/10
th30:
- 10.126.0.6/24
- fe80::1/10
pub0:
- 2a09:6840:215::1/64
- 45.66.111.204/27
- fe80::1/10
#keepalived__virtual_routes:
# ext0:
# - 45.66.111.204/30
keepalived__virtual_blackholes:
- 45.66.111.200/30 # NAT
keepalived__main: "{{ inventory_hostname_short == 'infra-1' }}"
...

53
group_vars/isp/bird.yml Normal file
View file

@ -0,0 +1,53 @@
---
bird__kernel:
kernel:
learn: true
import: accept
export: accept
bird__ospf:
limits:
import: 4000
export: 4000
import: accept
export:
protos: kernel
areas:
0:
broadcast:
- back0
stub:
- client0
- client1
- client2
- client3
- client4
bird__bgp:
edge1:
local:
address: "{{ bird__bgp_addr.back }}"
as: "{{ bird__as.aurore }}"
neighbor:
address:
- 2a09:6840:203::1:1
- 10.203.1.1
as: "{{ bird__as.aurore }}"
import:
- pref_src: "{{ bird__pref_src_addr }}"
- accept
export: reject
bird__radv:
rdnss:
- 2a09:6840:206::1:1
- 2a09:6840:206::1:2
interfaces:
client0:
max_interval: 5
prefixes:
- 2a09:6841::/64
dnssl: client0.isp.auro.re
domain_search:
- auro.re
...

View file

@ -0,0 +1,40 @@
---
firewall__zones:
internet:
negate: true
addrs:
- 2a09:6840::/32
- 2a09:6841::/32
- 2a09:6842::/32
- 45.66.108.0/22
- 10.0.0.0/8
- 100.64.0.0/10
clients:
addrs:
- 100.64.0.0/10
non_clients:
negate: true
zones: clients
allowed_clients:
file:
path: /var/run/firewall/allowed_clients.yml
default: []
firewall__input:
- verdict: accept
firewall__output:
- verdict: accept
firewall__forward:
- src: allowed_clients
dst: non_clients
verdict: accept
firewall__nat:
- src: clients
dst: internet
protocols: null
snat:
addr: 45.66.111.220
...

View file

@ -0,0 +1,32 @@
---
keepalived__virtual_router_id: 80
keepalived__interface: back0
keepalived__virtual_addresses:
client0:
- 100.64.0.1/27
- 2a09:6841::1/56
- fe80::1/10
client1:
- 100.64.0.33/27
- 2a09:6841:0:1::1/64
- fe80::1/10
client2:
- 100.64.0.65/27
- 2a09:6841:0:2::1/64
- fe80::1/10
client3:
- 100.64.0.97/27
- 2a09:6841:0:3::1/64
- fe80::1/10
client4:
- 100.64.0.129/27
- 2a09:6841:0:4::1/64
- fe80::1/10
keepalived__virtual_blackholes:
- 45.66.111.220/32
keepalived__main: "{{ inventory_hostname_short == 'isp-1' }}"
...

71
group_vars/ns/knotd.yml Normal file
View file

@ -0,0 +1,71 @@
---
knotd__listen:
- address: 0.0.0.0
- address: "::"
knotd__keys:
xfr:
algorithm: hmac-sha512
secret: "{{ vault_knotd_xfr_key }}"
knotd__remotes:
xfr-master:
address: 2a09:6840:206::1:7
key: xfr
knotd__acl:
notify-master:
address:
- 2a09:6840:206::1:7
- 10.206.1.7
key: xfr
action: notify
knotd__queryacl:
local:
addresses:
- 10.0.0.0/8
knotd__zones:
auro.re:
dnssec_validation: true
acl:
- notify-master
master: xfr-master
test.auro.re:
dnssec_validation: true
acl:
- notify-master
master: xfr-master
infra.auro.re:
dnssec_validation: true
acl:
- notify-master
#queryacl: local
master: xfr-master
108.66.45.in-addr.arpa:
dnssec_validation: false
acl:
- notify-master
master: xfr-master
109.66.45.in-addr.arpa:
dnssec_validation: false
acl:
- notify-master
master: xfr-master
110.66.45.in-addr.arpa:
dnssec_validation: false
acl:
- notify-master
master: xfr-master
111.66.45.in-addr.arpa:
dnssec_validation: false
acl:
- notify-master
master: xfr-master
0.4.8.6.9.0.a.2.ip6.arpa:
dnssec_validation: false
acl:
- notify-master
master: xfr-master
...

View file

@ -0,0 +1,13 @@
---
chronyd__allow_networks:
- 2a09:6840::/32
- 10.0.0.0/8
chronyd__pools:
- 0.pool.ntp.org
- 1.pool.ntp.org
- 2.pool.ntp.org
- 3.pool.ntp.org
chronyd__local_stratum: 10
...

View file

@ -0,0 +1,144 @@
---
prometheus__scraping_bird:
targets: "{{ groups.router }}"
address:
port: 9324
prometheus__rules_bird:
- record: bird:protocol_up:bgp_all
expr:
label_replace(
bird_protocol_up{proto="BGP"},
"group", "$1",
"instance", "^([^0-9\\.]+)-[0-9]+.*"
)
# FIXME: sessions en cours d'installation, pas encore monitorées
- record: bird:protocol_up:bgp
expr:
bird:protocol_up:bgp_all
unless bird:protocol_up:bgp_all{
group="edge",
name=~"^(viarezo|isp[12]|rezel)[46]$"
}
# Sessions qui ne sont volontairement pas redondées
# au sein d'un groupe
- record: bird:protocol_up:bgp:non_redundant
expr:
bird:protocol_up:bgp{
group="edge",
name=~"^(oti|crans|legacy|edge)[46]$"
}
# Sessions qui le sont
- record: bird:protocol_up:bgp:redundant
expr:
bird:protocol_up:bgp
unless
bird:protocol_up:bgp:non_redundant
- alert: BirdBGPRedundancyDegraded
expr:
(
count by (group, name) (
bird:protocol_up:bgp:redundant{state="Established"}
) + (
count by (group, name) (
bird:protocol_up:bgp:redundant{state!="Established"} * 0
)
)
) < 2
for: 0m
labels:
severity: warning
annotations:
Session: !unsafe "{{ $labels.name }}"
Count: !unsafe "{{ $value }}"
Group: !unsafe "{{ $labels.group }}"
- alert: BirdBGPDown
expr:
(
count by (group, name) (
bird:protocol_up:bgp{state="Established"}
) + (
count by (group, name) (
bird:protocol_up:bgp{state!="Established"} * 0
)
)
) == 0
for: 0m
labels:
severity: critical
annotations:
Session: !unsafe "{{ $labels.name }}"
Group: !unsafe "{{ $labels.group }}"
# TODO: warning pour redondant ?
- alert: BirdBGPNoExportedPrefixRedundant
expr:
bird_protocol_prefix_export_count{
export_filter!="REJECT",
} * on (instance, name) group_left (group) (
bird:protocol_up:bgp:redundant{state="Established"}
) == 0
for: 0m
labels:
severity: critical
annotations:
Session: !unsafe "{{ $labels.name }}"
Group: !unsafe "{{ $labels.group }}"
- alert: BirdBGPNoImportedPrefixRedundant
expr:
bird_protocol_prefix_import_count{
import_filter!="REJECT",
} * on (instance, name) group_left (group) (
bird:protocol_up:bgp:redundant{state="Established"}
) == 0
for: 0m
labels:
severity: critical
annotations:
Session: !unsafe "{{ $labels.name }}"
Group: !unsafe "{{ $labels.group }}"
- alert: BirdBGPNoExportedPrefixNonRedundant
expr:
sum by (group) (
bird_protocol_prefix_export_count{
export_filter!="REJECT",
} * on (instance, name) group_left (group) (
bird:protocol_up:bgp:non_redundant{state="Established"}
)
) == 0
for: 0m
labels:
severity: critical
annotations:
Session: !unsafe "{{ $labels.name }}"
Group: !unsafe "{{ $labels.group }}"
- alert: BirdBGPNoImportedPrefixNonRedundant
expr:
sum by (group) (
bird_protocol_prefix_import_count{
import_filter!="REJECT",
} * on (instance, name) group_left (group) (
bird:protocol_up:bgp:non_redundant{state="Established"}
)
) == 0
for: 0m
labels:
severity: critical
annotations:
Session: !unsafe "{{ $labels.name }}"
Group: !unsafe "{{ $labels.group }}"
- alert: BirdOSPFNeighboursChange
expr:
changes(bird_ospf_neighbor_count[5m]) > 0
or changes(bird_ospfv3_neighbor_count[5m]) > 0
for: 0m
labels:
severity: warning
- alert: BirdOSPFDown
expr:
bird_ospf_running == 0
for: 0m
labels:
severity: critical
annotations:
Instance: !unsafe "{{ $labels.name }}"
...

View file

@ -0,0 +1,11 @@
---
prometheus__rules_common:
- alert: CollectorDown
expr:
up == 0
for: 3m
labels:
severity: critical
annotations:
Job: !unsafe "{{ $labels.job }}"
...

View file

@ -0,0 +1,11 @@
---
prometheus__scraping_eaton:
targets: "{{ groups.eaton_ups }}"
address: 127.0.0.1:9116
path: /snmp
params:
module:
- eaton
prometheus__rules_eaton: {}
...

View file

@ -0,0 +1,13 @@
---
prometheus__scraping_ilo:
targets: "{{ groups.ilo }}"
address: 127.0.0.1:9116
path: /snmp
timeout: 180s
interval: 180s
params:
module:
- ilo
prometheus__rules_ilo: {}
...

View file

@ -0,0 +1,6 @@
---
prometheus__scraping_jitsi:
targets: ["jitsi.pub.infra.auro.re"]
address:
port: 9700
...

View file

@ -0,0 +1,23 @@
---
prometheus__rules_keepalived:
- alert: KeepalivedVrrpFault
expr:
keepalived_vrrp_state{state="fault"} > 0
for: 0m
labels:
severity: critical
annotations:
Instance: !unsafe "{{ $labels.instance }}"
- alert: KeepalivedMasterChange
expr:
changes(
keepalived_vrrp_state{
keepalived_vvrp_state="master"
}[1m]
) > 0
for: 0m
labels:
severity: warning
annotations:
Instance: !unsafe "{{ $labels.instance }}"
...

View file

@ -0,0 +1,6 @@
---
prometheus__scraping_kresd:
targets: "{{ groups.dns }}"
address:
port: 8453
...

View file

@ -0,0 +1,28 @@
---
prometheus__alertmanager_targets:
- docker-ovh.adm.auro.re:9093
prometheus__tsdb_retention_time: 90d
prometheus__scraping:
node: "{{ prometheus__scraping_node }}"
prometheus: "{{ prometheus__scraping_prometheus }}"
kresd: "{{ prometheus__scraping_kresd }}"
bird: "{{ prometheus__scraping_bird }}"
quanta: "{{ prometheus__scraping_quanta }}"
ilo: "{{ prometheus__scraping_ilo }}"
snmp: "{{ prometheus__scraping_snmp }}"
eaton: "{{ prometheus__scraping_eaton }}"
jitsi: "{{ prometheus__scraping_jitsi }}"
prometheus__rules:
common: "{{ prometheus__rules_common }}"
switch: "{{ prometheus__rules_switch }}"
prometheus: "{{ prometheus__rules_prometheus }}"
node: "{{ prometheus__rules_node }}"
keepalived: "{{ prometheus__rules_keepalived }}"
quanta: "{{ prometheus__rules_quanta }}"
#ilo: "{{ prometheus__rules_ilo }}"
bird: "{{ prometheus__rules_bird }}"
#eaton: "{{ prometheus__rules_eaton }}"
...

View file

@ -0,0 +1,200 @@
---
prometheus__scraping_node:
targets: "{{ groups.vm + groups.pve }}"
address:
port: 9100
prometheus__rules_node:
- alert: OutOfMemory
expr:
(
node_memory_MemFree_bytes
+ node_memory_Cached_bytes
+ node_memory_Buffers_bytes
) / node_memory_MemTotal_bytes < 0.1
for: 5m
labels:
severity: warning
annotations:
FreeMemory: !unsafe "{{ $value | humanizePercentage }}"
- alert: HostSwapIsFillingUp
expr:
(
1 - (
node_memory_SwapFree_bytes
/ node_memory_SwapTotal_bytes
)
) >= 0.5
for: 3m
labels:
severity: critical
annotations:
UsedSwap: !unsafe "{{ $value | humanizePercentage }}"
- alert: HostPhysicalComponentTooHot
expr:
node_hwmon_temp_celsius > 79
for: 3m
labels:
severity: critical
annotations:
Temperature: !unsafe "{{ $value | humanize }} °C"
Chip: !unsafe "{{ $labels.chip }}"
Sensor: !unsafe "{{ $labels.sensor }}"
- alert: HostNodeOvertemperatureAlarm
expr:
node_hwmon_temp_crit_alarm_celsius == 1
for: 0m
labels:
severity: critical
annotations:
Chip: !unsafe "{{ $labels.chip }}"
Sensor: !unsafe "{{ $labels.sensor }}"
- alert: HostRaidArrayGotInactive
expr:
node_md_state{state="inactive"} > 0
for: 0m
labels:
severity: critical
annotations:
Device: !unsafe "{{ $labels.device }}"
- alert: HostRaidDiskFailure
expr:
node_md_disks{state="failed"} > 0
for: 0m
labels:
severity: critical
annotations:
severity: !unsafe "{{ $labels.md_device }}"
- alert: HostOomKillDetected
expr:
increase(node_vmstat_oom_kill[1m]) > 0
for: 0m
labels:
severity: warning
annotations:
PID: !unsafe "{{ $value }}"
- alert: HostEdacCorrectableErrorsDetected
expr:
increase(node_edac_correctable_errors_total[1m]) > 0
for: 0m
labels:
severity: warning
annotations:
CorrectedErrors: !unsafe "{{ $value }}"
- alert: HostEdacUncorrectableErrorsDetected
expr:
increase(node_edac_uncorrectable_errors_total[1m]) > 0
for: 0m
labels:
severity: warning
annotations:
DetectedErrors: !unsafe "{{ $value }}"
- alert: OutOfDiskSpace
expr:
(
node_filesystem_free_bytes
/ node_filesystem_size_bytes < 0.1
)
and on (instance, device, mountpoint) (
node_filesystem_readonly
) == 0
for: 5m
labels:
severity: critical
annotations:
Mountpoint: !unsafe "{{ $labels.mountpoint }}"
FreeSpace: !unsafe "{{ $value | humanizePercentage }}"
- alert: HostConntrackLimit
expr:
(
node_nf_conntrack_entries
/ node_nf_conntrack_entries_limit
) > 0.8
for: 5m
labels:
severity: warning
annotations:
Filled: !unsafe "{{ $value | humanizePercentage }}"
- alert: HostClockSkew
expr:
(
node_timex_offset_seconds > 0.05
and deriv(node_timex_offset_seconds[5m]) >= 0
) or (
node_timex_offset_seconds < -0.05
and deriv(node_timex_offset_seconds[5m]) <= 0
)
for: 2m
labels:
severity: warning
- alert: HostClockNotSynchronising
expr:
min_over_time(node_timex_sync_status[1m]) == 0
and node_timex_maxerror_seconds >= 16
for: 2m
labels:
severity: warning
- alert: HostRequiresReboot
expr:
node_reboot_required > 0
for: 5m
labels:
severity: warning
- alert: OutOfInodes
expr:
node_filesystem_files_free
/ node_filesystem_files < 0.1
for: 3m
labels:
severity: warning
annotations:
Mountpoint: !unsafe "{{ $labels.mountpoint }}"
FreeInodes: !unsafe "{{ $value | humanizePercentage }}"
- alert: CpuUsage
expr:
(
1 - avg by (instance) (
irate(node_cpu_seconds_total{mode="idle"}[5m])
)
) > 0.75
for: 10m
labels:
severity: warning
annotations:
Usage: !unsafe "{{ $value | humanizePercentage }}"
- alert: SystemdServiceFailed
expr:
node_systemd_unit_state{state="failed"} == 1
for: 10m
labels:
severity: warning
annotations:
Service: !unsafe "{{ $labels.name }}"
- alert: LoadUsage
expr:
node_load1 > 5
for: 2m
labels:
severity: warning
annotations:
Load1: !unsafe "{{ $value | humanize }}"
- alert: UnhealthyDisk
expr:
smartmon_device_smart_healthy < 1
for: 10m
labels:
severity: critical
annotations:
Disk: !unsafe "{{ $labels.disk }}"
- alert: HostCpuStealNoisyNeighbor
expr:
avg by (instance) (
rate(node_cpu_seconds_total{mode="steal"}[5m])
) > 0.1
for: 5m
labels:
severity: warning
annotations:
Disk: !unsafe "{{ $labels.disk }}"
Steal: !unsafe "{{ $value | humanizePercentage }}"
...

View file

@ -0,0 +1,14 @@
---
prometheus__scraping_prometheus:
targets: "{{ groups.prom }}"
address:
port: 9090
prometheus__rules_prometheus:
- alert: PrometheusTsdbCompactionFailed
expr:
increase(prometheus_tsdb_compactions_failed_total[1m]) > 0
for: 0m
labels:
severity: critical
...

View file

@ -0,0 +1,98 @@
---
prometheus__scraping_quanta:
targets: "{{ groups.quanta }}"
address: 127.0.0.1:9116
path: /snmp
timeout: 180s
interval: 180s
params:
module:
- quanta
prometheus__rules_quanta:
- alert: QuantaQueueOverflow
expr:
snAgGblQueueOverflow == 1
for: 0m
labels:
severity: critical
- alert: QuantaCpuUsage
expr:
snAgGblCpuUtil1MinAvg > 50
for: 5m
labels:
severity: warning
annotations:
Usage: !unsafe "{{ $value }} %"
- alert: QuantaCpuUsage
expr:
snAgGblCpuUtil1MinAvg > 80
for: 5m
labels:
severity: critical
annotations:
Usage: !unsafe "{{ $value }} %"
- alert: QuantaMemoryUsage
expr:
100 * (1 - (snAgGblDynMemFree / snAgGblDynMemTotal)) > 50
for: 5m
labels:
severity: warning
annotations:
UsedMemory: !unsafe "{{ $value }} %"
- alert: QuantaMemoryUsage
expr:
100 * (1 - (snAgGblDynMemFree / snAgGblDynMemTotal)) > 80
for: 5m
labels:
severity: alert
annotations:
UsedMemory: !unsafe "{{ $value }} %"
- alert: QuantaFanHealth
expr:
snChasFanOperStatus{snChasFanOperStatus="normal"} == 0
for: 0m
labels:
severity: critical
annotations:
Description: !unsafe "{{ $labels.shChasFanDescription }}"
Status: !unsafe "{{ $labels.snChasFanOperStatus }}"
- alert: QuantaMissingIntakeTemp
expr:
count by (instance) (
snAgentTempValue
) - count by (instance) (
snAgentTempValue{snAgentTempSensorDescr=~".*Intake.*"}
) == 0
for: 0m
labels:
severity: critical
- alert: QuantaIntakeTemp
expr:
0.5 * snAgentTempValue{snAgentTempSensorDescr=~".*Intake.*"} > 60
for: 10m
keep_firing_for: 30m
labels:
severity: warning
annotations:
Temperature: !unsafe "{{ $value }} °C"
Description: !unsafe "{{ $labels.snAgentTempSensorDescr }}"
- alert: QuantaIntakeTemp
expr:
0.5 * snAgentTempValue{snAgentTempSensorDescr=~".*Intake.*"} > 70
for: 10m
keep_firing_for: 30m
labels:
severity: critical
annotations:
Temperature: !unsafe "{{ $value }} °C"
Description: !unsafe "{{ $labels.snAgentTempSensorDescr }}"
- alert: QuantaPowerRedundancyFailure
expr:
count by (instance) (
snChasPwrSupplyOperStatus{snChasPwrSupplyOperStatus="normal"}
) < 2
for: 0m
labels:
severity: warning
...

View file

@ -0,0 +1,6 @@
---
prometheus__scraping_snmp:
targets: "{{ groups.prom }}"
address:
port: 9116
...

View file

@ -0,0 +1,91 @@
---
prometheus__rules_switch:
- alert: SwitchPromiscuousChange
expr:
changes(ifPromiscuousMode[5m]) > 0
for: 0m
labels:
severity: warning
annotations:
Interface: !unsafe "{{ $labels.ifName }}
{{ if $labels.ifAlias }}- {{ $labels.ifAlias }}{{ end }}"
- alert: SwitchInterfaceUpChange
expr:
changes(ifOperStatus{ifOperStatus="up"}[5m]) > 0
for: 0m
labels:
severity: warning
annotations:
Interface: !unsafe "{{ $labels.ifName }}
{{ if $labels.ifAlias }}- {{ $labels.ifAlias }}{{ end }}"
- alert: SwitchInErrors
expr:
irate(ifInErrors[5m]) / (
irate(ifInUcastPkts[5m])
+ irate(ifInNUcastPkts[5m])
) > 0.0001
for: 0m
labels:
severity: warning
annotations:
ErrorRate: !unsafe "{{ $value | humanizePercentage }}"
Interface: !unsafe "{{ $labels.ifName }}
{{ if $labels.ifAlias }}- {{ $labels.ifAlias }}{{ end }}"
- alert: SwitchOutErrors
expr:
irate(ifOutErrors[5m]) / (
irate(ifOutUcastPkts[5m])
+ irate(ifOutNUcastPkts[5m])
) > 0.0001
for: 0m
labels:
severity: warning
annotations:
ErrorRate: !unsafe "{{ $value | humanizePercentage }}"
Interface: !unsafe "{{ $labels.ifName }}
{{ if $labels.ifAlias }}- {{ $labels.ifAlias }}{{ end }}"
- alert: SwitchInLinkUsage
expr:
rate(ifHCInOctets[5m]) / (ifHighSpeed * 1000000 / 8) > 0.5
for: 5m
keep_firing_for: 10m
labels:
severity: warning
annotations:
Usage: !unsafe "{{ $value | humanizePercentage }}"
Interface: !unsafe "{{ $labels.ifName }}
{{ if $labels.ifAlias }}- {{ $labels.ifAlias }}{{ end }}"
- alert: SwitchInLinkUsage
expr:
rate(ifHCInOctets[5m]) / (ifHighSpeed * 1000000 / 8) > 0.8
for: 5m
keep_firing_for: 10m
labels:
severity: critical
annotations:
Usage: !unsafe "{{ $value | humanizePercentage }}"
Interface: !unsafe "{{ $labels.ifName }}
{{ if $labels.ifAlias }}- {{ $labels.ifAlias }}{{ end }}"
- alert: SwitchOutLinkUsage
expr:
rate(ifHCOutOctets[5m]) / (ifHighSpeed * 1000000 / 8) > 0.5
for: 5m
keep_firing_for: 10m
labels:
severity: warning
annotations:
Usage: !unsafe "{{ $value | humanizePercentage }}"
Interface: !unsafe "{{ $labels.ifName }}
{{ if $labels.ifAlias }}- {{ $labels.ifAlias }}{{ end }}"
- alert: SwitchOutLinkUsage
expr:
rate(ifHCOutOctets[5m]) / (ifHighSpeed * 1000000 / 8) > 0.8
for: 5m
keep_firing_for: 10m
labels:
severity: warning
annotations:
Usage: !unsafe "{{ $value | humanizePercentage }}"
Interface: !unsafe "{{ $labels.ifName }}
{{ if $labels.ifAlias }}- {{ $labels.ifAlias }}{{ end }}"
...

View file

@ -0,0 +1,40 @@
---
prometheus_snmp__modules_eaton:
version: 1
auth:
community: "{{ vault_snmp_eaton_community }}"
walk:
- sysUpTime
#- upsBattery
- xupsInput
- xupsOutput
- xupsBypass
- xupsEnvironment
- xupsBattery
- xupsConfig
lookups:
- source_indexes:
- xupsInputPhase
lookup: xupsInputName
- source_indexes:
- xupsOutputPhase
lookup: xupsOutputName
- source_indexes:
- xupsBypassPhase
lookup: xupsBypassName
overrides:
upsBatteryStatus:
type: EnumAsStateSet
xupsInputId:
type: EnumAsStateSet
xupsOutputId:
type: EnumAsStateSet
xupsBypassId:
type: EnumAsStateSet
xupsOutputSource:
type: EnumAsStateSet
xupsBatteryAbmStatus:
type: EnumAsStateSet
xupsContactType:
type: EnumAsStateSet
...

View file

@ -0,0 +1,19 @@
---
prometheus_snmp__modules_ilo:
version: 3
timeout: 10s
retries: 10
auth:
security_level: authPriv
auth_protocol: SHA
username: aurore
password: "{{ vault_snmp_ilo_auth }}"
priv_protocol: AES
priv_password: "{{ vault_snmp_ilo_priv }}"
walk:
- sysUpTime
- cpqHeTemperatureTable
overrides:
cpqHeTemperatureThresholdType:
type: EnumAsStateSet
...

View file

@ -0,0 +1,6 @@
---
prometheus_snmp__modules:
quanta: "{{ prometheus_snmp__modules_quanta }}"
ilo: "{{ prometheus_snmp__modules_ilo }}"
eaton: "{{ prometheus_snmp__modules_eaton }}"
...

View file

@ -0,0 +1,125 @@
---
prometheus_snmp__modules_quanta:
auth:
community: "{{ vault_snmp_quanta_community }}"
timeout: 60s
retries: 3
walk:
- interfaces
- ifXTable
- snAgGblQueueOverflow
- snAgGblDynMemTotal
- snAgGblDynMemFree
- snAgGblCpuUtil1SecAvg
- snAgGblCpuUtil5SecAvg
- snAgGblCpuUtil1MinAvg
- sysUpTime
- snAgentCpuUtilPercent
- snAgent
- snChasFan
- snChasPwr
- snAgentTemp
- snAgentCpu
- snSwInfo
- snSwIfInfoTable
- dot3StatsTable
- dot3HCStatsTable
- dot3Errors
- dot3Tests
- dot3CollTable
- lldpLocChassisId
- lldpRemTable
- lldpLocPortTable
- dot1dBasePort
lookups:
- source_indexes:
- ifIndex
lookup: ifAlias
- source_indexes:
- ifIndex
lookup: ifDescr
- source_indexes:
- ifIndex
lookup: ifName
- source_indexes:
- snChasFanIndex
lookup: snChasFanDescription
- source_indexes:
- snAgentTempSlotNum
- snAgentTempSensorId
lookup: snAgentTempSensorDescr
- source_indexes:
- snSwIfInfoPortNum
lookup: snSwIfName
- source_indexes:
- snSwIfInfoPortNum
lookup: snSwIfDescr
- source_indexes:
- dot3StatsIndex
lookup: ifAlias
- source_indexes:
- dot3StatsIndex
lookup: ifDescr
- source_indexes:
- dot3StatsIndex
lookup: ifName
- source_indexes:
- lldpRemTimeMark
- lldpRemLocalPortNum
- lldpRemIndex
lookup: lldpRemChassisId
#- source_indexes:
# - lldpLocPortNum
# lookup: lldpLocPortIdSubtype
overrides:
ifIndex:
ignore: true
ifAlias:
ignore: true
ifDescr:
ignore: true
ifName:
ignore: true
ifOperStatus:
type: EnumAsStateSet
ifAdminStatus:
type: EnumAsStateSet
snChasFanIndex:
ignore: true
snChasFanDescription:
ignore: true
snChasPwrSupplyIndex:
ignore: true
snAgentTempSensorDescr:
ignore: true
snChasFanOperStatus:
type: EnumAsStateSet
snChasPwrSupplyOperStatus:
type: EnumAsStateSet
snSwIfName:
ignore: true
snSwIfDescr:
ignore: true
snSwIfVlanId:
ignore: true
snSwIfInfoPortNum:
ignore: true
snSwIfInfoMonitorMode:
type: EnumAsStateSet
snSwIfInfoMirrorPorts:
ignore: true
snSwIfInfoMediaType:
type: EnumAsInfo
ifType:
type: EnumAsInfo
dot3StatsIndex:
ignore: true
dot3StatsEtherChipSet:
ignore: true
dot3StatsDuplexStatus:
type: EnumAsStateSet
lldpLocPortIdSubtype:
type: EnumAsInfo
lldpRemPortIdSubtype:
type: EnumAsInfo
...

View file

@ -0,0 +1,31 @@
---
pve_auth__groups:
admin:
- Administrator
pve_auth__pam_users:
root:
enabled: false
pve_auth__users:
elkmaennchen:
password: "{{ vault_pve_passwords.elkmaennchen }}"
groups:
- admin
jeltz:
password: "{{ vault_pve_passwords.jeltz }}"
groups:
- admin
korenstin:
password: "{{ vault_pve_passwords.korenstin }}"
groups:
- admin
otthorn:
password: "{{ vault_pve_passwords.otthorn }}"
groups:
- admin
v-lafeychine:
password: "{{ vault_pve_passwords['v-lafeychine'] }}"
groups:
- admin
...

View file

@ -0,0 +1,17 @@
---
radiusd__guest_vlan: 1000
radiusd__clients:
localhost:
addr: 127.0.0.1
secret: abcdef
type: aurore
wifi-ap-v4:
addr: 10.102.0.0/16
secret: abcdef
type: aurore
wifi-ap-v6:
addr: 2a09:6840:102::/56
secret: abcdef
type: aurore
...

View file

@ -0,0 +1,3 @@
---
prometheus_keepalived__dest: /var/run/prometheus-node-exporter/keepalived.prom
...

12
group_vars/switch.yml Normal file
View file

@ -0,0 +1,12 @@
---
glob_switch:
loop_protect:
port_disable_timer_in_seconds: 30
transmit_interval_in_seconds: 3
sntp:
operation_mode: SNTP_UNICAST_MODE
poll_interval: 720
servers:
- ip: 10.206.1.5
priority: 1
...

60
group_vars/vpn/bird.yml Normal file
View file

@ -0,0 +1,60 @@
---
bird__tables:
- wg
bird__kernel:
kernel:
learn: true
import: accept
export: accept
vrf:
learn: true
import:
sources:
- "{{ iproute2__custom_protos.wireguard }}"
export: accept
table: wg
kernel: "{{ iproute2__custom_tables.wireguard }}"
bird__ospf:
limits:
import: 4000
export: 4000
table: wg
import: accept
export:
sources:
- "{{ iproute2__custom_protos.wireguard }}"
areas:
1:
broadcast:
- vpn0
bird__bgp:
infra1:
local:
address: "{{ bird__bgp_addr.vpn }}"
as: "{{ bird__as.aurore }}"
neighbor:
address:
- 2a09:6840:213::1:1
- 10.213.1.1
as: "{{ bird__as.aurore }}"
table: wg
import: accept
export: reject
next_hop_self: true
infra2:
local:
address: "{{ bird__bgp_addr.vpn }}"
as: "{{ bird__as.aurore }}"
neighbor:
address:
- 2a09:6840:213::1:2
- 10.213.1.2
as: "{{ bird__as.aurore }}"
table: wg
import: accept
export: reject
next_hop_self: true
...

View file

@ -0,0 +1,16 @@
---
ifupdown2__vrf:
wg-vrf:
table: "{{ iproute2__custom_tables.wireguard }}"
ifupdown2__wireguard:
wg0:
private_key: "{{ vault_wireguard_wg0_private }}"
listen_port: 5121
vrf: wg-vrf
table: "{{ iproute2__custom_tables.wireguard }}"
peer_allowed_addresses:
- 2a09:6840:212::1:1/128
- 10.212.1.1/32
peer_public_key: 0kP/XjaGOpu4p9KHTAoAhkLwXzC8wJUdPIdhdpgeKhY=
...

View file

@ -0,0 +1,7 @@
---
iproute2__custom_tables:
wireguard: 2000
iproute2__custom_protos:
wireguard: 200
...

View file

@ -0,0 +1,22 @@
---
systemd_link__links:
pub0: ae:ae:ae:2C:60:35
ifupdown2__interfaces:
pub0:
addresses:
- 2a09:6840:128::220/64
- 10.128.0.220/16
gateways: "{{ ifupdown2__gateways.adm }}"
collabora__server_name: office.auro.re
collabora__post_allow_addrs:
- 2a09:6840:215::1:1
- 45.66.111.206
collabora__wopi_groups:
- host: https://cloud.auro.re:443
aliases:
- https://nextcloud.auro.re:443
...

View file

@ -0,0 +1,47 @@
---
systemd_link__links:
isp0: 02:00:00:c6:3f:6f
trunk0: 02:00:00:b1:8d:d6
ifupdown2__interfaces:
isp0:
addresses:
- 2a09:6840:210::1:1/64
- 10.210.1.1/16
gateways: "{{ ifupdown2__gateways.isp }}"
trunk0:
ipv6_addrgen: false
clients0:
bridge_vlan_aware: true
bridge_ports:
- trunk0
bridge_vids:
- 1000-1004
bridge_disable_pvid: true
ipv6_addrgen: false
client0:
addresses:
- 100.64.0.2/27
vlan_id: 1000
vlan_raw_device: clients0
client1:
addresses:
- 100.64.0.34/27
vlan_id: 1001
vlan_raw_device: clients0
client2:
addresses:
- 100.64.0.66/27
vlan_id: 1002
vlan_raw_device: clients0
client3:
addresses:
- 100.64.0.98/27
vlan_id: 1003
vlan_raw_device: clients0
client4:
addresses:
- 100.64.0.130/27
vlan_id: 1004
vlan_raw_device: clients0
...

View file

@ -0,0 +1,47 @@
---
systemd_link__links:
isp0: 04:00:00:8c:d1:36
trunk0: 04:00:00:33:2c:3c
ifupdown2__interfaces:
isp0:
addresses:
- 2a09:6840:210::1:2/64
- 10.210.1.2/16
gateways: "{{ ifupdown2__gateways.isp }}"
trunk0:
ipv6_addrgen: false
clients0:
bridge_vlan_aware: true
bridge_ports:
- trunk0
bridge_vids:
- 1000-1004
bridge_disable_pvid: true
ipv6_addrgen: false
client0:
addresses:
- 100.64.0.3/27
vlan_id: 1000
vlan_raw_device: clients0
client1:
addresses:
- 100.64.0.35/27
vlan_id: 1001
vlan_raw_device: clients0
client2:
addresses:
- 100.64.0.67/27
vlan_id: 1002
vlan_raw_device: clients0
client3:
addresses:
- 100.64.0.99/27
vlan_id: 1003
vlan_raw_device: clients0
client4:
addresses:
- 100.64.0.131/27
vlan_id: 1004
vlan_raw_device: clients0
...

View file

@ -0,0 +1,11 @@
---
systemd_link__links:
int0: 02:00:00:9f:d9:f9
ifupdown2__interfaces:
int0:
addresses:
- 2a09:6840:206::1:1/64
- 10.206.1.1/16
gateways: "{{ ifupdown2__gateways.int }}"
...

View file

@ -0,0 +1,11 @@
---
systemd_link__links:
int0: 04:00:00:3c:c0:5a
ifupdown2__interfaces:
int0:
addresses:
- 2a09:6840:206::1:2/64
- 10.206.1.2/16
gateways: "{{ ifupdown2__gateways.int }}"
...

View file

@ -0,0 +1,39 @@
---
systemd_link__links:
adm0: 02:00:00:9E:3E:21
crans0: 02:00:00:A2:7C:68
zayo0: 02:00:00:35:89:82
rezel0: 02:00:00:8F:4A:AD
back0: 02:00:00:1C:3A:2E
viarezo0: 02:00:00:ED:70:64
router0: 02:00:00:5A:17:7C
oti0: 02:00:00:05:0E:A6
ifupdown2__interfaces:
adm0:
addresses:
- 2a09:6840:128::10:2/64
- 10.128.10.2/16
crans0:
ipv6_addrgen: false
zayo0:
ipv6_addrgen: false
rezel0:
addresses:
- 2a09:6842:19:9116::1/64
- 45.66.111.1/29
back0:
addresses:
- 2a09:6840:203::1:1/64
- 10.203.1.1/16
viarezo0:
addresses:
- 2a0c:b641:2ff::6/125
- 192.159.121.133/29
router0:
addresses:
- 2a09:6840:129::10:2/56
- 10.129.10.2/16
oti0:
ipv6_addrgen: false
...

View file

@ -0,0 +1,39 @@
---
systemd_link__links:
adm0: 04:00:00:F5:69:B9
crans0: 04:00:00:CF:E1:D0
zayo0: 04:00:00:67:7B:12
rezel0: 04:00:00:C6:05:B7
back0: 04:00:00:DE:22:E6
viarezo0: 04:00:00:45:FA:E6
router0: 04:00:00:AD:D7:71
oti0: 02:00:00:05:0E:A6
ifupdown2__interfaces:
adm0:
addresses:
- 2a09:6840:128::10:102/64
- 10.128.10.102/16
crans0:
ipv6_addrgen: false
zayo0:
ipv6_addrgen: false
rezel0:
addresses:
- 2a09:6842:19:9116::3/64
- 45.66.111.3/29
back0:
addresses:
- 2a09:6840:203::1:2/64
- 10.203.1.2/16
viarezo0:
addresses:
- 2a0c:b641:2ff::7/125
- 192.159.121.134/29
router0:
addresses:
- 2a09:6840:129::10:102/56
- 10.129.10.102/16
oti0:
ipv6_addrgen: false
...

View file

@ -0,0 +1,63 @@
---
systemd_link__links:
ups0: 02:00:00:fe:6f:0e
back0: 02:00:00:f8:93:22
monit0: 02:00:00:da:97:7f
wifi0: 02:00:00:8c:c5:bf
int0: 02:00:00:75:40:3e
sw0: 02:00:00:ca:e8:d1
bmc0: 02:00:00:47:d1:b9
pve0: 02:00:00:b3:35:e7
isp0: 02:00:00:6b:53:14
ext0: 02:00:00:32:86:60
vpn0: 02:00:00:52:5f:85
th30: 02:00:00:23:a7:d3
pub0: 02:00:00:7d:34:06
ifupdown2__interfaces:
back0:
addresses:
- 2a09:6840:203::1:3/64
- 10.203.1.3/16
- 45.66.111.210/32 # secondary
ups0:
ipv6_addrgen: false
monit0:
ipv6_addrgen: false
wifi0:
ipv6_addrgen: false
int0:
ipv6_addrgen: false
sw0:
ipv6_addrgen: false
bmc0:
ipv6_addrgen: false
pve0:
ipv6_addrgen: false
isp0:
ipv6_addrgen: false
ext0:
ipv6_addrgen: false
pub0:
ipv6_addrgen: false
vpn0:
addresses:
- 2a09:6840:213::1:1/64
- 10.213.1.1/16
th30:
ipv6_addrgen: false
bird__router_id: 10.203.1.3
bird__bgp_addr:
back:
- 2a09:6840:203::1:3
- 10.203.1.3
vpn:
- 2a09:6840:213::1:1
- 10.213.1.1
bird__pref_src_addr:
- 2a09:6840:203::1:3
- 45.66.111.210
...

View file

@ -0,0 +1,63 @@
---
systemd_link__links:
ups0: 04:00:00:6d:97:83
back0: 04:00:00:46:ba:f9
monit0: 04:00:00:72:0b:2d
wifi0: 04:00:00:ee:42:0f
int0: 04:00:00:21:fd:d0
sw0: 04:00:00:2e:5b:16
bmc0: 04:00:00:bb:5a:a6
pve0: 04:00:00:0b:2b:82
isp0: 04:00:00:f4:4c:5d
ext0: 04:00:00:1d:0e:83
vpn0: 04:00:00:02:ba:dd
th30: 04:00:00:9e:8d:4f
pub0: 04:00:00:f8:3b:9b
ifupdown2__interfaces:
back0:
addresses:
- 2a09:6840:203::1:4/64
- 10.203.1.4/16
- 45.66.111.211/32 # secondary
ups0:
ipv6_addrgen: false
monit0:
ipv6_addrgen: false
wifi0:
ipv6_addrgen: false
int0:
ipv6_addrgen: false
sw0:
ipv6_addrgen: false
bmc0:
ipv6_addrgen: false
pve0:
ipv6_addrgen: false
isp0:
ipv6_addrgen: false
ext0:
ipv6_addrgen: false
vpn0:
addresses:
- 2a09:6840:213::1:2/64
- 10.213.1.2/16
th30:
ipv6_addrgen: false
pub0:
ipv6_addrgen: false
bird__router_id: 10.203.1.4
bird__bgp_addr:
back:
- 2a09:6840:203::1:4
- 10.203.1.4
vpn:
- 2a09:6840:213:1:2
- 10.213.1.2
bird__pref_src_addr:
- 2a09:6840:203::1:4
- 45.66.111.211
...

View file

@ -0,0 +1,59 @@
---
systemd_link__links:
adm0: 02:00:00:D8:37:45
back0: 02:00:00:BF:10:4C
trunk0: 02:00:00:E9:BA:15
ifupdown2__interfaces:
adm0:
addresses:
- 2a09:6840:128::10:5/64
- 10.128.10.5/16
gateways: "{{ ifupdown2__gateways.adm }}"
back0:
addresses:
- 2a09:6840:203::1:5/64
- 45.66.111.211/32
- 10.203.1.5/16
trunk0:
ipv6_addrgen: false
clients0:
bridge_vlan_aware: true
bridge_ports:
- trunk0
bridge_vids:
- 1000-1004
bridge_disable_pvid: true
ipv6_addrgen: false
client0:
vlan_id: 1000
vlan_raw_device: clients0
ipv6_addrgen: false
client1:
vlan_id: 1001
vlan_raw_device: clients0
ipv6_addrgen: false
client2:
vlan_id: 1002
vlan_raw_device: clients0
ipv6_addrgen: false
client3:
vlan_id: 1003
vlan_raw_device: clients0
ipv6_addrgen: false
client4:
vlan_id: 1004
vlan_raw_device: clients0
ipv6_addrgen: false
bird__router_id: 10.203.1.5
bird__bgp_addr:
back:
- 2a09:6840:203::1:5
- 10.203.1.5
bird__pref_src_addr:
- 2a09:6840:203::1:5
- 45.66.111.211
...

View file

@ -0,0 +1,47 @@
---
systemd_link__links:
adm0: 04:00:00:85:C3:5D
back0: 04:00:00:FE:2D:67
trunk0: 04:00:00:D8:F5:4D
ifupdown2__interfaces:
adm0:
addresses:
- 2a09:6840:128::10:105/64
- 10.128.10.105/16
gateways: "{{ ifupdown2__gateways.adm }}"
back0:
addresses:
- 2a09:6840:203::1:6/64
- 10.203.1.6/16
trunk0:
ipv6_addrgen: false
clients0:
bridge_vlan_aware: true
bridge_ports:
- trunk0
bridge_vids:
- 1000-1004
bridge_disable_pvid: true
ipv6_addrgen: false
client0:
vlan_id: 1000
vlan_raw_device: clients0
ipv6_addrgen: false
client1:
vlan_id: 1001
vlan_raw_device: clients0
ipv6_addrgen: false
client2:
vlan_id: 1002
vlan_raw_device: clients0
ipv6_addrgen: false
client3:
vlan_id: 1003
vlan_raw_device: clients0
ipv6_addrgen: false
client4:
vlan_id: 1004
vlan_raw_device: clients0
ipv6_addrgen: false
...

View file

@ -0,0 +1,16 @@
---
systemd_link__links:
adm0: 02:00:00:38:c2:52
int0: 02:00:00:fe:a8:54
ifupdown2__interfaces:
adm0:
addresses:
- 2a09:6840:128::10:8/64
- 10.128.10.8/16
int0:
addresses:
- 2a09:6840:206::1:3/64
- 10.206.1.7/16
gateways: "{{ ifupdown2__gateways.int }}"
...

View file

@ -0,0 +1,16 @@
---
systemd_link__links:
adm0: 04:00:00:f7:1c:47
int0: 04:00:00:e4:83:d2
ifupdown2__interfaces:
adm0:
addresses:
- 2a09:6840:128::10:108/64
- 10.128.10.108/16
int0:
addresses:
- 2a09:6840:206::1:4/64
- 10.206.1.8/16
gateways: "{{ ifupdown2__gateways.int }}"
...

View file

@ -0,0 +1,38 @@
---
dovecot__auth_default_realm: test.auro.re
dovecot__auth_users:
jeltz@test.auro.re: "{plain}password"
lafeych@test.auro.re: "{plain}password"
toto@test.auro.re: "{plain}password"
root@test.auro.re: "{plain}L9yXSrCbbafMlMls5q7WWMKC612XNbXL"
dovecot__lmtp_postmaster_address: postmaster@test.auro.re
ifupdown2__interfaces:
ext0:
addresses:
- 2a09:6840:211::1:5/64
- 10.211.1.5/16
- 45.66.111.208/30
gateways: "{{ ifupdown2__gateways.ext }}"
postfix__hostname: mx.test.auro.re
postfix__sasl_local_domain: test.auro.re
postfix__virtual_aliases:
postmaster@test.auro.re: root@test.auro.re
dmarc@test.auro.re: root@test.auro.re
postfix__virtual_mailbox_domains:
- infra.test.auro.re
- test.auro.re
postfix__virtual_mailboxes:
jeltz@test.auro.re: jeltz@test.auro.re
root@test.auro.re: root@test.auro.re
toto@test.auro.re: toto@test.auro.re
vincent.lafeychine@test.auro.re: lafeych@test.auro.re
systemd_link__links:
ext0: ae:ae:ae:1d:c8:b2
...

View file

@ -0,0 +1,11 @@
---
systemd_link__links:
pub0: 02:00:00:ad:62:64
ifupdown2__interfaces:
pub0:
addresses:
- 2a09:6840:215::1:2/64
- 45.66.111.205/27
gateways: "{{ ifupdown2__gateways.pub }}"
...

View file

@ -0,0 +1,11 @@
---
systemd_link__links:
pub0: 04:00:00:1b:0a:3a
ifupdown2__interfaces:
pub0:
addresses:
- 2a09:6840:215::1:3/64
- 45.66.111.207/27
gateways: "{{ ifupdown2__gateways.pub }}"
...

View file

@ -0,0 +1,29 @@
---
systemd_link__links:
adm0: 96:77:96:91:e3:6c
ovh0: 02:00:00:97:78:6d
ifupdown2__interfaces:
adm0:
addresses:
- 2a09:6840:128::109/64
- 10.128.0.109/16
ovh0:
addresses:
- 92.222.211.194/24
gateways: "{{ ifupdown2__gateways.ovh }}"
# TODO: remove as soon as the VPN works
knotd__remotes:
xfr-master:
address: 2a09:6840:128::110
key: xfr
knotd__acl:
notify-master:
address:
- 2a09:6840:128::110
- 10.128.0.110
key: xfr
action: notify
...

View file

@ -0,0 +1,617 @@
---
knotd__listen:
- address: 0.0.0.0
- address: "::"
knotd__keys:
xfr:
algorithm: hmac-sha512
secret: "{{ vault_knotd_xfr_key }}"
ksk-infra:
algorithm: hmac-sha512
secret: "{{ vault_knotd_ksk_infra_key }}"
update-acme-challenge:
algorithm: hmac-sha512
secret: "{{ vault_certbot_dns_secret }}"
knotd__remotes:
xfr-ns-1:
address: 2a09:6840:215::1:2
key: xfr
xfr-ns-2:
address: 2a09:6840:215::1:3
key: xfr
xfr-ns-3:
address: 10.128.0.109
key: xfr
ksk-infra:
address: ::1
key: ksk-infra
knotd__policies:
public:
algorithm: ECDSAP256SHA256
reproducible_signing: true
# Je n'ai pas trouvé de façon de pousser les records automatiquement
# sur .re, donc pour éviter d'oublier de le faire manuellement, la
# KSK n'expire pas
ksk_lifetime: 0
zsk_lifetime: 30d
nsec3: true
infra:
algorithm: ECDSAP256SHA256
ksk_lifetime: 365d
zsk_lifetime: 30d
nsec3: on
ds-push: ksk-infra
cds-cdnskey-publish: rollover
ksk-submission: infra
ripe:
algorithm: ECDSAP256SHA256
ksk_lifetime: 365d
zsk_lifetime: 30d
nsec3: on
ds-push: ksk-ripe
cds-cdnskey-publish: rollover
ksk-submission: ripe
knotd__acl:
xfr:
addresses:
- 2a09:6840:128::109
- 10.128.0.109
- 2a09:6840:215::1:2
- 45.66.111.205
- 2a09:6840:215::1:3
- 45.66.111.207
action: transfer
key: xfr
ksk-infra:
addresses:
- 127.0.0.1
- ::1
key: ksk-infra
action: update
update_types:
- DS
update_owner: name
update_owner_match: equal
update_owner_name:
- infra
update-acme-challenge:
addresses:
- 10.128.0.0/16
- 2a09:6840:128::/48
key: update-acme-challenge
action: update
update_types:
- TXT
update_owner: name
update_owner_match: equal
update_owner_name:
- _acme-challenge.auro.re.
knotd__queryacl:
local:
addresses:
- 10.0.0.0/8
knotd__soa_rname: root@auro.re.
knotd__hosts:
auro.re:
proxy-ovh:
- 92.222.211.195
horus:
- 92.23.218.136
ns-1:
- 45.66.111.205
- 2a09:6840:215::1:2
ns-2:
- 92.222.211.194
serge:
- 92.222.211.196
lama:
- 185.230.78.220
- 2a0c:700:12:0:67:e5ff:fee9:108
vpn-ovh:
- 92.222.211.197
passerelle:
- 45.66.111.254
- 2a09:6840:111::254
proxy:
- 45.66.111.61
- 2a09:6840:111::61
camelot:
- 45.66.111.59
- 2a09:6840:111::59
mail:
- 45.66.111.62
- 2a09:6840:111::62
galene:
- 45.66.111.65
- 2a09:6840:111::65
aclyas:
- 45.66.111.231
- 2a09:6840:111::231
jitsi:
- 45.66.111.55
- 2a09:6840:111::55
jitsi-ng:
- 45.66.111.216
- 2a09:6840:215::1:216
portail-fleming:
- 10.13.0.247
- 2a09:6840:13::247
portail-pacaterie:
- 10.23.0.247
- 2a09:6840:23::247
portail-rives:
- 10.33.0.247
- 2a09:6840:33::247
portail-edc:
- 10.43.0.247
- 2a09:6840:43::247
portail-gs:
- 10.53.0.247
- 2a09:6840:53::247
adh.auro.re:
paon:
- 45.66.110.10
- 2a09:6840:110:0:231:92ff:fe1b:ae22
lyshyga0:
- 45.66.110.113
- 2a09:6840:110:0:6af7:28ff:fe91:e8d9
pz28910:
- 45.66.110.114
vinsing0:
- 45.66.110.123
- 2a09:6840:110:0:1e1b:dff:fe90:7d81
osc-routeur:
- 45.66.110.125
- 2a09:6840:110:0:ba27:ebff:fe2d:c1a1
odroid:
- 45.66.110.154
- 2a09:6840:110:0:21e:6ff:fe49:e00
amau0:
- 45.66.110.164
- 2a09:6840:110:0:3e7c:3fff:fec3:27d1
regulus:
- 45.66.110.180
- 2a09:6840:110:0:2ef0:5dff:fe2a:1530
toaster:
- 45.66.110.188
- 2a09:6840:110:0:5246:5dff:fe9a:f70
rpijutax:
- 45.66.110.190
- 2a09:6840:110:0:ba27:ebff:fe76:a9bc
polaris:
- 45.66.110.245
- 2a09:6840:110:0:dea6:32ff:feb4:d033
lafeychine:
- 92.91.154.45
infra.auro.re:
services-1.ceph:
- 2a09:6840:214::1:1
- 10.214.1.1
services-2.ceph:
- 2a09:6840:214::1:2
- 10.214.1.2
services-3.ceph:
- 2a09:6840:209::1:3
- 10.214.1.3
services-1.pve:
- 2a09:6840:209::2:1
- 10.209.2.1
services-2.pve:
- 2a09:6840:209::2:2
- 10.209.2.2
network-1.pve:
- 2a09:6840:209::1:1
- 10.209.1.1
network-2.pve:
- 2a09:6840:209::1:2
- 10.209.1.2
services-3.pve:
- 2a09:6840:209::2:3
- 10.209.2.3
caradoc.bmc:
- 2a09:6840:208::1:1
- 10.208.1.1
services-1.bmc:
- 2a09:6840:208::1:2
- 10.208.1.2
services-2.bmc:
- 2a09:6840:208::1:3
- 10.208.1.3
services-3.bmc:
- 2a09:6840:208::1:4
- 10.208.1.4
perceval.bmc:
- 2a09:6840:208::1:5
- 10.208.1.5
chapalux.bmc:
- 2a09:6840:208::1:6
- 10.208.1.6
loki.bmc:
- 2a09:6840:208::1:7
- 10.208.1.7
network-1.bmc:
- 2a09:6840:208::1:8
- 10.208.1.8
network-2.bmc:
- 2a09:6840:208::1:9
- 10.208.1.9
escalope.bmc:
- 2a09:6840:208::1:10
- 10.208.1.10
edge-1.back:
- 2a09:6840:203::1:1
- 10.203.1.1
edge-2.back:
- 2a09:6840:203::1:2
- 10.203.1.2
isp-1.back:
- 2a09:6840:203::1:5
- 10.203.1.5
isp-2.back:
- 2a09:6840:203::1:6
- 10.203.1.6
infra-1.back:
- 2a09:6840:203::1:3
- 10.203.1.3
infra-2.back:
- 2a09:6840:203::1:4
- 10.203.1.4
ns-master.int:
- 2a09:6840:128:0::110
- 10.128.0.110
log-1.int:
- 2a09:6840:206::1:9
- 10.206.1.9
log-2.int:
- 2a09:6840:206::1:10
- 10.206.1.10
dns-1.int:
- 2a09:6840:206::1:1
- 10.206.1.1
dns-2.int:
- 2a09:6840:206::1:2
- 10.206.1.2
nis2.int:
- 2a09:6840:206::2:1
- 10.206.2.1
ldap-1.int:
- 10.128.10.8
- 2a09:6840:128::10:8
ldap-2.int:
- 10.128.10.108
- 2a09:6840:128::10:108
ntp-1.int:
- 2a09:6840:206::1:5
- 10.206.1.5
ntp-2.int:
- 2a09:6840:206::1:6
- 10.206.1.6
wg-1.vpn:
- 2a09:6840:213::1:3
- 10.213.1.3
wg-2.vpn:
- 2a09:6840:213::1:4
- 10.213.1.4
dhcp-1.isp:
- 2a09:6840:210::1:1
- 10.210.1.1
dhcp-2.isp:
- 2a09:6840:210::1:2
- 10.210.1.2
radius-1.isp:
- 2a09:6840:210::1:3
- 10.210.1.3
radius-2.isp:
- 2a09:6840:210::1:4
- 10.210.1.4
prometheus-1.monit:
- 2a09:6840:204::1:1
- 10.204.1.1
prometheus-2.monit:
- 2a09:6840:204::1:2
- 10.204.1.2
ff-1.core.sw:
- 10.207.1.1
ff-2.core.sw:
- 10.207.1.2
fl-1.core.sw:
- 10.207.1.3
fl-2.core.sw:
- 10.207.1.4
fd-1.core.sw:
- 10.207.1.5
ff-3.core.sw:
- 10.207.1.6
gk-1.core.sw:
- 10.207.2.1
eb-1.core.sw:
- 10.207.3.1
r3-1.core.sw:
- 10.207.4.1
eb-1.ups:
- 2a09:6840:201::3:1
- 10.201.3.1
ec-1.ups:
- 2a09:6840:201::3:2
- 10.201.3.2
mx.test:
- 2a09:6840:211::1:5
- 10.211.1.5
collabora.ext:
- 2a09:6840:211::1:1
- 10.211.1.1
grafana.ext:
- 2a09:6840:211::1:7
- 10.211.1.7
proxy.pub:
- 2a09:6840:215::1:1
- 45.66.111.206
ns-1.pub:
- 2a09:6840:215::1:2
- 45.66.111.205
ns-2.pub:
- 2a09:6840:215::1:3
- 45.66.111.207
ns-3.ovh:
- 92.222.211.194
tor.pub:
- 45.66.111.215
- 2a09:6840:215::1:215
jitsi.pub:
- 45.66.111.216
- 2a09:6840:215::1:216
knotd__zones:
auro.re:
dnssec_policy: public
notify:
- xfr-ns-1
- xfr-ns-2
- xfr-ns-3
acl:
- update-acme-challenge
- ksk-infra
- xfr
soa:
mname: ns-master.int.infra
ns:
- target:
- ns-1.pub.infra
- ns-2.pub.infra
- name: infra
target:
- ns-1.pub.infra
- ns-2.pub.infra
- name: test
target:
- ns-1.pub.infra
- ns-2.pub.infra
- name: adm
target:
- serge
- lama
- name: ups
target:
- serge
- lama
- name: switch
target:
- serge
- lama
- name: borne
target:
- serge
- lama
mx:
- exchange: mail
preference: 5
- exchange: proxy-ovh
preference: 10
txt:
- data: v=spf1 mx -all
a:
- address: 92.222.211.195
cname:
- name:
- gisti
- gistiti
target: jitsi
- name:
- element
- riot
- auth
- rss
- codimd
- hedgedoc
- grist
- kanboard
- www
- pad
- privatebin
- zero
- paste
target: proxy-ovh
- name:
- grafana
- grafana-ng
- nextcloud
- cloud
- office
target: proxy.pub.infra
- name:
- netbox
- wiki
- matrix
- drone
- gitea
- re2o
- vote
target: proxy
- name: intranet
target: re2o
- name:
- smtp
- imap
target: mail
- name:
- prometheus-paul.adh
- pma-paul.adh
- nextcloud-paul.adh
- grafana-paul.adh
- jellyfin.adh
- monitoring.adh
- beta-mpp.adh
- pz28.adh
target: lucepaul.myvnc.com.
- name:
- services-1.pve
target: services-1.pve.infra
- name:
- services-2.pve
target: services-2.pve.infra
- name:
- services-3.pve
target: services-3.pve.infra
hosts: "{{ knotd__hosts['auro.re']
| combine(knotd__hosts['adh.auro.re']
| add_origin_keys('adh.auro.re.')) }}"
test.auro.re:
dnssec_policy: public
notify:
- xfr-ns-1
- xfr-ns-2
- xfr-ns-3
acl:
- xfr
soa:
mname: ns-master.int.infra.auro.re.
txt:
- data: v=spf1 mx -all
- name: _dmarc
data: v=DMARC1;p=quarantine;pct=100;rua=mailto:postmaster@test.auro.re;ruf=mailto:postmaster@test.auro.re
ns:
- target:
- ns-1.pub.infra.auro.re.
- ns-2.pub.infra.auro.re.
mx:
- exchange: mx
preference: 5
cname:
- name:
- www1
- www2
- www3
target: proxy.pub.infra.auro.re.
hosts:
mx:
- 2a09:6840:211::1:5
- 45.66.111.205
infra.auro.re:
dnssec_policy: infra
notify:
- xfr-ns-1
- xfr-ns-2
- xfr-ns-3
acl:
- xfr
#queryacl: local
soa:
mname: ns-master.int
ns:
- target:
- ns-1.pub.infra.auro.re.
- ns-2.pub.infra.auro.re.
hosts: "{{ knotd__hosts['infra.auro.re'] }}"
108.66.45.in-addr.arpa:
dnssec_policy: ripe
notify:
- xfr-ns-1
- xfr-ns-2
- xfr-ns-3
acl:
- xfr
soa:
mname: ns-master.int.infra.auro.re.
ns:
- target:
- ns-1.pub.infra.auro.re.
- ns-2.pub.infra.auro.re.
109.66.45.in-addr.arpa:
dnssec_policy: ripe
notify:
- xfr-ns-1
- xfr-ns-2
- xfr-ns-3
acl:
- xfr
soa:
mname: ns-master.int.infra.auro.re.
ns:
- target:
- ns-1.pub.infra.auro.re.
- ns-2.pub.infra.auro.re.
110.66.45.in-addr.arpa:
dnssec_policy: ripe
notify:
- xfr-ns-1
- xfr-ns-2
- xfr-ns-3
acl:
- xfr
soa:
mname: ns-master.int.infra.auro.re.
ns:
- target:
- ns-1.pub.infra.auro.re.
- ns-2.pub.infra.auro.re.
reverse_hosts: "{{ knotd__hosts['adh.auro.re']
| ip_filter(['45.66.110.0/24'])
| add_origin_keys('adh.auro.re.') }}"
111.66.45.in-addr.arpa:
dnssec_policy: ripe
notify:
- xfr-ns-1
- xfr-ns-2
- xfr-ns-3
acl:
- xfr
soa:
mname: ns-master.int.infra.auro.re.
ns:
- target:
- ns-1.pub.infra.auro.re.
- ns-2.pub.infra.auro.re.
reverse_hosts: "{{ knotd__hosts['auro.re']
| ip_filter(['45.66.111.0/24'])
| add_origin_keys('auro.re.') }}"
0.4.8.6.9.0.a.2.ip6.arpa:
dnssec_policy: ripe
notify:
- xfr-ns-1
- xfr-ns-2
- xfr-ns-3
acl:
- xfr
soa:
mname: ns-master.int.infra.auro.re.
ns:
- target:
- ns-1.pub.infra.auro.re.
- ns-2.pub.infra.auro.re.
reverse_hosts: "{{ knotd__hosts['auro.re']
| ip_filter(['2a09:6840::/32'])
| add_origin_keys('auro.re.')
| combine(knotd__hosts['adh.auro.re']
| ip_filter(['2a09:6840::/32'])
| add_origin_keys('adh.auro.re.')) }}"
...

View file

@ -0,0 +1,16 @@
---
systemd_link__links:
int0: 02:00:00:e3:36:c8
adm0: 42:17:a7:d1:bd:6a
ifupdown2__interfaces:
adm0:
addresses:
- 2a09:6840:128::110/64
- 10.128.0.110/16
int0:
addresses:
- 2a09:6840:206::1:7/64
- 10.206.1.7/16
gateways: "{{ ifupdown2__gateways.int }}"
...

View file

@ -0,0 +1,11 @@
---
systemd_link__links:
int0: 02:00:00:74:71:83
ifupdown2__interfaces:
int0:
addresses:
- 2a09:6840:206::1:5/64
- 10.206.1.5/16
gateways: "{{ ifupdown2__gateways.int }}"
...

View file

@ -0,0 +1,11 @@
---
systemd_link__links:
int0: 04:00:00:31:be:50
ifupdown2__interfaces:
int0:
addresses:
- 2a09:6840:206::1:6/64
- 10.206.1.6/16
gateways: "{{ ifupdown2__gateways.int }}"
...

View file

@ -0,0 +1,11 @@
---
systemd_link__links:
monit0: 02:00:00:a8:6b:51
ifupdown2__interfaces:
monit0:
addresses:
- 2a09:6840:204::1:1/64
- 10.204.1.1/16
gateways: "{{ ifupdown2__gateways.monit }}"
...

View file

@ -0,0 +1,11 @@
---
systemd_link__links:
monit0: 04:00:00:a6:93:5a
ifupdown2__interfaces:
monit0:
addresses:
- 2a09:6840:204::1:2/64
- 10.204.1.2/16
gateways: "{{ ifupdown2__gateways.monit }}"
...

View file

@ -13,6 +13,8 @@ loc_reverseproxy:
to: auro.re to: auro.re
- from: 92.222.211.195 - from: 92.222.211.195
to: auro.re to: auro.re
- from: codimd.auro.re
to: hedgedoc.auro.re
reverseproxy_sites: reverseproxy_sites:
- from: phabricator.auro.re - from: phabricator.auro.re
@ -27,6 +29,9 @@ loc_reverseproxy:
- from: passbolt.auro.re - from: passbolt.auro.re
to: 10.128.0.53 to: 10.128.0.53
- from: auth.auro.re
to: 10.128.0.150:8089
- from: riot.auro.re - from: riot.auro.re
to: "10.128.0.150:8080" to: "10.128.0.150:8080"
- from: element.auro.re - from: element.auro.re
@ -34,8 +39,6 @@ loc_reverseproxy:
- from: chat.auro.re - from: chat.auro.re
to: "10.128.0.150:8080" to: "10.128.0.150:8080"
- from: codimd.auro.re
to: "10.128.0.150:8081"
- from: hedgedoc.auro.re - from: hedgedoc.auro.re
to: "10.128.0.150:8081" to: "10.128.0.150:8081"
@ -56,6 +59,8 @@ loc_reverseproxy:
- from: cas.auro.re - from: cas.auro.re
to: "10.128.0.150:8085" to: "10.128.0.150:8085"
- from: rss.auro.re
to: 10.128.0.150:8090
- from: status.auro.re - from: status.auro.re
to: "10.128.0.150:8086" to: "10.128.0.150:8086"
- from: "kanboard.auro.re" - from: "kanboard.auro.re"

View file

@ -70,3 +70,6 @@ loc_reverseproxy:
- from: grafana.auro.re - from: grafana.auro.re
to: "10.128.0.98:3000" to: "10.128.0.98:3000"
- from: office.auro.re
to: "10.128.0.220"

View file

@ -0,0 +1,103 @@
---
systemd_link__links:
pub0: ae:ae:ae:3a:71:0b
ifupdown2__interfaces:
pub0:
addresses:
- 2a09:6840:215::1:1/64
- 45.66.111.206/27
gateways: "{{ ifupdown2__gateways.pub }}"
caddy__matrix_headers:
access-control-allow-headers: "Origin, X-Requested-With, Content-Type, Accept, Authorization"
access-control-allow-methods: "GET, POST, PUT, DELETE, OPTIONS"
access-control-allow-origin: "*"
caddy__routes_https:
www1.test.auro.re:
- root: /var/www/auro.re
- path: /.well-known/matrix/server
headers: "{{ caddy__matrix_headers }}"
body: '{"m.server": "matrix.auro.re:8448"}'
status: 200
- path: /.well-known/matrix/client
headers: "{{ caddy__matrix_headers }}"
body: '{"m.homeserver": {"base_url": "https://matrix.auro.re"}}'
status: 200
www2.test.auro.re:
headers:
location: "https://auro.re{http.request.uri}"
status: 301
www3.test.auro.re:
reverse:
- "[2a09:6840:128::198]:3000"
- 10.128.0.198:3000
grafana.auro.re:
reverse:
- "[2a09:6840:128::98]:3000"
- 10.128.0.98:3000
grafana-ng.auro.re:
reverse:
- "[2a09:6840:211::1:7]:80"
- 10.211.1.7:80
office.auro.re:
reverse:
- "[2a09:6840:211::1:1]:9980"
- 10.211.1.1:9980
nextcloud.auro.re:
headers:
location: "https://cloud.auro.re{http.request.uri}"
status: 301
cloud.auro.re:
- path: /.well-known/carddav
headers:
location: /remote.php/dav/
status: 301
- path: /.well-known/caldav
headers:
location: /remote.php/dav/
status: 301
- path: /.well-known/webfinger
headers:
location: /index.php/.well-known/webfinger
status: 301
- path: /.well-known/nodeinfo
headers:
location: /index.php/.well-known/nodeinfo
status: 301
- path: /remote/*
rewrite: /remote.php
- path: /ocm-provider/*
rewrite: /index.php
- path: "*.mjs"
headers:
content-type: text/javascript
- reverse:
- "[2a09:6840:128::58]:8080"
- 10.128.0.58:8080
headers:
x-robots-tag: noindex, nofollow
referrer-policy: no-referrer
x-content-type-options: nosniff
x-frame-options: SAMEORIGIN
x-permitted-cross-domain-policies: none
x-xss-protection: "1; mode=block"
caddy__contact_email: tech.aurore@lists.crans.org
caddy__errors:
- root: "{{ caddy__error_dir }}"
- rewrite: /error.html
- file_server: true
templates: true
caddy__servers:
https:
listen: ":443"
routes: "{{ caddy__routes_https }}"
errors: "{{ caddy__errors }}"
http:
listen: ":80"
...

View file

@ -0,0 +1,11 @@
---
systemd_link__links:
isp0: 02:00:00:6a:3e:f4
ifupdown2__interfaces:
isp0:
addresses:
- 2a09:6840:210::1:3/64
- 10.210.1.3/16
gateways: "{{ ifupdown2__gateways.isp }}"
...

View file

@ -0,0 +1,11 @@
---
systemd_link__links:
isp0: 04:00:00:29:6d:c9
ifupdown2__interfaces:
isp0:
addresses:
- 2a09:6840:210::1:4/64
- 10.210.1.4/16
gateways: "{{ ifupdown2__gateways.isp }}"
...

93
host_vars/sw-ec-1.yml Normal file
View file

@ -0,0 +1,93 @@
---
switch_vars:
name: sw-ec-1
location: "Local_de_Brassage_EdC"
host: 10.130.4.11
port: 80
username: "{{ vault_switch.username }}"
password: "{{ vault_switch.password }}"
delete_vlans: []
vlans:
- id: 40
name: "Filaire_EDC"
tagged: "{{ '9-10,12,14,16,18,20,22-25' | range2list }}"
- id: 41
name: "Wifi_EDC"
tagged: "{{ '5-10,12,14,16,18,20,22-25' | range2list }}"
- id: 42
name: "Banni_EDC"
tagged: "{{ '5-10,12,14,16,18,20,22-25' | range2list }}"
- id: 43
name: "Accueil_EDC"
tagged: "{{ '5-10,12,14,16,18,20,22-25' | range2list }}"
- id: 110
name: "Adherents_IP_Publiques"
tagged: "{{ '9-10,12,14,16,18,20,22-25' | range2list }}"
- id: 111
name: "Serveurs_IP_Publiques"
tagged: "{{ '25' | range2list }}"
- id: 131
name: "Onduleurs"
tagged: [25]
- id: 144
name: "Bornes_Wifi_EDC"
tagged: [25]
untagged: "{{ '5-8,12,14,16,18,20,22-24' | range2list }}"
ports:
- id: 1
name: "Room_Ouest_363"
- id: 2
name: "Room_Ouest_364"
- id: 3
name: "Room_Principale_Foyer_1"
- id: 4
name: "Room_Principale_Foyer_2"
- id: 5
name: "Borne_Principale_0_1"
- id: 6
name: "Borne_Principale_1_1"
- id: 7
name: "Borne_Principale_1_2"
- id: 8
name: "Borne_Principale_1_3"
- id: 9
name: "Room_Ouest_352"
- id: 10
name: "Borne_Adh_Ouest_252"
- id: 11
name: "Room_Ouest_273"
- id: 12
name: "Borne_Adh_Est_231"
- id: 13
name: "Room_Ouest_261"
- id: 14
name: "Borne_Adh_Ouest_272"
- id: 15
name: "Room_Ouest_262"
- id: 16
name: "Room_Est_225"
- id: 17
name: "Room_Ouest_263"
- id: 18
name: "Room_Ouest_76"
- id: 19
name: "Room_Ouest_264"
- id: 20
name: "Borne_Adh_Ouest_58"
- id: 21
name: "Room_Ouest_265"
- id: 22
name: "Not_used"
- id: 23
name: "Room_Ouest_158"
- id: 24
name: "Borne_Adh_Ouest_267"
# id: 25
# name: "Uplink_sw-ec-core"
- id: 26
name: "Not_used"
- id: 27
name: "Not_used"
- id: 28
name: "Not_used"
...

228
host_vars/sw-ec-2.yml Normal file
View file

@ -0,0 +1,228 @@
---
switch_vars:
name: sw-ec-2
location: Local de Brassage EdC
host: 10.130.4.12
port: 80
username: "{{ vault_switch.username }}"
password: "{{ vault_switch.password }}"
delete_vlans: []
vlans:
- id: 40
name: "Filaire_edc"
tagged: [49]
- id: 41
name: "Wifi_edc"
tagged: [49]
- id: 42
name: "Banni_edc"
tagged: [49]
- id: 43
name: "Accueil_edc"
tagged: [49]
- id: 110
name: "Adherents_ip_publiques"
tagged: [49]
- id: 111
name: "Serveurs_ip_publiques"
tagged: [49]
- id: 131
name: "Onduleurs"
tagged: [49]
- id: 144
name: "Bornes_wifi_edc"
tagged: [49]
ports:
- id: 1
name: "Room_edc_Aile_Principale_115"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 2
name: "Room_edc_Aile_Principale_103"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 3
name: "Room_edc_Aile_Principale_114"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 4
name: "Room_edc_Aile_Principale_102"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 5
name: "Room_edc_Aile_Principale_113"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 6
name: "Room_edc_Aile_Principale_101"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 7
name: "Room_edc_Aile_Principale_112"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 8
name: "Room_edc_Aile_Principale_100"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 9
name: "Room_edc_Aile_Principale_111"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 10
name: "Room_edc_Aile_Principale_215"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 11
name: "Room_edc_Aile_Principale_110"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 12
name: "Room_edc_Aile_Principale_214"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 13
name: "Room_edc_Aile_Principale_207"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 14
name: "Room_edc_Aile_Est_24"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 15
name: "Room_edc_Aile_Principale_206"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 16
name: "Room_edc_Aile_Est_25"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 17
name: "Room_edc_Aile_Principale_205"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 18
name: "Room_edc_Aile_Est_26"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 19
name: "Room_edc_Aile_Principale_204"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 20
name: "Room_edc_Aile_Est_27"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 21
name: "Room_edc_Aile_Principale_203"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 22
name: "Room_edc_Aile_Est_28"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 23
name: "Room_edc_Aile_Principale_202"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 24
name: "Room_edc_Aile_Est_29"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 25
name: "Room_edc_Aile_Principale_201"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 26
name: "Room_edc_Aile_Est_30"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 27
name: "Room_edc_Aile_Principale_200"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 28
name: "Room_edc_Aile_Est_31"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 29
name: "Room_edc_Aile_Est_20"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 30
name: "Room_edc_Aile_Est_32"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 31
name: "Room_edc_Aile_Est_21"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 32
name: "Room_edc_Aile_Est_33"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 33
name: "Room_edc_Aile_Est_22"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 34
name: "Room_edc_Aile_Est_34"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 35
name: "Room_edc_Aile_Est_23"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 36
name: "Room_edc_Aile_Est_120"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 37
name: "Room_edc_Aile_Principale_109"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 38
name: "Room_edc_Aile_Principale_213"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 39
name: "Room_edc_Aile_Principale_108"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 40
name: "Room_edc_Aile_Principale_212"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 41
name: "Room_edc_Aile_Principale_107"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 42
name: "Room_edc_Aile_Principale_211"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 43
name: "Room_edc_Aile_Principale_106"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 44
name: "Room_edc_Aile_Principale_210"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 45
name: "Room_edc_Aile_Principale_105"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 46
name: "Room_edc_Aile_Principale_209"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 47
name: "Room_edc_Aile_Principale_104"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 48
name: "Room_edc_Aile_Principale_208"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
...

220
host_vars/sw-ec-3.yml Normal file
View file

@ -0,0 +1,220 @@
---
switch_vars:
name: sw-ec-3
location: Local de Brassage EdC
host: 10.130.4.13
port: 80
username: "{{ vault_switch.username }}"
password: "{{ vault_switch.password }}"
delete_vlans: []
vlans:
- id: 40
name: "Filaire_edc"
tagged: [49]
- id: 41
name: "Wifi_edc"
tagged: [49]
- id: 42
name: "Banni_edc"
tagged: [49]
- id: 43
name: "Accueil_edc"
tagged: [49]
- id: 110
name: "Adherents_ip_publiques"
tagged: [49]
- id: 111
name: "Serveurs_ip_publiques"
tagged: [49]
- id: 131
name: "Onduleurs"
tagged: [49]
- id: 144
name: "Bornes_wifi_edc"
tagged: [49]
ports:
- id: 1
name: "Room_edc_Aile_Est_121"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 2
name: "Room_edc_Aile_Est_133"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 3
name: "Room_edc_Aile_Est_122"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 4
name: "Room_edc_Aile_Est_134"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 5
name: "Room_edc_Aile_Est_123"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 6
name: "Room_edc_Aile_Est_135"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 7
name: "Room_edc_Aile_Est_124"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 8
name: "Room_edc_Aile_Est_136"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 9
name: "Room_edc_Aile_Est_125"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 10
name: "Room_edc_Aile_Est_137"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 11
name: "Room_edc_Aile_Est_126"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 12
name: "Room_edc_Aile_Est_138"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 14
name: "Room_edc_Aile_Est_237"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 15
name: "Room_edc_Aile_Est_226"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 16
name: "Room_edc_Aile_Est_238"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 17
name: "Room_edc_Aile_Est_227"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 18
name: "Room_edc_Aile_Est_239"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 19
name: "Room_edc_Aile_Est_228"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 20
name: "Room_edc_Aile_Est_333"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 21
name: "Room_edc_Aile_Est_229"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 22
name: "Room_edc_Aile_Est_332"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 24
name: "Room_edc_Aile_Est_331"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 25
name: "Room_edc_Aile_Est_231"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 26
name: "Room_edc_Aile_Est_330"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 27
name: "Room_edc_Aile_Est_232"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 28
name: "Room_edc_Aile_Est_329"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 29
name: "Room_edc_Aile_Est_233"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 30
name: "Room_edc_Aile_Est_328"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 31
name: "Room_edc_Aile_Est_234"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 32
name: "Room_edc_Aile_Est_327"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 33
name: "Room_edc_Aile_Est_235"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 34
name: "Room_edc_Aile_Est_326"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 35
name: "Room_edc_Aile_Est_236"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 36
name: "Room_edc_Aile_Est_325"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 37
name: "Room_edc_Aile_Est_127"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 38
name: "Room_edc_Aile_Est_139"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 39
name: "Room_edc_Aile_Est_128"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 40
name: "Room_edc_Aile_Est_220"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 41
name: "Room_edc_Aile_Est_129"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 42
name: "Room_edc_Aile_Est_221"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 43
name: "Room_edc_Aile_Est_130"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 44
name: "Room_edc_Aile_Est_222"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 45
name: "Room_edc_Aile_Est_131"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 46
name: "Room_edc_Aile_Est_223"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 47
name: "Room_edc_Aile_Est_132"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 48
name: "Room_edc_Aile_Est_224"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
...

224
host_vars/sw-ec-4.yml Normal file
View file

@ -0,0 +1,224 @@
---
switch_vars:
name: sw-ec-4
location: Local de Brassage EdC
host: 10.130.4.14
port: 80
username: "{{ vault_switch.username }}"
password: "{{ vault_switch.password }}"
delete_vlans: []
vlans:
- id: 40
name: "Filaire_edc"
tagged: [49]
- id: 41
name: "Wifi_edc"
tagged: [49]
- id: 42
name: "Banni_edc"
tagged: [49]
- id: 43
name: "Accueil_edc"
tagged: [49]
- id: 110
name: "Adherents_ip_publiques"
tagged: [49]
- id: 111
name: "Serveurs_ip_publiques"
tagged: [49]
- id: 131
name: "Onduleurs"
tagged: [49]
- id: 144
name: "Bornes_wifi_edc"
tagged: [49]
ports:
- id: 1
name: "Room_edc_Aile_Est_324"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 2
name: "Room_edc_Aile_Ouest_57"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 3
name: "Room_edc_Aile_Est_323"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 4
name: "Not_used"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 5
name: "Room_edc_Aile_Est_322"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 6
name: "Room_edc_Aile_Ouest_59"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 7
name: "Room_edc_Aile_Est_321"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 8
name: "Room_edc_Aile_Ouest_60"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 9
name: "Room_edc_Aile_Est_320"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 10
name: "Room_edc_Aile_Ouest_61"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 11
name: "Room_edc_Aile_Ouest_50"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 12
name: "Room_edc_Aile_Ouest_62"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 13
name: "Room_edc_Aile_Ouest_69"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 14
name: "Room_edc_Aile_Ouest_153"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 15
name: "Room_edc_Aile_Ouest_70"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 16
name: "Room_edc_Aile_Ouest_154"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 17
name: "Room_edc_Aile_Ouest_71"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 18
name: "Room_edc_Aile_Ouest_155"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 19
name: "Room_edc_Aile_Ouest_72"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 20
name: "Room_edc_Aile_Ouest_156"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 21
name: "Room_edc_Aile_Ouest_73"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 22
name: "Room_edc_Aile_Ouest_157"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 23
name: "Room_edc_Aile_Ouest_74"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 25
name: "Room_edc_Aile_Ouest_75"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 26
name: "Room_edc_Aile_Ouest_159"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 27
name: "Room_edc_Aile_Ouest_76"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 28
name: "Room_edc_Aile_Ouest_160"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 29
name: "Room_edc_Aile_Ouest_77"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 30
name: "Room_edc_Aile_Ouest_161"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 31
name: "Room_edc_Aile_Ouest_150"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 32
name: "Room_edc_Aile_Ouest_162"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 33
name: "Room_edc_Aile_Ouest_151"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 34
name: "Room_edc_Aile_Ouest_163"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 35
name: "Room_edc_Aile_Ouest_152"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 36
name: "Room_edc_Aile_Ouest_164"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 37
name: "Room_edc_Aile_Ouest_51"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 38
name: "Room_edc_Aile_Ouest_63"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 39
name: "Room_edc_Aile_Ouest_52"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 40
name: "Room_edc_Aile_Ouest_64"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 41
name: "Room_edc_Aile_Ouest_53"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 42
name: "Room_edc_Aile_Ouest_65"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 43
name: "Room_edc_Aile_Ouest_54"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 44
name: "Room_edc_Aile_Ouest_66"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 45
name: "Room_edc_Aile_Ouest_55"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 46
name: "Room_edc_Aile_Ouest_67"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 47
name: "Room_edc_Aile_Ouest_56"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 48
name: "Room_edc_Aile_Ouest_68"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
...

224
host_vars/sw-ec-5.yml Normal file
View file

@ -0,0 +1,224 @@
---
switch_vars:
name: sw-ec-5
location: Local de Brassage EdC
host: 10.130.4.15
port: 80
username: "{{ vault_switch.username }}"
password: "{{ vault_switch.password }}"
delete_vlans: []
vlans:
- id: 40
name: "Filaire_edc"
tagged: [49]
- id: 41
name: "Wifi_edc"
tagged: [49]
- id: 42
name: "Banni_edc"
tagged: [49]
- id: 43
name: "Accueil_edc"
tagged: [49]
- id: 110
name: "Adherents_ip_publiques"
tagged: [49]
- id: 111
name: "Serveurs_ip_publiques"
tagged: [49]
- id: 131
name: "Onduleurs"
tagged: [49]
- id: 144
name: "Bornes_wifi_edc"
tagged: [49]
ports:
- id: 1
name: "Room_edc_Aile_Ouest_165"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 2
name: "Room_edc_Aile_Ouest_177"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 3
name: "Room_edc_Aile_Ouest_166"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 4
name: "Room_edc_Aile_Ouest_250"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 5
name: "Room_edc_Aile_Ouest_167"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 6
name: "Room_edc_Aile_Ouest_251"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 7
name: "Room_edc_Aile_Ouest_168"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 8
name: "Not_used"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 9
name: "Room_edc_Aile_Ouest_169"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 10
name: "Machine_ups-ec-2.ups.auro.re"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 11
name: "Room_edc_Aile_Ouest_170"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 12
name: "Room_edc_Aile_Ouest_254"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 13
name: "Room_edc_Aile_Ouest_357"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 14
name: "Room_edc_Aile_Est_230"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 15
name: "Room_edc_Aile_Ouest_358"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 16
name: "Room_edc_Aile_Ouest_274"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 17
name: "Room_edc_Aile_Ouest_359"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 18
name: "Room_edc_Aile_Ouest_275"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 19
name: "Room_edc_Aile_Ouest_360"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 20
name: "Room_edc_Aile_Ouest_276"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 21
name: "Room_edc_Aile_Ouest_361"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 22
name: "Room_edc_Aile_Ouest_277"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 23
name: "Room_edc_Aile_Ouest_362"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 24
name: "Room_edc_Aile_Ouest_350"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 25
name: "Not_used"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 26
name: "Room_edc_Aile_Ouest_351"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 27
name: "Room_edc_Aile_Ouest_268"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 28
name: "Room_edc_Aile_Ouest_253"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 29
name: "Room_edc_Aile_Ouest_269"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 30
name: "Room_edc_Aile_Ouest_353"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 31
name: "Room_edc_Aile_Ouest_270"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 32
name: "Room_edc_Aile_Ouest_354"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 33
name: "Room_edc_Aile_Ouest_271"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 34
name: "Room_edc_Aile_Ouest_355"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 36
name: "Room_edc_Aile_Ouest_356"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 37
name: "Room_edc_Aile_Ouest_171"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 38
name: "Room_edc_Aile_Ouest_255"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 39
name: "Room_edc_Aile_Ouest_172"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 40
name: "Room_edc_Aile_Ouest_256"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 41
name: "Room_edc_Aile_Ouest_173"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 42
name: "Room_edc_Aile_Ouest_257"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 43
name: "Room_edc_Aile_Ouest_174"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 44
name: "Room_edc_Aile_Ouest_258"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 45
name: "Room_edc_Aile_Ouest_175"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 46
name: "Room_edc_Aile_Ouest_259"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 47
name: "Room_edc_Aile_Ouest_176"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 48
name: "Room_edc_Aile_Ouest_260"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
...

54
host_vars/sw-fa-1.yml Normal file
View file

@ -0,0 +1,54 @@
---
switch_vars:
name: sw-fa-1
location: Fleming
host: 10.130.1.51
port: 80
username: "{{ vault_switch.username }}"
password: "{{ vault_switch.password }}"
delete_vlans: []
vlans:
- id: 10
name: "Filaire_fleming"
tagged: [25]
- id: 11
name: "Wifi_fleming"
tagged: "{{ '1-5,25' | range2list }}"
- id: 12
name: "Banni_fleming"
tagged: "{{ '1-5,25' | range2list }}"
- id: 13
name: "Accueil_fleming"
tagged: "{{ '1-5,25' | range2list }}"
- id: 110
name: "Adherents_ip_publiques"
tagged: [25]
- id: 131
name: "Onduleurs"
tagged: [25]
- id: 141
name: "Bornes_fleming"
tagged: [25]
untagged: "{{ '1-5' | range2list }}"
ports:
- id: 1
name: "Machine_fa-0-1.borne.auro.re"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 2
name: "Machine_fa-1-1.borne.auro.re"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 3
name: "Machine_fa-2-1.borne.auro.re"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 4
name: "Machine_fa-3-1.borne.auro.re"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 5
name: "Machine_fa-4-1.borne.auro.re"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
...

145
host_vars/sw-fa-2.yml Normal file
View file

@ -0,0 +1,145 @@
---
switch_vars:
name: sw-fa-2
location: Fleming
host: 10.130.1.52
port: 80
username: "{{ vault_switch.username }}"
password: "{{ vault_switch.password }}"
delete_vlans: []
vlans:
- id: 10
name: "Filaire_fleming"
tagged: [49]
- id: 11
name: "Wifi_fleming"
tagged: [49]
- id: 12
name: "Banni_fleming"
tagged: [49]
- id: 13
name: "Accueil_fleming"
tagged: [49]
- id: 110
name: "Adherents_ip_publiques"
tagged: [49]
- id: 131
name: "Onduleurs"
tagged: [49]
- id: 141
name: "Bornes_fleming"
tagged: [49]
ports:
- id: 1
name: "Room_Fleming_Village_1_Bat_11A_409"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 2
name: "Room_Fleming_Village_1_Bat_11A_410"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 3
name: "Room_Fleming_Village_1_Bat_11A_411"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 4
name: "Room_Fleming_Village_1_Bat_11A_412"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 5
name: "Room_Fleming_Village_1_Bat_11A_001"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 6
name: "Room_Fleming_Village_1_Bat_11A_002"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 7
name: "Room_Fleming_Village_1_Bat_11A_002"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 8
name: "Room_Fleming_Village_1_Bat_11A_003"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 9
name: "Room_Fleming_Village_1_Bat_11A_004"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 10
name: "Room_Fleming_Village_1_Bat_11A_005"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 11
name: "Room_Fleming_Village_1_Bat_11A_006"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 12
name: "Room_Fleming_Village_1_Bat_11A_007"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 13
name: "Room_Fleming_Village_1_Bat_11A_008"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 14
name: "Room_Fleming_Village_1_Bat_11A_009"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 15
name: "Room_Fleming_Village_1_Bat_11A_010"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 16
name: "Room_Fleming_Village_1_Bat_11A_011"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 19
name: "Room_Fleming_Village_1_Bat_11A_J02"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 20
name: "Room_Fleming_Village_1_Bat_11A_J02"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 21
name: "Room_Fleming_Village_1_Bat_11A_J03"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 22
name: "Room_Fleming_Village_1_Bat_11A_J04"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 23
name: "Room_Fleming_Village_1_Bat_11A_J05"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 24
name: "Room_Fleming_Village_1_Bat_11A_J06"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 25
name: "Room_Fleming_Village_1_Bat_11A_J07"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 26
name: "Room_Fleming_Village_1_Bat_11A_J08"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 27
name: "Room_Fleming_Village_1_Bat_11A_J09"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 28
name: "Room_Fleming_Village_1_Bat_11A_J10"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 29
name: "Room_Fleming_Village_1_Bat_11A_J11"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 30
name: "Room_Fleming_Village_1_Bat_11A_J01"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
...

225
host_vars/sw-fa-3.yml Normal file
View file

@ -0,0 +1,225 @@
---
switch_vars:
name: sw-fa-3
location: Fleming
host: 10.130.1.53
port: 80
username: "{{ vault_switch.username }}"
password: "{{ vault_switch.password }}"
delete_vlans: []
vlans:
- id: 10
name: "Filaire_fleming"
tagged: [49]
- id: 11
name: "Wifi_fleming"
tagged: [49]
- id: 12
name: "Banni_fleming"
tagged: [49]
- id: 13
name: "Accueil_fleming"
tagged: [49]
- id: 110
name: "Adherents_ip_publiques"
tagged: [49]
- id: 131
name: "Onduleurs"
tagged: [49]
- id: 141
name: "Bornes_fleming"
tagged: [49]
ports:
- id: 1
name: "Room_Fleming_Village_1_Bat_11A_101"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 2
name: "Room_Fleming_Village_1_Bat_11A_102g"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 3
name: "Room_Fleming_Village_1_Bat_11A_102d"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 4
name: "Room_Fleming_Village_1_Bat_11A_103"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 5
name: "Room_Fleming_Village_1_Bat_11A_104"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 6
name: "Room_Fleming_Village_1_Bat_11A_105"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 7
name: "Room_Fleming_Village_1_Bat_11A_106"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 8
name: "Room_Fleming_Village_1_Bat_11A_107"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 9
name: "Room_Fleming_Village_1_Bat_11A_108"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 10
name: "Room_Fleming_Village_1_Bat_11A_109"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 11
name: "Room_Fleming_Village_1_Bat_11A_110"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 12
name: "Room_Fleming_Village_1_Bat_11A_111"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 13
name: "Room_Fleming_Village_1_Bat_11A_112"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 14
name: "Room_Fleming_Village_1_Bat_11A_201"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 15
name: "Room_Fleming_Village_1_Bat_11A_202g"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 16
name: "Room_Fleming_Village_1_Bat_11A_202d"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 17
name: "Room_Fleming_Village_1_Bat_11A_203"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 18
name: "Room_Fleming_Village_1_Bat_11A_204"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 19
name: "Room_Fleming_Village_1_Bat_11A_205"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 20
name: "Room_Fleming_Village_1_Bat_11A_206"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 21
name: "Room_Fleming_Village_1_Bat_11A_207"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 22
name: "Room_Fleming_Village_1_Bat_11A_208"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 23
name: "Room_Fleming_Village_1_Bat_11A_209"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 24
name: "Room_Fleming_Village_1_Bat_11A_210"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 25
name: "Room_Fleming_Village_1_Bat_11A_211"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 26
name: "Room_Fleming_Village_1_Bat_11A_212"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 27
name: "Room_Fleming_Village_1_Bat_11A_301"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 28
name: "Room_Fleming_Village_1_Bat_11A_302g"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 29
name: "Room_Fleming_Village_1_Bat_11A_302d"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 30
name: "Room_Fleming_Village_1_Bat_11A_303"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 31
name: "Room_Fleming_Village_1_Bat_11A_304"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 32
name: "Room_Fleming_Village_1_Bat_11A_305"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 33
name: "Room_Fleming_Village_1_Bat_11A_306"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 34
name: "Room_Fleming_Village_1_Bat_11A_307"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 35
name: "Room_Fleming_Village_1_Bat_11A_308"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 36
name: "Room_Fleming_Village_1_Bat_11A_309"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 37
name: "Room_Fleming_Village_1_Bat_11A_310"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 38
name: "Room_Fleming_Village_1_Bat_11A_311"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 39
name: "Room_Fleming_Village_1_Bat_11A_312"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 40
name: "Room_Fleming_Village_1_Bat_11A_401"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 41
name: "Room_Fleming_Village_1_Bat_11A_402g"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 42
name: "Room_Fleming_Village_1_Bat_11A_402d"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 43
name: "Room_Fleming_Village_1_Bat_11A_403"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 44
name: "Room_Fleming_Village_1_Bat_11A_404"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 45
name: "Room_Fleming_Village_1_Bat_11A_405"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 46
name: "Room_Fleming_Village_1_Bat_11A_406"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 47
name: "Room_Fleming_Village_1_Bat_11A_407"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 48
name: "Room_Fleming_Village_1_Bat_11A_408"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
...

118
host_vars/sw-fb-1.yml Normal file
View file

@ -0,0 +1,118 @@
---
switch_vars:
name: sw-fb-1
location: Fleming
host: 10.130.1.61
port: 80
username: "{{ vault_switch.username }}"
password: "{{ vault_switch.password }}"
delete_vlans: []
vlans:
- id: 10
name: "Filaire_fleming"
tagged: [25]
- id: 11
name: "Wifi_fleming"
tagged: "{{ '17-21,25' | range2list }}"
- id: 12
name: "Banni_fleming"
tagged: "{{ '17-21,25' | range2list }}"
- id: 13
name: "Accueil_fleming"
tagged: "{{ '17-21,25' | range2list }}"
- id: 110
name: "Adherents_ip_publiques"
tagged: [25]
- id: 131
name: "Onduleurs"
tagged: [25]
- id: 141
name: "Bornes_fleming"
tagged: [25]
untagged: "{{ '17-21' | range2list }}"
ports:
- id: 1
name: "Room_Fleming_Village_1_Bat_12B_409"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 2
name: "Room_Fleming_Village_1_Bat_12B_410"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 3
name: "Room_Fleming_Village_1_Bat_12B_411"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 4
name: "Room_Fleming_Village_1_Bat_12B_412"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 5
name: "Room_Fleming_Village_1_Bat_12B_001"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 6
name: "Room_Fleming_Village_1_Bat_12B_002g"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 7
name: "Room_Fleming_Village_1_Bat_12B_002d"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 8
name: "Room_Fleming_Village_1_Bat_12B_003"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 9
name: "Room_Fleming_Village_1_Bat_12B_004"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 10
name: "Room_Fleming_Village_1_Bat_12B_005"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 11
name: "Room_Fleming_Village_1_Bat_12B_006"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 12
name: "Room_Fleming_Village_1_Bat_12B_007"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 13
name: "Room_Fleming_Village_1_Bat_12B_008"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 14
name: "Room_Fleming_Village_1_Bat_12B_009"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 15
name: "Room_Fleming_Village_1_Bat_12B_010"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 16
name: "Room_Fleming_Village_1_Bat_12B_011"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 17
name: "Machine_fb-0-1.borne.auro.re"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 18
name: "Machine_fb-1-1.borne.auro.re"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 19
name: "Machine_fb-2-1.borne.auro.re"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 20
name: "Machine_fb-3-1.borne.auro.re"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 21
name: "Machine_fb-4-1.borne.auro.re"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
...

225
host_vars/sw-fb-2.yml Normal file
View file

@ -0,0 +1,225 @@
---
switch_vars:
name: sw-fb-2
location: Fleming
host: 10.130.1.62
port: 80
username: "{{ vault_switch.username }}"
password: "{{ vault_switch.password }}"
delete_vlans: []
vlans:
- id: 10
name: "Filaire_fleming"
tagged: [49]
- id: 11
name: "Wifi_fleming"
tagged: [49]
- id: 12
name: "Banni_fleming"
tagged: [49]
- id: 13
name: "Accueil_fleming"
tagged: [49]
- id: 110
name: "Adherents_ip_publiques"
tagged: [49]
- id: 131
name: "Onduleurs"
tagged: [49]
- id: 141
name: "Bornes_fleming"
tagged: [49]
ports:
- id: 1
name: "Room_Fleming_Village_1_Bat_12B_101"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 2
name: "Room_Fleming_Village_1_Bat_12B_102g"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 3
name: "Room_Fleming_Village_1_Bat_12B_102d"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 4
name: "Room_Fleming_Village_1_Bat_12B_103"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 5
name: "Room_Fleming_Village_1_Bat_12B_104"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 6
name: "Room_Fleming_Village_1_Bat_12B_105"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 7
name: "Room_Fleming_Village_1_Bat_12B_106"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 8
name: "Room_Fleming_Village_1_Bat_12B_107"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 9
name: "Room_Fleming_Village_1_Bat_12B_108"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 10
name: "Room_Fleming_Village_1_Bat_12B_109"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 11
name: "Room_Fleming_Village_1_Bat_12B_110"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 12
name: "Room_Fleming_Village_1_Bat_12B_111"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 13
name: "Room_Fleming_Village_1_Bat_12B_112"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 14
name: "Room_Fleming_Village_1_Bat_12B_201"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 15
name: "Room_Fleming_Village_1_Bat_12B_202g"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 16
name: "Room_Fleming_Village_1_Bat_12B_202d"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 17
name: "Room_Fleming_Village_1_Bat_12B_203"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 18
name: "Room_Fleming_Village_1_Bat_12B_204"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 19
name: "Room_Fleming_Village_1_Bat_12B_205"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 20
name: "Room_Fleming_Village_1_Bat_12B_206"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 21
name: "Room_Fleming_Village_1_Bat_12B_207"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 22
name: "Room_Fleming_Village_1_Bat_12B_208"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 23
name: "Room_Fleming_Village_1_Bat_12B_209"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 24
name: "Room_Fleming_Village_1_Bat_12B_210"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 25
name: "Room_Fleming_Village_1_Bat_12B_211"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 26
name: "Room_Fleming_Village_1_Bat_12B_212"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 27
name: "Room_Fleming_Village_1_Bat_12B_301"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 28
name: "Room_Fleming_Village_1_Bat_12B_302g"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 29
name: "Room_Fleming_Village_1_Bat_12B_302d"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 30
name: "Room_Fleming_Village_1_Bat_12B_303"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 31
name: "Room_Fleming_Village_1_Bat_12B_304"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 32
name: "Room_Fleming_Village_1_Bat_12B_305"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 33
name: "Room_Fleming_Village_1_Bat_12B_306"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 34
name: "Room_Fleming_Village_1_Bat_12B_307"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 35
name: "Room_Fleming_Village_1_Bat_12B_308"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 36
name: "Room_Fleming_Village_1_Bat_12B_309"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 37
name: "Room_Fleming_Village_1_Bat_12B_310"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 38
name: "Room_Fleming_Village_1_Bat_12B_311"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 39
name: "Room_Fleming_Village_1_Bat_12B_312"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 40
name: "Room_Fleming_Village_1_Bat_12B_401"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 41
name: "Room_Fleming_Village_1_Bat_12B_402g"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 42
name: "Room_Fleming_Village_1_Bat_12B_402d"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 43
name: "Room_Fleming_Village_1_Bat_12B_403"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 44
name: "Room_Fleming_Village_1_Bat_12B_404"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 45
name: "Room_Fleming_Village_1_Bat_12B_405"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 46
name: "Room_Fleming_Village_1_Bat_12B_406"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 47
name: "Room_Fleming_Village_1_Bat_12B_407"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 48
name: "Room_Fleming_Village_1_Bat_12B_408"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
...

106
host_vars/sw-fc-1.yml Normal file
View file

@ -0,0 +1,106 @@
---
switch_vars:
name: sw-fc-1
location: Fleming
host: 10.130.1.71
port: 80
username: "{{ vault_switch.username }}"
password: "{{ vault_switch.password }}"
delete_vlans: []
vlans:
- id: 10
name: "Filaire_fleming"
tagged: [25]
- id: 11
name: "Wifi_fleming"
tagged: "{{ '15-19,25' | range2list }}"
- id: 12
name: "Banni_fleming"
tagged: "{{ '15-19,25' | range2list }}"
- id: 13
name: "Accueil_fleming"
tagged: "{{ '15-19,25' | range2list }}"
- id: 110
name: "Adherents_ip_publiques"
tagged: [25]
- id: 131
name: "Onduleurs"
tagged: [25]
- id: 141
name: "Bornes_fleming"
tagged: [25]
untagged: "{{ '15-19' | range2list }}"
ports:
- id: 1
name: "Room_Fleming_Village_Bat13C_401"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 2
name: "Room_Fleming_Village_Bat13C_402g"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 3
name: "Room_Fleming_Village_Bat13C_402d"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 4
name: "Room_Fleming_Village_Bat13C_403"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 5
name: "Room_Fleming_Village_Bat13C_404"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 6
name: "Room_Fleming_Village_Bat13C_405"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 7
name: "Room_Fleming_Village_Bat13C_406"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 8
name: "Room_Fleming_Village_Bat13C_407"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 9
name: "Room_Fleming_Village_Bat13C_408"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 10
name: "Room_Fleming_Village_Bat13C_409"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 11
name: "Room_Fleming_Village_Bat13C_410"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 12
name: "Room_Fleming_Village_Bat13C_411"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 13
name: "Room_Fleming_Village_Bat13C_412"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 15
name: "Machine_fc-0-1.borne.auro.re"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 16
name: "Machine_fc-1-1.borne.auro.re"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 17
name: "Machine_fc-2-1.borne.auro.re"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 18
name: "Machine_fc-3-1.borne.auro.re"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 19
name: "Machine_fc-4-1.borne.auro.re"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
...

225
host_vars/sw-fc-2.yml Normal file
View file

@ -0,0 +1,225 @@
---
switch_vars:
name: sw-fc-2
location: Fleming
host: 10.130.1.72
port: 80
username: "{{ vault_switch.username }}"
password: "{{ vault_switch.password }}"
delete_vlans: []
vlans:
- id: 10
name: "Filaire_fleming"
tagged: [49]
- id: 11
name: "Wifi_fleming"
tagged: [49]
- id: 12
name: "Banni_fleming"
tagged: [49]
- id: 13
name: "Accueil_fleming"
tagged: [49]
- id: 110
name: "Adherents_ip_publiques"
tagged: [49]
- id: 131
name: "Onduleurs"
tagged: [49]
- id: 141
name: "Bornes_fleming"
tagged: [49]
ports:
- id: 1
name: "Room_Fleming_Village_1_Bat_13C_001"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 2
name: "Room_Fleming_Village_1_Bat_13C_002"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 3
name: "Room_Fleming_Village_1_Bat_13C_003"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 4
name: "Room_Fleming_Village_1_Bat_13C_004"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 5
name: "Room_Fleming_Village_1_Bat_13C_005"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 6
name: "Room_Fleming_Village_1_Bat_13C_006"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 7
name: "Room_Fleming_Village_1_Bat_13C_007"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 8
name: "Room_Fleming_Village_1_Bat_13C_008"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 9
name: "Room_Fleming_Village_1_Bat_13C_009"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 10
name: "Room_Fleming_Village_1_Bat_13C_101"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 11
name: "Room_Fleming_Village_1_Bat_13C_102g"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 12
name: "Room_Fleming_Village_1_Bat_13C_102d"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 13
name: "Room_Fleming_Village_1_Bat_13C_103"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 14
name: "Room_Fleming_Village_1_Bat_13C_104"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 15
name: "Room_Fleming_Village_1_Bat_13C_105"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 16
name: "Room_Fleming_Village_1_Bat_13C_106"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 17
name: "Room_Fleming_Village_1_Bat_13C_107"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 18
name: "Room_Fleming_Village_1_Bat_13C_108"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 19
name: "Room_Fleming_Village_1_Bat_13C_109"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 20
name: "Room_Fleming_Village_1_Bat_13C_110"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 21
name: "Room_Fleming_Village_1_Bat_13C_111"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 22
name: "Room_Fleming_Village_1_Bat_13C_112"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 23
name: "Room_Fleming_Village_1_Bat_13C_201"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 24
name: "Room_Fleming_Village_1_Bat_13C_202g"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 25
name: "Room_Fleming_Village_1_Bat_13C_202d"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 26
name: "Room_Fleming_Village_1_Bat_13C_203"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 27
name: "Room_Fleming_Village_1_Bat_13C_204"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 28
name: "Room_Fleming_Village_1_Bat_13C_205"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 29
name: "Room_Fleming_Village_1_Bat_13C_206"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 30
name: "Room_Fleming_Village_1_Bat_13C_207"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 31
name: "Room_Fleming_Village_1_Bat_13C_208"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 32
name: "Room_Fleming_Village_1_Bat_13C_209"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 33
name: "Room_Fleming_Village_1_Bat_13C_210"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 34
name: "Room_Fleming_Village_1_Bat_13C_211"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 35
name: "Room_Fleming_Village_1_Bat_13C_212"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 36
name: "Room_Fleming_Village_1_Bat_13C_301"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 37
name: "Room_Fleming_Village_1_Bat_13C_302g"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 38
name: "Room_Fleming_Village_1_Bat_13C_302d"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 39
name: "Room_Fleming_Village_1_Bat_13C_303"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 40
name: "Room_Fleming_Village_1_Bat_13C_304"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 41
name: "Room_Fleming_Village_1_Bat_13C_305"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 42
name: "Room_Fleming_Village_1_Bat_13C_306"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 43
name: "Room_Fleming_Village_1_Bat_13C_307"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 44
name: "Room_Fleming_Village_1_Bat_13C_308"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 45
name: "Room_Fleming_Village_1_Bat_13C_309"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 46
name: "Room_Fleming_Village_1_Bat_13C_310"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 47
name: "Room_Fleming_Village_1_Bat_13C_311"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 48
name: "Room_Fleming_Village_1_Bat_13C_312"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
...

114
host_vars/sw-fd-1.yml Normal file
View file

@ -0,0 +1,114 @@
---
switch_vars:
name: sw-fd-1
location: Fleming
host: 10.130.1.81
port: 80
username: "{{ vault_switch.username }}"
password: "{{ vault_switch.password }}"
delete_vlans: []
vlans:
- id: 10
name: "Filaire_fleming"
tagged: [25]
- id: 11
name: "Wifi_fleming"
tagged: "{{ '19-22,25' | range2list }}"
- id: 12
name: "Banni_fleming"
tagged: "{{ '19-22,25' | range2list }}"
- id: 13
name: "Accueil_fleming"
tagged: "{{ '19-22,25' | range2list }}"
- id: 110
name: "Adherents_ip_publiques"
tagged: [25]
- id: 131
name: "Onduleurs"
tagged: [25]
- id: 141
name: "Bornes_fleming"
tagged: [25]
untagged: "{{ '19-22' | range2list }}"
ports:
- id: 1
name: "Room_Fleming_Village_1_Bat_14D_310"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 2
name: "Room_Fleming_Village_1_Bat_14D_311"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 3
name: "Room_Fleming_Village_1_Bat_14D_312"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 4
name: "Room_Fleming_Village_1_Bat_14D_401"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 5
name: "Room_Fleming_Village_1_Bat_14D_402g"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 6
name: "Room_Fleming_Village_1_Bat_14D_402d"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 7
name: "Room_Fleming_Village_1_Bat_14D_403"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 8
name: "Room_Fleming_Village_1_Bat_14D_404"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 9
name: "Room_Fleming_Village_1_Bat_14D_405"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 10
name: "Room_Fleming_Village_1_Bat_14D_406"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 11
name: "Room_Fleming_Village_1_Bat_14D_407"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 12
name: "Room_Fleming_Village_1_Bat_14D_408"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 13
name: "Room_Fleming_Village_1_Bat_14D_409"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 14
name: "Room_Fleming_Village_1_Bat_14D_410"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 15
name: "Room_Fleming_Village_1_Bat_14D_411"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 16
name: "Room_Fleming_Village_1_Bat_14D_412"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 19
name: "Machine: fd-0-1.borne.auro.re"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 20
name: "Machine: fd-1-1.borne.auro.re"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 21
name: "Machine: fd-2-1.borne.auro.re"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 22
name: "Machine: fd-3-1.borne.auro.re"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
...

225
host_vars/sw-fd-2.yml Normal file
View file

@ -0,0 +1,225 @@
---
switch_vars:
name: sw-fd-2
location: Fleming
host: 10.130.1.72
port: 80
username: "{{ vault_switch.username }}"
password: "{{ vault_switch.password }}"
delete_vlans: []
vlans:
- id: 10
name: "Filaire_fleming"
tagged: [49]
- id: 11
name: "Wifi_fleming"
tagged: [49]
- id: 12
name: "Banni_fleming"
tagged: [49]
- id: 13
name: "Accueil_fleming"
tagged: [49]
- id: 110
name: "Adherents_ip_publiques"
tagged: [49]
- id: 131
name: "Onduleurs"
tagged: [49]
- id: 141
name: "Bornes_fleming"
tagged: [49]
ports:
- id: 1
name: "Room_Fleming_Village_1_Bat_14D_001"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 2
name: "Room_Fleming_Village_1_Bat_14D_002"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 3
name: "Room_Fleming_Village_1_Bat_14D_003"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 4
name: "Room_Fleming_Village_1_Bat_14D_004"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 5
name: "Room_Fleming_Village_1_Bat_14D_005"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 6
name: "Room_Fleming_Village_1_Bat_14D_006"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 7
name: "Room_Fleming_Village_1_Bat_14D_007"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 8
name: "Room_Fleming_Village_1_Bat_14D_008"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 9
name: "Room_Fleming_Village_1_Bat_14D_009"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 10
name: "Room_Fleming_Village_1_Bat_14D_010"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 11
name: "Room_Fleming_Village_1_Bat_14D_Salon"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 12
name: "Room_Fleming_Village_1_Bat_14D_101"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 13
name: "Room_Fleming_Village_1_Bat_14D_102g"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 14
name: "Room_Fleming_Village_1_Bat_14D_102d"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 15
name: "Room_Fleming_Village_1_Bat_14D_103"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 16
name: "Room_Fleming_Village_1_Bat_14D_104"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 17
name: "Room_Fleming_Village_1_Bat_14D_105"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 18
name: "Room_Fleming_Village_1_Bat_14D_105prime"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 19
name: "Room_Fleming_Village_1_Bat_14D_106"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 20
name: "Room_Fleming_Village_1_Bat_14D_107"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 21
name: "Room_Fleming_Village_1_Bat_14D_108"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 22
name: "Room_Fleming_Village_1_Bat_14D_109"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 23
name: "Room_Fleming_Village_1_Bat_14D_110"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 24
name: "Room_Fleming_Village_1_Bat_14D_111"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 25
name: "Room_Fleming_Village_1_Bat_14D_Salon1"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 26
name: "Room_Fleming_Village_1_Bat_14D_201"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 27
name: "Room_Fleming_Village_1_Bat_14D_202d"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 28
name: "Room_Fleming_Village_1_Bat_14D_202g"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 29
name: "Room_Fleming_Village_1_Bat_14D_203"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 30
name: "Room_Fleming_Village_1_Bat_14D_204"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 31
name: "Room_Fleming_Village_1_Bat_14D_205"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 32
name: "Room_Fleming_Village_1_Bat_14D_206"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 33
name: "Room_Fleming_Village_1_Bat_14D_207"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 34
name: "Room_Fleming_Village_1_Bat_14D_208"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 35
name: "Room_Fleming_Village_1_Bat_14D_209"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 36
name: "Room_Fleming_Village_1_Bat_14D_210"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 37
name: "Room_Fleming_Village_1_Bat_14D_211"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 38
name: "Room_Fleming_Village_1_Bat_14D_212"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 39
name: "Room_Fleming_Village_1_Bat_14D_301"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 40
name: "Room_Fleming_Village_1_Bat_14D_302d"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 41
name: "Room_Fleming_Village_1_Bat_14D_302g"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 42
name: "Room_Fleming_Village_1_Bat_14D_303"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 43
name: "Room_Fleming_Village_1_Bat_14D_304"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 44
name: "Room_Fleming_Village_1_Bat_14D_305"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 45
name: "Room_Fleming_Village_1_Bat_14D_306"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 46
name: "Room_Fleming_Village_1_Bat_14D_307"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 47
name: "Room_Fleming_Village_1_Bat_14D_308"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 48
name: "Room_Fleming_Village_1_Bat_14D_309"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
...

114
host_vars/sw-fe-1.yml Normal file
View file

@ -0,0 +1,114 @@
---
switch_vars:
name: sw-fe-1
location: Fleming
host: 10.130.1.151
port: 80
username: "{{ vault_switch.username }}"
password: "{{ vault_switch.password }}"
delete_vlans: []
vlans:
- id: 10
name: "Filaire_fleming"
tagged: [25]
- id: 11
name: "Wifi_fleming"
tagged: "{{ '13-17,19-22,25' | range2list }}"
- id: 12
name: "Banni_fleming"
tagged: "{{ '13-17,19-22,25' | range2list }}"
- id: 13
name: "Accueil_fleming"
tagged: "{{ '13-17,19-22,25' | range2list }}"
- id: 110
name: "Adherents_ip_publiques"
tagged: [25]
- id: 131
name: "Onduleurs"
tagged: [25]
- id: 141
name: "Bornes_fleming"
tagged: [25]
untagged: "{{ '13-17,19-22' | range2list }}"
ports:
- id: 1
name: "Room_Fleming_Village_3_Bat_31E_407"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 2
name: "Room_Fleming_Village_3_Bat_31E_408"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 3
name: "Room_Fleming_Village_3_Bat_31E_409"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 4
name: "Room_Fleming_Village_3_Bat_31E_410"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 5
name: "Room_Fleming_Village_3_Bat_31E_411"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 6
name: "Room_Fleming_Village_3_Bat_31E_412"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 7
name: "Room_Fleming_Village_3_Bat_31E_413"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 8
name: "Room_Fleming_Village_3_Bat_31E_414"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 9
name: "Room_Fleming_Village_3_Bat_31E_Local_Detente_E-1"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 10
name: "Room_Fleming_Village_3_Bat_31E_Local_Detente_3-2"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 11
name: "Room_Fleming_Village_3_Bat_31E_001_PMR"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 13
name: "Machine_fe-0-1.borne.auro.re"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 14
name: "Machine_fe-1-1.borne.auro.re"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 15
name: "Machine_fe-2-1.borne.auro.re"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 16
name: "Machine_fe-3-1.borne.auro.re"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 17
name: "Machine_fe-4-1.borne.auro.re"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 19
name: "Machine_fe-4-2.borne.auro.re"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 20
name: "Machine_fe-2-2.borne.auro.re"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 21
name: "Machine_fe-3-2.borne.auro.re"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 22
name: "Machine_fe-1-2.borne.auro.re"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
...

225
host_vars/sw-fe-2.yml Normal file
View file

@ -0,0 +1,225 @@
---
switch_vars:
name: sw-fe-2
location: Fleming
host: 10.130.1.152
port: 80
username: "{{ vault_switch.username }}"
password: "{{ vault_switch.password }}"
delete_vlans: []
vlans:
- id: 10
name: "Filaire_fleming"
tagged: [49]
- id: 11
name: "Wifi_fleming"
tagged: [49]
- id: 12
name: "Banni_fleming"
tagged: [49]
- id: 13
name: "Accueil_fleming"
tagged: [49]
- id: 110
name: "Adherents_ip_publiques"
tagged: [49]
- id: 131
name: "Onduleurs"
tagged: [49]
- id: 141
name: "Bornes_fleming"
tagged: [49]
ports:
- id: 1
name: "Room_Fleming_Village_1_Bat_31E_101"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 2
name: "Room_Fleming_Village_1_Bat_31E_102"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 3
name: "Room_Fleming_Village_1_Bat_31E_103"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 4
name: "Room_Fleming_Village_1_Bat_31E_104"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 5
name: "Room_Fleming_Village_1_Bat_31E_105"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 6
name: "Room_Fleming_Village_1_Bat_31E_106"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 7
name: "Room_Fleming_Village_1_Bat_31E_107"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 8
name: "Room_Fleming_Village_1_Bat_31E_108"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 9
name: "Room_Fleming_Village_1_Bat_31E_109"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 10
name: "Room_Fleming_Village_1_Bat_31E_110"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 11
name: "Room_Fleming_Village_1_Bat_31E_111"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 12
name: "Room_Fleming_Village_1_Bat_31E_112"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 13
name: "Room_Fleming_Village_1_Bat_31E_113"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 14
name: "Room_Fleming_Village_1_Bat_31E_114"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 15
name: "Room_Fleming_Village_1_Bat_31E_201"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 16
name: "Room_Fleming_Village_1_Bat_31E_202"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 17
name: "Room_Fleming_Village_1_Bat_31E_203"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 18
name: "Room_Fleming_Village_1_Bat_31E_204"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 19
name: "Room_Fleming_Village_1_Bat_31E_205"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 20
name: "Room_Fleming_Village_1_Bat_31E_206"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 21
name: "Room_Fleming_Village_1_Bat_31E_207"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 22
name: "Room_Fleming_Village_1_Bat_31E_208"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 23
name: "Room_Fleming_Village_1_Bat_31E_209"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 24
name: "Room_Fleming_Village_1_Bat_31E_210"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 25
name: "Room_Fleming_Village_1_Bat_31E_211"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 26
name: "Room_Fleming_Village_1_Bat_31E_212"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 27
name: "Room_Fleming_Village_1_Bat_31E_213"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 28
name: "Room_Fleming_Village_1_Bat_31E_214"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 29
name: "Room_Fleming_Village_1_Bat_31E_301"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 30
name: "Room_Fleming_Village_1_Bat_31E_302"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 31
name: "Room_Fleming_Village_1_Bat_31E_303"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 32
name: "Room_Fleming_Village_1_Bat_31E_304"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 33
name: "Room_Fleming_Village_1_Bat_31E_305"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 34
name: "Room_Fleming_Village_1_Bat_31E_306"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 35
name: "Room_Fleming_Village_1_Bat_31E_307"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 36
name: "Room_Fleming_Village_1_Bat_31E_308"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 37
name: "Room_Fleming_Village_1_Bat_31E_309"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 38
name: "Room_Fleming_Village_1_Bat_31E_310"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 39
name: "Room_Fleming_Village_1_Bat_31E_311"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 40
name: "Room_Fleming_Village_1_Bat_31E_312"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 41
name: "Room_Fleming_Village_1_Bat_31E_313"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 42
name: "Room_Fleming_Village_1_Bat_31E_314"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 43
name: "Room_Fleming_Village_1_Bat_31E_401"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 44
name: "Room_Fleming_Village_1_Bat_31E_402"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 45
name: "Room_Fleming_Village_1_Bat_31E_403"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 46
name: "Room_Fleming_Village_1_Bat_31E_404"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 47
name: "Room_Fleming_Village_1_Bat_31E_405"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 48
name: "Room_Fleming_Village_1_Bat_31E_406"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
...

Some files were not shown because too many files have changed in this diff Show more