Commit Graph

36 Commits

Author SHA1 Message Date
Hoang Nguyen 632571b0bb
Minor correction to audit rules 2024-01-20 00:00:00 +07:00
Hoang Nguyen 048ee930bf
users: implement support for all 3 options sudo/doas/please for sudo_provider 2023-10-01 00:00:00 +07:00
Hoang Nguyen 3854a5f380
snapshot: add support for sanoid 2023-08-18 00:00:00 +07:00
Hoang Nguyen 386fdb9280
snapshot: add cron for btrbk 2023-06-18 00:00:00 +07:00
Hoang Nguyen 4007998edf
snapshot: add support for btrbk
Also simplify `use_polkit` check everwhere.
2023-06-16 00:00:00 +07:00
Hoang Nguyen 40ac02c67e
snapshot: add new role with 'snapper' option
btrbk will be next \^*^/

Also:
- detect the root filesystem in play with `ansible_mounts` instead
  of specifying it manually.
- dnscrypt: hardcode some privacy settings
2023-06-16 00:00:00 +07:00
Hoang Nguyen 149a69d85a
networking: add IPv6 stable privacy address
Also move 'iwd' service to runlevel 'default', so that sysctl settings
are applied correctly before it starts.
2023-04-22 00:00:00 +07:00
Hoang Nguyen ec72f75587
Add 'ntpd' and 'auditd' roles
More changes:
- Remove 'grub' role. We shouldn't touch anything related to the
  bootloader here, as it's dangerous. I'll write docs for myself on
  this.
- Fix linting here and there, so ansible-lint won't complain
- Refactor group_vars/all.yml to be more readable
2023-04-06 00:00:00 +07:00
Hoang Nguyen fb9c5ebaed
Add PAM config for base-session
c199f2b52e.

Also:
- Use TOML as inventory format (to disgust YAML ^-^)
- Adjust TODO list:
  - drop go-audit (unmaintained upstream)
  - add turnstile (more interesting than pam-rundir)
- Drop waydroid role as upstream system config script is a mess
2023-04-01 00:00:00 +07:00
Hoang Nguyen df578407df
networking: add connman as an option for DHCP
Also:
- refactor /etc/network/interfaces
- remove Vagrantfile (not used regularly and doesn't work anymore)
2023-02-19 00:58:13 +07:00
Hoang Nguyen fe6807553c
Expose user groups as configurable variable 2023-02-18 18:00:35 +07:00
Hoang Nguyen 45e6591322
user: remove setting up realtime group
pipewire 0.3.66 now ships /etc/security/limits.d/25-pw-rlimits.conf
which does the same thing. Also the Alpine package has post-install hook
to create "pipewire" group.

The task will fail if pipewire is not installed though :(
2023-02-18 17:49:56 +07:00
Hoang Nguyen 2ead123781
Minor adjustments
- Add seedrng service to 'boot' runlevel
- Move nftables, iwd services to 'boot' runlevel (`before net`)
- Change APK mirror
- Remove custom pam_rundir entry (it is presented in linux-pam package now)
2023-01-24 23:29:06 +07:00
Hoang Nguyen 330418490d
networking: suport both iwd and eiwd 2022-11-20 19:05:41 +07:00
Hoang Nguyen 385332e312
nftables: do some fancy stuff with sets
- Fix the incorrect use of rate limit on ICMP rule ('over' keyword
  matched over the rate limit)
- Use dynamic sets to limit connections on opened ports
- Naively whitelist all libvirt bridges. This includes the whole
  192.168.0.0/16 subnet, so it probably will clash with the internal LAN
  network. I control my own router :) so I don't mind (just use
  a different private IPv4 address space).
2022-11-05 11:21:19 +07:00
Hoang Nguyen 39f736f34c
Small changes here and there
- container: role removed
- ansible:
  - use FQDN module path community.general.packaging.os.apk
  - use "true, false" instead of "yes, no" (stop being annoying, yamllint)
2022-10-16 17:41:04 +07:00
Hoang Nguyen 8e61893c93
Some beginning works for component customization 2022-10-01 21:15:29 +07:00
Hoang Nguyen 4dcca81110
fstab: add switch to enable/disable efivarfs mount
Don't use noefi kernel parameter here as we want to switch on the fly
2022-08-21 15:48:37 +07:00
Hoang Nguyen 90ba790ee7
Move hardcoded variable use_polkit to main playbook
group_vars/ should be used for changeable variables.

