Skip to Content

Služby

Služba v receptu má jen tři kanonická pole: name, enabled a otevřený objekt config. Tvar projde strukturální validací, ale konfigurační klíč má účinek jen tehdy, když ho implementuje zvolený build worker nebo feature hook. Validace neprokazuje, že byl daemon nainstalován nebo nakonfigurován.

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

Konfigurace SSH

Obecná cesta buildu Linuxu rozpoznává tato nastavení SSH:

Klíč receptuÚčinek
port nebo listen_portPort OpenSSH, 1–65 535
allow_rootMapuje na PermitRootLogin
disable_password_authPřevádí na PasswordAuthentication (invertovaně)
password_authenticationPřímá hodnota tokenu OpenSSH
pubkey_authenticationPřímá hodnota tokenu OpenSSH
client_alive_intervalOmezené ClientAliveInterval
client_alive_attemptsOmezené ClientAliveCountMax
authentication_retriesOmezené MaxAuthTries
timeoutOmezená doba pro přihlášení
x11_forwarding, allow_agent_forwarding, allow_tcp_forwardingPřímé hodnoty tokenů OpenSSH
authorized_keysNainstaluje dodané veřejné klíče, kde je to podporováno

Cesty specifické pro worker mohou podporovat menší množinu. Zejména hardware, Proxmox a buildery Raspberry Pi mají vlastní adaptéry. Zkontrolujte normalizovaný recept a varování buildu pro zvolený cíl.

Je-li ověřování heslem vypnuté, přidejte alespoň jeden platný veřejný klíč a samostatně ho otestujte před nasazením na hardware. Do konfigurace služby v receptu neukládejte soukromé klíče ani hesla.

Ostatní služby

Názvy jako nginx, wireguard, DNS, DHCP nebo součásti firewallu nejsou univerzální konfigurační API. Jejich balíčky a konfigurace pocházejí z příslušné feature, hooku, seznamu balíčků nebo startup script pro zvolenou bázi. Libovolný objekt jako config.sites může schéma přijmout a přesto být ignorován.

Postupujte v tomto pořadí:

  1. Zvolte base image a zapněte konkrétní feature nebo balíčky.
  2. Přidávejte jen konfigurační klíče implementované pro danou capability.
  3. Zkontrolujte normalizovaný recept a vygenerovaná varování.
  4. Přidejte assertions pro přítomnost balíčků, zapnutí služby, porty naslouchání, konfigurační soubory a odpověď na úrovni aplikace.
  5. Spusťte artefakt a otestujte ho před nasazením na hardware nebo do produkce.

Viz Features, Startup scripts a Assertion types.