Commit graph

79 commits

Author SHA1 Message Date
Raphael Dannecker
970eda96d2 Remove old cleanup task 2025-04-07 10:40:58 +02:00
Raphael Dannecker
b7fd176541 Fix ansible syntax 2025-04-04 15:41:29 +02:00
Raphael Dannecker
b1c878d248 Fix undefined printservers 2025-04-04 15:23:33 +02:00
Raphael Dannecker
aa9a1fca43 Move all variables from the vault to the inventory 2025-04-03 09:58:54 +02:00
Raphael Dannecker
6c8d1b1f28 Fix: String in when condition must be enclosed in quotes 2025-04-02 13:58:15 +02:00
Raphael Dannecker
f6b77c64cf Use kerberize_uris for chromium AuthServerAllowlist too 2025-04-01 15:09:25 +02:00
Raphael Dannecker
ce40cb885f Create own role for the usersquid http_proxy functionality 2025-03-31 18:13:50 +02:00
Raphael Dannecker
a8e4130aa8 Create final task including lmn_finish and lmn_tmpfixes
lmn_tmpfixes is used for:
- temporary fixes and quirks
- cleaning up stuff from obsolete/erroneous tasks

lmn_finish is used for:
- installing extra_pkg
- setting ansible-stamps
2025-03-28 07:27:39 +01:00
Raphael Dannecker
1018912703 Unify bind mounts for localhome and non-localhome devices 2025-03-26 14:49:31 +01:00
Raphael Dannecker
5b19a529f2 Collect some general tasks from other roles into role_misc
Control execution of task by variables with defaults.
2025-03-26 14:44:19 +01:00
Raphael Dannecker
2602189911 Control execution of localuser by variable instead of group-membership 2025-03-25 09:14:47 +01:00
Raphael Dannecker
91ab4d3511 Implement the custom role concept
- Custom Ansible roles can be stored in the `roles/custom` directory
- The list `custom_roles` determines which roles are included
2025-03-24 14:09:18 +01:00
Finn Hercke
c4e35584bc Remove role lmn_teacherlaptop and extend role lmn_security
- Add variable to configure sudo-program permissions (`sudo_permissions`)
- Add variable to configure polkit-rules (`polkit_rules`)
- Migrate sudo and polkit permissions from lmn_teacherlaptop role to inventory
2025-03-24 12:14:48 +01:00
Finn Hercke
c00d5566dd Move extrapackage installation into separate role and make it more flexible
- Introduce `extra_pkgs1` - `extra_pkgs10`
- Introduce `extra_pkgs_bpo1` - `extra_pkgs_bpo10`
- Move package-list from lmn_teacherlaptop into inventory as extra_pkgs1
2025-03-24 10:30:32 +01:00
Finn Hercke
4dafbd8b85 Move migration from IWD to WPA-supplicant to role
To ensure that migration only runs when EAP-TLS certificate is installed correctly
2025-03-24 08:56:01 +01:00
Raphael Dannecker
f965f4466c Improve ansible code so that ansibe-lint shows fewer errors 2025-03-24 07:33:56 +01:00
Raphael Dannecker
f1cb7486a5 Refactor lmn_vpn role
- Separate `lmn_vpn` from `lmn_teacherlaptop`.
- Implement a check for the availability of the wireguard-server during the wg-config rollout.
- Enhance variable support with a standardized naming schema:
  - VPN selection via `vpn` variable (`none`, `wg`).
  - Wireguard configuration (endpoint, allowed IPs, ip_cdr, dns, searchpath).
- Run wg-config role in separate play with serial 1 to avoid conflicts, when the role attempts
  to determine the next free Wireguard IP on the server when role try to Add a check to verify if the radius certificate is revoked.
- Ensure required packages and services are only installed and configured if the `vpn` variable is set.
- Provide documentation for `lmn_vpn` module.
2025-03-20 21:13:20 +01:00
Finn Hercke
a68aaeb81c Refactor lmn_wlan role
- Consolidate `lmn_wlan`, `lmn_wlan_nm`, and `lmn_wlan_8021x` into single `lmn_wlan` role.
- Implement a check for the availability of the radius-server during the EAP-TLS rollout.
- Enhance variable support with a standardized naming schema:
    - Mode selection via `wlan` variable (`none`, `psk`, `eap-tls`).
    - EAP-TLS CA configuration (CA information, email address, CA password).
    - Introduce a switch to force the (re-)issue of existing certificates.
    - PSK configuration through `wlan_ssid` and `wlan_password`.
- Add a check to verify if the radius certificate is revoked.
- Ensure required packages and services are only installed and configured if the `wifi` variable is set.
2025-03-20 16:37:04 +01:00
Raphael Dannecker
9f1c60eefd Use variable instead of group membership to install localhome
Use variable localhome to determines whether the localhome module is installed.
Default: localhome=false

Further changes:
- Move pam-exec from common-auth to common-session
- Move pam-mkhomedir before pam-mount to avoid double login on first use
  on localhome devices
2025-03-19 11:08:57 +01:00
Raphael Dannecker
3d01394820 Separate exam-mode stuff in own role 2025-03-18 14:37:13 +01:00
Raphael Dannecker
831f453512 Configuring the NFS server using variables is more customizable 2025-03-02 11:12:16 +01:00
Raphael Dannecker
677931a483 Use wpa-supplicant instead of iwd as wifi-backend
Iwd as wifi-backend has some disadvantages:
- teachers cannot add wpa-Enterprise connections with the
  networkManager
