Compare commits

...

248 commits

Author SHA1 Message Date
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
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
e13e450a1f
Disable some unused modules 2022-09-23 12:47:07 +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
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
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
1938cc24da
isc_dhcp_server: remove old role 2022-08-20 19:34:54 +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
359 changed files with 96141 additions and 4808 deletions

1
.gitignore vendored
View file

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

211
README.md
View file

@ -1,5 +1,3 @@
[![Linter Status](https://drone.auro.re/api/badges/Aurore/ansible/status.svg)](https://drone.auro.re/Aurore/ansible)
# Recettes Ansible d'Aurore
Dépendances requises :
@ -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.
Chaque machine est annoncée avec son hostname. Il faut pouvoir SSH sur cette machine
avec ce hostname, car c'est ce qu'Ansible fera.
Chaque machine est annoncée avec son hostname. Il faut pouvoir SSH sur cette
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.
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
action. Elle est associée à un module Ansible.
*Exemples de tâche* : installer un paquet avec le module `apt`, ajouter une ligne dans
un fichier avec le module `lineinfile`, copier une template avec le module `template`
*Exemples de tâche* : installer un paquet avec le module `apt`, ajouter une
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,
récupérer son résultat dans une varible, mettre une boucle dessus, mettre des conditions…
Une tâche peut avoir des paramètres supplémentaires pour la réessayer quand
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 !
### Gestion des groupes de machines
Pour la liste complète, je vous invite à lire le fichier `hosts`.
* pour tester les versions de Debian,
Exemple :
```YAML
ansible_lsb.codename == 'stretch'
```yaml
[fleming_vm]
dhcp-fleming.adm.auro.re
dns-fleming.adm.auro.re
prometheus-fleming.adm.auro.re
routeur-fleming.adm.auro.re
[fleming_pve]
pve1.adm.auro.re
[fleming:children]
fleming_pve
fleming_vm
```
* pour tester si c'est un CPU Intel x86_64,
```YAML
ansible_processor[0].find('Intel') != -1
and ansible_architecture == 'x86_64'
```
> 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
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
on peut exécuter le module `setup` manuellement.
```
```bash
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
### Configurer la connexion au vlan adm
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`.
Dans la configuration SSH :
```
```text
Host *.adm.auro.re *.pve.auro.re
# Accept new host keys
StrictHostKeyChecking accept-new
@ -97,7 +122,8 @@ Host *.adm.auro.re *.pve.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
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.
Pour tester le playbook `base.yml` :
```bash
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
première fois (dangereux !) : `ANSIBLE_HOST_KEY_CHECKING=0 ansible-playbook...`.
### Ajouter tous les empruntes de serveur
### Ajouter toutes les empreintes de serveur
```bash
#!/bin/bash
@ -125,6 +152,10 @@ for ip in `cat hosts|grep .adm.auro.re`; do
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)
@ -136,11 +167,141 @@ ansible-galaxy collection install community.general
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 :
`$ export ANSIBLE_BECOME_PASS='<votre mot de passe LDAP>'`
Notez l'espace au début pour ne pas log la commande dans votre historique
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,11 +1,14 @@
[defaults]
jinja2_native = true
ask_vault_pass = True
roles_path = ./roles
retry_files_enabled = False
inventory = ./hosts
stdout_callback = debug
library = ./library
filter_plugins = ./filter_plugins
ansible_managed = Ansible managed, modified on %Y-%m-%d %H:%M:%S
ansible_managed = Ansible managed
nocows = 1
forks = 15
timeout = 60
@ -16,3 +19,4 @@ always = yes
[ssh_connection]
pipelining = True
retries = 3

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

@ -15,6 +15,15 @@ class FilterModule:
}
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()}

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,257 +1,297 @@
$ANSIBLE_VAULT;1.1;AES256
62373961613635353532306262363831376166643431323062383634366138653036373730353036
6664653637356662343538306261353838306637663765320a336436333964643464613339366238
66323438363935303839633534373464333236663536396233316162363439393030303637306462
3661346138396534340a626164643334376137633738343130653531393630663030663234626433
62623063623538323262643863373062323537663164623535343262346235323865613361643034
37373562343366323134303836633634613837356165323566343062373730336639386137306164
64366661343562623734396363346339643438613865653730396635636264666164623533656534
39313462363539313866633663333639343766313338376162363135396235356133373837623930
64316661316339343439383365303664393631643164623161613262613839346634333434653264
65656466383063386163353135663632303665323238626139363330383363306130623535303834
31636265623366326438373163633566626438383633326430303862353838383636363866326131
64656366646534333739326264663330323836353266393063356134373366366235613534353636
30633364343738393230623338663532623531303564613766326436336562633338313337396664
65376135633334346261313835646361303362616535346538623634383338626363646637376261
66383336363065353932656231343231613963303934643637656637323135376238376235383838
35386333363033306332373030353332303635633164363135633431343566373338623437626331
61653435653135663331313536386166336137636336333861656131613863386162343639363935
39643763653633363663626266663036313961663062626333633666356363363961643231663033
32386438646365613438343130313465383266623830666631653061313238643466326337663434
63313664346564333163346230663331613363646566386135363063643730626435366233313130
37343965653835636333363365653831393531326565316532663962326165366437326464663964
65383036383261643066333938343634396337313034333466643436386665353137656661323134
66666362393334343038353762396537346164356635373766393038656563643132363461356336
30323063663232353431623731313564646339376364623639303231633935353730353866616131
63343732653366613832393031646339383235616464656435653035316163313266613361646666
31633662336332653738353661616137333537633831346137663363336235626433363834316438
62646266383362613335376335376136663536623638353863323539393339353736336533656435
62343263343839633837313966316538643133363764353661616136356139313630626163663233
64363939343238623261656430653933333432383066373136313232623933616238323161316336
36666165616661383637323832383138353963333063613566613538623430633561653532333830
34366231323131346533616164646438366266326266616264333862343435633031333135396365
33333331323939646431373630373334613935616337316631613065363337336136636238323066
35653162303130373733353763623638623638323638333362653130663237396564333366616163
35396435303133613861316464393837623837353734633331366435383263643264343164333235
32353530373835643436633038366261386465373364303538353933346562663566663233326637
33663165333366346630373035396237366332616435323231336333613031656161303431326633
37386466353836646536656364343532356633343835666466353861323637643233343063323135
32626563383433336165373363383236633936333039343731633439353331666564383166323738
39313635636666383432623335396663386131336134613530323938316332663032663966656361
65616334646337313637346436336232613531626434383030326164393366343366616235383439
62303333356633656366373766666430636435303438383863343330396130396139616234313638
31336632663661353030303736646130326565303932346432643066316434616134376135636662
61393661633261303539393139346266303731333637363838313964616439386637633234326533
32323130346235306236346566306563333563653333326633363831646238353766666136346333
37666539313265353961343762303762333463646136386331393938663463646530633932393136
38386437646135613764313764316162346364353031313566323134336239633832303930313463
33636164373236373138613462393937333338643230663133383132616463313731393963633262
31303239393939383433343138393733356238386136626463336532613661623362356530323666
39633336613532383661636334393362663833306562663664303734393466343536386661663838
65343263643063646666616334643936396530633861373733376635303230646461396239613435
39373131393234343761346231636363303663383835366562643664353734653530393066653230
34656466656364303163653862616437623636626537376338376631356266666338366439656262
33383633653965386333343933323639303265653862323936376635343037656537626165636663
38383034383833393038363136373835636537626664353863326165643436323730623665313037
64323634633435323434313639343538313537313030383338656635336137366133613931346133
62356131396637323361336265373731376638636465306365366461353338663738326362616435
61316166363536323761323631653835643132356634633738343834343839613732643263323866
64393636353730323139383965373864376163363963323830353538613234663566633437363061
66313765356635643136653866633432343130303661633362386665363761306165646333356330
34393233626131646430663538663465643233356338383330316634333032353939653334653233
37356461323261653762363730383339393130613064386366393562383739616536626366633865
39316161643438343762306537353762333463353237303063613933343239323765386666646539
33336165323539323261366134353466313737636338363861336664346331643464313965633530
37393538636535303431303762336335666361663364363130376564633763373036663330383130
31316564643336373061343033333131643362663736376436643965333066613431343936303964
63343030653030373537396566323663383061396666313835333732646339306134613762393865
30626431303638346137653539333236633136663137306233663236326465663662376537666435
31333663663833373463343163323737366536366163613733396332626230646131333662663866
61346266396563646261353561616433613161666161363161396533313038366438366565343733
33646462636461313639666332666338613066383862353362613563636162313238363261663762
66613930333837643537326237633462343666323563383935366333353533386161363734623132
37633739396161353731353234326565376564646433316638633130303033303863623166653438
34663461643539643639383763666339643164343233343361653630373736393437633762323761
63633264373639613439633338316166333135633436373133626434623261313333613734376366
30366634633664383633643234663539363166656333653139366466346433323337383036393330
38306564303131313130353765313465626537323032623233326261326565626535666337383237
63616566623139343664343663663031306133333830386561383936313135616461636563656130
61333531313230623063326537323537303363353232343436356161336164326133643734663134
32616266303536373331396537643938636237363439353234326439363039633366613136326632
65346533636563393665613130636437356134666262343336646236326430366636353234636564
66356636666339353466656664633731376537353863613565306130316561313865393962336232
65326661366661313434666564366131656539363030323233376666616330653338616536393230
36646161373030343964346430613266306665636336303536363966326361373335313130316332
33646236393935336662353237323639323239353030623233373766363566323461626332396164
65303035653630376332356333313765313833396338363233326333626130323866386366613533
35303562366437333538393363643366326530313365623331306235383965393331333936323432
34396261666363313637633364356666323639316532636331626132643333373838383465663561
65363636613736663434626130313265646438326537363736336134346432366432656133623262
33623661323064333439303463623138383962356165356461373235616164333130663336383635
36363835643466306339336338323230313036616665363863376262626361323738643561353761
38353939653130306161666436373132623238366632353332353136623038616462376361626235
31356464303136373766323261336132323434396561363066313062333061633437623362633861
61306330323633323930336237643738613330366265386366306664343066326530613061306432
65626130336337643233666235613530373237383234633833363962636134366661623333636237
32373664376438313065623234626637303630356233356439656434306661663138323966303539
64363937643334303936353663306464626335616262613135363464306135623738303631376562
32386262663934653565316334353630356537363734396131323264353636663438636365396231
62336664353938326434646261626466333030333133643265633439313339383661323162336666
36616136303433396438363062646135616239663461343039646563653638363734333866326666
39633639336530333637626631626132333066633464376137393937353166343663373564393438
32326635326431396130653864666239343466636435303730306162336637333032643233633833
33323165386135386131336430666437663365626266646466616132373133613536623365333766
61363764303361393438373333616233393030373631323565373563343031326431396239393362
35623039626435643637353161633037396130616332623733353138613835626539616166613831
34306663303832646165336363393837626361316433316231646439343265323634383132303930
38316661333462373033363135363038616136373239333961313039363735303333616561666631
38386436326566616438306536316432343233613833663632396561313831326432323463626433
66653733623935333031646632393936343130316565376662353866346632393736326235323430
31636633633631313732346662356539626638343032383937346134326137623462316531376561
35386565623661393865623035386534336537623932336533393230323239626132613432373964
33656539393861626265646565383038396330323762353235666637383134353839666531623862
39646437393665373035306564636335306136356463316464303566353938303535343235646466
64306262356135373434643862636363396433663833333063383731613136663038313531353263
64376131396337393634383136623732666531373136373631643336663766376436633538643461
64633865346634616366616661323062653431303632313464316335386535363237356339616130
34666131383164616664326331356337336637353664353965356332626437323430313565653236
61323534633137376166383831366263366438623735376264356136353136343434613835373461
38613139373335653935643663363438653139303037646366303530386339323634373665623032
30656536373530383539376233316334333233353536633963323334313862353334613832363662
64663939356465333435356231633832653764303862646433333563666237326463663931383238
62303062663366363932666130373737643137303739383636616466316363396134376365346331
64353566383066393737346162313264653736626239376134373964613162323231313462313262
65376338333439363762323837373262633835643465313130316164643838656364313166616530
35363436346137333862376632646235643332636662333464366337653064643036386533363030
33393837323632646163383539343164653433623038306261356534623862636232333836363431
36353831353637383864643130653838663164646232626637353031386561636535666236356665
36376330333937646164303333643962383862336433313433626434636133343836313730346462
39643535323063326364656439316232383430663364383961643961633431326464306639383038
62356430373630373836326266376230373135326531336464663338303438323836376365636534
36663532343035303738346564383166326665396363633239623863353662316336653765323632
34336538663637643535636530666639353864643733376635626133666461613338343039623462
38356338373732396635663733333465363433663436623938633565623964653765346165393334
34373666623035353966323433663961333663303162623337306539653739663834356566353164
65343738663161353964386237306234643836323365626133393134666566363961653836623634
38356666396161633932363536663732376330343661343763623435663836303032396535616531
34313730626334316139613839336430346163643933386366306464313266316530363934303032
62353434346238386536306133366262643061623436636666643735643039613665316436616533
30666332633764313063383663663830633430646365383532656236363039643633353736346338
39323935333536643737396331623431633365343064373330386363313632663933386639376236
62316333303663343933303237353738333739643036666365623834646665623733623239643265
30373966336538616135666339303030626164316563326530383731333839383133366332346331
37306238623132313235666434633135383034653264666134633566373436396133313764306335
63346435393464623332386134303766363061333361643930363335636164353038626464303633
64356437623536376662363566623465306634313534333930333066346532323066323335313934
39663635646664616335393330383865313639393732613034303163363665316337356439656634
39373163306539346433313765623665353461363866643431633236643137353362613337643266
63376631316365326634386166666361343733623638613163666564653762663839356461633132
31666437663535633037393432316463326237356634353631306464663337626136383933386263
61373562323836343137356162363237366261376662613133623839393932366139636336396365
61636237386463633635663338303364666462326436396265366563626130316637623630306263
35386636613161636565356166666463336465643533386166663766306530623162616362376437
30613466313963323236353533616130656532643130616366333064636435323132386431633532
35393731623235396464336365326262373131366633333666363636616632653238616165343466
34333032633062366239636634336563303031653037613237353064656433663361306230313236
64306430633464306339636436306562376430646535663162383363666666366236653965613030
65613836326661323338303964393763346336303065346263386462343661363635373337356130
65323661336165613563663931343365663064613362633632333039663065633162343830356538
37376566326331633236633235623537653332313464623564616433323134646135333436656563
65393737623033316535643230386462333736353866306136313833303631353465363363653035
61376563653266393062616163333164303035386464643536343931663464313831333065306261
64393237396138363863323862393230393837363062393138663734383566616238323332333636
34616634383561326337363739346337623362313131353362323461343335636265303262653836
36383930303436353066356133636133646439346132636162303462346164663162666331643464
63393765393634366431306663643863613666313063326231346637623936616431633332343738
32663666616236346664636563346634323730653239643561343833623936323539303433623839
37333031316331336435353764643861343134323934626433336666613466353538323332383339
38353330313066626335356439663835626266623234356636613666383734356166656262373264
33343336303164366635363162386161663930343836343238376133353839643539333166663566
62316634633762303464363562303333633732326563646231313933363531343164333836616439
36353935353532383439366534306564643061613062356433633338386133366535663631313762
39373032396465393962373038623231313232343661353164393235326266613035613063343136
63356337323363383761323138396333373066336664616665636434656362376661613034383437
35336330663836363464643765643566663436326665313561656364353733356531363863623261
30303138396562633564353764366239656636396632313235326237316538323765663336386632
34326139313064643834393366316561653664313066383263623739373162643865643035373365
64366335396132396330303339316361393439636363343034373736663565323230653963336435
61306538613133313165376562616561663733313839366434376634343236313034306235383733
38346666376530386231353534393863386566633235323762363635363062323762316130303865
61313362623765613065303362663837376463393432663839373766326537356536666465386463
34663266363261623735386565383466313732346366666635663366613032363762386637346636
34386662626266656465393234306566373462633930323562336631306531663130656132353939
35613730393762313931383532646530633836313961326461336131656631663137656635343238
35383533323738316134656666393136633732323536363636646166393530373233613264373761
39303463663130386338353637373739373331613739353561303636316665323533616634666639
33303835336431376363336364646165626139353061633339616437326264646434626463383239
39376332613766383232336339366332616334356630626463373435623165303832393465376334
33343163356333663266386236356463356335333964333733386439623063656462613561323163
34623937383765643461623035343930363336323863356461313034623733303734396238363463
65383366366565323439316230383363366539666434656364633366333936376361326131313530
38363161666439643236313063626564393932646536626361396234396333643165346638323037
38633638646331333664633562353632316133303764316262653261303561366333663062623037
62356565363433646435643231343231333863303439393335336633316638383863343438353262
37616539306537613831373462323238363262623365366536653233366231343864643931653463
61396238663064376166643537646132646665663565323939373632353665356337363538326238
62323363346532613665653161366235303661363263363836313739326134373264396131633262
32343135633436353038313335346338663934386436316262623731313334346230356630336333
62353539383031393339623164333763306338346133383462653534346334346434633831353163
32386436653863666533323233363663643933396636386334343962313038363933303263346135
33613337653237323339313233346638393635366136373432353031653432376639663638353161
30626536386465323136643764663661373863353965623431393562393630333333643631303030
36383938666239336530643731653963383131623333393638366235383861306163303235353538
65646264646339663264376161346563663965353837333331333739376336623934623335343234
36633234326231393232356539383661353431363531653230386637386334613138373038326432
36356633663565383035373934363132303633646563646236363866626531663534313964373732
35623034623335396365653134316331346664633439643966363932356664666331306631373630
66653565666562323366363732626234363165313932326630666537373462303539396139396431
36653438613337356536643863376234386463363130636535396536363234616162663961326431
36613034383234326239353337376633616364323564326563353239363739363430383230353162
64343638623637303334396164343032363735643965393861363537663962316339303936396230
32613937303931383665313464643862653561646539363039643038653838323434386337306235
31636166623933616163363366386263663461316136393932313962343836393565623031366362
34643237353264343665363566393534656436636138303835656534303763346661663338626664
37656462393438653830343964646537363038376531636330653264306363303061653231356566
36323864626233656431303737376131383634353337323633323132646338303766323933373930
64613835643932336430626261323862636536356265313862383361336365373464313036396238
62386664336362303565373736373735363061323963333664386366353139303562656465306632
63376363343664346531653035656538356466626163366130666363666132663961353461363066
31303335663839663365326539316362663935303237333234353431363063333163613461306539
64313364363634643434643630613338353564656639626232343063623933323835623534613864
31316162663137386534643036353238636231303336613334613663386462623365366439326232
31623163396531336337663839376335376231326466633230376630343936663732356663376465
39363965303331383265323263613964376361643465316430363565383235333430373566393635
34343464323664373136656463663461663834656263303639313262626530383534346364306231
31326565353535653637626166616365393230626539366562666538306235343561343439616661
31356366666265353666343964303433303237636265666365393361353762303231366165626535
32363230383231356264646363613030363538303161313534313932383865313166393132393235
38333332653537663630303639653533343737346531393864613836666438656632303937313433
39653136316366353133333537376361633961653735363064666665623135613565363564646263
62643932336465363537363130626262333363303365336464656139643034363031356632613565
61343138323734313537386466313463393836376363383562646537383237666635353936383637
36393237333334633762376534623233376338623339613736613032333435303930626261343830
66663531666566316637386637353136613632623563633664613739336134313432646534303530
39366139326633383033353065306464316636646535383535663663366331633036393661326361
32656330323365623739373765643835333830393033363836666439333337356465383364303431
61336562613634663033643963376635393063623435663162643838663762303533353665646361
62386662376163333637343934613763303363616135306230356135613561646630316330353438
61633234316534353030616138343165633565643366613763653039636466343866376433646132
63343930333933336338393361623866613765393164623838306637323863366263653133326634
38653334653430643862383136373432643463343232613161306638336237376236633435653833
64316363643838333965323163303236346238383964643132643836633161396565323437313636
34623763353237313863646439343662326634613466653462323163666333633031626131383262
64336662396134633334376362333165666430646561333730336635356433323234303862343130
31393933326539336666386364643532363930336636626132396136623066386132656165343530
39656430373039343634623064623930643037666565346164343632323839383038616630303332
38383162646564643037386530386366306532303032643939373563306165363934633532656137
66626635626130336563353737366531613862656231643265346630343633343632333233616162
39623262646432313865333531383461346664383330393631636431333064306635316431633239
66393035313763633635643438376235323537633734353961373635376139633234316334363563
30386263376664646361333435363935363033636665393737333262636464313733656339316539
65313830396233376464613631333664633635393235626232373133363466323230626363396238
30353164663663643835653434386136613566363635393039653637623465616136353932663164
66663763326665636138323366373931376137323334653363303038616363613763313261613836
33323935616366366462636135366439613539643238393962623864386433373862326566633035
38393332663131306337386632636464633938303561336537623363346465613033363861646361
32653839326631323561363430343038666366613330313363363735353465333563663038376631
62666635326438323564
35353866373931343963333639323431636465303562306166333735383462353032323461613232
3666653438393936356535633661363838613233323932370a656439316234356339613532663237
39373439366432363533303961396466623366323339383735316531653538633264393264353337
3937323861616530640a666361323164353338306336616564663466616630393839613833373933
65613161323164613334656631333336343262363835323962343662333133366561306139636261
61656532666563333063356231636565626631633436623531313938663930396362343031356534
34303565623832366664303561643137626433333164623730623639656439346639616164623865
31613462316439613937313138313830323334373337366630323331393537633437303063353363
66383930353930616137303436383864363439326139643361356231373939306439633332666232
38363061636139346430373263613932336361356262656138663233386464373839366630303765
35343064336533373238396430393536366438653534366565373733313962616364313061626133
37666538313038643865346461626537353930366264643162376530353536623863656236303433
31336561336131383635393238366464653934613130363831306335643935373033303162353534
38353832653664633061646331653634393963333038306635313464636136616366313962333431
39363934643266646131653236303138636163326663373765373761663062656463643162373038
34656163633964626235366539663132396666623363303632363236303831613532393931373761
65613435353162346233323533383537316231363437653239343233636533333966613066343932
30626636306531333736613965396432373130356238313136336434356133353435643065626261
32633732613361376261363831363866333332393132643439626639383438663438366330386534
31303532323461303862346364386532663839323163653366356136666131363839663635343166
38353962326430383561333630623030623536353838633231393763393238316530363939343536
66323562336334376234613436373237303562363831323038366232393161356262653864663037
34363436356332633363363963613635346337613438326436333836386534353738646166643333
65356637366431326132363432663662346638383439383766646531363662356266313961356239
31323236393538363662643662643535623633663738343266636163363835383030646661363966
36366466386666613364313166353366333131343061353135306135656663323461303338346666
32626231613738316233636361633337343635656334336536663865633465326639373966303137
39383731303862353637386438306136303765333136653465663963663930383037343130316466
33343932383033643530323136316632386230366338373362366462666233336530393561353933
36356330386361303562666339306265663539616434336264373832636139313365633065343763
31323633346536366635646562356266373964616338366165376331306561663938396661396164
31363438326439343964666439356339326661666136303461343436303533363630353735633038
38383365363739333034373031326530353962646661343039616230396132323833626162643964
65363165333233643738373638353537343162366265316661353563353862623134663362633261
32343364333236363738333130316538666536306664363661616536336264363438396464666533
37616533363936356335663562366563303564623530303762363034343435326666356162316535
61363133326263653937373037643930343565336166643939663466316232313535333965303737
35313566353963616632313763366561633039626239353236323438383261663066323334333632
62393265396235636461653862383830613634393431396131323439613362366463633239383761
39343361663463633332666666346339363334366330393936373433353034653765323130383335
63336338653333356438323264356162316638336338343033326639303237656663633233383735
34646535633831636238316564373035353635383738356133326664626566623766366535333439
30326437613539373163323464323635316632633930353931303466376661396135623031623133
33653735336230666665616638353561623235343439666135386165313436306666643837616166
37613964663837373137383736393063333037366433643632333963623038623636653639343936
32383532613430623563623565633665663030616530643735653563303035616530313463643431
31663361383835613631336638343338373639613532313561313231353765316237653431663462
65366162326630656566663731316262336536303032386336666263326265316564336339316430
31643066633438663562343730393534663338613165633635356333323635653161346136336261
30313332383065633335396131656136613932346331343632386235643764363235376531376437
61303130316537633830366662366237303934306561333134366463646464386530623631346264
30356536613932613264643835356637356364653038383130366237656232333031313163643332
34393865323162613936613264313864613734373032386266653432616535636464363463633564
37343661623935353365333831623631386439343237383933313337393065653934303065313634
61396163323937643837643636343337343231616265643765313932346462373735323737326663
66316135646663376537613663373432393865623038363239356265303362326161366462356138
65336536626634366363623865656234363335343662333134613835393635623434393036316638
35366431653463626665663861303333363038666131643861646465663761623364333162343761
64396131643136323634643461656339616361323030626166303930623838343438393465653364
66633037616633316534386639306438363863363530376131363332353536656533393161313931
34386636643737353738323265363435636239353261373466383430346461383932323634346466
33666436343130643032626562613165396334323937353663376162643266646539353932313137
62336162646535346631623332376334336538326530356233646239306337633365373562653166
32383639353431666137396631663237313436393434626531316365666335306466363639626663
63643861656537306133343138633535323737346538643063363330383366313362653933383365
34313230663163303730326361303337373136346161353132626362623461343661663964333765
37353165333762346539333730333731366532623531343962333037336464666530396437353666
62313035323234643236343534663434356264643830636433323831313364663762646130306362
32316530643230313230376662383439343639343336633431623135626134353134383030396264
38623933356332336231343434663563653332633237653966663964646232623637313231366638
30363966373362363432376562656436356338356561303133643432303736376234643632663137
34336630356362303132343737376637303939623133363663306133383465613263356632383030
61346138316538353638343833366261366534353963326162303866393430333964653333346539
64386161663435646331613834363336373738396338653263323937623163663236366636343239
36383135343763636139393331663139323431376562353165353662396165653235633464363035
31393233636561366639373566623738636537363235666234633534376238323163363238393237
64316132666530336135353434623866363739643830646463656536336136646334393064303630
65343964613265333934306432313739633134663131666433386630303132663866343532363835
38353237343630653561636365656561313636623065363836333663363934643162656534623864
62373763353961646235613465646630306562386531396364386164633065643763396437316466
32376564616562656136346563383266303963666136663863626137653462373430363363336364
35333133303463363663356365626365613036633835323334653264626637353634373665643036
65663736323235353964326466376163313630323265333631323866663137313665626238396130
64653832626639626633376231326534303530373937396235366239626639356234363238633336
34343064393334613732356332633361613633643039366537623465303739663635626365656631
64343936613536636438313232376564376539623261623539346564303036303131366561643564
61623630393032666636366338336266656264353631393061383162323766616530323734326134
31623962373435323730323830373239363738663164653338623836386636626337623739366566
61663835623038626266653062666264663639363763623139393862633061356164323530666665
31623538333264633735643839376433653934383663333130336133653235313631336163343134
33653533613430323834653730326661323462316338636338393063653866316335626633323137
32653262353964653131343430383661643231383135643332616462343231323266333430373061
62623136393239356166393964323830623239613434636361633365353862646130373865643136
66346336363866393762353633353638663433363332356131626639326166393234313765346138
64613431333139376139343234666664313236633031393938663431376336643133323964303938
64616536613462306363613639613132383361393535333362363630393230636532316634373231
63313839323263663237373937323361373533616465643830396666376661616631646561663130
66376266363338666133313263653733646365653034653538333332623861323833633033393234
39633834343231663166376333633635366261616561643363393137383736303436383339633734
30623939343939373038656461333464353033313632643138393334373565383331326430653263
66343630396135633636366337353061363730333364376664623234333434356661323935626633
63336465343661393636333663306361386432373235313337353361333735373436633832633439
30653766373230383364396638366237643932633364663639643661393438653339393031616338
62396632353063376566333261356662356265373733323631363263396337383631383733393034
65616434356530306661636633363333353138303631626565636637313738353338343334633533
39313232356166623939383864346665626333363132663033326430366565336339306465343337
34613736356534653534363034366431653861613534663261633739366361373134323566376335
31313263313262353162353039623634653534346363323131633362323035633337366536366561
64323432353236383839643662383138373938373834323262386364376162663839366232313433
38643662613065663863636664636162333830353131636238383439323439316363383935623731
62393964636137653935313338343465396633333461643032383730313139396462393936383630
63353166633735623364653264643934666438383739663461373332623631323932333162303630
39353637353437636537613935306539633163613334303833393832616338323061633532303361
63656635333331376561363962386135303963303030396564356534333037623635613963313666
65303664316164613835343930623338326235363933623533343961666664323836316231613465
65373931666331326634316463663134613031363636363434643839386239333164333538393831
65653935623431373238326231343439666635623730393639636131386162373466316164356263
37316539656230316336303265646339303139306262396536633533366261346238393335393765
39376630306639353862323834343830646330643737653631633361326134613666613430323433
64363965653063316432353431386533386661386239636332323139393933653063643865646338
34626433393731343535313766303237313866613166663333616535323661666362613439376166
62626430363661303630346265383863613162356535306165633537383038613131346561306330
61623435626363623762313832313031363665623933656238623131303362326137313266316630
32366664633963626463613562643666383637383831343234666435373564306635343730373665
36643436633066373962303965373663376266323133343233323563393065633162383237323162
38656336306432623330616234373936306163646330313734653864386464646535666331616335
32623163356337326665333731656438393633326638363635353733663861323934333536393338
33656231373166313761643030363437373638366461653038363565623633623035393564643161
38663064356239393034323761386435396437386534633734353938653239323533333531363965
36316636353864626461303936313632663261353437396238363930626239336139323561373133
61366330386135363039303166326231656331653632343261306531653731313465396131643330
35616432613631636264333263363239616435303436653936386165343335356337343032386239
37373230623366653834663031343738643063616661363138316262643635343439333838363632
34353236393730363262303439313132663735336463323432303036366361666338363237313664
39366434303839356163616136336237643061373633343737333036653362643635643536386436
30336636333464626464326332343333656535666431353338336438346335346433313934346231
32326231636262346232636366393361623830316238303537666164626339383061633765333039
30633539666535366539383061396461313437383537656239393131326538636536356536643735
66653336343364346635383761613731666263366465643336636661323263386364653035333062
33616364393664613363383937653530356138316363633335386232336531373835303732383962
65643264656134393663653333346531316365323730383363373564323133333032373330643232
63373239366435643738353130353333646136303530643065383066313035366239326664363830
36626366646264643130326261363536313835356638636139636434333362366363313133316130
61383734636433313433303466323265386132363862643131613666306162396437643166393630
32613464313530316262353938383735336262663939323730626662663235303638303065663939
33636234383033393237303865633961333462663232363562386637333335373565663261363933
31356436613138653765663162646566326134313736316130356336663536643466623331653039
38616465306532666434333534356464666663613263383430336465376133393032623762323237
63343462373834383566393466366332303235323865343730373062343739363265343164623262
38346539343533636435626133306662623865653934666665363063356162326461316561383261
33666362656635323262353066356330616263326134613635336261343438393838326438613435
64343336393034303330323563346233653135633439386465653065633339643032636662313531
38356234326632336161666666353030366238626262353831393532306166363432633939383166
66316136333838653433383439623366333062313833616366656566393965393665613738303833
38326139366330393863623365383963306361613665643962376664636134353533623836643362
39626166353138646666633136363662393565336333393638626534636330313632326333353366
39353133666532306531343137353834353133633165613566323135313362333962303637663965
63383730663562646563333763356135613537666332393537663062653662623938353434323136
39663965616437653232623333363762616233316530303833376332396165616635336532653035
36306331643232336664363733376632323630616139353030343930343166623433616234616539
34393131303363626166383037336262323662393431356463616665343463363432356132313531
37653331336165626435343162663662386662613164336439636465363335386233383065393535
31396466636465336164383563326236356463393831363534656536616664613361346463613837
35366562623432353166303836353261313233663864626665663837336233653237373031393636
64343763386361626232633032316466373161666536313363633765653365656538343130326566
38396534323433343634333139333063633531343631316163346135643037323034633835363963
32343963653263663438666537653963376133633661393562623131636465386266616166366566
36343963623262656162303337366365616263376363366161373236323166353834616262393061
39393239303335623332346236356335393836636533386432653164656334613738393533623764
36363136353034633934323066323335626138353763333537353761303930623930353062373932
30656339663333373431633763366433366266316563393332613334633966633339633230303166
61346264386134623962316532343664386637303738333835343036633038323137323961323837
33376431316465373165663338623538636136343538666235333334373664323463326336336334
32303361393134653338646563643636356361366133633634393731343332313437643731366634
30386466333965356135303732663433316363376438623764653464343564353835626435333230
30646238393266643137373037326136306337306130343739633933626134643364326534386464
65303531623335663766623037663630376366333631363165633762616564396538643866313465
35343265663336303537663962643536653937373839313435383337353036313239653263323061
63653865656461363334646466396135663338383065646464656631636666643030376363633333
30333331636438656238326534656165396233633131306562336263653330396366343964313434
66653862386531306236336339353935653335616638643831393430613533643533626135313835
64313065373564323132663531626436623465663766663566643964353361303336386464386463
38373036613536386436373535323664333231663437643962373339653236393339653064363530
61393835343230356234376630613230326637636534336564383139366663663136306665363363
66373237373530303062333935633634313766316461666439666433616236346434623535343531
30383264303536653236363533383561613636303662663935303761353065336631353735376365
63343162646663623736336638306465666233343031656137393037623035613236373930633131
36366633656131633563336561323835343766356131343038643761663966656364376430366636
36316633633736353436666539303039383231333437653666313435616536626434653833376532
66376130653339643564646139633238643266316633363137313038363061386163613863313733
66633665613537303834393233376463343965343664343564343832376238383064373262336162
61313163303632373261383563363964353731363739306337333161333130656235363631343761
61353265633338336466623830396466646233333039323065333636303035363563373366396334
37366637306430396262376539653134396536643931643563386666623364346635363138373937
61613232386666343033383031363439373335396362643130656235653066376537373062333363
39373737316136303835616639363162363839376635666237353064323433373961326338393263
34343162336336623530653531663136366136353139343561623532633139366533386263316364
36306134356666343230643639303766343466353562643130363063343330393232663161306266
66336435356265396330366566373137323265623431386535396665313335666332616233383664
63656663363366613431366632306230633265306663336439306263646132626631363663643861
30373330653637623733653165336132643965623232383839623535326336643239333133313030
32326634643238333163383562393134623532363561393364616430366532633862396438306433
33653235303639383333633035656533633165653137326130643961393965346266383861616333
37306266393231336666343333643530353230383239343931303838623335303262313130616162
65383962613965646438323065303962663965333231323139303438343631396363666330653330
61323839333863343034356363366433313039383963303063346237366261363861643839396362
31346637303032356463303564303562313639643563396261326538353834363737323235646430
64343230336539663237306235623662333062396238383135616231383837366339376633663938
65313739333065383335323437396232323564363733333437363133613766653334396431333036
38333038656339363132346362333863643261376335666536306231316630303437306231646565
61666334623736373832613366376438323664653531393938353234303030633532653561313665
63613064663564646235373234326661303562646139323330343330343139633462646131353038
62663535393738626432633564663564653663393937656634666137646363643365353930373266
66373162373165653533383862363835346133313234326162393331666566316439633133316633
66393733373333653630363334353833363565336338613361396335326166643630623133303466
31663037663766356531663039386232316138393266333035613364316539353837653763616666
32376431383965633138666536386532663761343537646266643566373132343762383966326233
38373766353962323362366330383564636236363961333535313064313039343933346439396237
66616631633539623537633164363665393239643633663338393765336434653930356662656164
65366533633336313832633166376265376634613635363563643866323730343139306537323863
61373461363237653634666331366436356335306265643639373034666131626238336632346632
34613062346532656530626364343938636162383862653538353563363035346339623839663261
39663438396362383866663336643035653833336466663037313764326434373061626232646333
63336336383366333538613331303863356430373764363930363061383036343836386561663362
63663232373563343461306131333263376437623534346562626536376138393939373064333231
31303464656332383036616661656565313063346231623634356638326239343536316162613335
34663232326438333966313663336465373833646634353934323361343833373661633265313239
62656533656338376562323861396665353166623732623139353431336439386263363235316132
35373933613236616362396363323031633166633837383634313638656430373634383563616463
38353738636631626639636135363561623935646365316161376166653461356430326362623738
64386537373230303239356334313663616336393439623431616639643233353662306265373232
39343066353564316433653361333766363535636533626338386434646531653432313034393134
62653733313636653331356363396531313136346136303661656466333138363366616530306536
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

