Compare commits

...

293 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
5a43708a87
playbooks: add infra-{1,2}.rtr 2022-12-22 15:17:00 +01:00
9cd983aa4c
playbooks: add edge-{1,2}.rtr.infra.auro.re 2022-12-22 14:40:53 +01:00
0a0fc8e52c
bird: typos 2022-12-22 13:12:24 +01:00
2db69a8f1c
bird: return -> accept/reject 2022-12-22 12:35:32 +01:00
ac9947c50f
bird: function -> filter 2022-12-22 12:12:01 +01:00
6773c5e90d
bird: cleanup + bogons filtering 2022-12-22 12:02:56 +01:00
cc82841560
bird: typos 2022-12-22 11:00:37 +01:00
b9fb9f377f
bird: remove unused OSPF protocol instances 2022-12-22 10:50:51 +01:00
f43775fc02
bird: don't export static routes to kernel 2022-12-22 10:48:52 +01:00
412a63dc6c
playbooks: add edge-{1,2} 2022-12-21 21:02:12 +01:00
a670cbaba4
bird: typos 2022-12-21 21:01:47 +01:00
ea78f609b5
bird: indent with spaces 2022-12-21 19:53:40 +01:00
aac9151280
bird: restart prometheus-bird-exporter
reload is not supported by the service
2022-12-21 19:49:46 +01:00
1c47ccc4a8
bird: install prometheus-bird-exporter 2022-12-21 19:48:22 +01:00
64dcb4b282
bird: add suffix filter 2022-12-21 18:50:05 +01:00
99ba67f074
bird: add IPv6 support 2022-12-21 18:43:00 +01:00
618cad720a
bird: add OSPF stubnet support 2022-12-21 16:51:43 +01:00
8863eed924
bird: add minimal BGP support 2022-12-21 16:39:28 +01:00
0254b82356
Add edge-{1,2} 2022-10-07 21:34:58 +02:00
d0175e961e
knotd: add services-{1..3}.pve.infra (+ CNAME pve) 2022-09-28 14:11:56 +02:00
e13e450a1f
Disable some unused modules 2022-09-23 12:47:07 +02:00
a15a05ce69
resolvconf: add defaults 2022-09-04 07:42:57 +02:00
45ca2a3236
keepalived: change global VIP + interface for VRRP adv. 2022-09-04 07:41:17 +02:00
b0e12b19f8
bird: prevent duplicate rules 2022-09-04 07:40:51 +02:00
61cdb980ea
keepalived: add minimal support for virtual_routes 2022-09-03 14:09:37 +02:00
c7d7320367
ifupdown2: configure isp-{1,2}.rtr interfaces 2022-09-03 04:06:48 +02:00
866f175ed2
bird: add role + playbook, with support for OSPF + RAdv 2022-09-03 04:06:39 +02:00
c4e9ecacd7
freeradius: disable chase_referal + rebind 2022-09-01 22:28:11 +02:00
2d6ee91f93
freeradius: support for EAP-TTLS/PAP and EAP-PEAP/GTC 2022-09-01 17:35:22 +02:00
e99f183743
knotd: replace A/AAAA to CNAME for pz28.adh
Temporary fix until a dynamic DNS service is available.
2022-09-01 13:45:40 +02:00
231c3aac09
freeradius: remove trailing whitespace 2022-09-01 08:19:15 +02:00
3f29960a04
freeradius: explicitly disable OCSP 2022-09-01 08:18:39 +02:00
67994d988b
freeradius: disable detail + detail.log modules 2022-09-01 03:42:33 +02:00
ea843e2f47
freeradius: minimal config for attr_filter 2022-09-01 03:42:24 +02:00
c6afab5728
freeradius: add eap_inner module 2022-09-01 02:21:12 +02:00
553b371797
ifupdown2: configure radius-1.isp 2022-08-31 10:16:06 +02:00
a816fb1f01
freeradius: add support for sites 2022-08-31 05:04:19 +02:00
4bd54fe371
freeradius: remove more unused files 2022-08-31 04:54:20 +02:00
8f27164c17
freeradius: include clients.conf 2022-08-31 04:54:00 +02:00
8937e4f8e8
freeradius: fix clients.conf (ipv4addr + ipv6addr) 2022-08-31 04:53:37 +02:00
3d6e0f21b6
freeradius: configure eap module + remove more modules 2022-08-31 03:44:20 +02:00
953403d0b3
freeradius: create minimal role + playbook 2022-08-31 02:01:41 +02:00
5a7c8b280d
Merge branch 'master' into dns 2022-08-30 13:54:54 +02:00
8f452c76aa
Add radius-1.isp 2022-08-30 13:48:17 +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
138ffd6097
knotd: add isp-2.rtr 2022-08-27 05:33:54 +02:00
526eaf84d2
knotd: add isp-1.rtr 2022-08-27 05:17:43 +02:00
ec01fbde95
hosts: add ns-1.auro.re 2022-08-27 05:15:16 +02:00
35087971c3
kresd: increase amount of cache 2022-08-26 10:00:04 +02:00
2ff44c58b7
add requirements.txt 2022-08-26 02:23:01 +02:00
9fc0aa1fe8
kresd: create role + playbook 2022-08-26 02:01:12 +02:00
cdc68cedd5
knotd: add dns-1.int 2022-08-26 01:51:33 +02:00
50b0e023dc
Add ntp-1.int 2022-08-25 20:52:48 +02:00
3216307404
Add pz28.adh.auro.re 2022-08-25 20:44:06 +02:00
1938cc24da
isc_dhcp_server: remove old role 2022-08-20 19:34:54 +02:00
874f75d47d
dns_zone: add requirements.txt 2022-08-20 19:09:35 +02:00
4d82018f62
knotd + hosts: add ldap-1 2022-08-20 19:08:33 +02:00
69c3949ef8
dhcpd: add support for failover 2022-08-20 16:53:10 +02:00
6bb2bbb54f
dhcpd: create role with support for DHCPv4 only 2022-08-20 16:08:25 +02:00
d5ab886dd4
dns_zone: add support for diff and check modes 2022-08-20 04:34:47 +02:00
426296d8bd
knotd: fix typo 2022-08-20 04:34:28 +02:00
2389367582
playbooks: add isp.auro.re 2022-08-20 00:06:01 +02:00
c1833e77b3
playbooks: various fixes for knotd.yml 2022-08-19 21:50:43 +02:00
4446c2c47e
dns_zone: do not relativize zone file 2022-08-19 21:50:15 +02:00
8d92035a81
playbooks: add adh.auro.re 2022-08-19 15:54:03 +02:00
6f32c9bc2c
knotd: do not try to load zone file of slave zones 2022-08-19 15:52:06 +02:00
5542e63d14
add filter_plugins path in ansible.cfg 2022-08-19 05:06:59 +02:00
b34c232904
playbooks: WIP: add knotd playbook 2022-08-19 05:03:19 +02:00
5740b64b1e
hosts: add ns-{1,2,master} to inventory 2022-08-19 05:03:19 +02:00
bb2590358d
vault: add TSIG keys 2022-08-19 05:03:18 +02:00
c775a48ca8
net_utils: add miscellaneous Jinja2 filters 2022-08-19 05:03:07 +02:00
126d0f49df
dns_zone + knotd: add 'reverse_hosts' option 2022-08-19 04:44:49 +02:00
4a29c317a5
knotd: hide version in chaos txt 2022-08-18 21:24:12 +02:00
e36e31d18b
remove playbooks/knot.yml 2022-08-18 21:23:48 +02:00
b1f26f2cd7
knotd: fix knotd__queryacl type 2022-08-18 19:50:35 +02:00
9f8dcecf63
dns_zone: ensure zone files are sorted 2022-08-18 16:35:16 +02:00
b9dd74af40
dns_zone + knot: rename some fields + add record types 2022-08-18 16:32:56 +02:00
86277d05c2
knotd: add knotd__soa_rname variable 2022-08-18 03:59:43 +02:00
642b3eb801
knotd: use human times for SOA fields 2022-08-18 03:47:59 +02:00
2744b3b512
dns_zone: make rname relative to zone origin 2022-08-18 03:47:23 +02:00
f321b12d2f
knotd: add queryacl support 2022-08-18 01:35:35 +02:00
43693c2fc8
dns_zone: bug: replace generator with set 2022-08-18 01:33:52 +02:00
961a2f1105
Add knotd role 2022-08-17 19:00:07 +02:00
11939a6032
Add library path in ansible.cfg 2022-08-17 18:59:40 +02:00
4dbe0e562d
dns_zone: cleanup + hosts + product 2022-08-17 18:23:47 +02:00
c97dca8fa8
Add library/dns_zone.py 2022-08-16 20:13:25 +02:00
367 changed files with 96910 additions and 4236 deletions

