Skip to Content

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_portPort OpenSSH, 1–65 535
allow_rootMapuje na PermitRootLogin
disable_password_authPrevedie na PasswordAuthentication (invertovane)
password_authenticationPriama hodnota tokenu OpenSSH
pubkey_authenticationPriama hodnota tokenu OpenSSH
client_alive_intervalObmedzené ClientAliveInterval
client_alive_attemptsObmedzené ClientAliveCountMax
authentication_retriesObmedzené MaxAuthTries
timeoutObmedzená doba na prihlásenie
x11_forwarding, allow_agent_forwarding, allow_tcp_forwardingPriame hodnoty tokenov OpenSSH
authorized_keysNainš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í:

  1. Zvoľte base image a zapnite konkrétnu feature alebo balíky.
  2. Pridávajte len konfiguračné kľúče implementované pre danú capability.
  3. Skontrolujte normalizovaný recept a vygenerované varovania.
  4. Pridajte assertions pre prítomnosť balíkov, zapnutie služby, porty počúvania, konfiguračné súbory a odpoveď na úrovni aplikácie.
  5. Spustite artefakt a otestujte ho pred nasadením na hardware alebo do produkcie.

Pozrite Features, Startup scripts a Assertion types.