@ -70,3 +70,6 @@ loc_reverseproxy:
- from: grafana.auro.re
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
...

122
host_vars/sw-ff-1.yml Normal file
View file

@ -0,0 +1,122 @@
---
switch_vars:
name: sw-ff-1
location: Fleming
host: 10.130.1.161
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-25' | range2list }}"
- id: 12
name: "Banni_fleming"
tagged: "{{ '15-25' | range2list }}"
- id: 13
name: "Accueil_fleming"
tagged: "{{ '15-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-24' | range2list }}"
ports:
- id: 1
name: "Room_Fleming_Village_3_Bat_32F_407"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 2
name: "Room_Fleming_Village_3_Bat_32F_408"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 3
name: "Room_Fleming_Village_3_Bat_32F_409"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 4
name: "Room_Fleming_Village_3_Bat_32F_410"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 5
name: "Room_Fleming_Village_3_Bat_32F_411"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 6
name: "Room_Fleming_Village_3_Bat_32F_412"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 7
name: "Room_Fleming_Village_3_Bat_32F_413"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 8
name: "Room_Fleming_Village_3_Bat_32F_414"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 9
name: "Room_Fleming_Village_3_Bat_32F_Salle_Etude_1"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 10
name: "Room_Fleming_Village_3_Bat_32F_Salle_Etude_2"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 11
name: "Room_Fleming_Village_3_Bat_32F_Salle_Etude_3"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 12
name: "Room_Fleming_Village_3_Bat_32F_Salle_Etude_4"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 15
name: "Machine: ff-0-1.borne.auro.re"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 16
name: "Machine: ff-1-1.borne.auro.re"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 17
name: "Machine: ff-2-1.borne.auro.re"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 18
name: "Machine: ff-3-1.borne.auro.re"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 19
name: "Machine: ff-4-1.borne.auro.re"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 20
name: "Machine: ff-0-f.borne.auro.re"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 21
name: "Machine: ff-1-2.borne.auro.re"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 22
name: "Machine: ff-2-2.borne.auro.re"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 23
name: "Machine: ff-3-2.borne.auro.re"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 24
name: "Machine: ff-4-2.borne.auro.re"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
...

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

