Skip to content

Feature: server ​

Description ​

A feature that provides the Garden Linux server layer: security services (auditd, SELinux), systemd-based service management, networking, and essential server tooling. Most platform features inherit server transitively.

What it does ​

Installs a comprehensive set of server packages including sudo, sysstat, dnsutils, iproute2, ca-certificates. Configures:

  • systemd-networkd with a default DHCP network and networkd-wait-online set to --any
  • systemd-resolved with LLMNR and mDNS disabled
  • PAM with Garden Linux-specific profiles
  • Dracut for UEFI stub and general initramfs generation
  • Kernel coredump and growfs service overrides
  • kexec support
  • MOTD scripts showing system information (hostname, kernel, load, network)
  • Shell profiles: no command history, auto-logout timeout
  • sudo configuration (wheel group, SSH agent forwarding)
  • Removes numerous init.d and legacy service scripts superseded by systemd

Files ​

Files present in this feature and their purpose. See the feature file reference for the semantics of each file type.

FilePurpose
exec.config (ref)Configures PAM, enables systemd units, and applies server-specific settings.
exec.early (ref)Early-stage configuration applied before packages are installed.
exec.post (ref)Post-build step applied after all packages are installed.
file.exclude (ref)Removes from rootfs: /etc/ufw, /etc/init.d/auditd, /etc/init.d/dbus, /etc/monit, /etc/init.d/sudo, ... (24 total).
file.include.markers.yaml (ref)Maps files to test-coverage marker IDs.
info.yaml (ref)Declares type: element and included/excluded features.
pkg.include (ref)Installs: adduser, bsdextrautils, ca-certificates, dnsutils, iproute2, iptables, and others.
todoInternal notes file (not rendered in docs).
file.include/etc/kernel-img.conf (file.include)Kernel image configuration for bootloader scripts.
file.include/etc/locale.conf (file.include)Sets system locale.
file.include/etc/machine-id (file.include)Empty machine-id placeholder (regenerated at first boot).
file.include/etc/dracut.conf.d/25-uefi-stub.conf (file.include)Configures dracut to produce a UEFI stub image.
file.include/etc/dracut.conf.d/general.conf (file.include)General dracut configuration for initramfs generation.
file.include/etc/profile.d/50-nohistory.sh (file.include)Disables shell command history.
file.include/etc/sudoers.d/keepssh (file.include)Preserves SSH_AUTH_SOCK across sudo sessions.
file.include/etc/sudoers.d/wheel (file.include)Grants sudo access to the wheel group.
file.include/etc/sysctl.d/40-enable-unprivileged-user-namespaces.conf (file.include)Enables unprivileged user namespaces.
file.include/etc/sysctl.d/40-restrict-dmesg.conf (file.include)Restricts dmesg output to root.
file.include/etc/sysctl.d/90-allow-ping-for-non-root-user.conf (file.include)Allows non-root users to send ICMP pings.
file.include/etc/systemd/network/99-default.network (file.include)Default systemd-networkd DHCP configuration for all Ethernet interfaces.
file.include/etc/systemd/networkd.conf.d/00-gardenlinux-server.conf (file.include)Global systemd-networkd settings for Garden Linux server.
file.include/etc/systemd/resolved.conf.d/00-disable-llmnr.conf (file.include)Disables LLMNR in systemd-resolved.
file.include/etc/systemd/resolved.conf.d/01-disable-mdns.conf (file.include)Disables mDNS in systemd-resolved.
file.include/etc/systemd/system/kexec-load@.service (file.include)systemd service for loading a kexec kernel.
file.include/etc/systemd/system/tmp.mount (file.include)Configures /tmp as a systemd-managed tmpfs.
file.include/etc/systemd/system/systemd-coredump@.service.d/override.conf (file.include)Adjusts systemd-coredump behavior.
file.include/etc/systemd/system/systemd-growfs@.service.d/override.conf (file.include)Adjusts systemd-growfs ordering.
file.include/etc/systemd/system/systemd-networkd-wait-online.service.d/any.conf (file.include)Configures networkd-wait-online to succeed when any interface is up.
file.include/etc/systemd/system/systemd-resolved.service.d/wait-for-networkd.conf (file.include)Orders systemd-resolved after systemd-networkd.
file.include/etc/systemd/system/systemd-timesyncd.service.d/override.conf (file.include)Adjusts timesyncd startup ordering.
file.include/etc/systemd/system.conf.d/00-gardenlinux-server.conf (file.include)systemd system-wide configuration for Garden Linux server.
file.include/etc/update-motd.d/05-logo (file.include)MOTD script that displays the Garden Linux logo.
file.include/etc/update-motd.d/10-hostname (file.include)MOTD script that displays the system hostname.
file.include/etc/update-motd.d/20-uname (file.include)MOTD script that displays the kernel version.
file.include/etc/update-motd.d/30-load (file.include)MOTD script that displays the system load average.
file.include/etc/update-motd.d/40-free (file.include)MOTD script that displays free memory information.
file.include/etc/update-motd.d/45-line (file.include)MOTD separator line.
file.include/etc/update-motd.d/50-network (file.include)MOTD script that displays network interface information.
file.include/etc/update-motd.d/55-line (file.include)MOTD separator line.
file.include/etc/update-motd.d/92-unattended-upgrades (file.include)MOTD script that displays unattended-upgrades status.
file.include/etc/update-motd.d/95-needrestart (file.include)MOTD script that alerts when a restart is needed after package updates.
file.include/usr/lib/systemd/system/dbus.socket (file.include)D-Bus socket unit.
file.include/usr/share/pam-configs/garden (file.include)Garden Linux PAM configuration profile.
file.include/usr/share/pam-configs/garden-extra (file.include)Additional Garden Linux PAM configuration profile.

Includes:

  • base — the minimal debootstrapped Garden Linux base.
  • ssh — SSH server and client.
  • log — logging infrastructure (auditd, rsyslog, journal-remote).
  • _selinux — SELinux security policy.