summaryrefslogtreecommitdiff
path: root/roles
AgeCommit message (Collapse)Author
2024-11-03Replace gnu-netcat with openbsd-netcatDmitry Ilvokhin
openbsd-netcat required as dependency for cloud-init.
2024-10-05Make screenrc compatible with screen 5.0.0 versionDmitry Ilvokhin
GNU Screen does not support colors specification as letters anymore. Here is relevant quote from manpage: > The old format of specifying colors by letters (k,r,g,y,b,m,c,w) is > now deprecated. And by deprecated they mean doesn't work anymore. Unfortunately, macOS ships screen version 4.00.03 and I couldn't figure out a way to have screenrc syntax to work on both 5.0 and 4.0 versions at the same time. One more problem is `screen --version` changed return code, so even code for checking if screen is installed at all doesn't work anymore. Need to figure out a proper way forward. For now I just installed screen version 5.0.0 from homebrew to fix macOS setup and at the same time make Linux machines happy as well.
2024-09-15Extend postfix body_checks to prevent spamDmitry Ilvokhin
2024-06-30Use `delegate_to` instead of `local_action`Dmitry Ilvokhin
2024-06-30Use `ansible.builtin.shell` instead of `cmd`Dmitry Ilvokhin
2024-06-30Fix one more missing `yes` usageDmitry Ilvokhin
2024-06-30Cleanup quotes usage in YAML filesDmitry Ilvokhin
Seems quotes in YAML is a mess. Official guidelines (see explanation here [1]) are following. 1. If you can get away without quotes, do not use them. 2. Use single quotes if you need quotes. 3. Use double quotes if you can't use single quotes for some reason. Common reason for double quotes in this repository is line breaks for long lines and control characters (\n, \t) in replacement patterns. Hope, I didn't break anything. Tested with following commands, because there are no changes in others. $ ansible-playbook dotfiles.yml $ ansible-playbook master.yml [1]: https://stackoverflow.com/a/69850618/1313516
2024-06-30Migrate from `yes` to `true`Dmitry Ilvokhin
2024-06-29Add wg-quick@wgtor0 as dependency to torDmitry Ilvokhin
Otherwise tor could not bind ports on wgtor0 ip addresses as it wasn't up yet.
2024-06-23Remove trailing spacesDmitry Ilvokhin
2024-06-23Introduce sysupgrade playbookDmitry Ilvokhin
Playbook sysupgrade.yml is a attempt to do automatic full system upgrade. Currently logic is completely automated for happy path. 1. Shutdown machine. 2. Take snapshot from the machine. 3. Power on machine back. 4. Update archlinux-keyring. 5. Upgrade everything. 6. Reboot. If something is working, then we are done. Otherwise, restore from snapshot manually and try to figure out what went wrong.
2024-06-15Tor -> tor for consistencyDmitry Ilvokhin
2024-06-15WireGuard -> wireguard for consistencyDmitry Ilvokhin
2024-06-15Rename wg0 interface to wgnet0Dmitry Ilvokhin
2024-06-15Rename wg1 interface to wgvpn0Dmitry Ilvokhin
2024-06-15Rename wg2 interface to wgtor0Dmitry Ilvokhin
2024-06-14Mark gate as jumphostDmitry Ilvokhin
2024-06-14Add comment why we use reload for wgnetDmitry Ilvokhin
2024-06-14Fix wrong state restart -> restartedDmitry Ilvokhin
2024-06-14Manually create /etc/systemd/resolved.conf.d dirDmitry Ilvokhin
2024-06-09Migrate to restart instead of reload for wgvpnDmitry Ilvokhin
For the same reason restart is used in wgtor: there are `iptables` commands in `PostUp` and `PostDown` which are not running on reload.
2024-06-09Add tor roleDmitry Ilvokhin
2024-06-09Add wgtor role for Tor middleboxDmitry Ilvokhin
2024-06-01Migrate netfwd to systemd-sysctlDmitry Ilvokhin
/etc/sysctl.conf doesn't work, see [1]. Intrestingly enough, I catched it only with system upgrade and reboot. Just reboot didn't catch it for some reason, or I didn't notice. [1]: https://wiki.archlinux.org/title/sysctl
2024-05-27Remove semicolons from wgvpn configDmitry Ilvokhin
2024-05-27Add wgvpn role for WireGuard VPNDmitry Ilvokhin
2024-05-26Remove wgnet networkd filesDmitry Ilvokhin
2024-05-26Move sysctl net forwarding to separate roleDmitry Ilvokhin
2024-05-19Migrate away from networkd for wireguardDmitry Ilvokhin
Migrate due to a bug [1], which wasn't fixed for some time. [1]: https://github.com/systemd/systemd/issues/25547
2024-05-19Wireguard overlay network setupDmitry Ilvokhin
Need to migrate away from networkd, because it can't add new wireguard peers now out of the box without hacks. [1]: https://github.com/systemd/systemd/issues/25547
2024-05-06Add wireguard roleDmitry Ilvokhin
2024-05-04Push public key from another laptop to serversDmitry Ilvokhin
2024-05-03Open git.ilvokhin.com to the worldDmitry Ilvokhin
2024-05-03Init repositories as private by defaultDmitry Ilvokhin
2024-05-03Add clone URLs for repositoriesDmitry Ilvokhin
2024-05-03Do not export everything with git-daemonDmitry Ilvokhin
We should export only repositories with git-daemon-export-ok file inside.
2024-05-03Rename .htpasswd to htpasswdDmitry Ilvokhin
2024-05-03Add dots to commentsDmitry Ilvokhin
2024-05-03List repositories explicitly instead of scan-pathDmitry Ilvokhin
This allowes to have private repositories on the same server.
2024-04-26Remove favicon from cgitDmitry Ilvokhin
We set root to /usr/share/webapps/cgit for cgit location. This directory contains favicon which served automatically. One way to stop it is to remove favicon, but every package update will bring it back in. So I just hardcoded into nginx config return code of 404 for favicon request to do not serve it.
2024-04-26Fix indent in nginx config for cgitDmitry Ilvokhin
2024-04-20Use systemd service instead of service for certbotDmitry Ilvokhin
To properly reload systemd in case of changes in unit file.
2024-04-20Add paccache role to all hostsDmitry Ilvokhin
2024-04-19Fix postfix virtual_transport: use dovecot-lmtpDmitry Ilvokhin
2024-04-19Migrate postfix from hash to lmdb dbDmitry Ilvokhin
2024-04-19Setup lmtp protocol for dovecotDmitry Ilvokhin
2024-04-14Make certificate updates work for nginxDmitry Ilvokhin
Currently, we obtain certificates from Let's Encrypt with standalone mode, so when we do renew, certbot tries to run it is own webserver on port 80, but this port is already in use by nginx. Stop nginx, before renewal. This is quite hacky, but should work. Proper solution is to split certificate role by standalone and non-standalone versions.
2024-04-07Add master.cf file to postfix roleDmitry Ilvokhin
Enable submission to send mail.
2024-04-07Reverse dependency chain dovecot -> postfixDmitry Ilvokhin
Postfix can start without dovecot, but dovecot can't without postfix, because it uses postfix user to create unix socket.
2024-04-07Add lsof to minimal installationDmitry Ilvokhin