summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2025-09-21Disable connectivity detectionAhmed Abdelhalim1-1/+1
2025-09-20Move gcc to it's own role and add it as homebrew dependencyAhmed Abdelhalim9-20/+40
2025-09-20Fix homebrew role dependencies on ubuntuAhmed Abdelhalim4-1/+33
2025-09-20Fix ansible install on ubuntu when there is another version installedAhmed Abdelhalim1-2/+2
2025-09-20Migrate to the new loop syntaxAhmed Abdelhalim9-17/+17
2025-09-20Ignore failing idempotent test (as it can't be idempotent)Ahmed Abdelhalim1-0/+5
2025-09-20Fix include vars using os_family (not distribution)Ahmed Abdelhalim2-3/+3
2025-09-20Add grafana/prometheus roles to configure and testingAhmed Abdelhalim5-0/+28
2025-09-20Update the prometheus/grafana role varsAhmed Abdelhalim3-19/+30
2025-09-20Fix installing grafana on raspberry piAhmed Abdelhalim4-1/+9
2025-09-19Add Grafana roleAhmed Abdelhalim12-0/+315
2025-09-19Fix env files paths on different distrosAhmed Abdelhalim3-2/+11
2025-09-19Enable systemd monitoring via prometheus node exporterAhmed Abdelhalim1-1/+4
2025-09-18Allow configuring multiple targets for prometheusAhmed Abdelhalim4-4/+21
The default are localhost, but it can be overridden to allow scrapping localhost and or remote hosts (for both prometheus job and node exporter jobs)
2025-09-18Update host vars with pinned python versionsAhmed Abdelhalim6-4/+12
2025-09-17Restrict prometheus/node-exporter access to only local networkAhmed Abdelhalim3-4/+9
2025-09-17Clean up argument_specsAhmed Abdelhalim1-7/+3
2025-09-17Fix prometheus/node-exporter starting on configured portAhmed Abdelhalim3-1/+27
2025-09-15Add prometheus role (with node exporter)Ahmed Abdelhalim6-0/+126
2025-09-15Fix uv idempotent install for the tool versionsAhmed Abdelhalim1-8/+38
2025-09-15Fix idempotent testing for python roleAhmed Abdelhalim1-1/+1
2025-09-15Refactor python and ansible roles to use uv package managerAhmed Abdelhalim10-140/+31
2025-09-15Refactor go role to simplify version managementAhmed Abdelhalim3-64/+23
2025-09-15Update network role to remove dhcpcd dependencyAhmed Abdelhalim7-6/+15
Fix install on ubuntu not having networking service stated by default on ubuntu
2025-09-14Fix linting issues in nginx roleAhmed Abdelhalim1-5/+5
2025-09-14Fix wireguard stopping vpn when it's not necessaryAhmed Abdelhalim1-1/+1
It's only necessary to stop the VPN to set another one running instead (as the configurations are not built to stack VPN although possible)
2025-09-14Put back the idempotent ignore testAhmed Abdelhalim2-0/+4
The idempotent test is only failing on the second run, the reason is, on the first run the wireguard files are created with default permissions, then the wg_portal role update the ACL. On the second run, the wireguard role recognizes the difference in the permissions, and update the files (expectedly), the default ACL then takes place and set the permissions correctly with ACLs On any successive run, the role is idempotent and doesn't update the files again.
2025-09-14nginx serves .local domain over http otherwise redirects http to httpsAhmed Abdelhalim1-0/+12
2025-09-13Add wg_portal and pihole port and nginx configurationsAhmed Abdelhalim1-0/+0
2025-09-13Add nginx role to playbook and testingAhmed Abdelhalim5-0/+5
2025-09-13Remove the idempotence ignore test in wireguardAhmed Abdelhalim1-2/+0
Since the ACL fix probably fixed this one too
2025-09-13Add pihole port configurations and integration with nginxAhmed Abdelhalim4-0/+43
2025-09-13Add wg_portal nginx integration (enabled by flag, default false)Ahmed Abdelhalim4-0/+37
2025-09-13Add nginx roleAhmed Abdelhalim8-0/+250
2025-09-13Add logrotate role (dependency for nginx)Ahmed Abdelhalim3-0/+30
2025-09-13Add openssl role (dependency for nginx)Ahmed Abdelhalim3-0/+30
2025-09-12Split the playbooks into bootstrap and configureAhmed Abdelhalim3-51/+48
This is to allow the ansible-distro-install to safely call the bootstrap playbook without getting validation errors about the other configure roles (especially if they are not configured yet, or if running on CI)
2025-09-12Fix idempotence for wg-portal roleAhmed Abdelhalim1-9/+2
Delegate the /etc/wireguard directory creation to the package, this way, if later the wg-portal role was to be installed and update that directory ACL, it won't fail idempotent test. Ignore the wireguard configuration creation, for some reason the usage of dictionary is not preventing the detection of when items change!
2025-09-12Fix the testing of gateway role in containers/CIAhmed Abdelhalim6-10/+10
2025-09-12Fix testing ansible role on 2.19.2Ahmed Abdelhalim1-1/+1
The issue is that regex_match either returns a string or none which was implicitly converted to a boolean, this breaks on 2.19.2+ This ensure compatibility with newer versions.
2025-09-12Update example/test variablesAhmed Abdelhalim6-12/+20
2025-09-12Fix looping over wireguard connection dictAhmed Abdelhalim1-1/+1
2025-09-12Fix linting issuesAhmed Abdelhalim1-1/+1
2025-09-12Update variables and ignore claud.md fileAhmed Abdelhalim2-0/+1
2025-09-12Fix wg-portal dependencies (ACL)Ahmed Abdelhalim1-0/+2
2025-09-12Add gateway role to playbooks/testsAhmed Abdelhalim5-1/+5
2025-09-12Implement the gateway role (replacing old wireguard-gateway)Ahmed Abdelhalim11-0/+364
2025-09-11Remove claudeAhmed Abdelhalim1-138/+0
2025-09-11Update vars to rename the wireguard interfaces wg-x (standard)Ahmed Abdelhalim5-10/+11
2025-09-11Fix the wg-portal role to be idempotent and withstand install/uninsallAhmed Abdelhalim1-5/+42