- gnome-network-displays (miracast) does not work
Switching to wpa-supplicant will solve these problems.
2025-02-27 18:25:17 +01:00
Raphael Dannecker
843289d2c2 Create generic wlan role
When implementing different wlan authentication modes (PSK/802-1x), we
have to separate general wlan stuff in one generic role.
2025-02-27 12:28:21 +01:00
Finn Hercke
f447d1dca6 Added support for 802-1X wifi-authentification and certificate-rollout on clients 2025-02-24 12:40:33 +01:00
Raphael Dannecker
f4dffc06fc Rename instead of delete -exam media directories (belongs to commit 39da308) 2025-01-27 17:01:03 +01:00
Andreas B. Mundt
77f4643628 Make tests for group membership more readable 2024-11-21 12:42:37 +01:00
Raphael Dannecker
87facdbd10 Remove outdated misconfigured NetworkManager wlan connection 2024-11-12 11:07:07 +01:00
Raphael Dannecker
b1ebed77b0 Force ansible-play after installation because ansible-pull does not use inventory.yml 2024-11-06 09:54:39 +01:00
Andreas B. Mundt
df50907006 Deploy latest codeblocks again 2024-09-06 13:39:32 +02:00
Andreas B. Mundt
5192b27d9e Move ansible last run stamping to better location
Before, only root could read the file containing the stamps.
2024-07-24 08:50:20 +02:00
Andreas B. Mundt
37943179c8 Start removing tasks not needed anymore (Debian 12.6 point release). 2024-06-29 18:48:03 +02:00
Andreas B. Mundt
55b89ac912 Fix misleading 'file-has-changed' message in spyder on CIFS.
The issue has been reported to upstream in spyder-ide/21877.
The patch implements a more tolerant file modification detection
and only reports differences greater than 1000 ms.
2024-06-21 08:25:28 +02:00
Andreas B. Mundt
040b017b40 Fix search syntax. 2024-06-21 08:12:08 +02:00
Andreas B. Mundt
3573fa3697 Use unattended-upgrades again to make sure packages are up-to-date.
We don't have the time to test all upgrades in advance.  Therefore, it's
safer to install all updates unattended and live with the (rare) risk of
faulty ones.

This reverts the commits:
  b4d9cbdb94
  a29d89a7ab
2024-06-14 09:19:57 +02:00
Raphael Dannecker
2ba7d84b78 Local default user disabled on teacherlaptops. 2024-06-13 09:12:48 +02:00
Raphael Dannecker
9fa3b411ce New version of kio fix. 2024-06-11 14:47:16 +02:00
Raphael Dannecker
07ff7f258c Merge branch 'macvtap' into fvs 2024-06-11 14:45:15 +02:00
Raphael Dannecker
c3d7692f21 Remove NetworkManager connection Wired Connection.
NetworkManager has problems using the default 'Wired Connection 1'
setting for more than one network card, so it is better to remove this file
and NetworkManager will use default 'Wired Connections' in memory.
2024-06-11 13:37:56 +02:00
Raphael Dannecker
9c068dd915 Wireguard client and WLAN-SSID-Config.
NetworkManager wireguard VPN-config will be created and updated.
Split configuration of WLAN-SSID in inventory (SSID) and vault (secret).
2024-06-11 13:25:34 +02:00
Raphael Dannecker
4b4328bde5 Remove deprecated macvtap NetworkManager config. 2024-06-04 14:28:06 +02:00
Raphael Dannecker
93d261e73b Network devices are now only managed by NetworkManager.
Systemd-networkd is no longer used.
NetworkManager creates a MACVTAP device for each physical Ethernet device.
When calling vm-run with option macvtap, all macvtap-devices are passed to the VM.
2024-05-23 09:58:41 +02:00
Raphael Dannecker
a8d74fce5b Install kio-package with bugfix (documents may get lost on SMB shares) 2024-05-06 11:30:18 +02:00
Raphael Dannecker
81b268cff9 Use systemd-networkd for devices with more than 1 physical ethernet device. 2024-04-30 12:06:36 +02:00
Raphael Dannecker
749b8e1e17 Move libreoffce-samba-fix to bookworm-fix section. 2024-04-30 09:26:43 +02:00
Raphael Dannecker
59649b0bff Remove libreoffice-kf5 (documents may get lost on SMB shares). 2024-04-30 08:35:25 +02:00
Raphael Dannecker
30749ac24b Typo corrected. 2024-04-29 08:16:27 +02:00
Raphael Dannecker
06d7360677 Introduction of a new device class (teacherlaptop).
- Wifi-devices will be managed by NetworkManager
 - (USB-)Dockingstation with same MAC as internal device
   will be assigned to virbr1
 - users with role-teacher have privilege
   - to create new NetworkManager connections
   - install additional software
   - change luks-key
 - package plasma-discover will not be removed (for teacherlaptops)
 - http-proxy-Settings will be configured by auto-detect
 - providing sudo-script to mount default-school from server after
   wireguard-connection is established
2024-04-28 19:37:13 +02:00
Raphael Dannecker
d46e1199ad Use systemd-networkd if two network cards are installed (important for TIA devices). 2024-04-28 19:37:13 +02:00
Raphael Dannecker
40c0888928 remove sddm login screen patch with deprecated marker homondisk (now: localhome) 2024-04-28 19:37:13 +02:00
Raphael Dannecker
08f0f082fd Introduction of a new device class (localhome).
- user-home is on local disk
- additional entry in dolphin: home@server
- display info about localhome on login-screen
- provide unison-config for sync home with home@server
- force user to be logged out immediately after first login, because
  home-dir must exists for bind-mounts on /lmn/media
2024-04-28 19:37:13 +02:00