Skip to Content
Building OsServicii

Servicii

Un serviciu din recipe are doar trei câmpuri canonice: name, enabled și un obiect config deschis. Forma trece validarea structurală, dar o cheie de configurare are efect doar când build worker-ul sau feature hook-ul selectat o implementează. Validarea nu dovedește că un daemon a fost instalat sau configurat.

{ "services": [ { "name": "ssh", "enabled": true, "config": { "port": 2222, "allow_root": false, "disable_password_auth": true, "authorized_keys": ["ssh-ed25519 AAAA... operator@example"] } } ] }

Configurare SSH

Calea generală de build Linux recunoaște aceste setări SSH:

Cheie recipeEfect
port sau listen_portPort OpenSSH, 1–65 535
allow_rootMapează la PermitRootLogin
disable_password_authTransformă (inversează) în PasswordAuthentication
password_authenticationValoare directă de token OpenSSH
pubkey_authenticationValoare directă de token OpenSSH
client_alive_intervalClientAliveInterval limitat
client_alive_attemptsClientAliveCountMax limitat
authentication_retriesMaxAuthTries limitat
timeoutTimp de grație la autentificare limitat
x11_forwarding, allow_agent_forwarding, allow_tcp_forwardingValori directe de token OpenSSH
authorized_keysInstalează cheile publice furnizate acolo unde este suportat

Căile specifice worker-ului pot suporta un set mai mic. În special, builderele hardware, Proxmox și Raspberry Pi au adaptoare proprii. Inspectați recipe-ul normalizat și avertismentele de build pentru ținta selectată.

Dacă autentificarea cu parolă este dezactivată, includeți și testați independent cel puțin o cheie publică validă înainte de implementare pe hardware. Nu puneți chei private sau parole în configurarea serviciului din recipe.

Alte servicii

Nume precum nginx, wireguard, DNS, DHCP sau componente de firewall nu sunt un API universal de configurare. Pachetele și configurarea lor vin din feature-ul, hook-ul, lista de pachete sau startup script corespunzător bazei selectate. Un obiect arbitrar precum config.sites poate fi acceptat de schemă și totuși ignorat.

Urmați această secvență:

  1. Selectați un base image și activați feature-ul concret sau pachetele.
  2. Adăugați doar chei de configurare implementate pentru acea capability.
  3. Inspectați recipe-ul normalizat și avertismentele generate.
  4. Adăugați assertions pentru prezența pachetelor, activarea serviciului, porturile de ascultare, fișierele de configurare și un răspuns la nivel de aplicație.
  5. Porniți și testați artefactul înainte de promovare pe hardware sau în producție.

Consultați Features, Startup scripts și Assertion types.