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_port | Port OpenSSH, 1–65 535 |
allow_root | Mapuje na PermitRootLogin |
disable_password_auth | Převádí na PasswordAuthentication (invertovaně) |
password_authentication | Přímá hodnota tokenu OpenSSH |
pubkey_authentication | Přímá hodnota tokenu OpenSSH |
client_alive_interval | Omezené ClientAliveInterval |
client_alive_attempts | Omezené ClientAliveCountMax |
authentication_retries | Omezené MaxAuthTries |
timeout | Omezená doba pro přihlášení |
x11_forwarding, allow_agent_forwarding, allow_tcp_forwarding | Přímé hodnoty tokenů OpenSSH |
authorized_keys | Nainstaluje 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í:
- Zvolte base image a zapněte konkrétní feature nebo balíčky.
- Přidávejte jen konfigurační klíče implementované pro danou capability.
- Zkontrolujte normalizovaný recept a vygenerovaná varování.
- Přidejte assertions pro přítomnost balíčků, zapnutí služby, porty naslouchání, konfigurační soubory a odpověď na úrovni aplikace.
- Spusťte artefakt a otestujte ho před nasazením na hardware nebo do produkce.
Viz Features, Startup scripts a Assertion types.