Skip to Content
Building OsFeatures

Features

Features are pre-built capability modules that can be combined to create your custom Linux image. Each feature includes packages, configuration, and integration.

Feature Categories

Networking

FeatureDescriptionDistributions
sshOpenSSH server with configurable settingsAll
mesh-networkingMesh network supportAll
vpn-wireguardWireGuard VPNAll
firewallUFW/iptables firewallAll

Desktop

FeatureDescriptionDistributions
desktopGNOME desktop environmentUbuntu, Debian
headlessNo GUI, server-onlyAll

Security

FeatureDescriptionDistributions
security-hardeningCIS benchmark hardeningAll
audit-loggingSystem audit logging (auditd)All
disk-encryptionLUKS disk encryptionAll
selinuxSELinux mandatory access controlFedora

Containers

FeatureDescriptionDistributions
dockerDocker CE with Docker ComposeAll
kubernetesK3s lightweight KubernetesAll

Compute

FeatureDescriptionDistributions
cudaNVIDIA CUDA toolkitUbuntu, Debian
gpu-nvidiaNVIDIA driver and toolsUbuntu, Debian

Robotics

FeatureDescriptionDistributions
ros2Robot Operating System 2Ubuntu

Installation

FeatureDescriptionDistributions
elster-installerCustom installer wizardElster OS

Feature Details

SSH (ssh)

Secure Shell server for remote access.

Default Configuration:

  • Port 22
  • Password authentication enabled
  • Root login disabled

Customization via Services:

{ "name": "ssh", "config": { "port": 2222, "allow_root": false, "disable_password_auth": true, "timeout": 120, "client_alive_interval": 60 } }

WireGuard VPN (vpn-wireguard)

Modern, fast VPN protocol.

Includes:

  • WireGuard kernel module
  • wg and wg-quick tools
  • Basic configuration templates

Example:

Add WireGuard VPN with a server configuration for 10 clients

Firewall (firewall)

Network firewall using UFW (Uncomplicated Firewall).

Default Behavior:

  • Deny all incoming by default
  • Allow all outgoing
  • Allow SSH (if SSH feature enabled)

Customization:

Enable firewall allowing only SSH, HTTP, and HTTPS

Docker (docker)

Container runtime with Docker Compose.

Includes:

  • Docker CE (latest stable)
  • Docker Compose v2
  • Docker CLI completion
  • User namespace remapping (optional)

Example:

Install Docker with rootless mode enabled

Security Hardening (security-hardening)

Apply CIS benchmark security controls.

Hardening Levels:

LevelControls
minimalBasic security defaults
standardRecommended for production
strictFull CIS Level 2 compliance

What’s Hardened:

  • File permissions
  • SSH configuration
  • Kernel parameters
  • Service restrictions
  • Audit rules
  • Password policies

Desktop (desktop)

GNOME desktop environment.

Includes:

  • GNOME Shell
  • Core applications (Files, Settings, Terminal)
  • GDM display manager
  • NetworkManager

Customization:

  • Themes (light/dark)
  • Wallpaper
  • Dock favorites
  • Shell extensions

Kubernetes (kubernetes)

K3s lightweight Kubernetes distribution.

Includes:

  • K3s server or agent
  • kubectl CLI
  • Helm package manager

Modes:

  • Single-node cluster
  • Multi-node cluster (server + agents)

CUDA (cuda)

NVIDIA GPU computing toolkit.

Includes:

  • CUDA Toolkit
  • cuDNN libraries
  • NVIDIA Container Toolkit

Requirements:

  • NVIDIA GPU hardware
  • Compatible driver version

ROS2 (ros2)

Robot Operating System 2.

Includes:

  • ROS2 Humble (or Iron)
  • Common ROS packages
  • Development tools
  • Simulation support (optional)

Combining Features

Features can be combined freely:

Create a development workstation with: - Desktop (GNOME) - Docker - CUDA for ML development - SSH for remote access

Some features have dependencies:

  • desktop requires either Ubuntu or Debian base
  • cuda requires gpu-nvidia
  • kubernetes benefits from docker (but works standalone)

Feature Conflicts

Certain features are mutually exclusive:

Feature AFeature BResolution
desktopheadlessChoose one
dockerpodmanChoose one (Fedora)

OpenFactory will warn about conflicts during recipe validation.

Custom Packages

Beyond features, you can request specific packages:

Also install: htop, vim, tmux, curl, jq

OpenFactory will add these to the build configuration.