summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2025-09-01Update homebrew role to avoid unnecessary downloadsAhmed Abdelhalim1-37/+45
2025-09-01Add testing of wireguard_gateway roleAhmed Abdelhalim2-1/+2
2025-09-01Fix wireguard_gateway role being slowAhmed Abdelhalim7-34/+20
The pihole lookup DNS queries when the VPN connection is up was slow. One of the culprits was the quad9 servers were taking long time when using VPN The other issue was the previous routing tables that used to work with the fritzbox (with DHCP) which wasn't fully working was conflicting with the VPN route tables and causing loops and delays. Now most of the VPN queries are working fast but some requests are taking some time, probably due to the VPN trying to check/block ads and malware! Also minor fixing to the pre tasks and documentation
2025-08-31Add wireguard gate way role to configure traffic through vpnAhmed Abdelhalim7-0/+217
2025-08-31Update pihole role to function as dhcp for the networkAhmed Abdelhalim4-2/+36
2025-08-31Update wireguard connectionsAhmed Abdelhalim7-0/+37
2025-08-31Add wireguard role readmeAhmed Abdelhalim1-0/+53
2025-08-31Allow network role to configure ipv6Ahmed Abdelhalim4-0/+20
2025-08-21Fix the testing by adding the missing docker debian packageAhmed Abdelhalim2-2/+2
This package installs the networking.service, that is found on normal desktop/server setups and is required by the stricter network role to be disabled (instead of allowing failed_when: false relaxed condition)
2025-08-21Fix the wireguard installAhmed Abdelhalim4-9/+2
The conflict was due to resolvconf was removing the systemd-resolved configuration and that was causing the network to go down and the fallback on the statically managed resolv.conf (which wasn't able to resolve the DNS) due to how network manager requiring the DNS resolution to happen through systemd-resolved
2025-08-21Fix network role to install via chrootAhmed Abdelhalim2-4/+6
The removal of the resolv.conf DNS configuration is required by the wireguard not to have conflicting DNS configuration resolvers between the static system fallback and the NetworkManager resolver (using systemd-resolved) and the VPN DNS
2025-08-21Fix the instruction on setting up pihole on fritz!boxAhmed Abdelhalim1-0/+1
2025-08-21Fix testing by adding the missing keys from example filesAhmed Abdelhalim1-0/+3
2025-08-21Add wireguard role and fix testingAhmed Abdelhalim13-14/+143
The testing was failing because the use of the example files with the same domain names, resulted in the files and the molecule variable were being merged and therefore running tasks that would fail on test (example, setting a fake VPN connection that wouldn't start).
2025-08-20Add python roleAhmed Abdelhalim8-3/+97
2025-08-20Fix homebrew shell configurationAhmed Abdelhalim1-2/+7
2025-08-20Restructure the playbook hosts/rolesAhmed Abdelhalim1-6/+4
2025-08-20Add homebrew roleAhmed Abdelhalim7-0/+77
2025-08-19Fix install ubuntu and wifi configsAhmed Abdelhalim2-1/+1
2025-08-19Fix meta strings quotingAhmed Abdelhalim8-66/+58
2025-08-19Ignore docker/podman specific failures in test/idempotent testAhmed Abdelhalim1-0/+9
2025-08-19Fix pihole install to work on raspberry and simplify on archAhmed Abdelhalim4-15/+43
2025-08-16Refactor network role to remove NetworkManager/dhcpcd/networkd conflictAhmed Abdelhalim7-67/+43
2025-08-16Fix conflicting NetworkManger/systemd-networkdAhmed Abdelhalim4-3/+16
2025-08-16Fix Pihole setup with systemd-resolvedAhmed Abdelhalim2-0/+18
2025-08-16Update pihole readmeAhmed Abdelhalim1-0/+14
2025-08-14Update host variablesAhmed Abdelhalim2-1/+2
2025-08-11Fix molecule test fail ansible_default_ipv4 is undefinedAhmed Abdelhalim3-4/+7
2025-08-11Add pihole role to configure raspberry piAhmed Abdelhalim11-0/+223
2025-08-11Add network ipv4 configurationsAhmed Abdelhalim10-4/+32
2025-08-11Refactor: playbook to split required_for_boot into its own playbookAhmed Abdelhalim2-17/+19
2025-08-11Refactor: move hostname into its own roleAhmed Abdelhalim7-27/+55
2025-08-11Update vars to match refactored rolesAhmed Abdelhalim2-17/+17
2025-08-11Refactor: move password policy to its own roleAhmed Abdelhalim15-96/+84
2025-08-11Refactor: move the timezone into its own roleAhmed Abdelhalim9-17/+58
2025-08-11Refactor: move the locales into its own roleAhmed Abdelhalim16-133/+176
2025-08-11Use quad9 as the main DNS with cloudflare/google fallbacksAhmed Abdelhalim1-3/+2
2025-08-11Add settings example group varsAhmed Abdelhalim2-0/+22
2025-08-11Fix CI testing ensuring locale packages are installedAhmed Abdelhalim4-1/+5
2025-08-11Add settings role for setting locale/timezone/pass policyAhmed Abdelhalim12-0/+400
2025-08-11Fix the debian default login shell for userAhmed Abdelhalim2-1/+5
This is slightly opinionated on the configurations, but it should be easily changed by the user later on during setup or via some other ansible role.
2025-08-11Clean up the archlinux network roleAhmed Abdelhalim1-3/+1
2025-08-11Refactor playbook to simplify package installs for different OSsAhmed Abdelhalim9-38/+22
2025-08-11Ensure package cache is updated in playbook pre-taskAhmed Abdelhalim7-6/+7
2025-08-11Simplify playbook by requiring the required_for_boot tag on rolesAhmed Abdelhalim10-33/+3
Instead of optimizing for task execution for boot, it's simpler and almost as equally safe (if not even more) to require the role for boot instead of requiring each of it's needed tasks. This will also prevent having internal bugs because a set fact wasn't required for boot and didn't add the info (similar to the fix in commit: 9f72c58)
2025-08-11Replace avahi with systemd-resolved/systemd-networkdAhmed Abdelhalim6-9/+75
2025-08-11Fix setting the sudo group for the created userAhmed Abdelhalim1-0/+1
2025-08-11Refactor to simplify debian network roleAhmed Abdelhalim6-35/+36
2025-08-11Fix README and linting issuesAhmed Abdelhalim2-16/+18
2025-08-11Add CI testingAhmed Abdelhalim1-0/+61