Služby
Služba v recepte má len tri kanonické polia: name, enabled a otvorený
objekt config. Tvar prejde štrukturálnou validáciou, ale konfiguračný kľúč má
účinok len vtedy, keď ho implementuje zvolený build worker alebo feature hook.
Validácia nedokazuje, že bol daemon nainštalovaný alebo nakonfigurovaný.
{
"services": [
{
"name": "ssh",
"enabled": true,
"config": {
"port": 2222,
"allow_root": false,
"disable_password_auth": true,
"authorized_keys": ["ssh-ed25519 AAAA... operator@example"]
}
}
]
}Konfigurácia SSH
Všeobecná cesta buildu Linuxu rozpoznáva tieto nastavenia SSH:
| Kľúč receptu | Účinok |
|---|---|
port alebo listen_port | Port OpenSSH, 1–65 535 |
allow_root | Mapuje na PermitRootLogin |
disable_password_auth | Prevedie na PasswordAuthentication (invertovane) |
password_authentication | Priama hodnota tokenu OpenSSH |
pubkey_authentication | Priama hodnota tokenu OpenSSH |
client_alive_interval | Obmedzené ClientAliveInterval |
client_alive_attempts | Obmedzené ClientAliveCountMax |
authentication_retries | Obmedzené MaxAuthTries |
timeout | Obmedzená doba na prihlásenie |
x11_forwarding, allow_agent_forwarding, allow_tcp_forwarding | Priame hodnoty tokenov OpenSSH |
authorized_keys | Nainštaluje dodané verejné kľúče, kde je to podporované |
Cesty špecifické pre worker môžu podporovať menšiu množinu. Najmä hardware, Proxmox a buildery Raspberry Pi majú vlastné adaptéry. Skontrolujte normalizovaný recept a varovania buildu pre zvolený cieľ.
Ak je overovanie heslom vypnuté, pridajte aspoň jeden platný verejný kľúč a samostatne ho otestujte pred nasadením na hardware. Do konfigurácie služby v recepte neukladajte súkromné kľúče ani heslá.
Ostatné služby
Názvy ako nginx, wireguard, DNS, DHCP alebo súčasti firewallu nie sú
univerzálne konfiguračné API. Ich balíky a konfigurácia pochádzajú z príslušnej
feature, hooku, zoznamu balíkov alebo startup script pre zvolenú bázu. Ľubovoľný
objekt ako config.sites môže schéma prijať a napriek tomu byť ignorovaný.
Postupujte v tomto poradí:
- Zvoľte base image a zapnite konkrétnu feature alebo balíky.
- Pridávajte len konfiguračné kľúče implementované pre danú capability.
- Skontrolujte normalizovaný recept a vygenerované varovania.
- Pridajte assertions pre prítomnosť balíkov, zapnutie služby, porty počúvania, konfiguračné súbory a odpoveď na úrovni aplikácie.
- Spustite artefakt a otestujte ho pred nasadením na hardware alebo do produkcie.
Pozrite Features, Startup scripts a Assertion types.