Skip to Content
Building OsСервіси

Сервіси

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 keyEffect
port or listen_portOpenSSH port, 1–65,535
allow_rootMaps to PermitRootLogin
disable_password_authInverts into PasswordAuthentication
password_authenticationDirect OpenSSH token value
pubkey_authenticationDirect OpenSSH token value
client_alive_intervalBounded ClientAliveInterval
client_alive_attemptsBounded ClientAliveCountMax
authentication_retriesBounded MaxAuthTries
timeoutBounded login grace time
x11_forwarding, allow_agent_forwarding, allow_tcp_forwardingDirect OpenSSH token value
authorized_keysInstalls 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 і все одно ігноруватися.

Використовуйте цю послідовність:

  1. Оберіть base image і увімкніть concrete feature або packages.
  2. Додавайте лише configuration keys, реалізовані для цієї capability.
  3. Перегляньте normalized recipe і generated warnings.
  4. Додайте assertions для package presence, service enablement, listener ports, configuration files і application-level response.
  5. Завантажте та протестуйте artifact перед hardware або production promotion.

Див. Features, Startup scripts і Assertion types.