@ -0,0 +1,225 @@
---
switch_vars:
name: sw-ff-2
location: Fleming
host: 10.130.1.162
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_32F_101"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 2
name: "Room_Fleming_Village_1_Bat_32F_102"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 3
name: "Room_Fleming_Village_1_Bat_32F_103"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 4
name: "Room_Fleming_Village_1_Bat_32F_104"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 5
name: "Room_Fleming_Village_1_Bat_32F_105"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 6
name: "Room_Fleming_Village_1_Bat_32F_106"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 7
name: "Room_Fleming_Village_1_Bat_32F_107"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 8
name: "Room_Fleming_Village_1_Bat_32F_108"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 9
name: "Room_Fleming_Village_1_Bat_32F_109"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 10
name: "Room_Fleming_Village_1_Bat_32F_110"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 11
name: "Room_Fleming_Village_1_Bat_32F_111"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 12
name: "Room_Fleming_Village_1_Bat_32F_112"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 13
name: "Room_Fleming_Village_1_Bat_32F_113"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 14
name: "Room_Fleming_Village_1_Bat_32F_114"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 15
name: "Room_Fleming_Village_1_Bat_32F_201"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 16
name: "Room_Fleming_Village_1_Bat_32F_202"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 17
name: "Room_Fleming_Village_1_Bat_32F_203"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 18
name: "Room_Fleming_Village_1_Bat_32F_204"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 19
name: "Room_Fleming_Village_1_Bat_32F_205"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 20
name: "Room_Fleming_Village_1_Bat_32F_206"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 21
name: "Room_Fleming_Village_1_Bat_32F_207"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 22
name: "Room_Fleming_Village_1_Bat_32F_208"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 23
name: "Room_Fleming_Village_1_Bat_32F_209"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 24
name: "Room_Fleming_Village_1_Bat_32F_210"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 25
name: "Room_Fleming_Village_1_Bat_32F_211"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 26
name: "Room_Fleming_Village_1_Bat_32F_212"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 27
name: "Room_Fleming_Village_1_Bat_32F_213"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 28
name: "Room_Fleming_Village_1_Bat_32F_214"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 29
name: "Room_Fleming_Village_1_Bat_32F_301"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 30
name: "Room_Fleming_Village_1_Bat_32F_302"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 31
name: "Room_Fleming_Village_1_Bat_32F_303"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 32
name: "Room_Fleming_Village_1_Bat_32F_304"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 33
name: "Room_Fleming_Village_1_Bat_32F_305"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 34
name: "Room_Fleming_Village_1_Bat_32F_306"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 35
name: "Room_Fleming_Village_1_Bat_32F_307"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 36
name: "Room_Fleming_Village_1_Bat_32F_308"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 37
name: "Room_Fleming_Village_1_Bat_32F_309"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 38
name: "Room_Fleming_Village_1_Bat_32F_310"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 39
name: "Room_Fleming_Village_1_Bat_32F_311"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 40
name: "Room_Fleming_Village_1_Bat_32F_312"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 41
name: "Room_Fleming_Village_1_Bat_32F_313"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 42
name: "Room_Fleming_Village_1_Bat_32F_314"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 43
name: "Room_Fleming_Village_1_Bat_32F_401"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 44
name: "Room_Fleming_Village_1_Bat_32F_402"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 45
name: "Room_Fleming_Village_1_Bat_32F_403"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 46
name: "Room_Fleming_Village_1_Bat_32F_404"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 47
name: "Room_Fleming_Village_1_Bat_32F_405"
lldp: "LPAS_TX_AND_RX"
loop_protect: true
- id: 48
name: "Room_Fleming_Village_1_Bat_32F_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