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
| Option | Type | Default | Description |
|---|---|---|---|
port | number | 22 | SSH listening port |
allow_root | boolean | false | Permit root login |
disable_password_auth | boolean | false | Require key-based auth |
timeout | number | 120 | Connection timeout (seconds) |
client_alive_interval | number | 60 | Keepalive interval |
max_auth_tries | number | 6 | Max authentication attempts |
permit_empty_passwords | boolean | false | Allow 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 keepaliveElster OS Integration
On Elster OS, SSH configuration is managed through config.boot:
set service ssh port 2222
set service ssh disable-password-authenticationOpenFactory 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:
| Service | Required Feature |
|---|---|
| SSH | ssh |
| 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 timeoutOpenFactory translates this to the appropriate service configuration.
Service Verification
Services are automatically tested after build:
- Service running - systemd service is active
- Port listening - Configured ports are open
- Connectivity - Can connect to service
- Configuration - Settings match specification
Viewing Service Configuration
After a build, you can see the exact service configuration:
- Open Build Details
- View Recipe tab
- Expand Services section
Or browse the actual configuration files in the File Browser.