Also rename `kernel_parameters` variable to `additional_kernel_parameters`
(expect other bootloaders configuration to come :v)
2022-08-18 19:56:44 +07:00
Hoang Nguyen eababf0fa2
acpi: add normal acpid variant
Busybox's acpid doesn't support netlink
2022-08-07 16:33:21 +07:00
Hoang Nguyen 8d151d727f
earlyoom: remove earlyoom.enabled config
I forgot that --skip-tags exists.
2022-07-24 22:55:12 +07:00
Hoang Nguyen b2f0cd6808
roles: add earlyoom role 2022-07-23 18:43:38 +07:00
Hoang Nguyen b72db7e5fa
dns: add cloudflare
Sometimes cloudflare has better latency than quad9 (for me)
2022-07-19 22:36:13 +07:00
Hoang Nguyen 0b9a54783e
Tons of cool things
- unbound: rename role to 'dns', add dnscrypt-proxy tasks
- devd: add sample udev rules
- apparmor: move kernel parameters to group_vars
2022-06-20 01:29:26 +07:00
Hoang Nguyen be19369633
roles: add devd role
Make device_manager configurable on setup (mdev, mdevd, udev) utilizing
the new introduced 'setup-devd' script.
2022-05-20 23:56:47 +07:00
Hoang Nguyen fbef64fdf8
user: make shell configurable, update new realtime config 2022-05-16 16:24:58 +07:00
Hoang Nguyen 40923b16ab
roles: add waydroid; nftables: refactor firewall rules 2022-05-10 23:18:19 +07:00
Hoang Nguyen 3764a538ed
Convert networking stuff to templates
- unbound: add `network_interfaces` variable to control
  /etc/network/interfaces (check interfaces(5))
- nftables: add `libvirt_bridges` and `opened_ports` to
  dynamically generate firewall rules
2022-04-04 13:34:07 +07:00
Hoang Nguyen f737a21719
roles: add 'container' role with podman/nerdctl option
Also enable cgroup v2 explicitly for openrc
2022-03-29 01:15:28 +07:00
Hoang Nguyen 9796d5beb0
Add Vagrantfile for testing
Also fix some edge cases when testing
2022-02-27 19:20:25 +07:00
Hoang Nguyen 2dc9852601
essential: make console font configurable 2022-02-17 23:33:22 +07:00
Hoang Nguyen ff28a00140
Fix some regressions + tasks revision
DETAILS:
- consolefont: moved to essential role
- unbound: copy the config only after everything is set up correctly
  (or else the validation will complain trusted-key.key and the root
  hints are not in the chroot)
- essential: start dbus service before handling seat management (elogind
  and seatd services depend on dbus)
- use full-path for commands (avoid potential polluted PATH attack)
- apk: use '>-' for the package list. See NOTES

NOTES:
- '|' (literal) interprets new lines with a line break
- '>' (folded) produces a single line with a '\n' at the end
- '>-' (folded_strip) creates a single line without a line break in the
  end
- '>' (folded scalars) joins all the lines with a space (doesn't
  preserve numeric, boolean and other non-string types)

Check https://adminswerk.de/multi-line-string-yaml-ansible-II/ for some
problems on using multiple lines variables
2022-02-14 13:09:33 +07:00
Hoang Nguyen e059193bd7
Big chunk of changes
- essential:
  - make polkit optional
  - move /etc/hosts file to unbound role
- libvirt:
  - make libvirt daemons configurable
  - delete the firewall patch. Hardcode the rules by default (for now)
    so that the playbook is compatible with `ansible-core`
- user: add pam_limits file (moved from dotfiles repository)
- sysctl: role deleted. The task was moved to essential role
- fstab: new role for /run, /tmp, /proc mounts
- add seatd as a 'seat_manager' option
- cron: use find command to restraint deleted files in /var/tmp
2022-02-12 00:56:39 +07:00
Hoang Nguyen bfe1c15a89
unbound: make upstream dns servers configurable 2022-01-28 23:43:31 +07:00
Hoang Nguyen 92e32d0fab
essential: add task to change repository 2022-01-20 23:43:37 +07:00
Hoang Nguyen 92382adbcd
Getting started 2022-01-15 01:46:59 +07:00