Commit graph

53 commits

Author SHA1 Message Date
256dae2955 Add .gitignore 2024-05-19 14:21:25 +02:00
c2c1fdbe40 Add alpine role
Base packages and SSH config, and QEMU guest agent for VMs.
2024-05-19 14:21:22 +02:00
be915dcf69 proxmox: only install firewall rules on one node
And let the cluster take care of distribution.
2024-05-14 12:40:33 +02:00
3f53c84865 proxmox: add LDAP user sync script
Since OIDC auth doesn’t support groups, get them from AD over LDAP.

Add a script to fetch user and groups, and update /etc/pve/user.cfg. The
script is only installed on one node (first alphabetically), with a cron
job to run it daily.

The script is installed for clusters with the sync-ldap context key set
to a corresponding OIDC realm. The keys ldap_user and ldap_pass must be
present in the password store under cluster/<name>.
2024-05-14 12:04:35 +02:00
5762236ac2 ceph: fix nftables management rule
The mgmt VRF might not exist yet when nftables rules are loaded, so
use iifname instead of iif for dynamic interface lookup.
2024-05-09 12:30:42 +02:00
5a7fa02909 proxmox: don’t route host traffic over VNIs
Very bad, much slow.
2024-05-05 12:58:54 +02:00
05d3f82caf Set default inventory 2024-04-27 11:02:31 +02:00
1a4652fd87 ceph: parametrize cephadm checksum 2024-04-27 10:44:58 +02:00
a637da5c21 proxmox: set vxlan-local-tunnelip for loopback interface
Oops. Not sure why stuff apparently worked without it. Especially
switchd on exits which worked itself into a bit of a frenzy.
2024-04-22 13:30:35 +02:00
923d877208 proxmox: use inner L3 info for ECMP hashing
I’m sure I saw fib_multipath_hash_policy=2 (or =1 from last commit)
actually working once, but cannot reproduce. Maybe revisit this at
some point.
2024-04-08 08:49:16 +02:00
f404922d6b proxmox: use L4 info for ECMP hashing
This should make VXLAN-encapsulated traffic multipath.
2024-04-05 10:28:15 +02:00
8be55c2bde ceph: set up firewall
Still need to drop the hardcoded allowed set.
2024-04-05 06:12:58 +02:00
e7f9132571 proxmox: set up firewall
Firewall policy is set in NetBox as cluster services¹. For Proxmox we
have to manually allow communication between nodes when using L3,
since the default management ipset does not get populated correctly.
We also need to open VTEP communication between nodes, which the
default rules don’t. We allow all inter-node traffic, as SSH without
passwords must be permitted anyway.

This also adds some helper filters that are spectacularly annoying to
implement purely in templates.

¹ There is actually no such thing as as a cluster service (yet?), so
instead we create a fake VM for the cluster, define services for it,
and then add the same services to a custom field on the cluster.
Alternative would be to tie services to a specific node, but that
could be problematic if that node is replaced.
2024-04-05 06:00:50 +02:00
179547beff debian: only advertise local routes
Also of course.
2024-04-04 10:53:01 +02:00
2095494531 proxmox: only advertise local routes
Of course.
2024-04-04 10:17:58 +02:00
14439048fa proxmox: set datacenter defaults for frr 2024-03-22 18:51:29 +01:00
0c063a017b ceph: allow some ICMP 2024-03-14 14:34:44 +01:00
ce7903e43a ceph: improve cluster setup
Remove separate NetBox lookups. Explicitly allow connections between
cluster nodes. Tigthen temporary allowed IPv6 ranges.
2024-03-01 08:45:51 +01:00
0af8474e52 proxmox: consolidate interface templates 2024-02-26 16:52:01 +01:00
7b4cb8f579 Add udev rules for renaming all interfaces with defined MAC address
Gonna include BMC and such but shouldn’t hurt. Allows us to use
different interface names where sensible.
2024-02-26 13:26:05 +01:00
fbfdc83ee5 proxmox: use multiple non-VLAN-aware bridges
The Proxmox SDN feature does not play nice with our FRR and VXLAN setup.
With a single bridge we can’t have interface aliases. So use a bridge
for each VLAN. Actually don’t even have VLANs, just bridges mainlined
into VXLAN tunnels.