1
.gitignore vendored
View file

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

213
README.md
View file

@ -1,10 +1,8 @@
[![Linter Status](https://drone.auro.re/api/badges/Aurore/ansible/status.svg)](https://drone.auro.re/Aurore/ansible)
# Recettes Ansible d'Aurore
Dépendances requises :
* Ansible 2.9 ou plus récent.
* Ansible 2.9 ou plus récent.
## Ansible 101
@ -15,8 +13,9 @@ Il contient la définition de chaque machine et le regroupement.
Quand on regroupe avec un `:children` en réalité on groupe des groupes.
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
* pour tester si c'est un CPU Intel x86_64,
[fleming_pve]
pve1.adm.auro.re
```YAML
ansible_processor[0].find('Intel') != -1
and ansible_architecture == 'x86_64'
```
[fleming:children]
fleming_pve
fleming_vm
```
> NB :
>
> L'exemple a été adapté de la configuration d'Aurore pour des raisons
> pédagogiques.
Pour les fonctions (`proxy-server`, `dhcp-dynamique`…) il a été choisi
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,10 +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
@ -15,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

@ -7,11 +7,39 @@ import dns.name
class FilterModule:
def filters(self):
return {
"add_origin": add_origin,
"add_origin_keys": add_origin_keys,
"ip_filter": ip_filter,
"remove_domain_suffix": remove_domain_suffix,
"ipaddr_sort": ipaddr_sort,
}
def first_addr(addresses, ipv4 = True):
version = ipaddress.IPv4Address if ipv4 else ipaddress.IPv6Address
for addr in addresses:
parsed = ipaddress.ip_address(xx)
if isinstance(parsed, version):
return parsed
raise ValueError("missing address")
def ip_filter(addresses, networks):
if isinstance(addresses, dict):
return {k: ip_filter(v, networks) for k, v in addresses.items()}
ip_networks = [ipaddress.ip_network(n) for n in networks]
ip_addresses = [ipaddress.ip_address(a) for a in addresses]
return [str(a) for a in ip_addresses if any(a in n for n in ip_networks)]
def add_origin(name, origin="."):
return dns.name.from_text(name, dns.name.from_text(origin)).to_text()
def add_origin_keys(dct, origin="."):
return {add_origin(k, origin): v for k, v in dct.items()}
def remove_domain_suffix(name):
parent = dns.name.from_text(name).parent()
return parent.to_text()

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,246 +1,297 @@
$ANSIBLE_VAULT;1.1;AES256
64313161633263303464663933363265373935633862653634643862343232643432343966376438
6134633764383937373966346538306530316539303966320a363035303038616435383366656532
39346463396563626166333362306464343836386365303836356461323663633831636562393039
3832636432626238350a666566323435623834396166656233306639333830343130326265616234
61666365663963643437386530363261306438376665386463376366363662656161316263303831
61393136363934316462616131326463333736656136643038623061313363386538393833663637
36373565333566306632313865646538633532393731313430633462666334323762653337383338
63313433333835653366363061343839326131666139346563306366656365316663333438363837
33323165353936343165646464306434303161313139653561346461653537616164623434376534
33666662343734633766356230383761353239333632613031396365346536373432363433633564
61633762393033343336373864653438336436613630366539333731383336346665313732396265
32356138666135383562656366353131366436363464643630656130303437623131333239386363
66373866393064306565306565386230373638633733326661333065633136633130323963323765
30353262323835313365383562326363343965636634376133613331363133313030346561653931
39363636636235646131353034663861336362383263613165323230366439383561653165363764
65366130623362623539393461363832353435616266393036386439303834316635366438393936
33383933366262636232383066663130383965306137356363363539633661373664613738336539
31363131616135623039346465623530376533386263343836376662316562386530336266303062
64386531303938623939653635313163633261336339366139666135323130653862346132646636
30363065303235346331333434653331646333616337623562643564366435613938643235333664
30626164373030303237656366623631396138333265383566333664663061613536666363623630
61623362383439636239336234333161366635306432363230366630383836326330343932303863
39393232373831363863333332636362396639663831656266336430313837666463336439353332
63303036633433323439613535326663633332346565646338353761363733643766363132666365
34303865656262303563323665363730663062626537363461646363636461633762663237366366
64393133656464643065633634313261336662646435313735306266316132636530393631353830
61303939373363323131316463333136326365333430626266376636356130396239323464353937
64616232373532396334343433636332353530386662633164353235626361623164313039336666
31636434666437393839393133633961373139313663616366373239386163623064373836376164
62316638366366376134386231306435616138656461373633393339653532363434393834393430
37363335623934306661333135343266663464623438353665613330356236323036363139643064
62383934363465316338393065383935646134353230376131613935613431656333383565353134
34643866353131653061623236306536363163373639396564336434653839346263303930633663
39393935636235313431303032336361313730373238333732626465346662363038636361383631
65393433346363366337383233646166306339653533646632623262376630383265393438326135
31643039333835666338383762336163336337343532393063323165636531353361613731363065
65303637396332613432663636326334646635346237396461636366356133303333306239393739
34353966653662346230383865643231313239626533643761366162613164333132373636623237
32356335643766646266646266633366363165373861306433316561363166363865303133633939
34633132343438363034323638376666313061383965323566646463653163313235373364386666
62393865373137343237306637363536383939303833663532396333313931336162333837613935
66383266343735396337663936333162323738383264376533316536376563396333343263643931
65646535363337373865353265306434356432353066656665366638353331366334366339613538
32373637633564613861626538373365336362313434633137613966353861393462623862663330
64386431373066306334383863366133333564373163386433313231363366393830343230323734
61633962356637326538336663386330653563353763663236623539363630626363323237333237
30656139626561313064323330373032323031343137366638303966313832646365666238326337
63306363613361653933306234386163383837666430616663383664386563323839326232383761
35373539626438356539393266653864353066633365383437623437356464383335383039343137
61373539343631373932373033656233323964353666626162386537616333366562346265656238
35396130356166303564303036383664656435626534303064653363316464616335303965376330
61646638383138323265313631613037396561626162306661653231646230343139656135333236
63303838316266333665636335663361656262353066666430656162323236633564313337353665
35363565303736633564356632346632343832363934343962313030646132663566346664313632
38393061613163356265643434626166393366366634343032626637333332316361663639623534
62323239373639393337373537646232663531653835356165313264663561623633633830373734
31336234613633666538373961626430316530346462343061323661353564323938353338373961
64616637303734303333626166306330613238646265636136653939363936356165356232396436
65353731633836363433616534636330663565643561363233396538386430393964353433616437
36343936313936303165396236393463646363383338366238363961666530623335653234656139
65346337663437623134376137326166323933613861663032623965643538343638376234316232
36333065323234663263343630353739313661373536316162366532336438373263303730626464
38613136393166626663636631363064303736666235333036616435373063363762666565363136
38333966303831313333613831313132633062616235353365313533386236613338373130303836
61326262313833306437366364316433393931353265326131653563656131333436376338613266
39326632613366666136643137303635336631353230396435313537656366326239626362313833
62653039343261613265306362323234623264366664306561663839306631663465303962386462
39353934643562383762623937643034383534393962333466613636346637323235346438666636
31613838313535666166663063373333653439313035346266666463623666613837313933623837
63343565663739393764353761316432626237346234663032316131306262356233333439323961
38646664383030303832646563393836643135303731306435383338623633626638306165386637
65393238653464623032336437643838333932366131656332333165376261383539386466343139
65613733383837323832303738363664653138613830376333363038383839623463623631666237
63363263396533353763373934373034643763376665316638353435663635346135333265363235
62663432343935343964626432353563313036303761393039386231343530663737633466643035
65343835353037643539316439666666633866356530363237373230373439373133313337653237
66613631373637313534353862653437393234363365323032393035376438616264336661616262
37336435326135373065353564383637626637343532396331623334643139386364316431376435
36356566363033636539363430356565373039363863396565643730656531346364626334393436
33343839303538383530363231366166623233333730323163323432373831313639626337346230
30333930333064393337616564386163623436613933623466353933393733346339383534633239
30633365313364666566643533326163336330323232353533316633313739343035383465376330
65356139386463633565366132383832643032333234633964373437633836343435393631396166
34633439643764623936366536353931646132373539326238303761383339643661616266646130
30393166393465326365393130636136336433623262346435353936306133616135653734383635
65393530633836613937346430366337626365363361663533313837363063396538663766646566
63373639653732353135343562353266316164303863336365303635653464393232613939396131
30636361343932663233663566656131363938656161623966316366656561343166336532613666
65613534663762353662353262623634616264373964316336626166353330303539356130646166
63643435353765633766626165643465386331333637366562393861613834323464363932306430
32643836646266643031396262626136313363623663366430376432373036643835653863323631
30613164326430633664306630333632363931656135643465363439376263386561383534633666
64323763656466343064396639313264386239356664663461333166626332326536623132333434
62303261643164643330333662623935383037353338306135613737306563326336336162633138
33623066373265663362303133363032343933306336396466383034636131333837313333326531
39336163313633623639303462313763656632633030336236643030343262653366633939643536
31636535393864663363353930363761623264343630396336396431663330323436613462633136
37336464353730643566393432343762333336653932333366636265343663323462626232623635
34346136333630363539633666316561376266373032373961313437653564636537656630303261
37313639333233333365383763333061373730623939303530303832646365323739356564626137
35633366393636376463393961333830343232363266633931613332643134643234303733373466
35323831623931633436626636346431303965663639666566623433383736633834626330303265
37353337656233663938663839373931623137666662623266336537383631626631306235363064
33313564316438633139336261623736336336326239376630316335313631376132646563333430
33656432643130643832343065353834633366363339353964623762666564633835633636313731
63353637636165663136623736343234393038313235333363643237643566623766393838386635
33646233623032653233336266636335666233353032303837663162303939383262373761623261
35366661363966346233633739663635353361303264356534366235616164316138623730623632
62316362623736396264366632373661373835393434343364353431316362666235616635633566
64353530633334393737346663653562346335323065356665643132353738363132623031353664
66666639326238386634363664356664343161386435323736316636343536326435303066353035
37363731613138393333636562386363333932386362303139643262386237353863363764643139
64616561373239346464623165616332623434303433626638376232333733646136376431626438
66613134343639656331626630303030366133356636663735353466353834613430356265386162
66613332663232623438636661306332613162666561353537313336643134663664306630636639
61613363353264373831393962333631383236666130646333336431303735333165656438363432
38396530333631636135653534393531326434306362396237366430383166323832336434376364
38393431646338316232373431613930326532646333386435303034356564336665346133393866
61643533643361646265313334633463616437393437653935613261366635616430313064346532
32363831613565313836376338646466323130373032613863323037323566643164653132633735
65636562653535626461396666643330386333663137613333643165656336633038323036373162
31376338613862333334643561313332326237646565633934323032626662633631633033623063
63306664656437663732323339383735306132616531373865323835633264333639336163366466
33373433653839393638323034623835643531393266306331313563613265616633353763653438
65363532653163303861383531356639316331343531666666636336373634636134633331366364
62366230366435323435613964636533353236373935626632623536396664313264653031623062
33366166343630313839366262313234346262343336386538336335393835646138666330656361
61313936323838653832633130346539636363613838343363663431623063333933383466353938
65383361333561383631643938613862343236346233363466333237316339616362366565306639
39356563656132303463346138356435303038303165363935343266396462326365363262393336
37396235366639623761366239386165613065626431633733306234343866663266633631656237
63643430383433393835663635356265636635363137613064353066313338346436356632346265
38393730336465396263373137383238653337396364643061303234666266663064663265383434
36636138643432373633313038393737663735363838396164366234643533633762383062353831
66326231363337323666386263373438656630346336663239643030386434636264666634393631
39313364333761343532346165396365306463393037643935666363323630326664616638313338
39396336653738353333343835363861643166376565346463303135376439336134666235623230
32363031303732666133386164313437366164326539373564623236356432303132633436323563
36323634373538376133613736633133356638323861636434646465643432636366376138636232
63633830613462613831313938326339343632393038376639623131366364623536353338363439
32613331623863336165636364616634303264356630303665383638663737343836663831363263
63366562393734323030306436346534626530656465396535323835316139633562363830373437
63626530326530383538623165356532303862353763326432373966626436303465373431373762
38613539623164353732623636376630643465343839666531306438326633343362306665366132
39396537366266353864656232616334336130333337306463313932393832653661343036396261
64613461633433356334623631643861303133383963336635623138326139613564343838366565
36343130353462333162313736636139306233366466626231306561626335396262663531333839
61336437343137356335633764373730306466326133356331333530353537616661373062656438
35356235666464656466323937353837623535643937383866666133383633396563333338633034
38366531613164363966323137646237393135383164643230663331306335636432656565633636
34343031633632346533353666353034666266666561346464306665386634313263323333653330
66323033393531343633356466613837346164393332613037636465343230623731616361336338
61373332373636646435353734386366613334323161626437396232613534613330613532323534
65653065386432313733663165616333663666363733623162306536303833663136353334656466
64353931363838613761663561666639373865393438396565626661343934353662363834636535
65363664393433313036383438643864663339626331343230343337316437336634636363303563
35373539383535353235633730386232363539616632336566376264393832383637663330613133
37643261363966633138373935333438393536373938383265373261363232343030373539366335
61633162663137643061363366653135323639363838626266386262666133306461333432313738
30313332626166303630363839396663396564633961383863326663356230343938643833303933
34333032353935323565346633363537656639613663356130383264373739636231363364613066
36653664346434393933383337313630623131396461343930383537633536643365306564396665
31353861643335353538623838393335326364393738376239623431306231363739656438626265
37666532336661306262303761616238666239623265663231386165353437366631376234343035
33393037316563373534373765616238616639303031346430623561663430393536303163613338
65353062336164626335376235656235343637366438353334356436653266333062663838316263
32623732306462356162623437393035626433336631643833626463656634366332613936346465
34653331363133373635633330363564333264623566613432383439396537343963653239336265
33326132663434363065646265646130333935303662623037363938313464366564323734333437
36336335303738643634653164306332636130316161393335656536386131396662616366383139
36663863343736666665363337663537326330323437346565346465326231366563643136366365
37636361343961326261336437616266373962643765346438333766306537303137353764396330
39626635373631353635313935363834363730386132376363663462653330623130663266373432
65343237326535613535386363396236336536366165306463643162346638623638373433646163
62613935363636353639623839396231393838303135346536383037353636613563323234626131
64373666303436393861373164376564646235366131343433623733663832653039393738343537
65323534343464613230346532623966616462353532373064623566626563336464326336393364
39626237646431313135323036303065343138616632343237396136366332636132303037376132
33623031623635653162616265316366663262373666636638386130643336383130643232643662
34326663343562613962343033396332303261636230353331313730336630633461333736626333
66636430643330383032646634396133626339623036333963396662313234623466366634636334
33373762386662613966353664346239666133656435353365653536356331613632666132376264
62613433366633663065306166396166633836306139376533396165393966323465303638373563
63326330323161303065643365343363313338326238363137663139613463613434643834613662
64663365633965653363633165653038333335333232633434323037643936646561376431626230
66356138373136366134373533386634373061666330663364376336383433306331386162393633
33636330643531396464313736363061303466393861613730323563626363643731333633366532
64646130636234653566346533323962353332653335336239353630633535623935396638663366
37383661343636613261623833653032373764653164346634663431653664636233323734666166
36373664306566663930353338366431623563396166356638626166333165623263636336613138
34343936393964666564306637346561393538383137663162663630336462656663316338376236
63633666333263663734353861633164653132663334306664643133663736663766626639393236
32653430333163313363343731666135656662363838366132383732346130313130363365656263
32643533393163376264653632663262353966306630333064313932616262323134326361633764
63383837303936616434616630653833653833623263623532306363373836323431393335623530
34316562343035326265333164643163356230643639373431326431303538346363376332373434
31313666313663343363353130306561646136393732663164393232636330663635346434343134
33663138663336636430373763396435323138373633666438623234363631336232366635366532
62616239663934653462656163326134303261376635323864633435383666363065656665303538
62626538343638366236646136363232373437336630383739656438636465326531646664366462
36353663626634386538336239623734323234393463313034303837363164363263623065613061
38333162646232366339333662313965663336613238386530393162346266636532353433656136
66326436323836376432313238613165373565643233333435393361636637653361616435393438
32383763393561343734643438346635613663393736613839623263663866336165343235663933
66623137616561313462653631613830363666653635336534643935373739353138363934656134
35663063396162623432373534333463376231666466393963336231653939326663396336383735
34633763336163313432616163313638623963306666643432306661393632346339373963633265
32303862643661376433356661383335313365306534663534396638313531373538326236636363
37626138333437393363323261336663653163643565303063313231346131376261653763356631
62306262336337366134626632333663363139393131306666303235303761623665356431646234
33666461663035303066353137623762653565353533613435663839396238336337333463636465
38353135356634626137376232613330393235383432356436393030313564306537616363383136
66356463373138313661373565326565343066643133633630313031303132313031663739316631
66666631386163313034306532393862393930653931363235396662366262636466363464396466
61303962303066633764393831396632626233343633313061323838623134373036393164633139
30303861636335636131376334376239636235653233323435623262366132663934613661333135
61386136326435363337316363666330363431613135663661303438383664663930656564373730
32373731393666333364633835646431646662313232383136616238303264383438663766356462
32346664376430663934626661663039656461383738626265346162393861346163656161323333
39323666643031376530303230626166613233383731363766373634623430633635303963313466
34646331363539636133373134353535356265393265393635323532323134643034343663636362
38633261613433393634396234396265623063346138363133646532366638306632396464646432
61373961383438386535336131393633303430346162613738343839653038303035303033626535
37343030623530333332306265373539633735616634663666356437303862636338363866613861
38346130336338373865343866306665616530313938616366346131376262346135323537663137
39383366313766666234323234363937623264353532323033363966313135653163343036666262
34393832613034383239393930383063336131356364303231323966303633333331633666373764
65383137333965663234663933303231356165376233326233303035316536666563656363343933
36633039666432643135636331353932633164633964623661373739633665313433306561303637
62373534346562363132643063643732343462653838393635343266626535353864656437313434
34376538303965616539626534613431623834376337643936613137323031323139393762636463
66346664666361623636666533663037613434353135393862376633636233656330366136646434
30653735323961383130393763333630306131376430363436623238646632363462383739653636
37346566663039383866323639633565366338353438386461616239313639343766333661346435
33316538366463383733346663316564656566656165396465393461363061613239666165346661
62346639623163363762366431313831663135643062336363323336303737393437653863303665
36643466336566336236353166333063633830646461626262333937316162353365353130353535
30383164363532363532306364393236303537383139643431393962333063633162313033613561
32323434336364343061386666616639336566373461633462393130336461303531353436623065
65663430623066336533373662306566396263376562343936666166626666323964373334613835
64633535303365643564626562643562636363363834353865353765356665643965663861366436
63333736613232353130616466316637613966646139323565356537666331666564623832333439
36376131663431616430616265323039646432393166613631313762613264313765323231663961
65616636306362386534626130636261636566626365643630616135323634343935653033653433
3061
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