Сервіси
Recipe service має лише три канонічні поля: name, enabled і open-ended config object. Форма валідується структурно, але configuration key має ефект лише коли selected build worker або feature hook його реалізує. Validation , не доказ, що daemon встановлено або налаштовано.
{
"services": [
{
"name": "ssh",
"enabled": true,
"config": {
"port": 2222,
"allow_root": false,
"disable_password_auth": true,
"authorized_keys": ["ssh-ed25519 AAAA... operator@example"]
}
}
]
}SSH configuration
General Linux build path визнає ці SSH settings:
| Recipe key | Effect |
|---|---|
port or listen_port | OpenSSH port, 1–65,535 |
allow_root | Maps to PermitRootLogin |
disable_password_auth | Inverts into PasswordAuthentication |
password_authentication | Direct OpenSSH token value |
pubkey_authentication | Direct OpenSSH token value |
client_alive_interval | Bounded ClientAliveInterval |
client_alive_attempts | Bounded ClientAliveCountMax |
authentication_retries | Bounded MaxAuthTries |
timeout | Bounded login grace time |
x11_forwarding, allow_agent_forwarding, allow_tcp_forwarding | Direct OpenSSH token value |
authorized_keys | Installs the supplied public keys where supported |
Worker-specific paths можуть підтримувати менший набір. Зокрема, hardware, Proxmox і Raspberry Pi builders мають власні adapters. Перегляньте normalized recipe і build warnings для обраної target.
Якщо password authentication вимкнено, включіть і незалежно протестуйте щонайменше один valid public key перед deploy на hardware. Не кладіть private keys або passwords у recipe service configuration.
Other services
Names на кшталт nginx, wireguard, DNS, DHCP або firewall components , не universal configuration API. Їхні packages і configuration йдуть від відповідної feature, hook, package list або startup script для обраної base. Довільний object на кшталт config.sites може прийматися schema і все одно ігноруватися.
Використовуйте цю послідовність:
- Оберіть base image і увімкніть concrete feature або packages.
- Додавайте лише configuration keys, реалізовані для цієї capability.
- Перегляньте normalized recipe і generated warnings.
- Додайте assertions для package presence, service enablement, listener ports, configuration files і application-level response.
- Завантажте та протестуйте artifact перед hardware або production promotion.
Див. Features, Startup scripts і Assertion types.