Skip to Content
Building OsServices

Services

Services are features with detailed configuration options. While features enable capabilities, service configurations let you customize how they behave.

SSH Service

The most commonly configured service.

Configuration Options

OptionTypeDefaultDescription
portnumber22SSH listening port
allow_rootbooleanfalsePermit root login
disable_password_authbooleanfalseRequire key-based auth
timeoutnumber120Connection timeout (seconds)
client_alive_intervalnumber60Keepalive interval
max_auth_triesnumber6Max authentication attempts
permit_empty_passwordsbooleanfalseAllow empty passwords

Example Configuration

{ "name": "ssh", "config": { "port": 2222, "allow_root": false, "disable_password_auth": true, "timeout": 300, "client_alive_interval": 30, "max_auth_tries": 3 } }

Natural Language Examples

Configure SSH on port 2222 with key-only authentication SSH should allow root login with 5 minute timeout Set up SSH with: - Port 22 - No password auth - 30 second keepalive

Elster OS Integration

On Elster OS, SSH configuration is managed through config.boot:

set service ssh port 2222 set service ssh disable-password-authentication

OpenFactory automatically generates the appropriate config.boot entries.

Planned Services

The following services are planned for future releases:

DNS Service

{ "name": "dns", "config": { "forwarders": ["8.8.8.8", "1.1.1.1"], "local_domain": "local", "cache_size": 10000 } }

DHCP Service

{ "name": "dhcp", "config": { "subnet": "192.168.1.0/24", "range_start": "192.168.1.100", "range_end": "192.168.1.200", "gateway": "192.168.1.1", "dns": ["192.168.1.1"] } }

HTTP Service (nginx)

{ "name": "nginx", "config": { "worker_processes": "auto", "sites": [ { "server_name": "example.com", "root": "/var/www/html", "ssl": true } ] } }

Service Dependencies

Services may depend on features:

ServiceRequired Feature
SSHssh
DNS(built-in)
DHCP(built-in)
nginx(package install)

Configuring Services via Chat

You don’t need to write JSON directly. Describe your requirements:

I need SSH configured with: - Port 2222 - Only key-based authentication - No root login - 5 minute idle timeout

OpenFactory translates this to the appropriate service configuration.

Service Verification

Services are automatically tested after build:

  1. Service running - systemd service is active
  2. Port listening - Configured ports are open
  3. Connectivity - Can connect to service
  4. Configuration - Settings match specification

Viewing Service Configuration

After a build, you can see the exact service configuration:

  1. Open Build Details
  2. View Recipe tab
  3. Expand Services section

Or browse the actual configuration files in the File Browser.