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
| Feature | Description | Distributions |
|---|---|---|
ssh | OpenSSH server with configurable settings | All |
mesh-networking | Mesh network support | All |
vpn-wireguard | WireGuard VPN | All |
firewall | UFW/iptables firewall | All |
Desktop
| Feature | Description | Distributions |
|---|---|---|
desktop | GNOME desktop environment | Ubuntu, Debian |
headless | No GUI, server-only | All |
Security
| Feature | Description | Distributions |
|---|---|---|
security-hardening | CIS benchmark hardening | All |
audit-logging | System audit logging (auditd) | All |
disk-encryption | LUKS disk encryption | All |
selinux | SELinux mandatory access control | Fedora |
Containers
| Feature | Description | Distributions |
|---|---|---|
docker | Docker CE with Docker Compose | All |
kubernetes | K3s lightweight Kubernetes | All |
Compute
| Feature | Description | Distributions |
|---|---|---|
cuda | NVIDIA CUDA toolkit | Ubuntu, Debian |
gpu-nvidia | NVIDIA driver and tools | Ubuntu, Debian |
Robotics
| Feature | Description | Distributions |
|---|---|---|
ros2 | Robot Operating System 2 | Ubuntu |
Installation
| Feature | Description | Distributions |
|---|---|---|
elster-installer | Custom installer wizard | Elster 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
wgandwg-quicktools- Basic configuration templates
Example:
Add WireGuard VPN with a server configuration for 10 clientsFirewall (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 HTTPSDocker (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 enabledSecurity Hardening (security-hardening)
Apply CIS benchmark security controls.
Hardening Levels:
| Level | Controls |
|---|---|
minimal | Basic security defaults |
standard | Recommended for production |
strict | Full 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 accessSome features have dependencies:
desktoprequires either Ubuntu or Debian basecudarequiresgpu-nvidiakubernetesbenefits fromdocker(but works standalone)
Feature Conflicts
Certain features are mutually exclusive:
| Feature A | Feature B | Resolution |
|---|---|---|
desktop | headless | Choose one |
docker | podman | Choose 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, jqOpenFactory will add these to the build configuration.