Read the list of VLANs carried by Proxmox nodes from a custom field on
the cluster in NetBox. Remove the vmbr0 device from individual nodes.
2024-02-20 16:43:47 +01:00
c1344e8f59 dokuwiki: upgrade to latest 2024-02-20 16:01:51 +01:00
90b55d8e8d doku: tweak fonts and stuff 2024-02-20 11:05:59 +01:00
cc10b4b265 dokuwiki: upgrade to latest 2024-02-06 19:50:25 +01:00
8a8b019dc3 setup: rename proxmox-rc hosts 2024-02-06 08:56:19 +01:00
02f778604c Add dokuwiki role
For an Alpine Linux VM.
2024-01-20 19:00:41 +01:00
4420846817 Allow overriding MTU for L3 interfaces 2024-01-17 19:21:13 +01:00
c395fe22c7 ceph: allow connections from more addresses
Should unhardcode this at some point.
2024-01-17 19:19:55 +01:00
d399fc0a24 proxmox: simplify interface setup tasks 2023-11-20 14:13:46 +01:00
5038411af3 Add ceph role
Just prepares the servers, all management is then done through cephadm.
2023-11-20 13:04:11 +01:00
832be31e21 Add ansible.cfg
With default user.
2023-11-20 12:57:41 +01:00
2d89cd730c proxmox: get all data from netbox 2023-11-20 12:56:34 +01:00
62a3dc5121 proxmox: fix SFTP in management VRF 2023-11-20 12:55:52 +01:00
eed2308609 debian: get all data from netbox 2023-11-18 19:44:52 +01:00
d334e9aafa debian: allow overriding release 2023-11-18 19:44:00 +01:00
5cca841e6b debian: allow sftp over management ssh 2023-11-18 19:42:33 +01:00
Gašper Fele-Žorž
edfc73db79 Pox upon the NETPOX in README.md 2023-11-06 13:05:13 +01:00
a36aba9f2a Group also by tag in netbox inventory 2023-10-26 09:27:32 +02:00
5da50c14f9 debian: run a separate sshd in mgmt VRF
Leave the default sshd alone. If ssh is not necessary in default VRF,
another role should disable it.
2023-10-25 13:06:57 +02:00
c9479cc786 proxmox: set hostname 2023-10-20 09:05:54 +02:00
68efa7adcf proxmox: simplify bridge definition 2023-10-19 10:18:50 +02:00
0c1cc14e01 proxmox: add initial support for L2 VXLAN
I heard we like L2 so I put some L2 in our L3 so we can L2 as we L3 on L2.
2023-10-18 15:02:36 +02:00
c9bb03ea36 Read default gateway for a subnet from a custom field in netbox 2023-10-05 12:44:39 +02:00
ce2d0f3cd4 proxmox: add interfaces for fabric links
Same as debian.
2023-10-05 12:43:35 +02:00
a324da076b Consolidate interface setup for debian and proxmox roles 2023-07-20 13:46:13 +02:00
8171f16f18 Add README 2023-07-20 13:26:36 +02:00
e33e172336 Add netbox inventory 2023-07-20 13:25:03 +02:00
63ab087645 debian: get inventory data from netbox
Set standardized interface names (mgmt0… for L2 management interfaces
and lan0… for L3 data interfaces speaking BGP). ASN is stored as a
custom field in netbox but that might change.
2023-07-20 13:24:51 +02:00
2330edf479 proxmox: standardize interface names and set up management VRF
No idea how badly this clashes with GUI configuration.
2023-07-17 16:39:40 +02:00
aae782a66b Add role to set up base Proxmox server 2023-07-14 16:12:03 +02:00